@c8y/ngx-components 1019.10.1 → 1019.13.0

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.
@@ -38,6 +38,7 @@ export * from './outlet.directive';
38
38
  export * from './permissions.service';
39
39
  export * from './progress-bar.component';
40
40
  export * from './retry-with-delay.operator';
41
+ export * from './service-registry.service';
41
42
  export * from './shorten-user-name.pipe';
42
43
  export * from './should-show-mo.pipe';
43
44
  export * from './show-if-filter.pipe';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mDAAmD,CAAC;AAClE,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAChE,cAAc,kDAAkD,CAAC;AACjE,cAAc,qDAAqD,CAAC;AACpE,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mDAAmD,CAAC;AAClE,cAAc,qDAAqD,CAAC;AACpE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAChE,cAAc,kDAAkD,CAAC;AACjE,cAAc,qDAAqD,CAAC;AACpE,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { Injector, Type } from '@angular/core';
2
+ import { PluginsResolveService } from '../plugins';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Global namespace declaration to enhance type safety for extension keys and associated service types.
6
+ * Extend the `ExtensionKeys` interface within this namespace to declare new extension keys and their service types.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // Extending the CumulocityServiceRegistry with a new service
11
+ * declare global {
12
+ * namespace CumulocityServiceRegistry {
13
+ * interface ExtensionKeys {
14
+ * layersServiceKey: TestService;
15
+ * }
16
+ *
17
+ * interface TestService {
18
+ * getLayers(): Promise<string[]>;
19
+ * }
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ declare global {
25
+ /**
26
+ * Global namespace declaration to enhance type safety for extension keys and associated service types of the `ServiceRegistry`.
27
+ */
28
+ namespace CumulocityServiceRegistry {
29
+ /**
30
+ * Holds the association between extension keys and their corresponding service types.
31
+ * Extend this interface to declare new extension keys and their service types.
32
+ */
33
+ interface ExtensionKeys {
34
+ [key: string]: unknown;
35
+ }
36
+ }
37
+ }
38
+ /**
39
+ * Registers a service using a specified extension key.
40
+ * This function facilitates dynamic service registration, enabling services
41
+ * to be retrieved and used throughout the application based on their extension key.
42
+ *
43
+ * @param extensionKey The unique identifier for the service, defined within the ExtensionKeys interface.
44
+ * @param service The class type of the service to register.
45
+ * @returns A provider configuration for Angular's dependency injection, allowing the service to be injected where needed.
46
+ *
47
+ * * @example
48
+ * ```typescript
49
+ * hookService('layersServiceKey', TestService);
50
+ * ```
51
+ */
52
+ export declare function hookService<T extends keyof CumulocityServiceRegistry.ExtensionKeys>(extensionKey: T, service: Type<CumulocityServiceRegistry.ExtensionKeys[T]>): import("@angular/core").ValueProvider | import("@angular/core").ClassProvider | import("@angular/core").ExistingProvider;
53
+ /**
54
+ * Service for managing and retrieving dynamically registered services within the application.
55
+ * It leverages a map of InjectionTokens to associate services with unique extension keys.
56
+ */
57
+ export declare class ServiceRegistry {
58
+ protected injectors: Injector[];
59
+ constructor(rootInjector: Injector, pluginService: PluginsResolveService);
60
+ /**
61
+ * Retrieves instances of services registered under a specified extension key.
62
+ *
63
+ * @param key - The extension key associated with the desired service.
64
+ * @returns An array of service instances registered under the given key.
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * // Retrieving instances of Service example
69
+ * const layersServices = serviceRegistry.get('layersServiceKey');
70
+ * layersServices.forEach(service => service.get().then(layer => console.log(layer)));
71
+ * ```
72
+ */
73
+ get<T extends keyof CumulocityServiceRegistry.ExtensionKeys, R = CumulocityServiceRegistry.ExtensionKeys[T]>(key: T): R[];
74
+ /**
75
+ * Allows to retrieve all registered extension keys.
76
+ *
77
+ * @returns An array of extension keys that have been registered.
78
+ */
79
+ getRegisteredExtensionKeys(): Array<keyof CumulocityServiceRegistry.ExtensionKeys>;
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<ServiceRegistry, never>;
81
+ static ɵprov: i0.ɵɵInjectableDeclaration<ServiceRegistry>;
82
+ }
83
+ //# sourceMappingURL=service-registry.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-registry.service.d.ts","sourceRoot":"","sources":["../../../core/common/service-registry.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;;AAGnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,CAAC,MAAM,CAAC;IACb;;OAEG;IAEH,UAAU,yBAAyB,CAAC;QAClC;;;WAGG;QACH,UAAU,aAAa;YACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB;KACF;CACF;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,yBAAyB,CAAC,aAAa,EACjF,YAAY,EAAE,CAAC,EACf,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,4HAU1D;AAED;;;GAGG;AACH,qBAGa,eAAe;IAC1B,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;gBAEpB,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB;IAKxE;;;;;;;;;;;;OAYG;IACH,GAAG,CACD,CAAC,SAAS,MAAM,yBAAyB,CAAC,aAAa,EACvD,CAAC,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC,EAC9C,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;IAUd;;;;OAIG;IACH,0BAA0B,IAAI,KAAK,CAAC,MAAM,yBAAyB,CAAC,aAAa,CAAC;yCAvCvE,eAAe;6CAAf,eAAe;CA0C3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"application-version.factory.d.ts","sourceRoot":"","sources":["../../../core/version/application-version.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAyB,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAM,MAAM,MAAM,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;;AAE3C;;GAEG;AACH,qBAGa,yBAA0B,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAI5B,OAAO,CAAC,MAAM;IACzD,OAAO,CAAC,QAAQ;IAJlB,oBAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAQ;gBAGI,MAAM,EAAE,mBAAmB,EACtE,QAAQ,EAAE,eAAe;IAUnC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;IAI1B,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;yCAnBtC,yBAAyB;6CAAzB,yBAAyB;CA8BrC"}
1
+ {"version":3,"file":"application-version.factory.d.ts","sourceRoot":"","sources":["../../../core/version/application-version.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAyB,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;;AAE3C;;GAEG;AACH,qBAGa,yBAA0B,YAAW,gBAAgB,CAAC,OAAO,CAAC;IAI5B,OAAO,CAAC,MAAM;IACzD,OAAO,CAAC,QAAQ;IAJlB,oBAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;gBAGW,MAAM,EAAE,mBAAmB,EACtE,QAAQ,EAAE,eAAe;IAUnC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC;IAI1B,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;yCAnBtC,yBAAyB;6CAAzB,yBAAyB;CA8BrC"}
@@ -37,6 +37,7 @@ export * from './outlet.directive';
37
37
  export * from './permissions.service';
38
38
  export * from './progress-bar.component';
39
39
  export * from './retry-with-delay.operator';
40
+ export * from './service-registry.service';
40
41
  export * from './shorten-user-name.pipe';
41
42
  export * from './should-show-mo.pipe';
42
43
  export * from './show-if-filter.pipe';
@@ -59,4 +60,4 @@ export * from './virtual-scroll/virtual-scroll-window.directive';
59
60
  export * from './virtual-scroll/virtual-scroller-wrapper.component';
60
61
  export * from './zip.service';
61
62
  export * from './asset-link.pipe';
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXBwbGljYXRpb25PcHRpb25zIH0gZnJvbSAnQGM4eS9kZXZraXQvb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2J5dGVzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQtb3V0bGV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RldmljZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24tZGlyZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2V4dGVuc2lvbi1ob29rcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JPZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JPZi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2dlbmVyaWMtZmlsZS1pY29uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW8uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1ncm91cC1pY29uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nbG9iYWwtY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cC1mcmFnbWVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9odW1hbml6ZS1hcHAtbmFtZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2h1bWFuaXplLWFwcC1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9odW1hbml6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pZi1hbGxvd2VkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWQtbW9yZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkLW1vcmUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hbmFnZWQtb2JqZWN0LXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAtZnVuY3Rpb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtkb3duLXRvLWh0bWwucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9pemUuZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbW8tbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRpb24tcmVzdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL291dGxldC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JldHJ5LXdpdGgtZGVsYXkub3BlcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9zaG9ydGVuLXVzZXItbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hvdWxkLXNob3ctbW8ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nob3ctaWYtZmlsdGVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9za2lwLWxpbmsuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUtc2VydmljZS5hYnN0cmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmluZ2lmeS1vYmplY3QucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYnNldC1hcmlhLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RlbmFudC11aS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGFyZWEtYXV0b3Jlc2l6ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90aHJvdHRsZS5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi91aS1zdGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1uYW1lLWluaXRpYWxzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLXByZWZlcmVuY2VzL3VzZXItcHJlZmVyZW5jZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMvdXNlci1wcmVmZXJlbmNlcy1zdG9yYWdlLWxvY2FsJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLXN0b3JlLWludmVudG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwtd2luZG93LXN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwtd2luZG93LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpcnR1YWwtc2Nyb2xsL3ZpcnR1YWwtc2Nyb2xsZXItd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi96aXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0LWxpbmsucGlwZSc7XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBcHBsaWNhdGlvbk9wdGlvbnMgfSBmcm9tICdAYzh5L2RldmtpdC9vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vYnl0ZXMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24uY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC1vdXRsZXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGV2aWNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi1kaXJlY3Rpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZXh0ZW5zaW9uLWhvb2tzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvck9mLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvck9mLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy1maWxlLWljb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2dlby5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWdyb3VwLWljb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2dsb2JhbC1jb25maWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLWZyYWdtZW50Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2h1bWFuaXplLWFwcC1uYW1lLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vaHVtYW5pemUtYXBwLW5hbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2h1bWFuaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2lmLWFsbG93ZWQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZC1tb3JlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWQtbW9yZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWFuYWdlZC1vYmplY3QtdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1mdW5jdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFya2Rvd24tdG8taHRtbC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbWVtb2l6ZS5kZWNvcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9tby1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXIucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL29wZXJhdGlvbi1yZXN1bHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vb3V0bGV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmV0cnktd2l0aC1kZWxheS5vcGVyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UtcmVnaXN0cnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nob3J0ZW4tdXNlci1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zaG91bGQtc2hvdy1tby5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2hvdy1pZi1maWx0ZXIucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NraXAtbGluay5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0ZS1zZXJ2aWNlLmFic3RyYWN0JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5naWZ5LW9iamVjdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFic2V0LWFyaWEuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50LXVpLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS1hdXRvcmVzaXplLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rocm90dGxlLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3VpLXN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLW5hbWUtaW5pdGlhbHMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMvdXNlci1wcmVmZXJlbmNlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLXN0b3JhZ2UtbG9jYWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLXByZWZlcmVuY2VzL3VzZXItcHJlZmVyZW5jZXMtc3RvcmUtaW52ZW50b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi92aXJ0dWFsLXNjcm9sbC92aXJ0dWFsLXNjcm9sbC13aW5kb3ctc3RyYXRlZ3knO1xuZXhwb3J0ICogZnJvbSAnLi92aXJ0dWFsLXNjcm9sbC92aXJ0dWFsLXNjcm9sbC13aW5kb3cuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGxlci13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3ppcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXQtbGluay5waXBlJztcbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import { Injectable, InjectionToken, Injector } from '@angular/core';
2
+ import { PluginsResolveService } from '../plugins';
3
+ import { hookGeneric } from './extension-hooks';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../plugins";
6
+ const SERVICE_HOOK_TOKENS = new Map();
7
+ /**
8
+ * Registers a service using a specified extension key.
9
+ * This function facilitates dynamic service registration, enabling services
10
+ * to be retrieved and used throughout the application based on their extension key.
11
+ *
12
+ * @param extensionKey The unique identifier for the service, defined within the ExtensionKeys interface.
13
+ * @param service The class type of the service to register.
14
+ * @returns A provider configuration for Angular's dependency injection, allowing the service to be injected where needed.
15
+ *
16
+ * * @example
17
+ * ```typescript
18
+ * hookService('layersServiceKey', TestService);
19
+ * ```
20
+ */
21
+ export function hookService(extensionKey, service) {
22
+ let token = SERVICE_HOOK_TOKENS.get(extensionKey);
23
+ if (!token) {
24
+ token = new InjectionToken(extensionKey);
25
+ SERVICE_HOOK_TOKENS.set(extensionKey, token);
26
+ }
27
+ return hookGeneric(service, token);
28
+ }
29
+ /**
30
+ * Service for managing and retrieving dynamically registered services within the application.
31
+ * It leverages a map of InjectionTokens to associate services with unique extension keys.
32
+ */
33
+ export class ServiceRegistry {
34
+ constructor(rootInjector, pluginService) {
35
+ this.injectors = [rootInjector];
36
+ pluginService.injectors$.subscribe(injector => this.injectors.push(injector));
37
+ }
38
+ /**
39
+ * Retrieves instances of services registered under a specified extension key.
40
+ *
41
+ * @param key - The extension key associated with the desired service.
42
+ * @returns An array of service instances registered under the given key.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // Retrieving instances of Service example
47
+ * const layersServices = serviceRegistry.get('layersServiceKey');
48
+ * layersServices.forEach(service => service.get().then(layer => console.log(layer)));
49
+ * ```
50
+ */
51
+ get(key) {
52
+ const token = SERVICE_HOOK_TOKENS.get(key);
53
+ if (!token) {
54
+ return [];
55
+ }
56
+ return this.injectors
57
+ .map(injector => injector.get(token, [], { self: true, optional: true }))
58
+ .flat();
59
+ }
60
+ /**
61
+ * Allows to retrieve all registered extension keys.
62
+ *
63
+ * @returns An array of extension keys that have been registered.
64
+ */
65
+ getRegisteredExtensionKeys() {
66
+ return Array.from(SERVICE_HOOK_TOKENS.keys());
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceRegistry, deps: [{ token: i0.Injector }, { token: i1.PluginsResolveService }], target: i0.ɵɵFactoryTarget.Injectable }); }
69
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceRegistry, providedIn: 'root' }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceRegistry, decorators: [{
72
+ type: Injectable,
73
+ args: [{
74
+ providedIn: 'root'
75
+ }]
76
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PluginsResolveService }]; } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1yZWdpc3RyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vc2VydmljZS1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFzQ2hELE1BQU0sbUJBQW1CLEdBR3JCLElBQUksR0FBRyxFQUFFLENBQUM7QUFFZDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsWUFBZSxFQUNmLE9BQXlEO0lBRXpELElBQUksS0FBSyxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVsRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsS0FBSyxHQUFHLElBQUksY0FBYyxDQUFpQixZQUFzQixDQUFDLENBQUM7UUFDbkUsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztLQUM5QztJQUVELE9BQU8sV0FBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBWSxZQUFzQixFQUFFLGFBQW9DO1FBQ3RFLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxhQUFhLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILEdBQUcsQ0FHRCxHQUFNO1FBQ04sTUFBTSxLQUFLLEdBQXdCLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDbEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN4RSxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsMEJBQTBCO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7K0dBekNVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UgfSBmcm9tICcuLi9wbHVnaW5zJztcbmltcG9ydCB7IGhvb2tHZW5lcmljIH0gZnJvbSAnLi9leHRlbnNpb24taG9va3MnO1xuXG4vKipcbiAqIEdsb2JhbCBuYW1lc3BhY2UgZGVjbGFyYXRpb24gdG8gZW5oYW5jZSB0eXBlIHNhZmV0eSBmb3IgZXh0ZW5zaW9uIGtleXMgYW5kIGFzc29jaWF0ZWQgc2VydmljZSB0eXBlcy5cbiAqIEV4dGVuZCB0aGUgYEV4dGVuc2lvbktleXNgIGludGVyZmFjZSB3aXRoaW4gdGhpcyBuYW1lc3BhY2UgdG8gZGVjbGFyZSBuZXcgZXh0ZW5zaW9uIGtleXMgYW5kIHRoZWlyIHNlcnZpY2UgdHlwZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEV4dGVuZGluZyB0aGUgQ3VtdWxvY2l0eVNlcnZpY2VSZWdpc3RyeSB3aXRoIGEgbmV3IHNlcnZpY2VcbiAqIGRlY2xhcmUgZ2xvYmFsIHtcbiAqICAgbmFtZXNwYWNlIEN1bXVsb2NpdHlTZXJ2aWNlUmVnaXN0cnkge1xuICogICAgIGludGVyZmFjZSBFeHRlbnNpb25LZXlzIHtcbiAqICAgICAgIGxheWVyc1NlcnZpY2VLZXk6IFRlc3RTZXJ2aWNlO1xuICogICAgIH1cbiAqXG4gKiAgICAgaW50ZXJmYWNlIFRlc3RTZXJ2aWNlIHtcbiAqICAgICAgIGdldExheWVycygpOiBQcm9taXNlPHN0cmluZ1tdPjtcbiAqICAgICB9XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8qKlxuICAgKiBHbG9iYWwgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIHRvIGVuaGFuY2UgdHlwZSBzYWZldHkgZm9yIGV4dGVuc2lvbiBrZXlzIGFuZCBhc3NvY2lhdGVkIHNlcnZpY2UgdHlwZXMgb2YgdGhlIGBTZXJ2aWNlUmVnaXN0cnlgLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2VcbiAgbmFtZXNwYWNlIEN1bXVsb2NpdHlTZXJ2aWNlUmVnaXN0cnkge1xuICAgIC8qKlxuICAgICAqIEhvbGRzIHRoZSBhc3NvY2lhdGlvbiBiZXR3ZWVuIGV4dGVuc2lvbiBrZXlzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIHNlcnZpY2UgdHlwZXMuXG4gICAgICogRXh0ZW5kIHRoaXMgaW50ZXJmYWNlIHRvIGRlY2xhcmUgbmV3IGV4dGVuc2lvbiBrZXlzIGFuZCB0aGVpciBzZXJ2aWNlIHR5cGVzLlxuICAgICAqL1xuICAgIGludGVyZmFjZSBFeHRlbnNpb25LZXlzIHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IFNFUlZJQ0VfSE9PS19UT0tFTlM6IE1hcDxcbiAga2V5b2YgQ3VtdWxvY2l0eVNlcnZpY2VSZWdpc3RyeS5FeHRlbnNpb25LZXlzLFxuICBJbmplY3Rpb25Ub2tlbjxhbnk+XG4+ID0gbmV3IE1hcCgpO1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhIHNlcnZpY2UgdXNpbmcgYSBzcGVjaWZpZWQgZXh0ZW5zaW9uIGtleS5cbiAqIFRoaXMgZnVuY3Rpb24gZmFjaWxpdGF0ZXMgZHluYW1pYyBzZXJ2aWNlIHJlZ2lzdHJhdGlvbiwgZW5hYmxpbmcgc2VydmljZXNcbiAqIHRvIGJlIHJldHJpZXZlZCBhbmQgdXNlZCB0aHJvdWdob3V0IHRoZSBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGVpciBleHRlbnNpb24ga2V5LlxuICpcbiAqIEBwYXJhbSBleHRlbnNpb25LZXkgVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc2VydmljZSwgZGVmaW5lZCB3aXRoaW4gdGhlIEV4dGVuc2lvbktleXMgaW50ZXJmYWNlLlxuICogQHBhcmFtIHNlcnZpY2UgVGhlIGNsYXNzIHR5cGUgb2YgdGhlIHNlcnZpY2UgdG8gcmVnaXN0ZXIuXG4gKiBAcmV0dXJucyBBIHByb3ZpZGVyIGNvbmZpZ3VyYXRpb24gZm9yIEFuZ3VsYXIncyBkZXBlbmRlbmN5IGluamVjdGlvbiwgYWxsb3dpbmcgdGhlIHNlcnZpY2UgdG8gYmUgaW5qZWN0ZWQgd2hlcmUgbmVlZGVkLlxuICpcbiAqICAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBob29rU2VydmljZSgnbGF5ZXJzU2VydmljZUtleScsIFRlc3RTZXJ2aWNlKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gaG9va1NlcnZpY2U8VCBleHRlbmRzIGtleW9mIEN1bXVsb2NpdHlTZXJ2aWNlUmVnaXN0cnkuRXh0ZW5zaW9uS2V5cz4oXG4gIGV4dGVuc2lvbktleTogVCxcbiAgc2VydmljZTogVHlwZTxDdW11bG9jaXR5U2VydmljZVJlZ2lzdHJ5LkV4dGVuc2lvbktleXNbVF0+XG4pIHtcbiAgbGV0IHRva2VuID0gU0VSVklDRV9IT09LX1RPS0VOUy5nZXQoZXh0ZW5zaW9uS2V5KTtcblxuICBpZiAoIXRva2VuKSB7XG4gICAgdG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48dHlwZW9mIHNlcnZpY2U+KGV4dGVuc2lvbktleSBhcyBzdHJpbmcpO1xuICAgIFNFUlZJQ0VfSE9PS19UT0tFTlMuc2V0KGV4dGVuc2lvbktleSwgdG9rZW4pO1xuICB9XG5cbiAgcmV0dXJuIGhvb2tHZW5lcmljKHNlcnZpY2UsIHRva2VuKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyBhbmQgcmV0cmlldmluZyBkeW5hbWljYWxseSByZWdpc3RlcmVkIHNlcnZpY2VzIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBJdCBsZXZlcmFnZXMgYSBtYXAgb2YgSW5qZWN0aW9uVG9rZW5zIHRvIGFzc29jaWF0ZSBzZXJ2aWNlcyB3aXRoIHVuaXF1ZSBleHRlbnNpb24ga2V5cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZVJlZ2lzdHJ5IHtcbiAgcHJvdGVjdGVkIGluamVjdG9yczogSW5qZWN0b3JbXTtcblxuICBjb25zdHJ1Y3Rvcihyb290SW5qZWN0b3I6IEluamVjdG9yLCBwbHVnaW5TZXJ2aWNlOiBQbHVnaW5zUmVzb2x2ZVNlcnZpY2UpIHtcbiAgICB0aGlzLmluamVjdG9ycyA9IFtyb290SW5qZWN0b3JdO1xuICAgIHBsdWdpblNlcnZpY2UuaW5qZWN0b3JzJC5zdWJzY3JpYmUoaW5qZWN0b3IgPT4gdGhpcy5pbmplY3RvcnMucHVzaChpbmplY3RvcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBpbnN0YW5jZXMgb2Ygc2VydmljZXMgcmVnaXN0ZXJlZCB1bmRlciBhIHNwZWNpZmllZCBleHRlbnNpb24ga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIGV4dGVuc2lvbiBrZXkgYXNzb2NpYXRlZCB3aXRoIHRoZSBkZXNpcmVkIHNlcnZpY2UuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHNlcnZpY2UgaW5zdGFuY2VzIHJlZ2lzdGVyZWQgdW5kZXIgdGhlIGdpdmVuIGtleS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBSZXRyaWV2aW5nIGluc3RhbmNlcyBvZiBTZXJ2aWNlIGV4YW1wbGVcbiAgICogY29uc3QgbGF5ZXJzU2VydmljZXMgPSBzZXJ2aWNlUmVnaXN0cnkuZ2V0KCdsYXllcnNTZXJ2aWNlS2V5Jyk7XG4gICAqIGxheWVyc1NlcnZpY2VzLmZvckVhY2goc2VydmljZSA9PiBzZXJ2aWNlLmdldCgpLnRoZW4obGF5ZXIgPT4gY29uc29sZS5sb2cobGF5ZXIpKSk7XG4gICAqIGBgYFxuICAgKi9cbiAgZ2V0PFxuICAgIFQgZXh0ZW5kcyBrZXlvZiBDdW11bG9jaXR5U2VydmljZVJlZ2lzdHJ5LkV4dGVuc2lvbktleXMsXG4gICAgUiA9IEN1bXVsb2NpdHlTZXJ2aWNlUmVnaXN0cnkuRXh0ZW5zaW9uS2V5c1tUXVxuICA+KGtleTogVCk6IFJbXSB7XG4gICAgY29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPFJbXT4gPSBTRVJWSUNFX0hPT0tfVE9LRU5TLmdldChrZXkpO1xuICAgIGlmICghdG9rZW4pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3JzXG4gICAgICAubWFwKGluamVjdG9yID0+IGluamVjdG9yLmdldCh0b2tlbiwgW10sIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSkpXG4gICAgICAuZmxhdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93cyB0byByZXRyaWV2ZSBhbGwgcmVnaXN0ZXJlZCBleHRlbnNpb24ga2V5cy5cbiAgICpcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgZXh0ZW5zaW9uIGtleXMgdGhhdCBoYXZlIGJlZW4gcmVnaXN0ZXJlZC5cbiAgICovXG4gIGdldFJlZ2lzdGVyZWRFeHRlbnNpb25LZXlzKCk6IEFycmF5PGtleW9mIEN1bXVsb2NpdHlTZXJ2aWNlUmVnaXN0cnkuRXh0ZW5zaW9uS2V5cz4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKFNFUlZJQ0VfSE9PS19UT0tFTlMua2V5cygpKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,6 @@
1
1
  import { Inject, Injectable, Optional } from '@angular/core';
