@worktile/gantt 18.1.0-next.2 → 19.0.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/components/main/gantt-main.component.d.ts +3 -2
- package/fesm2022/worktile-gantt.mjs +124 -127
- package/fesm2022/worktile-gantt.mjs.map +1 -1
- package/gantt-item-upper.d.ts +1 -1
- package/gantt-upper.d.ts +1 -1
- package/gantt.module.d.ts +1 -1
- package/gantt.pipe.d.ts +5 -5
- package/package.json +4 -6
- package/esm2022/class/baseline.mjs +0 -18
- package/esm2022/class/date-point.mjs +0 -11
- package/esm2022/class/event.mjs +0 -27
- package/esm2022/class/group.mjs +0 -17
- package/esm2022/class/index.mjs +0 -9
- package/esm2022/class/item.mjs +0 -85
- package/esm2022/class/link.mjs +0 -19
- package/esm2022/class/toolbar.mjs +0 -2
- package/esm2022/class/view-type.mjs +0 -10
- package/esm2022/components/bar/bar-drag.mjs +0 -560
- package/esm2022/components/bar/bar.component.mjs +0 -132
- package/esm2022/components/baseline/baseline.component.mjs +0 -43
- package/esm2022/components/calendar/grid/calendar-grid.component.mjs +0 -66
- package/esm2022/components/calendar/header/calendar-header.component.mjs +0 -70
- package/esm2022/components/drag-backdrop/drag-backdrop.component.mjs +0 -21
- package/esm2022/components/icon/icon.component.mjs +0 -37
- package/esm2022/components/icon/icons.mjs +0 -93
- package/esm2022/components/links/lines/curve.mjs +0 -95
- package/esm2022/components/links/lines/factory.mjs +0 -14
- package/esm2022/components/links/lines/line.mjs +0 -24
- package/esm2022/components/links/lines/straight.mjs +0 -58
- package/esm2022/components/links/links.component.mjs +0 -196
- package/esm2022/components/loader/loader.component.mjs +0 -30
- package/esm2022/components/main/gantt-main.component.mjs +0 -94
- package/esm2022/components/range/range.component.mjs +0 -25
- package/esm2022/components/scrollbar/scrollbar.component.mjs +0 -27
- package/esm2022/components/table/body/gantt-table-body.component.mjs +0 -329
- package/esm2022/components/table/header/gantt-table-header.component.mjs +0 -152
- package/esm2022/components/toolbar/toolbar.component.mjs +0 -37
- package/esm2022/gantt-abstract.mjs +0 -3
- package/esm2022/gantt-dom.service.mjs +0 -156
- package/esm2022/gantt-drag-container.mjs +0 -78
- package/esm2022/gantt-item-upper.mjs +0 -67
- package/esm2022/gantt-print.service.mjs +0 -94
- package/esm2022/gantt-upper.mjs +0 -402
- package/esm2022/gantt.component.mjs +0 -361
- package/esm2022/gantt.config.mjs +0 -69
- package/esm2022/gantt.module.mjs +0 -141
- package/esm2022/gantt.pipe.mjs +0 -61
- package/esm2022/gantt.styles.mjs +0 -10
- package/esm2022/i18n/i18n.mjs +0 -12
- package/esm2022/i18n/index.mjs +0 -18
- package/esm2022/i18n/locales/de-de.mjs +0 -51
- package/esm2022/i18n/locales/en-us.mjs +0 -49
- package/esm2022/i18n/locales/ja-jp.mjs +0 -49
- package/esm2022/i18n/locales/ru-ru.mjs +0 -51
- package/esm2022/i18n/locales/zh-hans.mjs +0 -49
- package/esm2022/i18n/locales/zh-hant.mjs +0 -49
- package/esm2022/public-api.mjs +0 -28
- package/esm2022/root.component.mjs +0 -174
- package/esm2022/table/gantt-column.component.mjs +0 -46
- package/esm2022/table/gantt-table.component.mjs +0 -49
- package/esm2022/utils/date.mjs +0 -180
- package/esm2022/utils/drag-scroll.mjs +0 -54
- package/esm2022/utils/helpers.mjs +0 -73
- package/esm2022/utils/passive-listeners.mjs +0 -30
- package/esm2022/utils/set-style-with-vendor-prefix.mjs +0 -15
- package/esm2022/views/day.mjs +0 -58
- package/esm2022/views/factory.mjs +0 -22
- package/esm2022/views/hour.mjs +0 -89
- package/esm2022/views/month.mjs +0 -52
- package/esm2022/views/quarter.mjs +0 -55
- package/esm2022/views/view.mjs +0 -177
- package/esm2022/views/week.mjs +0 -53
- package/esm2022/views/year.mjs +0 -54
- package/esm2022/worktile-gantt.mjs +0 -5
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { __decorate, __param } from "tslib";
|
|
2
|
-
import { Inject } from '@angular/core';
|
|
3
|
-
import { GanttLinkType } from '../../../class/link';
|
|
4
|
-
import { GANTT_UPPER_TOKEN } from '../../../gantt-upper';
|
|
5
|
-
import { GanttLinkLine } from './line';
|
|
6
|
-
let GanttLinkLineCurve = class GanttLinkLineCurve extends GanttLinkLine {
|
|
7
|
-
constructor(ganttUpper) {
|
|
8
|
-
super();
|
|
9
|
-
this.ganttUpper = ganttUpper;
|
|
10
|
-
}
|
|
11
|
-
generateSSPath(source, target) {
|
|
12
|
-
const x1 = source.before.x;
|
|
13
|
-
const y1 = source.before.y;
|
|
14
|
-
const x4 = target.before.x;
|
|
15
|
-
const y4 = target.before.y;
|
|
16
|
-
const isMirror = y4 > y1 ? 0 : 1;
|
|
17
|
-
const radius = Math.abs(y4 - y1) / 2;
|
|
18
|
-
if (x4 > x1) {
|
|
19
|
-
return `M ${x1} ${y1}
|
|
20
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
21
|
-
L ${x4} ${y4}`;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return `M ${x1} ${y1}
|
|
25
|
-
L ${x4} ${y1}
|
|
26
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
generateFFPath(source, target) {
|
|
30
|
-
const x1 = source.after.x;
|
|
31
|
-
const y1 = source.after.y;
|
|
32
|
-
const x4 = target.after.x;
|
|
33
|
-
const y4 = target.after.y;
|
|
34
|
-
const isMirror = y4 > y1 ? 1 : 0;
|
|
35
|
-
const radius = Math.abs(y4 - y1) / 2;
|
|
36
|
-
if (x4 > x1) {
|
|
37
|
-
return `M ${x1} ${y1}
|
|
38
|
-
L ${x4} ${y1}
|
|
39
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return `M ${x1} ${y1}
|
|
43
|
-
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
44
|
-
L ${x4} ${y4}`;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
generateFSAndSFPath(source, target, type) {
|
|
48
|
-
let x1 = source.after.x;
|
|
49
|
-
let y1 = source.after.y;
|
|
50
|
-
let x4 = target.before.x;
|
|
51
|
-
let y4 = target.before.y;
|
|
52
|
-
const bezierWeight = 0.5;
|
|
53
|
-
if (type === GanttLinkType.sf) {
|
|
54
|
-
x1 = target.after.x;
|
|
55
|
-
y1 = target.after.y;
|
|
56
|
-
x4 = source.before.x;
|
|
57
|
-
y4 = source.before.y;
|
|
58
|
-
}
|
|
59
|
-
let dx = Math.abs(x4 - x1) * bezierWeight;
|
|
60
|
-
let x2 = x1 + dx;
|
|
61
|
-
let x3 = x4 - dx;
|
|
62
|
-
const centerX = (x1 + x4) / 2;
|
|
63
|
-
const centerY = (y1 + y4) / 2;
|
|
64
|
-
let controlX = this.ganttUpper.styles.lineHeight / 2;
|
|
65
|
-
const controlY = this.ganttUpper.styles.lineHeight / 2;
|
|
66
|
-
if (x1 >= x4) {
|
|
67
|
-
if (Math.abs(y4 - y1) <= this.ganttUpper.styles.lineHeight) {
|
|
68
|
-
return `M ${x1} ${y1}
|
|
69
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y4 > y1 ? y1 + controlX : y1 - controlX} ${x1} ${y4 > y1 ? y1 + controlY : y1 - controlY}
|
|
70
|
-
L ${x4} ${y4 > y1 ? y4 - controlY : y4 + controlY}
|
|
71
|
-
C ${x4 - controlY} ${y4 > y1 ? y4 - controlY : y4 + controlY} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
72
|
-
`;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
controlX = this.ganttUpper.styles.lineHeight;
|
|
76
|
-
return `M ${x1} ${y1}
|
|
77
|
-
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y4 > y1 ? y1 + controlX : y1 - controlX} ${centerX} ${centerY}
|
|
78
|
-
C ${x4 - controlX} ${y4 > y1 ? y4 - controlX : y4 + controlX} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
79
|
-
`;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else if (this.ganttUpper.linkOptions?.showArrow && x4 - x1 < 200) {
|
|
83
|
-
dx = Math.max(Math.abs(y4 - y1) * bezierWeight, 60);
|
|
84
|
-
x2 = x1 + dx;
|
|
85
|
-
x3 = x4 - dx;
|
|
86
|
-
return `M ${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;
|
|
87
|
-
}
|
|
88
|
-
return `M ${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
GanttLinkLineCurve = __decorate([
|
|
92
|
-
__param(0, Inject(GANTT_UPPER_TOKEN))
|
|
93
|
-
], GanttLinkLineCurve);
|
|
94
|
-
export { GanttLinkLineCurve };
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VydmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9saW5rcy9saW5lcy9jdXJ2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEMsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBbUIsU0FBUSxhQUFhO0lBQ2pELFlBQStDLFVBQXNCO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRG1DLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFckUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxQixFQUFFLE1BQXFCO1FBQ3ZELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNWLE9BQU8sS0FBSyxFQUFFLElBQUks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dCB7IEdhbnR0TGlua0l0ZW0sIEdhbnR0TGlua1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jbGFzcy9saW5rJztcbmltcG9ydCB7IEdhbnR0VXBwZXIsIEdBTlRUX1VQUEVSX1RPS0VOIH0gZnJvbSAnLi4vLi4vLi4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRMaW5rTGluZSB9IGZyb20gJy4vbGluZSc7XG5cbmV4cG9ydCBjbGFzcyBHYW50dExpbmtMaW5lQ3VydmUgZXh0ZW5kcyBHYW50dExpbmtMaW5lIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwcml2YXRlIGdhbnR0VXBwZXI6IEdhbnR0VXBwZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZVNTUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSkge1xuICAgICAgICBjb25zdCB4MSA9IHNvdXJjZS5iZWZvcmUueDtcbiAgICAgICAgY29uc3QgeTEgPSBzb3VyY2UuYmVmb3JlLnk7XG4gICAgICAgIGNvbnN0IHg0ID0gdGFyZ2V0LmJlZm9yZS54O1xuICAgICAgICBjb25zdCB5NCA9IHRhcmdldC5iZWZvcmUueTtcbiAgICAgICAgY29uc3QgaXNNaXJyb3IgPSB5NCA+IHkxID8gMCA6IDE7XG4gICAgICAgIGNvbnN0IHJhZGl1cyA9IE1hdGguYWJzKHk0IC0geTEpIC8gMjtcblxuICAgICAgICBpZiAoeDQgPiB4MSkge1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEEgJHtyYWRpdXN9ICR7cmFkaXVzfSAwIDEgJHtpc01pcnJvcn0gJHt4MX0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBBICR7cmFkaXVzfSAke3JhZGl1c30gMCAxICR7aXNNaXJyb3J9ICR7eDR9ICR7eTR9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZW5lcmF0ZUZGUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSkge1xuICAgICAgICBjb25zdCB4MSA9IHNvdXJjZS5hZnRlci54O1xuICAgICAgICBjb25zdCB5MSA9IHNvdXJjZS5hZnRlci55O1xuICAgICAgICBjb25zdCB4NCA9IHRhcmdldC5hZnRlci54O1xuICAgICAgICBjb25zdCB5NCA9IHRhcmdldC5hZnRlci55O1xuICAgICAgICBjb25zdCBpc01pcnJvciA9IHk0ID4geTEgPyAxIDogMDtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gTWF0aC5hYnMoeTQgLSB5MSkgLyAyO1xuICAgICAgICBpZiAoeDQgPiB4MSkge1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQSAke3JhZGl1c30gJHtyYWRpdXN9IDAgMSAke2lzTWlycm9yfSAke3g0fSAke3k0fWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQSAke3JhZGl1c30gJHtyYWRpdXN9IDAgMSAke2lzTWlycm9yfSAke3gxfSAke3k0fVxuICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTR9YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdlbmVyYXRlRlNBbmRTRlBhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0sIHR5cGU/OiBHYW50dExpbmtUeXBlKSB7XG4gICAgICAgIGxldCB4MSA9IHNvdXJjZS5hZnRlci54O1xuICAgICAgICBsZXQgeTEgPSBzb3VyY2UuYWZ0ZXIueTtcbiAgICAgICAgbGV0IHg0ID0gdGFyZ2V0LmJlZm9yZS54O1xuICAgICAgICBsZXQgeTQgPSB0YXJnZXQuYmVmb3JlLnk7XG4gICAgICAgIGNvbnN0IGJlemllcldlaWdodCA9IDAuNTtcblxuICAgICAgICBpZiAodHlwZSA9PT0gR2FudHRMaW5rVHlwZS5zZikge1xuICAgICAgICAgICAgeDEgPSB0YXJnZXQuYWZ0ZXIueDtcbiAgICAgICAgICAgIHkxID0gdGFyZ2V0LmFmdGVyLnk7XG4gICAgICAgICAgICB4NCA9IHNvdXJjZS5iZWZvcmUueDtcbiAgICAgICAgICAgIHk0ID0gc291cmNlLmJlZm9yZS55O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGR4ID0gTWF0aC5hYnMoeDQgLSB4MSkgKiBiZXppZXJXZWlnaHQ7XG4gICAgICAgIGxldCB4MiA9IHgxICsgZHg7XG4gICAgICAgIGxldCB4MyA9IHg0IC0gZHg7XG5cbiAgICAgICAgY29uc3QgY2VudGVyWCA9ICh4MSArIHg0KSAvIDI7XG4gICAgICAgIGNvbnN0IGNlbnRlclkgPSAoeTEgKyB5NCkgLyAyO1xuXG4gICAgICAgIGxldCBjb250cm9sWCA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMubGluZUhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xZID0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0IC8gMjtcblxuICAgICAgICBpZiAoeDEgPj0geDQpIHtcbiAgICAgICAgICAgIGlmIChNYXRoLmFicyh5NCAtIHkxKSA8PSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3gxICsgY29udHJvbFh9ICR7eTF9ICR7eDEgKyBjb250cm9sWH0gJHt5NCA+IHkxID8geTEgKyBjb250cm9sWCA6IHkxIC0gY29udHJvbFh9ICR7eDF9ICR7XG4gICAgICAgICAgICAgICAgICAgIHk0ID4geTEgPyB5MSArIGNvbnRyb2xZIDogeTEgLSBjb250cm9sWVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0ID4geTEgPyB5NCAtIGNvbnRyb2xZIDogeTQgKyBjb250cm9sWX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3g0IC0gY29udHJvbFl9ICR7eTQgPiB5MSA/IHk0IC0gY29udHJvbFkgOiB5NCArIGNvbnRyb2xZfSAgJHt4NCAtIGNvbnRyb2xYfSAke3k0fSAke3g0fSAke3k0fVxuICAgICAgICAgICAgICAgICAgICBgO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb250cm9sWCA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMubGluZUhlaWdodDtcbiAgICAgICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3gxICsgY29udHJvbFh9ICR7eTF9ICR7eDEgKyBjb250cm9sWH0gJHt5NCA+IHkxID8geTEgKyBjb250cm9sWCA6IHkxIC0gY29udHJvbFh9ICR7Y2VudGVyWH0gJHtjZW50ZXJZfVxuICAgICAgICAgICAgICAgICAgICBDICR7eDQgLSBjb250cm9sWH0gJHt5NCA+IHkxID8geTQgLSBjb250cm9sWCA6IHk0ICsgY29udHJvbFh9ICR7eDQgLSBjb250cm9sWH0gJHt5NH0gJHt4NH0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmdhbnR0VXBwZXIubGlua09wdGlvbnM/LnNob3dBcnJvdyAmJiB4NCAtIHgxIDwgMjAwKSB7XG4gICAgICAgICAgICBkeCA9IE1hdGgubWF4KE1hdGguYWJzKHk0IC0geTEpICogYmV6aWVyV2VpZ2h0LCA2MCk7XG4gICAgICAgICAgICB4MiA9IHgxICsgZHg7XG4gICAgICAgICAgICB4MyA9IHg0IC0gZHg7XG4gICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX0gQyAke3gyfSAke3kxfSAke3gzfSAke3k0fSAke3g0fSAke3k0fWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX0gQyAke3gyfSAke3kxfSAke3gzfSAke3k0fSAke3g0fSAke3k0fWA7XG4gICAgfVxufVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { GanttLinkLineType } from '../../../class/link';
|
|
2
|
-
import { GanttLinkLineCurve } from './curve';
|
|
3
|
-
import { GanttLinkLineStraight } from './straight';
|
|
4
|
-
export function createLineGenerator(type, ganttUpper) {
|
|
5
|
-
switch (type) {
|
|
6
|
-
case GanttLinkLineType.curve:
|
|
7
|
-
return new GanttLinkLineCurve(ganttUpper);
|
|
8
|
-
case GanttLinkLineType.straight:
|
|
9
|
-
return new GanttLinkLineStraight();
|
|
10
|
-
default:
|
|
11
|
-
throw new Error('gantt link path type invalid');
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jb21wb25lbnRzL2xpbmtzL2xpbmVzL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBdUIsRUFBRSxVQUF1QjtJQUNoRixRQUFRLElBQUksRUFBRSxDQUFDO1FBQ1gsS0FBSyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ3hCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxLQUFLLGlCQUFpQixDQUFDLFFBQVE7WUFDM0IsT0FBTyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDdkM7WUFDSSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDeEQsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dExpbmtMaW5lVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzL2xpbmsnO1xuaW1wb3J0IHsgR2FudHRVcHBlciB9IGZyb20gJy4uLy4uLy4uL2dhbnR0LXVwcGVyJztcbmltcG9ydCB7IEdhbnR0TGlua0xpbmVDdXJ2ZSB9IGZyb20gJy4vY3VydmUnO1xuaW1wb3J0IHsgR2FudHRMaW5rTGluZVN0cmFpZ2h0IH0gZnJvbSAnLi9zdHJhaWdodCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaW5lR2VuZXJhdG9yKHR5cGU6IEdhbnR0TGlua0xpbmVUeXBlLCBnYW50dFVwcGVyPzogR2FudHRVcHBlcikge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIEdhbnR0TGlua0xpbmVUeXBlLmN1cnZlOlxuICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dExpbmtMaW5lQ3VydmUoZ2FudHRVcHBlcik7XG4gICAgICAgIGNhc2UgR2FudHRMaW5rTGluZVR5cGUuc3RyYWlnaHQ6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0TGlua0xpbmVTdHJhaWdodCgpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdnYW50dCBsaW5rIHBhdGggdHlwZSBpbnZhbGlkJyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { GanttLinkType } from '../../../class/link';
|
|
2
|
-
export class GanttLinkLine {
|
|
3
|
-
constructor() { }
|
|
4
|
-
generatePath(source, target, type) {
|
|
5
|
-
if (source.before && source.after && target.before && target.after) {
|
|
6
|
-
let path = '';
|
|
7
|
-
switch (type) {
|
|
8
|
-
case GanttLinkType.ss:
|
|
9
|
-
path = this.generateSSPath(source, target);
|
|
10
|
-
break;
|
|
11
|
-
case GanttLinkType.ff:
|
|
12
|
-
path = this.generateFFPath(source, target);
|
|
13
|
-
break;
|
|
14
|
-
case GanttLinkType.sf:
|
|
15
|
-
path = this.generateFSAndSFPath(source, target, type);
|
|
16
|
-
break;
|
|
17
|
-
default:
|
|
18
|
-
path = this.generateFSAndSFPath(source, target);
|
|
19
|
-
}
|
|
20
|
-
return path;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jb21wb25lbnRzL2xpbmtzL2xpbmVzL2xpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRSxNQUFNLE9BQWdCLGFBQWE7SUFDL0IsZ0JBQWUsQ0FBQztJQVFoQixZQUFZLENBQUMsTUFBcUIsRUFBRSxNQUFxQixFQUFFLElBQW1CO1FBQzFFLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pFLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUVkLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ1gsS0FBSyxhQUFhLENBQUMsRUFBRTtvQkFDakIsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUMzQyxNQUFNO2dCQUNWLEtBQUssYUFBYSxDQUFDLEVBQUU7b0JBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDM0MsTUFBTTtnQkFFVixLQUFLLGFBQWEsQ0FBQyxFQUFFO29CQUNqQixJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3RELE1BQU07Z0JBQ1Y7b0JBQ0ksSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dExpbmtJdGVtLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3MvbGluayc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHYW50dExpbmtMaW5lIHtcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBhYnN0cmFjdCBnZW5lcmF0ZVNTUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSk6IHN0cmluZztcblxuICAgIGFic3RyYWN0IGdlbmVyYXRlRkZQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtKTogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgZ2VuZXJhdGVGU0FuZFNGUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSwgdHlwZT86IEdhbnR0TGlua1R5cGUpOiBzdHJpbmc7XG5cbiAgICBnZW5lcmF0ZVBhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0sIHR5cGU6IEdhbnR0TGlua1R5cGUpIHtcbiAgICAgICAgaWYgKHNvdXJjZS5iZWZvcmUgJiYgc291cmNlLmFmdGVyICYmIHRhcmdldC5iZWZvcmUgJiYgdGFyZ2V0LmFmdGVyKSB7XG4gICAgICAgICAgICBsZXQgcGF0aCA9ICcnO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEdhbnR0TGlua1R5cGUuc3M6XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSB0aGlzLmdlbmVyYXRlU1NQYXRoKHNvdXJjZSwgdGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBHYW50dExpbmtUeXBlLmZmOlxuICAgICAgICAgICAgICAgICAgICBwYXRoID0gdGhpcy5nZW5lcmF0ZUZGUGF0aChzb3VyY2UsIHRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBHYW50dExpbmtUeXBlLnNmOlxuICAgICAgICAgICAgICAgICAgICBwYXRoID0gdGhpcy5nZW5lcmF0ZUZTQW5kU0ZQYXRoKHNvdXJjZSwgdGFyZ2V0LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHRoaXMuZ2VuZXJhdGVGU0FuZFNGUGF0aChzb3VyY2UsIHRhcmdldCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { GanttLinkLine } from './line';
|
|
2
|
-
import { GanttLinkType } from '../../../class/link';
|
|
3
|
-
export class GanttLinkLineStraight extends GanttLinkLine {
|
|
4
|
-
constructor() {
|
|
5
|
-
super();
|
|
6
|
-
this.pathControl = 20;
|
|
7
|
-
}
|
|
8
|
-
generateSSPath(source, target) {
|
|
9
|
-
const x1 = source.before.x;
|
|
10
|
-
const y1 = source.before.y;
|
|
11
|
-
const x4 = target.before.x;
|
|
12
|
-
const y4 = target.before.y;
|
|
13
|
-
const control = this.pathControl;
|
|
14
|
-
return `M ${x1} ${y1}
|
|
15
|
-
L ${x4 > x1 ? x1 - control : x4 - control} ${y1}
|
|
16
|
-
L ${x4 > x1 ? x1 - control : x4 - control} ${y4}
|
|
17
|
-
L ${x4} ${y4}`;
|
|
18
|
-
}
|
|
19
|
-
generateFFPath(source, target) {
|
|
20
|
-
const x1 = source.after.x;
|
|
21
|
-
const y1 = source.after.y;
|
|
22
|
-
const x4 = target.after.x;
|
|
23
|
-
const y4 = target.after.y;
|
|
24
|
-
const control = this.pathControl;
|
|
25
|
-
return `M ${x1} ${y1}
|
|
26
|
-
L ${x4 > x1 ? x4 + control : x1 + control} ${y1}
|
|
27
|
-
L ${x4 > x1 ? x4 + control : x1 + control} ${y4}
|
|
28
|
-
L ${x4} ${y4}`;
|
|
29
|
-
}
|
|
30
|
-
generateFSAndSFPath(source, target, type) {
|
|
31
|
-
let x1 = source.after.x;
|
|
32
|
-
let y1 = source.after.y;
|
|
33
|
-
let x4 = target.before.x;
|
|
34
|
-
let y4 = target.before.y;
|
|
35
|
-
const control = this.pathControl;
|
|
36
|
-
if (type === GanttLinkType.sf) {
|
|
37
|
-
x1 = target.after.x;
|
|
38
|
-
y1 = target.after.y;
|
|
39
|
-
x4 = source.before.x;
|
|
40
|
-
y4 = source.before.y;
|
|
41
|
-
}
|
|
42
|
-
if (x4 - x1 >= 40) {
|
|
43
|
-
return `M ${x1} ${y1}
|
|
44
|
-
L ${x1 + control} ${y1}
|
|
45
|
-
L ${x1 + control} ${y4}
|
|
46
|
-
L ${x4} ${y4}`;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return `M ${x1} ${y1}
|
|
50
|
-
L ${x1 + control} ${y1}
|
|
51
|
-
L ${x1 + control} ${y4 > y1 ? y1 + control : y1 - control}
|
|
52
|
-
L ${x4 - control} ${y4 > y1 ? y1 + control : y1 - control}
|
|
53
|
-
L ${x4 - control} ${y4}
|
|
54
|
-
L ${x4} ${y4}`;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYWlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9saW5rcy9saW5lcy9zdHJhaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBaUIsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGFBQWE7SUFHcEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUhKLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBSXpCLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUIsRUFBRSxNQUFxQjtRQUN2RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRWpDLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRTs0QkFDQSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUU7NEJBQzNDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRTs0QkFDM0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUIsRUFBRSxNQUFxQjtRQUN2RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRWpDLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRTs0QkFDQSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUU7NEJBQzNDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRTs0QkFDM0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFxQixFQUFFLE1BQXFCLEVBQUUsSUFBb0I7UUFDbEYsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVqQyxJQUFJLElBQUksS0FBSyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUIsRUFBRSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwQixFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckIsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFOzRCQUNKLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRTs0QkFDbEIsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFOzRCQUNsQixFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUU7NEJBQ0osRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFOzRCQUNsQixFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPOzRCQUNyRCxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPOzRCQUNyRCxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUU7NEJBQ2xCLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRMaW5rTGluZSB9IGZyb20gJy4vbGluZSc7XG5pbXBvcnQgeyBHYW50dExpbmtJdGVtLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3MvbGluayc7XG5cbmV4cG9ydCBjbGFzcyBHYW50dExpbmtMaW5lU3RyYWlnaHQgZXh0ZW5kcyBHYW50dExpbmtMaW5lIHtcbiAgICBwcml2YXRlIHBhdGhDb250cm9sID0gMjA7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZVNTUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSkge1xuICAgICAgICBjb25zdCB4MSA9IHNvdXJjZS5iZWZvcmUueDtcbiAgICAgICAgY29uc3QgeTEgPSBzb3VyY2UuYmVmb3JlLnk7XG4gICAgICAgIGNvbnN0IHg0ID0gdGFyZ2V0LmJlZm9yZS54O1xuICAgICAgICBjb25zdCB5NCA9IHRhcmdldC5iZWZvcmUueTtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMucGF0aENvbnRyb2w7XG5cbiAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDQgPiB4MSA/IHgxIC0gY29udHJvbCA6IHg0IC0gY29udHJvbH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4NCA+IHgxID8geDEgLSBjb250cm9sIDogeDQgLSBjb250cm9sfSAke3k0fVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fWA7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVGRlBhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0pIHtcbiAgICAgICAgY29uc3QgeDEgPSBzb3VyY2UuYWZ0ZXIueDtcbiAgICAgICAgY29uc3QgeTEgPSBzb3VyY2UuYWZ0ZXIueTtcbiAgICAgICAgY29uc3QgeDQgPSB0YXJnZXQuYWZ0ZXIueDtcbiAgICAgICAgY29uc3QgeTQgPSB0YXJnZXQuYWZ0ZXIueTtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMucGF0aENvbnRyb2w7XG5cbiAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDQgPiB4MSA/IHg0ICsgY29udHJvbCA6IHgxICsgY29udHJvbH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4NCA+IHgxID8geDQgKyBjb250cm9sIDogeDEgKyBjb250cm9sfSAke3k0fVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fWA7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVGU0FuZFNGUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSwgdHlwZT86IEdhbnR0TGlua1R5cGUpIHtcbiAgICAgICAgbGV0IHgxID0gc291cmNlLmFmdGVyLng7XG4gICAgICAgIGxldCB5MSA9IHNvdXJjZS5hZnRlci55O1xuICAgICAgICBsZXQgeDQgPSB0YXJnZXQuYmVmb3JlLng7XG4gICAgICAgIGxldCB5NCA9IHRhcmdldC5iZWZvcmUueTtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMucGF0aENvbnRyb2w7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09IEdhbnR0TGlua1R5cGUuc2YpIHtcbiAgICAgICAgICAgIHgxID0gdGFyZ2V0LmFmdGVyLng7XG4gICAgICAgICAgICB5MSA9IHRhcmdldC5hZnRlci55O1xuICAgICAgICAgICAgeDQgPSBzb3VyY2UuYmVmb3JlLng7XG4gICAgICAgICAgICB5NCA9IHNvdXJjZS5iZWZvcmUueTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh4NCAtIHgxID49IDQwKSB7XG4gICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4MSArIGNvbnRyb2x9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDEgKyBjb250cm9sfSAke3k0fVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4MSArIGNvbnRyb2x9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDEgKyBjb250cm9sfSAke3k0ID4geTEgPyB5MSArIGNvbnRyb2wgOiB5MSAtIGNvbnRyb2x9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDQgLSBjb250cm9sfSAke3k0ID4geTEgPyB5MSArIGNvbnRyb2wgOiB5MSAtIGNvbnRyb2x9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDQgLSBjb250cm9sfSAke3k0fVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fWA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostBinding, Inject } from '@angular/core';
|
|
2
|
-
import { EMPTY, merge, Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil, skip, debounceTime, switchMap, take } from 'rxjs/operators';
|
|
4
|
-
import { GANTT_UPPER_TOKEN } from '../../gantt-upper';
|
|
5
|
-
import { LinkColors, GanttLinkType } from '../../class/link';
|
|
6
|
-
import { createLineGenerator } from './lines/factory';
|
|
7
|
-
import { NgFor, NgIf } from '@angular/common';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../gantt-drag-container";
|
|
10
|
-
import * as i2 from "../../gantt-upper";
|
|
11
|
-
export class GanttLinksComponent {
|
|
12
|
-
constructor(ganttUpper, cdr, elementRef, ganttDragContainer, ngZone) {
|
|
13
|
-
this.ganttUpper = ganttUpper;
|
|
14
|
-
this.cdr = cdr;
|
|
15
|
-
this.elementRef = elementRef;
|
|
16
|
-
this.ganttDragContainer = ganttDragContainer;
|
|
17
|
-
this.ngZone = ngZone;
|
|
18
|
-
// @Input() groups: GanttGroupInternal[] = [];
|
|
19
|
-
// @Input() items: GanttItemInternal[] = [];
|
|
20
|
-
this.flatItems = [];
|
|
21
|
-
this.lineClick = new EventEmitter();
|
|
22
|
-
this.links = [];
|
|
23
|
-
this.ganttLinkTypes = GanttLinkType;
|
|
24
|
-
this.showArrow = false;
|
|
25
|
-
this.linkItems = [];
|
|
26
|
-
this.firstChange = true;
|
|
27
|
-
this.unsubscribe$ = new Subject();
|
|
28
|
-
this.ganttLinksOverlay = true;
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.linkLine = createLineGenerator(this.ganttUpper.linkOptions.lineType, this.ganttUpper);
|
|
32
|
-
this.showArrow = this.ganttUpper.linkOptions.showArrow;
|
|
33
|
-
// this.buildLinks();
|
|
34
|
-
this.firstChange = false;
|
|
35
|
-
this.buildLinks();
|
|
36
|
-
this.ganttDragContainer.dragStarted.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
37
|
-
this.elementRef.nativeElement.style.visibility = 'hidden';
|
|
38
|
-
});
|
|
39
|
-
merge(this.ganttUpper.viewChange, this.ganttUpper.expandChange, this.ganttUpper.view.start$, this.ganttUpper.dragEnded, this.ganttUpper.linkDragEnded, this.ngZone.onStable.pipe(take(1)).pipe(switchMap(() => this.ganttUpper.table?.dragDropped || EMPTY)))
|
|
40
|
-
.pipe(skip(1), debounceTime(0), takeUntil(this.unsubscribe$))
|
|
41
|
-
.subscribe(() => {
|
|
42
|
-
this.elementRef.nativeElement.style.visibility = 'visible';
|
|
43
|
-
this.buildLinks();
|
|
44
|
-
this.cdr.detectChanges();
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
ngOnChanges() {
|
|
48
|
-
if (!this.firstChange) {
|
|
49
|
-
this.buildLinks();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
computeItemPosition() {
|
|
53
|
-
const lineHeight = this.ganttUpper.styles.lineHeight;
|
|
54
|
-
const barHeight = this.ganttUpper.styles.barHeight;
|
|
55
|
-
this.linkItems = [];
|
|
56
|
-
// if (this.groups.length > 0) {
|
|
57
|
-
// let itemNum = 0;
|
|
58
|
-
// let groupNum = 0;
|
|
59
|
-
// this.groups.forEach((group) => {
|
|
60
|
-
// groupNum++;
|
|
61
|
-
// if (group.expanded) {
|
|
62
|
-
// const items = recursiveItems(group.items);
|
|
63
|
-
// items.forEach((item, itemIndex) => {
|
|
64
|
-
// const y = (groupNum + itemNum + itemIndex) * lineHeight + item.refs.y + barHeight / 2;
|
|
65
|
-
// this.linkItems.push({
|
|
66
|
-
// ...item,
|
|
67
|
-
// before: {
|
|
68
|
-
// x: item.refs.x,
|
|
69
|
-
// y
|
|
70
|
-
// },
|
|
71
|
-
// after: {
|
|
72
|
-
// x: item.refs.x + item.refs.width,
|
|
73
|
-
// y
|
|
74
|
-
// }
|
|
75
|
-
// });
|
|
76
|
-
// });
|
|
77
|
-
// itemNum += items.length;
|
|
78
|
-
// }
|
|
79
|
-
// });
|
|
80
|
-
// } else {
|
|
81
|
-
// const items = recursiveItems(this.items);
|
|
82
|
-
// items.forEach((item, itemIndex) => {
|
|
83
|
-
// const y = itemIndex * lineHeight + item.refs.y + barHeight / 2;
|
|
84
|
-
// this.linkItems.push({
|
|
85
|
-
// ...item,
|
|
86
|
-
// before: {
|
|
87
|
-
// x: item.refs.x,
|
|
88
|
-
// y
|
|
89
|
-
// },
|
|
90
|
-
// after: {
|
|
91
|
-
// x: item.refs.x + item.refs.width,
|
|
92
|
-
// y
|
|
93
|
-
// }
|
|
94
|
-
// });
|
|
95
|
-
// });
|
|
96
|
-
// }
|
|
97
|
-
this.flatItems.forEach((item, itemIndex) => {
|
|
98
|
-
if (!item.hasOwnProperty('items')) {
|
|
99
|
-
const ganttItem = item;
|
|
100
|
-
if (ganttItem.refs) {
|
|
101
|
-
const y = itemIndex * lineHeight + ganttItem.refs.y + barHeight / 2;
|
|
102
|
-
this.linkItems.push({
|
|
103
|
-
...ganttItem,
|
|
104
|
-
before: {
|
|
105
|
-
x: ganttItem.refs.x,
|
|
106
|
-
y
|
|
107
|
-
},
|
|
108
|
-
after: {
|
|
109
|
-
x: ganttItem.refs.x + ganttItem.refs.width,
|
|
110
|
-
y
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
buildLinks() {
|
|
118
|
-
this.computeItemPosition();
|
|
119
|
-
this.links = [];
|
|
120
|
-
this.linkItems.forEach((source) => {
|
|
121
|
-
if (source.origin.start || source.origin.end) {
|
|
122
|
-
source.links.forEach((link) => {
|
|
123
|
-
const target = this.linkItems.find((item) => item.id === link.link);
|
|
124
|
-
if (target && (target.origin.start || target.origin.end)) {
|
|
125
|
-
let defaultColor = LinkColors.default;
|
|
126
|
-
let activeColor = LinkColors.active;
|
|
127
|
-
if (link.type === GanttLinkType.fs && source.end.getTime() > target.start.getTime()) {
|
|
128
|
-
defaultColor = LinkColors.blocked;
|
|
129
|
-
activeColor = LinkColors.blocked;
|
|
130
|
-
}
|
|
131
|
-
if (link.color) {
|
|
132
|
-
if (typeof link.color === 'string') {
|
|
133
|
-
defaultColor = link.color;
|
|
134
|
-
activeColor = link.color;
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
defaultColor = link.color.default;
|
|
138
|
-
activeColor = link.color.active;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
this.links.push({
|
|
142
|
-
path: this.linkLine.generatePath(source, target, link.type),
|
|
143
|
-
source: source.origin,
|
|
144
|
-
target: target.origin,
|
|
145
|
-
type: link.type,
|
|
146
|
-
color: defaultColor,
|
|
147
|
-
defaultColor,
|
|
148
|
-
activeColor
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
trackBy(index) {
|
|
156
|
-
return index;
|
|
157
|
-
}
|
|
158
|
-
onLineClick(event, link) {
|
|
159
|
-
this.lineClick.emit({
|
|
160
|
-
event,
|
|
161
|
-
source: link.source,
|
|
162
|
-
target: link.target
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
mouseEnterPath(link, index) {
|
|
166
|
-
link.color = link.activeColor || link.defaultColor;
|
|
167
|
-
if (index < this.links.length - 1) {
|
|
168
|
-
this.links.splice(index, 1);
|
|
169
|
-
this.links.push(link);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
mouseLeavePath(link) {
|
|
173
|
-
link.color = link.defaultColor;
|
|
174
|
-
}
|
|
175
|
-
ngOnDestroy() {
|
|
176
|
-
this.unsubscribe$.next();
|
|
177
|
-
this.unsubscribe$.complete();
|
|
178
|
-
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GanttLinksComponent, deps: [{ token: GANTT_UPPER_TOKEN }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.GanttDragContainer }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: GanttLinksComponent, isStandalone: true, selector: "gantt-links-overlay", inputs: { flatItems: "flatItems" }, outputs: { lineClick: "lineClick" }, host: { properties: { "class.gantt-links-overlay": "this.ganttLinksOverlay" } }, usesOnChanges: true, ngImport: i0, template: "<svg [attr.width]=\"ganttUpper.view.width\" class=\"gantt-links-overlay-main\">\n <ng-container *ngFor=\"let link of links; let i = index; trackBy: trackBy\">\n <path\n [attr.d]=\"link.path\"\n fill=\"transparent\"\n stroke-width=\"2\"\n [attr.stroke]=\"link.color\"\n pointer-events=\"none\"\n [attr.style]=\"link.type === ganttLinkTypes.sf ? 'marker-start: url(#triangle' + i + ')' : 'marker-end: url(#triangle' + i + ')'\"\n ></path>\n\n <g>\n <path\n class=\"link-line\"\n (click)=\"onLineClick($event, link)\"\n [attr.d]=\"link.path\"\n (mouseenter)=\"mouseEnterPath(link, i)\"\n (mouseleave)=\"mouseLeavePath(link)\"\n stroke=\"transparent\"\n stroke-width=\"9\"\n fill=\"none\"\n cursor=\"pointer\"\n ></path>\n </g>\n <defs *ngIf=\"showArrow\">\n <marker\n *ngIf=\"link.type === ganttLinkTypes.sf; else markerEnd\"\n [id]=\"'triangle' + i\"\n markerUnits=\"strokeWidth\"\n markerWidth=\"5\"\n markerHeight=\"4\"\n refX=\"5\"\n refY=\"2\"\n orient=\"180\"\n >\n <path [attr.fill]=\"link.color\" [attr.stroke]=\"link.color\" d=\"M 0 0 L 5 2 L 0 4 z\" />\n </marker>\n\n <ng-template #markerEnd>\n <marker [id]=\"'triangle' + i\" markerUnits=\"strokeWidth\" markerWidth=\"5\" markerHeight=\"4\" refX=\"5\" refY=\"2\" orient=\"auto\">\n <path [attr.fill]=\"link.color\" [attr.stroke]=\"link.color\" d=\"M 0 0 L 5 2 L 0 4 z\" />\n </marker>\n </ng-template>\n </defs>\n </ng-container>\n <line class=\"link-dragging-line\"></line>\n</svg>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
181
|
-
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GanttLinksComponent, decorators: [{
|
|
183
|
-
type: Component,
|
|
184
|
-
args: [{ selector: 'gantt-links-overlay', standalone: true, imports: [NgFor, NgIf], template: "<svg [attr.width]=\"ganttUpper.view.width\" class=\"gantt-links-overlay-main\">\n <ng-container *ngFor=\"let link of links; let i = index; trackBy: trackBy\">\n <path\n [attr.d]=\"link.path\"\n fill=\"transparent\"\n stroke-width=\"2\"\n [attr.stroke]=\"link.color\"\n pointer-events=\"none\"\n [attr.style]=\"link.type === ganttLinkTypes.sf ? 'marker-start: url(#triangle' + i + ')' : 'marker-end: url(#triangle' + i + ')'\"\n ></path>\n\n <g>\n <path\n class=\"link-line\"\n (click)=\"onLineClick($event, link)\"\n [attr.d]=\"link.path\"\n (mouseenter)=\"mouseEnterPath(link, i)\"\n (mouseleave)=\"mouseLeavePath(link)\"\n stroke=\"transparent\"\n stroke-width=\"9\"\n fill=\"none\"\n cursor=\"pointer\"\n ></path>\n </g>\n <defs *ngIf=\"showArrow\">\n <marker\n *ngIf=\"link.type === ganttLinkTypes.sf; else markerEnd\"\n [id]=\"'triangle' + i\"\n markerUnits=\"strokeWidth\"\n markerWidth=\"5\"\n markerHeight=\"4\"\n refX=\"5\"\n refY=\"2\"\n orient=\"180\"\n >\n <path [attr.fill]=\"link.color\" [attr.stroke]=\"link.color\" d=\"M 0 0 L 5 2 L 0 4 z\" />\n </marker>\n\n <ng-template #markerEnd>\n <marker [id]=\"'triangle' + i\" markerUnits=\"strokeWidth\" markerWidth=\"5\" markerHeight=\"4\" refX=\"5\" refY=\"2\" orient=\"auto\">\n <path [attr.fill]=\"link.color\" [attr.stroke]=\"link.color\" d=\"M 0 0 L 5 2 L 0 4 z\" />\n </marker>\n </ng-template>\n </defs>\n </ng-container>\n <line class=\"link-dragging-line\"></line>\n</svg>\n" }]
|
|
185
|
-
}], ctorParameters: () => [{ type: i2.GanttUpper, decorators: [{
|
|
186
|
-
type: Inject,
|
|
187
|
-
args: [GANTT_UPPER_TOKEN]
|
|
188
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.GanttDragContainer }, { type: i0.NgZone }], propDecorators: { flatItems: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], lineClick: [{
|
|
191
|
-
type: Output
|
|
192
|
-
}], ganttLinksOverlay: [{
|
|
193
|
-
type: HostBinding,
|
|
194
|
-
args: ['class.gantt-links-overlay']
|
|
195
|
-
}] } });
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQU1ULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBUyxLQUFLLEVBQUUsS0FBSyxFQUFhLE9BQU8sRUFBUyxNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBYyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBK0IsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFROUMsTUFBTSxPQUFPLG1CQUFtQjtJQXlCNUIsWUFDc0MsVUFBc0IsRUFDaEQsR0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsa0JBQXNDLEVBQ3RDLE1BQWM7UUFKWSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2hELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBN0IxQiw4Q0FBOEM7UUFFOUMsNENBQTRDO1FBRW5DLGNBQVMsR0FBK0MsRUFBRSxDQUFDO1FBRTFELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUV2RCxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFHLGFBQWEsQ0FBQztRQUUvQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBRWhDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSW5CLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVELHNCQUFpQixHQUFHLElBQUksQ0FBQztJQVFoRSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2RCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xGLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUN4RzthQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDNUQsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQzNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGdDQUFnQztRQUNoQyx1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHVDQUF1QztRQUN2QyxzQkFBc0I7UUFDdEIsZ0NBQWdDO1FBQ2hDLHlEQUF5RDtRQUN6RCxtREFBbUQ7UUFDbkQseUdBQXlHO1FBQ3pHLHdDQUF3QztRQUN4QywrQkFBK0I7UUFDL0IsZ0NBQWdDO1FBQ2hDLDBDQUEwQztRQUMxQyw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLCtCQUErQjtRQUMvQiw0REFBNEQ7UUFDNUQsNEJBQTRCO1FBQzVCLHdCQUF3QjtRQUN4QixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLHVDQUF1QztRQUN2QyxZQUFZO1FBQ1osVUFBVTtRQUNWLFdBQVc7UUFDWCxnREFBZ0Q7UUFDaEQsMkNBQTJDO1FBQzNDLDBFQUEwRTtRQUMxRSxnQ0FBZ0M7UUFDaEMsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixrQ0FBa0M7UUFDbEMsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsb0RBQW9EO1FBQ3BELG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFVBQVU7UUFDVixJQUFJO1FBRUosSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxTQUFTLEdBQUcsSUFBeUIsQ0FBQztnQkFDNUMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2hCLEdBQUcsU0FBUzt3QkFDWixNQUFNLEVBQUU7NEJBQ0osQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDbkIsQ0FBQzt5QkFDSjt3QkFDRCxLQUFLLEVBQUU7NEJBQ0gsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSzs0QkFDMUMsQ0FBQzt5QkFDSjtxQkFDSixDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQzFCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEUsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQ3ZELElBQUksWUFBWSxHQUFXLFVBQVUsQ0FBQyxPQUFPLENBQUM7d0JBQzlDLElBQUksV0FBVyxHQUFXLFVBQVUsQ0FBQyxNQUFNLENBQUM7d0JBRTVDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxhQUFhLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDOzRCQUNsRixZQUFZLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQzs0QkFDbEMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7NEJBQ2IsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0NBQ2pDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dDQUMxQixXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQzs0QkFDN0IsQ0FBQztpQ0FBTSxDQUFDO2dDQUNKLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQ0FDbEMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDOzRCQUNwQyxDQUFDO3dCQUNMLENBQUM7d0JBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7NEJBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQzs0QkFDM0QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNOzRCQUNyQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07NEJBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTs0QkFDZixLQUFLLEVBQUUsWUFBWTs0QkFDbkIsWUFBWTs0QkFDWixXQUFXO3lCQUNkLENBQUMsQ0FBQztvQkFDUCxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFhO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUIsRUFBRSxJQUFrQjtRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNoQixLQUFLO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN0QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWtCLEVBQUUsS0FBYTtRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNuRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBa0I7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBMU1RLG1CQUFtQixrQkEwQmhCLGlCQUFpQjtrR0ExQnBCLG1CQUFtQiw4UENoQ2hDLGdwREErQ0EsNENEakJjLEtBQUssbUhBQUUsSUFBSTs7MkZBRVosbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLHFCQUFxQixjQUVuQixJQUFJLFdBQ1AsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDOzswQkE0QmpCLE1BQU07MkJBQUMsaUJBQWlCO3dKQXJCcEIsU0FBUztzQkFBakIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNO2dCQWdCbUMsaUJBQWlCO3NCQUExRCxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXMsXG4gICAgTmdab25lXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW1wdHksIEVNUFRZLCBtZXJnZSwgTkVWRVIsIG9mLCBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBza2lwLCBkZWJvdW5jZVRpbWUsIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdhbnR0R3JvdXBJbnRlcm5hbCB9IGZyb20gJy4uLy4uL2NsYXNzL2dyb3VwJztcbmltcG9ydCB7IEdhbnR0SXRlbUludGVybmFsIH0gZnJvbSAnLi8uLi8uLi9jbGFzcy9pdGVtJztcbmltcG9ydCB7IEdhbnR0TGluZUNsaWNrRXZlbnQgfSBmcm9tICcuLi8uLi9jbGFzcy9ldmVudCc7XG5pbXBvcnQgeyBHYW50dERyYWdDb250YWluZXIgfSBmcm9tICcuLi8uLi9nYW50dC1kcmFnLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBHQU5UVF9VUFBFUl9UT0tFTiwgR2FudHRVcHBlciB9IGZyb20gJy4uLy4uL2dhbnR0LXVwcGVyJztcbmltcG9ydCB7IEdhbnR0TGlua0l0ZW0sIExpbmtJbnRlcm5hbCwgTGlua0NvbG9ycywgR2FudHRMaW5rVHlwZSB9IGZyb20gJy4uLy4uL2NsYXNzL2xpbmsnO1xuaW1wb3J0IHsgR2FudHRMaW5rTGluZSB9IGZyb20gJy4vbGluZXMvbGluZSc7XG5pbXBvcnQgeyBjcmVhdGVMaW5lR2VuZXJhdG9yIH0gZnJvbSAnLi9saW5lcy9mYWN0b3J5JztcbmltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdnYW50dC1saW5rcy1vdmVybGF5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlua3MuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nRm9yLCBOZ0lmXVxufSlcbmV4cG9ydCBjbGFzcyBHYW50dExpbmtzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLy8gQElucHV0KCkgZ3JvdXBzOiBHYW50dEdyb3VwSW50ZXJuYWxbXSA9IFtdO1xuXG4gICAgLy8gQElucHV0KCkgaXRlbXM6IEdhbnR0SXRlbUludGVybmFsW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGZsYXRJdGVtczogKEdhbnR0R3JvdXBJbnRlcm5hbCB8IEdhbnR0SXRlbUludGVybmFsKVtdID0gW107XG5cbiAgICBAT3V0cHV0KCkgbGluZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmVDbGlja0V2ZW50PigpO1xuXG4gICAgcHVibGljIGxpbmtzOiBMaW5rSW50ZXJuYWxbXSA9IFtdO1xuXG4gICAgcHVibGljIGdhbnR0TGlua1R5cGVzID0gR2FudHRMaW5rVHlwZTtcblxuICAgIHB1YmxpYyBzaG93QXJyb3cgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGlua0l0ZW1zOiBHYW50dExpbmtJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgZmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBsaW5rTGluZTogR2FudHRMaW5rTGluZTtcblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZ2FudHQtbGlua3Mtb3ZlcmxheScpIGdhbnR0TGlua3NPdmVybGF5ID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwdWJsaWMgZ2FudHRVcHBlcjogR2FudHRVcHBlcixcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZ2FudHREcmFnQ29udGFpbmVyOiBHYW50dERyYWdDb250YWluZXIsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5saW5rTGluZSA9IGNyZWF0ZUxpbmVHZW5lcmF0b3IodGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zLmxpbmVUeXBlLCB0aGlzLmdhbnR0VXBwZXIpO1xuXG4gICAgICAgIHRoaXMuc2hvd0Fycm93ID0gdGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zLnNob3dBcnJvdztcbiAgICAgICAgLy8gdGhpcy5idWlsZExpbmtzKCk7XG4gICAgICAgIHRoaXMuZmlyc3RDaGFuZ2UgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmJ1aWxkTGlua3MoKTtcblxuICAgICAgICB0aGlzLmdhbnR0RHJhZ0NvbnRhaW5lci5kcmFnU3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLnZpZXdDaGFuZ2UsXG4gICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIuZXhwYW5kQ2hhbmdlLFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLnZpZXcuc3RhcnQkLFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmRyYWdFbmRlZCxcbiAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5saW5rRHJhZ0VuZGVkLFxuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdhbnR0VXBwZXIudGFibGU/LmRyYWdEcm9wcGVkIHx8IEVNUFRZKSlcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoc2tpcCgxKSwgZGVib3VuY2VUaW1lKDApLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkTGlua3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkTGlua3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZUl0ZW1Qb3NpdGlvbigpIHtcbiAgICAgICAgY29uc3QgbGluZUhlaWdodCA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMubGluZUhlaWdodDtcbiAgICAgICAgY29uc3QgYmFySGVpZ2h0ID0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5iYXJIZWlnaHQ7XG4gICAgICAgIHRoaXMubGlua0l0ZW1zID0gW107XG4gICAgICAgIC8vIGlmICh0aGlzLmdyb3Vwcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vICAgICBsZXQgaXRlbU51bSA9IDA7XG4gICAgICAgIC8vICAgICBsZXQgZ3JvdXBOdW0gPSAwO1xuICAgICAgICAvLyAgICAgdGhpcy5ncm91cHMuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgLy8gICAgICAgICBncm91cE51bSsrO1xuICAgICAgICAvLyAgICAgICAgIGlmIChncm91cC5leHBhbmRlZCkge1xuICAgICAgICAvLyAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHJlY3Vyc2l2ZUl0ZW1zKGdyb3VwLml0ZW1zKTtcbiAgICAgICAgLy8gICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgICBjb25zdCB5ID0gKGdyb3VwTnVtICsgaXRlbU51bSArIGl0ZW1JbmRleCkgKiBsaW5lSGVpZ2h0ICsgaXRlbS5yZWZzLnkgKyBiYXJIZWlnaHQgLyAyO1xuICAgICAgICAvLyAgICAgICAgICAgICAgICAgdGhpcy5saW5rSXRlbXMucHVzaCh7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBiZWZvcmU6IHtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgeDogaXRlbS5yZWZzLngsXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHlcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGFmdGVyOiB7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHg6IGl0ZW0ucmVmcy54ICsgaXRlbS5yZWZzLndpZHRoLFxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB5XG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIC8vICAgICAgICAgICAgIH0pO1xuICAgICAgICAvLyAgICAgICAgICAgICBpdGVtTnVtICs9IGl0ZW1zLmxlbmd0aDtcbiAgICAgICAgLy8gICAgICAgICB9XG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGNvbnN0IGl0ZW1zID0gcmVjdXJzaXZlSXRlbXModGhpcy5pdGVtcyk7XG4gICAgICAgIC8vICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpdGVtSW5kZXgpID0+IHtcbiAgICAgICAgLy8gICAgICAgICBjb25zdCB5ID0gaXRlbUluZGV4ICogbGluZUhlaWdodCArIGl0ZW0ucmVmcy55ICsgYmFySGVpZ2h0IC8gMjtcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmxpbmtJdGVtcy5wdXNoKHtcbiAgICAgICAgLy8gICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgLy8gICAgICAgICAgICAgYmVmb3JlOiB7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgICB4OiBpdGVtLnJlZnMueCxcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHlcbiAgICAgICAgLy8gICAgICAgICAgICAgfSxcbiAgICAgICAgLy8gICAgICAgICAgICAgYWZ0ZXI6IHtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHg6IGl0ZW0ucmVmcy54ICsgaXRlbS5yZWZzLndpZHRoLFxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgeVxuICAgICAgICAvLyAgICAgICAgICAgICB9XG4gICAgICAgIC8vICAgICAgICAgfSk7XG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIHRoaXMuZmxhdEl0ZW1zLmZvckVhY2goKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmhhc093blByb3BlcnR5KCdpdGVtcycpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2FudHRJdGVtID0gaXRlbSBhcyBHYW50dEl0ZW1JbnRlcm5hbDtcbiAgICAgICAgICAgICAgICBpZiAoZ2FudHRJdGVtLnJlZnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IGl0ZW1JbmRleCAqIGxpbmVIZWlnaHQgKyBnYW50dEl0ZW0ucmVmcy55ICsgYmFySGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saW5rSXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5nYW50dEl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBnYW50dEl0ZW0ucmVmcy54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBhZnRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IGdhbnR0SXRlbS5yZWZzLnggKyBnYW50dEl0ZW0ucmVmcy53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYnVpbGRMaW5rcygpIHtcbiAgICAgICAgdGhpcy5jb21wdXRlSXRlbVBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMubGlua3MgPSBbXTtcbiAgICAgICAgdGhpcy5saW5rSXRlbXMuZm9yRWFjaCgoc291cmNlKSA9PiB7XG4gICAgICAgICAgICBpZiAoc291cmNlLm9yaWdpbi5zdGFydCB8fCBzb3VyY2Uub3JpZ2luLmVuZCkge1xuICAgICAgICAgICAgICAgIHNvdXJjZS5saW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMubGlua0l0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGxpbmsubGluayk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgKHRhcmdldC5vcmlnaW4uc3RhcnQgfHwgdGFyZ2V0Lm9yaWdpbi5lbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZGVmYXVsdENvbG9yOiBzdHJpbmcgPSBMaW5rQ29sb3JzLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYWN0aXZlQ29sb3I6IHN0cmluZyA9IExpbmtDb2xvcnMuYWN0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay50eXBlID09PSBHYW50dExpbmtUeXBlLmZzICYmIHNvdXJjZS5lbmQuZ2V0VGltZSgpID4gdGFyZ2V0LnN0YXJ0LmdldFRpbWUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvciA9IExpbmtDb2xvcnMuYmxvY2tlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDb2xvciA9IExpbmtDb2xvcnMuYmxvY2tlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLmNvbG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBsaW5rLmNvbG9yID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29sb3IgPSBsaW5rLmNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDb2xvciA9IGxpbmsuY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbG9yID0gbGluay5jb2xvci5kZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDb2xvciA9IGxpbmsuY29sb3IuYWN0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saW5rcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiB0aGlzLmxpbmtMaW5lLmdlbmVyYXRlUGF0aChzb3VyY2UsIHRhcmdldCwgbGluay50eXBlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNvdXJjZS5vcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXQub3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGxpbmsudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdENvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHJhY2tCeShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBvbkxpbmVDbGljayhldmVudDogTW91c2VFdmVudCwgbGluazogTGlua0ludGVybmFsKSB7XG4gICAgICAgIHRoaXMubGluZUNsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBzb3VyY2U6IGxpbmsuc291cmNlLFxuICAgICAgICAgICAgdGFyZ2V0OiBsaW5rLnRhcmdldFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBtb3VzZUVudGVyUGF0aChsaW5rOiBMaW5rSW50ZXJuYWwsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgbGluay5jb2xvciA9IGxpbmsuYWN0aXZlQ29sb3IgfHwgbGluay5kZWZhdWx0Q29sb3I7XG4gICAgICAgIGlmIChpbmRleCA8IHRoaXMubGlua3MubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5saW5rcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5saW5rcy5wdXNoKGxpbmspO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbW91c2VMZWF2ZVBhdGgobGluazogTGlua0ludGVybmFsKSB7XG4gICAgICAgIGxpbmsuY29sb3IgPSBsaW5rLmRlZmF1bHRDb2xvcjtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxzdmcgW2F0dHIud2lkdGhdPVwiZ2FudHRVcHBlci52aWV3LndpZHRoXCIgY2xhc3M9XCJnYW50dC1saW5rcy1vdmVybGF5LW1haW5cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBsaW5rczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgIDxwYXRoXG4gICAgICBbYXR0ci5kXT1cImxpbmsucGF0aFwiXG4gICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICBbYXR0ci5zdHJva2VdPVwibGluay5jb2xvclwiXG4gICAgICBwb2ludGVyLWV2ZW50cz1cIm5vbmVcIlxuICAgICAgW2F0dHIuc3R5bGVdPVwibGluay50eXBlID09PSBnYW50dExpbmtUeXBlcy5zZiA/ICdtYXJrZXItc3RhcnQ6IHVybCgjdHJpYW5nbGUnICsgaSArICcpJyA6ICdtYXJrZXItZW5kOiB1cmwoI3RyaWFuZ2xlJyArIGkgKyAnKSdcIlxuICAgID48L3BhdGg+XG5cbiAgICA8Zz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGNsYXNzPVwibGluay1saW5lXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTGluZUNsaWNrKCRldmVudCwgbGluaylcIlxuICAgICAgICBbYXR0ci5kXT1cImxpbmsucGF0aFwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXJQYXRoKGxpbmssIGkpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZVBhdGgobGluaylcIlxuICAgICAgICBzdHJva2U9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjlcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIGN1cnNvcj1cInBvaW50ZXJcIlxuICAgICAgPjwvcGF0aD5cbiAgICA8L2c+XG4gICAgPGRlZnMgKm5nSWY9XCJzaG93QXJyb3dcIj5cbiAgICAgIDxtYXJrZXJcbiAgICAgICAgKm5nSWY9XCJsaW5rLnR5cGUgPT09IGdhbnR0TGlua1R5cGVzLnNmOyBlbHNlIG1hcmtlckVuZFwiXG4gICAgICAgIFtpZF09XCIndHJpYW5nbGUnICsgaVwiXG4gICAgICAgIG1hcmtlclVuaXRzPVwic3Ryb2tlV2lkdGhcIlxuICAgICAgICBtYXJrZXJXaWR0aD1cIjVcIlxuICAgICAgICBtYXJrZXJIZWlnaHQ9XCI0XCJcbiAgICAgICAgcmVmWD1cIjVcIlxuICAgICAgICByZWZZPVwiMlwiXG4gICAgICAgIG9yaWVudD1cIjE4MFwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoIFthdHRyLmZpbGxdPVwibGluay5jb2xvclwiIFthdHRyLnN0cm9rZV09XCJsaW5rLmNvbG9yXCIgZD1cIk0gMCAwIEwgNSAyIEwgMCA0IHpcIiAvPlxuICAgICAgPC9tYXJrZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbWFya2VyRW5kPlxuICAgICAgICA8bWFya2VyIFtpZF09XCIndHJpYW5nbGUnICsgaVwiIG1hcmtlclVuaXRzPVwic3Ryb2tlV2lkdGhcIiBtYXJrZXJXaWR0aD1cIjVcIiBtYXJrZXJIZWlnaHQ9XCI0XCIgcmVmWD1cIjVcIiByZWZZPVwiMlwiIG9yaWVudD1cImF1dG9cIj5cbiAgICAgICAgICA8cGF0aCBbYXR0ci5maWxsXT1cImxpbmsuY29sb3JcIiBbYXR0ci5zdHJva2VdPVwibGluay5jb2xvclwiIGQ9XCJNIDAgMCBMIDUgMiBMIDAgNCB6XCIgLz5cbiAgICAgICAgPC9tYXJrZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGVmcz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxsaW5lIGNsYXNzPVwibGluay1kcmFnZ2luZy1saW5lXCI+PC9saW5lPlxuPC9zdmc+XG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class GanttLoaderComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GanttLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: GanttLoaderComponent, isStandalone: true, selector: "gantt-loader", host: { classAttribute: "gantt-loader gantt-loader-overlay" }, ngImport: i0, template: `
|
|
6
|
-
<div class="gantt-loader-wrapper">
|
|
7
|
-
<div class="gantt-loader-loading">
|
|
8
|
-
<span class="gantt-loader-loading-spot"></span>
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
`, isInline: true }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: GanttLoaderComponent, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{
|
|
16
|
-
selector: 'gantt-loader',
|
|
17
|
-
template: `
|
|
18
|
-
<div class="gantt-loader-wrapper">
|
|
19
|
-
<div class="gantt-loader-loading">
|
|
20
|
-
<span class="gantt-loader-loading-spot"></span>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
`,
|
|
24
|
-
host: {
|
|
25
|
-
class: 'gantt-loader gantt-loader-overlay'
|
|
26
|
-
},
|
|
27
|
-
standalone: true
|
|
28
|
-
}]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZ0IxQyxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7a0dBQXBCLG9CQUFvQix1SUFabkI7Ozs7OztLQU1UOzsyRkFNUSxvQkFBb0I7a0JBZGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRTs7Ozs7O0tBTVQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxtQ0FBbUM7cUJBQzdDO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dhbnR0LWxvYWRlcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbnR0LWxvYWRlci13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FudHQtbG9hZGVyLWxvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdhbnR0LWxvYWRlci1sb2FkaW5nLXNwb3RcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZ2FudHQtbG9hZGVyIGdhbnR0LWxvYWRlci1vdmVybGF5J1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBHYW50dExvYWRlckNvbXBvbmVudCB7fVxuIl19
|