@unovis/angular 1.4.1-beta.0 → 1.4.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/dist/lib/bundles/unovis-angular.umd.js +45 -27
- package/dist/lib/bundles/unovis-angular.umd.js.map +1 -1
- package/dist/lib/components/nested-donut/nested-donut.component.d.ts +7 -1
- package/dist/lib/esm2015/components/nested-donut/nested-donut.component.js +1 -1
- package/dist/lib/esm2015/components/tooltip/tooltip.component.js +1 -1
- package/dist/lib/esm2015/html-components/bullet-legend/bullet-legend.component.js +10 -6
- package/dist/lib/esm2015/html-components/leaflet-flow-map/leaflet-flow-map.component.js +20 -13
- package/dist/lib/esm2015/html-components/leaflet-flow-map/leaflet-flow-map.module.js +2 -1
- package/dist/lib/esm2015/html-components/leaflet-map/leaflet-map.component.js +17 -12
- package/dist/lib/esm2015/html-components/leaflet-map/leaflet-map.module.js +2 -1
- package/dist/lib/fesm2015/unovis-angular.js +45 -27
- package/dist/lib/fesm2015/unovis-angular.js.map +1 -1
- package/dist/lib/html-components/bullet-legend/bullet-legend.component.d.ts +13 -9
- package/dist/lib/html-components/leaflet-flow-map/leaflet-flow-map.component.d.ts +33 -34
- package/dist/lib/html-components/leaflet-map/leaflet-map.component.d.ts +24 -27
- package/dist/lib/package.json +2 -2
- package/package.json +2 -2
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
1
2
|
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
3
|
import { LeafletMap, } from '@unovis/ts';
|
|
3
4
|
import { VisCoreComponent } from '../../core';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class VisLeafletMapComponent {
|
|
6
7
|
ngAfterViewInit() {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
this.component = new LeafletMap(this.containerRef.nativeElement, this.getConfig(), this.data);
|
|
9
|
+
if (this.data) {
|
|
10
|
+
this.component.setData(this.data);
|
|
11
|
+
}
|
|
9
12
|
}
|
|
10
13
|
ngOnChanges(changes) {
|
|
11
14
|
var _a, _b;
|
|
@@ -15,8 +18,8 @@ export class VisLeafletMapComponent {
|
|
|
15
18
|
(_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
|
|
16
19
|
}
|
|
17
20
|
getConfig() {
|
|
18
|
-
const {
|
|
19
|
-
const config = {
|
|
21
|
+
const { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel } = this;
|
|
22
|
+
const config = { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel };
|
|
20
23
|
const keys = Object.keys(config);
|
|
21
24
|
keys.forEach(key => { if (config[key] === undefined)
|
|
22
25
|
delete config[key]; });
|
|
@@ -24,29 +27,29 @@ export class VisLeafletMapComponent {
|
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
VisLeafletMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: {
|
|
30
|
+
VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { duration: "duration", events: "events", attributes: "attributes", width: "width", height: "height", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", pointRingWidth: "pointRingWidth", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="leaflet-map-container"></div>', isInline: true, styles: [".leaflet-map-container { width: 100%; height: 100%; position: relative }"] });
|
|
28
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, decorators: [{
|
|
29
32
|
type: Component,
|
|
30
33
|
args: [{
|
|
31
34
|
selector: 'vis-leaflet-map',
|
|
32
|
-
template: '<div #container class="
|
|
33
|
-
styles: ['.
|
|
35
|
+
template: '<div #container class="leaflet-map-container"></div>',
|
|
36
|
+
styles: ['.leaflet-map-container { width: 100%; height: 100%; position: relative }'],
|
|
34
37
|
// eslint-disable-next-line no-use-before-define
|
|
35
38
|
providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }],
|
|
36
39
|
}]
|
|
37
40
|
}], propDecorators: { containerRef: [{
|
|
38
41
|
type: ViewChild,
|
|
39
42
|
args: ['container', { static: false }]
|
|
40
|
-
}], width: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], height: [{
|
|
43
|
-
type: Input
|
|
44
43
|
}], duration: [{
|
|
45
44
|
type: Input
|
|
46
45
|
}], events: [{
|
|
47
46
|
type: Input
|
|
48
47
|
}], attributes: [{
|
|
49
48
|
type: Input
|
|
49
|
+
}], width: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], height: [{
|
|
52
|
+
type: Input
|
|
50
53
|
}], flyToDuration: [{
|
|
51
54
|
type: Input
|
|
52
55
|
}], fitViewPadding: [{
|
|
@@ -105,6 +108,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
105
108
|
type: Input
|
|
106
109
|
}], pointCursor: [{
|
|
107
110
|
type: Input
|
|
111
|
+
}], pointRingWidth: [{
|
|
112
|
+
type: Input
|
|
108
113
|
}], selectedPointId: [{
|
|
109
114
|
type: Input
|
|
110
115
|
}], clusterColor: [{
|
|
@@ -136,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
136
141
|
}], data: [{
|
|
137
142
|
type: Input
|
|
138
143
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUIsS0FBSyxFQUFpQixTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUE7QUFDckcsT0FBTyxFQUNMLFVBQVUsR0FlWCxNQUFNLFlBQVksQ0FBQTtBQUVuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBUzdDLE1BQU0sT0FBTyxzQkFBc0I7SUFrT2pDLGVBQWU7UUFDYixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBUSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVGLENBQUM7SUFFRCxXQUFXLENBQUUsT0FBc0I7O1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDbkM7UUFDRCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFF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Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBbUJHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgTGVhZmxldE1hcCxcbiAgTGVhZmxldE1hcENvbmZpZ0ludGVyZmFjZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBCb3VuZHMsXG4gIE1hcFpvb21TdGF0ZSxcbiAgTnVtZXJpY0FjY2Vzc29yLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgQ29sb3JBY2Nlc3NvcixcbiAgTGVhZmxldE1hcFBvaW50RGF0dW0sXG4gIExlYWZsZXRNYXBQb2ludFN0eWxlcyxcbiAgVG9vbHRpcCxcbiAgTGVhZmxldE1hcENsdXN0ZXJEYXR1bSxcbiAgTGVhZmxldE1hcFJlbmRlcmVyLFxuICBHZW5lcmljRGF0YVJlY29yZCxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFN0eWxlU3BlY2lmaWNhdGlvbiB9IGZyb20gJ21hcGxpYnJlLWdsJ1xuaW1wb3J0IHsgVmlzQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1sZWFmbGV0LW1hcCcsXG4gIHRlbXBsYXRlOiAnPGRpdiAjY29udGFpbmVyIGNsYXNzPVwidW5vdmlzLWxlYWZsZXQtbWFwLWNvbnRhaW5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogWycudW5vdmlzLWxlYWZsZXQtbWFwLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBWaXNDb3JlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzTGVhZmxldE1hcENvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzTGVhZmxldE1hcENvbXBvbmVudDxEYXR1bSBleHRlbmRzIEdlbmVyaWNEYXRhUmVjb3JkPiBpbXBsZW1lbnRzIExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+LCBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuXG4gIC8qKiBXaWR0aCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcbiAgLyoqIEhlaWdodCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiB0aGUgZGF0YSB1cGRhdGUgdHJhbnNpdGlvbnMgaW4gbWlsbGlzZWNvbmRzLiBEZWZhdWx0OiBgNjAwYCAqL1xuICBASW5wdXQoKSBkdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBFdmVudHMgY29uZmlndXJhdGlvbi4gQW4gb2JqZWN0IGNvbnRhaW5pbmcgcHJvcGVydGllcyBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFtldmVudFR5cGVdOiBjYWxsYmFja0Z1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIGNsaWNrOiAoZCkgPT4gY29uc29sZS5sb2coXCJDbGlja2VkIEFyZWFcIiwgZClcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgZXZlbnRzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2V2ZW50VHlwZSBpbiBWaXNFdmVudFR5cGVdPzogVmlzRXZlbnRDYWxsYmFja1xuICAgIH07XG4gIH1cblxuICAvKiogWW91IGNhbiBzZXQgZXZlcnkgU1ZHIGFuZCBIVE1MIHZpc3VhbGl6YXRpb24gb2JqZWN0IHRvIGhhdmUgYSBjdXN0b20gRE9NIGF0dHJpYnV0ZXMsIHdoaWNoIGlzIHVzZWZ1bFxuICAgKiB3aGVuIHlvdSB3YW50IHRvIGRvIHVuaXQgb3IgZW5kLXRvLWVuZCB0ZXN0aW5nLiBBdHRyaWJ1dGVzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbiAgICpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbc2VsZWN0b3JTdHJpbmddOiB7XG4gICAqICAgICBcXFthdHRyaWJ1dGVOYW1lXTogYXR0cmlidXRlIGNvbnN0YW50IHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqIGUuZy46XG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW0FyZWEuc2VsZWN0b3JzLmFyZWFdOiB7XG4gICAqICAgIFwidGVzdC12YWx1ZVwiOiBkID0+IGQudmFsdWVcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGAgKi9cbiAgQElucHV0KCkgYXR0cmlidXRlcz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFthdHRyOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgKChkYXR1bTogYW55KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiB3aGVuIHRoZSBtYXAgaXMgYXV0b21hdGljYWxseSBwYW5uaW5nIG9yIHpvb21pbmcgdG8gYSBwb2ludCBvciBhcmVhLiBEZWZhdWx0OiBgMTUwMGAgbXMgKi9cbiAgQElucHV0KCkgZmx5VG9EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBQYWRkaW5nIHRvIGJlIHVzZWQgd2hlbiB0aGUgYGZpdFZpZXdgIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4gVGhlIHZhbHVlIGlzIGluIHBpeGVscy4gRGVmYXVsdDogYFsxNTAsIDE1MF1gICovXG4gIEBJbnB1dCgpIGZpdFZpZXdQYWRkaW5nPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gZm9yIHRoZSBgc2V0Wm9vbWAgZnVuY3Rpb24uIERlZmF1bHQ6IGA4MDBgIG1zICovXG4gIEBJbnB1dCgpIHpvb21EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBEZWZhdWx0IGJvdW5kcyB0aGF0IHdpbGwgYmUgYXBwbGllZCBvbiB0aGUgZmlyc3QgbWFwIHJlbmRlciBpZiB0aGUgYm91bmRzIHByb3BlcnR5IGlzIG5vdCBzZXQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGluaXRpYWxCb3VuZHM/OiBCb3VuZHNcblxuICAvKiogRm9yY2Ugc2V0IG1hcCBib3VuZHMgb24gY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGZpdEJvdW5kc09uVXBkYXRlPzogQm91bmRzXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgaW5pdGlhbGl6YXRpb24uIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25Jbml0PzogYm9vbGVhblxuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPblVwZGF0ZT86IGJvb2xlYW5cblxuICAvKiogTWFwTGlicmUgU3R5bGVTcGVjaWZpY2F0aW9uIHNldHRpbmdzLiBEZWZhdWx0OiBgTWFwTGlicmVBcmN0aWNMaWdodGAgKi9cbiAgQElucHV0KCkgc3R5bGU6IFN0eWxlU3BlY2lmaWNhdGlvbiB8IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8qKiBNYXBMaWJyZSBTdHlsZVNwZWNpZmljYXRpb24gc2V0dGluZ3MgZm9yIGRhcmsgdGhlbWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0eWxlRGFya1RoZW1lPzogU3R5bGVTcGVjaWZpY2F0aW9uIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFRpbGUgc2VydmVyIGFjY2VzcyB0b2tlbiBvciBBUEkga2V5LiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG5cbiAgLyoqIEFycmF5IG9mIGF0dHJpYnV0aW9uIGxhYmVscy4gRGVmYXVsdDogYFsnPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzPC9hPiddYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGlvbj86IHN0cmluZ1tdXG5cbiAgLyoqIFJlbmRlcmluZyBtb2RlIGZvciBtYXAncyB0aWxlIGxheWVyLiBGb3IgcmFzdGVyIGZpbGVzLCB1c2UgYExlYWZsZXRNYXBSZW5kZXJlci5SYXN0ZXJgLiBEZWZhdWx0OiBgTGVhZmxldE1hcFJlbmRlcmVyLk1hcExpYnJlYCAqL1xuICBASW5wdXQoKSByZW5kZXJlcj86IExlYWZsZXRNYXBSZW5kZXJlciB8IHN0cmluZ1xuXG4gIC8qKiBGdW5jdGlvbiB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIG1hcCdzIGFzeW5jIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwSW5pdGlhbGl6ZWQ/OiAoKCkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgLyBab29tIHVuaWZpZWQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVpvb20/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBNb3ZlIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVTdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVFbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21TdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21FbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIEVuZCBjYWxsYmFjayBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgb25NYXBDbGljaz86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogUG9pbnQgbG9uZ2l0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxvbmdpdHVkZWAgKi9cbiAgQElucHV0KCkgcG9pbnRMb25naXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IGxhdGl0dWRlIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgZCA9PiBkLmxhdGl0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExhdGl0dWRlPzogTnVtZXJpY0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBpZCBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5pZGAgKi9cbiAgQElucHV0KCkgcG9pbnRJZD86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBzaGFwZSBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5zaGFwZWAgKi9cbiAgQElucHV0KCkgcG9pbnRTaGFwZT86IFN0cmluZ0FjY2Vzc29yPERhdHVtPlxuXG4gIC8qKiBQb2ludCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYGQgPT4gZC5jb2xvcmAgKi9cbiAgQElucHV0KCkgcG9pbnRDb2xvcj86IENvbG9yQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHBvaW50UmFkaXVzPzogTnVtZXJpY0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQucG9pbnRfY291bnQgPz8gJydgICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtcG9pbnQtaW5uZXItbGFiZWwtdGV4dC1jb2xvci1saWdodGAgb3IgdG8gYC0tdmlzLW1hcC1wb2ludC1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWRhcmtgIENTUyB2YXJpYWJsZS5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGBcbiAgKi9cbiAgQElucHV0KCkgcG9pbnRMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBib3R0b20gbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAnJ2AgKi9cbiAgQElucHV0KCkgcG9pbnRCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgY3Vyc29yIHZhbHVlIG9yIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgcG9pbnRDdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFNldCBzZWxlY3RlZCBwb2ludCBieSBpdHMgdW5pcXVlIGlkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzZWxlY3RlZFBvaW50SWQ/OiBzdHJpbmdcblxuICAvKiogQ2x1c3RlciBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJDb2xvcj86IENvbG9yQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAgKi9cbiAgQElucHV0KCkgY2x1c3RlclJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPERhdHVtPj5cblxuICAvKiogQ2x1c3RlciBpbm5lciBsYWJlbCBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYGQgPT4gZC5wb2ludF9jb3VudGAgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtY2x1c3Rlci1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgXG4gICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIGNsdXN0ZXIgcG9pbnQgb3V0bGluZS4gRGVmYXVsdDogYDEuMjVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSaW5nV2lkdGg/OiBudW1iZXJcblxuICAvKiogV2hlbiBjbHVzdGVyIGlzIGV4cGFuZGVkLCBzaG93IGEgYmFja2dyb3VuZCBjaXJjbGUgdG8gYmV0dGVyIHNlcGFyYXRlIHBvaW50cyBmcm9tIHRoZSBiYXNlIG1hcC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCYWNrZ3JvdW5kPzogYm9vbGVhblxuXG4gIC8qKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNsdXN0ZXIgc2hvdWxkIGV4cGFuZCBvbiBjbGljayBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyRXhwYW5kT25DbGljaz86IGJvb2xlYW5cblxuICAvKiogQ2x1c3RlcmluZyBkaXN0YW5jZSBpbiBwaXhlbHMuIFRoaXMgdmFsdWUgd2lsbCBiZSBwYXNzZWQgdG8gU3VwZXJjbHVzdGVyIGFzIHRoZSBgcmFkaXVzYCBwcm9wZXJ0eSBodHRwczovL2dpdGh1Yi5jb20vbWFwYm94L3N1cGVyY2x1c3Rlci4gRGVmYXVsdDogYDU1YCAqL1xuICBASW5wdXQoKSBjbHVzdGVyaW5nRGlzdGFuY2U/OiBudW1iZXJcblxuICAvKiogQSBzaW5nbGUgbWFwIHBvaW50IGNhbiBoYXZlIG11bHRpcGxlIHByb3BlcnRpZXMgZGlzcGxheWVkIGFzIGEgc21hbGwgcGllIGNoYXJ0IChvciBhIGRvbnV0IGNoYXJ0IGZvciBhIGNsdXN0ZXIgb2YgcG9pbnRzKS5cbiAgICogQnkgc2V0dGluZyB0aGUgY29sb3JNYXAgY29uZmlndXJhdGlvbiB5b3UgY2FuIHNwZWNpZnkgZGF0YSBwcm9wZXJ0aWVzIHRoYXQgc2hvdWxkIGJlIG1hcHBlZCB0byB2YXJpb3VzIHBpZSAvIGRvbnV0IHNlZ21lbnRzLlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtrZXkgaW4ga2V5b2YgRGF0dW1dPzogeyBjb2xvcjogc3RyaW5nLCBjbGFzc05hbWU/OiBzdHJpbmcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXGhlYWx0aHk6IHsgY29sb3I6ICdncmVlbicgfSxcbiAgICogXFx3YXJuaW5nOiB7IGNvbG9yOiAnb3JhbmdlJyB9LFxuICAgKiBcXGRhbmdlcjogeyBjb2xvcjogJ3JlZCcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiB3aGVyZSBldmVyeSBkYXRhIHBvaW50IGhhcyB0aGUgYGhlYWx0aHlgLCBgd2FybmluZ2AgYW5kIGBkYW5nZXJgIG51bWVyaWNhbCBvciBib29sZWFuIHByb3BlcnR5LiAqL1xuICBASW5wdXQoKSBjb2xvck1hcD86IExlYWZsZXRNYXBQb2ludFN0eWxlczxEYXR1bT5cblxuICAvKiogQSBUb3BvSlNPTiBHZW9tZXRyeSBsYXllciB0byBiZSBkaXNwbGF5ZWQgb24gdG9wIG9mIHRoZSBtYXAuIFN1cHBvcnRzIGZpbGwgYW5kIHN0cm9rZSAqL1xuICBASW5wdXQoKSB0b3BvSlNPTkxheWVyPzoge1xuICAgIHNvdXJjZXM6IGFueTtcbiAgICBmZWF0dXJlTmFtZT86IHN0cmluZztcbiAgICBmaWxsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgc3Ryb2tlUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlT3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgfVxuXG4gIC8qKiBUb29sdGlwIGNvbXBvbmVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdG9vbHRpcD86IFRvb2x0aXBcblxuICAvKiogQWx0ZXJuYXRpdmUgdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGUgY2hhcnQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuIEl0IHdpbGwgYmUgYXBwbGllZCBhcyBhblxuICAgKiBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBkaXYgZWxlbWVudCBjb250YWluaW5nIHlvdXIgY2hhcnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLlxuICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG5cbiAgLyoqIERhdGEgKi9cbiAgQElucHV0KCkgZGF0YT86IERhdHVtW11cblxuICBjb21wb25lbnQ6IExlYWZsZXRNYXA8RGF0dW0+IHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpXG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgTGVhZmxldE1hcDxEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgY29uZmlnLCB0aGlzLmRhdGEpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQsIGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIGFjY2Vzc1Rva2VuLCBzdHlsZSwgc3R5bGVEYXJrVGhlbWUsIGF0dHJpYnV0aW9uLCBvbk1hcEluaXRpYWxpemVkLCBvbk1hcE1vdmVab29tLCBvbk1hcE1vdmVTdGFydCwgb25NYXBNb3ZlRW5kLCBvbk1hcFpvb21TdGFydCwgb25NYXBab29tRW5kLCBvbk1hcENsaWNrLCBwb2ludExvbmdpdHVkZSwgcG9pbnRMYXRpdHVkZSwgcG9pbnRJZCwgcG9pbnRTaGFwZSwgcG9pbnRDb2xvciwgcG9pbnRSYWRpdXMsIHBvaW50TGFiZWwsIHBvaW50TGFiZWxDb2xvciwgcG9pbnRCb3R0b21MYWJlbCwgcG9pbnRDdXJzb3IsIHNlbGVjdGVkUG9pbnRJZCwgY2x1c3RlckNvbG9yLCBjbHVzdGVyUmFkaXVzLCBjbHVzdGVyTGFiZWwsIGNsdXN0ZXJMYWJlbENvbG9yLCBjbHVzdGVyQm90dG9tTGFiZWwsIGNsdXN0ZXJSaW5nV2lkdGgsIGNsdXN0ZXJCYWNrZ3JvdW5kLCBjbHVzdGVyRXhwYW5kT25DbGljaywgY2x1c3RlcmluZ0Rpc3RhbmNlLCBjb2xvck1hcCwgdG9wb0pTT05MYXllciwgdG9vbHRpcCwgYXJpYUxhYmVsIH0gPSB0aGlzXG4gICAgY29uc3QgY29uZmlnID0geyB3aWR0aCwgaGVpZ2h0LCBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCBmbHlUb0R1cmF0aW9uLCBmaXRWaWV3UGFkZGluZywgem9vbUR1cmF0aW9uLCBpbml0aWFsQm91bmRzLCBmaXRCb3VuZHNPblVwZGF0ZSwgZml0Vmlld09uSW5pdCwgZml0Vmlld09uVXBkYXRlLCBhY2Nlc3NUb2tlbiwgc3R5bGUsIHN0eWxlRGFya1RoZW1lLCBhdHRyaWJ1dGlvbiwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBzZWxlY3RlZFBvaW50SWQsIGNsdXN0ZXJDb2xvciwgY2x1c3RlclJhZGl1cywgY2x1c3RlckxhYmVsLCBjbHVzdGVyTGFiZWxDb2xvciwgY2x1c3RlckJvdHRvbUxhYmVsLCBjbHVzdGVyUmluZ1dpZHRoLCBjbHVzdGVyQmFja2dyb3VuZCwgY2x1c3RlckV4cGFuZE9uQ2xpY2ssIGNsdXN0ZXJpbmdEaXN0YW5jZSwgY29sb3JNYXAsIHRvcG9KU09OTGF5ZXIsIHRvb2x0aXAsIGFyaWFMYWJlbCB9XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykgYXMgKGtleW9mIExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+KVtdXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiB7IGlmIChjb25maWdba2V5XSA9PT0gdW5kZWZpbmVkKSBkZWxldGUgY29uZmlnW2tleV0gfSlcblxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBaUIsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBQ3JHLE9BQU8sRUFDTCxVQUFVLEdBa0JYLE1BQU0sWUFBWSxDQUFBO0FBQ25CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFTN0MsTUFBTSxPQUFPLHNCQUFzQjtJQWlPakMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVwRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsWUFB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QUFPO3NCQUFmLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAhISEgVGhpcyBjb2RlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZC4gWW91IHNob3VsZCBub3QgY2hhbmdlIGl0ICEhIVxuaW1wb3J0IHsgQ29tcG9uZW50LCBBZnRlclZpZXdJbml0LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIExlYWZsZXRNYXAsXG4gIExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2UsXG4gIEdlbmVyaWNEYXRhUmVjb3JkLFxuICBWaXNFdmVudFR5cGUsXG4gIFZpc0V2ZW50Q2FsbGJhY2ssXG4gIEJvdW5kcyxcbiAgTWFwTGlicmVTdHlsZVNwZWNzLFxuICBMZWFmbGV0TWFwUmVuZGVyZXIsXG4gIE1hcFpvb21TdGF0ZSxcbiAgTnVtZXJpY0FjY2Vzc29yLFxuICBTdHJpbmdBY2Nlc3NvcixcbiAgR2VuZXJpY0FjY2Vzc29yLFxuICBMZWFmbGV0TWFwUG9pbnRTaGFwZSxcbiAgQ29sb3JBY2Nlc3NvcixcbiAgTGVhZmxldE1hcFBvaW50RGF0dW0sXG4gIExlYWZsZXRNYXBDbHVzdGVyRGF0dW0sXG4gIExlYWZsZXRNYXBQb2ludFN0eWxlcyxcbiAgVG9vbHRpcCxcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0NvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMtbGVhZmxldC1tYXAnLFxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lciBjbGFzcz1cImxlYWZsZXQtbWFwLWNvbnRhaW5lclwiPjwvZGl2PicsXG4gIHN0eWxlczogWycubGVhZmxldC1tYXAtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgcG9zaXRpb246IHJlbGF0aXZlIH0nXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzQ29yZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0xlYWZsZXRNYXBDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc0xlYWZsZXRNYXBDb21wb25lbnQ8RGF0dW0gZXh0ZW5kcyBHZW5lcmljRGF0YVJlY29yZD4gaW1wbGVtZW50cyBMZWFmbGV0TWFwQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWZcblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHVwZGF0ZSB0cmFuc2l0aW9ucyBpbiBtaWxsaXNlY29uZHMuIERlZmF1bHQ6IGA2MDBgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG5cbiAgLyoqIEV2ZW50cyBjb25maWd1cmF0aW9uLiBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2V2ZW50VHlwZV06IGNhbGxiYWNrRnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgY2xpY2s6IChkKSA9PiBjb25zb2xlLmxvZyhcIkNsaWNrZWQgQXJlYVwiLCBkKVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBldmVudHM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbZXZlbnRUeXBlIGluIFZpc0V2ZW50VHlwZV0/OiBWaXNFdmVudENhbGxiYWNrXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBZb3UgY2FuIHNldCBldmVyeSBTVkcgYW5kIEhUTUwgdmlzdWFsaXphdGlvbiBvYmplY3QgdG8gaGF2ZSBhIGN1c3RvbSBET00gYXR0cmlidXRlcywgd2hpY2ggaXMgdXNlZnVsXG4gICAqIHdoZW4geW91IHdhbnQgdG8gZG8gdW5pdCBvciBlbmQtdG8tZW5kIHRlc3RpbmcuIEF0dHJpYnV0ZXMgY29uZmlndXJhdGlvbiBvYmplY3QgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtzZWxlY3RvclN0cmluZ106IHtcbiAgICogICAgIFxcW2F0dHJpYnV0ZU5hbWVdOiBhdHRyaWJ1dGUgY29uc3RhbnQgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb25cbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICogZS5nLjpcbiAgICogYGBgXG4gICAqIHtcbiAgICogXFxbQXJlYS5zZWxlY3RvcnMuYXJlYV06IHtcbiAgICogICAgXCJ0ZXN0LXZhbHVlXCI6IGQgPT4gZC52YWx1ZVxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGVzPzoge1xuICAgIFtzZWxlY3Rvcjogc3RyaW5nXToge1xuICAgICAgW2F0dHI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCAoKGRhdHVtOiBhbnkpID0+IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pO1xuICAgIH07XG4gIH1cblxuICAvKiogV2lkdGggaW4gcGl4ZWxzIG9yIGluIENTUyB1bml0cy4gQnkgZGVmYXVsdCwgdGhlIG1hcCB3aWxsIGF1dG9tYXRpY2FsbHkgZml0IHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEhlaWdodCBpbiBwaXhlbHMgb3IgaW4gQ1NTIHVuaXRzLiBCeSBkZWZhdWx0LCB0aGUgbWFwIHdpbGwgYXV0b21hdGljYWxseSBmaXQgdG8gdGhlIHNpemUgb2YgdGhlIHBhcmVudCBlbGVtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC4gKi9cbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiB3aGVuIHRoZSBtYXAgaXMgYXV0b21hdGljYWxseSBwYW5uaW5nIG9yIHpvb21pbmcgdG8gYSBwb2ludCBvciBhcmVhLiBEZWZhdWx0OiBgMTUwMGAgbXMgKi9cbiAgQElucHV0KCkgZmx5VG9EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBQYWRkaW5nIHRvIGJlIHVzZWQgd2hlbiB0aGUgYGZpdFZpZXdgIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZC4gVGhlIHZhbHVlIGlzIGluIHBpeGVscywgW3RvcExlZnQsIGJvdHRvbVJpZ2h0XS4gRGVmYXVsdDogYFsxNTAsIDE1MF1gICovXG4gIEBJbnB1dCgpIGZpdFZpZXdQYWRkaW5nPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gZm9yIHRoZSBgc2V0Wm9vbWAgZnVuY3Rpb24uIERlZmF1bHQ6IGA4MDBgIG1zICovXG4gIEBJbnB1dCgpIHpvb21EdXJhdGlvbj86IG51bWJlclxuXG4gIC8qKiBEZWZhdWx0IGJvdW5kcyB0aGF0IHdpbGwgYmUgYXBwbGllZCBvbiB0aGUgZmlyc3QgbWFwIHJlbmRlciBpZiB0aGUgYm91bmRzIHByb3BlcnR5IGlzIG5vdCBzZXQuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGluaXRpYWxCb3VuZHM/OiBCb3VuZHNcblxuICAvKiogRm9yY2Ugc2V0IG1hcCBib3VuZHMgb24gY29uZmlnIGFuZCBkYXRhIHVwZGF0ZXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGZpdEJvdW5kc09uVXBkYXRlPzogQm91bmRzXG5cbiAgLyoqIEZpdCB0aGUgdmlldyB0byBjb250YWluIHRoZSBkYXRhIHBvaW50cyBvbiBtYXAgaW5pdGlhbGl6YXRpb24uIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBmaXRWaWV3T25Jbml0PzogYm9vbGVhblxuXG4gIC8qKiBGaXQgdGhlIHZpZXcgdG8gY29udGFpbiB0aGUgZGF0YSBwb2ludHMgb24gbWFwIGNvbmZpZyBhbmQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIGZpdFZpZXdPblVwZGF0ZT86IGJvb2xlYW5cblxuICAvKiogTWFwTGlicmUgYFN0eWxlU3BlY2lmaWNhdGlvbmAgc2V0dGluZ3MsIG9yIGEgVVJMIHRvIGl0LiBXaGVuIHJlbmRlcmVyIGlzIHNldCB0b2BMZWFmbGV0TWFwUmVuZGVyZXIuUmFzdGVyYCwgcHJvdmlkZSBhIHRlbXBsYXRlIFVSTC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgc3R5bGU6IE1hcExpYnJlU3R5bGVTcGVjcyB8IHN0cmluZyB8IHVuZGVmaW5lZFxuXG4gIC8qKiBNYXBMaWJyZSBgU3R5bGVTcGVjaWZpY2F0aW9uYCBzZXR0aW5ncyBvciBVUkwgZm9yIGRhcmsgdGhlbWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHN0eWxlRGFya1RoZW1lPzogTWFwTGlicmVTdHlsZVNwZWNzIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLyoqIFRpbGUgc2VydmVyIGFjY2VzcyB0b2tlbiBvciBBUEkga2V5LiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGFjY2Vzc1Rva2VuPzogc3RyaW5nXG5cbiAgLyoqIEFycmF5IG9mIGF0dHJpYnV0aW9uIGxhYmVscy4gRGVmYXVsdDogYFsnPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodFwiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzPC9hPiddYCAqL1xuICBASW5wdXQoKSBhdHRyaWJ1dGlvbj86IHN0cmluZ1tdXG5cbiAgLyoqIFJlbmRlcmluZyBtb2RlIGZvciBtYXAncyB0aWxlIGxheWVyLiBGb3IgcmFzdGVyIGZpbGVzLCB1c2UgYExlYWZsZXRNYXBSZW5kZXJlci5SYXN0ZXJgLiBEZWZhdWx0OiBgTGVhZmxldE1hcFJlbmRlcmVyLk1hcExpYnJlYCAqL1xuICBASW5wdXQoKSByZW5kZXJlcj86IExlYWZsZXRNYXBSZW5kZXJlciB8IHN0cmluZ1xuXG4gIC8qKiBGdW5jdGlvbiB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIG1hcCdzIGFzeW5jIGluaXRpYWxpemF0aW9uIGlzIGRvbmUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwSW5pdGlhbGl6ZWQ/OiAoKCkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgLyBab29tIHVuaWZpZWQgY2FsbGJhY2sgZnVuY3Rpb24uIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIG9uTWFwTW92ZVpvb20/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBNb3ZlIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVTdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIE1vdmUgRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcE1vdmVFbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIFN0YXJ0IGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21TdGFydD86ICgoeyBtYXBDZW50ZXIsIHpvb21MZXZlbCwgYm91bmRzIH06IE1hcFpvb21TdGF0ZSkgPT4gdm9pZClcblxuICAvKiogTWFwIFpvb20gRW5kIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcFpvb21FbmQ/OiAoKHsgbWFwQ2VudGVyLCB6b29tTGV2ZWwsIGJvdW5kcyB9OiBNYXBab29tU3RhdGUpID0+IHZvaWQpXG5cbiAgLyoqIE1hcCBab29tIENsaWNrIGNhbGxiYWNrIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBvbk1hcENsaWNrPzogKCh7IG1hcENlbnRlciwgem9vbUxldmVsLCBib3VuZHMgfTogTWFwWm9vbVN0YXRlKSA9PiB2b2lkKVxuXG4gIC8qKiBQb2ludCBsb25naXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubG9uZ2l0dWRlYCAqL1xuICBASW5wdXQoKSBwb2ludExvbmdpdHVkZT86IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogUG9pbnQgbGF0aXR1ZGUgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQubGF0aXR1ZGVgICovXG4gIEBJbnB1dCgpIHBvaW50TGF0aXR1ZGU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IGlkIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLmlkYCAqL1xuICBASW5wdXQoKSBwb2ludElkPzogU3RyaW5nQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIFBvaW50IHNoYXBlIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgZCA9PiBkLnNoYXBlYCAqL1xuICBASW5wdXQoKSBwb2ludFNoYXBlPzogR2VuZXJpY0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludFNoYXBlIHwgc3RyaW5nLCBEYXR1bT5cblxuICAvKiogUG9pbnQgY29sb3IgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGBkID0+IGQuY29sb3JgICovXG4gIEBJbnB1dCgpIHBvaW50Q29sb3I/OiBDb2xvckFjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgcmFkaXVzIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludFJhZGl1cz86IE51bWVyaWNBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGlubmVyIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBwb2ludExhYmVsPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBQb2ludCBpbm5lciBsYWJlbCBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGxhYmVsIGNvbG9yIHdpbGwgYmUgc2V0LCBkZXBlbmRpbmcgb24gdGhlIHBvaW50IGJyaWdodG5lc3MsIGVpdGhlciB0b1xuICAgKiBgLS12aXMtbWFwLXBvaW50LWlubmVyLWxhYmVsLXRleHQtY29sb3ItbGlnaHRgIG9yIHRvIGAtLXZpcy1tYXAtcG9pbnQtaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHBvaW50TGFiZWxDb2xvcj86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBQb2ludERhdHVtPERhdHVtPj5cblxuICAvKiogUG9pbnQgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIHBvaW50Qm90dG9tTGFiZWw/OiBTdHJpbmdBY2Nlc3NvcjxMZWFmbGV0TWFwUG9pbnREYXR1bTxEYXR1bT4+XG5cbiAgLyoqIFBvaW50IGN1cnNvciB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYG51bGxgICovXG4gIEBJbnB1dCgpIHBvaW50Q3Vyc29yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcFBvaW50RGF0dW08RGF0dW0+PlxuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIHJpbmcgd2hlbiBhIHBvaW50IGhhcyBhIGBMZWFmbGV0TWFwUG9pbnRTaGFwZS5SaW5nYCBzaGFwZS4gRGVmYXVsdDogYDEuMjVgICovXG4gIEBJbnB1dCgpIHBvaW50UmluZ1dpZHRoPzogbnVtYmVyXG5cbiAgLyoqIFNldCBzZWxlY3RlZCBwb2ludCBieSBpdHMgdW5pcXVlIGlkLiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBzZWxlY3RlZFBvaW50SWQ/OiBzdHJpbmdcblxuICAvKiogQ2x1c3RlciBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbiBvciBjb25zdGFudCB2YWx1ZS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgY2x1c3RlckNvbG9yPzogQ29sb3JBY2Nlc3NvcjxMZWFmbGV0TWFwQ2x1c3RlckRhdHVtPERhdHVtPj5cblxuICAvKiogQ2x1c3RlciByYWRpdXMgYWNjZXNzb3IgZnVuY3Rpb24gb3IgY29uc3RhbnQgdmFsdWUuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSYWRpdXM/OiBOdW1lcmljQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgaW5uZXIgbGFiZWwgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBkID0+IGQucG9pbnRfY291bnRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBDbHVzdGVyIGlubmVyIGxhYmVsIGNvbG9yIGFjY2Vzc29yIGZ1bmN0aW9uIG9yIGNvbnN0YW50IHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGFiZWwgY29sb3Igd2lsbCBiZSBzZXQsIGRlcGVuZGluZyBvbiB0aGUgcG9pbnQgYnJpZ2h0bmVzcywgZWl0aGVyIHRvXG4gICAqIGAtLXZpcy1tYXAtY2x1c3Rlci1pbm5lci1sYWJlbC10ZXh0LWNvbG9yLWxpZ2h0YCBvciB0byBgLS12aXMtbWFwLWNsdXN0ZXItaW5uZXItbGFiZWwtdGV4dC1jb2xvci1kYXJrYCBDU1MgdmFyaWFibGUuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJMYWJlbENvbG9yPzogU3RyaW5nQWNjZXNzb3I8TGVhZmxldE1hcENsdXN0ZXJEYXR1bTxEYXR1bT4+XG5cbiAgLyoqIENsdXN0ZXIgYm90dG9tIGxhYmVsIGFjY2Vzc29yIGZ1bmN0aW9uLiBEZWZhdWx0OiBgJydgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCb3R0b21MYWJlbD86IFN0cmluZ0FjY2Vzc29yPExlYWZsZXRNYXBDbHVzdGVyRGF0dW08RGF0dW0+PlxuXG4gIC8qKiBUaGUgd2lkdGggb2YgdGhlIGNsdXN0ZXIgcG9pbnQgcmluZy4gRGVmYXVsdDogYDEuMjVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJSaW5nV2lkdGg/OiBudW1iZXJcblxuICAvKiogV2hlbiBjbHVzdGVyIGlzIGV4cGFuZGVkLCBzaG93IGEgYmFja2dyb3VuZCBjaXJjbGUgdG8gYmV0dGVyIHNlcGFyYXRlIHBvaW50cyBmcm9tIHRoZSBiYXNlIG1hcC4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGNsdXN0ZXJCYWNrZ3JvdW5kPzogYm9vbGVhblxuXG4gIC8qKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGNsdXN0ZXIgc2hvdWxkIGV4cGFuZCBvbiBjbGljayBvciBub3QuIERlZmF1bHQ6IGB0cnVlYCAqL1xuICBASW5wdXQoKSBjbHVzdGVyRXhwYW5kT25DbGljaz86IGJvb2xlYW5cblxuICAvKiogQ2x1c3RlcmluZyBkaXN0YW5jZSBpbiBwaXhlbHMuIFRoaXMgdmFsdWUgd2lsbCBiZSBwYXNzZWQgdG8gU3VwZXJjbHVzdGVyIGFzIHRoZSBgcmFkaXVzYCBwcm9wZXJ0eSBodHRwczovL2dpdGh1Yi5jb20vbWFwYm94L3N1cGVyY2x1c3Rlci4gRGVmYXVsdDogYDU1YCAqL1xuICBASW5wdXQoKSBjbHVzdGVyaW5nRGlzdGFuY2U/OiBudW1iZXJcblxuICAvKiogQSBzaW5nbGUgbWFwIHBvaW50IGNhbiBoYXZlIG11bHRpcGxlIHByb3BlcnRpZXMgZGlzcGxheWVkIGFzIGEgc21hbGwgcGllIGNoYXJ0IChvciBhIGRvbnV0IGNoYXJ0IGZvciBhIGNsdXN0ZXIgb2YgcG9pbnRzKS5cbiAgICogQnkgc2V0dGluZyB0aGUgY29sb3JNYXAgY29uZmlndXJhdGlvbiB5b3UgY2FuIHNwZWNpZnkgZGF0YSBwcm9wZXJ0aWVzIHRoYXQgc2hvdWxkIGJlIG1hcHBlZCB0byB2YXJpb3VzIHBpZSAvIGRvbnV0IHNlZ21lbnRzLlxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtrZXkgaW4ga2V5b2YgRGF0dW1dPzogeyBjb2xvcjogc3RyaW5nLCBjbGFzc05hbWU/OiBzdHJpbmcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXGhlYWx0aHk6IHsgY29sb3I6ICdncmVlbicgfSxcbiAgICogXFx3YXJuaW5nOiB7IGNvbG9yOiAnb3JhbmdlJyB9LFxuICAgKiBcXGRhbmdlcjogeyBjb2xvcjogJ3JlZCcgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiB3aGVyZSBldmVyeSBkYXRhIHBvaW50IGhhcyB0aGUgYGhlYWx0aHlgLCBgd2FybmluZ2AgYW5kIGBkYW5nZXJgIG51bWVyaWNhbCBvciBib29sZWFuIHByb3BlcnR5LiAqL1xuICBASW5wdXQoKSBjb2xvck1hcD86IExlYWZsZXRNYXBQb2ludFN0eWxlczxEYXR1bT5cblxuICAvKiogQSBUb3BvSlNPTiBHZW9tZXRyeSBsYXllciB0byBiZSBkaXNwbGF5ZWQgb24gdG9wIG9mIHRoZSBtYXAuIFN1cHBvcnRzIGZpbGwgYW5kIHN0cm9rZSAqL1xuICBASW5wdXQoKSB0b3BvSlNPTkxheWVyPzoge1xuICAgIHNvdXJjZXM6IGFueTtcbiAgICBmZWF0dXJlTmFtZT86IHN0cmluZztcbiAgICBmaWxsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgc3Ryb2tlUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlT3BhY2l0eT86IG51bWJlcjtcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgfVxuXG4gIC8qKiBUb29sdGlwIGNvbXBvbmVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgdG9vbHRpcD86IFRvb2x0aXBcblxuICAvKiogQWx0ZXJuYXRpdmUgdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGUgY2hhcnQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMuIEl0IHdpbGwgYmUgYXBwbGllZCBhcyBhblxuICAgKiBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBkaXYgZWxlbWVudCBjb250YWluaW5nIHlvdXIgY2hhcnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpIGRhdGE6IERhdHVtW11cblxuICBjb21wb25lbnQ6IExlYWZsZXRNYXA8RGF0dW0+IHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBMZWFmbGV0TWFwPERhdHVtPih0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmdldENvbmZpZygpLCB0aGlzLmRhdGEpXG5cbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC5zZXREYXRhKHRoaXMuZGF0YSlcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHsgdGhpcy5jb21wb25lbnQ/LnNldERhdGEodGhpcy5kYXRhKSB9XG4gICAgdGhpcy5jb21wb25lbnQ/LnNldENvbmZpZyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25maWcgKCk6IExlYWZsZXRNYXBDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHdpZHRoLCBoZWlnaHQsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYWNjZXNzVG9rZW4sIGF0dHJpYnV0aW9uLCByZW5kZXJlciwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBwb2ludFJpbmdXaWR0aCwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGR1cmF0aW9uLCBldmVudHMsIGF0dHJpYnV0ZXMsIHdpZHRoLCBoZWlnaHQsIGZseVRvRHVyYXRpb24sIGZpdFZpZXdQYWRkaW5nLCB6b29tRHVyYXRpb24sIGluaXRpYWxCb3VuZHMsIGZpdEJvdW5kc09uVXBkYXRlLCBmaXRWaWV3T25Jbml0LCBmaXRWaWV3T25VcGRhdGUsIHN0eWxlLCBzdHlsZURhcmtUaGVtZSwgYWNjZXNzVG9rZW4sIGF0dHJpYnV0aW9uLCByZW5kZXJlciwgb25NYXBJbml0aWFsaXplZCwgb25NYXBNb3ZlWm9vbSwgb25NYXBNb3ZlU3RhcnQsIG9uTWFwTW92ZUVuZCwgb25NYXBab29tU3RhcnQsIG9uTWFwWm9vbUVuZCwgb25NYXBDbGljaywgcG9pbnRMb25naXR1ZGUsIHBvaW50TGF0aXR1ZGUsIHBvaW50SWQsIHBvaW50U2hhcGUsIHBvaW50Q29sb3IsIHBvaW50UmFkaXVzLCBwb2ludExhYmVsLCBwb2ludExhYmVsQ29sb3IsIHBvaW50Qm90dG9tTGFiZWwsIHBvaW50Q3Vyc29yLCBwb2ludFJpbmdXaWR0aCwgc2VsZWN0ZWRQb2ludElkLCBjbHVzdGVyQ29sb3IsIGNsdXN0ZXJSYWRpdXMsIGNsdXN0ZXJMYWJlbCwgY2x1c3RlckxhYmVsQ29sb3IsIGNsdXN0ZXJCb3R0b21MYWJlbCwgY2x1c3RlclJpbmdXaWR0aCwgY2x1c3RlckJhY2tncm91bmQsIGNsdXN0ZXJFeHBhbmRPbkNsaWNrLCBjbHVzdGVyaW5nRGlzdGFuY2UsIGNvbG9yTWFwLCB0b3BvSlNPTkxheWVyLCB0b29sdGlwLCBhcmlhTGFiZWwgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBMZWFmbGV0TWFwQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
1
2
|
import { NgModule } from '@angular/core';
|
|
2
3
|
import { VisLeafletMapComponent } from './leaflet-map.component';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
@@ -14,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
14
15
|
exports: [VisLeafletMapComponent],
|
|
15
16
|
}]
|
|
16
17
|
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZmxldC1tYXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2h0bWwtY29tcG9uZW50cy9sZWFmbGV0LW1hcC9sZWFmbGV0LW1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEVBQTBFO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUE7O0FBT2hFLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFIZixzQkFBc0IsYUFDM0Isc0JBQXNCO2tIQUVyQixtQkFBbUIsWUFKckIsRUFBRTs0RkFJQSxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBWaXNMZWFmbGV0TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9sZWFmbGV0LW1hcC5jb21wb25lbnQnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtWaXNMZWFmbGV0TWFwQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1Zpc0xlYWZsZXRNYXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNMZWFmbGV0TWFwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -2157,10 +2157,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2157
2157
|
}]
|
|
2158
2158
|
}] });
|
|
2159
2159
|
|
|
2160
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
2160
2161
|
class VisLeafletMapComponent {
|
|
2161
2162
|
ngAfterViewInit() {
|
|
2162
|
-
|
|
2163
|
-
|
|
2163
|
+
this.component = new LeafletMap(this.containerRef.nativeElement, this.getConfig(), this.data);
|
|
2164
|
+
if (this.data) {
|
|
2165
|
+
this.component.setData(this.data);
|
|
2166
|
+
}
|
|
2164
2167
|
}
|
|
2165
2168
|
ngOnChanges(changes) {
|
|
2166
2169
|
var _a, _b;
|
|
@@ -2170,8 +2173,8 @@ class VisLeafletMapComponent {
|
|
|
2170
2173
|
(_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
|
|
2171
2174
|
}
|
|
2172
2175
|
getConfig() {
|
|
2173
|
-
const {
|
|
2174
|
-
const config = {
|
|
2176
|
+
const { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel } = this;
|
|
2177
|
+
const config = { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel };
|
|
2175
2178
|
const keys = Object.keys(config);
|
|
2176
2179
|
keys.forEach(key => { if (config[key] === undefined)
|
|
2177
2180
|
delete config[key]; });
|
|
@@ -2179,29 +2182,29 @@ class VisLeafletMapComponent {
|
|
|
2179
2182
|
}
|
|
2180
2183
|
}
|
|
2181
2184
|
VisLeafletMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2182
|
-
VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: {
|
|
2185
|
+
VisLeafletMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletMapComponent, selector: "vis-leaflet-map", inputs: { duration: "duration", events: "events", attributes: "attributes", width: "width", height: "height", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", pointRingWidth: "pointRingWidth", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="leaflet-map-container"></div>', isInline: true, styles: [".leaflet-map-container { width: 100%; height: 100%; position: relative }"] });
|
|
2183
2186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapComponent, decorators: [{
|
|
2184
2187
|
type: Component,
|
|
2185
2188
|
args: [{
|
|
2186
2189
|
selector: 'vis-leaflet-map',
|
|
2187
|
-
template: '<div #container class="
|
|
2188
|
-
styles: ['.
|
|
2190
|
+
template: '<div #container class="leaflet-map-container"></div>',
|
|
2191
|
+
styles: ['.leaflet-map-container { width: 100%; height: 100%; position: relative }'],
|
|
2189
2192
|
// eslint-disable-next-line no-use-before-define
|
|
2190
2193
|
providers: [{ provide: VisCoreComponent, useExisting: VisLeafletMapComponent }],
|
|
2191
2194
|
}]
|
|
2192
2195
|
}], propDecorators: { containerRef: [{
|
|
2193
2196
|
type: ViewChild,
|
|
2194
2197
|
args: ['container', { static: false }]
|
|
2195
|
-
}], width: [{
|
|
2196
|
-
type: Input
|
|
2197
|
-
}], height: [{
|
|
2198
|
-
type: Input
|
|
2199
2198
|
}], duration: [{
|
|
2200
2199
|
type: Input
|
|
2201
2200
|
}], events: [{
|
|
2202
2201
|
type: Input
|
|
2203
2202
|
}], attributes: [{
|
|
2204
2203
|
type: Input
|
|
2204
|
+
}], width: [{
|
|
2205
|
+
type: Input
|
|
2206
|
+
}], height: [{
|
|
2207
|
+
type: Input
|
|
2205
2208
|
}], flyToDuration: [{
|
|
2206
2209
|
type: Input
|
|
2207
2210
|
}], fitViewPadding: [{
|
|
@@ -2260,6 +2263,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2260
2263
|
type: Input
|
|
2261
2264
|
}], pointCursor: [{
|
|
2262
2265
|
type: Input
|
|
2266
|
+
}], pointRingWidth: [{
|
|
2267
|
+
type: Input
|
|
2263
2268
|
}], selectedPointId: [{
|
|
2264
2269
|
type: Input
|
|
2265
2270
|
}], clusterColor: [{
|
|
@@ -2292,6 +2297,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2292
2297
|
type: Input
|
|
2293
2298
|
}] } });
|
|
2294
2299
|
|
|
2300
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
2295
2301
|
class VisLeafletMapModule {
|
|
2296
2302
|
}
|
|
2297
2303
|
VisLeafletMapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -2306,10 +2312,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2306
2312
|
}]
|
|
2307
2313
|
}] });
|
|
2308
2314
|
|
|
2315
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
2309
2316
|
class VisLeafletFlowMapComponent {
|
|
2310
2317
|
ngAfterViewInit() {
|
|
2311
|
-
|
|
2312
|
-
|
|
2318
|
+
this.component = new LeafletFlowMap(this.containerRef.nativeElement, this.getConfig(), this.data);
|
|
2319
|
+
if (this.data) {
|
|
2320
|
+
this.component.setData(this.data);
|
|
2321
|
+
}
|
|
2313
2322
|
}
|
|
2314
2323
|
ngOnChanges(changes) {
|
|
2315
2324
|
var _a, _b;
|
|
@@ -2319,8 +2328,8 @@ class VisLeafletFlowMapComponent {
|
|
|
2319
2328
|
(_b = this.component) === null || _b === void 0 ? void 0 : _b.setConfig(this.getConfig());
|
|
2320
2329
|
}
|
|
2321
2330
|
getConfig() {
|
|
2322
|
-
const {
|
|
2323
|
-
const config = {
|
|
2331
|
+
const { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave } = this;
|
|
2332
|
+
const config = { duration, events, attributes, width, height, flyToDuration, fitViewPadding, zoomDuration, initialBounds, fitBoundsOnUpdate, fitViewOnInit, fitViewOnUpdate, style, styleDarkTheme, accessToken, attribution, renderer, onMapInitialized, onMapMoveZoom, onMapMoveStart, onMapMoveEnd, onMapZoomStart, onMapZoomEnd, onMapClick, pointLongitude, pointLatitude, pointId, pointShape, pointColor, pointRadius, pointLabel, pointLabelColor, pointBottomLabel, pointCursor, pointRingWidth, selectedPointId, clusterColor, clusterRadius, clusterLabel, clusterLabelColor, clusterBottomLabel, clusterRingWidth, clusterBackground, clusterExpandOnClick, clusteringDistance, colorMap, topoJSONLayer, tooltip, ariaLabel, sourceLongitude, sourceLatitude, targetLongitude, targetLatitude, sourcePointRadius, sourcePointColor, flowParticleColor, flowParticleRadius, flowParticleSpeed, flowParticleDensity, onSourcePointClick, onSourcePointMouseEnter, onSourcePointMouseLeave };
|
|
2324
2333
|
const keys = Object.keys(config);
|
|
2325
2334
|
keys.forEach(key => { if (config[key] === undefined)
|
|
2326
2335
|
delete config[key]; });
|
|
@@ -2328,29 +2337,29 @@ class VisLeafletFlowMapComponent {
|
|
|
2328
2337
|
}
|
|
2329
2338
|
}
|
|
2330
2339
|
VisLeafletFlowMapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2331
|
-
VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: {
|
|
2340
|
+
VisLeafletFlowMapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisLeafletFlowMapComponent, selector: "vis-leaflet-flow-map", inputs: { duration: "duration", events: "events", attributes: "attributes", width: "width", height: "height", flyToDuration: "flyToDuration", fitViewPadding: "fitViewPadding", zoomDuration: "zoomDuration", initialBounds: "initialBounds", fitBoundsOnUpdate: "fitBoundsOnUpdate", fitViewOnInit: "fitViewOnInit", fitViewOnUpdate: "fitViewOnUpdate", style: "style", styleDarkTheme: "styleDarkTheme", accessToken: "accessToken", attribution: "attribution", renderer: "renderer", onMapInitialized: "onMapInitialized", onMapMoveZoom: "onMapMoveZoom", onMapMoveStart: "onMapMoveStart", onMapMoveEnd: "onMapMoveEnd", onMapZoomStart: "onMapZoomStart", onMapZoomEnd: "onMapZoomEnd", onMapClick: "onMapClick", pointLongitude: "pointLongitude", pointLatitude: "pointLatitude", pointId: "pointId", pointShape: "pointShape", pointColor: "pointColor", pointRadius: "pointRadius", pointLabel: "pointLabel", pointLabelColor: "pointLabelColor", pointBottomLabel: "pointBottomLabel", pointCursor: "pointCursor", pointRingWidth: "pointRingWidth", selectedPointId: "selectedPointId", clusterColor: "clusterColor", clusterRadius: "clusterRadius", clusterLabel: "clusterLabel", clusterLabelColor: "clusterLabelColor", clusterBottomLabel: "clusterBottomLabel", clusterRingWidth: "clusterRingWidth", clusterBackground: "clusterBackground", clusterExpandOnClick: "clusterExpandOnClick", clusteringDistance: "clusteringDistance", colorMap: "colorMap", topoJSONLayer: "topoJSONLayer", tooltip: "tooltip", ariaLabel: "ariaLabel", sourceLongitude: "sourceLongitude", sourceLatitude: "sourceLatitude", targetLongitude: "targetLongitude", targetLatitude: "targetLatitude", sourcePointRadius: "sourcePointRadius", sourcePointColor: "sourcePointColor", flowParticleColor: "flowParticleColor", flowParticleRadius: "flowParticleRadius", flowParticleSpeed: "flowParticleSpeed", flowParticleDensity: "flowParticleDensity", onSourcePointClick: "onSourcePointClick", onSourcePointMouseEnter: "onSourcePointMouseEnter", onSourcePointMouseLeave: "onSourcePointMouseLeave", data: "data" }, providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="leaflet-flow-map-container"></div>', isInline: true, styles: [".leaflet-flow-map-container { width: 100%; height: 100%; position: relative }"] });
|
|
2332
2341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapComponent, decorators: [{
|
|
2333
2342
|
type: Component,
|
|
2334
2343
|
args: [{
|
|
2335
2344
|
selector: 'vis-leaflet-flow-map',
|
|
2336
|
-
template: '<div #container class="
|
|
2337
|
-
styles: ['.
|
|
2345
|
+
template: '<div #container class="leaflet-flow-map-container"></div>',
|
|
2346
|
+
styles: ['.leaflet-flow-map-container { width: 100%; height: 100%; position: relative }'],
|
|
2338
2347
|
// eslint-disable-next-line no-use-before-define
|
|
2339
2348
|
providers: [{ provide: VisCoreComponent, useExisting: VisLeafletFlowMapComponent }],
|
|
2340
2349
|
}]
|
|
2341
2350
|
}], propDecorators: { containerRef: [{
|
|
2342
2351
|
type: ViewChild,
|
|
2343
2352
|
args: ['container', { static: false }]
|
|
2344
|
-
}], width: [{
|
|
2345
|
-
type: Input
|
|
2346
|
-
}], height: [{
|
|
2347
|
-
type: Input
|
|
2348
2353
|
}], duration: [{
|
|
2349
2354
|
type: Input
|
|
2350
2355
|
}], events: [{
|
|
2351
2356
|
type: Input
|
|
2352
2357
|
}], attributes: [{
|
|
2353
2358
|
type: Input
|
|
2359
|
+
}], width: [{
|
|
2360
|
+
type: Input
|
|
2361
|
+
}], height: [{
|
|
2362
|
+
type: Input
|
|
2354
2363
|
}], flyToDuration: [{
|
|
2355
2364
|
type: Input
|
|
2356
2365
|
}], fitViewPadding: [{
|
|
@@ -2373,6 +2382,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2373
2382
|
type: Input
|
|
2374
2383
|
}], attribution: [{
|
|
2375
2384
|
type: Input
|
|
2385
|
+
}], renderer: [{
|
|
2386
|
+
type: Input
|
|
2376
2387
|
}], onMapInitialized: [{
|
|
2377
2388
|
type: Input
|
|
2378
2389
|
}], onMapMoveZoom: [{
|
|
@@ -2407,6 +2418,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2407
2418
|
type: Input
|
|
2408
2419
|
}], pointCursor: [{
|
|
2409
2420
|
type: Input
|
|
2421
|
+
}], pointRingWidth: [{
|
|
2422
|
+
type: Input
|
|
2410
2423
|
}], selectedPointId: [{
|
|
2411
2424
|
type: Input
|
|
2412
2425
|
}], clusterColor: [{
|
|
@@ -2427,7 +2440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2427
2440
|
type: Input
|
|
2428
2441
|
}], clusteringDistance: [{
|
|
2429
2442
|
type: Input
|
|
2430
|
-
}],
|
|
2443
|
+
}], colorMap: [{
|
|
2431
2444
|
type: Input
|
|
2432
2445
|
}], topoJSONLayer: [{
|
|
2433
2446
|
type: Input
|
|
@@ -2465,6 +2478,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2465
2478
|
type: Input
|
|
2466
2479
|
}] } });
|
|
2467
2480
|
|
|
2481
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
2468
2482
|
class VisLeafletFlowMapModule {
|
|
2469
2483
|
}
|
|
2470
2484
|
VisLeafletFlowMapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisLeafletFlowMapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -2479,17 +2493,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2479
2493
|
}]
|
|
2480
2494
|
}] });
|
|
2481
2495
|
|
|
2496
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
2482
2497
|
class VisBulletLegendComponent {
|
|
2483
2498
|
ngAfterViewInit() {
|
|
2484
|
-
this.component = new BulletLegend(this.containerRef.nativeElement, this.getConfig());
|
|
2499
|
+
this.component = new BulletLegend(this.containerRef.nativeElement, Object.assign(Object.assign({}, this.getConfig()), { renderIntoProvidedDomNode: true }));
|
|
2485
2500
|
}
|
|
2486
2501
|
ngOnChanges(changes) {
|
|
2487
2502
|
var _a;
|
|
2488
2503
|
(_a = this.component) === null || _a === void 0 ? void 0 : _a.update(this.getConfig());
|
|
2489
2504
|
}
|
|
2490
2505
|
getConfig() {
|
|
2491
|
-
const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize } = this;
|
|
2492
|
-
const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize };
|
|
2506
|
+
const { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation } = this;
|
|
2507
|
+
const config = { items, labelClassName, onLegendItemClick, labelFontSize, labelMaxWidth, bulletSize, bulletShape, orientation };
|
|
2493
2508
|
const keys = Object.keys(config);
|
|
2494
2509
|
keys.forEach(key => { if (config[key] === undefined)
|
|
2495
2510
|
delete config[key]; });
|
|
@@ -2497,12 +2512,13 @@ class VisBulletLegendComponent {
|
|
|
2497
2512
|
}
|
|
2498
2513
|
}
|
|
2499
2514
|
VisBulletLegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2500
|
-
VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletShape: "bulletShape" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true });
|
|
2515
|
+
VisBulletLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisBulletLegendComponent, selector: "vis-bullet-legend", inputs: { items: "items", labelClassName: "labelClassName", onLegendItemClick: "onLegendItemClick", labelFontSize: "labelFontSize", labelMaxWidth: "labelMaxWidth", bulletSize: "bulletSize", bulletShape: "bulletShape", orientation: "orientation" }, providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container class="bullet-legend-container"></div>', isInline: true, styles: [".bullet-legend-container { }"] });
|
|
2501
2516
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisBulletLegendComponent, decorators: [{
|
|
2502
2517
|
type: Component,
|
|
2503
2518
|
args: [{
|
|
2504
2519
|
selector: 'vis-bullet-legend',
|
|
2505
2520
|
template: '<div #container class="bullet-legend-container"></div>',
|
|
2521
|
+
styles: ['.bullet-legend-container { }'],
|
|
2506
2522
|
// eslint-disable-next-line no-use-before-define
|
|
2507
2523
|
providers: [{ provide: VisGenericComponent, useExisting: VisBulletLegendComponent }],
|
|
2508
2524
|
}]
|
|
@@ -2523,6 +2539,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
2523
2539
|
type: Input
|
|
2524
2540
|
}], bulletShape: [{
|
|
2525
2541
|
type: Input
|
|
2542
|
+
}], orientation: [{
|
|
2543
|
+
type: Input
|
|
2526
2544
|
}] } });
|
|
2527
2545
|
|
|
2528
2546
|
// !!! This code was automatically generated. You should not change it !!!
|