@gpa-gemstone/react-graph 1.0.70 → 1.0.72
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/lib/Legend.js +36 -6
- package/lib/LegendContext.d.ts +3 -0
- package/lib/LegendContext.js +5 -2
- package/lib/LineLegend.js +57 -50
- package/lib/Plot.js +21 -4
- package/lib/PlotGroup.d.ts +3 -0
- package/lib/PlotGroup.js +78 -0
- package/lib/PlotGroupContext.d.ts +9 -0
- package/lib/PlotGroupContext.js +33 -0
- package/lib/TimeAxis.js +49 -30
- package/lib/YValueAxis.js +64 -31
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -2
- package/package.json +2 -2
package/lib/Legend.js
CHANGED
|
@@ -50,6 +50,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
50
50
|
var React = require("react");
|
|
51
51
|
var GraphContext_1 = require("./GraphContext");
|
|
52
52
|
var LegendContext_1 = require("./LegendContext");
|
|
53
|
+
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
|
53
54
|
var itemHeight = 25;
|
|
54
55
|
var itemsWhenBottom = 3;
|
|
55
56
|
function Legend(props) {
|
|
@@ -59,8 +60,23 @@ function Legend(props) {
|
|
|
59
60
|
var _c = __read(React.useState({ sm: 0, lg: 0 }), 2), nLegends = _c[0], setNLegends = _c[1];
|
|
60
61
|
var _d = __read(React.useState(false), 2), hasScroll = _d[0], setHasScroll = _d[1];
|
|
61
62
|
var _e = __read(React.useState(0), 2), leftPad = _e[0], setLeftPad = _e[1];
|
|
63
|
+
var fontSizeMap = React.useRef(new Map());
|
|
64
|
+
var _f = __read(React.useState(1), 2), smallestFontSize = _f[0], setSmallestFontSize = _f[1];
|
|
65
|
+
var RegisterFontSize = React.useCallback(function (requesterID, fontsize) {
|
|
66
|
+
fontSizeMap.current.set(requesterID, fontsize);
|
|
67
|
+
var values = __spreadArray([], __read(fontSizeMap.current.values()), false);
|
|
68
|
+
var newMinVal = values.length > 0 ? Math.min.apply(Math, __spreadArray([], __read(values), false)) : 1;
|
|
69
|
+
setSmallestFontSize(newMinVal);
|
|
70
|
+
}, []);
|
|
71
|
+
var UnRegisterFontSize = React.useCallback(function (requesterID) {
|
|
72
|
+
fontSizeMap.current.delete(requesterID);
|
|
73
|
+
setSmallestFontSize(function () {
|
|
74
|
+
var values = __spreadArray([], __read(fontSizeMap.current.values()), false);
|
|
75
|
+
return values.length > 0 ? Math.min.apply(Math, __spreadArray([], __read(values), false)) : 1;
|
|
76
|
+
});
|
|
77
|
+
}, []);
|
|
62
78
|
var legendContextValue = React.useMemo(function () {
|
|
63
|
-
var scrollBarSpace = (hasScroll ?
|
|
79
|
+
var scrollBarSpace = (hasScroll ? (0, helper_functions_1.GetScrollbarWidth)() : 0);
|
|
64
80
|
var baseWidth = width - leftPad;
|
|
65
81
|
var baseHeight = props.location === 'bottom' ? itemHeight : Math.max(height / (Math.max(nLegends.sm + nLegends.lg, 1)), itemHeight);
|
|
66
82
|
return {
|
|
@@ -68,10 +84,13 @@ function Legend(props) {
|
|
|
68
84
|
LgWidth: baseWidth - scrollBarSpace,
|
|
69
85
|
SmHeight: baseHeight,
|
|
70
86
|
LgHeight: baseHeight * (props.location === 'bottom' ? 2 : 1),
|
|
87
|
+
SmallestFontSize: smallestFontSize,
|
|
71
88
|
RequestLegendWidth: props.RequestLegendWidth,
|
|
72
|
-
RequestLegendHeight: props.RequestLegendHeight
|
|
89
|
+
RequestLegendHeight: props.RequestLegendHeight,
|
|
90
|
+
RegisterFontSize: RegisterFontSize,
|
|
91
|
+
UnRegisterFontSize: UnRegisterFontSize
|
|
73
92
|
};
|
|
74
|
-
}, [width, height, props.RequestLegendWidth, props.RequestLegendHeight, hasScroll, props.location, leftPad, nLegends]);
|
|
93
|
+
}, [width, height, props.RequestLegendWidth, props.RequestLegendHeight, hasScroll, props.location, leftPad, nLegends, smallestFontSize, RegisterFontSize, UnRegisterFontSize]);
|
|
75
94
|
React.useEffect(function () {
|
|
76
95
|
var newWidth = props.location === 'bottom' ? props.graphWidth : props.width;
|
|
77
96
|
if (newWidth !== width)
|
|
@@ -106,12 +125,23 @@ function Legend(props) {
|
|
|
106
125
|
}, [nLegends, props.location, height, props.RequestLegendHeight]);
|
|
107
126
|
React.useEffect(function () { return setLeftPad(props.location === 'bottom' ? 39 : 0); }, [props.location]);
|
|
108
127
|
return (React.createElement(LegendContext_1.LegendContext.Provider, { value: legendContextValue },
|
|
109
|
-
React.createElement("div", { style: {
|
|
110
|
-
|
|
128
|
+
React.createElement("div", { style: {
|
|
129
|
+
height: height,
|
|
130
|
+
width: width,
|
|
131
|
+
paddingLeft: "".concat(leftPad, "px"),
|
|
132
|
+
position: (props.location === 'bottom' ? 'absolute' : 'relative'),
|
|
133
|
+
float: props.location,
|
|
134
|
+
display: 'flex',
|
|
135
|
+
flexWrap: 'wrap',
|
|
136
|
+
bottom: 0,
|
|
137
|
+
overflowY: hasScroll ? 'scroll' : 'hidden',
|
|
138
|
+
overflowX: hasScroll ? 'visible' : 'hidden',
|
|
139
|
+
cursor: 'default'
|
|
140
|
+
} }, __spreadArray([], __read(graphContext.Data.current.values()), false).map(function (series, index) {
|
|
111
141
|
var _a, _b;
|
|
112
142
|
return (series.legend !== undefined && (!props.HideDisabled || ((_a = series.legend.props.enabled) !== null && _a !== void 0 ? _a : true)) ?
|
|
113
143
|
React.createElement("div", { key: index, "data-html2canvas-ignore": !((_b = series.legend.props.enabled) !== null && _b !== void 0 ? _b : true) }, series.legend) : null);
|
|
114
144
|
}))));
|
|
115
145
|
}
|
|
116
146
|
exports.default = React.memo(Legend);
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6RyxxQkFBcUI7QUFDckIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLDJCQUEyQjtBQUMzQixtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQiwrQ0FBOEM7QUFDOUMsaURBQWdFO0FBQ2hFLG1FQUFtRTtBQWFuRSxJQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsSUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRTFCLFNBQVMsTUFBTSxDQUFDLEtBQWE7SUFDM0IsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQywyQkFBWSxDQUFDLENBQUM7SUFDOUMsSUFBQSxLQUFBLE9BQW9CLEtBQUssQ0FBQyxRQUFRLENBQVMsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBQSxFQUF2RyxLQUFLLFFBQUEsRUFBRSxRQUFRLFFBQXdGLENBQUM7SUFDekcsSUFBQSxLQUFBLE9BQXNCLEtBQUssQ0FBQyxRQUFRLENBQVMsS0FBSyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMs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
|
package/lib/LegendContext.d.ts
CHANGED
|
@@ -4,8 +4,11 @@ export interface ILegendContext {
|
|
|
4
4
|
LgWidth: number;
|
|
5
5
|
SmHeight: number;
|
|
6
6
|
LgHeight: number;
|
|
7
|
+
SmallestFontSize: number;
|
|
7
8
|
RequestLegendWidth: (width: number, requesterID: string) => void;
|
|
8
9
|
RequestLegendHeight: (height: number) => void;
|
|
10
|
+
RegisterFontSize: (requesterID: string, fontsize: number) => void;
|
|
11
|
+
UnRegisterFontSize: (requesterID: string) => void;
|
|
9
12
|
}
|
|
10
13
|
export interface ILegendRequiredProps {
|
|
11
14
|
size: 'lg' | 'sm';
|
package/lib/LegendContext.js
CHANGED
|
@@ -29,7 +29,10 @@ exports.LegendContext = React.createContext({
|
|
|
29
29
|
LgWidth: 0,
|
|
30
30
|
SmHeight: 0,
|
|
31
31
|
LgHeight: 0,
|
|
32
|
+
SmallestFontSize: 0,
|
|
32
33
|
RequestLegendWidth: function () { return undefined; },
|
|
33
|
-
RequestLegendHeight: function () { return undefined; }
|
|
34
|
+
RequestLegendHeight: function () { return undefined; },
|
|
35
|
+
RegisterFontSize: function () { return undefined; },
|
|
36
|
+
UnRegisterFontSize: function () { return undefined; }
|
|
34
37
|
});
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnZW5kQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MZWdlbmRDb250ZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5R0FBeUc7QUFDekcsMkJBQTJCO0FBQzNCLEVBQUU7QUFDRixxRUFBcUU7QUFDckUsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsc0dBQXNHO0FBQ3RHLHdGQUF3RjtBQUN4RixFQUFFO0FBQ0YsMENBQTBDO0FBQzFDLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLDRFQUE0RTtBQUM1RSxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHdHQUF3RztBQUN4RywwQkFBMEI7QUFDMUIsbURBQW1EO0FBQ25ELEVBQUU7QUFDRix5R0FBeUc7QUFDekcsNkJBQStCO0FBbUJsQixRQUFBLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFpQjtJQUM3RCxPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLENBQUM7SUFDWCxRQUFRLEVBQUUsQ0FBQztJQUNYLGdCQUFnQixFQUFFLENBQUM7SUFDbkIsa0JBQWtCLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQ25DLG1CQUFtQixFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUNwQyxnQkFBZ0IsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDakMsa0JBQWtCLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0NBQ3RDLENBQUMsQ0FBQyJ9
|
package/lib/LineLegend.js
CHANGED
|
@@ -45,13 +45,14 @@ var LegendContext_1 = require("./LegendContext");
|
|
|
45
45
|
var fontFamily = window.getComputedStyle(document.body).fontFamily;
|
|
46
46
|
var nonTextualWidth = 25;
|
|
47
47
|
var cssStyle = "margin: auto auto auto 0px; display: inline-block; font-weight: 400; font-family: ".concat(fontFamily, ";");
|
|
48
|
+
var scrollBarWidth = (0, helper_functions_1.GetScrollbarWidth)();
|
|
48
49
|
function LineLegend(props) {
|
|
50
|
+
var containerRef = React.useRef(null);
|
|
49
51
|
var _a = __read(React.useState(props.label), 2), label = _a[0], setLabel = _a[1];
|
|
50
52
|
var _b = __read(React.useState(100), 2), legendWidth = _b[0], setLegendWith = _b[1];
|
|
51
53
|
var _c = __read(React.useState(100), 2), legendHeight = _c[0], setLegendHeight = _c[1];
|
|
52
|
-
var _d = __read(React.useState(
|
|
53
|
-
var _e = __read(React.useState(
|
|
54
|
-
var _f = __read(React.useState((0, helper_functions_1.CreateGuid)()), 1), guid = _f[0];
|
|
54
|
+
var _d = __read(React.useState(false), 2), useMultiLine = _d[0], setUseMultiLine = _d[1];
|
|
55
|
+
var _e = __read(React.useState((0, helper_functions_1.CreateGuid)()), 1), guid = _e[0];
|
|
55
56
|
var context = React.useContext(LegendContext_1.LegendContext);
|
|
56
57
|
React.useEffect(function () {
|
|
57
58
|
return function () {
|
|
@@ -64,62 +65,68 @@ function LineLegend(props) {
|
|
|
64
65
|
React.useEffect(function () { return setLegendWith(props.size === 'sm' ? context.SmWidth : context.LgWidth); }, [context.LgWidth, context.SmWidth, props.size]);
|
|
65
66
|
React.useEffect(function () { return setLegendHeight(props.size === 'sm' ? context.SmHeight : context.LgHeight); }, [context.SmHeight, context.LgHeight, props.size]);
|
|
66
67
|
React.useEffect(function () {
|
|
67
|
-
var
|
|
68
|
-
var
|
|
69
|
-
var
|
|
68
|
+
var _a, _b;
|
|
69
|
+
var hasYScroll = legendHeight < ((_b = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.scrollHeight) !== null && _b !== void 0 ? _b : -1);
|
|
70
|
+
var availableWidth = hasYScroll ? legendWidth - scrollBarWidth : legendWidth;
|
|
71
|
+
var newFontSize = 1;
|
|
72
|
+
var textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(newFontSize, "em"), label, "".concat(cssStyle), "".concat(availableWidth - nonTextualWidth, "px"));
|
|
73
|
+
var textWidth = (0, helper_functions_1.GetTextWidth)(fontFamily, "".concat(newFontSize, "em"), label, "".concat(cssStyle), "".concat(textHeight, "px"));
|
|
70
74
|
var useML = false;
|
|
71
75
|
context.RequestLegendWidth(textWidth + nonTextualWidth, guid);
|
|
72
|
-
while (
|
|
73
|
-
|
|
74
|
-
textWidth = GetTextWidth(fontFamily, "".concat(
|
|
75
|
-
textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(
|
|
76
|
+
while (newFontSize > 0.4 && (textWidth > availableWidth - nonTextualWidth || textHeight > legendHeight)) {
|
|
77
|
+
newFontSize -= 0.05;
|
|
78
|
+
textWidth = (0, helper_functions_1.GetTextWidth)(fontFamily, "".concat(newFontSize, "em"), label, "".concat(cssStyle), "".concat(legendHeight, "px"), "".concat(useML ? 'normal' : undefined), "".concat(availableWidth - nonTextualWidth, "px"));
|
|
79
|
+
textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(newFontSize, "em"), label, "".concat(cssStyle), "".concat(availableWidth - nonTextualWidth, "px"), "".concat(useML ? 'normal' : undefined));
|
|
76
80
|
useML = false;
|
|
77
81
|
// Consider special case when width is limiting but height is available
|
|
78
|
-
if (textWidth >= (
|
|
82
|
+
if (textWidth >= (availableWidth - nonTextualWidth) && textHeight < legendHeight) {
|
|
79
83
|
useML = true;
|
|
80
|
-
textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(
|
|
81
|
-
textWidth = GetTextWidth(fontFamily, "".concat(
|
|
84
|
+
textHeight = (0, helper_functions_1.GetTextHeight)(fontFamily, "".concat(newFontSize, "em"), label, "".concat(cssStyle), "".concat(availableWidth - nonTextualWidth, "px"), "".concat(useML ? 'normal' : undefined));
|
|
85
|
+
textWidth = (0, helper_functions_1.GetTextWidth)(fontFamily, "".concat(newFontSize, "em"), label, "".concat(cssStyle), "".concat(legendHeight, "px"), "".concat(useML ? 'normal' : undefined), "".concat(availableWidth - nonTextualWidth, "px"));
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
|
-
|
|
88
|
+
context.RegisterFontSize(guid, newFontSize);
|
|
85
89
|
setUseMultiLine(useML);
|
|
86
|
-
}, [label, legendWidth, legendHeight, props.size, props.hasNoData]);
|
|
87
|
-
|
|
90
|
+
}, [label, legendWidth, legendHeight, props.size, props.hasNoData, guid, context.RegisterFontSize]);
|
|
91
|
+
React.useEffect(function () {
|
|
92
|
+
return function () {
|
|
93
|
+
context.UnRegisterFontSize(guid);
|
|
94
|
+
};
|
|
95
|
+
}, [guid]);
|
|
96
|
+
return (React.createElement("div", { style: { height: legendHeight, width: legendWidth }, ref: containerRef },
|
|
88
97
|
React.createElement("div", { onClick: function () { return props.setEnabled(!props.enabled); }, style: { width: '100%', display: 'flex', alignItems: 'center', marginRight: '5px', height: '100%' } },
|
|
89
98
|
(props.lineStyle === '-' ?
|
|
90
|
-
React.createElement("div", { style: {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
document.body.removeChild(container);
|
|
122
|
-
return Math.ceil(width);
|
|
99
|
+
React.createElement("div", { style: {
|
|
100
|
+
width: '10px',
|
|
101
|
+
height: 0,
|
|
102
|
+
borderTop: "2px solid ".concat(props.color),
|
|
103
|
+
borderRight: "10px solid ".concat(props.color),
|
|
104
|
+
borderBottom: "2px solid ".concat(props.color),
|
|
105
|
+
borderLeft: "10px solid ".concat(props.color),
|
|
106
|
+
overflow: 'hidden',
|
|
107
|
+
marginRight: '5px',
|
|
108
|
+
opacity: (props.enabled ? 1 : 0.5)
|
|
109
|
+
} }) :
|
|
110
|
+
React.createElement("div", { style: {
|
|
111
|
+
width: '10px',
|
|
112
|
+
height: '4px',
|
|
113
|
+
borderTop: 'none',
|
|
114
|
+
borderRight: "3px solid ".concat(props.color),
|
|
115
|
+
borderBottom: 'none',
|
|
116
|
+
borderLeft: "3px solid ".concat(props.color),
|
|
117
|
+
overflow: 'hidden',
|
|
118
|
+
marginRight: '5px',
|
|
119
|
+
opacity: (props.enabled ? 1 : 0.5)
|
|
120
|
+
} })),
|
|
121
|
+
React.createElement("label", { style: {
|
|
122
|
+
fontFamily: fontFamily,
|
|
123
|
+
fontWeight: 400,
|
|
124
|
+
display: 'inline-block',
|
|
125
|
+
margin: 'auto',
|
|
126
|
+
marginLeft: 0,
|
|
127
|
+
fontSize: context.SmallestFontSize + 'em',
|
|
128
|
+
whiteSpace: (useMultiLine ? 'normal' : 'nowrap')
|
|
129
|
+
} }, label))));
|
|
123
130
|
}
|
|
124
131
|
exports.default = LineLegend;
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUxlZ2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lTGVnZW5kLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLHlCQUF5QjtBQUN6QixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsNkJBQStCO0FBRS9CLG1FQUE0RztBQUM1Ryx5REFBb0Q7QUFDcEQsaURBQXNFO0FBVXRFLElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ3JFLElBQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztBQUMzQixJQUFNLFFBQVEsR0FBRyw0RkFBcUYsVUFBVSxNQUFHLENBQUE7QUFDbkgsSUFBTSxjQUFjLEdBQUcsSUFBQSxvQ0FBaUIsR0FBRSxDQUFDO0FBRTNDLFNBQVMsVUFBVSxDQUFDLEtBQWE7SUFDN0IsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFFekQsSUFBQSxLQUFBLE9BQW9CLEtBQUssQ0FBQyxRQUFRLENBQVMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFBLEVBQXRELEtBQUssUUFBQSxFQUFFLFFBQVEsUUFBdUMsQ0FBQztJQUN4RCxJQUFBLEtBQUEsT0FBK0IsS0FBSyxDQUFDLFFBQVEsQ0FBUyxHQUFHLENBQUMsSUFBQSxFQUF6RCxXQUFXLFFB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
|