@rocketshow/designer 1.33.0 → 1.35.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.
- package/assets/i18n/de.json +2 -1
- package/assets/i18n/en.json +2 -1
- package/esm2022/lib/designer.component.mjs +197 -130
- package/esm2022/lib/designer.module.mjs +5 -2
- package/esm2022/lib/dropzone/dropzone.component.mjs +93 -0
- package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +14 -6
- package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +5 -5
- package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +6 -4
- package/esm2022/lib/fixture/fixture.component.mjs +25 -15
- package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +4 -4
- package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +75 -21
- package/esm2022/lib/models/cached-fixture.mjs +1 -1
- package/esm2022/lib/models/fixture-matrix-pixel-group-constraints.mjs +27 -0
- package/esm2022/lib/models/fixture-matrix-pixel-group.mjs +12 -0
- package/esm2022/lib/models/fixture-matrix.mjs +25 -0
- package/esm2022/lib/models/fixture-mode-channel.mjs +26 -0
- package/esm2022/lib/models/fixture-mode.mjs +5 -2
- package/esm2022/lib/models/fixture-physical.mjs +14 -0
- package/esm2022/lib/models/fixture-profile.mjs +16 -1
- package/esm2022/lib/models/fixture.mjs +2 -2
- package/esm2022/lib/models/preset-fixture.mjs +10 -0
- package/esm2022/lib/models/preset.mjs +10 -1
- package/esm2022/lib/models/project.mjs +11 -1
- package/esm2022/lib/preview/models/color-changer-3d.mjs +5 -108
- package/esm2022/lib/preview/models/fixture-3d.mjs +125 -1
- package/esm2022/lib/preview/models/moving-head-3d.mjs +3 -122
- package/esm2022/lib/preview/preview.component.mjs +21 -14
- package/esm2022/lib/services/config.service.mjs +2 -1
- package/esm2022/lib/services/fixture.service.mjs +251 -43
- package/esm2022/lib/services/preset.service.mjs +91 -42
- package/esm2022/lib/services/preview.service.mjs +65 -64
- package/esm2022/lib/services/project-load.service.mjs +64 -4
- package/esm2022/lib/services/project.service.mjs +11 -15
- package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +14 -44
- package/fesm2022/rocketshow-designer.mjs +1336 -791
- package/fesm2022/rocketshow-designer.mjs.map +1 -1
- package/lib/designer.component.d.ts +5 -5
- package/lib/designer.module.d.ts +15 -14
- package/lib/dropzone/dropzone.component.d.ts +24 -0
- package/lib/fixture/fixture.component.d.ts +4 -3
- package/lib/models/cached-fixture.d.ts +1 -0
- package/lib/models/fixture-matrix-pixel-group-constraints.d.ts +8 -0
- package/lib/models/fixture-matrix-pixel-group.d.ts +6 -0
- package/lib/models/fixture-matrix.d.ts +6 -0
- package/lib/models/fixture-mode-channel.d.ts +8 -0
- package/lib/models/fixture-mode.d.ts +3 -1
- package/lib/models/fixture-physical.d.ts +4 -0
- package/lib/models/fixture-profile.d.ts +5 -0
- package/lib/models/preset-fixture.d.ts +5 -0
- package/lib/models/preset.d.ts +2 -0
- package/lib/models/project.d.ts +3 -0
- package/lib/preview/models/color-changer-3d.d.ts +1 -11
- package/lib/preview/models/fixture-3d.d.ts +11 -0
- package/lib/preview/models/moving-head-3d.d.ts +1 -11
- package/lib/services/config.service.d.ts +1 -0
- package/lib/services/fixture.service.d.ts +7 -2
- package/lib/services/preset.service.d.ts +4 -2
- package/lib/services/preview.service.d.ts +2 -4
- package/lib/services/project-load.service.d.ts +5 -1
- package/lib/services/project.service.d.ts +2 -3
- package/lib/services/timeline.service.d.ts +1 -1
- package/lib/timeline/composition-settings/composition-settings.component.d.ts +2 -1
- package/package.json +1 -1
- package/rocketshow-designer-1.35.0.tgz +0 -0
- package/esm2022/lib/models/universe.mjs +0 -11
- package/esm2022/lib/services/universe.service.mjs +0 -23
- package/lib/models/universe.d.ts +0 -8
- package/lib/services/universe.service.d.ts +0 -9
- package/rocketshow-designer-1.33.0.tgz +0 -0
|
@@ -29,11 +29,15 @@ export class PreviewComponent {
|
|
|
29
29
|
this.projectService = projectService;
|
|
30
30
|
this.fixtures3d = [];
|
|
31
31
|
this.previewService.doUpdateFixtureSetup.subscribe(() => {
|
|
32
|
-
// synchronize the 3d-fixtures to the project fixtures
|
|
33
32
|
this.syncFixtures();
|
|
34
33
|
});
|
|
34
|
+
this.syncFixtures();
|
|
35
35
|
}
|
|
36
|
+
// synchronize the 3d-fixtures to the project fixtures
|
|
36
37
|
syncFixtures() {
|
|
38
|
+
if (!this.previewService.scene) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
37
41
|
// remove all fixtures
|
|
38
42
|
for (const fixture3d of this.fixtures3d) {
|
|
39
43
|
fixture3d.destroy();
|
|
@@ -63,16 +67,18 @@ export class PreviewComponent {
|
|
|
63
67
|
updateStagePosition(positioning, xMin, xMax, yMin, yMax, zMin, zMax) {
|
|
64
68
|
let positionCount = 0; // Number of fixtures in the same position
|
|
65
69
|
let positionIndex = 1;
|
|
66
|
-
this.projectService.project.
|
|
67
|
-
|
|
70
|
+
this.projectService.project.presetFixtures.forEach((element, index) => {
|
|
71
|
+
const fixture = this.fixtureService.getFixtureByUuid(element.fixtureUuid);
|
|
72
|
+
if (fixture.positioning === positioning) {
|
|
68
73
|
positionCount++;
|
|
69
74
|
}
|
|
70
75
|
});
|
|
71
|
-
this.projectService.project.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
this.projectService.project.presetFixtures.forEach((element, index) => {
|
|
77
|
+
const fixture = this.fixtureService.getFixtureByUuid(element.fixtureUuid);
|
|
78
|
+
if (fixture.positioning === positioning) {
|
|
79
|
+
fixture.positionX = xMin + ((xMax - xMin) / (positionCount + 1)) * positionIndex;
|
|
80
|
+
fixture.positionY = yMin + ((yMax - yMin) / (positionCount + 1)) * positionIndex;
|
|
81
|
+
fixture.positionZ = zMin + ((zMax - zMin) / (positionCount + 1)) * positionIndex;
|
|
76
82
|
positionIndex++;
|
|
77
83
|
}
|
|
78
84
|
});
|
|
@@ -104,7 +110,7 @@ export class PreviewComponent {
|
|
|
104
110
|
fixture3d.isSelected = this.fixtureService.settingsFixtureIsSelected(fixture3d.fixture.fixture);
|
|
105
111
|
}
|
|
106
112
|
else {
|
|
107
|
-
fixture3d.isSelected = this.previewService.fixtureIsSelected(fixture3d.fixture.fixture.uuid, presets);
|
|
113
|
+
fixture3d.isSelected = this.previewService.fixtureIsSelected(fixture3d.fixture.fixture.uuid, fixture3d.fixture.pixelKey, presets);
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
116
|
// TODO enable for monitoring the DMX universes
|
|
@@ -160,14 +166,14 @@ export class PreviewComponent {
|
|
|
160
166
|
// this.scene.fog = new THREE.FogExp2( 0x000000, 0.1 );
|
|
161
167
|
this.previewService.scene = this.scene;
|
|
162
168
|
// Add a little bit of ambient light
|
|
163
|
-
const ambient = new THREE.AmbientLight(0xffffff, 1.
|
|
169
|
+
const ambient = new THREE.AmbientLight(0xffffff, 1.8);
|
|
164
170
|
this.scene.add(ambient);
|
|
165
171
|
// Create the stage dimensions
|
|
166
172
|
this.previewService.updateStage();
|
|
167
173
|
const lights = [];
|
|
168
|
-
lights[0] = new THREE.PointLight(0xffffff,
|
|
169
|
-
lights[1] = new THREE.PointLight(0xffffff,
|
|
170
|
-
lights[2] = new THREE.PointLight(0xffffff,
|
|
174
|
+
lights[0] = new THREE.PointLight(0xffffff, 2, 0, 0.1);
|
|
175
|
+
lights[1] = new THREE.PointLight(0xffffff, 2, 0, 0.1);
|
|
176
|
+
lights[2] = new THREE.PointLight(0xffffff, 2, 0, 0.1);
|
|
171
177
|
lights[0].position.set(0, 2000, 0);
|
|
172
178
|
lights[1].position.set(1000, 2000, 1000);
|
|
173
179
|
lights[2].position.set(-1000, -2000, -1000);
|
|
@@ -177,6 +183,7 @@ export class PreviewComponent {
|
|
|
177
183
|
this.scene.add(lights[0]);
|
|
178
184
|
this.scene.add(lights[1]);
|
|
179
185
|
this.scene.add(lights[2]);
|
|
186
|
+
this.previewService.updateFixtureSetup();
|
|
180
187
|
}
|
|
181
188
|
ngAfterViewInit() {
|
|
182
189
|
this.setupRenderer();
|
|
@@ -209,4 +216,4 @@ export class PreviewComponent {
|
|
|
209
216
|
args: ['window:resize']
|
|
210
217
|
}] }); })();
|
|
211
218
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PreviewComponent, { className: "PreviewComponent" }); })();
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3ByZXZpZXcvcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3ByZXZpZXcvcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsZ0JBQWtDLEVB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SUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVsQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFdEQsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDNUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDNUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztpRkE1UFUsZ0JBQWdCO29FQUFoQixnQkFBZ0I7Ozs7OztZQUFoQix1RkFBQSxjQUFVLCtCQUFNOztZQ3BCN0IsNEJBQTBEOzs7aUZEb0I3QyxnQkFBZ0I7Y0FMNUIsU0FBUzsyQkFDRSxpQkFBaUI7dU1BYW5CLFNBQVM7a0JBRGhCLFNBQVM7bUJBQUMsUUFBUTtZQXNLWixRQUFRO2tCQURkLFlBQVk7bUJBQUMsZUFBZTs7a0ZBN0tsQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBPcmJpdENvbnRyb2xzIH0gZnJvbSAndGhyZWUvZXhhbXBsZXMvanNtL2NvbnRyb2xzL09yYml0Q29udHJvbHMnO1xuaW1wb3J0IHsgRml4dHVyZUNhdGVnb3J5IH0gZnJvbSAnLi4vbW9kZWxzL2ZpeHR1cmUtcHJvZmlsZSc7XG5pbXBvcnQgeyBGaXh0dXJlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ZpeHR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBQcmV2aWV3TWVzaFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcmV2aWV3LW1lc2guc2VydmljZSc7XG5pbXBvcnQgeyBQcmV2aWV3U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3ByZXZpZXcuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XG5pbXBvcnQgeyBUaW1lbGluZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90aW1lbGluZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvc2l0aW9uaW5nIH0gZnJvbSAnLi8uLi9tb2RlbHMvZml4dHVyZSc7XG5pbXBvcnQgeyBBbmltYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9hbmltYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb2xvckNoYW5nZXIzZCB9IGZyb20gJy4vbW9kZWxzL2NvbG9yLWNoYW5nZXItM2QnO1xuaW1wb3J0IHsgRml4dHVyZTNkIH0gZnJvbSAnLi9tb2RlbHMvZml4dHVyZS0zZCc7XG5pbXBvcnQgeyBNb3ZpbmdIZWFkM2QgfSBmcm9tICcuL21vZGVscy9tb3ZpbmctaGVhZC0zZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hcHAtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJldmlldy5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZW5kZXJlcjogVEhSRUUuV2ViR0xSZW5kZXJlcjtcbiAgcHJpdmF0ZSBzY2VuZTogVEhSRUUuU2NlbmU7XG4gIHByaXZhdGUgY2FtZXJhOiBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYTtcbiAgcHVibGljIGNvbnRyb2xzOiBPcmJpdENvbnRyb2xzO1xuXG4gIHByaXZhdGUgZml4dHVyZXMzZDogRml4dHVyZTNkW10gPSBbXTtcblxuICBAVmlld0NoaWxkKCdjYW52YXMnKVxuICBwcml2YXRlIGNhbnZhc1JlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZpeHR1cmVTZXJ2aWNlOiBGaXh0dXJlU2VydmljZSxcbiAgICBwcml2YXRlIHByZXZpZXdNZXNoU2VydmljZTogUHJldmlld01lc2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgYW5pbWF0aW9uU2VydmljZTogQW5pbWF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHByZXZpZXdTZXJ2aWNlOiBQcmV2aWV3U2VydmljZSxcbiAgICBwcml2YXRlIHRpbWVsaW5lU2VydmljZTogVGltZWxpbmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvamVjdFNlcnZpY2U6IFByb2plY3RTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMucHJldmlld1NlcnZpY2UuZG9VcGRhdGVGaXh0dXJlU2V0dXAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIC8vIHN5bmNocm9uaXplIHRoZSAzZC1maXh0dXJlcyB0byB0aGUgcHJvamVjdCBmaXh0dXJlc1xuICAgICAgdGhpcy5zeW5jRml4dHVyZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3luY0ZpeHR1cmVzKCkge1xuICAgIC8vIHJlbW92ZSBhbGwgZml4dHVyZXNcbiAgICBmb3IgKGNvbnN0IGZpeHR1cmUzZCBvZiB0aGlzLmZpeHR1cmVzM2QpIHtcbiAgICAgIGZpeHR1cmUzZC5kZXN0cm95KCk7XG4gICAgfVxuICAgIHRoaXMuZml4dHVyZXMzZCA9IFtdO1xuXG4gICAgLy8gYWRkIGFsbCBmaXh0dXJlcyBmcm9tIHRoZSBwcm9qZWN0XG4gICAgZm9yIChjb25zdCBmaXh0dXJlIG9mIHRoaXMuZml4dHVyZVNlcnZpY2UuY2FjaGVkRml4dHVyZXMpIHtcbiAgICAgIHN3aXRjaCAoZml4dHVyZS5wcm9maWxlLmNhdGVnb3JpZXNbMF0pIHtcbiAgICAgICAgY2FzZSBGaXh0dXJlQ2F0ZWdvcnlbJ01vdmluZyBIZWFkJ106XG4gICAgICAgICAgdGhpcy5maXh0dXJlczNkLnB1c2gobmV3IE1vdmluZ0hlYWQzZCh0aGlzLmZpeHR1cmVTZXJ2aWNlLCB0aGlzLnByZXZpZXdNZXNoU2VydmljZSwgZml4dHVyZSwgdGhpcy5zY2VuZSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEZpeHR1cmVDYXRlZ29yeVsnQ29sb3IgQ2hhbmdlciddOlxuICAgICAgICAgIHRoaXMuZml4dHVyZXMzZC5wdXNoKG5ldyBDb2xvckNoYW5nZXIzZCh0aGlzLmZpeHR1cmVTZXJ2aWNlLCB0aGlzLnByZXZpZXdNZXNoU2VydmljZSwgZml4dHVyZSwgdGhpcy5zY2VuZSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEZpeHR1cmVDYXRlZ29yeVsnQmxpbmRlciddOlxuICAgICAgICAgIHRoaXMuZml4dHVyZXMzZC5wdXNoKG5ldyBDb2xvckNoYW5nZXIzZCh0aGlzLmZpeHR1cmVTZXJ2aWNlLCB0aGlzLnByZXZpZXdNZXNoU2VydmljZSwgZml4dHVyZSwgdGhpcy5zY2VuZSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNhbnZhcygpOiBIVE1MQ2FudmFzRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuY2FudmFzUmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcigpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbmRlcih0aGlzLnNjZW5lLCB0aGlzLmNhbWVyYSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0YWdlUG9zaXRpb24oXG4gICAgcG9zaXRpb25pbmc6IFBvc2l0aW9uaW5nLFxuICAgIHhNaW46IG51bWJlcixcbiAgICB4TWF4OiBudW1iZXIsXG4gICAgeU1pbjogbnVtYmVyLFxuICAgIHlNYXg6IG51bWJlcixcbiAgICB6TWluOiBudW1iZXIsXG4gICAgek1heDogbnVtYmVyXG4gICkge1xuICAgIGxldCBwb3NpdGlvbkNvdW50ID0gMDsgLy8gTnVtYmVyIG9mIGZpeHR1cmVzIGluIHRoZSBzYW1lIHBvc2l0aW9uXG4gICAgbGV0IHBvc2l0aW9uSW5kZXggPSAxO1xuXG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LmZpeHR1cmVzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoZWxlbWVudC5wb3NpdGlvbmluZyA9PT0gcG9zaXRpb25pbmcpIHtcbiAgICAgICAgcG9zaXRpb25Db3VudCsrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LmZpeHR1cmVzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoZWxlbWVudC5wb3NpdGlvbmluZyA9PT0gcG9zaXRpb25pbmcpIHtcbiAgICAgICAgZWxlbWVudC5wb3NpdGlvblggPSB4TWluICsgKCh4TWF4IC0geE1pbikgLyAocG9zaXRpb25Db3VudCArIDEpKSAqIHBvc2l0aW9uSW5kZXg7XG4gICAgICAgIGVsZW1lbnQucG9zaXRpb25ZID0geU1pbiArICgoeU1heCAtIHlNaW4pIC8gKHBvc2l0aW9uQ291bnQgKyAxKSkgKiBwb3NpdGlvbkluZGV4O1xuICAgICAgICBlbGVtZW50LnBvc2l0aW9uWiA9IHpNaW4gKyAoKHpNYXggLSB6TWluKSAvIChwb3NpdGlvbkNvdW50ICsgMSkpICogcG9zaXRpb25JbmRleDtcblxuICAgICAgICBwb3NpdGlvbkluZGV4Kys7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFuaW1hdGUodGltZU1pbGxpczogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMudGltZWxpbmVTZXJ2aWNlLnBsYXlTdGF0ZSA9PT0gJ3BsYXlpbmcnKSB7XG4gICAgICAvLyBPdmVyd3JpdGUgdGhlIGN1cnJlbnQgdGltZSB3aXRoIHRoZSBwbGF5aW5nIHRpbWUsIGlmIHdlJ3JlIGluIHBsYXliYWNrIG1vZGVcbiAgICAgIHRpbWVNaWxsaXMgPSB0aGlzLnRpbWVsaW5lU2VydmljZS53YXZlU3VyZmVyLmdldEN1cnJlbnRUaW1lKCkgKiAxMDAwO1xuICAgIH1cblxuICAgIHRoaXMuYW5pbWF0aW9uU2VydmljZS50aW1lTWlsbGlzID0gdGltZU1pbGxpcztcblxuICAgIC8vIFVwZGF0ZSB0aGUgY29udHJvbHNcbiAgICBpZiAodGhpcy5jb250cm9scykge1xuICAgICAgdGhpcy5jb250cm9scy51cGRhdGUoKTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9uc1xuICAgIHRoaXMudXBkYXRlU3RhZ2VQb3NpdGlvbihcbiAgICAgIFBvc2l0aW9uaW5nLnRvcEZyb250LFxuICAgICAgLXRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVdpZHRoQ20gLyAyLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSAvIDIsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VIZWlnaHRDbSArIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q20sXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VIZWlnaHRDbSArIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q20sXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VEZXB0aENtIC8gMiAtIDcwLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRGVwdGhDbSAvIDIgLSA3MFxuICAgICk7XG4gICAgdGhpcy51cGRhdGVTdGFnZVBvc2l0aW9uKFxuICAgICAgUG9zaXRpb25pbmcuYm90dG9tRnJvbnQsXG4gICAgICAtdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSAvIDIsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VXaWR0aENtIC8gMixcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q20sXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VGbG9vckhlaWdodENtLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRGVwdGhDbSAvIDIgLSA3MCxcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZURlcHRoQ20gLyAyIC0gNzBcbiAgICApO1xuICAgIHRoaXMudXBkYXRlU3RhZ2VQb3NpdGlvbihcbiAgICAgIFBvc2l0aW9uaW5nLnRvcEJhY2ssXG4gICAgICAtdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSAvIDIsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VXaWR0aENtIC8gMixcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUhlaWdodENtICsgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRmxvb3JIZWlnaHRDbSxcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUhlaWdodENtICsgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRmxvb3JIZWlnaHRDbSxcbiAgICAgIC10aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VEZXB0aENtIC8gMiArIDcwLFxuICAgICAgLXRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZURlcHRoQ20gLyAyICsgNzBcbiAgICApO1xuICAgIHRoaXMudXBkYXRlU3RhZ2VQb3NpdGlvbihcbiAgICAgIFBvc2l0aW9uaW5nLmJvdHRvbUJhY2ssXG4gICAgICAtdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSAvIDIsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VXaWR0aENtIC8gMixcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q20sXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VGbG9vckhlaWdodENtLFxuICAgICAgLXRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZURlcHRoQ20gLyAyICsgNzAsXG4gICAgICAtdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRGVwdGhDbSAvIDIgKyA3MFxuICAgICk7XG5cbiAgICAvLyBVcGRhdGUgYWxsIGZpeHR1cmVzIGFuZCBhcHBseSB0aGUgcHJldmlldyBwcm9wZXJ0aWVzLCBpZiBhdmFpbGFibGVcbiAgICAvLyBUT0RPIFVwZGF0ZSB0aGUgZml4dHVyZXMgb25seSBlLmcuIDQwIHRpbWVzIHBlciBzZWNvbmQgYWNjb3JkaW5nIHRvIHRoZSBcInJlYWxcIiByZWZyZXNoIHJhdGUgb2YgdGhlIERNWCBpbnRlcmZhY2U/XG4gICAgY29uc3QgcHJlc2V0cyA9IHRoaXMucHJldmlld1NlcnZpY2UuZ2V0UHJlc2V0cyh0aW1lTWlsbGlzKTtcblxuICAgIGNvbnN0IGNhbGN1bGF0ZWRGaXh0dXJlcyA9IHRoaXMucHJldmlld1NlcnZpY2UuZ2V0Q2hhbm5lbFZhbHVlcyh0aW1lTWlsbGlzLCBwcmVzZXRzKTtcblxuICAgIGZvciAoY29uc3QgZml4dHVyZTNkIG9mIHRoaXMuZml4dHVyZXMzZCkge1xuICAgICAgLy8gVXBkYXRlIHRoZSBmaXh0dXJlIHByb3BlcnRpZXNcbiAgICAgIGZpeHR1cmUzZC51cGRhdGVQcmV2aWV3KGNhbGN1bGF0ZWRGaXh0dXJlcy5nZXQoZml4dHVyZTNkLmZpeHR1cmUpIHx8IFtdLCB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QubWFzdGVyRGltbWVyVmFsdWUpO1xuXG4gICAgICAvLyBTZWxlY3QgdGhlIGZpeHR1cmUsIGlmIHJlcXVpcmVkXG4gICAgICBpZiAodGhpcy5maXh0dXJlU2VydmljZS5zZXR0aW5nc1NlbGVjdGlvbikge1xuICAgICAgICBmaXh0dXJlM2QuaXNTZWxlY3RlZCA9IHRoaXMuZml4dHVyZVNlcnZpY2Uuc2V0dGluZ3NGaXh0dXJlSXNTZWxlY3RlZChmaXh0dXJlM2QuZml4dHVyZS5maXh0dXJlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpeHR1cmUzZC5pc1NlbGVjdGVkID0gdGhpcy5wcmV2aWV3U2VydmljZS5maXh0dXJlSXNTZWxlY3RlZChmaXh0dXJlM2QuZml4dHVyZS5maXh0dXJlLnV1aWQsIHByZXNldHMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE8gZW5hYmxlIGZvciBtb25pdG9yaW5nIHRoZSBETVggdW5pdmVyc2VzXG4gICAgdGhpcy5wcmV2aWV3U2VydmljZS5zZXRVbml2ZXJzZVZhbHVlcyhjYWxjdWxhdGVkRml4dHVyZXMsIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5tYXN0ZXJEaW1tZXJWYWx1ZSk7XG5cbiAgICAvLyBSZW5kZXIgdGhlIHNjZW5lXG4gICAgdGhpcy5yZW5kZXIoKTtcblxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLmFuaW1hdGUuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFzcGVjdFJhdGlvKCk6IG51bWJlciB7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5jYW52YXMuY2xpZW50SGVpZ2h0O1xuXG4gICAgaWYgKGhlaWdodCA9PT0gMCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FudmFzLmNsaWVudFdpZHRoIC8gdGhpcy5jYW52YXMuY2xpZW50SGVpZ2h0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHB1YmxpYyBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLmNhbWVyYS5hc3BlY3QgPSB0aGlzLmdldEFzcGVjdFJhdGlvKCk7XG4gICAgdGhpcy5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U2l6ZSh0aGlzLmNhbnZhcy5jbGllbnRXaWR0aCwgdGhpcy5jYW52YXMuY2xpZW50SGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBSZW5kZXJlcigpIHtcbiAgICB0aGlzLnJlbmRlcmVyID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoeyBhbnRpYWxpYXM6IHRydWUgfSk7XG4gICAgdGhpcy5jYW52YXMuYXBwZW5kQ2hpbGQodGhpcy5yZW5kZXJlci5kb21FbGVtZW50KTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFBpeGVsUmF0aW8oZGV2aWNlUGl4ZWxSYXRpbyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTaXplKHRoaXMuY2FudmFzLmNsaWVudFdpZHRoLCB0aGlzLmNhbnZhcy5jbGllbnRIZWlnaHQpO1xuICAgIC8vIHRoaXMucmVuZGVyZXIuc2hhZG93TWFwLmVuYWJsZWQgPSB0cnVlO1xuICAgIC8vIHRoaXMucmVuZGVyZXIuZ2FtbWFJbnB1dCA9IHRydWU7XG4gICAgLy8gdGhpcy5yZW5kZXJlci5nYW1tYU91dHB1dCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQ2FtZXJhKCkge1xuICAgIHRoaXMuY2FtZXJhID0gbmV3IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhKDM1LCB3aW5kb3cuaW5uZXJXaWR0aCAvIHdpbmRvdy5pbm5lckhlaWdodCwgMSwgMTAwMDApO1xuICAgIHRoaXMuY2FtZXJhLnBvc2l0aW9uLnNldCgtNjAwLCA4MCwgNzAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb250cm9scygpIHtcbiAgICB0aGlzLmNvbnRyb2xzID0gbmV3IE9yYml0Q29udHJvbHModGhpcy5jYW1lcmEsIHRoaXMucmVuZGVyZXIuZG9tRWxlbWVudCk7XG4gICAgdGhpcy5jb250cm9scy5lbmFibGVLZXlzID0gZmFsc2U7XG4gICAgdGhpcy5jb250cm9scy5yb3RhdGVTcGVlZCA9IDAuMDU7XG4gICAgdGhpcy5jb250cm9scy56b29tU3BlZWQgPSAxLjI7XG4gICAgdGhpcy5jb250cm9scy5lbmFibGVEYW1waW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNvbnRyb2xzLmRhbXBpbmdGYWN0b3IgPSAwLjI1O1xuICAgIHRoaXMuY29udHJvbHMuc2NyZWVuU3BhY2VQYW5uaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jb250cm9scy5taW5EaXN0YW5jZSA9IDcwMDtcbiAgICAvLyB0aGlzLmNvbnRyb2xzLnpvb20gPSAxMDAwO1xuICAgIHRoaXMuY29udHJvbHMubWF4RGlzdGFuY2UgPSAyMDAwO1xuICAgIHRoaXMuY29udHJvbHMubWF4UG9sYXJBbmdsZSA9IE1hdGguUEkgLyAyO1xuICAgIHRoaXMuY29udHJvbHMudGFyZ2V0ID0gbmV3IFRIUkVFLlZlY3RvcjMoMCwgMjAwLCAwKTtcbiAgICAvLyB0aGlzLmNvbnRyb2xzLnJvdGF0aW9uID0gMTAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFNjZW5lKCkge1xuICAgIC8vIENyZWF0ZSBhIG5ldyBzY2VuZVxuICAgIHRoaXMuc2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKTtcbiAgICAvLyB0aGlzLnNjZW5lLmJhY2tncm91bmQgPSBuZXcgVEhSRUUuQ29sb3IoMHgwODA4MDgpO1xuICAgIC8vIHRoaXMuc2NlbmUuZm9nXHQ9IG5ldyBUSFJFRS5Gb2dFeHAyKCAweDAwMDAwMCwgMC4xICk7XG5cbiAgICB0aGlzLnByZXZpZXdTZXJ2aWNlLnNjZW5lID0gdGhpcy5zY2VuZTtcblxuICAgIC8vIEFkZCBhIGxpdHRsZSBiaXQgb2YgYW1iaWVudCBsaWdodFxuICAgIGNvbnN0IGFtYmllbnQgPSBuZXcgVEhSRUUuQW1iaWVudExpZ2h0KDB4ZmZmZmZmLCAxLjUpO1xuICAgIHRoaXMuc2NlbmUuYWRkKGFtYmllbnQpO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBzdGFnZSBkaW1lbnNpb25zXG4gICAgdGhpcy5wcmV2aWV3U2VydmljZS51cGRhdGVTdGFnZSgpO1xuXG4gICAgY29uc3QgbGlnaHRzID0gW107XG4gICAgbGlnaHRzWzBdID0gbmV3IFRIUkVFLlBvaW50TGlnaHQoMHhmZmZmZmYsIDEsIDAsIDAuMSk7XG4gICAgbGlnaHRzWzFdID0gbmV3IFRIUkVFLlBvaW50TGlnaHQoMHhmZmZmZmYsIDEsIDAsIDAuMSk7XG4gICAgbGlnaHRzWzJdID0gbmV3IFRIUkVFLlBvaW50TGlnaHQoMHhmZmZmZmYsIDEsIDAsIDAuMSk7XG5cbiAgICBsaWdodHNbMF0ucG9zaXRpb24uc2V0KDAsIDIwMDAsIDApO1xuICAgIGxpZ2h0c1sxXS5wb3NpdGlvbi5zZXQoMTAwMCwgMjAwMCwgMTAwMCk7XG4gICAgbGlnaHRzWzJdLnBvc2l0aW9uLnNldCgtMTAwMCwgLTIwMDAsIC0xMDAwKTtcblxuICAgIGxpZ2h0c1swXS5jYXN0U2hhZG93ID0gdHJ1ZTtcbiAgICBsaWdodHNbMV0uY2FzdFNoYWRvdyA9IHRydWU7XG4gICAgbGlnaHRzWzJdLmNhc3RTaGFkb3cgPSB0cnVlO1xuXG4gICAgdGhpcy5zY2VuZS5hZGQobGlnaHRzWzBdKTtcbiAgICB0aGlzLnNjZW5lLmFkZChsaWdodHNbMV0pO1xuICAgIHRoaXMuc2NlbmUuYWRkKGxpZ2h0c1syXSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cFJlbmRlcmVyKCk7XG4gICAgdGhpcy5zZXR1cENhbWVyYSgpO1xuICAgIHRoaXMuc2V0dXBDb250cm9scygpO1xuICAgIHRoaXMuc2V0dXBTY2VuZSgpO1xuXG4gICAgdGhpcy5vblJlc2l6ZSgpO1xuICAgIHRoaXMuYW5pbWF0ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtMTAwXCIgI2NhbnZhcyBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj48L2Rpdj5cbiJdfQ==
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3ByZXZpZXcvcHJldmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3ByZXZpZXcvcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7O0FBT3ZELE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsWUFDVSxjQUE4QixFQUM5QixrQkFBc0MsRUFDdEMsZ0JBQWtDLEVB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LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgT3JiaXRDb250cm9scyB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS9jb250cm9scy9PcmJpdENvbnRyb2xzJztcbmltcG9ydCB7IEZpeHR1cmVDYXRlZ29yeSB9IGZyb20gJy4uL21vZGVscy9maXh0dXJlLXByb2ZpbGUnO1xuaW1wb3J0IHsgRml4dHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9maXh0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJldmlld01lc2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcHJldmlldy1tZXNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJldmlld1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcmV2aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvamVjdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9qZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGltZWxpbmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGltZWxpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBQb3NpdGlvbmluZyB9IGZyb20gJy4vLi4vbW9kZWxzL2ZpeHR1cmUnO1xuaW1wb3J0IHsgQW5pbWF0aW9uU2VydmljZSB9IGZyb20gJy4vLi4vc2VydmljZXMvYW5pbWF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29sb3JDaGFuZ2VyM2QgfSBmcm9tICcuL21vZGVscy9jb2xvci1jaGFuZ2VyLTNkJztcbmltcG9ydCB7IEZpeHR1cmUzZCB9IGZyb20gJy4vbW9kZWxzL2ZpeHR1cmUtM2QnO1xuaW1wb3J0IHsgTW92aW5nSGVhZDNkIH0gZnJvbSAnLi9tb2RlbHMvbW92aW5nLWhlYWQtM2QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ByZXZpZXcuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFRIUkVFLldlYkdMUmVuZGVyZXI7XG4gIHByaXZhdGUgc2NlbmU6IFRIUkVFLlNjZW5lO1xuICBwcml2YXRlIGNhbWVyYTogVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmE7XG4gIHB1YmxpYyBjb250cm9sczogT3JiaXRDb250cm9scztcblxuICBwcml2YXRlIGZpeHR1cmVzM2Q6IEZpeHR1cmUzZFtdID0gW107XG5cbiAgQFZpZXdDaGlsZCgnY2FudmFzJylcbiAgcHJpdmF0ZSBjYW52YXNSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmaXh0dXJlU2VydmljZTogRml4dHVyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmV2aWV3TWVzaFNlcnZpY2U6IFByZXZpZXdNZXNoU2VydmljZSxcbiAgICBwcml2YXRlIGFuaW1hdGlvblNlcnZpY2U6IEFuaW1hdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmV2aWV3U2VydmljZTogUHJldmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0aW1lbGluZVNlcnZpY2U6IFRpbWVsaW5lU2VydmljZSxcbiAgICBwcml2YXRlIHByb2plY3RTZXJ2aWNlOiBQcm9qZWN0U2VydmljZVxuICApIHtcbiAgICB0aGlzLnByZXZpZXdTZXJ2aWNlLmRvVXBkYXRlRml4dHVyZVNldHVwLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnN5bmNGaXh0dXJlcygpO1xuICAgIH0pO1xuICAgIHRoaXMuc3luY0ZpeHR1cmVzKCk7XG4gIH1cblxuICAvLyBzeW5jaHJvbml6ZSB0aGUgM2QtZml4dHVyZXMgdG8gdGhlIHByb2plY3QgZml4dHVyZXNcbiAgcHJpdmF0ZSBzeW5jRml4dHVyZXMoKSB7XG4gICAgaWYgKCF0aGlzLnByZXZpZXdTZXJ2aWNlLnNjZW5lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIGFsbCBmaXh0dXJlc1xuICAgIGZvciAoY29uc3QgZml4dHVyZTNkIG9mIHRoaXMuZml4dHVyZXMzZCkge1xuICAgICAgZml4dHVyZTNkLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgdGhpcy5maXh0dXJlczNkID0gW107XG5cbiAgICAvLyBhZGQgYWxsIGZpeHR1cmVzIGZyb20gdGhlIHByb2plY3RcbiAgICBmb3IgKGNvbnN0IGZpeHR1cmUgb2YgdGhpcy5maXh0dXJlU2VydmljZS5jYWNoZWRGaXh0dXJlcykge1xuICAgICAgc3dpdGNoIChmaXh0dXJlLnByb2ZpbGUuY2F0ZWdvcmllc1swXSkge1xuICAgICAgICBjYXNlIEZpeHR1cmVDYXRlZ29yeVsnTW92aW5nIEhlYWQnXTpcbiAgICAgICAgICB0aGlzLmZpeHR1cmVzM2QucHVzaChuZXcgTW92aW5nSGVhZDNkKHRoaXMuZml4dHVyZVNlcnZpY2UsIHRoaXMucHJldmlld01lc2hTZXJ2aWNlLCBmaXh0dXJlLCB0aGlzLnNjZW5lKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRml4dHVyZUNhdGVnb3J5WydDb2xvciBDaGFuZ2VyJ106XG4gICAgICAgICAgdGhpcy5maXh0dXJlczNkLnB1c2gobmV3IENvbG9yQ2hhbmdlcjNkKHRoaXMuZml4dHVyZVNlcnZpY2UsIHRoaXMucHJldmlld01lc2hTZXJ2aWNlLCBmaXh0dXJlLCB0aGlzLnNjZW5lKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgRml4dHVyZUNhdGVnb3J5WydCbGluZGVyJ106XG4gICAgICAgICAgdGhpcy5maXh0dXJlczNkLnB1c2gobmV3IENvbG9yQ2hhbmdlcjNkKHRoaXMuZml4dHVyZVNlcnZpY2UsIHRoaXMucHJldmlld01lc2hTZXJ2aWNlLCBmaXh0dXJlLCB0aGlzLnNjZW5lKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY2FudmFzKCk6IEhUTUxDYW52YXNFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKCkge1xuICAgIHRoaXMucmVuZGVyZXIucmVuZGVyKHRoaXMuc2NlbmUsIHRoaXMuY2FtZXJhKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhZ2VQb3NpdGlvbihcbiAgICBwb3NpdGlvbmluZzogUG9zaXRpb25pbmcsXG4gICAgeE1pbjogbnVtYmVyLFxuICAgIHhNYXg6IG51bWJlcixcbiAgICB5TWluOiBudW1iZXIsXG4gICAgeU1heDogbnVtYmVyLFxuICAgIHpNaW46IG51bWJlcixcbiAgICB6TWF4OiBudW1iZXJcbiAgKSB7XG4gICAgbGV0IHBvc2l0aW9uQ291bnQgPSAwOyAvLyBOdW1iZXIgb2YgZml4dHVyZXMgaW4gdGhlIHNhbWUgcG9zaXRpb25cbiAgICBsZXQgcG9zaXRpb25JbmRleCA9IDE7XG5cbiAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3QucHJlc2V0Rml4dHVyZXMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGZpeHR1cmUgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLmdldEZpeHR1cmVCeVV1aWQoZWxlbWVudC5maXh0dXJlVXVpZCk7XG4gICAgICBpZiAoZml4dHVyZS5wb3NpdGlvbmluZyA9PT0gcG9zaXRpb25pbmcpIHtcbiAgICAgICAgcG9zaXRpb25Db3VudCsrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnByZXNldEZpeHR1cmVzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBmaXh0dXJlID0gdGhpcy5maXh0dXJlU2VydmljZS5nZXRGaXh0dXJlQnlVdWlkKGVsZW1lbnQuZml4dHVyZVV1aWQpO1xuICAgICAgaWYgKGZpeHR1cmUucG9zaXRpb25pbmcgPT09IHBvc2l0aW9uaW5nKSB7XG4gICAgICAgIGZpeHR1cmUucG9zaXRpb25YID0geE1pbiArICgoeE1heCAtIHhNaW4pIC8gKHBvc2l0aW9uQ291bnQgKyAxKSkgKiBwb3NpdGlvbkluZGV4O1xuICAgICAgICBmaXh0dXJlLnBvc2l0aW9uWSA9IHlNaW4gKyAoKHlNYXggLSB5TWluKSAvIChwb3NpdGlvbkNvdW50ICsgMSkpICogcG9zaXRpb25JbmRleDtcbiAgICAgICAgZml4dHVyZS5wb3NpdGlvblogPSB6TWluICsgKCh6TWF4IC0gek1pbikgLyAocG9zaXRpb25Db3VudCArIDEpKSAqIHBvc2l0aW9uSW5kZXg7XG5cbiAgICAgICAgcG9zaXRpb25JbmRleCsrO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhbmltYXRlKHRpbWVNaWxsaXM6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnRpbWVsaW5lU2VydmljZS5wbGF5U3RhdGUgPT09ICdwbGF5aW5nJykge1xuICAgICAgLy8gT3ZlcndyaXRlIHRoZSBjdXJyZW50IHRpbWUgd2l0aCB0aGUgcGxheWluZyB0aW1lLCBpZiB3ZSdyZSBpbiBwbGF5YmFjayBtb2RlXG4gICAgICB0aW1lTWlsbGlzID0gdGhpcy50aW1lbGluZVNlcnZpY2Uud2F2ZVN1cmZlci5nZXRDdXJyZW50VGltZSgpICogMTAwMDtcbiAgICB9XG5cbiAgICB0aGlzLmFuaW1hdGlvblNlcnZpY2UudGltZU1pbGxpcyA9IHRpbWVNaWxsaXM7XG5cbiAgICAvLyBVcGRhdGUgdGhlIGNvbnRyb2xzXG4gICAgaWYgKHRoaXMuY29udHJvbHMpIHtcbiAgICAgIHRoaXMuY29udHJvbHMudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBwb3NpdGlvbnNcbiAgICB0aGlzLnVwZGF0ZVN0YWdlUG9zaXRpb24oXG4gICAgICBQb3NpdGlvbmluZy50b3BGcm9udCxcbiAgICAgIC10aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VXaWR0aENtIC8gMixcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVdpZHRoQ20gLyAyLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlSGVpZ2h0Q20gKyB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VGbG9vckhlaWdodENtLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlSGVpZ2h0Q20gKyB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VGbG9vckhlaWdodENtLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRGVwdGhDbSAvIDIgLSA3MCxcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZURlcHRoQ20gLyAyIC0gNzBcbiAgICApO1xuICAgIHRoaXMudXBkYXRlU3RhZ2VQb3NpdGlvbihcbiAgICAgIFBvc2l0aW9uaW5nLmJvdHRvbUZyb250LFxuICAgICAgLXRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVdpZHRoQ20gLyAyLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSAvIDIsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VGbG9vckhlaWdodENtLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRmxvb3JIZWlnaHRDbSxcbiAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZURlcHRoQ20gLyAyIC0gNzAsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VEZXB0aENtIC8gMiAtIDcwXG4gICAgKTtcbiAgICB0aGlzLnVwZGF0ZVN0YWdlUG9zaXRpb24oXG4gICAgICBQb3NpdGlvbmluZy50b3BCYWNrLFxuICAgICAgLXRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVdpZHRoQ20gLyAyLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSAvIDIsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VIZWlnaHRDbSArIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q20sXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VIZWlnaHRDbSArIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZUZsb29ySGVpZ2h0Q20sXG4gICAgICAtdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRGVwdGhDbSAvIDIgKyA3MCxcbiAgICAgIC10aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VEZXB0aENtIC8gMiArIDcwXG4gICAgKTtcbiAgICB0aGlzLnVwZGF0ZVN0YWdlUG9zaXRpb24oXG4gICAgICBQb3NpdGlvbmluZy5ib3R0b21CYWNrLFxuICAgICAgLXRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZVdpZHRoQ20gLyAyLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlV2lkdGhDbSAvIDIsXG4gICAgICB0aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VGbG9vckhlaWdodENtLFxuICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0LnN0YWdlRmxvb3JIZWlnaHRDbSxcbiAgICAgIC10aGlzLnByb2plY3RTZXJ2aWNlLnByb2plY3Quc3RhZ2VEZXB0aENtIC8gMiArIDcwLFxuICAgICAgLXRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdC5zdGFnZURlcHRoQ20gLyAyICsgNzBcbiAgICApO1xuXG4gICAgLy8gVXBkYXRlIGFsbCBmaXh0dXJlcyBhbmQgYXBwbHkgdGhlIHByZXZpZXcgcHJvcGVydGllcywgaWYgYXZhaWxhYmxlXG4gICAgLy8gVE9ETyBVcGRhdGUgdGhlIGZpeHR1cmVzIG9ubHkgZS5nLiA0MCB0aW1lcyBwZXIgc2Vjb25kIGFjY29yZGluZyB0byB0aGUgXCJyZWFsXCIgcmVmcmVzaCByYXRlIG9mIHRoZSBETVggaW50ZXJmYWNlP1xuICAgIGNvbnN0IHByZXNldHMgPSB0aGlzLnByZXZpZXdTZXJ2aWNlLmdldFByZXNldHModGltZU1pbGxpcyk7XG5cbiAgICBjb25zdCBjYWxjdWxhdGVkRml4dHVyZXMgPSB0aGlzLnByZXZpZXdTZXJ2aWNlLmdldENoYW5uZWxWYWx1ZXModGltZU1pbGxpcywgcHJlc2V0cyk7XG5cbiAgICBmb3IgKGNvbnN0IGZpeHR1cmUzZCBvZiB0aGlzLmZpeHR1cmVzM2QpIHtcbiAgICAgIC8vIFVwZGF0ZSB0aGUgZml4dHVyZSBwcm9wZXJ0aWVzXG4gICAgICBmaXh0dXJlM2QudXBkYXRlUHJldmlldyhjYWxjdWxhdGVkRml4dHVyZXMuZ2V0KGZpeHR1cmUzZC5maXh0dXJlKSB8fCBbXSwgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0Lm1hc3RlckRpbW1lclZhbHVlKTtcblxuICAgICAgLy8gU2VsZWN0IHRoZSBmaXh0dXJlLCBpZiByZXF1aXJlZFxuICAgICAgaWYgKHRoaXMuZml4dHVyZVNlcnZpY2Uuc2V0dGluZ3NTZWxlY3Rpb24pIHtcbiAgICAgICAgZml4dHVyZTNkLmlzU2VsZWN0ZWQgPSB0aGlzLmZpeHR1cmVTZXJ2aWNlLnNldHRpbmdzRml4dHVyZUlzU2VsZWN0ZWQoZml4dHVyZTNkLmZpeHR1cmUuZml4dHVyZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmaXh0dXJlM2QuaXNTZWxlY3RlZCA9IHRoaXMucHJldmlld1NlcnZpY2UuZml4dHVyZUlzU2VsZWN0ZWQoZml4dHVyZTNkLmZpeHR1cmUuZml4dHVyZS51dWlkLCBmaXh0dXJlM2QuZml4dHVyZS5waXhlbEtleSwgcHJlc2V0cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVE9ETyBlbmFibGUgZm9yIG1vbml0b3JpbmcgdGhlIERNWCB1bml2ZXJzZXNcbiAgICB0aGlzLnByZXZpZXdTZXJ2aWNlLnNldFVuaXZlcnNlVmFsdWVzKGNhbGN1bGF0ZWRGaXh0dXJlcywgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0Lm1hc3RlckRpbW1lclZhbHVlKTtcblxuICAgIC8vIFJlbmRlciB0aGUgc2NlbmVcbiAgICB0aGlzLnJlbmRlcigpO1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuYW5pbWF0ZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXNwZWN0UmF0aW8oKTogbnVtYmVyIHtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLmNhbnZhcy5jbGllbnRIZWlnaHQ7XG5cbiAgICBpZiAoaGVpZ2h0ID09PSAwKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYW52YXMuY2xpZW50V2lkdGggLyB0aGlzLmNhbnZhcy5jbGllbnRIZWlnaHQ7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgcHVibGljIG9uUmVzaXplKCkge1xuICAgIHRoaXMuY2FtZXJhLmFzcGVjdCA9IHRoaXMuZ2V0QXNwZWN0UmF0aW8oKTtcbiAgICB0aGlzLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTaXplKHRoaXMuY2FudmFzLmNsaWVudFdpZHRoLCB0aGlzLmNhbnZhcy5jbGllbnRIZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFJlbmRlcmVyKCkge1xuICAgIHRoaXMucmVuZGVyZXIgPSBuZXcgVEhSRUUuV2ViR0xSZW5kZXJlcih7IGFudGlhbGlhczogdHJ1ZSB9KTtcbiAgICB0aGlzLmNhbnZhcy5hcHBlbmRDaGlsZCh0aGlzLnJlbmRlcmVyLmRvbUVsZW1lbnQpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0UGl4ZWxSYXRpbyhkZXZpY2VQaXhlbFJhdGlvKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFNpemUodGhpcy5jYW52YXMuY2xpZW50V2lkdGgsIHRoaXMuY2FudmFzLmNsaWVudEhlaWdodCk7XG4gICAgLy8gdGhpcy5yZW5kZXJlci5zaGFkb3dNYXAuZW5hYmxlZCA9IHRydWU7XG4gICAgLy8gdGhpcy5yZW5kZXJlci5nYW1tYUlucHV0ID0gdHJ1ZTtcbiAgICAvLyB0aGlzLnJlbmRlcmVyLmdhbW1hT3V0cHV0ID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDYW1lcmEoKSB7XG4gICAgdGhpcy5jYW1lcmEgPSBuZXcgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEoMzUsIHdpbmRvdy5pbm5lcldpZHRoIC8gd2luZG93LmlubmVySGVpZ2h0LCAxLCAxMDAwMCk7XG4gICAgdGhpcy5jYW1lcmEucG9zaXRpb24uc2V0KC02MDAsIDgwLCA3MDApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cENvbnRyb2xzKCkge1xuICAgIHRoaXMuY29udHJvbHMgPSBuZXcgT3JiaXRDb250cm9scyh0aGlzLmNhbWVyYSwgdGhpcy5yZW5kZXJlci5kb21FbGVtZW50KTtcbiAgICB0aGlzLmNvbnRyb2xzLmVuYWJsZUtleXMgPSBmYWxzZTtcbiAgICB0aGlzLmNvbnRyb2xzLnJvdGF0ZVNwZWVkID0gMC4wNTtcbiAgICB0aGlzLmNvbnRyb2xzLnpvb21TcGVlZCA9IDEuMjtcbiAgICB0aGlzLmNvbnRyb2xzLmVuYWJsZURhbXBpbmcgPSB0cnVlO1xuICAgIHRoaXMuY29udHJvbHMuZGFtcGluZ0ZhY3RvciA9IDAuMjU7XG4gICAgdGhpcy5jb250cm9scy5zY3JlZW5TcGFjZVBhbm5pbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNvbnRyb2xzLm1pbkRpc3RhbmNlID0gNzAwO1xuICAgIC8vIHRoaXMuY29udHJvbHMuem9vbSA9IDEwMDA7XG4gICAgdGhpcy5jb250cm9scy5tYXhEaXN0YW5jZSA9IDIwMDA7XG4gICAgdGhpcy5jb250cm9scy5tYXhQb2xhckFuZ2xlID0gTWF0aC5QSSAvIDI7XG4gICAgdGhpcy5jb250cm9scy50YXJnZXQgPSBuZXcgVEhSRUUuVmVjdG9yMygwLCAyMDAsIDApO1xuICAgIC8vIHRoaXMuY29udHJvbHMucm90YXRpb24gPSAxMDA7XG4gIH1cblxuICBwcml2YXRlIHNldHVwU2NlbmUoKSB7XG4gICAgLy8gQ3JlYXRlIGEgbmV3IHNjZW5lXG4gICAgdGhpcy5zY2VuZSA9IG5ldyBUSFJFRS5TY2VuZSgpO1xuICAgIC8vIHRoaXMuc2NlbmUuYmFja2dyb3VuZCA9IG5ldyBUSFJFRS5Db2xvcigweDA4MDgwOCk7XG4gICAgLy8gdGhpcy5zY2VuZS5mb2dcdD0gbmV3IFRIUkVFLkZvZ0V4cDIoIDB4MDAwMDAwLCAwLjEgKTtcblxuICAgIHRoaXMucHJldmlld1NlcnZpY2Uuc2NlbmUgPSB0aGlzLnNjZW5lO1xuXG4gICAgLy8gQWRkIGEgbGl0dGxlIGJpdCBvZiBhbWJpZW50IGxpZ2h0XG4gICAgY29uc3QgYW1iaWVudCA9IG5ldyBUSFJFRS5BbWJpZW50TGlnaHQoMHhmZmZmZmYsIDEuOCk7XG4gICAgdGhpcy5zY2VuZS5hZGQoYW1iaWVudCk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIHN0YWdlIGRpbWVuc2lvbnNcbiAgICB0aGlzLnByZXZpZXdTZXJ2aWNlLnVwZGF0ZVN0YWdlKCk7XG5cbiAgICBjb25zdCBsaWdodHMgPSBbXTtcbiAgICBsaWdodHNbMF0gPSBuZXcgVEhSRUUuUG9pbnRMaWdodCgweGZmZmZmZiwgMiwgMCwgMC4xKTtcbiAgICBsaWdodHNbMV0gPSBuZXcgVEhSRUUuUG9pbnRMaWdodCgweGZmZmZmZiwgMiwgMCwgMC4xKTtcbiAgICBsaWdodHNbMl0gPSBuZXcgVEhSRUUuUG9pbnRMaWdodCgweGZmZmZmZiwgMiwgMCwgMC4xKTtcblxuICAgIGxpZ2h0c1swXS5wb3NpdGlvbi5zZXQoMCwgMjAwMCwgMCk7XG4gICAgbGlnaHRzWzFdLnBvc2l0aW9uLnNldCgxMDAwLCAyMDAwLCAxMDAwKTtcbiAgICBsaWdodHNbMl0ucG9zaXRpb24uc2V0KC0xMDAwLCAtMjAwMCwgLTEwMDApO1xuXG4gICAgbGlnaHRzWzBdLmNhc3RTaGFkb3cgPSB0cnVlO1xuICAgIGxpZ2h0c1sxXS5jYXN0U2hhZG93ID0gdHJ1ZTtcbiAgICBsaWdodHNbMl0uY2FzdFNoYWRvdyA9IHRydWU7XG5cbiAgICB0aGlzLnNjZW5lLmFkZChsaWdodHNbMF0pO1xuICAgIHRoaXMuc2NlbmUuYWRkKGxpZ2h0c1sxXSk7XG4gICAgdGhpcy5zY2VuZS5hZGQobGlnaHRzWzJdKTtcblxuICAgIHRoaXMucHJldmlld1NlcnZpY2UudXBkYXRlRml4dHVyZVNldHVwKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cFJlbmRlcmVyKCk7XG4gICAgdGhpcy5zZXR1cENhbWVyYSgpO1xuICAgIHRoaXMuc2V0dXBDb250cm9scygpO1xuICAgIHRoaXMuc2V0dXBTY2VuZSgpO1xuXG4gICAgdGhpcy5vblJlc2l6ZSgpO1xuICAgIHRoaXMuYW5pbWF0ZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtMTAwXCIgI2NhbnZhcyBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW5cIj48L2Rpdj5cbiJdfQ==
|
|
@@ -13,6 +13,7 @@ export class ConfigService {
|
|
|
13
13
|
this.localProfiles = false;
|
|
14
14
|
this.intro = false;
|
|
15
15
|
this.uniqueProjectNames = false;
|
|
16
|
+
this.dropzoneChunking = true;
|
|
16
17
|
this.menuHeightChanged = new Subject();
|
|
17
18
|
}
|
|
18
19
|
static { this.ɵfac = function ConfigService_Factory(t) { return new (t || ConfigService)(); }; }
|
|
@@ -24,4 +25,4 @@ export class ConfigService {
|
|
|
24
25
|
providedIn: 'root',
|
|
25
26
|
}]
|
|
26
27
|
}], () => [], null); })();
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLL0IsTUFBTSxPQUFPLGFBQWE7SUFnQnhCO1FBZE8sdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUV4QixzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUUvQyxDQUFDOzhFQWhCTCxhQUFhO3VFQUFiLGFBQWEsV0FBYixhQUFhLG1CQUZaLE1BQU07O2lGQUVQLGFBQWE7Y0FIekIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZXN0VXJsOiBzdHJpbmc7XG4gIHB1YmxpYyBlbmFibGVNZWRpYUxpYnJhcnkgPSBmYWxzZTtcbiAgcHVibGljIGxvZ2luQXZhaWxhYmxlID0gZmFsc2U7XG4gIHB1YmxpYyBzaGFyZUF2YWlsYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgbWVudUhlaWdodFB4ID0gMDtcbiAgcHVibGljIGxhbmd1YWdlU3dpdGNoID0gZmFsc2U7XG4gIHB1YmxpYyBuZXdQcm9qZWN0VGVtcGxhdGUgPSBmYWxzZTtcbiAgcHVibGljIGxpdmVQcmV2aWV3ID0gZmFsc2U7XG4gIHB1YmxpYyBsb2NhbFByb2ZpbGVzID0gZmFsc2U7XG4gIHB1YmxpYyBpbnRybyA9IGZhbHNlO1xuICBwdWJsaWMgdW5pcXVlUHJvamVjdE5hbWVzID0gZmFsc2U7XG4gIHB1YmxpYyBkcm9wem9uZUNodW5raW5nID0gdHJ1ZTtcblxuICBwdWJsaWMgbWVudUhlaWdodENoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|