@1money/react-ui 1.9.5-alpha.0 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/InputAmount/InputAmount.js +56 -16
- package/es/components/InputAmount/interface.d.ts +1 -0
- package/es/components/Sidebar/SimplySidebar.d.ts +8 -0
- package/es/components/Sidebar/SimplySidebar.js +129 -0
- package/es/components/Sidebar/index.d.ts +1 -0
- package/es/components/Sidebar/index.js +2 -1
- package/es/components/Sidebar/interface.d.ts +4 -1
- package/es/components/Sidebar/style/SimplySidebar.css +1 -0
- package/es/components/Sidebar/style/SimplySidebar.scss +304 -0
- package/es/components/Sidebar/style/css.js +2 -1
- package/es/components/Sidebar/style/index.d.ts +1 -0
- package/es/components/Sidebar/style/index.js +2 -1
- package/es/components/Table/Table.d.ts +3 -3
- package/es/components/Table/Table.js +1 -1
- package/es/index.css +1 -1
- package/es/index.d.ts +5 -2
- package/es/index.js +4 -3
- package/lib/components/InputAmount/InputAmount.js +56 -16
- package/lib/components/InputAmount/interface.d.ts +1 -0
- package/lib/components/Sidebar/SimplySidebar.d.ts +8 -0
- package/lib/components/Sidebar/SimplySidebar.js +135 -0
- package/lib/components/Sidebar/index.d.ts +1 -0
- package/lib/components/Sidebar/index.js +9 -1
- package/lib/components/Sidebar/interface.d.ts +4 -1
- package/lib/components/Sidebar/style/SimplySidebar.css +1 -0
- package/lib/components/Sidebar/style/SimplySidebar.scss +304 -0
- package/lib/components/Sidebar/style/css.js +2 -1
- package/lib/components/Sidebar/style/index.d.ts +1 -0
- package/lib/components/Sidebar/style/index.js +2 -1
- package/lib/components/Table/Table.d.ts +3 -3
- package/lib/components/Table/Table.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +5 -2
- package/lib/index.js +8 -1
- package/package.json +1 -1
|
@@ -33,6 +33,7 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
33
33
|
invalid = props.invalid,
|
|
34
34
|
_props$placeholder = props.placeholder,
|
|
35
35
|
placeholder = _props$placeholder === void 0 ? '0' : _props$placeholder,
|
|
36
|
+
negative = props.negative,
|
|
36
37
|
prefix = props.prefix,
|
|
37
38
|
currency = props.currency,
|
|
38
39
|
suffix = props.suffix,
|
|
@@ -41,7 +42,7 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
41
42
|
onChange = props.onChange,
|
|
42
43
|
_onBlur = props.onBlur,
|
|
43
44
|
_onFocus = props.onFocus,
|
|
44
|
-
rest = __rest(props, ["value", "maxFractionDigits", "children", "className", "wrapperCls", "prefixCls", "messageCls", "footnoteCls", "invalid", "placeholder", "prefix", "currency", "suffix", "message", "footnote", "onChange", "onBlur", "onFocus"]);
|
|
45
|
+
rest = __rest(props, ["value", "maxFractionDigits", "children", "className", "wrapperCls", "prefixCls", "messageCls", "footnoteCls", "invalid", "placeholder", "negative", "prefix", "currency", "suffix", "message", "footnote", "onChange", "onBlur", "onFocus"]);
|
|
45
46
|
var classes = (0, _classnames["default"])(prefixCls);
|
|
46
47
|
var inputRef = (0, _react.useRef)(null);
|
|
47
48
|
var fakeEleRef = (0, _react.useRef)(null);
|
|
@@ -69,9 +70,9 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
69
70
|
var formattedValue = (0, _react.useMemo)(function () {
|
|
70
71
|
return (0, _reactNumberFormat.numericFormatter)('' + (_value == null ? '' : _value), {
|
|
71
72
|
thousandSeparator: true,
|
|
72
|
-
allowNegative:
|
|
73
|
+
allowNegative: negative
|
|
73
74
|
});
|
|
74
|
-
}, [_value]);
|
|
75
|
+
}, [_value, negative]);
|
|
75
76
|
var scrollToEnd = (0, _react.useCallback)(function () {
|
|
76
77
|
var sticky = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
77
78
|
var _a;
|
|
@@ -89,9 +90,11 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
89
90
|
var _a, _b, _c, _d, _e;
|
|
90
91
|
var val = e.target.value;
|
|
91
92
|
if (val != null) val = val.split(',').join('');
|
|
92
|
-
var hasDecimalPoint = val.
|
|
93
|
+
var hasDecimalPoint = !!val && val.endsWith('.');
|
|
93
94
|
if (hasDecimalPoint) val = val.slice(0, -1);
|
|
94
|
-
if (
|
|
95
|
+
if (!negative && (val === null || val === void 0 ? void 0 : val.includes('-'))) return;
|
|
96
|
+
var isStandaloneMinus = negative && val === '-';
|
|
97
|
+
if (!isStandaloneMinus && isNaN(+val)) return;
|
|
95
98
|
if (val === _value && !hasDecimalPoint) return;
|
|
96
99
|
if (typeof maxFractionDigits === 'number' || typeof maxFractionDigits === 'bigint') {
|
|
97
100
|
var _val$split = val.split('.'),
|
|
@@ -102,7 +105,7 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
102
105
|
if (inputRef.current) {
|
|
103
106
|
var formattedNewVal = (0, _reactNumberFormat.numericFormatter)(val, {
|
|
104
107
|
thousandSeparator: true,
|
|
105
|
-
allowNegative:
|
|
108
|
+
allowNegative: negative
|
|
106
109
|
});
|
|
107
110
|
var isAdd = val.length > ((_a = _value === null || _value === void 0 ? void 0 : _value.length) !== null && _a !== void 0 ? _a : 0);
|
|
108
111
|
var position = (_b = inputRef.current.selectionStart) !== null && _b !== void 0 ? _b : 0;
|
|
@@ -122,13 +125,20 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
122
125
|
if (typeof value === 'undefined') {
|
|
123
126
|
if (val === '') {
|
|
124
127
|
setValue(null);
|
|
128
|
+
} else if (isStandaloneMinus) {
|
|
129
|
+
setValue('-');
|
|
125
130
|
} else {
|
|
126
131
|
var decimals = (_e = (_d = (_c = val.match(/\.(\d+)$/)) === null || _c === void 0 ? void 0 : _c[1]) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0;
|
|
127
|
-
|
|
132
|
+
var bn = (0, _bignumber["default"])(val);
|
|
133
|
+
var normalized = bn.toFixed(decimals);
|
|
134
|
+
if (negative && val.trim().startsWith('-') && bn.isZero()) {
|
|
135
|
+
normalized = normalized.startsWith('-') ? normalized : "-".concat(normalized);
|
|
136
|
+
}
|
|
137
|
+
setValue("".concat(normalized).concat(hasDecimalPoint ? '.' : '').trim());
|
|
128
138
|
}
|
|
129
139
|
}
|
|
130
140
|
onChange === null || onChange === void 0 ? void 0 : onChange(e);
|
|
131
|
-
}, [onChange, _value, value, formattedValue, maxFractionDigits]);
|
|
141
|
+
}, [onChange, _value, value, formattedValue, maxFractionDigits, negative]);
|
|
132
142
|
(0, _react.useEffect)(function () {
|
|
133
143
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
134
144
|
var containerWidth = (_b = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) !== null && _b !== void 0 ? _b : MIN_INPUT_WIDTH;
|
|
@@ -141,8 +151,19 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
141
151
|
var isMax = fakeWidth >= maxWidth;
|
|
142
152
|
setWidth(Math.min(maxWidth, Math.max(fakeWidth, MIN_INPUT_WIDTH)));
|
|
143
153
|
setIsMaxWidth(isMax);
|
|
144
|
-
scrollToEnd(true);
|
|
145
|
-
}, [_value]);
|
|
154
|
+
if (isFocus) scrollToEnd(true);
|
|
155
|
+
}, [_value, prefix, suffix, currency, isFocus]);
|
|
156
|
+
(0, _react.useEffect)(function () {
|
|
157
|
+
// clear negative sign if not allowed
|
|
158
|
+
if (negative) return;
|
|
159
|
+
if (typeof value !== 'undefined') return;
|
|
160
|
+
if (_value == null) return;
|
|
161
|
+
if (_value === '-') {
|
|
162
|
+
setValue(null);
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (_value.startsWith('-')) setValue(_value.slice(1));
|
|
166
|
+
}, [negative, value, _value]);
|
|
146
167
|
(0, _react.useEffect)(function () {
|
|
147
168
|
var _a, _b, _c;
|
|
148
169
|
var val = value;
|
|
@@ -152,11 +173,24 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
152
173
|
val = null;
|
|
153
174
|
} else {
|
|
154
175
|
val = val.split(',').join('');
|
|
155
|
-
hasDecimalPoint = val.
|
|
176
|
+
hasDecimalPoint = !!val && val.endsWith('.');
|
|
156
177
|
if (hasDecimalPoint) val = val.slice(0, -1);
|
|
178
|
+
if (!negative) val = val.replace(/-/g, '');
|
|
179
|
+
if (negative && val === '-') {
|
|
180
|
+
setValue('-');
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
157
183
|
if (isNaN(+val)) return;
|
|
158
184
|
}
|
|
159
185
|
} else if (val !== null && typeof val !== 'number' && typeof val !== 'bigint') return;
|
|
186
|
+
if (!negative) {
|
|
187
|
+
if (typeof val === 'number') {
|
|
188
|
+
val = Math.abs(val);
|
|
189
|
+
} else if (typeof val === 'bigint') {
|
|
190
|
+
var zero = BigInt(0);
|
|
191
|
+
val = val < zero ? -val : val;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
160
194
|
if ((typeof val === 'string' || typeof val === 'number') && (typeof maxFractionDigits === 'number' || typeof maxFractionDigits === 'bigint')) {
|
|
161
195
|
var _split = ('' + val).split('.'),
|
|
162
196
|
_split2 = (0, _slicedToArray2["default"])(_split, 2),
|
|
@@ -169,10 +203,16 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
169
203
|
if (val === '' || val == null) {
|
|
170
204
|
setValue(null);
|
|
171
205
|
} else {
|
|
172
|
-
var
|
|
173
|
-
|
|
206
|
+
var strVal = '' + val;
|
|
207
|
+
var decimals = (_c = (_b = (_a = strVal.match(/\.(\d+)$/)) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0;
|
|
208
|
+
var bn = (0, _bignumber["default"])(strVal);
|
|
209
|
+
var normalized = bn.toFixed(decimals);
|
|
210
|
+
if (negative && strVal.trim().startsWith('-') && bn.isZero()) {
|
|
211
|
+
normalized = normalized.startsWith('-') ? normalized : "-".concat(normalized);
|
|
212
|
+
}
|
|
213
|
+
setValue("".concat(normalized).concat(hasDecimalPoint ? '.' : '').trim());
|
|
174
214
|
}
|
|
175
|
-
}, [value, maxFractionDigits]);
|
|
215
|
+
}, [value, maxFractionDigits, negative]);
|
|
176
216
|
return (0, _jsxRuntime.jsxs)("div", {
|
|
177
217
|
className: classes('wrapper', [wrapperCls, invalid ? classes('invalid') : undefined].join(' ').trim()),
|
|
178
218
|
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
@@ -223,7 +263,7 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
223
263
|
},
|
|
224
264
|
children: (0, _reactNumberFormat.numericFormatter)('' + (_value == null ? '' : _value), {
|
|
225
265
|
thousandSeparator: true,
|
|
226
|
-
allowNegative:
|
|
266
|
+
allowNegative: negative
|
|
227
267
|
})
|
|
228
268
|
})]
|
|
229
269
|
}), (message || footnote) && (0, _jsxRuntime.jsxs)("div", {
|
|
@@ -239,4 +279,4 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
239
279
|
});
|
|
240
280
|
};
|
|
241
281
|
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(InputAmount);
|
|
242
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXRBbW91bnQvSW5wdXRBbW91bnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfYmlnbnVtYmVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdE51bWJlckZvcm1hdCIsIl9jbGFzc25hbWVzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJNSU5fSU5QVVRfV0lEVEgiLCJJbnB1dEFtb3VudCIsImV4cG9ydHMiLCJwcm9wcyIsInZhbHVlIiwibWF4RnJhY3Rpb25EaWdpdHMiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIndyYXBwZXJDbHMiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwibWVzc2FnZUNscyIsImZvb3Rub3RlQ2xzIiwiaW52YWxpZCIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwicHJlZml4IiwiY3VycmVuY3kiLCJzdWZmaXgiLCJtZXNzYWdlIiwiZm9vdG5vdGUiLCJvbkNoYW5nZSIsIm9uQmx1ciIsIm9uRm9jdXMiLCJyZXN0IiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJpbnB1dFJlZiIsInVzZVJlZiIsImZha2VFbGVSZWYiLCJwcmVmaXhSZWYiLCJzdWZmaXhSZWYiLCJjdXJyZW5jeVJlZiIsImNvbnRhaW5lclJlZiIsImlucHV0Q2FyZXRQb3NpdGlvblJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIl92YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJfd2lkdGgiLCJzZXRXaWR0aCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNNYXhXaWR0aCIsInNldElzTWF4V2lkdGgiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzRm9jdXMiLCJzZXRJc0ZvY3VzIiwiZm9ybWF0dGVkVmFsdWUiLCJ1c2VNZW1vIiwibnVtZXJpY0Zvcm1hdHRlciIsInRob3VzYW5kU2VwYXJhdG9yIiwiYWxsb3dOZWdhdGl2ZSIsInNjcm9sbFRvRW5kIiwidXNlQ2FsbGJhY2siLCJzdGlja3kiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJfYSIsImlucHV0IiwiY3VycmVudCIsImxlbiIsInBvc2l0aW9uIiwic2Nyb2xsTGVmdCIsInNob3VsZFRvRW5kIiwic3RhcnQiLCJzZXRTZWxlY3Rpb25SYW5nZSIsInNjcm9sbFdpZHRoIiwiZm9jdXMiLCJoYW5kbGVDaGFuZ2UiLCJfYiIsIl9jIiwiX2QiLCJfZSIsInZhbCIsInRhcmdldCIsInNwbGl0Iiwiam9pbiIsImhhc0RlY2ltYWxQb2ludCIsImxhc3RJbmRleE9mIiwic2xpY2UiLCJpc05hTiIsIl92YWwkc3BsaXQiLCJfdmFsJHNwbGl0MiIsImRlY2ltYWwiLCJOdW1iZXIiLCJmb3JtYXR0ZWROZXdWYWwiLCJpc0FkZCIsInNlbGVjdGlvblN0YXJ0Iiwib2xkUG9zVmFsIiwicG9zVmFsIiwicmVkdWNlIiwiYWNjIiwiY2hhciIsImluZCIsInB1c2giLCJkZWNpbWFscyIsIm1hdGNoIiwiY29uY2F0IiwiQmlnTnVtYmVyIiwidG9GaXhlZCIsInRyaW0iLCJ1c2VFZmZlY3QiLCJfZiIsIl9nIiwiX2giLCJfaiIsIl9rIiwiY29udGFpbmVyV2lkdGgiLCJvZmZzZXRXaWR0aCIsInByZWZpeFdpZHRoIiwic3VmZml4V2lkdGgiLCJjdXJyZW5jeVdpZHRoIiwiZmFrZVdpZHRoIiwiZ2FwV2lkdGgiLCJtYXhXaWR0aCIsImlzTWF4IiwiTWF0aCIsIm1pbiIsIm1heCIsIl9zcGxpdCIsIl9zcGxpdDIiLCJpbnQiLCJfanN4cyIsInJlZiIsIm9uQ2xpY2siLCJIVE1MSW5wdXRFbGVtZW50IiwiX2pzeCIsImFzc2lnbiIsInN0eWxlIiwic3RvcFByb3BhZ2F0aW9uIiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGtCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QURIQSxJQUFJTSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMs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LEVBQUVrQixPQUFPLENBQUMsU0FBUyxFQUFFZCxVQUFVLENBQUM7UUFBQUwsUUFBQSxFQUFHYTtNQUFPLENBQUEsQ0FBTyxFQUMxRUMsUUFBUSxJQUFJLElBQUFnSCxlQUFBLEVBQUEsS0FBQSxFQUFBO1FBQUs3SCxTQUFTLEVBQUVrQixPQUFPLENBQUMsVUFBVSxFQUFFYixXQUFXLENBQUM7UUFBQU4sUUFBQSxFQUFHYztNQUFRLENBQUEsQ0FBTztJQUFBLENBQUEsQ0FDM0U7RUFBQSxDQUFBLENBRUo7QUFDUixDQUFDO0FBQUMsSUFBQW9ILFFBQUEsR0FBQXRJLE9BQUEsMkJBRWEsSUFBQXVJLFdBQUksRUFBQ3hJLFdBQVcsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBudW1lcmljRm9ybWF0dGVyIH0gZnJvbSAncmVhY3QtbnVtYmVyLWZvcm1hdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IE1JTl9JTlBVVF9XSURUSCA9IDMzO1xuZXhwb3J0IGNvbnN0IElucHV0QW1vdW50ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIG1heEZyYWN0aW9uRGlnaXRzLCBjaGlsZHJlbiwgY2xhc3NOYW1lLCB3cmFwcGVyQ2xzLCBwcmVmaXhDbHMgPSAnaW5wdXQtYW1vdW50JywgbWVzc2FnZUNscywgZm9vdG5vdGVDbHMsIGludmFsaWQsIHBsYWNlaG9sZGVyID0gJzAnLCBwcmVmaXgsIGN1cnJlbmN5LCBzdWZmaXgsIG1lc3NhZ2UsIGZvb3Rub3RlLCBvbkNoYW5nZSwgb25CbHVyLCBvbkZvY3VzIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1widmFsdWVcIiwgXCJtYXhGcmFjdGlvbkRpZ2l0c1wiLCBcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCIsIFwid3JhcHBlckNsc1wiLCBcInByZWZpeENsc1wiLCBcIm1lc3NhZ2VDbHNcIiwgXCJmb290bm90ZUNsc1wiLCBcImludmFsaWRcIiwgXCJwbGFjZWhvbGRlclwiLCBcInByZWZpeFwiLCBcImN1cnJlbmN5XCIsIFwic3VmZml4XCIsIFwibWVzc2FnZVwiLCBcImZvb3Rub3RlXCIsIFwib25DaGFuZ2VcIiwgXCJvbkJsdXJcIiwgXCJvbkZvY3VzXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGZha2VFbGVSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgcHJlZml4UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHN1ZmZpeFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjdXJyZW5jeVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaW5wdXRDYXJldFBvc2l0aW9uUmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IFtfdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtfd2lkdGgsIHNldFdpZHRoXSA9IHVzZVN0YXRlKE1JTl9JTlBVVF9XSURUSCk7XG4gICAgY29uc3QgW2lzTWF4V2lkdGgsIHNldElzTWF4V2lkdGhdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gbnVtZXJpY0Zvcm1hdHRlcignJyArIChfdmFsdWUgPT0gbnVsbCA/ICcnIDogX3ZhbHVlKSwge1xuICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUsXG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9LCBbX3ZhbHVlXSk7XG4gICAgY29uc3Qgc2Nyb2xsVG9FbmQgPSB1c2VDYWxsYmFjaygoc3RpY2t5ID0gZmFsc2UpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICghaW5wdXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGxlbiA9IChfYSA9IGlucHV0LnZhbHVlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubGVuZ3RoO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGlucHV0LnNjcm9sbExlZnQ7XG4gICAgICAgIGNvbnN0IHNob3VsZFRvRW5kID0gIXN0aWNreTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBzaG91bGRUb0VuZCA/IGxlbiA6IGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50O1xuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgc3RhcnQpO1xuICAgICAgICBpbnB1dC5zY3JvbGxMZWZ0ID0gc2hvdWxkVG9FbmQgPyBpbnB1dC5zY3JvbGxXaWR0aCA6IHBvc2l0aW9uO1xuICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lO1xuICAgICAgICBsZXQgdmFsID0gZS50YXJnZXQudmFsdWU7XG4gICAgICAgIGlmICh2YWwgIT0gbnVsbClcbiAgICAgICAgICAgIHZhbCA9IHZhbC5zcGxpdCgnLCcpLmpvaW4oJycpO1xuICAgICAgICBjb25zdCBoYXNEZWNpbWFsUG9pbnQgPSB2YWwubGFzdEluZGV4T2YoJy4nKSA9PT0gdmFsLmxlbmd0aCAtIDE7XG4gICAgICAgIGlmIChoYXNEZWNpbWFsUG9pbnQpXG4gICAgICAgICAgICB2YWwgPSB2YWwuc2xpY2UoMCwgLTEpO1xuICAgICAgICBpZiAoaXNOYU4oK3ZhbCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICh2YWwgPT09IF92YWx1ZSAmJiAhaGFzRGVjaW1hbFBvaW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mIG1heEZyYWN0aW9uRGlnaXRzID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdiaWdpbnQnKSB7XG4gICAgICAgICAgICBjb25zdCBbLCBkZWNpbWFsXSA9IHZhbC5zcGxpdCgnLicpO1xuICAgICAgICAgICAgaWYgKGRlY2ltYWwgIT0gbnVsbCAmJiBkZWNpbWFsLmxlbmd0aCA+IE51bWJlcihtYXhGcmFjdGlvbkRpZ2l0cykpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWROZXdWYWwgPSBudW1lcmljRm9ybWF0dGVyKHZhbCwge1xuICAgICAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgICAgICAgIGFsbG93TmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGlzQWRkID0gdmFsLmxlbmd0aCA+ICgoX2EgPSBfdmFsdWUgPT09IG51bGwgfHwgX3ZhbHVlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdmFsdWUubGVuZ3RoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwKTtcbiAgICAgICAgICAgIGxldCBwb3NpdGlvbiA9IChfYiA9IGlucHV0UmVmLmN1cnJlbnQuc2VsZWN0aW9uU3RhcnQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDA7XG4gICAgICAgICAgICBjb25zdCBvbGRQb3NWYWwgPSBmb3JtYXR0ZWRWYWx1ZS5zbGljZSgwLCAocG9zaXRpb24gLSAoaXNBZGQgPyAxIDogLTEpKSk7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IG9sZFBvc1ZhbC5zcGxpdCgnLCcpLmpvaW4oJycpLmxlbmd0aCArIChpc0FkZCA/IDEgOiAtMSk7XG4gICAgICAgICAgICBjb25zdCBwb3NWYWwgPSB2YWwuc2xpY2UoMCwgcG9zaXRpb24pO1xuICAgICAgICAgICAgZm9ybWF0dGVkTmV3VmFsLnNwbGl0KCcnKS5yZWR1Y2UoKGFjYywgY2hhciwgaW5kKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNoYXIgPT09ICcsJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGFjYy5wdXNoKGNoYXIpO1xuICAgICAgICAgICAgICAgIGlmIChhY2Muam9pbignJykgPT09IHBvc1ZhbCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IGluZCArIDE7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCA9IHBvc2l0aW9uICsgKGhhc0RlY2ltYWxQb2ludCA/IDIgOiAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxzID0gKF9lID0gKF9kID0gKF9jID0gdmFsLm1hdGNoKC9cXC4oXFxkKykkLykpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfY1sxXSkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLmxlbmd0aCkgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogMDtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZShgJHtCaWdOdW1iZXIodmFsKS50b0ZpeGVkKGRlY2ltYWxzKX0ke2hhc0RlY2ltYWxQb2ludCA/ICcuJyA6ICcnfWAudHJpbSgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UoZSk7XG4gICAgfSwgW29uQ2hhbmdlLCBfdmFsdWUsIHZhbHVlLCBmb3JtYXR0ZWRWYWx1ZSwgbWF4RnJhY3Rpb25EaWdpdHNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZiwgX2csIF9oLCBfaiwgX2s7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gKF9iID0gKF9hID0gY29udGFpbmVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogTUlOX0lOUFVUX1dJRFRIO1xuICAgICAgICBjb25zdCBwcmVmaXhXaWR0aCA9IChfZCA9IChfYyA9IHByZWZpeFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Mub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgIGNvbnN0IHN1ZmZpeFdpZHRoID0gKF9mID0gKF9lID0gc3VmZml4UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMDtcbiAgICAgICAgY29uc3QgY3VycmVuY3lXaWR0aCA9IChfaCA9IChfZyA9IGN1cnJlbmN5UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9nID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZy5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2ggIT09IHZvaWQgMCA/IF9oIDogMDtcbiAgICAgICAgY29uc3QgZmFrZVdpZHRoID0gKF9rID0gKF9qID0gZmFrZUVsZVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfaiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2oub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9rICE9PSB2b2lkIDAgPyBfayA6IDA7XG4gICAgICAgIGNvbnN0IGdhcFdpZHRoID0gcHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aFxuICAgICAgICAgICAgPyAyNFxuICAgICAgICAgICAgOiAocHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGgpIHx8IChwcmVmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoKSB8fCAoc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aClcbiAgICAgICAgICAgICAgICA/IDE2XG4gICAgICAgICAgICAgICAgOiBwcmVmaXhXaWR0aCB8fCBzdWZmaXhXaWR0aCB8fCBjdXJyZW5jeVdpZHRoXG4gICAgICAgICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IG1heFdpZHRoID0gY29udGFpbmVyV2lkdGggLSBwcmVmaXhXaWR0aCAtIHN1ZmZpeFdpZHRoIC0gY3VycmVuY3lXaWR0aCAtIGdhcFdpZHRoO1xuICAgICAgICBjb25zdCBpc01heCA9IGZha2VXaWR0aCA+PSBtYXhXaWR0aDtcbiAgICAgICAgc2V0V2lkdGgoTWF0aC5taW4obWF4V2lkdGgsIE1hdGgubWF4KGZha2VXaWR0aCwgTUlOX0lOUFVUX1dJRFRIKSkpO1xuICAgICAgICBzZXRJc01heFdpZHRoKGlzTWF4KTtcbiAgICAgICAgc2Nyb2xsVG9FbmQodHJ1ZSk7XG4gICAgfSwgW192YWx1ZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBsZXQgdmFsID0gdmFsdWU7XG4gICAgICAgIGxldCBoYXNEZWNpbWFsUG9pbnQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgICAgICAgIHZhbCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWwgPSB2YWwuc3BsaXQoJywnKS5qb2luKCcnKTtcbiAgICAgICAgICAgICAgICBoYXNEZWNpbWFsUG9pbnQgPSB2YWwubGFzdEluZGV4T2YoJy4nKSA9PT0gdmFsLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNOYU4oK3ZhbCkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWwgIT09IG51bGwgJiYgdHlwZW9mIHZhbCAhPT0gJ251bWJlcicgJiYgdHlwZW9mIHZhbCAhPT0gJ2JpZ2ludCcpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICgodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpICYmICh0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ2JpZ2ludCcpKSB7XG4gICAgICAgICAgICBjb25zdCBbaW50LCBkZWNpbWFsXSA9ICgnJyArIHZhbCkuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICAgICAgdmFsID0gaW50ICsgJy4nICsgZGVjaW1hbC5zbGljZSgwLCBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsID09PSAnJyB8fCB2YWwgPT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkZWNpbWFscyA9IChfYyA9IChfYiA9IChfYSA9ICgnJyArIHZhbCkubWF0Y2goL1xcLihcXGQrKSQvKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzFdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGVuZ3RoKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwO1xuICAgICAgICAgICAgc2V0VmFsdWUoYCR7QmlnTnVtYmVyKHZhbCkudG9GaXhlZChkZWNpbWFscyl9JHtoYXNEZWNpbWFsUG9pbnQgPyAnLicgOiAnJ31gLnRyaW0oKSk7XG4gICAgICAgIH1cbiAgICB9LCBbdmFsdWUsIG1heEZyYWN0aW9uRGlnaXRzXSk7XG4gICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCd3cmFwcGVyJywgW3dyYXBwZXJDbHMsIGludmFsaWQgPyBjbGFzc2VzKCdpbnZhbGlkJykgOiB1bmRlZmluZWRdLmpvaW4oJyAnKS50cmltKCkpLCBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIHsgcmVmOiBjb250YWluZXJSZWYsIGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIFtjbGFzc05hbWUsIGlzRm9jdXMgPyBjbGFzc2VzKCdmb2N1cycpIDogJyddLmpvaW4oJyAnKS50cmltKCkpLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIChfYSA9IGlucHV0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNNYXhXaWR0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvRW5kKCk7XG4gICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyByZWY6IHByZWZpeFJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdwcmVmaXgnKSwgY2hpbGRyZW46IHByZWZpeCB9KSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZWxlbWVudCcsICghaXNGb2N1cyAmJiBpc01heFdpZHRoKSA/IGNsYXNzZXMoJ2VsZW1lbnQtbWF4JykgOiAnJyksIGNoaWxkcmVuOiBfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IGlucHV0UmVmLCB2YWx1ZTogZm9ybWF0dGVkVmFsdWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgc3R5bGU6IHsgJy0taW5wdXQtd2lkdGgnOiBgJHtfd2lkdGh9cHhgIH0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIG9uRm9jdXM6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzID09PSBudWxsIHx8IG9uRm9jdXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRm9jdXMoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgb25CbHVyOiBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNGb2N1cyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IH0pKSB9KSwgY3VycmVuY3kgJiYgX2pzeChcInNwYW5cIiwgeyByZWY6IGN1cnJlbmN5UmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2N1cnJlbmN5JyksIGNoaWxkcmVuOiBjdXJyZW5jeSB9KSwgc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgcmVmOiBzdWZmaXhSZWYsIGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgcmVmOiBmYWtlRWxlUmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2Zha2UnKSwgb25DbGljazogZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpLCBjaGlsZHJlbjogbnVtZXJpY0Zvcm1hdHRlcignJyArIChfdmFsdWUgPT0gbnVsbCA/ICcnIDogX3ZhbHVlKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93TmVnYXRpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSB9KV0gfSksIChtZXNzYWdlIHx8IGZvb3Rub3RlKSAmJiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZXh0cmEnKSwgY2hpbGRyZW46IFttZXNzYWdlICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UnLCBtZXNzYWdlQ2xzKSwgY2hpbGRyZW46IG1lc3NhZ2UgfSksIGZvb3Rub3RlICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2Zvb3Rub3RlJywgZm9vdG5vdGVDbHMpLCBjaGlsZHJlbjogZm9vdG5vdGUgfSldIH0pXSB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKElucHV0QW1vdW50KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
282
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXRBbW91bnQvSW5wdXRBbW91bnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfYmlnbnVtYmVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdE51bWJlckZvcm1hdCIsIl9jbGFzc25hbWVzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJNSU5fSU5QVVRfV0lEVEgiLCJJbnB1dEFtb3VudCIsImV4cG9ydHMiLCJwcm9wcyIsInZhbHVlIiwibWF4RnJhY3Rpb25EaWdpdHMiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIndyYXBwZXJDbHMiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwibWVzc2FnZUNscyIsImZvb3Rub3RlQ2xzIiwiaW52YWxpZCIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwibmVnYXRpdmUiLCJwcmVmaXgiLCJjdXJyZW5jeSIsInN1ZmZpeCIsIm1lc3NhZ2UiLCJmb290bm90ZSIsIm9uQ2hhbmdlIiwib25CbHVyIiwib25Gb2N1cyIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImlucHV0UmVmIiwidXNlUmVmIiwiZmFrZUVsZVJlZiIsInByZWZpeFJlZiIsInN1ZmZpeFJlZiIsImN1cnJlbmN5UmVmIiwiY29udGFpbmVyUmVmIiwiaW5wdXRDYXJldFBvc2l0aW9uUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiX3ZhbHVlIiwic2V0VmFsdWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIl93aWR0aCIsInNldFdpZHRoIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc01heFdpZHRoIiwic2V0SXNNYXhXaWR0aCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNGb2N1cyIsInNldElzRm9jdXMiLCJmb3JtYXR0ZWRWYWx1ZSIsInVzZU1lbW8iLCJudW1lcmljRm9ybWF0dGVyIiwidGhvdXNhbmRTZXBhcmF0b3IiLCJhbGxvd05lZ2F0aXZlIiwic2Nyb2xsVG9FbmQiLCJ1c2VDYWxsYmFjayIsInN0aWNreSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl9hIiwiaW5wdXQiLCJjdXJyZW50IiwibGVuIiwicG9zaXRpb24iLCJzY3JvbGxMZWZ0Iiwic2hvdWxkVG9FbmQiLCJzdGFydCIsInNldFNlbGVjdGlvblJhbmdlIiwic2Nyb2xsV2lkdGgiLCJmb2N1cyIsImhhbmRsZUNoYW5nZSIsIl9iIiwiX2MiLCJfZCIsIl9lIiwidmFsIiwidGFyZ2V0Iiwic3BsaXQiLCJqb2luIiwiaGFzRGVjaW1hbFBvaW50IiwiZW5kc1dpdGgiLCJzbGljZSIsImluY2x1ZGVzIiwiaXNTdGFuZGFsb25lTWludXMiLCJpc05hTiIsIl92YWwkc3BsaXQiLCJfdmFsJHNwbGl0MiIsImRlY2ltYWwiLCJOdW1iZXIiLCJmb3JtYXR0ZWROZXdWYWwiLCJpc0FkZCIsInNlbGVjdGlvblN0YXJ0Iiwib2xkUG9zVmFsIiwicG9zVmFsIiwicmVkdWNlIiwiYWNjIiwiY2hhciIsImluZCIsInB1c2giLCJkZWNpbWFscyIsIm1hdGNoIiwiYm4iLCJCaWdOdW1iZXIiLCJub3JtYWxpemVkIiwidG9GaXhlZCIsInRyaW0iLCJzdGFydHNXaXRoIiwiaXNaZXJvIiwiY29uY2F0IiwidXNlRWZmZWN0IiwiX2YiLCJfZyIsIl9oIiwiX2oiLCJfayIsImNvbnRhaW5lcldpZHRoIiwib2Zmc2V0V2lkdGgiLCJwcmVmaXhXaWR0aCIsInN1ZmZpeFdpZHRoIiwiY3VycmVuY3lXaWR0aCIsImZha2VXaWR0aCIsImdhcFdpZHRoIiwibWF4V2lkdGgiLCJpc01heCIsIk1hdGgiLCJtaW4iLCJtYXgiLCJyZXBsYWNlIiwiYWJzIiwiemVybyIsIkJpZ0ludCIsIl9zcGxpdCIsIl9zcGxpdDIiLCJpbnQiLCJzdHJWYWwiLCJfanN4cyIsInJlZiIsIm9uQ2xpY2siLCJIVE1MSW5wdXRFbGVtZW50IiwiX2pzeCIsImFzc2lnbiIsInN0eWxlIiwic3RvcFByb3BhZ2F0aW9uIiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGtCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QURIQSxJQUFJTSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFD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QXBCLFFBQUEsRUFBQSxDQUN0RGMsT0FBTyxJQUFJLElBQUE0SCxlQUFBLEVBQUEsS0FBQSxFQUFBO1FBQUt6SSxTQUFTLEVBQUVtQixPQUFPLENBQUMsU0FBUyxFQUFFZixVQUFVLENBQUM7UUFBQUwsUUFBQSxFQUFHYztNQUFPLENBQUEsQ0FBTyxFQUMxRUMsUUFBUSxJQUFJLElBQUEySCxlQUFBLEVBQUEsS0FBQSxFQUFBO1FBQUt6SSxTQUFTLEVBQUVtQixPQUFPLENBQUMsVUFBVSxFQUFFZCxXQUFXLENBQUM7UUFBQU4sUUFBQSxFQUFHZTtNQUFRLENBQUEsQ0FBTztJQUFBLENBQUEsQ0FDM0U7RUFBQSxDQUFBLENBRUo7QUFDUixDQUFDO0FBQUMsSUFBQStILFFBQUEsR0FBQWxKLE9BQUEsMkJBRWEsSUFBQW1KLFdBQUksRUFBQ3BKLFdBQVcsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBudW1lcmljRm9ybWF0dGVyIH0gZnJvbSAncmVhY3QtbnVtYmVyLWZvcm1hdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IE1JTl9JTlBVVF9XSURUSCA9IDMzO1xuZXhwb3J0IGNvbnN0IElucHV0QW1vdW50ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIG1heEZyYWN0aW9uRGlnaXRzLCBjaGlsZHJlbiwgY2xhc3NOYW1lLCB3cmFwcGVyQ2xzLCBwcmVmaXhDbHMgPSAnaW5wdXQtYW1vdW50JywgbWVzc2FnZUNscywgZm9vdG5vdGVDbHMsIGludmFsaWQsIHBsYWNlaG9sZGVyID0gJzAnLCBuZWdhdGl2ZSwgcHJlZml4LCBjdXJyZW5jeSwgc3VmZml4LCBtZXNzYWdlLCBmb290bm90ZSwgb25DaGFuZ2UsIG9uQmx1ciwgb25Gb2N1cyB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInZhbHVlXCIsIFwibWF4RnJhY3Rpb25EaWdpdHNcIiwgXCJjaGlsZHJlblwiLCBcImNsYXNzTmFtZVwiLCBcIndyYXBwZXJDbHNcIiwgXCJwcmVmaXhDbHNcIiwgXCJtZXNzYWdlQ2xzXCIsIFwiZm9vdG5vdGVDbHNcIiwgXCJpbnZhbGlkXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJuZWdhdGl2ZVwiLCBcInByZWZpeFwiLCBcImN1cnJlbmN5XCIsIFwic3VmZml4XCIsIFwibWVzc2FnZVwiLCBcImZvb3Rub3RlXCIsIFwib25DaGFuZ2VcIiwgXCJvbkJsdXJcIiwgXCJvbkZvY3VzXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGZha2VFbGVSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgcHJlZml4UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHN1ZmZpeFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjdXJyZW5jeVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaW5wdXRDYXJldFBvc2l0aW9uUmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IFtfdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtfd2lkdGgsIHNldFdpZHRoXSA9IHVzZVN0YXRlKE1JTl9JTlBVVF9XSURUSCk7XG4gICAgY29uc3QgW2lzTWF4V2lkdGgsIHNldElzTWF4V2lkdGhdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gbnVtZXJpY0Zvcm1hdHRlcignJyArIChfdmFsdWUgPT0gbnVsbCA/ICcnIDogX3ZhbHVlKSwge1xuICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUsXG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiBuZWdhdGl2ZSxcbiAgICAgICAgfSk7XG4gICAgfSwgW192YWx1ZSwgbmVnYXRpdmVdKTtcbiAgICBjb25zdCBzY3JvbGxUb0VuZCA9IHVzZUNhbGxiYWNrKChzdGlja3kgPSBmYWxzZSkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gaW5wdXRSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFpbnB1dClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgbGVuID0gKF9hID0gaW5wdXQudmFsdWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gaW5wdXQuc2Nyb2xsTGVmdDtcbiAgICAgICAgY29uc3Qgc2hvdWxkVG9FbmQgPSAhc3RpY2t5O1xuICAgICAgICBjb25zdCBzdGFydCA9IHNob3VsZFRvRW5kID8gbGVuIDogaW5wdXRDYXJldFBvc2l0aW9uUmVmLmN1cnJlbnQ7XG4gICAgICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0LCBzdGFydCk7XG4gICAgICAgIGlucHV0LnNjcm9sbExlZnQgPSBzaG91bGRUb0VuZCA/IGlucHV0LnNjcm9sbFdpZHRoIDogcG9zaXRpb247XG4gICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKChlKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XG4gICAgICAgIGxldCB2YWwgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgaWYgKHZhbCAhPSBudWxsKVxuICAgICAgICAgICAgdmFsID0gdmFsLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgICAgIGNvbnN0IGhhc0RlY2ltYWxQb2ludCA9ICEhdmFsICYmIHZhbC5lbmRzV2l0aCgnLicpO1xuICAgICAgICBpZiAoaGFzRGVjaW1hbFBvaW50KVxuICAgICAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgaWYgKCFuZWdhdGl2ZSAmJiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmFsLmluY2x1ZGVzKCctJykpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBpc1N0YW5kYWxvbmVNaW51cyA9IG5lZ2F0aXZlICYmIHZhbCA9PT0gJy0nO1xuICAgICAgICBpZiAoIWlzU3RhbmRhbG9uZU1pbnVzICYmIGlzTmFOKCt2YWwpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodmFsID09PSBfdmFsdWUgJiYgIWhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG1heEZyYWN0aW9uRGlnaXRzID09PSAnYmlnaW50Jykge1xuICAgICAgICAgICAgY29uc3QgWywgZGVjaW1hbF0gPSB2YWwuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTmV3VmFsID0gbnVtZXJpY0Zvcm1hdHRlcih2YWwsIHtcbiAgICAgICAgICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiBuZWdhdGl2ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgaXNBZGQgPSB2YWwubGVuZ3RoID4gKChfYSA9IF92YWx1ZSA9PT0gbnVsbCB8fCBfdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF92YWx1ZS5sZW5ndGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDApO1xuICAgICAgICAgICAgbGV0IHBvc2l0aW9uID0gKF9iID0gaW5wdXRSZWYuY3VycmVudC5zZWxlY3Rpb25TdGFydCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMDtcbiAgICAgICAgICAgIGNvbnN0IG9sZFBvc1ZhbCA9IGZvcm1hdHRlZFZhbHVlLnNsaWNlKDAsIChwb3NpdGlvbiAtIChpc0FkZCA/IDEgOiAtMSkpKTtcbiAgICAgICAgICAgIHBvc2l0aW9uID0gb2xkUG9zVmFsLnNwbGl0KCcsJykuam9pbignJykubGVuZ3RoICsgKGlzQWRkID8gMSA6IC0xKTtcbiAgICAgICAgICAgIGNvbnN0IHBvc1ZhbCA9IHZhbC5zbGljZSgwLCBwb3NpdGlvbik7XG4gICAgICAgICAgICBmb3JtYXR0ZWROZXdWYWwuc3BsaXQoJycpLnJlZHVjZSgoYWNjLCBjaGFyLCBpbmQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY2hhciA9PT0gJywnKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goY2hhcik7XG4gICAgICAgICAgICAgICAgaWYgKGFjYy5qb2luKCcnKSA9PT0gcG9zVmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uID0gaW5kICsgMTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgICAgIGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50ID0gcG9zaXRpb24gKyAoaGFzRGVjaW1hbFBvaW50ID8gMiA6IDApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgICAgICAgIHNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNTdGFuZGFsb25lTWludXMpIHtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZSgnLScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjaW1hbHMgPSAoX2UgPSAoX2QgPSAoX2MgPSB2YWwubWF0Y2goL1xcLihcXGQrKSQvKSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jWzFdKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QubGVuZ3RoKSAhPT0gbnVsbCAmJiBfZSAhPT0gdm9pZCAwID8gX2UgOiAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJuID0gQmlnTnVtYmVyKHZhbCk7XG4gICAgICAgICAgICAgICAgbGV0IG5vcm1hbGl6ZWQgPSBibi50b0ZpeGVkKGRlY2ltYWxzKTtcbiAgICAgICAgICAgICAgICBpZiAobmVnYXRpdmUgJiYgdmFsLnRyaW0oKS5zdGFydHNXaXRoKCctJykgJiYgYm4uaXNaZXJvKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnLScpID8gbm9ybWFsaXplZCA6IGAtJHtub3JtYWxpemVkfWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFZhbHVlKGAke25vcm1hbGl6ZWR9JHtoYXNEZWNpbWFsUG9pbnQgPyAnLicgOiAnJ31gLnRyaW0oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgIH0sIFtvbkNoYW5nZSwgX3ZhbHVlLCB2YWx1ZSwgZm9ybWF0dGVkVmFsdWUsIG1heEZyYWN0aW9uRGlnaXRzLCBuZWdhdGl2ZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZywgX2gsIF9qLCBfaztcbiAgICAgICAgY29uc3QgY29udGFpbmVyV2lkdGggPSAoX2IgPSAoX2EgPSBjb250YWluZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm9mZnNldFdpZHRoKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBNSU5fSU5QVVRfV0lEVEg7XG4gICAgICAgIGNvbnN0IHByZWZpeFdpZHRoID0gKF9kID0gKF9jID0gcHJlZml4UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogMDtcbiAgICAgICAgY29uc3Qgc3VmZml4V2lkdGggPSAoX2YgPSAoX2UgPSBzdWZmaXhSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLm9mZnNldFdpZHRoKSAhPT0gbnVsbCAmJiBfZiAhPT0gdm9pZCAwID8gX2YgOiAwO1xuICAgICAgICBjb25zdCBjdXJyZW5jeVdpZHRoID0gKF9oID0gKF9nID0gY3VycmVuY3lSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9nLm9mZnNldFdpZHRoKSAhPT0gbnVsbCAmJiBfaCAhPT0gdm9pZCAwID8gX2ggOiAwO1xuICAgICAgICBjb25zdCBmYWtlV2lkdGggPSAoX2sgPSAoX2ogPSBmYWtlRWxlUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9qID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfai5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2sgIT09IHZvaWQgMCA/IF9rIDogMDtcbiAgICAgICAgY29uc3QgZ2FwV2lkdGggPSBwcmVmaXhXaWR0aCAmJiBzdWZmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoXG4gICAgICAgICAgICA/IDI0XG4gICAgICAgICAgICA6IChwcmVmaXhXaWR0aCAmJiBzdWZmaXhXaWR0aCkgfHwgKHByZWZpeFdpZHRoICYmIGN1cnJlbmN5V2lkdGgpIHx8IChzdWZmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoKVxuICAgICAgICAgICAgICAgID8gMTZcbiAgICAgICAgICAgICAgICA6IHByZWZpeFdpZHRoIHx8IHN1ZmZpeFdpZHRoIHx8IGN1cnJlbmN5V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgPyA4XG4gICAgICAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgY29uc3QgbWF4V2lkdGggPSBjb250YWluZXJXaWR0aCAtIHByZWZpeFdpZHRoIC0gc3VmZml4V2lkdGggLSBjdXJyZW5jeVdpZHRoIC0gZ2FwV2lkdGg7XG4gICAgICAgIGNvbnN0IGlzTWF4ID0gZmFrZVdpZHRoID49IG1heFdpZHRoO1xuICAgICAgICBzZXRXaWR0aChNYXRoLm1pbihtYXhXaWR0aCwgTWF0aC5tYXgoZmFrZVdpZHRoLCBNSU5fSU5QVVRfV0lEVEgpKSk7XG4gICAgICAgIHNldElzTWF4V2lkdGgoaXNNYXgpO1xuICAgICAgICBpZiAoaXNGb2N1cylcbiAgICAgICAgICAgIHNjcm9sbFRvRW5kKHRydWUpO1xuICAgIH0sIFtfdmFsdWUsIHByZWZpeCwgc3VmZml4LCBjdXJyZW5jeSwgaXNGb2N1c10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIGNsZWFyIG5lZ2F0aXZlIHNpZ24gaWYgbm90IGFsbG93ZWRcbiAgICAgICAgaWYgKG5lZ2F0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKF92YWx1ZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoX3ZhbHVlID09PSAnLScpIHtcbiAgICAgICAgICAgIHNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfdmFsdWUuc3RhcnRzV2l0aCgnLScpKVxuICAgICAgICAgICAgc2V0VmFsdWUoX3ZhbHVlLnNsaWNlKDEpKTtcbiAgICB9LCBbbmVnYXRpdmUsIHZhbHVlLCBfdmFsdWVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgbGV0IHZhbCA9IHZhbHVlO1xuICAgICAgICBsZXQgaGFzRGVjaW1hbFBvaW50ID0gZmFsc2U7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFsID0gdmFsLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgICAgICAgICAgICAgaGFzRGVjaW1hbFBvaW50ID0gISF2YWwgJiYgdmFsLmVuZHNXaXRoKCcuJyk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgICAgICBpZiAoIW5lZ2F0aXZlKVxuICAgICAgICAgICAgICAgICAgICB2YWwgPSB2YWwucmVwbGFjZSgvLS9nLCAnJyk7XG4gICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHZhbCA9PT0gJy0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKCctJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzTmFOKCt2YWwpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgIT09ICdudW1iZXInICYmIHR5cGVvZiB2YWwgIT09ICdiaWdpbnQnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoIW5lZ2F0aXZlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBNYXRoLmFicyh2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB6ZXJvID0gQmlnSW50KDApO1xuICAgICAgICAgICAgICAgIHZhbCA9IHZhbCA8IHplcm8gPyAtdmFsIDogdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICgodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpICYmICh0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ2JpZ2ludCcpKSB7XG4gICAgICAgICAgICBjb25zdCBbaW50LCBkZWNpbWFsXSA9ICgnJyArIHZhbCkuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICAgICAgdmFsID0gaW50ICsgJy4nICsgZGVjaW1hbC5zbGljZSgwLCBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsID09PSAnJyB8fCB2YWwgPT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzdHJWYWwgPSAnJyArIHZhbDtcbiAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxzID0gKF9jID0gKF9iID0gKF9hID0gc3RyVmFsLm1hdGNoKC9cXC4oXFxkKykkLykpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsxXSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmxlbmd0aCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMDtcbiAgICAgICAgICAgIGNvbnN0IGJuID0gQmlnTnVtYmVyKHN0clZhbCk7XG4gICAgICAgICAgICBsZXQgbm9ybWFsaXplZCA9IGJuLnRvRml4ZWQoZGVjaW1hbHMpO1xuICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHN0clZhbC50cmltKCkuc3RhcnRzV2l0aCgnLScpICYmIGJuLmlzWmVybygpKSB7XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnLScpID8gbm9ybWFsaXplZCA6IGAtJHtub3JtYWxpemVkfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRWYWx1ZShgJHtub3JtYWxpemVkfSR7aGFzRGVjaW1hbFBvaW50ID8gJy4nIDogJyd9YC50cmltKCkpO1xuICAgICAgICB9XG4gICAgfSwgW3ZhbHVlLCBtYXhGcmFjdGlvbkRpZ2l0cywgbmVnYXRpdmVdKTtcbiAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCBbd3JhcHBlckNscywgaW52YWxpZCA/IGNsYXNzZXMoJ2ludmFsaWQnKSA6IHVuZGVmaW5lZF0uam9pbignICcpLnRyaW0oKSksIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyByZWY6IGNvbnRhaW5lclJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgW2NsYXNzTmFtZSwgaXNGb2N1cyA/IGNsYXNzZXMoJ2ZvY3VzJykgOiAnJ10uam9pbignICcpLnRyaW0oKSksIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01heFdpZHRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9FbmQoKTtcbiAgICAgICAgICAgICAgICB9LCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IHJlZjogcHJlZml4UmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdlbGVtZW50JywgKCFpc0ZvY3VzICYmIGlzTWF4V2lkdGgpID8gY2xhc3NlcygnZWxlbWVudC1tYXgnKSA6ICcnKSwgY2hpbGRyZW46IF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogaW5wdXRSZWYsIHZhbHVlOiBmb3JtYXR0ZWRWYWx1ZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBzdHlsZTogeyAnLS1pbnB1dC13aWR0aCc6IGAke193aWR0aH1weGAgfSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgb25Gb2N1czogZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzRm9jdXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cyhlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBvbkJsdXI6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gfSkpIH0pLCBjdXJyZW5jeSAmJiBfanN4KFwic3BhblwiLCB7IHJlZjogY3VycmVuY3lSZWYsIGNsYXNzTmFtZTogY2xhc3NlcygnY3VycmVuY3knKSwgY2hpbGRyZW46IGN1cnJlbmN5IH0pLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyByZWY6IHN1ZmZpeFJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWZmaXgnKSwgY2hpbGRyZW46IHN1ZmZpeCB9KSwgX2pzeChcInNwYW5cIiwgeyByZWY6IGZha2VFbGVSZWYsIGNsYXNzTmFtZTogY2xhc3NlcygnZmFrZScpLCBvbkNsaWNrOiBlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCksIGNoaWxkcmVuOiBudW1lcmljRm9ybWF0dGVyKCcnICsgKF92YWx1ZSA9PSBudWxsID8gJycgOiBfdmFsdWUpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogbmVnYXRpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSB9KV0gfSksIChtZXNzYWdlIHx8IGZvb3Rub3RlKSAmJiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZXh0cmEnKSwgY2hpbGRyZW46IFttZXNzYWdlICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UnLCBtZXNzYWdlQ2xzKSwgY2hpbGRyZW46IG1lc3NhZ2UgfSksIGZvb3Rub3RlICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2Zvb3Rub3RlJywgZm9vdG5vdGVDbHMpLCBjaGlsZHJlbjogZm9vdG5vdGUgfSldIH0pXSB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKElucHV0QW1vdW50KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SidebarProps } from './interface';
|
|
2
|
+
export declare const SimplySidebar: import("react").ForwardRefExoticComponent<SidebarProps & {
|
|
3
|
+
children?: import("react").ReactNode | undefined;
|
|
4
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const _default: import("react").NamedExoticComponent<SidebarProps & {
|
|
6
|
+
children?: import("react").ReactNode | undefined;
|
|
7
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.SimplySidebar = void 0;
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _reactProSidebar = require("react-pro-sidebar");
|
|
12
|
+
var _classnames = _interopRequireDefault(require("../../utils/classnames"));
|
|
13
|
+
var _Icons = _interopRequireDefault(require("../Icons"));
|
|
14
|
+
var SimplySidebar = exports.SimplySidebar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
15
|
+
var id = props.id,
|
|
16
|
+
children = props.children,
|
|
17
|
+
menus = props.menus,
|
|
18
|
+
className = props.className,
|
|
19
|
+
_props$prefixCls = props.prefixCls,
|
|
20
|
+
prefixCls = _props$prefixCls === void 0 ? 'simply-sidebar' : _props$prefixCls,
|
|
21
|
+
headerCls = props.headerCls,
|
|
22
|
+
bodyCls = props.bodyCls,
|
|
23
|
+
betaLogo = props.betaLogo,
|
|
24
|
+
onLogoClick = props.onLogoClick;
|
|
25
|
+
var classes = (0, _classnames["default"])(prefixCls);
|
|
26
|
+
// Type guard to check if menu item is SimpleMenuItem
|
|
27
|
+
var isSimpleMenuItem = function isSimpleMenuItem(menu) {
|
|
28
|
+
return 'children' in menu && Array.isArray(menu.children);
|
|
29
|
+
};
|
|
30
|
+
// Render child items (non-top-level)
|
|
31
|
+
var _renderChildMenuItem = function renderChildMenuItem(menu, index) {
|
|
32
|
+
var key = menu.key,
|
|
33
|
+
label = menu.label,
|
|
34
|
+
icon = menu.icon,
|
|
35
|
+
suffix = menu.suffix,
|
|
36
|
+
link = menu.link,
|
|
37
|
+
active = menu.active,
|
|
38
|
+
disabled = menu.disabled,
|
|
39
|
+
onClick = menu.onClick;
|
|
40
|
+
if (isSimpleMenuItem(menu)) {
|
|
41
|
+
var defaultOpen = menu.defaultOpen,
|
|
42
|
+
onOpenChange = menu.onOpenChange,
|
|
43
|
+
_children = menu.children;
|
|
44
|
+
return (0, _jsxRuntime.jsx)(_reactProSidebar.SubMenu, {
|
|
45
|
+
label: label,
|
|
46
|
+
icon: icon,
|
|
47
|
+
suffix: suffix,
|
|
48
|
+
component: link,
|
|
49
|
+
defaultOpen: defaultOpen,
|
|
50
|
+
onOpenChange: onOpenChange,
|
|
51
|
+
onClick: onClick,
|
|
52
|
+
active: active,
|
|
53
|
+
disabled: disabled,
|
|
54
|
+
children: _children === null || _children === void 0 ? void 0 : _children.map(function (child, childIndex) {
|
|
55
|
+
return _renderChildMenuItem(child, childIndex);
|
|
56
|
+
})
|
|
57
|
+
}, key !== null && key !== void 0 ? key : index);
|
|
58
|
+
}
|
|
59
|
+
return (0, _jsxRuntime.jsx)(_reactProSidebar.MenuItem, {
|
|
60
|
+
icon: icon,
|
|
61
|
+
suffix: suffix,
|
|
62
|
+
component: link,
|
|
63
|
+
active: active,
|
|
64
|
+
disabled: disabled,
|
|
65
|
+
onClick: onClick,
|
|
66
|
+
children: label
|
|
67
|
+
}, key !== null && key !== void 0 ? key : index);
|
|
68
|
+
};
|
|
69
|
+
// Render top-level menu items
|
|
70
|
+
var renderTopLevelMenu = function renderTopLevelMenu(menu, index) {
|
|
71
|
+
if (!isSimpleMenuItem(menu)) {
|
|
72
|
+
return _renderChildMenuItem(menu, index);
|
|
73
|
+
}
|
|
74
|
+
var key = menu.key,
|
|
75
|
+
label = menu.label,
|
|
76
|
+
icon = menu.icon,
|
|
77
|
+
children = menu.children;
|
|
78
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
79
|
+
children: [index > 0 && (0, _jsxRuntime.jsx)("div", {
|
|
80
|
+
className: classes('hr-line')
|
|
81
|
+
}), (0, _jsxRuntime.jsxs)("div", {
|
|
82
|
+
className: classes('group-label'),
|
|
83
|
+
children: [icon && (0, _jsxRuntime.jsx)("span", {
|
|
84
|
+
className: classes('group-icon'),
|
|
85
|
+
children: icon
|
|
86
|
+
}), (0, _jsxRuntime.jsx)("span", {
|
|
87
|
+
className: classes('group-label-text'),
|
|
88
|
+
children: label
|
|
89
|
+
})]
|
|
90
|
+
}), children === null || children === void 0 ? void 0 : children.map(function (child, childIndex) {
|
|
91
|
+
return _renderChildMenuItem(child, childIndex);
|
|
92
|
+
})]
|
|
93
|
+
}, key !== null && key !== void 0 ? key : index);
|
|
94
|
+
};
|
|
95
|
+
return (0, _jsxRuntime.jsxs)(_reactProSidebar.Sidebar, {
|
|
96
|
+
id: id,
|
|
97
|
+
className: classes(void 0, className),
|
|
98
|
+
width: '280px',
|
|
99
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
100
|
+
className: classes('header', headerCls),
|
|
101
|
+
children: (0, _jsxRuntime.jsx)("span", {
|
|
102
|
+
className: classes('logo'),
|
|
103
|
+
onClick: onLogoClick,
|
|
104
|
+
children: (0, _jsxRuntime.jsx)(_Icons["default"], {
|
|
105
|
+
name: betaLogo ? 'logoWithBeta' : 'logoWithWords',
|
|
106
|
+
// @ts-ignore
|
|
107
|
+
logoColor: '#073387',
|
|
108
|
+
// @ts-ignore
|
|
109
|
+
wordColor: '#131313',
|
|
110
|
+
// @ts-ignore
|
|
111
|
+
betaColor: '#073387',
|
|
112
|
+
color: '#073387',
|
|
113
|
+
width: betaLogo ? 152 : 131,
|
|
114
|
+
height: betaLogo ? 22 : 24
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
}), (0, _jsxRuntime.jsx)(_reactProSidebar.Menu, {
|
|
118
|
+
className: classes('menu', bodyCls),
|
|
119
|
+
renderExpandIcon: function renderExpandIcon(_ref) {
|
|
120
|
+
var open = _ref.open;
|
|
121
|
+
return (0, _jsxRuntime.jsx)(_Icons["default"], {
|
|
122
|
+
name: 'chevronDown',
|
|
123
|
+
size: 16,
|
|
124
|
+
color: '#646465',
|
|
125
|
+
wrapperCls: [classes('expand-icon'), open ? classes('expand-icon-open') : ''].join(' ')
|
|
126
|
+
});
|
|
127
|
+
},
|
|
128
|
+
children: menus.map(function (menu, index) {
|
|
129
|
+
return renderTopLevelMenu(menu, index);
|
|
130
|
+
})
|
|
131
|
+
}), children]
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(SimplySidebar);
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2lkZWJhci9TaW1wbHlTaWRlYmFyLnRzeCIsImNvbXBvbmVudHMvU2lkZWJhci9TaW1wbHlTaWRlYmFyLmpzIl0sIm5hbWVzIjpbIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJTaW1wbHlTaWRlYmFyIiwiX2pzeFJ1bnRpbWUiLCJfcmVhY3QiLCJfcmVhY3RQcm9TaWRlYmFyIiwiX2NsYXNzbmFtZXMiLCJfSWNvbnMiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJpZCIsImNoaWxkcmVuIiwibWVudXMiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiaGVhZGVyQ2xzIiwiYm9keUNscyIsImJldGFMb2dvIiwib25Mb2dvQ2xpY2siLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImlzU2ltcGxlTWVudUl0ZW0iLCJtZW51IiwiQXJyYXkiLCJpc0FycmF5IiwicmVuZGVyQ2hpbGRNZW51SXRlbSIsImluZGV4Iiwia2V5IiwibGFiZWwiLCJpY29uIiwic3VmZml4IiwibGluayIsImFjdGl2ZSIsImRpc2FibGVkIiwib25DbGljayIsImRlZmF1bHRPcGVuIiwib25PcGVuQ2hhbmdlIiwiX2pzeCIsIlByb1N1Yk1lbnUiLCJjb21wb25lbnQiLCJtYXAiLCJjaGlsZCIsImNoaWxkSW5kZXgiLCJQcm9NZW51SXRlbSIsInJlbmRlclRvcExldmVsTWVudSIsIl9qc3hzIiwiUHJvU2lkZWJhciIsIndpZHRoIiwiSWNvbnMiLCJuYW1lIiwibG9nb0NvbG9yIiwid29yZENvbG9yIiwiYmV0YUNvbG9yIiwiY29sb3IiLCJoZWlnaHQiLCJQcm9NZW51IiwicmVuZGVyRXhwYW5kSWNvbiIsIl9yZWYiLCJvcGVuIiwic2l6ZSIsIndyYXBwZXJDbHMiLCJqb2luIiwiX2RlZmF1bHQiLCJtZW1vIl0s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QUEsQ0FDcEQsRUFDVGhCLFFBQVE7RUFBQSxDQUFBLENBQ0U7QUFFakIsQ0FBQyxDQUFDO0FBQUMsSUFBQW9ELFFBQUEsR0FBQWhFLE9BQUEsMkJBRVksSUFBQWlFLFdBQUksRUFBQy9ELGFBQWEsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL1NpZGViYXIvU2ltcGx5U2lkZWJhci5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiJ3VzZSBjbGllbnQnO1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTaWRlYmFyIGFzIFByb1NpZGViYXIsIE1lbnUgYXMgUHJvTWVudSwgTWVudUl0ZW0gYXMgUHJvTWVudUl0ZW0sIFN1Yk1lbnUgYXMgUHJvU3ViTWVudSB9IGZyb20gJ3JlYWN0LXByby1zaWRlYmFyJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IEljb25zIGZyb20gJy4uL0ljb25zJztcbmV4cG9ydCBjb25zdCBTaW1wbHlTaWRlYmFyID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgaWQsIGNoaWxkcmVuLCBtZW51cywgY2xhc3NOYW1lLCBwcmVmaXhDbHMgPSAnc2ltcGx5LXNpZGViYXInLCBoZWFkZXJDbHMsIGJvZHlDbHMsIGJldGFMb2dvLCBvbkxvZ29DbGljayB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICAvLyBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIG1lbnUgaXRlbSBpcyBTaW1wbGVNZW51SXRlbVxuICAgIGNvbnN0IGlzU2ltcGxlTWVudUl0ZW0gPSAobWVudSkgPT4ge1xuICAgICAgICByZXR1cm4gJ2NoaWxkcmVuJyBpbiBtZW51ICYmIEFycmF5LmlzQXJyYXkobWVudS5jaGlsZHJlbik7XG4gICAgfTtcbiAgICAvLyBSZW5kZXIgY2hpbGQgaXRlbXMgKG5vbi10b3AtbGV2ZWwpXG4gICAgY29uc3QgcmVuZGVyQ2hpbGRNZW51SXRlbSA9IChtZW51LCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCB7IGtleSwgbGFiZWwsIGljb24sIHN1ZmZpeCwgbGluaywgYWN0aXZlLCBkaXNhYmxlZCwgb25DbGljayB9ID0gbWVudTtcbiAgICAgICAgaWYgKGlzU2ltcGxlTWVudUl0ZW0obWVudSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZGVmYXVsdE9wZW4sIG9uT3BlbkNoYW5nZSwgY2hpbGRyZW4gfSA9IG1lbnU7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3goUHJvU3ViTWVudSwgeyBsYWJlbDogbGFiZWwsIGljb246IGljb24sIHN1ZmZpeDogc3VmZml4LCBjb21wb25lbnQ6IGxpbmssIGRlZmF1bHRPcGVuOiBkZWZhdWx0T3Blbiwgb25PcGVuQ2hhbmdlOiBvbk9wZW5DaGFuZ2UsIG9uQ2xpY2s6IG9uQ2xpY2ssIGFjdGl2ZTogYWN0aXZlLCBkaXNhYmxlZDogZGlzYWJsZWQsIGNoaWxkcmVuOiBjaGlsZHJlbiA9PT0gbnVsbCB8fCBjaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2hpbGRyZW4ubWFwKChjaGlsZCwgY2hpbGRJbmRleCkgPT4gcmVuZGVyQ2hpbGRNZW51SXRlbShjaGlsZCwgY2hpbGRJbmRleCkpIH0sIGtleSAhPT0gbnVsbCAmJiBrZXkgIT09IHZvaWQgMCA/IGtleSA6IGluZGV4KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChfanN4KFByb01lbnVJdGVtLCB7IGljb246IGljb24sIHN1ZmZpeDogc3VmZml4LCBjb21wb25lbnQ6IGxpbmssIGFjdGl2ZTogYWN0aXZlLCBkaXNhYmxlZDogZGlzYWJsZWQsIG9uQ2xpY2s6IG9uQ2xpY2ssIGNoaWxkcmVuOiBsYWJlbCB9LCBrZXkgIT09IG51bGwgJiYga2V5ICE9PSB2b2lkIDAgPyBrZXkgOiBpbmRleCkpO1xuICAgIH07XG4gICAgLy8gUmVuZGVyIHRvcC1sZXZlbCBtZW51IGl0ZW1zXG4gICAgY29uc3QgcmVuZGVyVG9wTGV2ZWxNZW51ID0gKG1lbnUsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmICghaXNTaW1wbGVNZW51SXRlbShtZW51KSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlbmRlckNoaWxkTWVudUl0ZW0obWVudSwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsga2V5LCBsYWJlbCwgaWNvbiwgY2hpbGRyZW4gfSA9IG1lbnU7XG4gICAgICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjaGlsZHJlbjogW2luZGV4ID4gMCAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdoci1saW5lJykgfSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1sYWJlbCcpLCBjaGlsZHJlbjogW2ljb24gJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwLWljb24nKSwgY2hpbGRyZW46IGljb24gfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1sYWJlbC10ZXh0JyksIGNoaWxkcmVuOiBsYWJlbCB9KV0gfSksIGNoaWxkcmVuID09PSBudWxsIHx8IGNoaWxkcmVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjaGlsZHJlbi5tYXAoKGNoaWxkLCBjaGlsZEluZGV4KSA9PiByZW5kZXJDaGlsZE1lbnVJdGVtKGNoaWxkLCBjaGlsZEluZGV4KSldIH0sIGtleSAhPT0gbnVsbCAmJiBrZXkgIT09IHZvaWQgMCA/IGtleSA6IGluZGV4KSk7XG4gICAgfTtcbiAgICByZXR1cm4gKF9qc3hzKFByb1NpZGViYXIsIHsgaWQ6IGlkLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBjbGFzc05hbWUpLCB3aWR0aDogJzI4MHB4JywgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdoZWFkZXInLCBoZWFkZXJDbHMpLCBjaGlsZHJlbjogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2xvZ28nKSwgb25DbGljazogb25Mb2dvQ2xpY2ssIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGJldGFMb2dvID8gJ2xvZ29XaXRoQmV0YScgOiAnbG9nb1dpdGhXb3JkcycsIFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgbG9nb0NvbG9yOiAnIzA3MzM4NycsIFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgd29yZENvbG9yOiAnIzEzMTMxMycsIFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YUNvbG9yOiAnIzA3MzM4NycsIGNvbG9yOiAnIzA3MzM4NycsIHdpZHRoOiBiZXRhTG9nbyA/IDE1MiA6IDEzMSwgaGVpZ2h0OiBiZXRhTG9nbyA/IDIyIDogMjQgfSkgfSkgfSksIF9qc3goUHJvTWVudSwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lbnUnLCBib2R5Q2xzKSwgcmVuZGVyRXhwYW5kSWNvbjogKHsgb3BlbiB9KSA9PiBfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uRG93bicsIHNpemU6IDE2LCBjb2xvcjogJyM2NDY0NjUnLCB3cmFwcGVyQ2xzOiBbY2xhc3NlcygnZXhwYW5kLWljb24nKSwgb3BlbiA/IGNsYXNzZXMoJ2V4cGFuZC1pY29uLW9wZW4nKSA6ICcnXS5qb2luKCcgJykgfSksIGNoaWxkcmVuOiBtZW51cy5tYXAoKG1lbnUsIGluZGV4KSA9PiByZW5kZXJUb3BMZXZlbE1lbnUobWVudSwgaW5kZXgpKSB9KSwgY2hpbGRyZW5dIH0pKTtcbn0pO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTaW1wbHlTaWRlYmFyKTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
var _exportNames = {
|
|
8
8
|
Sidebar: true,
|
|
9
|
+
SimplySidebar: true,
|
|
9
10
|
Stepper: true
|
|
10
11
|
};
|
|
11
12
|
Object.defineProperty(exports, "Sidebar", {
|
|
@@ -14,6 +15,12 @@ Object.defineProperty(exports, "Sidebar", {
|
|
|
14
15
|
return _Sidebar.Sidebar;
|
|
15
16
|
}
|
|
16
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "SimplySidebar", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _SimplySidebar.SimplySidebar;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
17
24
|
Object.defineProperty(exports, "Stepper", {
|
|
18
25
|
enumerable: true,
|
|
19
26
|
get: function get() {
|
|
@@ -22,6 +29,7 @@ Object.defineProperty(exports, "Stepper", {
|
|
|
22
29
|
});
|
|
23
30
|
exports["default"] = void 0;
|
|
24
31
|
var _Sidebar = _interopRequireWildcard(require("./Sidebar"));
|
|
32
|
+
var _SimplySidebar = require("./SimplySidebar");
|
|
25
33
|
var _Stepper = require("./Stepper");
|
|
26
34
|
var _interface = require("./interface");
|
|
27
35
|
Object.keys(_interface).forEach(function (key) {
|
|
@@ -38,4 +46,4 @@ Object.keys(_interface).forEach(function (key) {
|
|
|
38
46
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
39
47
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
40
48
|
var _default = exports["default"] = _Sidebar["default"];
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2lkZWJhci9pbmRleC50cyJdLCJuYW1lcyI6WyJfU2lkZWJhciIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9TaW1wbHlTaWRlYmFyIiwiX1N0ZXBwZXIiLCJfaW50ZXJmYWNlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwibiIsIl9fcHJvdG9fXyIsImEiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaSIsInNldCIsIl9kZWZhdWx0IiwiU2lkZWJhciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBSUEsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQUFJLE1BQUEsQ0FBQUMsSUFBQSxDQUFBRixVQUFBLEVBQUFHLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQUosVUFBQSxDQUFBSSxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBWixVQUFBLENBQUFJLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFBNEIsU0FBQVMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFsQix3QkFBQWtCLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUwsR0FBQSxDQUFBRSxDQUFBLE9BQUFPLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUF0QixNQUFBLENBQUFTLGNBQUEsSUFBQVQsTUFBQSxDQUFBdUIsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBWCxDQUFBLG9CQUFBVyxDQUFBLE9BQUFuQixjQUFBLENBQUFDLElBQUEsQ0FBQU8sQ0FBQSxFQUFBVyxDQUFBLFNBQUFDLENBQUEsR0FBQUgsQ0FBQSxHQUFBdEIsTUFBQSxDQUFBdUIsd0JBQUEsQ0FBQVYsQ0FBQSxFQUFBVyxDQUFBLFVBQUFDLENBQUEsS0FBQUEsQ0FBQSxDQUFBZCxHQUFBLElBQUFjLENBQUEsQ0FBQUMsR0FBQSxJQUFBMUIsTUFBQSxDQUFBUyxjQUFBLENBQUFXLENBQUEsRUFBQUksQ0FBQSxFQUFBQyxDQUFBLElBQUFMLENBQUEsQ0FBQUksQ0FBQSxJQUFBWCxDQUFBLENBQUFXLENBQUEsWUFBQUosQ0FBQSxjQUFBUCxDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBVSxHQUFBLENBQUFiLENBQUEsRUFBQU8sQ0FBQSxHQUFBQSxDQUFBO0FBQUEsSUFBQU8sUUFBQSxHQUFBbkIsT0FBQSxjQUZib0IsbUJBQU8iLCJmaWxlIjoiY29tcG9uZW50cy9TaWRlYmFyL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -12,6 +12,9 @@ export interface MenuItem {
|
|
|
12
12
|
onClick?: (e: MouseEvent<HTMLAnchorElement>) => any;
|
|
13
13
|
children?: Omit<MenuItem, 'children'>[];
|
|
14
14
|
}
|
|
15
|
+
export interface SimpleMenuItem extends MenuItem {
|
|
16
|
+
children?: SimpleMenuItem[];
|
|
17
|
+
}
|
|
15
18
|
export interface SidebarProps {
|
|
16
19
|
id?: string;
|
|
17
20
|
className?: string;
|
|
@@ -24,7 +27,7 @@ export interface SidebarProps {
|
|
|
24
27
|
betaLogo?: boolean;
|
|
25
28
|
onCollapse?: (collapsed: boolean) => any;
|
|
26
29
|
onLogoClick?: () => any;
|
|
27
|
-
menus: MenuItem[];
|
|
30
|
+
menus: (MenuItem | SimpleMenuItem)[];
|
|
28
31
|
}
|
|
29
32
|
export interface SidebarHandlers {
|
|
30
33
|
toggle: () => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.om-react-ui-simply-sidebar{height:100vh;padding:40px 16px 24px;background-color:#fefefe;border-right:1px solid #e3e4e4}.om-react-ui-simply-sidebar-expand-icon-open{transform:rotate(180deg)}.om-react-ui-simply-sidebar-group-label{display:flex;gap:8px;align-items:center;height:40px;padding:16px 12px}.om-react-ui-simply-sidebar-group-icon{display:inline-flex;gap:8px;align-items:center;justify-content:center;width:20px;height:20px}.om-react-ui-simply-sidebar-group-label-text{color:#404042;font-weight:700;font-size:14px;font-style:normal;line-height:108%}.om-react-ui-simply-sidebar-hr-line{width:100%;height:1px;margin:4px 0;background-color:#e3e4e4}.om-react-ui-simply-sidebar .ps-sidebar-container{display:flex;flex-direction:column;background-color:transparent}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu{margin-top:32px}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu>ul{display:flex;flex-direction:column}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-menu-button{display:inline-flex;gap:8px;align-items:center;width:100%;height:40px;padding:8px 12px 8px 40px;color:#404042;font-weight:500;font-size:14px;font-family:Inter;font-style:normal;line-height:108%}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-menu-button:hover{color:#073387;background-color:#fff}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-menu-button.ps-active{color:#073387}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-menu-button .ps-menu-icon{display:inline-flex;align-items:center;justify-content:start;width:16px;min-width:16px;height:16px;margin-right:0;color:inherit}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-menu-button .ps-submenu-expand-icon{display:inline-flex;align-items:center}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-menu-button .ps-menu-suffix{height:16px;margin:0 0 0 auto}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-menu-button.ps-disabled{cursor:not-allowed;opacity:.4}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-submenu-content{background-color:#fefefe;border-radius:8px}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root .ps-submenu-content.ps-open{padding:4px 0 8px}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root.ps-submenu-root .ps-submenu-content ul{display:flex;flex-direction:column;gap:4px}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root.ps-submenu-root .ps-submenu-content ul .ps-menu-button{height:36px;padding:8px 16px 8px 64px;color:#404042}.om-react-ui-simply-sidebar .ps-sidebar-container .om-react-ui-simply-sidebar-menu .ps-menuitem-root.ps-submenu-root .ps-submenu-content ul .ps-menu-button.ps-active{color:#073387}.om-react-ui-simply-sidebar-header{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 0 8px 8px}.om-react-ui-simply-sidebar-logo{height:100%}.om-react-ui-simply-sidebar-collapse,.om-react-ui-simply-sidebar-logo{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.om-react-ui-simply-sidebar-collapse{gap:8px;margin:32px auto 0;padding:8px 12px;background-color:#f0f0f0;border-radius:12px}.om-react-ui-simply-sidebar-collapse-collapsed{width:36px;height:36px}.om-react-ui-simply-sidebar-collapse-collapsed .om-react-ui-simply-sidebar-collapse-text{display:none}.om-react-ui-simply-sidebar-collapse-text{color:#646465;font-weight:500;font-size:14px}.om-react-ui-simply-sidebar.ps-collapsed{padding:40px 8px 24px}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container{align-items:center;overflow:visible}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .om-react-ui-simply-sidebar-header{padding:0}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .om-react-ui-simply-sidebar-menu{margin-top:32px}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .om-react-ui-simply-sidebar-menu>ul{gap:8px}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root .ps-menu-button{flex-direction:column;gap:4px;height:auto;padding:8px;color:red;font-size:10px}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root .ps-menu-button .ps-menu-label{line-height:108%;white-space:pre-line;text-align:center}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content{padding:0;background-color:#f8f8f8;border-radius:12px;box-shadow:0 255px 71px 0 transparent,0 10px 22px 0 rgba(0,0,0,.1)}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content>ul{gap:0}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menuitem-root{padding:0 12px}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menuitem-root:hover{background-color:#f0f0f0}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menuitem-root:has(.ps-menu-button.ps-active){background-color:#edf2f9}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menuitem-root:first-child .ps-menu-button{margin-top:4px}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menuitem-root:last-child .ps-menu-button{margin-bottom:4px;border-bottom:none}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menuitem-root .ps-menu-button{height:40px;padding:12px 0;color:green;font-size:14px;border:none;border-bottom:1px solid #e3e4e4;border-radius:0}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menuitem-root .ps-menu-button.ps-active{background-color:inherit}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menu-button{flex-direction:row;gap:8px}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menu-button span{flex-grow:0}.om-react-ui-simply-sidebar.ps-collapsed .ps-sidebar-container .ps-menu-root .ps-menuitem-root.ps-submenu-root .ps-submenu-content .ps-menu-button span:only-child{padding-left:28px}.om-react-ui-simply-sidebar.ps-collapsed .om-react-ui-simply-sidebar-header{padding-left:22px}.om-react-ui-simply-sidebar.ps-collapsed .om-react-ui-simply-sidebar-footer{padding-left:16px}.om-react-ui-simply-sidebar.ps-collapsed .om-react-ui-simply-sidebar-footer-logout-text{display:none}
|