2
2
  import { AppStateService } from '../common';
3
3
  import { VERSION_MODULE_CONFIG } from './version.model';
4
- import { of } from 'rxjs';
5
4
  import { map } from 'rxjs/operators';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "../common";
@@ -12,8 +11,7 @@ export class ApplicationVersionFactory {
12
11
  constructor(config, appState) {
13
12
  this.config = config;
14
13
  this.appState = appState;
15
- this.applicationVersions$ = of();
16
- if (this.config?.disableWebSDKPluginVersionFactory) {
14
+ if (this.config?.disableWebSDKVersionFactory) {
17
15
  return;
18
16
  }
19
17
  this.applicationVersions$ = this.appState.currentApplication.pipe(map(app => this.getInformationFromApp(app)));
@@ -46,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
46
44
  type: Inject,
47
45
  args: [VERSION_MODULE_CONFIG]
48
46
  }] }, { type: i1.AppStateService }]; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tdmVyc2lvbi5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS92ZXJzaW9uL2FwcGxpY2F0aW9uLXZlcnNpb24uZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxXQUFXLENBQUM7QUFDOUQsT0FBTyxFQUFnQyxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHckM7O0dBRUc7QUFJSCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFlBQ3FELE1BQTJCLEVBQ3RFLFFBQXlCO1FBRGtCLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQ3RFLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBSm5DLHlCQUFvQixHQUF3QixFQUFFLEVBQUUsQ0FBQztRQU0vQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsaUNBQWlDLEVBQUU7WUFDbEQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQWlCO1FBQ3JDLE9BQU87WUFDTCxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU87WUFDN0MsSUFBSSxFQUFFLHFCQUFxQjtZQUMzQixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRTtnQkFDTixHQUFHLEdBQUc7YUFDUDtTQUNGLENBQUM7SUFDSixDQUFDOytHQTdCVSx5QkFBeUIsa0JBSWQscUJBQXFCO21IQUpoQyx5QkFBeUIsY0FGeEIsTUFBTTs7NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UsIEV4dGVuc2lvbkZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgVmVyc2lvbiwgVmVyc2lvbk1vZHVsZUNvbmZpZywgVkVSU0lPTl9NT0RVTEVfQ09ORklHIH0gZnJvbSAnLi92ZXJzaW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJQXBwbGljYXRpb24gfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvblZlcnNpb25GYWN0b3J5IGltcGxlbWVudHMgRXh0ZW5zaW9uRmFjdG9yeTxWZXJzaW9uPiB7XG4gIGFwcGxpY2F0aW9uVmVyc2lvbnMkOiBPYnNlcnZhYmxlPFZlcnNpb24+ID0gb2YoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFZFUlNJT05fTU9EVUxFX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IFZlcnNpb25Nb2R1bGVDb25maWcsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlXG4gICkge1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGlzYWJsZVdlYlNES1BsdWdpblZlcnNpb25GYWN0b3J5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYXBwbGljYXRpb25WZXJzaW9ucyQgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRBcHBsaWNhdGlvbi5waXBlKFxuICAgICAgbWFwKGFwcCA9PiB0aGlzLmdldEluZm9ybWF0aW9uRnJvbUFwcChhcHApKVxuICAgICk7XG4gIH1cblxuICBnZXQoKTogT2JzZXJ2YWJsZTxWZXJzaW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25WZXJzaW9ucyQ7XG4gIH1cblxuICBnZXRJbmZvcm1hdGlvbkZyb21BcHAoYXBwOiBJQXBwbGljYXRpb24pOiBWZXJzaW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IGFwcC5uYW1lLFxuICAgICAgdmVyc2lvbjogYXBwLnZlcnNpb24gfHwgYXBwLm1hbmlmZXN0Py52ZXJzaW9uLFxuICAgICAgdHlwZTogJ0NVUlJFTlRfQVBQTElDQVRJT04nLFxuICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgY3VzdG9tOiB7XG4gICAgICAgIC4uLmFwcFxuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tdmVyc2lvbi5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS92ZXJzaW9uL2FwcGxpY2F0aW9uLXZlcnNpb24uZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxXQUFXLENBQUM7QUFDOUQsT0FBTyxFQUFnQyxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3JDOztHQUVHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUNxRCxNQUEyQixFQUN0RSxRQUF5QjtRQURrQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQUN0RSxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUVqQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEVBQUU7WUFDNUMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQWlCO1FBQ3JDLE9BQU87WUFDTCxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU87WUFDN0MsSUFBSSxFQUFFLHFCQUFxQjtZQUMzQixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRTtnQkFDTixHQUFHLEdBQUc7YUFDUDtTQUNGLENBQUM7SUFDSixDQUFDOytHQTdCVSx5QkFBeUIsa0JBSWQscUJBQXFCO21IQUpoQyx5QkFBeUIsY0FGeEIsTUFBTTs7NEZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UsIEV4dGVuc2lvbkZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgVmVyc2lvbiwgVmVyc2lvbk1vZHVsZUNvbmZpZywgVkVSU0lPTl9NT0RVTEVfQ09ORklHIH0gZnJvbSAnLi92ZXJzaW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLyoqXG4gKiBQcm92aWRlcyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgYXBwbGljYXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uVmVyc2lvbkZhY3RvcnkgaW1wbGVtZW50cyBFeHRlbnNpb25GYWN0b3J5PFZlcnNpb24+IHtcbiAgYXBwbGljYXRpb25WZXJzaW9ucyQ6IE9ic2VydmFibGU8VmVyc2lvbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChWRVJTSU9OX01PRFVMRV9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBWZXJzaW9uTW9kdWxlQ29uZmlnLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5jb25maWc/LmRpc2FibGVXZWJTREtWZXJzaW9uRmFjdG9yeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcGxpY2F0aW9uVmVyc2lvbnMkID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50QXBwbGljYXRpb24ucGlwZShcbiAgICAgIG1hcChhcHAgPT4gdGhpcy5nZXRJbmZvcm1hdGlvbkZyb21BcHAoYXBwKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VmVyc2lvbj4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxpY2F0aW9uVmVyc2lvbnMkO1xuICB9XG5cbiAgZ2V0SW5mb3JtYXRpb25Gcm9tQXBwKGFwcDogSUFwcGxpY2F0aW9uKTogVmVyc2lvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiBhcHAubmFtZSxcbiAgICAgIHZlcnNpb246IGFwcC52ZXJzaW9uIHx8IGFwcC5tYW5pZmVzdD8udmVyc2lvbixcbiAgICAgIHR5cGU6ICdDVVJSRU5UX0FQUExJQ0FUSU9OJyxcbiAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgIGN1c3RvbToge1xuICAgICAgICAuLi5hcHBcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iXX0=