@gpa-gemstone/react-graph 1.0.92 → 1.0.93
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/DataLegend.d.ts +1 -1
- package/lib/Hooks/useLegend.d.ts +15 -0
- package/lib/Hooks/useLegend.js +75 -0
- package/lib/Line.d.ts +3 -0
- package/lib/Line.js +11 -24
- package/lib/Pill.d.ts +6 -0
- package/lib/Pill.js +29 -19
- package/package.json +1 -1
package/lib/DataLegend.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { LineStyle } from './GraphContext';
|
|
3
3
|
import { ILegendRequiredProps } from './LegendContext';
|
|
4
|
-
type LegendStyle = LineStyle | 'none' | 'square' | 'circle';
|
|
4
|
+
export type LegendStyle = LineStyle | 'none' | 'square' | 'circle';
|
|
5
5
|
export interface IProps extends ILegendRequiredProps {
|
|
6
6
|
color: string;
|
|
7
7
|
legendSymbol: LegendStyle;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LegendStyle } from '../DataLegend';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to create and manage legend entries/operations.
|
|
4
|
+
* @param color The color of the legend entry.
|
|
5
|
+
* @param legendSymbol The symbol style of the legend entry.
|
|
6
|
+
* @param guid The unique identifier for the data series component.
|
|
7
|
+
* @param hasNoData Indicates if the data series has no data.
|
|
8
|
+
* @param legendLabel Text label for the legend entry.
|
|
9
|
+
* @returns An object containing the createLegend function and the enabled state.
|
|
10
|
+
*/
|
|
11
|
+
declare const useLegend: (color: string, legendSymbol: LegendStyle, guid: string, hasNoData?: boolean, legendLabel?: string) => {
|
|
12
|
+
createLegend: () => JSX.Element | undefined;
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
};
|
|
15
|
+
export default useLegend;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ******************************************************************************************************
|
|
3
|
+
// useLegend.tsx - Gbtc
|
|
4
|
+
//
|
|
5
|
+
// Copyright © 2026, Grid Protection Alliance. All Rights Reserved.
|
|
6
|
+
//
|
|
7
|
+
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
|
|
8
|
+
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
|
|
9
|
+
// The GPA licenses this file to you under the MIT License (MIT), the "License"; you may not use this
|
|
10
|
+
// file except in compliance with the License. You may obtain a copy of the License at:
|
|
11
|
+
//
|
|
12
|
+
// http://opensource.org/licenses/MIT
|
|
13
|
+
//
|
|
14
|
+
// Unless agreed to in writing, the subject software distributed under the License is distributed on an
|
|
15
|
+
// "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
|
|
16
|
+
// License for the specific language governing permissions and limitations.
|
|
17
|
+
//
|
|
18
|
+
// Code Modification History:
|
|
19
|
+
// ----------------------------------------------------------------------------------------------------
|
|
20
|
+
// 01/05/2026 - Preston Crawford
|
|
21
|
+
// Generated original version of source code.
|
|
22
|
+
//
|
|
23
|
+
// ******************************************************************************************************
|
|
24
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
25
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
26
|
+
if (!m) return o;
|
|
27
|
+
var i = m.call(o), r, ar = [], e;
|
|
28
|
+
try {
|
|
29
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
30
|
+
}
|
|
31
|
+
catch (error) { e = { error: error }; }
|
|
32
|
+
finally {
|
|
33
|
+
try {
|
|
34
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
35
|
+
}
|
|
36
|
+
finally { if (e) throw e.error; }
|
|
37
|
+
}
|
|
38
|
+
return ar;
|
|
39
|
+
};
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
var React = require("react");
|
|
42
|
+
var GraphContext_1 = require("../GraphContext");
|
|
43
|
+
var DataLegend_1 = require("../DataLegend");
|
|
44
|
+
/**
|
|
45
|
+
* Hook to create and manage legend entries/operations.
|
|
46
|
+
* @param color The color of the legend entry.
|
|
47
|
+
* @param legendSymbol The symbol style of the legend entry.
|
|
48
|
+
* @param guid The unique identifier for the data series component.
|
|
49
|
+
* @param hasNoData Indicates if the data series has no data.
|
|
50
|
+
* @param legendLabel Text label for the legend entry.
|
|
51
|
+
* @returns An object containing the createLegend function and the enabled state.
|
|
52
|
+
*/
|
|
53
|
+
var useLegend = function (color, legendSymbol, guid, hasNoData, legendLabel) {
|
|
54
|
+
var context = React.useContext(GraphContext_1.GraphContext);
|
|
55
|
+
var _a = __read(React.useState(true), 2), enabled = _a[0], setEnabled = _a[1];
|
|
56
|
+
var createLegend = React.useCallback(function () {
|
|
57
|
+
if (legendLabel === undefined || guid === "")
|
|
58
|
+
return undefined;
|
|
59
|
+
return React.createElement(DataLegend_1.default, { id: guid, label: legendLabel, color: color, legendSymbol: legendSymbol, setEnabled: setEnabled, enabled: enabled, hasNoData: hasNoData !== null && hasNoData !== void 0 ? hasNoData : false });
|
|
60
|
+
}, [color, enabled, legendLabel, guid, legendSymbol, hasNoData]);
|
|
61
|
+
React.useEffect(function () {
|
|
62
|
+
if (guid === "")
|
|
63
|
+
return;
|
|
64
|
+
context.SetLegend(guid, createLegend());
|
|
65
|
+
}, [enabled, createLegend, guid, context]);
|
|
66
|
+
React.useEffect(function () {
|
|
67
|
+
if (context.MassEnableCommand.command === "enable-all")
|
|
68
|
+
setEnabled(true);
|
|
69
|
+
else if (context.MassEnableCommand.command === "disable-others")
|
|
70
|
+
setEnabled(guid === context.MassEnableCommand.requester);
|
|
71
|
+
}, [context.MassEnableCommand, guid]);
|
|
72
|
+
return { createLegend: createLegend, enabled: enabled };
|
|
73
|
+
};
|
|
74
|
+
exports.default = useLegend;
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGVnZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0hvb2tzL3VzZUxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHlHQUF5RztBQUN6Ryx3QkFBd0I7QUFDeEIsRUFBRTtBQUNGLHFFQUFxRTtBQUNyRSxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4RyxzR0FBc0c7QUFDdEcsd0ZBQXdGO0FBQ3hGLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsRUFBRTtBQUNGLHdHQUF3RztBQUN4Ryx3R0FBd0c7QUFDeEcsNEVBQTRFO0FBQzVFLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsd0dBQXdHO0FBQ3hHLGlDQUFpQztBQUNqQyxtREFBbUQ7QUFDbkQsRUFBRTtBQUNGLHlHQUF5Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpHLDZCQUErQjtBQUMvQixnREFBK0M7QUFDL0MsNENBQXdEO0FBRXhEOzs7Ozs7OztHQVFHO0FBQ0gsSUFBTSxTQUFTLEdBQUcsVUFBQyxLQUFhLEVBQUUsWUFBeUIsRUFBRSxJQUFZLEVBQUUsU0FBbUIsRUFBRSxXQUFvQjtJQUNoSCxJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQztJQUN6QyxJQUFBLEtBQUEsT0FBd0IsS0FBSyxDQUFDLFFBQVEsQ0FBVSxJQUFJLENBQUMsSUFBQSxFQUFwRCxPQUFPLFFBQUEsRUFBRSxVQUFVLFFBQWlDLENBQUM7SUFFNUQsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLFdBQVcsS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEMsT0FBTyxTQUFTLENBQUM7UUFFckIsT0FBTyxvQkFBQyxvQkFBVSxJQUNkLEVBQUUsRUFBRSxJQUFJLEVBQ1IsS0FBSyxFQUFFLFdBQVcsRUFDbEIsS0FBSyxFQUFFLEtBQUssRUFDWixZQUFZLEVBQUUsWUFBWSxFQUMxQixVQUFVLEVBQUUsVUFBVSxFQUN0QixPQUFPLEVBQUUsT0FBTyxFQUNoQixTQUFTLEVBQUUsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksS0FBSyxHQUMvQixDQUFDO0lBQ1AsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRWpFLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDWixJQUFJLElBQUksS0FBSyxFQUFFO1lBQUUsT0FBTztRQUN4QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFM0MsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNaLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sS0FBSyxZQUFZO1lBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNoQixJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEtBQUssZ0JBQWdCO1lBQzNELFVBQVUsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sRUFBRSxZQUFZLGNBQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDO0FBQ3JDLENBQUMsQ0FBQztBQUVGLGtCQUFlLFNBQVMsQ0FBQyJ9
|
package/lib/Line.d.ts
CHANGED
|
@@ -16,6 +16,9 @@ export interface IProps {
|
|
|
16
16
|
axis?: AxisIdentifier;
|
|
17
17
|
onHover?: (x: number, y: number) => void;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Single Line with ability to turn off and on.
|
|
21
|
+
*/
|
|
19
22
|
export declare const InternalLine: React.ForwardRefExoticComponent<IInteralProps & React.RefAttributes<PointNode | null>>;
|
|
20
23
|
declare const Line: (props: IProps) => JSX.Element;
|
|
21
24
|
export default Line;
|
package/lib/Line.js
CHANGED
|
@@ -65,29 +65,27 @@ var React = require("react");
|
|
|
65
65
|
var GraphContext_1 = require("./GraphContext");
|
|
66
66
|
var moment = require("moment");
|
|
67
67
|
var PointNode_1 = require("./PointNode");
|
|
68
|
-
var
|
|
68
|
+
var useLegend_1 = require("./Hooks/useLegend");
|
|
69
|
+
/**
|
|
70
|
+
* Single Line with ability to turn off and on.
|
|
71
|
+
*/
|
|
69
72
|
exports.InternalLine = React.forwardRef(function (props, ref) {
|
|
70
73
|
var _a;
|
|
71
|
-
/*
|
|
72
|
-
Single Line with ability to turn off and on.
|
|
73
|
-
*/
|
|
74
74
|
var _b = __read(React.useState(""), 2), guid = _b[0], setGuid = _b[1];
|
|
75
75
|
var _c = __read(React.useState([NaN, NaN]), 2), highlight = _c[0], setHighlight = _c[1];
|
|
76
|
-
var _d = __read(React.useState(
|
|
77
|
-
var _e = __read(React.useState(null), 2), data = _e[0], setData = _e[1];
|
|
76
|
+
var _d = __read(React.useState(null), 2), data = _d[0], setData = _d[1];
|
|
78
77
|
var context = React.useContext(GraphContext_1.GraphContext);
|
|
79
78
|
var showPoints = React.useMemo(function () { var _a, _b, _c; return ((_a = props.showPoints) !== null && _a !== void 0 ? _a : false) || (((_b = props.autoShowPoints) !== null && _b !== void 0 ? _b : true) && ((_c = data === null || data === void 0 ? void 0 : data.GetCount(context.XDomain[0], context.XDomain[1])) !== null && _c !== void 0 ? _c : 1000) <= 100); }, [props.showPoints, props.autoShowPoints, data, context.XDomain]);
|
|
80
79
|
var points = React.useMemo(function () { var _a; return (_a = data === null || data === void 0 ? void 0 : data.GetData(context.XDomain[0], context.XDomain[1], true)) !== null && _a !== void 0 ? _a : []; }, [context.XDomain, data]);
|
|
81
80
|
React.useImperativeHandle(ref, function () { return data; }, [data]);
|
|
82
|
-
var
|
|
81
|
+
var legendTxt = React.useMemo(function () {
|
|
83
82
|
var _a;
|
|
84
|
-
if (props.legend === undefined || guid === "")
|
|
85
|
-
return undefined;
|
|
86
83
|
var txt = props.legend;
|
|
87
84
|
if (((_a = props.highlightHover) !== null && _a !== void 0 ? _a : false) && !isNaN(highlight[0]) && !isNaN(highlight[1]))
|
|
88
85
|
txt = txt + " (".concat(moment.utc(highlight[0]).format('MM/DD/YY hh:mm:ss'), ": ").concat(highlight[1].toPrecision(6), ")");
|
|
89
|
-
return
|
|
90
|
-
}, [props.
|
|
86
|
+
return txt;
|
|
87
|
+
}, [props.legend, props.highlightHover, highlight]);
|
|
88
|
+
var _e = (0, useLegend_1.default)(props.color, props.lineStyle, guid, data == null, legendTxt), enabled = _e.enabled, createLegend = _e.createLegend;
|
|
91
89
|
var createContextData = React.useCallback(function () {
|
|
92
90
|
return {
|
|
93
91
|
legend: createLegend(),
|
|
@@ -95,7 +93,7 @@ exports.InternalLine = React.forwardRef(function (props, ref) {
|
|
|
95
93
|
enabled: enabled,
|
|
96
94
|
getMax: function (t) { return (data == null || !enabled ? -Infinity : data.GetLimits(t[0], t[1])[1]); },
|
|
97
95
|
getMin: function (t) { return (data == null || !enabled ? Infinity : data.GetLimits(t[0], t[1])[0]); },
|
|
98
|
-
getPoints: function (t, n) { return (data == null || !enabled ? NaN : data.GetPoints(t, n !== null && n !== void 0 ? n : 1)); }
|
|
96
|
+
getPoints: function (t, n) { return (data == null || !enabled ? [[NaN]] : data.GetPoints(t, n !== null && n !== void 0 ? n : 1)); }
|
|
99
97
|
};
|
|
100
98
|
}, [props.axis, enabled, data, createLegend, props.reRender]);
|
|
101
99
|
React.useEffect(function () {
|
|
@@ -120,23 +118,12 @@ exports.InternalLine = React.forwardRef(function (props, ref) {
|
|
|
120
118
|
}
|
|
121
119
|
}
|
|
122
120
|
}, [data, context.XHover]);
|
|
123
|
-
React.useEffect(function () {
|
|
124
|
-
if (context.MassEnableCommand.command === "enable-all")
|
|
125
|
-
setEnabled(true);
|
|
126
|
-
else if (context.MassEnableCommand.command === "disable-others")
|
|
127
|
-
setEnabled(guid === context.MassEnableCommand.requester);
|
|
128
|
-
}, [context.MassEnableCommand]);
|
|
129
121
|
React.useEffect(function () {
|
|
130
122
|
if (props.data == null)
|
|
131
123
|
setData(null);
|
|
132
124
|
else
|
|
133
125
|
setData(new PointNode_1.PointNode(props.data));
|
|
134
126
|
}, [props.data]);
|
|
135
|
-
React.useEffect(function () {
|
|
136
|
-
if (guid === "")
|
|
137
|
-
return;
|
|
138
|
-
context.SetLegend(guid, createLegend());
|
|
139
|
-
}, [highlight, enabled]);
|
|
140
127
|
React.useEffect(function () {
|
|
141
128
|
var id = context.AddData(createContextData());
|
|
142
129
|
setGuid(id);
|
|
@@ -184,4 +171,4 @@ exports.InternalLine = React.forwardRef(function (props, ref) {
|
|
|
184
171
|
});
|
|
185
172
|
var Line = function (props) { return React.createElement(exports.InternalLine, __assign({}, props)); };
|
|
186
173
|
exports.default = Line;
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW5lLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsMEJBQTBCO0FBQzFCLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6Ryw2QkFBK0I7QUFDL0IsK0NBQXdHO0FBQ3hHLCtCQUFpQztBQUNqQyx5Q0FBd0M7QUFDeEMsK0NBQTBDO0FBbUIxQzs7R0FFRztBQUNVLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQWtDLFVBQUMsS0FBSyxFQUFFLEdBQUc7O0lBRS9FLElBQUEsS0FBQSxPQUFrQixLQUFLLENBQUMsUUFBUSxDQUFTLEVBQUUsQ0FBQyxJQUFBLEVBQTNDLElBQUksUUFBQSxFQUFFLE9BQU8sUUFBOEIsQ0FBQztJQUM3QyxJQUFBLEtBQUEsT0FBNEIsS0FBSyxDQUFDLFFBQVEsQ0FBbUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBQSxFQUF2RSxTQUFTLFFBQUEsRUFBRSxZQUFZLFFBQWdELENBQUM7SUFDekUsSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQW1CLElBQUksQ0FBQyxJQUFBLEVBQXZELElBQUksUUFBQSxFQUFFLE9BQU8sUUFBMEMsQ0FBQztJQUMvRCxJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLDJCQUFZLENBQUMsQ0FBQztJQUMvQyxJQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLDhCQUFNLE9BQUEsQ0FBQyxNQUFBLEtBQUssQ0FBQyxVQUFVLG1DQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFBLEtBQUssQ0FBQyxjQUFjLG1DQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQ0FBSSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQSxFQUFBLEVBQzdLLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUVyRSxJQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLHNCQUN6QixPQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLG1DQUFJLEVBQUUsQ0FBQSxFQUFBLEVBQy9ELENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRS9CLEtBQUssQ0FBQyxtQkFBbUIsQ0FBcUMsR0FBRyxFQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUV2RixJQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDOztRQUM1QixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBRXZCLElBQUksQ0FBQyxNQUFBLEtBQUssQ0FBQyxjQUFjLG1DQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRSxHQUFHLEdBQUcsR0FBRyxHQUFHLFlBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsZUFBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFHLENBQUE7UUFFNUcsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUU5QyxJQUFBLEtBQTRCLElBQUEsbUJBQVMsRUFBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQWhHLE9BQU8sYUFBQSxFQUFFLFlBQVksa0JBQTJFLENBQUM7SUFFekcsSUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3hDLE9BQU87WUFDSCxNQUFNLEVBQUUsWUFBWSxFQUFFO1lBQ3RCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUF0RSxDQUFzRTtZQUNyRixNQUFNLEVBQUUsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBckUsQ0FBcUU7WUFDcEYsU0FBUyxFQUFFLFVBQUMsQ0FBQyxFQUFFLENBQUUsSUFBSyxPQUFBLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBRCxDQUFDLGNBQUQsQ0FBQyxHQUFJLENBQUMsQ0FBQyxDQUFDLEVBQWhFLENBQWdFO1NBQ3pGLENBQUM7SUFDTixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRTlELEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDWixJQUFJLElBQUksS0FBSyxFQUFFO1lBQ1gsT0FBTztRQUNYLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFFeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNaLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEYsWUFBWSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDeEIsQ0FBQztZQUNGLElBQUksQ0FBQztnQkFDRCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQ2hCLFlBQVksQ0FBQyxLQUF5QixDQUFDLENBQUM7b0JBQ3hDLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJO3dCQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDO1lBQ0wsQ0FBQztZQUFDLFdBQU0sQ0FBQztnQkFDTCxZQUFZLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUUzQixLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ1osSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUk7WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7O1lBQ2pDLE9BQU8sQ0FBQyxJQUFJLHFCQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFakIsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNaLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNaLE9BQU8sY0FBUSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLElBQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBQyxZQUF3Qjs7UUFDNUQsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUE7UUFFYixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDOztZQUVqQixLQUEyQixJQUFBLGlCQUFBLFNBQUEsWUFBWSxDQUFBLDBDQUFBLG9FQUFFLENBQUM7Z0JBQS9CLElBQUEsS0FBQSxpQ0FBWSxFQUFYLElBQUksUUFBQSxFQUFFLElBQUksUUFBQTtnQkFDbEIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztvQkFBRSxTQUFTO2dCQUN6QyxJQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QyxJQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxzQkFBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDakUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFHLENBQUMsY0FBSSxDQUFDLENBQUUsQ0FBQyxDQUFDO1lBQzVCLENBQUM7Ozs7Ozs7OztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLE9BQU8sTUFBTSxDQUFBO0lBQ2pCLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUVsRSxPQUFPLENBQ0gsT0FBTyxDQUFDLENBQUM7UUFDTDtZQUNJLDhCQUNJLENBQUMsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQ3ZCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFDdEcsZUFBZSxFQUFFLHNCQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FDL0M7WUFFRCxVQUFVLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLFVBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ2IsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFBRSxPQUFPLElBQUksQ0FBQTtvQkFDN0MsT0FBTyxDQUNILGdDQUNJLEdBQUcsRUFBRSxDQUFDLEVBQ04sQ0FBQyxFQUFFLENBQUMsRUFDSixFQUFFLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLHNCQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMzRCxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFDakIsTUFBTSxFQUFFLGNBQWMsRUFDdEIsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQSxtQ0FBbUMsRUFBRSxHQUM1RCxDQUNMLENBQUE7Z0JBQ0wsQ0FBQyxDQUNBO2dCQUNELENBQUMsQ0FBQyxJQUFJO1lBRVQsQ0FBQyxNQUFBLEtBQUssQ0FBQyxjQUFjLG1DQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlFLGdDQUNJLENBQUMsRUFBRSxDQUFDLEVBQ0osRUFBRSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3pDLEVBQUUsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxzQkFBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDbEUsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQ2pCLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUEsbUNBQW1DLEVBQUUsR0FDNUQ7Z0JBQ0YsQ0FBQyxDQUFDLElBQUksQ0FDVCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25CLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQztBQUVILElBQU0sSUFBSSxHQUFHLFVBQUMsS0FBYSxJQUFLLE9BQUEsb0JBQUMsb0JBQVksZUFBSyxLQUFLLEVBQUksRUFBM0IsQ0FBMkIsQ0FBQztBQUM1RCxrQkFBZSxJQUFJLENBQUMifQ==
|
package/lib/Pill.d.ts
CHANGED
|
@@ -68,6 +68,12 @@ export interface IProps {
|
|
|
68
68
|
* @type {(actions: IActionFunctions) => void}
|
|
69
69
|
*/
|
|
70
70
|
OnClick?: (x: number, y: number, actions: IActionFunctions) => void;
|
|
71
|
+
/**
|
|
72
|
+
* Legend text for the pill.
|
|
73
|
+
* @optional
|
|
74
|
+
* @type {string}
|
|
75
|
+
*/
|
|
76
|
+
Legend?: string;
|
|
71
77
|
}
|
|
72
78
|
declare const Pill: (props: IProps) => JSX.Element | null;
|
|
73
79
|
export default Pill;
|
package/lib/Pill.js
CHANGED
|
@@ -41,11 +41,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
41
41
|
var helper_functions_1 = require("@gpa-gemstone/helper-functions");
|
|
42
42
|
var React = require("react");
|
|
43
43
|
var GraphContext_1 = require("./GraphContext");
|
|
44
|
+
var useLegend_1 = require("./Hooks/useLegend");
|
|
44
45
|
var Pill = function (props) {
|
|
45
46
|
var _a;
|
|
46
47
|
var context = React.useContext(GraphContext_1.GraphContext);
|
|
47
48
|
var _b = __read(React.useState(""), 2), guid = _b[0], setGuid = _b[1];
|
|
48
49
|
var _c = __read(React.useState(1), 2), textSize = _c[0], setTextSize = _c[1];
|
|
50
|
+
var _d = (0, useLegend_1.default)(props.Color, 'solid', guid, false, props.Legend), enabled = _d.enabled, createLegend = _d.createLegend;
|
|
49
51
|
var pxHeight = React.useMemo(function () {
|
|
50
52
|
var axis = GraphContext_1.AxisMap.get(props.Axis);
|
|
51
53
|
var y0px = context.YTransformation(props.YData[0], axis);
|
|
@@ -58,43 +60,49 @@ var Pill = function (props) {
|
|
|
58
60
|
var radius = React.useMemo(function () {
|
|
59
61
|
return Math.min(pxHeight / 2, pxWidth / 2, props.RadiusPX);
|
|
60
62
|
}, [pxHeight, pxWidth, props.RadiusPX]);
|
|
63
|
+
// Function to get the maximum Y value within the pill's X range
|
|
61
64
|
var getMax = React.useCallback(function (tDomain) {
|
|
65
|
+
if (!enabled)
|
|
66
|
+
return Infinity;
|
|
62
67
|
var _a = __read(tDomain, 2), t0 = _a[0], t1 = _a[1];
|
|
63
68
|
var _b = __read(props.XData, 2), x1 = _b[0], x2 = _b[1];
|
|
64
69
|
if (t1 >= x1 && t0 <= x2)
|
|
65
70
|
return Math.max(props.YData[0], props.YData[1]);
|
|
66
71
|
return undefined;
|
|
67
|
-
}, [props.XData, props.YData]);
|
|
72
|
+
}, [props.XData[0], props.XData[1], props.YData[0], props.YData[1], enabled]);
|
|
73
|
+
// Function to get the minimum Y value within the pill's X range
|
|
68
74
|
var getMin = React.useCallback(function (tDomain) {
|
|
75
|
+
if (!enabled)
|
|
76
|
+
return -Infinity;
|
|
69
77
|
var _a = __read(tDomain, 2), t0 = _a[0], t1 = _a[1];
|
|
70
78
|
var _b = __read(props.XData, 2), x1 = _b[0], x2 = _b[1];
|
|
71
79
|
if (t1 >= x1 && t0 <= x2)
|
|
72
80
|
return Math.min(props.YData[0], props.YData[1]);
|
|
73
81
|
return undefined;
|
|
74
|
-
}, [props.XData, props.YData]);
|
|
82
|
+
}, [props.XData[0], props.XData[1], props.YData[0], props.YData[1], enabled]);
|
|
83
|
+
var createContextData = React.useCallback(function () {
|
|
84
|
+
{
|
|
85
|
+
return {
|
|
86
|
+
axis: props.Axis,
|
|
87
|
+
legend: createLegend(),
|
|
88
|
+
getMax: getMax,
|
|
89
|
+
getMin: getMin,
|
|
90
|
+
enabled: enabled,
|
|
91
|
+
getPoints: function () { return []; }
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}, [props.Axis, getMax, getMin, createLegend]);
|
|
75
95
|
// Update data series information in the graph context based on circle properties
|
|
76
96
|
React.useEffect(function () {
|
|
77
97
|
if (guid === "")
|
|
78
98
|
return;
|
|
79
|
-
context.UpdateData(guid,
|
|
80
|
-
|
|
81
|
-
legend: undefined,
|
|
82
|
-
getMax: getMax,
|
|
83
|
-
getMin: getMin,
|
|
84
|
-
});
|
|
85
|
-
}, [props.Axis, getMax, getMin, guid]);
|
|
99
|
+
context.UpdateData(guid, createContextData());
|
|
100
|
+
}, [guid, createContextData]);
|
|
86
101
|
// Add a new data series on component mount / removing on unmount
|
|
87
102
|
React.useEffect(function () {
|
|
88
|
-
var id = context.AddData(
|
|
89
|
-
axis: props.Axis,
|
|
90
|
-
legend: undefined,
|
|
91
|
-
getMax: getMax,
|
|
92
|
-
getMin: getMin
|
|
93
|
-
});
|
|
103
|
+
var id = context.AddData(createContextData());
|
|
94
104
|
setGuid(id);
|
|
95
|
-
return function () {
|
|
96
|
-
context.RemoveData(id);
|
|
97
|
-
};
|
|
105
|
+
return function () { return context.RemoveData(id); };
|
|
98
106
|
}, []);
|
|
99
107
|
// Adjust text size within the pill to ensure it fits
|
|
100
108
|
React.useEffect(function () {
|
|
@@ -155,6 +163,8 @@ var Pill = function (props) {
|
|
|
155
163
|
// Render null if coordinates are not valid, otherwise render the pill / text
|
|
156
164
|
if (!isFinite(context.XTransformation((props.XData[0] + props.XData[1]) / 2)) || !isFinite(context.YTransformation(props.YData[0], GraphContext_1.AxisMap.get(props.Axis))) || !isFinite(context.YTransformation(props.YData[1], GraphContext_1.AxisMap.get(props.Axis))))
|
|
157
165
|
return null;
|
|
166
|
+
if (!enabled)
|
|
167
|
+
return null;
|
|
158
168
|
return (React.createElement("g", null,
|
|
159
169
|
React.createElement("rect", { x: context.XTransformation(props.XData[0]), width: pxWidth, y: context.YTransformation(props.YData[1], GraphContext_1.AxisMap.get(props.Axis)), height: pxHeight, rx: radius, ry: radius, fill: props.Color, opacity: props.Opacity, stroke: props.BorderColor, strokeWidth: props.BorderThickness, onClick: function (e) { return onClick(e.clientX, e.clientY); } }),
|
|
160
170
|
props.Text !== undefined ?
|
|
@@ -162,4 +172,4 @@ var Pill = function (props) {
|
|
|
162
172
|
React.createElement("text", { fill: (_a = props.TextColor) !== null && _a !== void 0 ? _a : 'currentColor', style: { fontSize: textSize + 'em', textAnchor: 'middle', dominantBaseline: 'middle' }, y: (context.YTransformation(props.YData[0], GraphContext_1.AxisMap.get(props.Axis)) + context.YTransformation(props.YData[1], GraphContext_1.AxisMap.get(props.Axis))) / 2, x: textXPosition }, props.Text)) : null));
|
|
163
173
|
};
|
|
164
174
|
exports.default = Pill;
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGlsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QaWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsaUNBQWlDO0FBQ2pDLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsbUVBQTZFO0FBQzdFLDZCQUErQjtBQUMvQiwrQ0FBaUg7QUFnRmpILElBQU0sSUFBSSxHQUFHLFVBQUMsS0FBYTs7SUFDdkIsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQywyQkFBWSxDQUFDLENBQUM7SUFFekMsSUFBQSxLQUFBLE9BQWtCLEtBQUssQ0FBQyxRQUFRLENBQVMsRUFBRSxDQUFDLElBQUEsRUFBM0MsSUFBSSxRQUFBLEVBQUUsT0FBTyxRQUE4QixDQUFDO0lBQzdDLElBQUEsS0FBQSxPQUEwQixLQUFLLENBQUMsUUFBUSxDQUFTLENBQUMsQ0FBQyxJQUFBLEVBQWxELFFBQVEsUUFBQSxFQUFFLFdBQVcsUUFBNkIsQ0FBQztJQUUxRCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzNCLElBQU0sSUFBSSxHQUFHLHNCQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFM0UsSUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFFOUQsSUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBRXZDLElBQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBQyxPQUF5QjtRQUNqRCxJQUFBLEtBQUEsT0FBVyxPQUFPLElBQUEsRUFBakIsRUFBRSxRQUFBLEVBQUUsRUFBRSxRQUFXLENBQUM7UUFDbkIsSUFBQSxLQUFBLE9BQVcsS0FBSyxDQUFDLEtBQUssSUFBQSxFQUFyQixFQUFFLFFBQUEsRUFBRSxFQUFFLFFBQWUsQ0FBQztRQUM3QixJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFFOUIsSUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFDLE9BQXlCO1FBQ2pELElBQUEsS0FBQSxPQUFXLE9BQU8sSUFBQSxFQUFqQixFQUFFLFFBQUEsRUFBRSxFQUFFLFFBQVcsQ0FBQztRQUNuQixJQUFBLEtBQUEsT0FBVyxLQUFLLENBQUMsS0FBSyxJQUFBLEVBQXJCLEVBQUUsUUFBQSxFQUFFLEVBQUUsUUFBZSxDQUFDO1FBQzdCLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUU5QixpRkFBaUY7SUFDakYsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNaLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDWCxPQUFPO1FBRVgsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDckIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE1BQU07U0FDRixDQUFDLENBQUM7SUFDdEIsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFFdEMsaUVBQWlFO0lBQ2pFLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDWixJQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxNQUFNO1NBQ0YsQ0FBQyxDQUFDO1FBRWxCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVaLE9BQU87WUFDSCxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzFCLENBQUMsQ0FBQTtJQUNMLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLHFEQUFxRDtJQUNyRCxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ1osSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBRXJDLElBQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFNLFlBQVksR0FBRyxJQUFJLENBQUM7UUFHMUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFFdkIsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLElBQVk7WUFDbkMsSUFBTSxFQUFFLEdBQUcsSUFBQSwrQkFBWSxFQUFDLFVBQVUsRUFBRSxJQUFJLEdBQUcsWUFBWSxFQUFFLEtBQUssQ0FBQyxJQUFjLENBQUMsQ0FBQztZQUMvRSxJQUFNLEVBQUUsR0FBRyxJQUFBLGdDQUFhLEVBQUMsVUFBVSxFQUFFLElBQUksR0FBRyxZQUFZLEVBQUUsS0FBSyxDQUFDLElBQWMsQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sRUFBRSxFQUFFLElBQUEsRUFBRSxFQUFFLElBQUEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQTtRQUVELE9BQU8sT0FBTyxHQUFHLE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFNLE9BQU8sR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsSUFBQSxLQUFhLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFyQyxFQUFFLFFBQUEsRUFBRSxFQUFFLFFBQStCLENBQUM7WUFFOUMsSUFBSSxFQUFFLElBQUksT0FBTyxJQUFJLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDbEMsUUFBUSxHQUFHLE9BQU8sQ0FBQztnQkFDbkIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLGFBQWE7WUFDcEMsQ0FBQzs7Z0JBQ0csT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLGNBQWM7UUFDekMsQ0FBQztRQUVELFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFeEQsOENBQThDO0lBQzlDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDWixJQUFJLElBQUksS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTO1lBQzFDLE9BQU87UUFFWCxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sU0FBQSxFQUFlLENBQUMsQ0FBQTtJQUN4RCxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBRXZDLGtDQUFrQztJQUNsQyxJQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQUMsTUFBYyxFQUFFLE1BQWM7UUFDN0QsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFNBQVM7WUFDM0IsT0FBTztRQUVYLDRFQUE0RTtRQUN0RSxJQUFBLEtBQUEsT0FBVyxLQUFLLENBQUMsS0FBSyxJQUFBLEVBQXJCLEVBQUUsUUFBQSxFQUFFLEVBQUUsUUFBZSxDQUFDO1FBQ3ZCLElBQUEsS0FBQSxPQUFXLEtBQUssQ0FBQyxLQUFLLElBQUEsRUFBckIsRUFBRSxRQUFBLEVBQUUsRUFBRSxRQUFlLENBQUM7UUFFN0IsSUFBTSx3QkFBd0IsR0FBRyxNQUFNLElBQUksRUFBRSxJQUFJLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDOUQsSUFBTSxzQkFBc0IsR0FBRyxNQUFNLElBQUksRUFBRSxJQUFJLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFFNUQsSUFBSSx3QkFBd0IsSUFBSSxzQkFBc0I7WUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFzRCxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBb0QsRUFBRSxDQUFDLENBQUM7SUFDaE0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUVuSixJQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2hDLElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNwQyxJQUFJLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssUUFBUTtZQUMvRCxPQUFPLE9BQU8sQ0FBQTtRQUVsQixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssTUFBTTtZQUM5QixPQUFPLEtBQUssQ0FBQTtRQUVoQixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssT0FBTztZQUMvQixPQUFPLE1BQU0sQ0FBQTtRQUVqQixPQUFPLE9BQU8sQ0FBQTtJQUNsQixDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtJQUVuRiw2RUFBNkU7SUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0JBQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0JBQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdk8sT0FBTyxJQUFJLENBQUM7SUFFaEIsT0FBTyxDQUNIO1FBQ0ksOEJBQ0ksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMxQyxLQUFLLEVBQUUsT0FBTyxFQUNkLENBQUMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsc0JBQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ25FLE1BQU0sRUFBRSxRQUFRLEVBQ2hCLEVBQUUsRUFBRSxNQUFNLEVBQ1YsRUFBRSxFQUFFLE1BQU0sRUFDVixJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFDakIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsV0FBVyxFQUN6QixXQUFXLEVBQUUsS0FBSyxDQUFDLGVBQWUsRUFDbEMsT0FBTyxFQUFFLFVBQUMsQ0FBQyxJQUFLLE9BQUEsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUE3QixDQUE2QixHQUMvQztRQUVELEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDdkIsMkJBQUcsUUFBUSxFQUFFLHlCQUFrQixJQUFJLE1BQUc7Z0JBQ2xDLDhCQUNJLElBQUksRUFBRSxNQUFBLEtBQUssQ0FBQyxTQUFTLG1DQUFJLGNBQWMsRUFDdkMsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsRUFDdEYsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLHNCQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxzQkFBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDNUksQ0FBQyxFQUFFLGFBQWEsSUFDZixLQUFLLENBQUMsSUFBSSxDQUNSLENBQ1AsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNmLENBQ1AsQ0FBQztBQUNOLENBQUMsQ0FBQTtBQUVELGtCQUFlLElBQUksQ0FBQyJ9
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGlsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QaWxsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUdBQXlHO0FBQ3pHLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRix3R0FBd0c7QUFDeEcsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryx3RkFBd0Y7QUFDeEYsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Ysd0dBQXdHO0FBQ3hHLHdHQUF3RztBQUN4Ryw0RUFBNEU7QUFDNUUsRUFBRTtBQUNGLDhCQUE4QjtBQUM5Qix3R0FBd0c7QUFDeEcsaUNBQWlDO0FBQ2pDLG1EQUFtRDtBQUNuRCxFQUFFO0FBQ0YseUdBQXlHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHekcsbUVBQTZFO0FBQzdFLDZCQUErQjtBQUMvQiwrQ0FBaUg7QUFDakgsK0NBQTBDO0FBc0YxQyxJQUFNLElBQUksR0FBRyxVQUFDLEtBQWE7O0lBQ3ZCLElBQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsMkJBQVksQ0FBQyxDQUFDO0lBRXpDLElBQUEsS0FBQSxPQUFrQixLQUFLLENBQUMsUUFBUSxDQUFTLEVBQUUsQ0FBQyxJQUFBLEVBQTNDLElBQUksUUFBQSxFQUFFLE9BQU8sUUFBOEIsQ0FBQztJQUM3QyxJQUFBLEtBQUEsT0FBMEIsS0FBSyxDQUFDLFFBQVEsQ0FBUyxDQUFDLENBQUMsSUFBQSxFQUFsRCxRQUFRLFFBQUEsRUFBRSxXQUFXLFFBQTZCLENBQUM7SUFFcEQsSUFBQSxLQUEwQixJQUFBLG1CQUFTLEVBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQW5GLE9BQU8sYUFBQSxFQUFFLFlBQVksa0JBQThELENBQUM7SUFFM0YsSUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFNLElBQUksR0FBRyxzQkFBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTNFLElBQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBRTlELElBQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENB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
|