@1money/component-ui 0.0.40 → 0.0.41
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/Accordion/Accordion.d.ts +2 -4
- package/es/components/Accordion/Accordion.js +7 -11
- package/es/components/Accordion/constants.d.ts +16 -0
- package/es/components/Accordion/constants.js +17 -0
- package/es/components/Button/Button.js +2 -2
- package/es/components/Button/constants.d.ts +2 -1
- package/es/components/Button/constants.js +3 -2
- package/es/components/Button/style/Button.css +1 -1
- package/es/components/Checkbox/Checkbox.js +7 -6
- package/es/components/Checkbox/constants.d.ts +16 -6
- package/es/components/Checkbox/constants.js +17 -8
- package/es/components/Copy/Clipboard.d.ts +2 -4
- package/es/components/Copy/Clipboard.js +4 -3
- package/es/components/Copy/Copy.d.ts +2 -4
- package/es/components/Copy/Copy.js +18 -7
- package/es/components/Copy/interface.d.ts +2 -0
- package/es/components/Notification/Notification.js +5 -11
- package/es/components/Notification/constants.d.ts +7 -0
- package/es/components/Notification/constants.js +10 -1
- package/es/components/Notification/index.d.ts +1 -1
- package/es/components/Notification/interface.d.ts +2 -2
- package/es/components/Pagination/Pagination.js +4 -3
- package/es/components/Radio/Radio.js +2 -1
- package/es/components/Select/Select.js +9 -18
- package/es/components/Select/constants.d.ts +7 -0
- package/es/components/Select/constants.js +8 -1
- package/es/components/Typography/render.js +1 -1
- package/es/components/Typography/useTypographyEnhancements.d.ts +2 -2
- package/es/components/Typography/useTypographyEnhancements.js +3 -2
- package/es/index.css +1 -1
- package/lib/components/Accordion/Accordion.d.ts +2 -4
- package/lib/components/Accordion/Accordion.js +7 -11
- package/lib/components/Accordion/constants.d.ts +16 -0
- package/lib/components/Accordion/constants.js +23 -0
- package/lib/components/Button/Button.js +2 -2
- package/lib/components/Button/constants.d.ts +2 -1
- package/lib/components/Button/constants.js +3 -2
- package/lib/components/Button/style/Button.css +1 -1
- package/lib/components/Checkbox/Checkbox.js +6 -5
- package/lib/components/Checkbox/constants.d.ts +16 -6
- package/lib/components/Checkbox/constants.js +18 -9
- package/lib/components/Copy/Clipboard.d.ts +2 -4
- package/lib/components/Copy/Clipboard.js +4 -3
- package/lib/components/Copy/Copy.d.ts +2 -4
- package/lib/components/Copy/Copy.js +18 -7
- package/lib/components/Copy/interface.d.ts +2 -0
- package/lib/components/Notification/Notification.js +4 -10
- package/lib/components/Notification/constants.d.ts +7 -0
- package/lib/components/Notification/constants.js +11 -2
- package/lib/components/Notification/index.d.ts +1 -1
- package/lib/components/Notification/interface.d.ts +2 -2
- package/lib/components/Pagination/Pagination.js +4 -3
- package/lib/components/Radio/Radio.js +2 -1
- package/lib/components/Select/Select.js +8 -17
- package/lib/components/Select/constants.d.ts +7 -0
- package/lib/components/Select/constants.js +9 -2
- package/lib/components/Typography/render.js +1 -1
- package/lib/components/Typography/useTypographyEnhancements.d.ts +2 -2
- package/lib/components/Typography/useTypographyEnhancements.js +3 -2
- package/lib/index.css +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/index.generated.json +8 -0
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
var __rest = this && this.__rest || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
6
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
3
|
import { autoUpdate, flip, FloatingFocusManager, FloatingPortal, offset, shift, size as floatingSize, useClick, useDismiss, useFloating, useInteractions, useListNavigation, useRole, useTypeahead } from '@floating-ui/react';
|
|
12
4
|
import { memo, useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
@@ -18,7 +10,7 @@ import SelectFieldShell from './SelectFieldShell';
|
|
|
18
10
|
import SelectOptionContent from './SelectOptionContent';
|
|
19
11
|
import SelectSearchControl from './SelectSearchControl';
|
|
20
12
|
import SelectValueContent from './SelectValueContent';
|
|
21
|
-
import { SELECT_TYPOGRAPHY } from './constants';
|
|
13
|
+
import { KEYBOARD, SELECT_TYPOGRAPHY } from './constants';
|
|
22
14
|
import { extractOptionText, filterOptionGroups, flattenOptionGroups, getMultipleValue, getOptionsByValues, getSelectedOptions, isOptionSelected, normalizeSize, normalizeOptionGroups, removeMultipleValue, toggleMultipleValue } from './utils';
|
|
23
15
|
import './style';
|
|
24
16
|
var DEFAULT_MAX_HEIGHT = 320;
|
|
@@ -78,8 +70,7 @@ export var Select = function Select(props) {
|
|
|
78
70
|
filterOption = props.filterOption,
|
|
79
71
|
renderOption = props.renderOption,
|
|
80
72
|
renderValue = props.renderValue,
|
|
81
|
-
ref = props.ref
|
|
82
|
-
rest = __rest(props, ["className", "prefixCls", "style", "id", "name", 'aria-label', 'aria-labelledby', "placeholder", "options", "value", "defaultValue", "size", "status", "variant", "disabled", "multiple", "maxVisibleValues", "searchable", "searchPlaceholder", "searchValue", "defaultSearchValue", "label", "info", "description", "feedback", "required", "prefix", "emptyContent", "panelFooter", "open", "defaultOpen", "listMaxHeight", "onChange", "onOpenChange", "onSearchChange", "onBlur", "filterOption", "renderOption", "renderValue", "ref"]);
|
|
73
|
+
ref = props.ref;
|
|
83
74
|
var classes = rootClassnames(prefixCls);
|
|
84
75
|
var autoId = useId();
|
|
85
76
|
var triggerId = id !== null && id !== void 0 ? id : autoId;
|
|
@@ -307,12 +298,12 @@ export var Select = function Select(props) {
|
|
|
307
298
|
if (disabled) {
|
|
308
299
|
return;
|
|
309
300
|
}
|
|
310
|
-
if (event.key ===
|
|
301
|
+
if (event.key === KEYBOARD.ENTER || event.key === KEYBOARD.SPACE) {
|
|
311
302
|
event.preventDefault();
|
|
312
303
|
handleOpenChange(!innerOpen);
|
|
313
304
|
return;
|
|
314
305
|
}
|
|
315
|
-
if (event.key ===
|
|
306
|
+
if (event.key === KEYBOARD.ARROW_DOWN || event.key === KEYBOARD.ARROW_UP) {
|
|
316
307
|
event.preventDefault();
|
|
317
308
|
if (!innerOpen) {
|
|
318
309
|
handleOpenChange(true);
|
|
@@ -342,7 +333,7 @@ export var Select = function Select(props) {
|
|
|
342
333
|
});
|
|
343
334
|
var handleSearchKeyDown = useEventCallback(function (event) {
|
|
344
335
|
var _a, _b, _c;
|
|
345
|
-
if (event.key ===
|
|
336
|
+
if (event.key === KEYBOARD.ARROW_DOWN && firstEnabledIndex >= 0) {
|
|
346
337
|
event.preventDefault();
|
|
347
338
|
setActiveIndex(firstEnabledIndex);
|
|
348
339
|
(_a = listRef.current[firstEnabledIndex]) === null || _a === void 0 ? void 0 : _a.focus({
|
|
@@ -350,7 +341,7 @@ export var Select = function Select(props) {
|
|
|
350
341
|
});
|
|
351
342
|
return;
|
|
352
343
|
}
|
|
353
|
-
if (event.key ===
|
|
344
|
+
if (event.key === KEYBOARD.ARROW_UP && lastEnabledIndex !== null) {
|
|
354
345
|
event.preventDefault();
|
|
355
346
|
setActiveIndex(lastEnabledIndex);
|
|
356
347
|
(_b = listRef.current[lastEnabledIndex]) === null || _b === void 0 ? void 0 : _b.focus({
|
|
@@ -358,7 +349,7 @@ export var Select = function Select(props) {
|
|
|
358
349
|
});
|
|
359
350
|
return;
|
|
360
351
|
}
|
|
361
|
-
if (event.key ===
|
|
352
|
+
if (event.key === KEYBOARD.ESCAPE) {
|
|
362
353
|
event.preventDefault();
|
|
363
354
|
handleOpenChange(false);
|
|
364
355
|
(_c = triggerRef.current) === null || _c === void 0 ? void 0 : _c.focus({
|
|
@@ -514,7 +505,7 @@ export var Select = function Select(props) {
|
|
|
514
505
|
option: option,
|
|
515
506
|
selected: selected
|
|
516
507
|
})
|
|
517
|
-
}), option.value);
|
|
508
|
+
}), "".concat(group.key, "-").concat(option.value));
|
|
518
509
|
})]
|
|
519
510
|
}, group.key);
|
|
520
511
|
});
|
|
@@ -530,4 +521,4 @@ export var Select = function Select(props) {
|
|
|
530
521
|
};
|
|
531
522
|
Select.displayName = 'Select';
|
|
532
523
|
export default /*#__PURE__*/memo(Select);
|
|
533
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiYXV0b1VwZGF0ZSIsImZsaXAiLCJGbG9hdGluZ0ZvY3VzTWFuYWdlciIsIkZsb2F0aW5nUG9ydGFsIiwib2Zmc2V0Iiwic2hpZnQiLCJzaXplIiwiZmxvYXRpbmdTaXplIiwidXNlQ2xpY2siLCJ1c2VEaXNtaXNzIiwidXNlRmxvYXRpbmciLCJ1c2VJbnRlcmFjdGlvbnMiLCJ1c2VMaXN0TmF2aWdhdGlvbiIsInVzZVJvbGUiLCJ1c2VUeXBlYWhlYWQiLCJtZW1vIiwidXNlRWZmZWN0IiwidXNlSWQiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwiSWNvbnMiLCJUeXBvZ3JhcGh5Qm9keSIsIlR5cG9ncmFwaHlMYWJlbCIsImpvaW5DbHMiLCJkZWZhdWx0Iiwicm9vdENsYXNzbmFtZXMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJTZWxlY3RWYWx1ZUNvbnRlbnQiLCJTRUxFQ1RfVFlQT0dSQVBIWSIsImV4dHJhY3RPcHRpb25UZXh0IiwiZmlsdGVyT3B0aW9uR3JvdXBzIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsImdldE11bHRpcGxlVmFsdWUiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJpc09wdGlvblNlbGVjdGVkIiwibm9ybWFsaXplU2l6ZSIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRvcHRpb25zIiwib3B0aW9ucyIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwiX3Byb3BzJHNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwibGFiZWwiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlclZhbHVlIiwicmVmIiwicmVzdCIsImNsYXNzZXMiLCJhdXRvSWQiLCJ0cmlnZ2VySWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTMiLCJfdXNlQ29udHJvbGxlZFN0YXRlNCIsImlubmVyT3BlbiIsInNldElubmVyT3BlbiIsIl91c2VDb250cm9sbGVkU3RhdGU1IiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTYiLCJpbm5lclNlYXJjaFZhbHVlIiwic2V0SW5uZXJTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhY3RpdmVJbmRleCIsInNldEFjdGl2ZUluZGV4Iiwibm9ybWFsaXplZFNpemUiLCJhbGxPcHRpb25Hcm91cHMiLCJhbGxGbGF0T3B0aW9ucyIsInZpc2libGVPcHRpb25Hcm91cHMiLCJ2aXNpYmxlRmxhdE9wdGlvbnMiLCJzZWxlY3RlZE9wdGlvbnMiLCJzZWxlY3RlZEluZGV4IiwibWF0Y2hlZEluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9uIiwiaGFzU2VsZWN0aW9uIiwibGlzdFJlZiIsImxpc3RDb250ZW50UmVmIiwiZmxvYXRpbmdSZWYiLCJ0cmlnZ2VyUmVmIiwic2VhcmNoSW5wdXRSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwibm9kZSIsImN1cnJlbnQiLCJoYW5kbGVPcGVuQ2hhbmdlIiwibmV4dE9wZW4iLCJfdXNlRmxvYXRpbmciLCJwbGFjZW1lbnQiLCJ3aGlsZUVsZW1lbnRzTW91bnRlZCIsIm1pZGRsZXdhcmUiLCJwYWRkaW5nIiwiYXBwbHkiLCJfcmVmIiwicmVjdHMiLCJlbGVtZW50cyIsImF2YWlsYWJsZUhlaWdodCIsIm5leHRNYXhIZWlnaHQiLCJNYXRoIiwibWF4IiwibWluIiwiYXNzaWduIiwiZmxvYXRpbmciLCJ3aWR0aCIsImNvbmNhdCIsInJlZmVyZW5jZSIsIm1heEhlaWdodCIsInJlZnMiLCJmbG9hdGluZ1N0eWxlcyIsImNvbnRleHQiLCJzZXRSZWZlcmVuY2UiLCJzZXRGbG9hdGluZyIsImNsaWNrIiwiZW5hYmxlZCIsImRpc21pc3MiLCJvdXRzaWRlUHJlc3NFdmVudCIsInJvbGUiLCJsaXN0TmF2aWdhdGlvbiIsIm9uTmF2aWdhdGUiLCJsb29wIiwidHlwZWFoZWFkIiwib25NYXRjaCIsIl91c2VJbnRlcmFjdGlvbnMiLCJnZXRSZWZlcmVuY2VQcm9wcyIsImdldEZsb2F0aW5nUHJvcHMiLCJnZXRJdGVtUHJvcHMiLCJmaXJzdEVuYWJsZWRJbmRleCIsImxhc3RFbmFibGVkSW5kZXgiLCJfYSIsImluZGV4IiwicHJldiIsImZvY3VzIiwicHJldmVudFNjcm9sbCIsInNsaWNlIiwibm90aWZ5Qmx1cklmT3V0c2lkZSIsInJlbGF0ZWRUYXJnZXQiLCJldmVudCIsIl9iIiwibmV4dFRhcmdldCIsIndpdGhpblRyaWdnZXIiLCJjb250YWlucyIsIndpdGhpbkZsb2F0aW5nIiwiaGFuZGxlVHJpZ2dlckJsdXIiLCJoYW5kbGVPcHRpb25CbHVyIiwiY29tbWl0Q2hhbmdlIiwibmV4dFZhbHVlIiwibmV4dE9wdGlvbiIsImhhbmRsZVNlbGVjdE9wdGlvbiIsIm5leHRPcHRpb25zIiwiaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSIsIm9wdGlvblZhbHVlIiwiaW5jbHVkZXMiLCJoYW5kbGVUcmlnZ2VyS2V5RG93biIsImtleSIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlSXRlbU1vdXNlRW50ZXIiLCJoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYWdSZW1vdmVDbGljayIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJfZXZlbnQiLCJoYW5kbGVTZWFyY2hLZXlEb3duIiwiX2MiLCJyZW5kZXJWYWx1ZU1ldGEiLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJpc011bHRpcGxlVmFsdWVGaWxsZWQiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNoaWxkcmVuIiwidHlwZSIsIm9uS2V5RG93biIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwiY29sb3IiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiZW1wdHkiLCJmbGF0SW5kZXgiLCJtYXAiLCJncm91cCIsImdyb3VwTGFiZWwiLCJzdHJvbmciLCJvcHRpb25GbGF0SW5kZXgiLCJzZWxlY3RlZCIsImFjdGl2ZSIsIm9wdGlvbk1ldGEiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ0csQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztFQUN6QjtFQUNKLE9BQU9SLENBQUM7QUFDWixDQUFDO0FBQ0QsU0FBU1csR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ1g5RCxTQUNFQyxVQUFVLEVBQ1ZDLElBQUksRUFDSkMsb0JBQW9CLEVBQ3BCQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsS0FBSyxFQUNMQyxJQUFJLElBQUlDLFlBQVksRUFDcEJDLFFBQVEsRUFDUkMsVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLGVBQWUsRUFDZkMsaUJBQWlCLEVBQ2pCQyxPQUFPLEVBQ1BDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0MsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLGtCQUFrQixFQUFFQyxnQkFBZ0IsUUFBUSxlQUFlO0FBQ3BFLFNBQVNDLEtBQUssUUFBUSxVQUFVO0FBQ2hDLFNBQVNDLGNBQWMsRUFBRUMsZUFBZSxRQUFRLGVBQWU7QUFDL0QsU0FBU0MsT0FBTyxFQUFFQyxPQUFPLElBQUlDLGNBQWMsUUFBUSx3QkFBd0I7QUFnQjNFLE9BQU9DLGdCQUFnQixNQUFNLG9CQUFvQjtBQUNqRCxPQUFPQyxtQkFBbUIsTUFBTSx1QkFBdUI7QUFDdkQsT0FBT0MsbUJBQW1CLE1BQU0sdUJBQXVCO0FBQ3ZELE9BQU9DLGtCQUFrQixNQUFNLHNCQUFzQjtBQUNyRCxTQUFTQyxpQkFBaUIsUUFBUSxhQUFhO0FBQy9DLFNBQ0VDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxtQkFBbUIsRUFDbkJDLGdCQUFnQixFQUNoQkMsa0JBQWtCLEVBQ2xCQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsYUFBYSxFQUNiQyxxQkFBcUIsRUFDckJDLG1CQUFtQixFQUNuQkMsbUJBQW1CLFFBQ2QsU0FBUztBQUNoQixPQUFPLFNBQVM7QUFFaEIsSUFBTUMsa0JBQWtCLEdBQUcsR0FBRztBQUU5QixPQUFPLElBQU1DLE1BQU0sR0FBb0IsU0FBMUJBLE1BQU1BLENBQXFCQyxLQUFLLEVBQUk7RUFDL0MsSUFBQUMsZ0JBQUEsR0EwQ0lELEtBQUssQ0F6Q1BFLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFBQUUsZ0JBQUEsR0F5Q1pILEtBQUssQ0F4Q1BJLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLFFBQVEsR0FBQUEsZ0JBQUE7SUFDcEJFLEtBQUssR0F1Q0hMLEtBQUssQ0F2Q1BLLEtBQUs7SUFDTEMsRUFBRSxHQXNDQU4sS0FBSyxDQXRDUE0sRUFBRTtJQUNGQyxJQUFJLEdBcUNGUCxLQUFLLENBckNQTyxJQUFJO0lBQ1VDLFNBQVMsR0FvQ3JCUixLQUFLLENBcENQLFlBQVk7SUFDT1MsY0FBYyxHQW1DL0JULEtBQUssQ0FuQ1AsaUJBQWlCO0lBQUFVLGtCQUFBLEdBbUNmVixLQUFLLENBbENQVyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxPQUFPLEdBQUFBLGtCQUFBO0lBQUFFLGNBQUEsR0FrQ25CWixLQUFLLENBakNQYSxPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLEVBQUUsR0FBQUEsY0FBQTtJQUNaRSxLQUFLLEdBZ0NIZCxLQUFLLENBaENQYyxLQUFLO0lBQ0xDLFlBQVksR0ErQlZmLEtBQUssQ0EvQlBlLFlBQVk7SUFBQUMsV0FBQSxHQStCVmhCLEtBQUssQ0E5QlB6QyxJQUFJO0lBQUpBLElBQUksR0FBQXlELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFBQUMsYUFBQSxHQThCWmpCLEtBQUssQ0E3QlBrQixNQUFNO0lBQU5BLE1BQU0sR0FBQUQsYUFBQSxjQUFHLFNBQVMsR0FBQUEsYUFBQTtJQUFBRSxjQUFBLEdBNkJoQm5CLEtBQUssQ0E1QlBvQixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLE1BQU0sR0FBQUEsY0FBQTtJQUFBRSxlQUFBLEdBNEJkckIsS0FBSyxDQTNCUHNCLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFFLGVBQUEsR0EyQmR2QixLQUFLLENBMUJQd0IsUUFBUTtJQUFSQSxRQUFRLEdBQUFELGVBQUEsY0FBRyxLQUFLLEdBQUFBLGVBQUE7SUFDaEJFLGdCQUFnQixHQXlCZHpCLEtBQUssQ0F6QlB5QixnQkFBZ0I7SUFBQUMsaUJBQUEsR0F5QmQxQixLQUFLLENBeEJQMkIsVUFBVTtJQUFWQSxVQUFVLEdBQUFELGlCQUFBLGNBQUcsS0FBSyxHQUFBQSxpQkFBQTtJQUFBRSxxQkFBQSxHQXdCaEI1QixLQUFLLENBdkJQNkIsaUJBQWlCO0lBQWpCQSxpQkFBaUIsR0FBQUQscUJBQUEsY0FBRyxRQUFRLEdBQUFBLHFCQUFBO0lBQzVCRSxXQUFXLEdBc0JUOUIsS0FBSyxDQXRCUDhCLFdBQVc7SUFBQUMscUJBQUEsR0FzQlQvQixLQUFLLENBckJQZ0Msa0JBQWtCO0lBQWxCQSxrQkFBa0IsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQ3ZCRSxLQUFLLEdBb0JIakMsS0FBSyxDQXBCUGlDLEtBQUs7SUFDTEMsSUFBSSxHQW1CRmxDLEtBQUssQ0FuQlBrQyxJQUFJO0lBQ0pDLFdBQVcsR0FrQlRuQyxLQUFLLENBbEJQbUMsV0FBVztJQUNYQyxRQUFRLEdBaUJOcEMsS0FBSyxDQWpCUG9DLFFBQVE7SUFBQUMsZUFBQSxHQWlCTnJDLEtBQUssQ0FoQlBzQyxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsZUFBQSxjQUFHLEtBQUssR0FBQUEsZUFBQTtJQUNoQkUsTUFBTSxHQWVKdkMsS0FBSyxDQWZQdUMsTUFBTTtJQUFBQyxtQkFBQSxHQWVKeEMsS0FBSyxDQWRQeUMsWUFBWTtJQUFaQSxZQUFZLEdBQUFELG1CQUFBLGNBQUcsWUFBWSxHQUFBQSxtQkFBQTtJQUMzQkUsV0FBVyxHQWFUMUMsS0FBSyxDQWJQMEMsV0FBVztJQUNYQyxJQUFJLEdBWUYzQyxLQUFLLENBWlAyQyxJQUFJO0lBQUFDLGtCQUFBLEdBWUY1QyxLQUFLLENBWFA2QyxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lBQUFFLG9CQUFBLEdBV2pCOUMsS0FBSyxDQVZQK0MsYUFBYTtJQUFiQSxhQUFhLEdBQUFELG9CQUFBLGNBQUdoRCxrQkFBa0IsR0FBQWdELG9CQUFBO0lBQ2xDRSxRQUFRLEdBU05oRCxLQUFLLENBVFBnRCxRQUFRO0lBQ1JDLFlBQVksR0FRVmpELEtBQUssQ0FSUGlELFlBQVk7SUFDWkMsY0FBYyxHQU9abEQsS0FBSyxDQVBQa0QsY0FBYztJQUNkQyxNQUFNLEdBTUpuRCxLQUFLLENBTlBtRCxNQUFNO0lBQ05DLFlBQVksR0FLVnBELEtBQUssQ0FMUG9ELFlBQVk7SUFDWkMsWUFBWSxHQUlWckQsS0FBSyxDQUpQcUQsWUFBWTtJQUNaQyxXQUFXLEdBR1R0RCxLQUFLLENBSFBzRCxXQUFXO0lBQ1hDLEdBQUcsR0FFRHZELEtBQUssQ0FGUHVELEdBQUc7SUFDQUMsSUFBSSxHQUFBekgsTUFBQSxDQUNMaUUsS0FBSyxFQTFDSCxDQUFBLFdBQUEsRUFBQSxXQUFBLEVBQUEsT0FBQSxFQUFBLElBQUEsRUFBQSxNQUFBLEVBQUEsWUFBQSxFQUFBLGlCQUFBLEVBQUEsYUFBQSxFQUFBLFNBQUEsRUFBQSxPQUFBLEVBQUEsY0FBQSxFQUFBLE1BQUEsRUFBQSxRQUFBLEVBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsa0JBQUEsRUFBQSxZQUFBLEVBQUEsbUJBQUEsRUFBQSxhQUFBLEVBQUEsb0JBQUEsRUFBQSxPQUFBLEVBQUEsTUFBQSxFQUFBLGFBQUEsRUFBQSxVQUFBLEVBQUEsVUFBQSxFQUFBLFFBQUEsRUFBQSxjQUFBLEVBQUEsYUFBQSxFQUFBLE1BQUEsRUFBQSxhQUFBLEVBQUEsZUFBQSxFQUFBLFVBQUEsRUFBQSxjQUFBLEVBQUEsZ0JBQUEsRUFBQSxRQUFBLEVBQUEsY0FBQSxFQUFBLGNBQUEsRUFBQSxhQUFBLEVBQUEsS0FBQSxDQTBDTCxDQUFRO0VBRVQsSUFBTXlELE9BQU8sR0FBRzVFLGNBQWMsQ0FBQ3VCLFNBQVMsQ0FBQztFQUN6QyxJQUFNc0QsTUFBTSxHQUFHeEYsS0FBSyxDQUFBLENBQUU7RUFDdEIsSUFBTXlGLFNBQVMsR0FBR3JELEVBQUUsS0FBQSxJQUFBLElBQUZBLEVBQUUsS0FBQSxLQUFBLENBQUEsR0FBRkEsRUFBRSxHQUFJb0QsTUFBTTtFQUM5QixJQUFNRSxPQUFPLEdBQUcxRixLQUFLLENBQUEsQ0FBRTtFQUN2QixJQUFNMkYsYUFBYSxHQUFHM0YsS0FBSyxDQUFBLENBQUU7RUFDN0IsSUFBTTRGLFVBQVUsR0FBRzVGLEtBQUssQ0FBQSxDQUFFO0VBQzFCLElBQUE2RixtQkFBQSxHQUFvQ3pGLGtCQUFrQixDQUNwRHlDLFlBQVksS0FBQSxJQUFBLElBQVpBLFlBQVksS0FBQSxLQUFBLENBQUEsR0FBWkEsWUFBWSxHQUFLUyxRQUFRLEdBQUcsRUFBRSxHQUFHd0MsU0FBVSxFQUMzQ2xELEtBQUssQ0FDTjtJQUFBbUQsb0JBQUEsR0FBQUMsY0FBQSxDQUFBSCxtQkFBQTtJQUhNSSxVQUFVLEdBQUFGLG9CQUFBO0lBQUVHLGFBQWEsR0FBQUgsb0JBQUE7RUFJaEMsSUFBQUksb0JBQUEsR0FBa0MvRixrQkFBa0IsQ0FBQ3VFLFdBQVcsRUFBRUYsSUFBSSxDQUFDO0lBQUEyQixvQkFBQSxHQUFBSixjQUFBLENBQUFHLG9CQUFBO0lBQWhFRSxTQUFTLEdBQUFELG9CQUFBO0lBQUVFLFlBQVksR0FBQUYsb0JBQUE7RUFDOUIsSUFBQUcsb0JBQUEsR0FBZ0RuRyxrQkFBa0IsQ0FDaEUwRCxrQkFBa0IsRUFDbEJGLFdBQVcsQ0FDWjtJQUFBNEMsb0JBQUEsR0FBQVIsY0FBQSxDQUFBTyxvQkFBQTtJQUhNRSxnQkFBZ0IsR0FBQUQsb0JBQUE7SUFBRUUsbUJBQW1CLEdBQUFGLG9CQUFBO0VBSTVDLElBQUFHLFNBQUEsR0FBc0N4RyxRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBeUcsVUFBQSxHQUFBWixjQUFBLENBQUFXLFNBQUE7SUFBNURFLFdBQVcsR0FBQUQsVUFBQTtJQUFFRSxjQUFjLEdBQUFGLFVBQUE7RUFFbEMsSUFBTUcsY0FBYyxHQUFHdkYsYUFBYSxDQUFDbkMsSUFBSSxDQUFDO0VBQzFDLElBQU0ySCxlQUFlLEdBQUcvRyxPQUFPLENBQzdCO0lBQUEsT0FBTXdCLHFCQUFxQixDQUFDa0IsT0FBTyxDQUFDO0VBQUEsR0FDcEMsQ0FBQ0EsT0FBTyxDQUFDLENBQ1Y7RUFDRCxJQUFNc0UsY0FBYyxHQUFHaEgsT0FBTyxDQUM1QjtJQUFBLE9BQU1rQixtQkFBbUIsQ0FBQzZGLGVBQWUsQ0FBQztFQUFBLEdBQzFDLENBQUNBLGVBQWUsQ0FBQyxDQUNsQjtFQUNELElBQU1FLG1CQUFtQixHQUFHakgsT0FBTyxDQUNqQztJQUFBLE9BQ0V3RCxVQUFVLEdBQ052QyxrQkFBa0IsQ0FBQzhGLGVBQWUsRUFBRVAsZ0JBQWdCLEVBQUV2QixZQUFZLENBQUMsR0FDbkU4QixlQUFlO0VBQUEsQ0FDcEIsRUFDRCxDQUFDQSxlQUFlLEVBQUU5QixZQUFZLEVBQUV1QixnQkFBZ0IsRUFBRWhELFVBQVUsQ0FBQyxDQUM5RDtFQUNELElBQU0wRCxrQkFBa0IsR0FBR2xILE9BQU8sQ0FDaEM7SUFBQSxPQUFNa0IsbUJBQW1CLENBQUMrRixtQkFBbUIsQ0FBQztFQUFBLEdBQzlDLENBQUNBLG1CQUFtQixDQUFDLENBQ3RCO0VBQ0QsSUFBTUUsZUFBZSxHQUFHbkgsT0FBTyxDQUM3QjtJQUFBLE9BQU1xQixrQkFBa0IsQ0FBQzJGLGNBQWMsRUFBRWhCLFVBQVUsRUFBRTNDLFFBQVEsQ0FBQztFQUFBLEdBQzlELENBQUMyRCxjQUFjLEVBQUVoQixVQUFVLEVBQUUzQyxRQUFRLENBQUMsQ0FDdkM7RUFDRCxJQUFNK0QsYUFBYSxHQUFHcEgsT0FBTyxDQUFDLFlBQUs7SUFDakMsSUFBSW1ILGVBQWUsQ0FBQzNJLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDaEMsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFNNkksWUFBWSxHQUFHSCxrQkFBa0IsQ0FBQ0ksU0FBUyxDQUMvQyxVQUFDQyxNQUFNO01BQUEsT0FBS0EsTUFBTSxDQUFDNUUsS0FBSyxLQUFLd0UsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDeEUsS0FBSztJQUFBLEVBQ3REO0lBRUQsT0FBTzBFLFlBQVksSUFBSSxDQUFDLEdBQUdBLFlBQVksR0FBRyxJQUFJO0VBQ2hELENBQUMsRUFBRSxDQUFDRixlQUFlLEVBQUVELGtCQUFrQixDQUFDLENBQUM7RUFDekMsSUFBTU0sWUFBWSxHQUFHTCxlQUFlLENBQUMzSSxNQUFNLEdBQUcsQ0FBQztFQUMvQyxJQUFNaUosT0FBTyxHQUFHeEgsTUFBTSxDQUFrQyxFQUFFLENBQUM7RUFDM0QsSUFBTXlILGNBQWMsR0FBR3pILE1BQU0sQ0FBdUIsRUFBRSxDQUFDO0VBQ3ZELElBQU0wSCxXQUFXLEdBQUcxSCxNQUFNLENBQXdCLElBQUksQ0FBQztFQUN2RCxJQUFNMkgsVUFBVSxHQUFHM0gsTUFBTSxDQUEyQixJQUFJLENBQUM7RUFDekQsSUFBTTRILGNBQWMsR0FBRzVILE1BQU0sQ0FBMEIsSUFBSSxDQUFDO0VBRTVELElBQU02SCxnQkFBZ0IsR0FBRzFILGdCQUFnQixDQUFDLFVBQUMySCxJQUE4QixFQUFJO0lBQzNFSCxVQUFVLENBQUNJLE9BQU8sR0FBR0QsSUFBSTtJQUN6QixJQUFJM0MsR0FBRyxFQUFFO01BQ05BLEdBQTZDLENBQUM0QyxPQUFPLEdBQUdELElBQUk7SUFDL0Q7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNRSxnQkFBZ0IsR0FBRzdILGdCQUFnQixDQUFDLFVBQUM4SCxRQUFpQixFQUFJO0lBQzlEN0IsWUFBWSxDQUFDNkIsUUFBUSxDQUFDO0lBQ3RCcEQsWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLENBQUdvRCxRQUFRLENBQUM7RUFDMUIsQ0FBQyxDQUFDO0VBRUYsSUFBQUMsWUFBQSxHQUlJM0ksV0FBVyxDQUFvQjtNQUNqQ2dGLElBQUksRUFBRTRCLFNBQVM7TUFDZnRCLFlBQVksRUFBRW1ELGdCQUFnQjtNQUM5QkcsU0FBUyxFQUFFLGNBQWM7TUFDekJDLG9CQUFvQixFQUFFdkosVUFBVTtNQUNoQ3dKLFVBQVUsRUFBRSxDQUNWcEosTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNUSCxJQUFJLENBQUM7UUFBRXdKLE9BQU8sRUFBRTtNQUFDLENBQUUsQ0FBQyxFQUNwQnBKLEtBQUssQ0FBQztRQUFFb0osT0FBTyxFQUFFO01BQUMsQ0FBRSxDQUFDLEVBQ3JCbEosWUFBWSxDQUFDO1FBQ1htSixLQUFLLFdBQUxBLEtBQUtBLENBQUFDLElBQUEsRUFBcUM7VUFBQSxJQUFsQ0MsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7WUFBRUMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7WUFBRUMsZUFBZSxHQUFBSCxJQUFBLENBQWZHLGVBQWU7VUFDdEMsSUFBTUMsYUFBYSxHQUFHQyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxHQUFHLEVBQUVELElBQUksQ0FBQ0UsR0FBRyxDQUFDcEUsYUFBYSxFQUFFZ0UsZUFBZSxDQUFDLENBQUM7VUFDN0UzSyxNQUFNLENBQUNnTCxNQUFNLENBQUNOLFFBQVEsQ0FBQ08sUUFBUSxDQUFDaEgsS0FBSyxFQUFFO1lBQ3JDaUgsS0FBSyxLQUFBQyxNQUFBLENBQUtWLEtBQUssQ0FBQ1csU0FBUyxDQUFDRixLQUFLLE9BQUk7WUFDbkNHLFNBQVMsS0FBQUYsTUFBQSxDQUFLUCxhQUFhO1VEN0duQixDQzhHVCxDQUFDO1FBQ0o7TUQ3R0ksQ0M4R0wsQ0FBQztJRDVHSixDQzhHRCxDQUFDO0lBdEJBVSxJQUFJLEdBQUFwQixZQUFBLENBQUpvQixJQUFJO0lBQ0pDLGNBQWMsR0FBQXJCLFlBQUEsQ0FBZHFCLGNBQWM7SUFDZEMsT0FBTyxHQUFBdEIsWUFBQSxDQUFQc0IsT0FBTztFQXNCVCxJQUFNQyxZQUFZLEdBQUd0SixnQkFBZ0IsQ0FBQyxVQUFDMkgsSUFBOEIsRUFBSTtJQUN2RXdCLElBQUksQ0FBQ0csWUFBWSxDQUFDM0IsSUFBSSxDQUFDO0lBQ3ZCRCxnQkFBZ0IsQ0FBQ0MsSUFBSSxDQUFDO0VBQ3hCLENBQUMsQ0FBQztFQUVGLElBQU00QixXQUFXLEdBQUd2SixnQkFBZ0IsQ0FBQyxVQUFDMkgsSUFBMkIsRUFBSTtJQUNuRXdCLElBQUksQ0FBQ0ksV0FBVyxDQUFDNUIsSUFBSSxDQUFDO0lBQ3RCSixXQUFXLENBQUNLLE9BQU8sR0FBR0QsSUFBSTtFQUM1QixDQUFDLENBQUM7RUFFRixJQUFNNkIsS0FBSyxHQUFHdEssUUFBUSxDQUFDbUssT0FBTyxFQUFFO0lBQUVJLE9BQU8sRUFBRSxDQUFDMUc7RUFBUSxDQUFFLENBQUM7RUFDdkQsSUFBTTJHLE9BQU8sR0FBR3ZLLFVBQVUsQ0FBQ2tLLE9BQU8sRUFBRTtJQUFFSSxPQUFPLEVBQUUsQ0FBQzFHLFFBQVE7SUFBRTRHLGlCQUFpQixFQUFFO0VBQVcsQ0FBRSxDQUFDO0VBQzNGLElBQU1DLElBQUksR0FBR3JLLE9BQU8sQ0FBQzhKLE9BQU8sRUFBRTtJQUFFTyxJQUFJLEVBQUU7RUFBUSxDQUFFLENBQUM7RUFDakQsSUFBTUMsY0FBYyxHQUFHdkssaUJBQWlCLENBQUMrSixPQUFPLEVBQUU7SUFDaERoQyxPQUFPLEVBQVBBLE9BQU87SUFDUGIsV0FBVyxFQUFYQSxXQUFXO0lBQ1hRLGFBQWEsRUFBYkEsYUFBYTtJQUNiOEMsVUFBVSxFQUFFckQsY0FBYztJQUMxQmdELE9BQU8sRUFBRXpELFNBQVM7SUFDbEIrRCxJQUFJLEVBQUU7RURoSE4sQ0NpSEQsQ0FBQztFQUNGLElBQU1DLFNBQVMsR0FBR3hLLFlBQVksQ0FBQzZKLE9BQU8sRUFBRTtJQUN0Q2hDLE9BQU8sRUFBRUMsY0FBYztJQUN2QmQsV0FBVyxFQUFYQSxXQUFXO0lBQ1hRLGFBQWEsRUFBYkEsYUFBYTtJQUNieUMsT0FBTyxFQUFFekQsU0FBUyxJQUFJLENBQUM1QyxVQUFVO0lBQ2pDNkcsT0FBTyxFQUFFeEQ7RURoSFQsQ0NpSEQsQ0FBQztFQUNGLElBQUF5RCxnQkFBQSxHQUE4RDdLLGVBQWUsQ0FBQyxDQUM1RW1LLEtBQUssRUFDTEUsT0FBTyxFQUNQRSxJQUFJLEVBQ0pDLGNBQWMsRUFDZEcsU0FBUyxDQUNWLENBQUM7SUFOTUcsaUJBQWlCLEdBQUFELGdCQUFBLENBQWpCQyxpQkFBaUI7SUFBRUMsZ0JBQWdCLEdBQUFGLGdCQUFBLENBQWhCRSxnQkFBZ0I7SUFBRUMsWUFBWSxHQUFBSCxnQkFBQSxDQUFaRyxZQUFZO0VBUXpELElBQU1DLGlCQUFpQixHQUFHMUssT0FBTyxDQUMvQjtJQUFBLE9BQU1rSCxrQkFBa0IsQ0FBQ0ksU0FBUyxDQUFDLFVBQUNDLE1BQU07TUFBQSxPQUFLLENBQUNBLE1BQU0sQ0FBQ3BFLFFBQVE7SUFBQSxFQUFDO0VBQUEsR0FDaEUsQ0FBQytELGtCQUFrQixDQUFDLENBQ3JCO0VBQ0QsSUFBTXlELGdCQUFnQixHQUFHM0ssT0FBTyxDQUM5QixZQUFLO0lEckhELElBQUk0SyxFQUFFO0lDc0hSLEtBQUssSUFBSUMsS0FBSyxHQUFHM0Qsa0JBQWtCLENBQUMxSSxNQUFNLEdBQUcsQ0FBQyxFQUFFcU0sS0FBSyxJQUFJLENBQUMsRUFBRUEsS0FBSyxJQUFJLENBQUMsRUFBRTtNQUN0RSxJQUFJLEVBQUMsQ0FBQUQsRUFBQSxHQUFBMUQsa0JBQWtCLENBQUMyRCxLQUFLLENBQUMsTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFekgsUUFBUSxDQUFBLEVBQUU7UUFDeEMsT0FBTzBILEtBQUs7TUFDZDtJQUNGO0lBRUEsT0FBTyxJQUFJO0VBQ2IsQ0FBQyxFQUNELENBQUMzRCxrQkFBa0IsQ0FBQyxDQUNyQjtFQUVEcEgsU0FBUyxDQUFDLFlBQUs7SUFDYixJQUFJLENBQUNzRyxTQUFTLEVBQUU7TUFDZFMsY0FBYyxDQUFDTyxhQUFhLENBQUM7TUFDN0I7SUFDRjtJQUVBUCxjQUFjLENBQUMsVUFBQ2lFLElBQUksRUFBSTtNQUN0QixJQUFJQSxJQUFJLEtBQUssSUFBSSxJQUFJNUQsa0JBQWtCLENBQUM0RCxJQUFJLENBQUMsSUFBSSxDQUFDNUQsa0JBQWtCLENBQUM0RCxJQUFJLENBQUMsQ0FBQzNILFFBQVEsRUFBRTtRQUNuRixPQUFPMkgsSUFBSTtNQUNiO01BRUEsSUFDRTFELGFBQWEsS0FBSyxJQUFJLElBQ3RCRixrQkFBa0IsQ0FBQ0UsYUFBYSxDQUFDLElBQ2pDLENBQUNGLGtCQUFrQixDQUFDRSxhQUFhLENBQUMsQ0FBQ2pFLFFBQVEsRUFDM0M7UUFDQSxPQUFPaUUsYUFBYTtNQUN0QjtNQUVBLE9BQU9zRCxpQkFBaUIsSUFBSSxDQUFDLEdBQUdBLGlCQUFpQixHQUFHLElBQUk7SUFDMUQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxFQUFFLENBQUNBLGlCQUFpQixFQUFFdEUsU0FBUyxFQUFFZ0IsYUFBYSxFQUFFRixrQkFBa0IsQ0FBQyxDQUFDO0VBRXJFcEgsU0FBUyxDQUFDLFlBQUs7SUQ5SFQsSUFBSThLLEVBQUU7SUMrSFYsSUFBSSxDQUFDeEUsU0FBUyxJQUFJUSxXQUFXLEtBQUssSUFBSSxJQUFJcEQsVUFBVSxFQUFFO01BQ3BEO0lBQ0Y7SUFFQSxDQUFBb0gsRUFBQSxHQUFBbkQsT0FBTyxDQUFDTyxPQUFPLENBQUNwQixXQUFXLENBQUMsTUFBQSxJQUFBLElBQUFnRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUcsS0FBSyxDQUFDO01BQUVDLGFBQWEsRUFBRTtJQUFJLENBQUUsQ0FBQztFQUM5RCxDQUFDLEVBQUUsQ0FBQ3BFLFdBQVcsRUFBRVIsU0FBUyxFQUFFNUMsVUFBVSxDQUFDLENBQUM7RUFFeEMxRCxTQUFTLENBQUMsWUFBSztJQUNiMkgsT0FBTyxDQUFDTyxPQUFPLEdBQUdQLE9BQU8sQ0FBQ08sT0FBTyxDQUFDaUQsS0FBSyxDQUFDLENBQUMsRUFBRS9ELGtCQUFrQixDQUFDMUksTUFBTSxDQUFDO0lBQ3JFa0osY0FBYyxDQUFDTSxPQUFPLEdBQUdOLGNBQWMsQ0FBQ00sT0FBTyxDQUFDaUQsS0FBSyxDQUFDLENBQUMsRUFBRS9ELGtCQUFrQixDQUFDMUksTUFBTSxDQUFDO0VBQ3JGLENBQUMsRUFBRSxDQUFDMEksa0JBQWtCLENBQUMxSSxNQUFNLENBQUMsQ0FBQztFQUUvQnNCLFNBQVMsQ0FBQyxZQUFLO0lEaElULElBQUk4SyxFQUFFO0lDaUlWLElBQUl4RSxTQUFTLElBQUk1QyxVQUFVLEVBQUU7TUFDM0IsQ0FBQW9ILEVBQUEsR0FBQS9DLGNBQWMsQ0FBQ0csT0FBTyxNQUFBLElBQUEsSUFBQTRDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxLQUFLLENBQUM7UUFBRUMsYUFBYSxFQUFFO01BQUksQ0FBRSxDQUFDO0lBQ3hEO0VBQ0YsQ0FBQyxFQUFFLENBQUM1RSxTQUFTLEVBQUU1QyxVQUFVLENBQUMsQ0FBQztFQUUzQixJQUFNMEgsbUJBQW1CLEdBQUc5SyxnQkFBZ0IsQ0FBQyxVQUFDK0ssYUFBaUMsRUFBRUMsS0FBK0IsRUFBSTtJRGhJOUcsSUFBSVIsRUFBRSxFQUFFUyxFQUFFO0lDaUlkLElBQU1DLFVBQVUsR0FBR0gsYUFBNEI7SUFDL0MsSUFBTUksYUFBYSxHQUFHLENBQUMsRUFBRUQsVUFBVSxLQUFJLENBQUFWLEVBQUEsR0FBQWhELFVBQVUsQ0FBQ0ksT0FBTyxNQUFBLElBQUEsSUFBQTRDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFWSxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFDaEYsSUFBTUcsY0FBYyxHQUFHLENBQUMsRUFBRUgsVUFBVSxLQUFJLENBQUFELEVBQUEsR0FBQTFELFdBQVcsQ0FBQ0ssT0FBTyxNQUFBLElBQUEsSUFBQXFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFFbEYsSUFBSSxDQUFDQyxhQUFhLElBQUksQ0FBQ0UsY0FBYyxFQUFFO01BQ3JDekcsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUdvRyxLQUFLLENBQUM7SUFDakI7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNTSxpQkFBaUIsR0FBR3RMLGdCQUFnQixDQUFDLFVBQUNnTCxLQUFvQyxFQUFJO0lBQ2xGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTU8sZ0JBQWdCLEdBQUd2TCxnQkFBZ0IsQ0FBQyxVQUFDZ0wsS0FBb0MsRUFBSTtJQUNqRkYsbUJBQW1CLENBQUNFLEtBQUssQ0FBQ0QsYUFBYSxFQUFFQyxLQUFnQyxDQUFDO0VBQzVFLENBQUMsQ0FBQztFQUVGLElBQU1RLFlBQVksR0FBR3hMLGdCQUFnQixDQUFDLFVBQUN5TCxTQUFzQixFQUFFQyxVQUEwQyxFQUFJO0lBQzNHN0YsYUFBYSxDQUFDNEYsU0FBUyxDQUFDO0lBQ3hCaEgsUUFBUSxLQUFBLElBQUEsSUFBUkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUdnSCxTQUFTLEVBQUVDLFVBQVUsQ0FBQztFQUNuQyxDQUFDLENBQUM7RUFFRixJQUFNQyxrQkFBa0IsR0FBRzNMLGdCQUFnQixDQUFDLFVBQUNtSCxNQUFvQixFQUFJO0lEcEkvRCxJQUFJcUQsRUFBRTtJQ3FJVixJQUFJckQsTUFBTSxDQUFDcEUsUUFBUSxFQUFFO01BQ25CO0lBQ0Y7SUFFQSxJQUFJRSxRQUFRLEVBQUU7TUFDWixJQUFNd0ksU0FBUyxHQUFHbkssbUJBQW1CLENBQUNzRSxVQUFVLEVBQUV1QixNQUFNLENBQUM1RSxLQUFLLENBQUM7TUFDL0QsSUFBTXFKLFdBQVcsR0FBRzVLLGtCQUFrQixDQUFDNEYsY0FBYyxFQUFFNkUsU0FBUyxDQUFDO01BQ2pFRCxZQUFZLENBQUNDLFNBQVMsRUFBRUcsV0FBVyxDQUFDO01BQ3BDO0lBQ0Y7SUFFQUosWUFBWSxDQUFDckUsTUFBTSxDQUFDNUUsS0FBSyxFQUFFNEUsTUFBTSxDQUFDO0lBQ2xDVSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDdkJqRCxNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBQSxDQUFJO0lBQ1YsQ0FBQTRGLEVBQUEsR0FBQWhELFVBQVUsQ0FBQ0ksT0FBTyxNQUFBLElBQUEsSUFBQTRDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxLQUFLLENBQUM7TUFBRUMsYUFBYSxFQUFFO0lBQUksQ0FBRSxDQUFDO0VBQ3BELENBQUMsQ0FBQztFQUVGLElBQU1pQix5QkFBeUIsR0FBRzdMLGdCQUFnQixDQUFDLFVBQUM4TCxXQUE4QixFQUFJO0lBQ3BGLElBQUksQ0FBQzdJLFFBQVEsRUFBRTtNQUNiO0lBQ0Y7SUFFQSxJQUFJLENBQUNsQyxnQkFBZ0IsQ0FBQzZFLFVBQVUsQ0FBQyxDQUFDbUcsUUFBUSxDQUFDRCxXQUFXLENBQUMsRUFBRTtNQUN2RDtJQUNGO0lBRUEsSUFBTUwsU0FBUyxHQUFHcEssbUJBQW1CLENBQUN1RSxVQUFVLEVBQUVrRyxXQUFXLENBQUM7SUFDOUQsSUFBTUYsV0FBVyxHQUFHNUssa0JBQWtCLENBQUM0RixjQUFjLEVBQUU2RSxTQUFTLENBQUM7SUFDakVELFlBQVksQ0FBQ0MsU0FBUyxFQUFFRyxXQUFXLENBQUM7RUFDdEMsQ0FBQyxDQUFDO0VBRUYsSUFBTUksb0JBQW9CLEdBQUdoTSxnQkFBZ0IsQ0FBQyxVQUFDZ0wsS0FBNEMsRUFBSTtJQUM3RixJQUFJakksUUFBUSxFQUFFO01BQ1o7SUFDRjtJQUVBLElBQUlpSSxLQUFLLENBQUNpQixHQUFHLEtBQUssT0FBTyxJQUFJakIsS0FBSyxDQUFDaUIsR0FBRyxLQUFLLEdBQUcsRUFBRTtNQUM5Q2pCLEtBQUssQ0FBQ2tCLGNBQWMsQ0FBQSxDQUFFO01BQ3RCckUsZ0JBQWdCLENBQUMsQ0FBQzdCLFNBQVMsQ0FBQztNQUM1QjtJQUNGO0lBRUEsSUFBSWdGLEtBQUssQ0FBQ2lCLEdBQUcsS0FBSyxXQUFXLElBQUlqQixLQUFLLENBQUNpQixHQUFHLEtBQUssU0FBUyxFQUFFO01BQ3hEakIsS0FBSyxDQUFDa0IsY0FBYyxDQUFBLENBQUU7TUFDdEIsSUFBSSxDQUFDbEcsU0FBUyxFQUFFO1FBQ2Q2QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7TUFDeEI7SUFDRjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU1zRSxvQkFBb0IsR0FBR25NLGdCQUFnQixDQUFDLFVBQUN5SyxLQUFhLEVBQUk7SUQ1STFELElBQUlELEVBQUU7SUM2SVYsSUFBSSxFQUFDLENBQUFBLEVBQUEsR0FBQTFELGtCQUFrQixDQUFDMkQsS0FBSyxDQUFDLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXpILFFBQVEsQ0FBQSxFQUFFO01BQ3hDMEQsY0FBYyxDQUFDZ0UsS0FBSyxDQUFDO0lBQ3ZCO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTTJCLHdCQUF3QixHQUFHcE0sZ0JBQWdCLENBQUMsVUFBQ2dMLEtBQXVDLEVBQUk7SUFDNUZBLEtBQUssQ0FBQ2tCLGNBQWMsQ0FBQSxDQUFFO0lBQ3RCbEIsS0FBSyxDQUFDcUIsZUFBZSxDQUFBLENBQUU7RUFDekIsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsb0JBQW9CLEdBQUd0TSxnQkFBZ0IsQ0FBQyxVQUFDZ0wsS0FBdUMsRUFBSTtJQUN4RkEsS0FBSyxDQUFDa0IsY0FBYyxDQUFBLENBQUU7SUFDdEJsQixLQUFLLENBQUNxQixlQUFlLENBQUEsQ0FBRTtFQUN6QixDQUFDLENBQUM7RUFFRixJQUFNRSxnQkFBZ0IsR0FBR3ZNLGdCQUFnQixDQUFDLFVBQUNnTCxLQUFtQyxFQUFJO0lBQ2hGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTXdCLGtCQUFrQixHQUFHeE0sZ0JBQWdCLENBQUMsVUFBQ3lMLFNBQWlCLEVBQUVnQixNQUFxQyxFQUFJO0lBQ3ZHcEcsbUJBQW1CLENBQUNvRixTQUFTLENBQUM7SUFDOUI5RyxjQUFjLEtBQUEsSUFBQSxJQUFkQSxjQUFjLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWRBLGNBQWMsQ0FBRzhHLFNBQVMsQ0FBQztFQUM3QixDQUFDLENBQUM7RUFFRixJQUFNaUIsbUJBQW1CLEdBQUcxTSxnQkFBZ0IsQ0FBQyxVQUFDZ0wsS0FBMkMsRUFBSTtJRGhKdkYsSUFBSVIsRUFBRSxFQUFFUyxFQUFFLEVBQUUwQixFQUFFO0lDaUpsQixJQUFJM0IsS0FBSyxDQUFDaUIsR0FBRyxLQUFLLFdBQVcsSUFBSTNCLGlCQUFpQixJQUFJLENBQUMsRUFBRTtNQUN2RFUsS0FBSyxDQUFDa0IsY0FBYyxDQUFBLENBQUU7TUFDdEJ6RixjQUFjLENBQUM2RCxpQkFBaUIsQ0FBQztNQUNqQyxDQUFBRSxFQUFBLEdBQUFuRCxPQUFPLENBQUNPLE9BQU8sQ0FBQzBDLGlCQUFpQixDQUFDLE1BQUEsSUFBQSxJQUFBRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUcsS0FBSyxDQUFDO1FBQUVDLGFBQWEsRUFBRTtNQUFJLENBQUUsQ0FBQztNQUNsRTtJQUNGO0lBRUEsSUFBSUksS0FBSyxDQUFDaUIsR0FBRyxLQUFLLFNBQVMsSUFBSTFCLGdCQUFnQixLQUFLLElBQUksRUFBRTtNQUN4RFMsS0FBSyxDQUFDa0IsY0FBYyxDQUFBLENBQUU7TUFDdEJ6RixjQUFjLENBQUM4RCxnQkFBZ0IsQ0FBQztNQUNoQyxDQUFBVSxFQUFBLEdBQUE1RCxPQUFPLENBQUNPLE9BQU8sQ0FBQzJDLGdCQUFnQixDQUFDLE1BQUEsSUFBQSxJQUFBVSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRU4sS0FBSyxDQUFDO1FBQUVDLGFBQWEsRUFBRTtNQUFJLENBQUUsQ0FBQztNQUNqRTtJQUNGO0lBRUEsSUFBSUksS0FBSyxDQUFDaUIsR0FBRyxLQUFLLFFBQVEsRUFBRTtNQUMxQmpCLEtBQUssQ0FBQ2tCLGNBQWMsQ0FBQSxDQUFFO01BQ3RCckUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO01BQ3ZCLENBQUE4RSxFQUFBLEdBQUFuRixVQUFVLENBQUNJLE9BQU8sTUFBQSxJQUFBLElBQUErRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRWhDLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7SUFDcEQ7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNZ0MsZUFBZSxHQUEwQjtJQUM3QzdKLFFBQVEsRUFBUkEsUUFBUTtJQUNSRSxRQUFRLEVBQVJBLFFBQVE7SUFDUkMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJrQixJQUFJLEVBQUU0QixTQUFTO0lBQ2Y1RCxXQUFXLEVBQUUsQ0FBQ2dGLFlBQVk7SUFDMUJMLGVBQWUsRUFBZkE7RURsSkEsQ0NtSkQ7RUFDRCxJQUFNOEYsZUFBZSxHQUFHekYsWUFBWSxHQUFHLE9BQU8sR0FBRyxhQUFhO0VBQzlELElBQU0wRixxQkFBcUIsR0FDekI3SixRQUFRLElBQ1JtRSxZQUFZLElBQ1psRSxnQkFBZ0IsS0FBS3VDLFNBQ3RCO0VBQ0QsSUFBTXNILGdCQUFnQixHQUFHN0gsT0FBTyxDQUM5QixTQUFTLEVBQ1Q5RSxPQUFPLENBQ0w4RSxPQUFPLFlBQUE4RCxNQUFBLENBQVl0QyxjQUFjLENBQUUsQ0FBQyxFQUNwQ3hCLE9BQU8sWUFBQThELE1BQUEsQ0FBWW5HLE9BQU8sQ0FBRSxDQUFDLEVBQzdCbUQsU0FBUyxJQUFJZCxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQ3BDNEgscUJBQXFCLElBQUk1SCxPQUFPLENBQUMseUJBQXlCLENBQUMsRUFDM0RrQyxZQUFZLEdBQUdsQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBR0EsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3pFdkMsTUFBTSxLQUFLLFNBQVMsSUFBSXVDLE9BQU8sWUFBQThELE1BQUEsQ0FBWXJHLE1BQU0sQ0FBRSxDQUFDLEVBQ3BESSxRQUFRLElBQUltQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FDeEMsQ0FDRjtFQUNELElBQU04SCxRQUFRLEdBQUd0RyxjQUFjLEtBQUssT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ3JELElBQU11RyxzQkFBc0IsR0FBRy9LLGNBQWMsS0FBQSxJQUFBLElBQWRBLGNBQWMsS0FBQSxLQUFBLENBQUEsR0FBZEEsY0FBYyxHQUFLd0IsS0FBSyxHQUFHMkIsT0FBTyxHQUFHSSxTQUFVO0VBQzlFLElBQU15SCxjQUFjLEdBQUcsQ0FDckJ0SixXQUFXLEdBQUcwQixhQUFhLEdBQUcsSUFBSSxFQUNsQ3pCLFFBQVEsR0FBRzBCLFVBQVUsR0FBRyxJQUFJLENBQzdCLENBQUM0SCxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFDQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk1SCxTQUFTO0VBRXhDLE9BQ0VoSCxLQUFBLENBQUM4QixnQkFBZ0IsRUFBQTtJQUNmMkUsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCdkQsU0FBUyxFQUFFQSxTQUFTO0lBQ3BCM0MsSUFBSSxFQUFFMEgsY0FBYztJQUNwQjdELE9BQU8sRUFBRUEsT0FBTztJQUNoQkYsTUFBTSxFQUFFQSxNQUFNO0lBQ2RJLFFBQVEsRUFBRUEsUUFBUTtJQUNsQlcsS0FBSyxFQUFFQSxLQUFLO0lBQ1pDLElBQUksRUFBRUEsSUFBSTtJQUNWQyxXQUFXLEVBQUVBLFdBQVc7SUFDeEJDLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkUsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCc0IsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCQyxhQUFhLEVBQUVBLGFBQWE7SUFDNUJDLFVBQVUsRUFBRUEsVUFBVTtJQUFBK0gsUUFBQSxFQUFBLENBRXRCN08sS0FBQSxDQUFBLFFBQUEsRUFBQVosTUFBQSxDQUFBZ0wsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNc0IsaUJBQWlCLENBQUM7TUFDcEJuRixHQUFHLEVBQUVzRSxZQUFZO01BQ2pCdkgsRUFBRSxFQUFFcUQsU0FBUztNQUNibUksSUFBSSxFQUFFLFFBQVE7TUFDZHZMLElBQUksRUFBSkEsSUFBSTtNQUNKZSxRQUFRLEVBQVJBLFFBQVE7TUFDUnBCLFNBQVMsRUFBRW9MLGdCQUFnQjtNQUMzQlMsU0FBUyxFQUFFeEIsb0JBQW9CO01BQy9CcEgsTUFBTSxFQUFFMEcsaUJBQWlCO01BQ3pCLFlBQVksRUFBRXJKLFNBQVM7TUFDdkIsaUJBQWlCLEVBQUVnTCxzQkFBc0I7TUFDekMsa0JBQWtCLEVBQUVDO0lEbExsQixDQ21MSCxDQUFDLEVBQUE7TUFBQUksUUFBQSxFQUFBLENBRUY3TyxLQUFBLENBQUEsTUFBQSxFQUFBO1FBQU1rRCxTQUFTLEVBQUV1RCxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQUFvSSxRQUFBLEVBQUEsQ0FDaEN0SixNQUFNLElBQUl6RixJQUFBLENBQUEsTUFBQSxFQUFBO1VBQU1vRCxTQUFTLEVBQUV1RCxPQUFPLENBQUMsUUFBUSxDQUFDO1VBQUFvSSxRQUFBLEVBQUd0SjtRQUFNLENBQUEsQ0FBUSxFQUM5RHpGLElBQUEsQ0FBQSxNQUFBLEVBQUE7VUFDRW9ELFNBQVMsRUFBRXVELE9BQU8sQ0FDaEIySCxlQUFlLEVBQ2Z6TSxPQUFPLENBQ0w4RSxPQUFPLElBQUE4RCxNQUFBLENBQUk2RCxlQUFlLE9BQUE3RCxNQUFBLENBQUl0QyxjQUFjLENBQUUsQ0FBQyxFQUMvQ29HLHFCQUFxQixJQUFJNUgsT0FBTyxJQUFBOEQsTUFBQSxDQUFJNkQsZUFBZSxjQUFXLENBQUMsRUFDL0Q5SixRQUFRLElBQUltQyxPQUFPLElBQUE4RCxNQUFBLENBQUk2RCxlQUFlLGNBQVcsQ0FBQyxDQUNuRCxDQUNGO1VBQUFTLFFBQUEsRUFFRC9PLElBQUEsQ0FBQ21DLGtCQUFrQixFQUFBO1lBQ2pCd0UsT0FBTyxFQUFFQSxPQUFPO1lBQ2hCa0MsWUFBWSxFQUFFQSxZQUFZO1lBQzFCbkUsUUFBUSxFQUFFQSxRQUFRO1lBQ2xCYixXQUFXLEVBQUVBLFdBQVc7WUFDeEIyQyxXQUFXLEVBQUVBLFdBQVc7WUFDeEI2SCxlQUFlLEVBQUVBLGVBQWU7WUFDaEM3RixlQUFlLEVBQUVBLGVBQWU7WUFDaEM3RCxnQkFBZ0IsRUFBRUEsZ0JBQWdCO1lBQ2xDdUssUUFBUSxFQUFFNUIseUJBQXlCO1lBQ25DNkIsYUFBYSxFQUFFcEIsb0JBQW9CO1lBQ25DcUIsaUJBQWlCLEVBQUV2QjtVQUF3QixDQUFBO1FBQzNDLENBQUEsQ0FDRztNQUFBLENBQUEsQ0FDRixFQUNQN04sSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNb0QsU0FBUyxFQUFFdUQsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUFBb0ksUUFBQSxFQUM5Qi9PLElBQUEsQ0FBQzBCLEtBQUssRUFBQTtVQUNKK0IsSUFBSSxFQUFFZ0UsU0FBUyxHQUFHLFdBQVcsR0FBRyxhQUFhO1VBQzdDaEgsSUFBSSxFQUFFZ08sUUFBUTtVQUNkWSxLQUFLLEVBQUM7UUFBYyxDQUFBO01BQ3BCLENBQUEsQ0FDRztJQUFBLENBQUEsQ0FBQSxDQUNBLEVBRVI1SCxTQUFTLElBQUksQ0FBQ2pELFFBQVEsSUFDckJ4RSxJQUFBLENBQUNNLGNBQWMsRUFBQTtNQUFBeU8sUUFBQSxFQUNiL08sSUFBQSxDQUFDSyxvQkFBb0IsRUFBQTtRQUFDeUssT0FBTyxFQUFFQSxPQUFPO1FBQUV3RSxLQUFLLEVBQUUsS0FBSztRQUFFQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQUVDLFdBQVcsRUFBRSxLQUFLO1FBQUFULFFBQUEsRUFDeEY3TyxLQUFBLENBQUEsS0FBQSxFQUFBWixNQUFBLENBQUFnTCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ011QixnQkFBZ0IsQ0FBQztVQUNuQnBGLEdBQUcsRUFBRXVFLFdBQVc7VUFDaEI1SCxTQUFTLEVBQUV1RCxPQUFPLENBQUMsT0FBTyxDQUFDO1VBQzNCcEQsS0FBSyxFQUFFc0g7UUQ1TkgsQ0M2TkwsQ0FBQyxFQUFBO1VBQUFrRSxRQUFBLEVBQUEsQ0FFRGxLLFVBQVUsSUFDVDdFLElBQUEsQ0FBQ2tDLG1CQUFtQixFQUFBO1lBQ2xCdUUsR0FBRyxFQUFFeUMsY0FBYztZQUNuQnZDLE9BQU8sRUFBRUEsT0FBTztZQUNoQjlDLFdBQVcsRUFBRWtCLGlCQUFpQjtZQUM5QmYsS0FBSyxFQUFFNkQsZ0JBQWdCO1lBQ3ZCeEIsTUFBTSxFQUFFMkgsZ0JBQWdCO1lBQ3hCOUgsUUFBUSxFQUFFK0gsa0JBQWtCO1lBQzVCZ0IsU0FBUyxFQUFFZDtVQUFtQixDQUFBLENBRWpDLEVBQ0RuTyxJQUFBLENBQUEsS0FBQSxFQUFBO1lBQUtvRCxTQUFTLEVBQUV1RCxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQUFvSSxRQUFBLEVBQ2xDeEcsa0JBQWtCLENBQUMxSSxNQUFNLEtBQUssQ0FBQyxHQUM5QkcsSUFBQSxDQUFBLEtBQUEsRUFBQTtjQUFLb0QsU0FBUyxFQUFFdUQsT0FBTyxDQUFDLE9BQU8sQ0FBQztjQUFBb0ksUUFBQSxFQUM5Qi9PLElBQUEsQ0FBQzJCLGNBQWMsRUFBQTtnQkFBQ2xCLElBQUksRUFBRTJCLGlCQUFpQixDQUFDcU4sS0FBSyxDQUFDaFAsSUFBSTtnQkFBRTRPLEtBQUssRUFBRWpOLGlCQUFpQixDQUFDcU4sS0FBSyxDQUFDSixLQUFLO2dCQUFBTixRQUFBLEVBQUdwSjtjQUFZLENBQUE7WUFBa0IsQ0FBQSxDQUNySCxHQUVMLFlBQUs7Y0FDSixJQUFJK0osU0FBUyxHQUFHLENBQUM7Y0FFakIsT0FBT3BILG1CQUFtQixDQUFDcUgsR0FBRyxDQUFDLFVBQUNDLEtBQUs7Z0JBQUEsT0FDbkMxUCxLQUFBLENBQUEsS0FBQSxFQUFBO2tCQUFxQmtELFNBQVMsRUFBRXVELE9BQU8sQ0FBQyxPQUFPLENBQUM7a0JBQUFvSSxRQUFBLEVBQUEsQ0FDN0NhLEtBQUssQ0FBQ3pLLEtBQUssSUFDVm5GLElBQUEsQ0FBQSxLQUFBLEVBQUE7b0JBQUtvRCxTQUFTLEVBQUV1RCxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUFBb0ksUUFBQSxFQUNwQy9PLElBQUEsQ0FBQzRCLGVBQWUsRUFBQTtzQkFBQ25CLElBQUksRUFBRTJCLGlCQUFpQixDQUFDeU4sVUFBVSxDQUFDcFAsSUFBSTtzQkFBRXFQLE1BQU0sRUFBQSxJQUFBO3NCQUFBZixRQUFBLEVBQUVhLEtBQUssQ0FBQ3pLO29CQUFLLENBQUE7a0JBQW1CLENBQUEsQ0FFbkcsRUFDQXlLLEtBQUssQ0FBQzdMLE9BQU8sQ0FBQzRMLEdBQUcsQ0FBQyxVQUFDL0csTUFBTSxFQUFJO29CQUM1QixJQUFNbUgsZUFBZSxHQUFHTCxTQUFTO29CQUNqQ0EsU0FBUyxJQUFJLENBQUM7b0JBRWQsSUFBTU0sUUFBUSxHQUFHck4sZ0JBQWdCLENBQUMwRSxVQUFVLEVBQUUzQyxRQUFRLEVBQUVrRSxNQUFNLENBQUM1RSxLQUFLLENBQUM7b0JBQ3JFLElBQU1pTSxNQUFNLEdBQUdoSSxXQUFXLEtBQUs4SCxlQUFlO29CQUM5QyxJQUFNRyxVQUFVLEdBQTJCO3NCQUN6Q0QsTUFBTSxFQUFOQSxNQUFNO3NCQUNOekwsUUFBUSxFQUFFLENBQUMsQ0FBQ29FLE1BQU0sQ0FBQ3BFLFFBQVE7c0JBQzNCMEgsS0FBSyxFQUFFNkQsZUFBZTtzQkFDdEJyTCxRQUFRLEVBQVJBLFFBQVE7c0JBQ1JtQixJQUFJLEVBQUU0QixTQUFTO3NCQUNmdUksUUFBUSxFQUFSQTtvQkR4UG9CLENDeVByQjtvQkFFRGpILGNBQWMsQ0FBQ00sT0FBTyxDQUFDMEcsZUFBZSxDQUFDLEdBQUcxTixpQkFBaUIsQ0FBQ3VHLE1BQU0sQ0FBQztvQkFFbkUsT0FDRTVJLElBQUEsQ0FBQSxRQUFBLEVBQUFWLE1BQUEsQ0FBQWdMLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFFTXdCLFlBQVksQ0FBQztzQkFDZnJGLEdBQUcsV0FBSEEsR0FBR0EsQ0FBQzJDLElBQThCLEVBQUE7d0JBQ2hDTixPQUFPLENBQUNPLE9BQU8sQ0FBQzBHLGVBQWUsQ0FBQyxHQUFHM0csSUFBSTtzQkFDekMsQ0FBQztzQkFDRDRGLElBQUksRUFBRSxRQUFRO3NCQUNkM0QsSUFBSSxFQUFFLFFBQVE7c0JBQ2RqSSxTQUFTLEVBQUV1RCxPQUFPLENBQ2hCLFFBQVEsRUFDUjlFLE9BQU8sQ0FDTG9PLE1BQU0sSUFBSXRKLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFDbENxSixRQUFRLElBQUlySixPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFDdENpQyxNQUFNLENBQUNwRSxRQUFRLElBQUltQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FDOUMsQ0FDRjtzQkFDRG5DLFFBQVEsRUFBRW9FLE1BQU0sQ0FBQ3BFLFFBQVE7c0JBQ3pCLGVBQWUsRUFBRXdMLFFBQVE7c0JBQ3pCRyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRzFELEtBQXlDLEVBQUk7d0JBQ3JEQSxLQUFLLENBQUNrQixjQUFjLENBQUEsQ0FBRTt3QkFDdEJQLGtCQUFrQixDQUFDeEUsTUFBTSxDQUFDO3NCQUM1QixDQUFDO3NCQUNEd0gsWUFBWSxFQUFFLFNBQWRBLFlBQVlBLENBQUE7d0JBQUEsT0FBUXhDLG9CQUFvQixDQUFDbUMsZUFBZSxDQUFDO3NCQUFBO3NCQUN6RDFKLE1BQU0sRUFBRTJHO29CRHBRUSxDQ3FRakIsQ0FBQyxFQUFBO3NCQUFBK0IsUUFBQSxFQUVEeEksWUFBWSxHQUNYQSxZQUFZLENBQUNxQyxNQUFNLEVBQUVzSCxVQUFVLENBQUMsR0FFaENsUSxJQUFBLENBQUNpQyxtQkFBbUIsRUFBQTt3QkFDbEIwRSxPQUFPLEVBQUVBLE9BQU87d0JBQ2hCaUMsTUFBTSxFQUFFQSxNQUFNO3dCQUNkb0gsUUFBUSxFQUFFQTtzQkFBUSxDQUFBO29CQUVyQixDQUFBLENBQUEsRUFqQ0lwSCxNQUFNLENBQUM1RSxLQUFLLENBa0NWO2tCQUViLENBQUMsQ0FBQztnQkFBQSxDQUFBLEVBN0RNNEwsS0FBSyxDQUFDbEMsR0FBRyxDQThEYjtjQUFBLENBQ1AsQ0FBQztZQUNKLENBQUMsQ0FBQztVQUNILENBQUEsQ0FDRyxFQUNMOUgsV0FBVyxJQUFJLElBQUksSUFDbEI1RixJQUFBLENBQUEsS0FBQSxFQUFBO1lBQUtvRCxTQUFTLEVBQUV1RCxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQUFvSSxRQUFBLEVBQUduSjtVQUFXLENBQUEsQ0FDdEQ7UUFBQSxDQUFBLENBQUE7TUFDRyxDQUFBO0lBQ2UsQ0FBQSxDQUUxQjtFQUFBLENBQUEsQ0FDZ0I7QUFFdkIsQ0FBQztBQUVEM0MsTUFBTSxDQUFDb04sV0FBVyxHQUFHLFFBQVE7QUFFN0IsNEJBQWVuUCxJQUFJLENBQUMrQixNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSBhcyBmbG9hdGluZ1NpemUsIHVzZUNsaWNrLCB1c2VEaXNtaXNzLCB1c2VGbG9hdGluZywgdXNlSW50ZXJhY3Rpb25zLCB1c2VMaXN0TmF2aWdhdGlvbiwgdXNlUm9sZSwgdXNlVHlwZWFoZWFkLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0T3B0aW9uVGV4dCwgZmlsdGVyT3B0aW9uR3JvdXBzLCBmbGF0dGVuT3B0aW9uR3JvdXBzLCBnZXRNdWx0aXBsZVZhbHVlLCBnZXRPcHRpb25zQnlWYWx1ZXMsIGdldFNlbGVjdGVkT3B0aW9ucywgaXNPcHRpb25TZWxlY3RlZCwgbm9ybWFsaXplU2l6ZSwgbm9ybWFsaXplT3B0aW9uR3JvdXBzLCByZW1vdmVNdWx0aXBsZVZhbHVlLCB0b2dnbGVNdWx0aXBsZVZhbHVlLCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IERFRkFVTFRfTUFYX0hFSUdIVCA9IDMyMDtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgc3R5bGUsIGlkLCBuYW1lLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCwgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LCBwbGFjZWhvbGRlciA9ICdWYWx1ZScsIG9wdGlvbnMgPSBbXSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgc2l6ZSA9ICdsYXJnZScsIHN0YXR1cyA9ICdkZWZhdWx0JywgdmFyaWFudCA9ICdmaWxsJywgZGlzYWJsZWQgPSBmYWxzZSwgbXVsdGlwbGUgPSBmYWxzZSwgbWF4VmlzaWJsZVZhbHVlcywgc2VhcmNoYWJsZSA9IGZhbHNlLCBzZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2gnLCBzZWFyY2hWYWx1ZSwgZGVmYXVsdFNlYXJjaFZhbHVlID0gJycsIGxhYmVsLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gZmFsc2UsIHByZWZpeCwgZW1wdHlDb250ZW50ID0gJ05vIG9wdGlvbnMnLCBwYW5lbEZvb3Rlciwgb3BlbiwgZGVmYXVsdE9wZW4gPSBmYWxzZSwgbGlzdE1heEhlaWdodCA9IERFRkFVTFRfTUFYX0hFSUdIVCwgb25DaGFuZ2UsIG9uT3BlbkNoYW5nZSwgb25TZWFyY2hDaGFuZ2UsIG9uQmx1ciwgZmlsdGVyT3B0aW9uLCByZW5kZXJPcHRpb24sIHJlbmRlclZhbHVlLCByZWYgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzdHlsZVwiLCBcImlkXCIsIFwibmFtZVwiLCAnYXJpYS1sYWJlbCcsICdhcmlhLWxhYmVsbGVkYnknLCBcInBsYWNlaG9sZGVyXCIsIFwib3B0aW9uc1wiLCBcInZhbHVlXCIsIFwiZGVmYXVsdFZhbHVlXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcInZhcmlhbnRcIiwgXCJkaXNhYmxlZFwiLCBcIm11bHRpcGxlXCIsIFwibWF4VmlzaWJsZVZhbHVlc1wiLCBcInNlYXJjaGFibGVcIiwgXCJzZWFyY2hQbGFjZWhvbGRlclwiLCBcInNlYXJjaFZhbHVlXCIsIFwiZGVmYXVsdFNlYXJjaFZhbHVlXCIsIFwibGFiZWxcIiwgXCJpbmZvXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJmZWVkYmFja1wiLCBcInJlcXVpcmVkXCIsIFwicHJlZml4XCIsIFwiZW1wdHlDb250ZW50XCIsIFwicGFuZWxGb290ZXJcIiwgXCJvcGVuXCIsIFwiZGVmYXVsdE9wZW5cIiwgXCJsaXN0TWF4SGVpZ2h0XCIsIFwib25DaGFuZ2VcIiwgXCJvbk9wZW5DaGFuZ2VcIiwgXCJvblNlYXJjaENoYW5nZVwiLCBcIm9uQmx1clwiLCBcImZpbHRlck9wdGlvblwiLCBcInJlbmRlck9wdGlvblwiLCBcInJlbmRlclZhbHVlXCIsIFwicmVmXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gcm9vdENsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IGlkICE9PSBudWxsICYmIGlkICE9PSB2b2lkIDAgPyBpZCA6IGF1dG9JZDtcbiAgICBjb25zdCBsYWJlbElkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBmZWVkYmFja0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKG11bHRpcGxlID8gW10gOiB1bmRlZmluZWQpLCB2YWx1ZSk7XG4gICAgY29uc3QgW2lubmVyT3Blbiwgc2V0SW5uZXJPcGVuXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0T3Blbiwgb3Blbik7XG4gICAgY29uc3QgW2lubmVyU2VhcmNoVmFsdWUsIHNldElubmVyU2VhcmNoVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRTZWFyY2hWYWx1ZSwgc2VhcmNoVmFsdWUpO1xuICAgIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNpemUgPSBub3JtYWxpemVTaXplKHNpemUpO1xuICAgIGNvbnN0IGFsbE9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gbm9ybWFsaXplT3B0aW9uR3JvdXBzKG9wdGlvbnMpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGFsbEZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiAoc2VhcmNoYWJsZVxuICAgICAgICA/IGZpbHRlck9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMsIGlubmVyU2VhcmNoVmFsdWUsIGZpbHRlck9wdGlvbilcbiAgICAgICAgOiBhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzLCBmaWx0ZXJPcHRpb24sIGlubmVyU2VhcmNoVmFsdWUsIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCB2aXNpYmxlRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHModmlzaWJsZU9wdGlvbkdyb3VwcyksIFt2aXNpYmxlT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBnZXRTZWxlY3RlZE9wdGlvbnMoYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlKSwgW2FsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZV0pO1xuICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoZWRJbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICByZXR1cm4gbWF0Y2hlZEluZGV4ID49IDAgPyBtYXRjaGVkSW5kZXggOiBudWxsO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbnMsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGxpc3RDb250ZW50UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBmbG9hdGluZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0cmlnZ2VyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlYXJjaElucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZU9wZW5DaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRJbm5lck9wZW4obmV4dE9wZW4pO1xuICAgICAgICBvbk9wZW5DaGFuZ2UgPT09IG51bGwgfHwgb25PcGVuQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbk9wZW5DaGFuZ2UobmV4dE9wZW4pO1xuICAgIH0pO1xuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMsIGNvbnRleHQsIH0gPSB1c2VGbG9hdGluZyh7XG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgb25PcGVuQ2hhbmdlOiBoYW5kbGVPcGVuQ2hhbmdlLFxuICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20tc3RhcnQnLFxuICAgICAgICB3aGlsZUVsZW1lbnRzTW91bnRlZDogYXV0b1VwZGF0ZSxcbiAgICAgICAgbWlkZGxld2FyZTogW1xuICAgICAgICAgICAgb2Zmc2V0KDApLFxuICAgICAgICAgICAgZmxpcCh7IHBhZGRpbmc6IDggfSksXG4gICAgICAgICAgICBzaGlmdCh7IHBhZGRpbmc6IDggfSksXG4gICAgICAgICAgICBmbG9hdGluZ1NpemUoe1xuICAgICAgICAgICAgICAgIGFwcGx5KHsgcmVjdHMsIGVsZW1lbnRzLCBhdmFpbGFibGVIZWlnaHQgfSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0TWF4SGVpZ2h0ID0gTWF0aC5tYXgoMTIwLCBNYXRoLm1pbihsaXN0TWF4SGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQpKTtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlbGVtZW50cy5mbG9hdGluZy5zdHlsZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGAke3JlY3RzLnJlZmVyZW5jZS53aWR0aH1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQ6IGAke25leHRNYXhIZWlnaHR9cHhgLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmZXJlbmNlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgaGFuZGxlVHJpZ2dlclJlZihub2RlKTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGbG9hdGluZyA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRGbG9hdGluZyhub2RlKTtcbiAgICAgICAgZmxvYXRpbmdSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgY29uc3QgY2xpY2sgPSB1c2VDbGljayhjb250ZXh0LCB7IGVuYWJsZWQ6ICFkaXNhYmxlZCB9KTtcbiAgICBjb25zdCBkaXNtaXNzID0gdXNlRGlzbWlzcyhjb250ZXh0LCB7IGVuYWJsZWQ6ICFkaXNhYmxlZCwgb3V0c2lkZVByZXNzRXZlbnQ6ICdtb3VzZWRvd24nIH0pO1xuICAgIGNvbnN0IHJvbGUgPSB1c2VSb2xlKGNvbnRleHQsIHsgcm9sZTogJ3NlbGVjdCcgfSk7XG4gICAgY29uc3QgbGlzdE5hdmlnYXRpb24gPSB1c2VMaXN0TmF2aWdhdGlvbihjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBvbk5hdmlnYXRlOiBzZXRBY3RpdmVJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuLFxuICAgICAgICBsb29wOiB0cnVlLFxuICAgIH0pO1xuICAgIGNvbnN0IHR5cGVhaGVhZCA9IHVzZVR5cGVhaGVhZChjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWY6IGxpc3RDb250ZW50UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuICYmICFzZWFyY2hhYmxlLFxuICAgICAgICBvbk1hdGNoOiBzZXRBY3RpdmVJbmRleCxcbiAgICB9KTtcbiAgICBjb25zdCB7IGdldFJlZmVyZW5jZVByb3BzLCBnZXRGbG9hdGluZ1Byb3BzLCBnZXRJdGVtUHJvcHMgfSA9IHVzZUludGVyYWN0aW9ucyhbXG4gICAgICAgIGNsaWNrLFxuICAgICAgICBkaXNtaXNzLFxuICAgICAgICByb2xlLFxuICAgICAgICBsaXN0TmF2aWdhdGlvbixcbiAgICAgICAgdHlwZWFoZWFkLFxuICAgIF0pO1xuICAgIGNvbnN0IGZpcnN0RW5hYmxlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpLCBbdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgY29uc3QgbGFzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4IC09IDEpIHtcbiAgICAgICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tpbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghaW5uZXJPcGVuKSB7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRBY3RpdmVJbmRleCgocHJldikgPT4ge1xuICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwgJiYgdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdICYmICF2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdICYmXG4gICAgICAgICAgICAgICAgIXZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZpcnN0RW5hYmxlZEluZGV4ID49IDAgPyBmaXJzdEVuYWJsZWRJbmRleCA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0sIFtmaXJzdEVuYWJsZWRJbmRleCwgaW5uZXJPcGVuLCBzZWxlY3RlZEluZGV4LCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghaW5uZXJPcGVuIHx8IGFjdGl2ZUluZGV4ID09PSBudWxsIHx8IHNlYXJjaGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAoX2EgPSBsaXN0UmVmLmN1cnJlbnRbYWN0aXZlSW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0sIFthY3RpdmVJbmRleCwgaW5uZXJPcGVuLCBzZWFyY2hhYmxlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgbGlzdFJlZi5jdXJyZW50ID0gbGlzdFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgICAgICBsaXN0Q29udGVudFJlZi5jdXJyZW50ID0gbGlzdENvbnRlbnRSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICB9LCBbdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aF0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGlubmVyT3BlbiAmJiBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICAoX2EgPSBzZWFyY2hJbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2lubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIGNvbnN0IG5vdGlmeUJsdXJJZk91dHNpZGUgPSB1c2VFdmVudENhbGxiYWNrKChyZWxhdGVkVGFyZ2V0LCBldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBjb25zdCBuZXh0VGFyZ2V0ID0gcmVsYXRlZFRhcmdldDtcbiAgICAgICAgY29uc3Qgd2l0aGluVHJpZ2dlciA9ICEhKG5leHRUYXJnZXQgJiYgKChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGNvbnN0IHdpdGhpbkZsb2F0aW5nID0gISEobmV4dFRhcmdldCAmJiAoKF9iID0gZmxvYXRpbmdSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNvbnRhaW5zKG5leHRUYXJnZXQpKSk7XG4gICAgICAgIGlmICghd2l0aGluVHJpZ2dlciAmJiAhd2l0aGluRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihldmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZU9wdGlvbkJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBjb21taXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0VmFsdWUsIG5leHRPcHRpb24pID0+IHtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9uKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSB1c2VFdmVudENhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0b2dnbGVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb21taXRDaGFuZ2Uob3B0aW9uLnZhbHVlLCBvcHRpb24pO1xuICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgIChfYSA9IHRyaWdnZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uVmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFtdWx0aXBsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZ2V0TXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlKS5pbmNsdWRlcyhvcHRpb25WYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSByZW1vdmVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvblZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKCFpbm5lck9wZW4pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlSXRlbU1vdXNlRW50ZXIgPSB1c2VFdmVudENhbGxiYWNrKChpbmRleCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tpbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGluZGV4KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZUNsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgX2V2ZW50KSA9PiB7XG4gICAgICAgIHNldElubmVyU2VhcmNoVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25TZWFyY2hDaGFuZ2UgPT09IG51bGwgfHwgb25TZWFyY2hDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2VhcmNoQ2hhbmdlKG5leHRWYWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyAmJiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoZmlyc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2ZpcnN0RW5hYmxlZEluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgJiYgbGFzdEVuYWJsZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGxhc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9iID0gbGlzdFJlZi5jdXJyZW50W2xhc3RFbmFibGVkSW5kZXhdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICAoX2MgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZU1ldGEgPSB7XG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyxcbiAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICBwbGFjZWhvbGRlcjogIWhhc1NlbGVjdGlvbixcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLFxuICAgIH07XG4gICAgY29uc3QgdmFsdWVMYWJlbENsYXNzID0gaGFzU2VsZWN0aW9uID8gJ3ZhbHVlJyA6ICdwbGFjZWhvbGRlcic7XG4gICAgY29uc3QgaXNNdWx0aXBsZVZhbHVlRmlsbGVkID0gKG11bHRpcGxlICYmXG4gICAgICAgIGhhc1NlbGVjdGlvbiAmJlxuICAgICAgICBtYXhWaXNpYmxlVmFsdWVzID09PSB1bmRlZmluZWQpO1xuICAgIGNvbnN0IHRyaWdnZXJDbGFzc05hbWUgPSBjbGFzc2VzKCd0cmlnZ2VyJywgam9pbkNscyhjbGFzc2VzKGB0cmlnZ2VyLSR7bm9ybWFsaXplZFNpemV9YCksIGNsYXNzZXMoYHRyaWdnZXItJHt2YXJpYW50fWApLCBpbm5lck9wZW4gJiYgY2xhc3NlcygndHJpZ2dlci1vcGVuJyksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLW11bHRpcGxlLWZpbGxlZCcpLCBoYXNTZWxlY3Rpb24gPyBjbGFzc2VzKCd0cmlnZ2VyLWZpbGxlZCcpIDogY2xhc3NlcygndHJpZ2dlci1wbGFjZWhvbGRlcicpLCBzdGF0dXMgIT09ICdkZWZhdWx0JyAmJiBjbGFzc2VzKGB0cmlnZ2VyLSR7c3RhdHVzfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLWRpc2FibGVkJykpKTtcbiAgICBjb25zdCBpY29uU2l6ZSA9IG5vcm1hbGl6ZWRTaXplID09PSAnc21hbGwnID8gMTYgOiAyMDtcbiAgICBjb25zdCBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5ID0gYXJpYUxhYmVsbGVkQnkgIT09IG51bGwgJiYgYXJpYUxhYmVsbGVkQnkgIT09IHZvaWQgMCA/IGFyaWFMYWJlbGxlZEJ5IDogKGxhYmVsID8gbGFiZWxJZCA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZGVzY3JpYmVkQnlJZHMgPSBbXG4gICAgICAgIGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb25JZCA6IG51bGwsXG4gICAgICAgIGZlZWRiYWNrID8gZmVlZGJhY2tJZCA6IG51bGwsXG4gICAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKF9qc3hzKFNlbGVjdEZpZWxkU2hlbGwsIHsgY2xhc3NlczogY2xhc3NlcywgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHNpemU6IG5vcm1hbGl6ZWRTaXplLCB2YXJpYW50OiB2YXJpYW50LCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGRpc2FibGVkLCBsYWJlbDogbGFiZWwsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVUcmlnZ2VyS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZVRyaWdnZXJCbHVyLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVkQnlJZHMsXG4gICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZhbHVlTGFiZWxDbGFzcywgam9pbkNscyhjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tJHtub3JtYWxpemVkU2l6ZX1gKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1tdWx0aXBsZWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogX2pzeChTZWxlY3RWYWx1ZUNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3NlcywgaGFzU2VsZWN0aW9uOiBoYXNTZWxlY3Rpb24sIG11bHRpcGxlOiBtdWx0aXBsZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIHJlbmRlclZhbHVlTWV0YTogcmVuZGVyVmFsdWVNZXRhLCBzZWxlY3RlZE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucywgbWF4VmlzaWJsZVZhbHVlczogbWF4VmlzaWJsZVZhbHVlcywgb25SZW1vdmU6IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUsIG9uUmVtb3ZlQ2xpY2s6IGhhbmRsZVRhZ1JlbW92ZUNsaWNrLCBvblJlbW92ZU1vdXNlRG93bjogaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIH0pIH0pXSB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogaW5uZXJPcGVuID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSldIH0pKSwgaW5uZXJPcGVuICYmICFkaXNhYmxlZCAmJiAoX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogX2pzeChGbG9hdGluZ0ZvY3VzTWFuYWdlciwgeyBjb250ZXh0OiBjb250ZXh0LCBtb2RhbDogZmFsc2UsIGluaXRpYWxGb2N1czogLTEsIHJldHVybkZvY3VzOiBmYWxzZSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEZsb2F0aW5nUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBzZXRGbG9hdGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBmbG9hdGluZ1N0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtzZWFyY2hhYmxlICYmIChfanN4KFNlbGVjdFNlYXJjaENvbnRyb2wsIHsgcmVmOiBzZWFyY2hJbnB1dFJlZiwgY2xhc3NlczogY2xhc3NlcywgcGxhY2Vob2xkZXI6IHNlYXJjaFBsYWNlaG9sZGVyLCB2YWx1ZTogaW5uZXJTZWFyY2hWYWx1ZSwgb25CbHVyOiBoYW5kbGVTZWFyY2hCbHVyLCBvbkNoYW5nZTogaGFuZGxlU2VhcmNoQ2hhbmdlLCBvbktleURvd246IGhhbmRsZVNlYXJjaEtleURvd24gfSkpLCBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoID09PSAwID8gKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2VtcHR5JyksIGNoaWxkcmVuOiBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LnNpemUsIGNvbG9yOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5jb2xvciwgY2hpbGRyZW46IGVtcHR5Q29udGVudCB9KSB9KSkgOiAoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmbGF0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2libGVPcHRpb25Hcm91cHMubWFwKChncm91cCkgPT4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cCcpLCBjaGlsZHJlbjogW2dyb3VwLmxhYmVsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1sYWJlbCcpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZ3JvdXBMYWJlbC5zaXplLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBncm91cC5sYWJlbCB9KSB9KSksIGdyb3VwLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbkZsYXRJbmRleCA9IGZsYXRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBpc09wdGlvblNlbGVjdGVkKGlubmVyVmFsdWUsIG11bHRpcGxlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gYWN0aXZlSW5kZXggPT09IG9wdGlvbkZsYXRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhIW9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0Q29udGVudFJlZi5jdXJyZW50W29wdGlvbkZsYXRJbmRleF0gPSBleHRyYWN0T3B0aW9uVGV4dChvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFJlZi5jdXJyZW50W29wdGlvbkZsYXRJbmRleF0gPSBub2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogJ29wdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjbGFzc2VzKCdvcHRpb24nLCBqb2luQ2xzKGFjdGl2ZSAmJiBjbGFzc2VzKCdvcHRpb24tYWN0aXZlJyksIHNlbGVjdGVkICYmIGNsYXNzZXMoJ29wdGlvbi1zZWxlY3RlZCcpLCBvcHRpb24uZGlzYWJsZWQgJiYgY2xhc3Nlcygnb3B0aW9uLWRpc2FibGVkJykpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyOiAoKSA9PiBoYW5kbGVJdGVtTW91c2VFbnRlcihvcHRpb25GbGF0SW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlT3B0aW9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiByZW5kZXJPcHRpb24gPyAocmVuZGVyT3B0aW9uKG9wdGlvbiwgb3B0aW9uTWV0YSkpIDogKF9qc3goU2VsZWN0T3B0aW9uQ29udGVudCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBvcHRpb246IG9wdGlvbiwgc2VsZWN0ZWQ6IHNlbGVjdGVkIH0pKSB9KSwgb3B0aW9uLnZhbHVlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXSB9LCBncm91cC5rZXkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkpIH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pIH0pKV0gfSkpO1xufTtcblNlbGVjdC5kaXNwbGF5TmFtZSA9ICdTZWxlY3QnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
524
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImF1dG9VcGRhdGUiLCJmbGlwIiwiRmxvYXRpbmdGb2N1c01hbmFnZXIiLCJGbG9hdGluZ1BvcnRhbCIsIm9mZnNldCIsInNoaWZ0Iiwic2l6ZSIsImZsb2F0aW5nU2l6ZSIsInVzZUNsaWNrIiwidXNlRGlzbWlzcyIsInVzZUZsb2F0aW5nIiwidXNlSW50ZXJhY3Rpb25zIiwidXNlTGlzdE5hdmlnYXRpb24iLCJ1c2VSb2xlIiwidXNlVHlwZWFoZWFkIiwibWVtbyIsInVzZUVmZmVjdCIsInVzZUlkIiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlRXZlbnRDYWxsYmFjayIsIkljb25zIiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJqb2luQ2xzIiwiZGVmYXVsdCIsInJvb3RDbGFzc25hbWVzIiwiU2VsZWN0RmllbGRTaGVsbCIsIlNlbGVjdE9wdGlvbkNvbnRlbnQiLCJTZWxlY3RTZWFyY2hDb250cm9sIiwiU2VsZWN0VmFsdWVDb250ZW50IiwiS0VZQk9BUkQiLCJTRUxFQ1RfVFlQT0dSQVBIWSIsImV4dHJhY3RPcHRpb25UZXh0IiwiZmlsdGVyT3B0aW9uR3JvdXBzIiwiZmxhdHRlbk9wdGlvbkdyb3VwcyIsImdldE11bHRpcGxlVmFsdWUiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJpc09wdGlvblNlbGVjdGVkIiwibm9ybWFsaXplU2l6ZSIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRvcHRpb25zIiwib3B0aW9ucyIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwiX3Byb3BzJHNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwibGFiZWwiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlclZhbHVlIiwicmVmIiwiY2xhc3NlcyIsImF1dG9JZCIsInRyaWdnZXJJZCIsImxhYmVsSWQiLCJkZXNjcmlwdGlvbklkIiwiZmVlZGJhY2tJZCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1bmRlZmluZWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl91c2VDb250cm9sbGVkU3RhdGU0IiwiaW5uZXJPcGVuIiwic2V0SW5uZXJPcGVuIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTUiLCJfdXNlQ29udHJvbGxlZFN0YXRlNiIsImlubmVyU2VhcmNoVmFsdWUiLCJzZXRJbm5lclNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJub3JtYWxpemVkU2l6ZSIsImFsbE9wdGlvbkdyb3VwcyIsImFsbEZsYXRPcHRpb25zIiwidmlzaWJsZU9wdGlvbkdyb3VwcyIsInZpc2libGVGbGF0T3B0aW9ucyIsInNlbGVjdGVkT3B0aW9ucyIsInNlbGVjdGVkSW5kZXgiLCJsZW5ndGgiLCJtYXRjaGVkSW5kZXgiLCJmaW5kSW5kZXgiLCJvcHRpb24iLCJoYXNTZWxlY3Rpb24iLCJsaXN0UmVmIiwibGlzdENvbnRlbnRSZWYiLCJmbG9hdGluZ1JlZiIsInRyaWdnZXJSZWYiLCJzZWFyY2hJbnB1dFJlZiIsImhhbmRsZVRyaWdnZXJSZWYiLCJub2RlIiwiY3VycmVudCIsImhhbmRsZU9wZW5DaGFuZ2UiLCJuZXh0T3BlbiIsIl91c2VGbG9hdGluZyIsInBsYWNlbWVudCIsIndoaWxlRWxlbWVudHNNb3VudGVkIiwibWlkZGxld2FyZSIsInBhZGRpbmciLCJhcHBseSIsIl9yZWYiLCJyZWN0cyIsImVsZW1lbnRzIiwiYXZhaWxhYmxlSGVpZ2h0IiwibmV4dE1heEhlaWdodCIsIk1hdGgiLCJtYXgiLCJtaW4iLCJPYmplY3QiLCJhc3NpZ24iLCJmbG9hdGluZyIsIndpZHRoIiwiY29uY2F0IiwicmVmZXJlbmNlIiwibWF4SGVpZ2h0IiwicmVmcyIsImZsb2F0aW5nU3R5bGVzIiwiY29udGV4dCIsInNldFJlZmVyZW5jZSIsInNldEZsb2F0aW5nIiwiY2xpY2siLCJlbmFibGVkIiwiZGlzbWlzcyIsIm91dHNpZGVQcmVzc0V2ZW50Iiwicm9sZSIsImxpc3ROYXZpZ2F0aW9uIiwib25OYXZpZ2F0ZSIsImxvb3AiLCJ0eXBlYWhlYWQiLCJvbk1hdGNoIiwiX3VzZUludGVyYWN0aW9ucyIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsImdldEl0ZW1Qcm9wcyIsImZpcnN0RW5hYmxlZEluZGV4IiwibGFzdEVuYWJsZWRJbmRleCIsIl9hIiwiaW5kZXgiLCJwcmV2IiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwic2xpY2UiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImhhbmRsZU9wdGlvbkJsdXIiLCJjb21taXRDaGFuZ2UiLCJuZXh0VmFsdWUiLCJuZXh0T3B0aW9uIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwibmV4dE9wdGlvbnMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJpbmNsdWRlcyIsImhhbmRsZVRyaWdnZXJLZXlEb3duIiwia2V5IiwiRU5URVIiLCJTUEFDRSIsInByZXZlbnREZWZhdWx0IiwiQVJST1dfRE9XTiIsIkFSUk9XX1VQIiwiaGFuZGxlSXRlbU1vdXNlRW50ZXIiLCJoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYWdSZW1vdmVDbGljayIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJfZXZlbnQiLCJoYW5kbGVTZWFyY2hLZXlEb3duIiwiX2MiLCJFU0NBUEUiLCJyZW5kZXJWYWx1ZU1ldGEiLCJ2YWx1ZUxhYmVsQ2xhc3MiLCJpc011bHRpcGxlVmFsdWVGaWxsZWQiLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwiaWNvblNpemUiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNoaWxkcmVuIiwidHlwZSIsIm9uS2V5RG93biIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwiY29sb3IiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiZW1wdHkiLCJmbGF0SW5kZXgiLCJtYXAiLCJncm91cCIsImdyb3VwTGFiZWwiLCJzdHJvbmciLCJvcHRpb25GbGF0SW5kZXgiLCJzZWxlY3RlZCIsImFjdGl2ZSIsIm9wdGlvbk1ldGEiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQ0VDLFVBQVUsRUFDVkMsSUFBSSxFQUNKQyxvQkFBb0IsRUFDcEJDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxLQUFLLEVBQ0xDLElBQUksSUFBSUMsWUFBWSxFQUNwQkMsUUFBUSxFQUNSQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJDLE9BQU8sRUFDUEMsWUFBWSxRQUNQLG9CQUFvQjtBQUMzQixTQUFTQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDekUsU0FBU0Msa0JBQWtCLEVBQUVDLGdCQUFnQixRQUFRLGVBQWU7QUFDcEUsU0FBU0MsS0FBSyxRQUFRLFVBQVU7QUFDaEMsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsZUFBZTtBQUMvRCxTQUFTQyxPQUFPLEVBQUVDLE9BQU8sSUFBSUMsY0FBYyxRQUFRLHdCQUF3QjtBQWdCM0UsT0FBT0MsZ0JBQWdCLE1BQU0sb0JBQW9CO0FBQ2pELE9BQU9DLG1CQUFtQixNQUFNLHVCQUF1QjtB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QUEySSxRQUFBLEVBQUd6SjtVQUFXLENBQUEsQ0FDdEQ7UUFBQSxDQUFBLENBQUE7TUFDRyxDQUFBO0lBQ2UsQ0FBQSxDQUUxQjtFQUFBLENBQUEsQ0FDZ0I7QUFFdkIsQ0FBQztBQUVEM0MsTUFBTSxDQUFDME4sV0FBVyxHQUFHLFFBQVE7QUFFN0IsNEJBQWUxUCxJQUFJLENBQUNnQyxNQUFNLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9TZWxlY3QvU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGF1dG9VcGRhdGUsIGZsaXAsIEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCBGbG9hdGluZ1BvcnRhbCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSBhcyBmbG9hdGluZ1NpemUsIHVzZUNsaWNrLCB1c2VEaXNtaXNzLCB1c2VGbG9hdGluZywgdXNlSW50ZXJhY3Rpb25zLCB1c2VMaXN0TmF2aWdhdGlvbiwgdXNlUm9sZSwgdXNlVHlwZWFoZWFkLCB9IGZyb20gJ0BmbG9hdGluZy11aS9yZWFjdCc7XG5pbXBvcnQgeyBtZW1vLCB1c2VFZmZlY3QsIHVzZUlkLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgS0VZQk9BUkQsIFNFTEVDVF9UWVBPR1JBUEhZIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZXh0cmFjdE9wdGlvblRleHQsIGZpbHRlck9wdGlvbkdyb3VwcywgZmxhdHRlbk9wdGlvbkdyb3VwcywgZ2V0TXVsdGlwbGVWYWx1ZSwgZ2V0T3B0aW9uc0J5VmFsdWVzLCBnZXRTZWxlY3RlZE9wdGlvbnMsIGlzT3B0aW9uU2VsZWN0ZWQsIG5vcm1hbGl6ZVNpemUsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcywgcmVtb3ZlTXVsdGlwbGVWYWx1ZSwgdG9nZ2xlTXVsdGlwbGVWYWx1ZSwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHN0eWxlLCBpZCwgbmFtZSwgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSwgcGxhY2Vob2xkZXIgPSAnVmFsdWUnLCBvcHRpb25zID0gW10sIHZhbHVlLCBkZWZhdWx0VmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkID0gZmFsc2UsIG11bHRpcGxlID0gZmFsc2UsIG1heFZpc2libGVWYWx1ZXMsIHNlYXJjaGFibGUgPSBmYWxzZSwgc2VhcmNoUGxhY2Vob2xkZXIgPSAnU2VhcmNoJywgc2VhcmNoVmFsdWUsIGRlZmF1bHRTZWFyY2hWYWx1ZSA9ICcnLCBsYWJlbCwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IGZhbHNlLCBwcmVmaXgsIGVtcHR5Q29udGVudCA9ICdObyBvcHRpb25zJywgcGFuZWxGb290ZXIsIG9wZW4sIGRlZmF1bHRPcGVuID0gZmFsc2UsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIG9uQ2hhbmdlLCBvbk9wZW5DaGFuZ2UsIG9uU2VhcmNoQ2hhbmdlLCBvbkJsdXIsIGZpbHRlck9wdGlvbiwgcmVuZGVyT3B0aW9uLCByZW5kZXJWYWx1ZSwgcmVmLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IHJvb3RDbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCB0cmlnZ2VySWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgbGFiZWxJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgZmVlZGJhY2tJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgW2lubmVyVmFsdWUsIHNldElubmVyVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHZvaWQgMCA/IGRlZmF1bHRWYWx1ZSA6IChtdWx0aXBsZSA/IFtdIDogdW5kZWZpbmVkKSwgdmFsdWUpO1xuICAgIGNvbnN0IFtpbm5lck9wZW4sIHNldElubmVyT3Blbl0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdE9wZW4sIG9wZW4pO1xuICAgIGNvbnN0IFtpbm5lclNlYXJjaFZhbHVlLCBzZXRJbm5lclNlYXJjaFZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0U2VhcmNoVmFsdWUsIHNlYXJjaFZhbHVlKTtcbiAgICBjb25zdCBbYWN0aXZlSW5kZXgsIHNldEFjdGl2ZUluZGV4XSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRTaXplID0gbm9ybWFsaXplU2l6ZShzaXplKTtcbiAgICBjb25zdCBhbGxPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyhvcHRpb25zKSwgW29wdGlvbnNdKTtcbiAgICBjb25zdCBhbGxGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3QgdmlzaWJsZU9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gKHNlYXJjaGFibGVcbiAgICAgICAgPyBmaWx0ZXJPcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzLCBpbm5lclNlYXJjaFZhbHVlLCBmaWx0ZXJPcHRpb24pXG4gICAgICAgIDogYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3VwcywgZmlsdGVyT3B0aW9uLCBpbm5lclNlYXJjaFZhbHVlLCBzZWFyY2hhYmxlXSk7XG4gICAgY29uc3QgdmlzaWJsZUZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKHZpc2libGVPcHRpb25Hcm91cHMpLCBbdmlzaWJsZU9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZ2V0U2VsZWN0ZWRPcHRpb25zKGFsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZSksIFthbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGVdKTtcbiAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXRjaGVkSW5kZXggPSB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZWRJbmRleCA+PSAwID8gbWF0Y2hlZEluZGV4IDogbnVsbDtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb25zLCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBoYXNTZWxlY3Rpb24gPSBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBsaXN0UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBsaXN0Q29udGVudFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWFyY2hJbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dE9wZW4pID0+IHtcbiAgICAgICAgc2V0SW5uZXJPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHRPcGVuKTtcbiAgICB9KTtcbiAgICBjb25zdCB7IHJlZnMsIGZsb2F0aW5nU3R5bGVzLCBjb250ZXh0LCB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSxcbiAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcbiAgICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6IGF1dG9VcGRhdGUsXG4gICAgICAgIG1pZGRsZXdhcmU6IFtcbiAgICAgICAgICAgIG9mZnNldCgwKSxcbiAgICAgICAgICAgIGZsaXAoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgc2hpZnQoeyBwYWRkaW5nOiA4IH0pLFxuICAgICAgICAgICAgZmxvYXRpbmdTaXplKHtcbiAgICAgICAgICAgICAgICBhcHBseSh7IHJlY3RzLCBlbGVtZW50cywgYXZhaWxhYmxlSGVpZ2h0IH0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dE1heEhlaWdodCA9IE1hdGgubWF4KDEyMCwgTWF0aC5taW4obGlzdE1heEhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0KSk7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZWxlbWVudHMuZmxvYXRpbmcuc3R5bGUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBgJHtyZWN0cy5yZWZlcmVuY2Uud2lkdGh9cHhgLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBgJHtuZXh0TWF4SGVpZ2h0fXB4YCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IGNsaWNrID0gdXNlQ2xpY2soY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQgfSk7XG4gICAgY29uc3QgZGlzbWlzcyA9IHVzZURpc21pc3MoY29udGV4dCwgeyBlbmFibGVkOiAhZGlzYWJsZWQsIG91dHNpZGVQcmVzc0V2ZW50OiAnbW91c2Vkb3duJyB9KTtcbiAgICBjb25zdCByb2xlID0gdXNlUm9sZShjb250ZXh0LCB7IHJvbGU6ICdzZWxlY3QnIH0pO1xuICAgIGNvbnN0IGxpc3ROYXZpZ2F0aW9uID0gdXNlTGlzdE5hdmlnYXRpb24oY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgb25OYXZpZ2F0ZTogc2V0QWN0aXZlSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbixcbiAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICB9KTtcbiAgICBjb25zdCB0eXBlYWhlYWQgPSB1c2VUeXBlYWhlYWQoY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmOiBsaXN0Q29udGVudFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbiAmJiAhc2VhcmNoYWJsZSxcbiAgICAgICAgb25NYXRjaDogc2V0QWN0aXZlSW5kZXgsXG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcywgZ2V0SXRlbVByb3BzIH0gPSB1c2VJbnRlcmFjdGlvbnMoW1xuICAgICAgICBjbGljayxcbiAgICAgICAgZGlzbWlzcyxcbiAgICAgICAgcm9sZSxcbiAgICAgICAgbGlzdE5hdmlnYXRpb24sXG4gICAgICAgIHR5cGVhaGVhZCxcbiAgICBdKTtcbiAgICBjb25zdCBmaXJzdEVuYWJsZWRJbmRleCA9IHVzZU1lbW8oKCkgPT4gdmlzaWJsZUZsYXRPcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiAhb3B0aW9uLmRpc2FibGVkKSwgW3Zpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGxhc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleCAtPSAxKSB7XG4gICAgICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbaW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZlSW5kZXgoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsICYmIHZpc2libGVGbGF0T3B0aW9uc1twcmV2XSAmJiAhdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwID8gZmlyc3RFbmFibGVkSW5kZXggOiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9LCBbZmlyc3RFbmFibGVkSW5kZXgsIGlubmVyT3Blbiwgc2VsZWN0ZWRJbmRleCwgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWlubmVyT3BlbiB8fCBhY3RpdmVJbmRleCA9PT0gbnVsbCB8fCBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2FjdGl2ZUluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGlubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGxpc3RSZWYuY3VycmVudCA9IGxpc3RSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudCA9IGxpc3RDb250ZW50UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9ucy5sZW5ndGhdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpbm5lck9wZW4gJiYgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgKF9hID0gc2VhcmNoSW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcHRpb25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29tbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBuZXh0T3B0aW9uKSA9PiB7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbik7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0T3B0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKG9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdG9nZ2xlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgbmV4dE9wdGlvbnMgPSBnZXRPcHRpb25zQnlWYWx1ZXMoYWxsRmxhdE9wdGlvbnMsIG5leHRWYWx1ZSk7XG4gICAgICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29tbWl0Q2hhbmdlKG9wdGlvbi52YWx1ZSwgb3B0aW9uKTtcbiAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvblZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldE11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSkuaW5jbHVkZXMob3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gcmVtb3ZlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb25WYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlcktleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELlNQQUNFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSghaW5uZXJPcGVuKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19ET1dOIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVJdGVtTW91c2VFbnRlciA9IHVzZUV2ZW50Q2FsbGJhY2soKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2luZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFnUmVtb3ZlQ2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBfZXZlbnQpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gJiYgZmlyc3RFbmFibGVkSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGZpcnN0RW5hYmxlZEluZGV4KTtcbiAgICAgICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFtmaXJzdEVuYWJsZWRJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVAgJiYgbGFzdEVuYWJsZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGxhc3RFbmFibGVkSW5kZXgpO1xuICAgICAgICAgICAgKF9iID0gbGlzdFJlZi5jdXJyZW50W2xhc3RFbmFibGVkSW5kZXhdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVTQ0FQRSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgKF9jID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgcmVuZGVyVmFsdWVNZXRhID0ge1xuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlTGFiZWxDbGFzcyA9IGhhc1NlbGVjdGlvbiA/ICd2YWx1ZScgOiAncGxhY2Vob2xkZXInO1xuICAgIGNvbnN0IGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCA9IChtdWx0aXBsZSAmJlxuICAgICAgICBoYXNTZWxlY3Rpb24gJiZcbiAgICAgICAgbWF4VmlzaWJsZVZhbHVlcyA9PT0gdW5kZWZpbmVkKTtcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaW5uZXJPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1tdWx0aXBsZS1maWxsZWQnKSwgaGFzU2VsZWN0aW9uID8gY2xhc3NlcygndHJpZ2dlci1maWxsZWQnKSA6IGNsYXNzZXMoJ3RyaWdnZXItcGxhY2Vob2xkZXInKSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgdHJpZ2dlci0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1kaXNhYmxlZCcpKSk7XG4gICAgY29uc3QgaWNvblNpemUgPSBub3JtYWxpemVkU2l6ZSA9PT0gJ3NtYWxsJyA/IDE2IDogMjA7XG4gICAgY29uc3QgZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSA9IGFyaWFMYWJlbGxlZEJ5ICE9PSBudWxsICYmIGFyaWFMYWJlbGxlZEJ5ICE9PSB2b2lkIDAgPyBhcmlhTGFiZWxsZWRCeSA6IChsYWJlbCA/IGxhYmVsSWQgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgICBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLFxuICAgICAgICBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4cyhTZWxlY3RGaWVsZFNoZWxsLCB7IGNsYXNzZXM6IGNsYXNzZXMsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgdmFyaWFudDogdmFyaWFudCwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBkaXNhYmxlZCwgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bjogaGFuZGxlVHJpZ2dlcktleURvd24sXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tbXVsdGlwbGVgKSwgZGlzYWJsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LWRpc2FibGVkYCkpKSwgY2hpbGRyZW46IF9qc3goU2VsZWN0VmFsdWVDb250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIGhhc1NlbGVjdGlvbjogaGFzU2VsZWN0aW9uLCBtdWx0aXBsZTogbXVsdGlwbGUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJWYWx1ZU1ldGE6IHJlbmRlclZhbHVlTWV0YSwgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsIG1heFZpc2libGVWYWx1ZXM6IG1heFZpc2libGVWYWx1ZXMsIG9uUmVtb3ZlOiBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlLCBvblJlbW92ZUNsaWNrOiBoYW5kbGVUYWdSZW1vdmVDbGljaywgb25SZW1vdmVNb3VzZURvd246IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biB9KSB9KV0gfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGlubmVyT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pIH0pXSB9KSksIGlubmVyT3BlbiAmJiAhZGlzYWJsZWQgJiYgKF9qc3goRmxvYXRpbmdQb3J0YWwsIHsgY2hpbGRyZW46IF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogZmxvYXRpbmdTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbc2VhcmNoYWJsZSAmJiAoX2pzeChTZWxlY3RTZWFyY2hDb250cm9sLCB7IHJlZjogc2VhcmNoSW5wdXRSZWYsIGNsYXNzZXM6IGNsYXNzZXMsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIG9uQmx1cjogaGFuZGxlU2VhcmNoQmx1ciwgb25DaGFuZ2U6IGhhbmRsZVNlYXJjaENoYW5nZSwgb25LZXlEb3duOiBoYW5kbGVTZWFyY2hLZXlEb3duIH0pKSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtYm9keScpLCBjaGlsZHJlbjogdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCA9PT0gMCA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdlbXB0eScpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5zaXplLCBjb2xvcjogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuY29sb3IsIGNoaWxkcmVuOiBlbXB0eUNvbnRlbnQgfSkgfSkpIDogKCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmxhdEluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25GbGF0SW5kZXggPSBmbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGF0SW5kZXggKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGFjdGl2ZUluZGV4ID09PSBvcHRpb25GbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25NZXRhID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogISFvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IG9wdGlvbkZsYXRJbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImJ1dHRvblwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRJdGVtUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uJywgam9pbkNscyhhY3RpdmUgJiYgY2xhc3Nlcygnb3B0aW9uLWFjdGl2ZScpLCBzZWxlY3RlZCAmJiBjbGFzc2VzKCdvcHRpb24tc2VsZWN0ZWQnKSwgb3B0aW9uLmRpc2FibGVkICYmIGNsYXNzZXMoJ29wdGlvbi1kaXNhYmxlZCcpKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXJpYS1zZWxlY3RlZCc6IHNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24ob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gaGFuZGxlSXRlbU1vdXNlRW50ZXIob3B0aW9uRmxhdEluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZU9wdGlvbkJsdXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCB9KSkgfSksIGAke2dyb3VwLmtleX0tJHtvcHRpb24udmFsdWV9YCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpKSB9KSwgcGFuZWxGb290ZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtZm9vdGVyJyksIGNoaWxkcmVuOiBwYW5lbEZvb3RlciB9KSldIH0pKSB9KSB9KSldIH0pKTtcbn07XG5TZWxlY3QuZGlzcGxheU5hbWUgPSAnU2VsZWN0JztcbmV4cG9ydCBkZWZhdWx0IG1lbW8oU2VsZWN0KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { TypographyBodySize, TypographyColor, TypographyLabelSize } from "../Typography";
|
|
2
|
+
export declare const KEYBOARD: {
|
|
3
|
+
readonly ENTER: "Enter";
|
|
4
|
+
readonly SPACE: " ";
|
|
5
|
+
readonly ARROW_DOWN: "ArrowDown";
|
|
6
|
+
readonly ARROW_UP: "ArrowUp";
|
|
7
|
+
readonly ESCAPE: "Escape";
|
|
8
|
+
};
|
|
2
9
|
interface SelectTypographyConfig {
|
|
3
10
|
label: {
|
|
4
11
|
size: TypographyLabelSize;
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export var KEYBOARD = {
|
|
2
|
+
ENTER: 'Enter',
|
|
3
|
+
SPACE: ' ',
|
|
4
|
+
ARROW_DOWN: 'ArrowDown',
|
|
5
|
+
ARROW_UP: 'ArrowUp',
|
|
6
|
+
ESCAPE: 'Escape'
|
|
7
|
+
};
|
|
1
8
|
export var SELECT_TYPOGRAPHY = {
|
|
2
9
|
label: {
|
|
3
10
|
size: 'lg',
|
|
@@ -33,4 +40,4 @@ export var SELECT_TYPOGRAPHY = {
|
|
|
33
40
|
color: 'default-tertiary'
|
|
34
41
|
}
|
|
35
42
|
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbnN0YW50cy50cyIsImNvbXBvbmVudHMvU2VsZWN0L2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJLRVlCT0FSRCIsIkVOVEVSIiwiU1BBQ0UiLCJBUlJPV19ET1dOIiwiQVJST1dfVVAiLCJFU0NBUEUiLCJTRUxFQ1RfVFlQT0dSQVBIWSIsImxhYmVsIiwic2l6ZSIsImNvbG9yIiwiZGlzYWJsZWQiLCJkZXNjcmlwdGlvbiIsImZlZWRiYWNrIiwib3B0aW9uIiwiZ3JvdXBMYWJlbCIsImVtcHR5Il0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLElBQU1BLFFBQVEsR0FBRztFQUN0QkMsS0FBSyxFQUFFLE9BQU87RUFDZEMsS0FBSyxFQUFFLEdBQUc7RUFDVkMsVUFBVSxFQUFFLFdBQVc7RUFDdkJDLFFBQVEsRUFBRSxTQUFTO0VBQ25CQyxNQUFNLEVBQUU7QUNEVixDREVVO0FBb0NWLE9BQU8sSUFBTUMsaUJBQWlCLEdBQTJCO0VBQ3ZEQyxLQUFLLEVBQUU7SUFDTEMsSUFBSSxFQUFFLElBQUk7SUFDVkMsS0FBSyxFQUFFO01BQUUsV0FBUyxTQUFTO01BQUVDLFFBQVEsRUFBRTtJQUFVO0VDcENqRCxDRHFDRDtFQUNEQyxXQUFXLEVBQUU7SUFDWEgsSUFBSSxFQUFFLElBQUk7SUFDVkMsS0FBSyxFQUFFO01BQUUsV0FBUyxrQkFBa0I7TUFBRUMsUUFBUSxFQUFFO0lBQVU7RUNwQzFELENEcUNEO0VBQ0RFLFFBQVEsRUFBRTtJQUFFSixJQUFJLEVBQUU7RUFBSSxDQUFFO0VBQ3hCSyxNQUFNLEVBQUU7SUFDTk4sS0FBSyxFQUFFO01BQUVDLElBQUksRUFBRTtJQUFJLENBQUU7SUFDckJHLFdBQVcsRUFBRTtNQUFFSCxJQUFJLEVBQUUsSUFBSTtNQUFFQyxLQUFLLEVBQUU7SUFBa0I7RUNwQ3BELENEcUNEO0VBQ0RLLFVBQVUsRUFBRTtJQUFFTixJQUFJLEVBQUU7RUFBSSxDQUFFO0VBQzFCTyxLQUFLLEVBQUU7SUFBRVAsSUFBSSxFQUFFLElBQUk7SUFBRUMsS0FBSyxFQUFFO0VBQWtCO0FDcENoRCxDRHFDQyIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImV4cG9ydCBjb25zdCBLRVlCT0FSRCA9IHtcbiAgICBFTlRFUjogJ0VudGVyJyxcbiAgICBTUEFDRTogJyAnLFxuICAgIEFSUk9XX0RPV046ICdBcnJvd0Rvd24nLFxuICAgIEFSUk9XX1VQOiAnQXJyb3dVcCcsXG4gICAgRVNDQVBFOiAnRXNjYXBlJyxcbn07XG5leHBvcnQgY29uc3QgU0VMRUNUX1RZUE9HUkFQSFkgPSB7XG4gICAgbGFiZWw6IHtcbiAgICAgICAgc2l6ZTogJ2xnJyxcbiAgICAgICAgY29sb3I6IHsgZGVmYXVsdDogJ2RlZmF1bHQnLCBkaXNhYmxlZDogJ2Rpc2FibGVkJyB9LFxuICAgIH0sXG4gICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgc2l6ZTogJ21kJyxcbiAgICAgICAgY29sb3I6IHsgZGVmYXVsdDogJ2RlZmF1bHQtdGVydGlhcnknLCBkaXNhYmxlZDogJ2Rpc2FibGVkJyB9LFxuICAgIH0sXG4gICAgZmVlZGJhY2s6IHsgc2l6ZTogJ3NtJyB9LFxuICAgIG9wdGlvbjoge1xuICAgICAgICBsYWJlbDogeyBzaXplOiAnbWQnIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC10ZXJ0aWFyeScgfSxcbiAgICB9LFxuICAgIGdyb3VwTGFiZWw6IHsgc2l6ZTogJ2xnJyB9LFxuICAgIGVtcHR5OiB7IHNpemU6ICdtZCcsIGNvbG9yOiAnZGVmYXVsdC10ZXJ0aWFyeScgfSxcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -103,4 +103,4 @@ export function renderWithEnhancements(textElement, enhancement, prefixCls) {
|
|
|
103
103
|
}), ellipsisTooltip]
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHlwb2dyYXBoeS9yZW5kZXIuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1R5cG9ncmFwaHkvcmVuZGVyLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImNyZWF0ZUVsZW1lbnQiLCJDb3B5Iiwibm90aWZpY2F0aW9uIiwiVG9vbHRpcCIsImNsYXNzbmFtZXMiLCJnZXRUeXBvZ3JhcGh5Q2xhc3NOYW1lIiwiQ09QWV9JQ09OX1NJWkUiLCJERUZBVUxUX0NPUFlfTk9USUZJQ0FUSU9OX1RJVExFIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTiIsImRlZmF1bHRPbkNvcHkiLCJzdWNjZXNzIiwidGl0bGUiLCJib2R5IiwiZHVyYXRpb24iLCJidWlsZFR5cG9ncmFwaHlUZXh0Tm9kZVByb3BzIiwib3B0aW9ucyIsIl9hIiwicHJlZml4Q2xzIiwiY2xhc3NOYW1lIiwiY2F0ZWdvcnkiLCJzaXplIiwiY29sb3IiLCJzdHJvbmciLCJpdGFsaWMiLCJ1bmRlcmxpbmUiLCJpc0RlbGV0ZWQiLCJkaXNhYmxlZCIsInN0eWxlIiwiY2hpbGRyZW4iLCJlbmhhbmNlbWVudCIsImlkIiwidGV4dElkIiwiZWxsaXBzaXMiLCJjb3B5YWJsZSIsImNvcHlUZXh0IiwiZGlzcGxheVRleHQiLCJyZWYiLCJzZXRNZWFzdXJlTm9kZSIsImZ1bGxUZXh0IiwicmVuZGVyVHlwb2dyYXBoeVRleHRUYWciLCJ0YWciLCJodG1sUHJvcHMiLCJub2RlUHJvcHMiLCJhc3NpZ24iLCJyZW5kZXJUeXBvZ3JhcGh5QW5jaG9yVGFnIiwiYW5jaG9yUHJvcHMiLCJyZXN0Tm9kZVByb3BzIiwicmVuZGVyV2l0aEVuaGFuY2VtZW50cyIsInRleHRFbGVtZW50IiwiX2IiLCJlbGxpcHNpc1Rvb2x0aXAiLCJlbGxpcHNpc1Rvb2x0aXBQcm9wcyIsImFuY2hvclNlbGVjdCIsImNvbmNhdCIsImNsYXNzZXMiLCJXcmFwcGVyIiwid3JhcHBlclRhZyIsImlzSW5saW5lQ29tcG9uZW50IiwidmFsdWUiLCJpY29uU2l6ZSIsImNvbnRhaW5lZCIsIm9uU3VjY2VzcyIsIm9uQ29weSJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0s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Y0FBYztRQUN4QnVELFNBQVMsRUFBRSxLQUFLO1FBQ2hCQyxTQUFTLEVBQUUsQ0FBQVosRUFBQSxHQUFBcEIsV0FBVyxDQUFDaUMsTUFBTSxNQUFBLElBQUEsSUFBQWIsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUl4QztNQUFhLENBQUEsQ0FDOUM7SUFBQSxDQUFBLENBQ00sRUFDVHlDLGVBQWU7RUFBQSxDQUFBLENBQ2Y7QUFFUCIsImZpbGUiOiJjb21wb25lbnRzL1R5cG9ncmFwaHkvcmVuZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgY3JlYXRlRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENvcHkgfSBmcm9tICcuLi9Db3B5JztcbmltcG9ydCB7IG5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL05vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnLi4vVG9vbHRpcCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IGdldFR5cG9ncmFwaHlDbGFzc05hbWUgfSBmcm9tICcuL3V0aWxzJztcbmNvbnN0IENPUFlfSUNPTl9TSVpFID0gMTY7XG5jb25zdCBERUZBVUxUX0NPUFlfTk9USUZJQ0FUSU9OX1RJVExFID0gJ1N1Y2Nlc3MnO1xuY29uc3QgREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZID0gJ0NvcGllZCB0byBjbGlwYm9hcmQnO1xuY29uc3QgREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTiA9IDEuNTtcbmNvbnN0IGRlZmF1bHRPbkNvcHkgPSAoKSA9PiB7XG4gICAgbm90aWZpY2F0aW9uLnN1Y2Nlc3Moe1xuICAgICAgICB0aXRsZTogREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9USVRMRSxcbiAgICAgICAgYm9keTogREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZLFxuICAgICAgICBkdXJhdGlvbjogREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTixcbiAgICB9KTtcbn07XG5leHBvcnQgZnVuY3Rpb24gYnVpbGRUeXBvZ3JhcGh5VGV4dE5vZGVQcm9wcyhvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcHJlZml4Q2xzLCBjbGFzc05hbWUsIGNhdGVnb3J5LCBzaXplLCBjb2xvciwgc3Ryb25nLCBpdGFsaWMsIHVuZGVybGluZSwgaXNEZWxldGVkLCBkaXNhYmxlZCwgc3R5bGUsIGNoaWxkcmVuLCBlbmhhbmNlbWVudCwgfSA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGVuaGFuY2VtZW50LnRleHRJZCxcbiAgICAgICAgc3R5bGUsXG4gICAgICAgIGNsYXNzTmFtZTogZ2V0VHlwb2dyYXBoeUNsYXNzTmFtZSh7XG4gICAgICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICBjYXRlZ29yeTogY2F0ZWdvcnksXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgY29sb3IsXG4gICAgICAgICAgICBzdHJvbmcsXG4gICAgICAgICAgICBpdGFsaWMsXG4gICAgICAgICAgICB1bmRlcmxpbmUsXG4gICAgICAgICAgICBpc0RlbGV0ZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGVsbGlwc2lzOiAhIWVuaGFuY2VtZW50LmVsbGlwc2lzLFxuICAgICAgICAgICAgY29weWFibGU6IGVuaGFuY2VtZW50LmNvcHlUZXh0ICE9PSBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgY2hpbGRyZW46IGVuaGFuY2VtZW50LmVsbGlwc2lzID8gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogWyhfYSA9IGVuaGFuY2VtZW50LmRpc3BsYXlUZXh0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBjaGlsZHJlbiwgX2pzeChcInNwYW5cIiwgeyByZWY6IGVuaGFuY2VtZW50LnNldE1lYXN1cmVOb2RlLCBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjbGFzc05hbWU6IGNsYXNzbmFtZXMocHJlZml4Q2xzKSgnZWxsaXBzaXMtbWVhc3VyZScpLCBjaGlsZHJlbjogZW5oYW5jZW1lbnQuZnVsbFRleHQgfSldIH0pKSA6IGNoaWxkcmVuLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyVHlwb2dyYXBoeVRleHRUYWcodGFnLCBodG1sUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodGFnLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgaHRtbFByb3BzKSwgbm9kZVByb3BzKSwgeyByZWYgfSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclR5cG9ncmFwaHlBbmNob3JUYWcoYW5jaG9yUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gbm9kZVByb3BzLCByZXN0Tm9kZVByb3BzID0gX19yZXN0KG5vZGVQcm9wcywgW1wiY2hpbGRyZW5cIl0pO1xuICAgIHJldHVybiAoX2pzeChcImFcIiwgT2JqZWN0LmFzc2lnbih7fSwgYW5jaG9yUHJvcHMsIHJlc3ROb2RlUHJvcHMsIHsgcmVmOiByZWYsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcldpdGhFbmhhbmNlbWVudHModGV4dEVsZW1lbnQsIGVuaGFuY2VtZW50LCBwcmVmaXhDbHMpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGVsbGlwc2lzVG9vbHRpcCA9IGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzICYmIGVuaGFuY2VtZW50LnRleHRJZCA/IChfanN4KFRvb2x0aXAsIE9iamVjdC5hc3NpZ24oe30sIGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzLCB7IGFuY2hvclNlbGVjdDogYCMke2VuaGFuY2VtZW50LnRleHRJZH1gIH0pKSkgOiBudWxsO1xuICAgIGlmIChlbmhhbmNlbWVudC5jb3B5VGV4dCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBlbGxpcHNpc1Rvb2x0aXBdIH0pKTtcbiAgICB9XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBXcmFwcGVyID0gKF9hID0gZW5oYW5jZW1lbnQud3JhcHBlclRhZykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ3NwYW4nO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeHMoV3JhcHBlciwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXInLCBlbmhhbmNlbWVudC5pc0lubGluZUNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXItaW5saW5lJylcbiAgICAgICAgICAgICAgICAgICAgOiBjbGFzc2VzKCdjb3B5YWJsZS13cmFwcGVyLWJsb2NrJykpLCBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBfanN4KENvcHksIHsgdmFsdWU6IGVuaGFuY2VtZW50LmNvcHlUZXh0LCBpY29uU2l6ZTogQ09QWV9JQ09OX1NJWkUsIGNvbnRhaW5lZDogZmFsc2UsIG9uU3VjY2VzczogKF9iID0gZW5oYW5jZW1lbnQub25Db3B5KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBkZWZhdWx0T25Db3B5IH0pXSB9KSwgZWxsaXBzaXNUb29sdGlwXSB9KSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
106
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVHlwb2dyYXBoeS9yZW5kZXIuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1R5cG9ncmFwaHkvcmVuZGVyLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImNyZWF0ZUVsZW1lbnQiLCJDb3B5Iiwibm90aWZpY2F0aW9uIiwiVG9vbHRpcCIsImNsYXNzbmFtZXMiLCJnZXRUeXBvZ3JhcGh5Q2xhc3NOYW1lIiwiQ09QWV9JQ09OX1NJWkUiLCJERUZBVUxUX0NPUFlfTk9USUZJQ0FUSU9OX1RJVExFIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9CT0RZIiwiREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9EVVJBVElPTiIsImRlZmF1bHRPbkNvcHkiLCJzdWNjZXNzIiwidGl0bGUiLCJib2R5IiwiZHVyYXRpb24iLCJidWlsZFR5cG9ncmFwaHlUZXh0Tm9kZVByb3BzIiwib3B0aW9ucyIsIl9hIiwicHJlZml4Q2xzIiwiY2xhc3NOYW1lIiwiY2F0ZWdvcnkiLCJzaXplIiwiY29sb3IiLCJzdHJvbmciLCJpdGFsaWMiLCJ1bmRlcmxpbmUiLCJpc0RlbGV0ZWQiLCJkaXNhYmxlZCIsInN0eWxlIiwiY2hpbGRyZW4iLCJlbmhhbmNlbWVudCIsImlkIiwidGV4dElkIiwiZWxsaXBzaXMiLCJjb3B5YWJsZSIsImNvcHlUZXh0IiwiZGlzcGxheVRleHQiLCJyZWYiLCJzZXRNZWFzdXJlTm9kZSIsImZ1bGxUZXh0IiwicmVuZGVyVHlwb2dyYXBoeVRleHRUYWciLCJ0YWciLCJodG1sUHJvcHMiLCJub2RlUHJvcHMiLCJhc3NpZ24iLCJyZW5kZXJUeXBvZ3JhcGh5QW5jaG9yVGFnIiwiYW5jaG9yUHJvcHMiLCJyZXN0Tm9kZVByb3BzIiwicmVuZGVyV2l0aEVuaGFuY2VtZW50cyIsInRleHRFbGVtZW50IiwiX2IiLCJlbGxpcHNpc1Rvb2x0aXAiLCJlbGxpcHNpc1Rvb2x0aXBQcm9wcyIsImFuY2hvclNlbGVjdCIsImNvbmNhdCIsImNsYXNzZXMiLCJXcmFwcGVyIiwid3JhcHBlclRhZyIsImlzSW5saW5lQ29tcG9uZW50IiwidmFsdWUiLCJpY29uU2l6ZSIsImNvbnRhaW5lZCIsIm9uU3VjY2VzcyIsIm9uQ29weSJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0s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QWM7UUFDeEJ1RCxTQUFTLEVBQUUsS0FBSztRQUNoQkMsU0FBUyxFQUFFLENBQUFaLEVBQUEsR0FBQXBCLFdBQVcsQ0FBQ2lDLE1BQU0sTUFBQSxJQUFBLElBQUFiLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJeEM7TUFBYSxDQUFBLENBQzlDO0lBQUEsQ0FBQSxDQUNNLEVBQ1R5QyxlQUFlO0VBQUEsQ0FBQSxDQUNmO0FBRVAiLCJmaWxlIjoiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3JlbmRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGNyZWF0ZUVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb3B5IH0gZnJvbSAnLi4vQ29weSc7XG5pbXBvcnQgeyBub3RpZmljYXRpb24gfSBmcm9tICcuLi9Ob3RpZmljYXRpb24nO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBnZXRUeXBvZ3JhcGh5Q2xhc3NOYW1lIH0gZnJvbSAnLi91dGlscyc7XG5jb25zdCBDT1BZX0lDT05fU0laRSA9IDE2O1xuY29uc3QgREVGQVVMVF9DT1BZX05PVElGSUNBVElPTl9USVRMRSA9ICdTdWNjZXNzJztcbmNvbnN0IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fQk9EWSA9ICdDb3BpZWQgdG8gY2xpcGJvYXJkJztcbmNvbnN0IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fRFVSQVRJT04gPSAxLjU7XG5jb25zdCBkZWZhdWx0T25Db3B5ID0gKCkgPT4ge1xuICAgIG5vdGlmaWNhdGlvbi5zdWNjZXNzKHtcbiAgICAgICAgdGl0bGU6IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fVElUTEUsXG4gICAgICAgIGJvZHk6IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fQk9EWSxcbiAgICAgICAgZHVyYXRpb246IERFRkFVTFRfQ09QWV9OT1RJRklDQVRJT05fRFVSQVRJT04sXG4gICAgfSk7XG59O1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVHlwb2dyYXBoeVRleHROb2RlUHJvcHMob3B0aW9ucykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHByZWZpeENscywgY2xhc3NOYW1lLCBjYXRlZ29yeSwgc2l6ZSwgY29sb3IsIHN0cm9uZywgaXRhbGljLCB1bmRlcmxpbmUsIGlzRGVsZXRlZCwgZGlzYWJsZWQsIHN0eWxlLCBjaGlsZHJlbiwgZW5oYW5jZW1lbnQsIH0gPSBvcHRpb25zO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBlbmhhbmNlbWVudC50ZXh0SWQsXG4gICAgICAgIHN0eWxlLFxuICAgICAgICBjbGFzc05hbWU6IGdldFR5cG9ncmFwaHlDbGFzc05hbWUoe1xuICAgICAgICAgICAgcHJlZml4Q2xzLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgY29sb3IsXG4gICAgICAgICAgICBzdHJvbmcsXG4gICAgICAgICAgICBpdGFsaWMsXG4gICAgICAgICAgICB1bmRlcmxpbmUsXG4gICAgICAgICAgICBpc0RlbGV0ZWQsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGVsbGlwc2lzOiAhIWVuaGFuY2VtZW50LmVsbGlwc2lzLFxuICAgICAgICAgICAgY29weWFibGU6IGVuaGFuY2VtZW50LmNvcHlUZXh0ICE9PSBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgY2hpbGRyZW46IGVuaGFuY2VtZW50LmVsbGlwc2lzID8gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogWyhfYSA9IGVuaGFuY2VtZW50LmRpc3BsYXlUZXh0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBjaGlsZHJlbiwgX2pzeChcInNwYW5cIiwgeyByZWY6IGVuaGFuY2VtZW50LnNldE1lYXN1cmVOb2RlLCBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjbGFzc05hbWU6IGNsYXNzbmFtZXMocHJlZml4Q2xzKSgnZWxsaXBzaXMtbWVhc3VyZScpLCBjaGlsZHJlbjogZW5oYW5jZW1lbnQuZnVsbFRleHQgfSldIH0pKSA6IGNoaWxkcmVuLFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyVHlwb2dyYXBoeVRleHRUYWcodGFnLCBodG1sUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQodGFnLCBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgaHRtbFByb3BzKSwgbm9kZVByb3BzKSwgeyByZWYgfSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclR5cG9ncmFwaHlBbmNob3JUYWcoYW5jaG9yUHJvcHMsIG5vZGVQcm9wcywgcmVmKSB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gbm9kZVByb3BzLCByZXN0Tm9kZVByb3BzID0gX19yZXN0KG5vZGVQcm9wcywgW1wiY2hpbGRyZW5cIl0pO1xuICAgIHJldHVybiAoX2pzeChcImFcIiwgT2JqZWN0LmFzc2lnbih7fSwgYW5jaG9yUHJvcHMsIHJlc3ROb2RlUHJvcHMsIHsgcmVmOiByZWYsIGNoaWxkcmVuOiBjaGlsZHJlbiB9KSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcldpdGhFbmhhbmNlbWVudHModGV4dEVsZW1lbnQsIGVuaGFuY2VtZW50LCBwcmVmaXhDbHMpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGNvbnN0IGVsbGlwc2lzVG9vbHRpcCA9IGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzICYmIGVuaGFuY2VtZW50LnRleHRJZCA/IChfanN4KFRvb2x0aXAsIE9iamVjdC5hc3NpZ24oe30sIGVuaGFuY2VtZW50LmVsbGlwc2lzVG9vbHRpcFByb3BzLCB7IGFuY2hvclNlbGVjdDogYCMke2VuaGFuY2VtZW50LnRleHRJZH1gIH0pKSkgOiBudWxsO1xuICAgIGlmIChlbmhhbmNlbWVudC5jb3B5VGV4dCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBlbGxpcHNpc1Rvb2x0aXBdIH0pKTtcbiAgICB9XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBXcmFwcGVyID0gKF9hID0gZW5oYW5jZW1lbnQud3JhcHBlclRhZykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ3NwYW4nO1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeHMoV3JhcHBlciwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXInLCBlbmhhbmNlbWVudC5pc0lubGluZUNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICA/IGNsYXNzZXMoJ2NvcHlhYmxlLXdyYXBwZXItaW5saW5lJylcbiAgICAgICAgICAgICAgICAgICAgOiBjbGFzc2VzKCdjb3B5YWJsZS13cmFwcGVyLWJsb2NrJykpLCBjaGlsZHJlbjogW3RleHRFbGVtZW50LCBfanN4KENvcHksIHsgdmFsdWU6IGVuaGFuY2VtZW50LmNvcHlUZXh0LCBpY29uU2l6ZTogQ09QWV9JQ09OX1NJWkUsIGNvbnRhaW5lZDogZmFsc2UsIG9uU3VjY2VzczogKF9iID0gZW5oYW5jZW1lbnQub25Db3B5KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBkZWZhdWx0T25Db3B5IH0pXSB9KSwgZWxsaXBzaXNUb29sdGlwXSB9KSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import type { TooltipProps } from "../Tooltip";
|
|
3
|
-
import type { TypographyEllipsisConfig, TypographyCopyableConfig } from './interface';
|
|
3
|
+
import type { TypographyCategory, TypographyEllipsisConfig, TypographyCopyableConfig } from './interface';
|
|
4
4
|
import type { TypographyLayoutMode, TypographyTextTag } from './constants';
|
|
5
5
|
import type { ResolvedTypographyEllipsisConfig } from './utils';
|
|
6
6
|
export interface TypographyEnhancementOptions {
|
|
@@ -28,7 +28,7 @@ export interface TypographyEnhancementResult {
|
|
|
28
28
|
export interface TypographyTextPresentationOptions {
|
|
29
29
|
prefixCls: string;
|
|
30
30
|
className?: string;
|
|
31
|
-
category:
|
|
31
|
+
category: TypographyCategory;
|
|
32
32
|
size: string;
|
|
33
33
|
color?: string;
|
|
34
34
|
strong?: boolean;
|
|
@@ -64,7 +64,8 @@ export function useTypographyEnhancements(options) {
|
|
|
64
64
|
setIsOverflowed(node.scrollWidth > node.clientWidth);
|
|
65
65
|
});
|
|
66
66
|
var getMeasureNode = useEventCallback(function () {
|
|
67
|
-
|
|
67
|
+
var _a;
|
|
68
|
+
return (_a = measureNodeRef.current) !== null && _a !== void 0 ? _a : document.createElement('span');
|
|
68
69
|
});
|
|
69
70
|
useResizeObserver(ellipsisEnabled && !!measureNodeRef.current, getMeasureNode, measureOverflow);
|
|
70
71
|
useEffect(function () {
|
|
@@ -107,4 +108,4 @@ export function useTypographyEnhancements(options) {
|
|
|
107
108
|
setMeasureNode: setMeasureNode
|
|
108
109
|
};
|
|
109
110
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS91c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzLnRzIiwiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3VzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMuanMiXSwibmFtZXMiOlsidXNlRXZlbnRDYWxsYmFjayIsInVzZVNhZmVTdGF0ZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VSZXNpemVPYnNlcnZlciIsIkRFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTIiwiREVGQVVMVF9UWVBPR1JBUEhZX1RPT0xUSVBfUExBQ0VNRU5UIiwiZXh0cmFjdFRleHRDb250ZW50IiwiZ2V0RW5oYW5jZW1lbnRXcmFwcGVyVGFnIiwiZ2V0U3RhYmxlSWQiLCJpc0lubGluZVR5cG9ncmFwaHlUYWciLCJub3JtYWxpemVFbGxpcHNpcyIsInRydW5jYXRlTWlkZGxlIiwicmVzb2x2ZUNvcHlhYmxlIiwiY29weWFibGUiLCJmdWxsVGV4dCIsIl9hIiwidGV4dCIsIm9uQ29weSIsInVzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMiLCJvcHRpb25zIiwiY29tcG9uZW50VGFnIiwiZGVmYXVsdExheW91dE1vZGUiLCJwcmVmaXhDbHMiLCJpZCIsImNoaWxkcmVuIiwiZWxsaXBzaXMiLCJ0ZXh0Tm9kZVJlZiIsIm1lYXN1cmVOb2RlUmVmIiwiZ2VuZXJhdGVkVGV4dElkUmVmIiwidW5kZWZpbmVkIiwiX3VzZVNhZmVTdGF0ZSIsIl91c2VTYWZlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc092ZXJmbG93ZWQiLCJzZXRJc092ZXJmbG93ZWQiLCJyZXNvbHZlZEVsbGlwc2lzIiwiZWxsaXBzaXNFbmFibGVkIiwiZWxsaXBzaXNIYXNUb29sdGlwIiwidG9vbHRpcCIsImlzSW5saW5lQ29tcG9uZW50IiwidGV4dElkIiwidHJ1bmNhdGVkVGV4dCIsInN0YXJ0IiwiZW5kIiwiZGlzcGxheVRleHQiLCJpc1RydW5jYXRlZCIsInJlc29sdmVkQ29weWFibGUiLCJzZXRUZXh0Tm9kZSIsIm5vZGUiLCJjdXJyZW50Iiwic2V0TWVhc3VyZU5vZGUiLCJtZWFzdXJlT3ZlcmZsb3ciLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwiZ2V0TWVhc3VyZU5vZGUiLCJlbGxpcHNpc1Rvb2x0aXBQcm9wcyIsIl9iIiwiX2MiLCJ0b29sdGlwQ29uZmlnIiwiYm9keSIsInBsYWNlbWVudCIsIm1pZGRsZXdhcmVzIiwiT2JqZWN0IiwiYXNzaWduIiwiY29weVRleHQiLCJ3cmFwcGVyVGFnIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsZ0JBQWdCLEVBQUVDLFlBQVksUUFBUSxlQUFlO0FBQzlELFNBQVNDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNsRCxTQUFTQyxpQkFBaUIsUUFBUSxtQkFBbUI7QUFLckQsU0FBU0Msc0NBQXNDLEVBQUVDLG9DQUFvQyxRQUFRLGFBQWE7QUFFMUcsU0FDRUMsa0JBQWtCLEVBQ2xCQyx3QkFBd0IsRUFDeEJDLFdBQVcsRUFDWEMscUJBQXFCLEVBQ3JCQyxpQkFBaUIsRUFDakJDLGNBQWMsUUFDVCxTQUFTO0FBK0NoQixTQUFTQyxlQUFlQSxDQUN0QkMsUUFBd0QsRUFDeERDLFFBQWdCLEVBQUE7RUMzRGQsSUFBSUMsRUFBRTtFRDZEUixJQUFJLENBQUNGLFFBQVEsRUFBRSxPQUFPLElBQUk7RUFFMUIsSUFBSUEsUUFBUSxLQUFLLElBQUksRUFBRTtJQUNyQixPQUFPO01BQUVHLElBQUksRUFBRUY7SUFBUSxDQUFFO0VBQzNCO0VBRUEsT0FBTztJQUNMRSxJQUFJLEVBQUUsQ0FBQUQsRUFBQSxHQUFBRixRQUFRLENBQUNHLElBQUksTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJRCxRQUFRO0lBQy9CRyxNQUFNLEVBQUVKLFFBQVEsQ0FBQ0k7RUM1RGpCLENENkREO0FBQ0g7QUFFQSxPQUFNLFNBQVVDLHlCQUF5QkEsQ0FDdkNDLE9BQXFDLEVBQUE7RUM5RG5DLElBQUlKLEVBQUU7RURnRVIsSUFBUUssWUFBWSxHQUFxRUQsT0FBTyxDQUF4RkMsWUFBWTtJQUFFQyxpQkFBaUIsR0FBa0RGLE9BQU8sQ0FBMUVFLGlCQUFpQjtJQUFFQyxTQUFTLEdBQXVDSCxPQUFPLENBQXZERyxTQUFTO0lBQUVDLEVBQUUsR0FBbUNKLE9BQU8sQ0FBNUNJLEVBQUU7SUFBRUMsUUFBUSxHQUF5QkwsT0FBTyxDQUF4Q0ssUUFBUTtJQUFFQyxRQUFRLEdBQWVOLE9BQU8sQ0FBOUJNLFFBQVE7SUFBRVosUUFBUSxHQUFLTSxPQUFPLENBQXBCTixRQUFRO0VBQ3BGLElBQU1hLFdBQVcsR0FBR3hCLE1BQU0sQ0FBcUIsSUFBSSxDQUFDO0VBQ3BELElBQU15QixjQUFjLEdBQUd6QixNQUFNLENBQXFCLElBQUksQ0FBQztFQUN2RCxJQUFNMEIsa0JBQWtCLEdBQUcxQixNQUFNLENBQXFCMkIsU0FBUyxDQUFDO0VBQ2hFO0VBQ0EsSUFBQUMsYUFBQSxHQUF3Qy9CLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFBQWdDLGNBQUEsR0FBQUMsY0FBQSxDQUFBRixhQUFBO0lBQW5ERyxZQUFZLEdBQUFGLGNBQUE7SUFBRUcsZUFBZSxHQUFBSCxjQUFBO0VBRXBDLElBQU1JLGdCQUFnQixHQUFHekIsaUJBQWlCLENBQUNlLFFBQVEsQ0FBQztFQUNwRCxJQUFNVyxlQUFlLEdBQUdELGdCQUFnQixLQUFLLElBQUk7RUFDakQsSUFBTUUsa0JBQWtCLEdBQUcsQ0FBQyxFQUFDRixnQkFBZ0IsS0FBQSxJQUFBLElBQWhCQSxnQkFBZ0IsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBaEJBLGdCQUFnQixDQUFFRyxPQUFPLENBQUE7RUFDdEQsSUFBTUMsaUJBQWlCLEdBQUc5QixxQkFBcUIsQ0FBQ1csWUFBWSxFQUFFQyxpQkFBaUIsQ0FBQztFQUNoRixJQUFNbUIsTUFBTSxHQUFHakIsRUFBRSxLQUFBLElBQUEsSUFBRkEsRUFBRSxLQUFBLEtBQUEsQ0FBQSxHQUFGQSxFQUFFLEdBQUtjLGtCQUFrQixHQUNwQzdCLFdBQVcsQ0FBQ29CLGtCQUFrQixFQUFFTixTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQ3RETyxTQUFVO0VBRWQsSUFBTWYsUUFBUSxHQUFHYixPQUFPLENBQUM7SUFBQSxPQUFNSyxrQkFBa0IsQ0FBQ2tCLFFBQVEsQ0FBQztFQUFBLEdBQUUsQ0FBQ0EsUUFBUSxDQUFDLENBQUM7RUFDeEUsSUFBTWlCLGFBQWEsR0FBR3hDLE9BQU8sQ0FBQyxZQUFLO0lBQ2pDLElBQUksQ0FBQ2tDLGdCQUFnQixFQUFFLE9BQU8sSUFBSTtJQUNsQyxPQUFPeEIsY0FBYyxDQUFDRyxRQUFRLEVBQUVxQixnQkFBZ0IsQ0FBQ08sS0FBSyxFQUFFUCxnQkFBZ0IsQ0FBQ1EsR0FBRyxDQUFDO0VBQy9FLENBQUMsRUFBRSxDQUFDN0IsUUFBUSxFQUFFcUIsZ0JBQWdCLEtBQUEsSUFBQSxJQUFoQkEsZ0JBQWdCLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWhCQSxnQkFBZ0IsQ0FBRU8sS0FBSyxFQUFFUCxnQkFBZ0IsS0FBQSxJQUFBLElBQWhCQSxnQkFBZ0IsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBaEJBLGdCQUFnQixDQUFFUSxHQUFHLENBQUMsQ0FBQztFQUU5RCxJQUFNQyxXQUFXLEdBQUdSLGVBQWUsSUFBSUgsWUFBWSxHQUFHUSxhQUFhLEdBQUcsSUFBSTtFQUMxRSxJQUFNSSxXQUFXLEdBQUdELFdBQVcsS0FBSyxJQUFJLElBQUlBLFdBQVcsS0FBSzlCLFFBQVE7RUFFcEUsSUFBTWdDLGdCQUFnQixHQUFHN0MsT0FBTyxDQUM5QjtJQUFBLE9BQU1XLGVBQWUsQ0FBQ0MsUUFBUSxFQUFFQyxRQUFRLENBQUM7RUFBQSxHQUN6QyxDQUFDRCxRQUFRLEVBQUVDLFFBQVEsQ0FBQyxDQUNyQjtFQUVELElBQU1pQyxXQUFXLEdBQUdqRCxnQkFBZ0IsQ0FBQyxVQUFDa0QsSUFBd0IsRUFBSTtJQUNoRXRCLFdBQVcsQ0FBQ3VCLE9BQU8sR0FBR0QsSUFBSTtFQUM1QixDQUFDLENBQUM7RUFFRixJQUFNRSxjQUFjLEdBQUdwRCxnQkFBZ0IsQ0FBQyxVQUFDa0QsSUFBd0IsRUFBSTtJQUNuRXJCLGNBQWMsQ0FBQ3NCLE9BQU8sR0FBR0QsSUFBSTtFQUMvQixDQUFDLENBQUM7RUFFRjtFQUNBLElBQU1HLGVBQWUsR0FBR3JELGdCQUFnQixDQUFDLFlBQUs7SUFDNUMsSUFBTWtELElBQUksR0FBR3JCLGNBQWMsQ0FBQ3NCLE9BQU87SUFDbkMsSUFBSSxDQUFDRCxJQUFJLEVBQUU7SUFDWGQsZUFBZSxDQUFDYyxJQUFJLENBQUNJLFdBQVcsR0FBR0osSUFBSSxDQUFDSyxXQUFXLENBQUM7RUFDdEQsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsY0FBYyxHQUFHeEQsZ0JBQWdCLENBQUM7SUFBQSxPQUFNNkIsY0FBYyxDQUFDc0IsT0FBUTtFQUFBLEVBQUM7RUFFdEU5QyxpQkFBaUIsQ0FBQ2lDLGVBQWUsSUFBSSxDQUFDLENBQUNULGNBQWMsQ0FBQ3NCLE9BQU8sRUFBRUssY0FBYyxFQUFFSCxlQUFlLENBQUM7RUFFL0ZuRCxTQUFTLENBQUMsWUFBSztJQUNiLElBQUlvQyxlQUFlLEVBQUU7TUFDbkJlLGVBQWUsQ0FBQSxDQUFFO0lBQ25CLENBQUMsTUFBTTtNQUNMakIsZUFBZSxDQUFDLElBQUksQ0FBQztJQUN2QjtFQUNGLENBQUMsRUFBRSxDQUFDRSxlQUFlLEVBQUVaLFFBQVEsRUFBRTJCLGVBQWUsRUFBRWpCLGVBQWUsQ0FBQyxDQUFDO0VBRWpFLElBQU1xQixvQkFBb0IsR0FBR3RELE9BQU8sQ0FBQyxZQUFLO0lDekVwQyxJQUFJYyxFQUFFLEVBQUV5QyxFQUFFLEVBQUVDLEVBQUU7SUQwRWxCLElBQUksQ0FBQ3BCLGtCQUFrQixJQUFJLENBQUNRLFdBQVcsSUFBSSxDQUFDTCxNQUFNLEVBQUU7TUFDbEQsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFNa0IsYUFBYSxHQUFHdkIsZ0JBQWlCLENBQUNHLE9BQU87SUFDL0MsSUFBSW9CLGFBQWEsS0FBSyxJQUFJLEVBQUU7TUFDMUIsT0FBTztRQUNMQyxJQUFJLEVBQUU3QyxRQUFRO1FBQ2Q4QyxTQUFTLEVBQUV2RCxvQ0FBb0M7UUFDL0N3RCxXQUFXLEVBQUV6RDtNQ3pFVCxDRDBFTDtJQUNIO0lBRUEsT0FBQTBELE1BQUEsQ0FBQUMsTUFBQSxDQUFBRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDS0wsYUFBYSxDQUFBLEVBQUE7TUFDaEJDLElBQUksRUFBRSxDQUFBNUMsRUFBQSxHQUFDMkMsYUFBOEIsQ0FBQ0MsSUFBSSxNQUFBLElBQUEsSUFBQTVDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJRCxRQUFRO01BQ3REOEMsU0FBUyxFQUNQLENBQUFKLEVBQUEsR0FBQ0UsYUFBOEIsQ0FBQ0UsU0FBUyxNQUFBLElBQUEsSUFBQUosRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUluRCxvQ0FBb0M7TUFDbkZ3RCxXQUFXLEVBQ1QsQ0FBQUosRUFBQSxHQUFDQyxhQUE4QixDQUFDRyxXQUFXLE1BQUEsSUFBQSxJQUFBSixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSXJEO0lBQXNDLENBQUEsQ0FBQTtFQUUzRixDQUFDLEVBQUUsQ0FBQ1UsUUFBUSxFQUFFK0IsV0FBVyxFQUFFUixrQkFBa0IsRUFBRUYsZ0JBQWdCLEtBQUEsSUFBQSxJQUFoQkEsZ0JBQWdCLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWhCQSxnQkFBZ0IsQ0FBRUcsT0FBTyxFQUFFRSxNQUFNLENBQUMsQ0FBQztFQUVsRixPQUFPO0lBQ0xmLFFBQVEsRUFBRVUsZ0JBQWdCO0lBQzFCckIsUUFBUSxFQUFSQSxRQUFRO0lBQ1I4QixXQUFXLEVBQVhBLFdBQVc7SUFDWG9CLFFBQVEsRUFBRSxDQUFBakQsRUFBQSxHQUFBK0IsZ0JBQWdCLEtBQUEsSUFBQSxJQUFoQkEsZ0JBQWdCLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWhCQSxnQkFBZ0IsQ0FBRTlCLElBQUksTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLElBQUk7SUFDeENFLE1BQU0sRUFBRTZCLGdCQUFnQixLQUFBLElBQUEsSUFBaEJBLGdCQUFnQixLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFoQkEsZ0JBQWdCLENBQUU3QixNQUFNO0lBQ2hDdUIsTUFBTSxFQUFOQSxNQUFNO0lBQ05lLG9CQUFvQixFQUFwQkEsb0JBQW9CO0lBQ3BCaEIsaUJBQWlCLEVBQWpCQSxpQkFBaUI7SUFDakIwQixVQUFVLEVBQUVuQixnQkFBZ0IsR0FBR3ZDLHdCQUF3QixDQUFDZ0MsaUJBQWlCLENBQUMsR0FBR1YsU0FBUztJQUN0RmtCLFdBQVcsRUFBWEEsV0FBVztJQUNYRyxjQUFjLEVBQWRBO0VDbEZBLENEbUZEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3VzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2ssIHVzZVNhZmVTdGF0ZSB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uL1Jlc2l6ZU9ic2VydmVyJztcbmltcG9ydCB7IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTLCBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0VGV4dENvbnRlbnQsIGdldEVuaGFuY2VtZW50V3JhcHBlclRhZywgZ2V0U3RhYmxlSWQsIGlzSW5saW5lVHlwb2dyYXBoeVRhZywgbm9ybWFsaXplRWxsaXBzaXMsIHRydW5jYXRlTWlkZGxlLCB9IGZyb20gJy4vdXRpbHMnO1xuZnVuY3Rpb24gcmVzb2x2ZUNvcHlhYmxlKGNvcHlhYmxlLCBmdWxsVGV4dCkge1xuICAgIHZhciBfYTtcbiAgICBpZiAoIWNvcHlhYmxlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29weWFibGUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogZnVsbFRleHQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogKF9hID0gY29weWFibGUudGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZnVsbFRleHQsXG4gICAgICAgIG9uQ29weTogY29weWFibGUub25Db3B5LFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cyhvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY29tcG9uZW50VGFnLCBkZWZhdWx0TGF5b3V0TW9kZSwgcHJlZml4Q2xzLCBpZCwgY2hpbGRyZW4sIGVsbGlwc2lzLCBjb3B5YWJsZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB0ZXh0Tm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBtZWFzdXJlTm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBnZW5lcmF0ZWRUZXh0SWRSZWYgPSB1c2VSZWYodW5kZWZpbmVkKTtcbiAgICAvLyBEZWZhdWx0IHRvIHRydWUgc28gdHJ1bmNhdGVkIHRleHQgaXMgc2hvd24gaW1tZWRpYXRlbHkgKG5vIGZsYXNoKVxuICAgIGNvbnN0IFtpc092ZXJmbG93ZWQsIHNldElzT3ZlcmZsb3dlZF0gPSB1c2VTYWZlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgcmVzb2x2ZWRFbGxpcHNpcyA9IG5vcm1hbGl6ZUVsbGlwc2lzKGVsbGlwc2lzKTtcbiAgICBjb25zdCBlbGxpcHNpc0VuYWJsZWQgPSByZXNvbHZlZEVsbGlwc2lzICE9PSBudWxsO1xuICAgIGNvbnN0IGVsbGlwc2lzSGFzVG9vbHRpcCA9ICEhKHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwKTtcbiAgICBjb25zdCBpc0lubGluZUNvbXBvbmVudCA9IGlzSW5saW5lVHlwb2dyYXBoeVRhZyhjb21wb25lbnRUYWcsIGRlZmF1bHRMYXlvdXRNb2RlKTtcbiAgICBjb25zdCB0ZXh0SWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiAoZWxsaXBzaXNIYXNUb29sdGlwXG4gICAgICAgID8gZ2V0U3RhYmxlSWQoZ2VuZXJhdGVkVGV4dElkUmVmLCBwcmVmaXhDbHMsICdlbGxpcHNpcycpXG4gICAgICAgIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBmdWxsVGV4dCA9IHVzZU1lbW8oKCkgPT4gZXh0cmFjdFRleHRDb250ZW50KGNoaWxkcmVuKSwgW2NoaWxkcmVuXSk7XG4gICAgY29uc3QgdHJ1bmNhdGVkVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIXJlc29sdmVkRWxsaXBzaXMpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRydW5jYXRlTWlkZGxlKGZ1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzLnN0YXJ0LCByZXNvbHZlZEVsbGlwc2lzLmVuZCk7XG4gICAgfSwgW2Z1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzID09PSBudWxsIHx8IHJlc29sdmVkRWxsaXBzaXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc29sdmVkRWxsaXBzaXMuc3RhcnQsIHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy5lbmRdKTtcbiAgICBjb25zdCBkaXNwbGF5VGV4dCA9IGVsbGlwc2lzRW5hYmxlZCAmJiBpc092ZXJmbG93ZWQgPyB0cnVuY2F0ZWRUZXh0IDogbnVsbDtcbiAgICBjb25zdCBpc1RydW5jYXRlZCA9IGRpc3BsYXlUZXh0ICE9PSBudWxsICYmIGRpc3BsYXlUZXh0ICE9PSBmdWxsVGV4dDtcbiAgICBjb25zdCByZXNvbHZlZENvcHlhYmxlID0gdXNlTWVtbygoKSA9PiByZXNvbHZlQ29weWFibGUoY29weWFibGUsIGZ1bGxUZXh0KSwgW2NvcHlhYmxlLCBmdWxsVGV4dF0pO1xuICAgIGNvbnN0IHNldFRleHROb2RlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0ZXh0Tm9kZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRNZWFzdXJlTm9kZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgbWVhc3VyZU5vZGVSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgLy8gTWVhc3VyZSBvdmVyZmxvdyBvbiB0aGUgaGlkZGVuIHNwYW4gKGFsd2F5cyBjb250YWlucyBmdWxsIHRleHQpXG4gICAgY29uc3QgbWVhc3VyZU92ZXJmbG93ID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBtZWFzdXJlTm9kZVJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIW5vZGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHNldElzT3ZlcmZsb3dlZChub2RlLnNjcm9sbFdpZHRoID4gbm9kZS5jbGllbnRXaWR0aCk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0TWVhc3VyZU5vZGUgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IG1lYXN1cmVOb2RlUmVmLmN1cnJlbnQpO1xuICAgIHVzZVJlc2l6ZU9ic2VydmVyKGVsbGlwc2lzRW5hYmxlZCAmJiAhIW1lYXN1cmVOb2RlUmVmLmN1cnJlbnQsIGdldE1lYXN1cmVOb2RlLCBtZWFzdXJlT3ZlcmZsb3cpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChlbGxpcHNpc0VuYWJsZWQpIHtcbiAgICAgICAgICAgIG1lYXN1cmVPdmVyZmxvdygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0SXNPdmVyZmxvd2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgfSwgW2VsbGlwc2lzRW5hYmxlZCwgY2hpbGRyZW4sIG1lYXN1cmVPdmVyZmxvdywgc2V0SXNPdmVyZmxvd2VkXSk7XG4gICAgY29uc3QgZWxsaXBzaXNUb29sdGlwUHJvcHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgICAgIGlmICghZWxsaXBzaXNIYXNUb29sdGlwIHx8ICFpc1RydW5jYXRlZCB8fCAhdGV4dElkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0b29sdGlwQ29uZmlnID0gcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwO1xuICAgICAgICBpZiAodG9vbHRpcENvbmZpZyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBib2R5OiBmdWxsVGV4dCxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX1BMQUNFTUVOVCxcbiAgICAgICAgICAgICAgICBtaWRkbGV3YXJlczogREVGQVVMVF9UWVBPR1JBUEhZX1RPT0xUSVBfTUlERExFV0FSRVMsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRvb2x0aXBDb25maWcpLCB7IGJvZHk6IChfYSA9IHRvb2x0aXBDb25maWcuYm9keSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZnVsbFRleHQsIHBsYWNlbWVudDogKF9iID0gdG9vbHRpcENvbmZpZy5wbGFjZW1lbnQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX1BMQUNFTUVOVCwgbWlkZGxld2FyZXM6IChfYyA9IHRvb2x0aXBDb25maWcubWlkZGxld2FyZXMpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTIH0pO1xuICAgIH0sIFtmdWxsVGV4dCwgaXNUcnVuY2F0ZWQsIGVsbGlwc2lzSGFzVG9vbHRpcCwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gbnVsbCB8fCByZXNvbHZlZEVsbGlwc2lzID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXNvbHZlZEVsbGlwc2lzLnRvb2x0aXAsIHRleHRJZF0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGVsbGlwc2lzOiByZXNvbHZlZEVsbGlwc2lzLFxuICAgICAgICBmdWxsVGV4dCxcbiAgICAgICAgZGlzcGxheVRleHQsXG4gICAgICAgIGNvcHlUZXh0OiAoX2EgPSByZXNvbHZlZENvcHlhYmxlID09PSBudWxsIHx8IHJlc29sdmVkQ29weWFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc29sdmVkQ29weWFibGUudGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbCxcbiAgICAgICAgb25Db3B5OiByZXNvbHZlZENvcHlhYmxlID09PSBudWxsIHx8IHJlc29sdmVkQ29weWFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc29sdmVkQ29weWFibGUub25Db3B5LFxuICAgICAgICB0ZXh0SWQsXG4gICAgICAgIGVsbGlwc2lzVG9vbHRpcFByb3BzLFxuICAgICAgICBpc0lubGluZUNvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlclRhZzogcmVzb2x2ZWRDb3B5YWJsZSA/IGdldEVuaGFuY2VtZW50V3JhcHBlclRhZyhpc0lubGluZUNvbXBvbmVudCkgOiB1bmRlZmluZWQsXG4gICAgICAgIHNldFRleHROb2RlLFxuICAgICAgICBzZXRNZWFzdXJlTm9kZSxcbiAgICB9O1xufSJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvVHlwb2dyYXBoeS91c2VUeXBvZ3JhcGh5RW5oYW5jZW1lbnRzLnRzIiwiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3VzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMuanMiXSwibmFtZXMiOlsidXNlRXZlbnRDYWxsYmFjayIsInVzZVNhZmVTdGF0ZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VSZXNpemVPYnNlcnZlciIsIkRFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTIiwiREVGQVVMVF9UWVBPR1JBUEhZX1RPT0xUSVBfUExBQ0VNRU5UIiwiZXh0cmFjdFRleHRDb250ZW50IiwiZ2V0RW5oYW5jZW1lbnRXcmFwcGVyVGFnIiwiZ2V0U3RhYmxlSWQiLCJpc0lubGluZVR5cG9ncmFwaHlUYWciLCJub3JtYWxpemVFbGxpcHNpcyIsInRydW5jYXRlTWlkZGxlIiwicmVzb2x2ZUNvcHlhYmxlIiwiY29weWFibGUiLCJmdWxsVGV4dCIsIl9hIiwidGV4dCIsIm9uQ29weSIsInVzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMiLCJvcHRpb25zIiwiY29tcG9uZW50VGFnIiwiZGVmYXVsdExheW91dE1vZGUiLCJwcmVmaXhDbHMiLCJpZCIsImNoaWxkcmVuIiwiZWxsaXBzaXMiLCJ0ZXh0Tm9kZVJlZiIsIm1lYXN1cmVOb2RlUmVmIiwiZ2VuZXJhdGVkVGV4dElkUmVmIiwidW5kZWZpbmVkIiwiX3VzZVNhZmVTdGF0ZSIsIl91c2VTYWZlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc092ZXJmbG93ZWQiLCJzZXRJc092ZXJmbG93ZWQiLCJyZXNvbHZlZEVsbGlwc2lzIiwiZWxsaXBzaXNFbmFibGVkIiwiZWxsaXBzaXNIYXNUb29sdGlwIiwidG9vbHRpcCIsImlzSW5saW5lQ29tcG9uZW50IiwidGV4dElkIiwidHJ1bmNhdGVkVGV4dCIsInN0YXJ0IiwiZW5kIiwiZGlzcGxheVRleHQiLCJpc1RydW5jYXRlZCIsInJlc29sdmVkQ29weWFibGUiLCJzZXRUZXh0Tm9kZSIsIm5vZGUiLCJjdXJyZW50Iiwic2V0TWVhc3VyZU5vZGUiLCJtZWFzdXJlT3ZlcmZsb3ciLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwiZ2V0TWVhc3VyZU5vZGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJlbGxpcHNpc1Rvb2x0aXBQcm9wcyIsIl9iIiwiX2MiLCJ0b29sdGlwQ29uZmlnIiwiYm9keSIsInBsYWNlbWVudCIsIm1pZGRsZXdhcmVzIiwiT2JqZWN0IiwiYXNzaWduIiwiY29weVRleHQiLCJ3cmFwcGVyVGFnIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsZ0JBQWdCLEVBQUVDLFlBQVksUUFBUSxlQUFlO0FBQzlELFNBQVNDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNsRCxTQUFTQyxpQkFBaUIsUUFBUSxtQkFBbUI7QUFLckQsU0FBU0Msc0NBQXNDLEVBQUVDLG9DQUFvQyxRQUFRLGFBQWE7QUFFMUcsU0FDRUMsa0JBQWtCLEVBQ2xCQyx3QkFBd0IsRUFDeEJDLFdBQVcsRUFDWEMscUJBQXFCLEVBQ3JCQyxpQkFBaUIsRUFDakJDLGNBQWMsUUFDVCxTQUFTO0FBK0NoQixTQUFTQyxlQUFlQSxDQUN0QkMsUUFBd0QsRUFDeERDLFFBQWdCLEVBQUE7RUMzRGQsSUFBSUMsRUFBRTtFRDZEUixJQUFJLENBQUNGLFFBQVEsRUFBRSxPQUFPLElBQUk7RUFFMUIsSUFBSUEsUUFBUSxLQUFLLElBQUksRUFBRTtJQUNyQixPQUFPO01BQUVHLElBQUksRUFBRUY7SUFBUSxDQUFFO0VBQzNCO0VBRUEsT0FBTztJQUNMRSxJQUFJLEVBQUUsQ0FBQUQsRUFBQSxHQUFBRixRQUFRLENBQUNHLElBQUksTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJRCxRQUFRO0lBQy9CRyxNQUFNLEVBQUVKLFFBQVEsQ0FBQ0k7RUM1RGpC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QkFBZ0I7SUFDMUJyQixRQUFRLEVBQVJBLFFBQVE7SUFDUjhCLFdBQVcsRUFBWEEsV0FBVztJQUNYc0IsUUFBUSxFQUFFLENBQUFuRCxFQUFBLEdBQUErQixnQkFBZ0IsS0FBQSxJQUFBLElBQWhCQSxnQkFBZ0IsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBaEJBLGdCQUFnQixDQUFFOUIsSUFBSSxNQUFBLElBQUEsSUFBQUQsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksSUFBSTtJQUN4Q0UsTUFBTSxFQUFFNkIsZ0JBQWdCLEtBQUEsSUFBQSxJQUFoQkEsZ0JBQWdCLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWhCQSxnQkFBZ0IsQ0FBRTdCLE1BQU07SUFDaEN1QixNQUFNLEVBQU5BLE1BQU07SUFDTmlCLG9CQUFvQixFQUFwQkEsb0JBQW9CO0lBQ3BCbEIsaUJBQWlCLEVBQWpCQSxpQkFBaUI7SUFDakI0QixVQUFVLEVBQUVyQixnQkFBZ0IsR0FBR3ZDLHdCQUF3QixDQUFDZ0MsaUJBQWlCLENBQUMsR0FBR1YsU0FBUztJQUN0RmtCLFdBQVcsRUFBWEEsV0FBVztJQUNYRyxjQUFjLEVBQWRBO0VDbEZBLENEbUZEO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9UeXBvZ3JhcGh5L3VzZVR5cG9ncmFwaHlFbmhhbmNlbWVudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2ssIHVzZVNhZmVTdGF0ZSB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VSZXNpemVPYnNlcnZlciB9IGZyb20gJy4uL1Jlc2l6ZU9ic2VydmVyJztcbmltcG9ydCB7IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTLCBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0VGV4dENvbnRlbnQsIGdldEVuaGFuY2VtZW50V3JhcHBlclRhZywgZ2V0U3RhYmxlSWQsIGlzSW5saW5lVHlwb2dyYXBoeVRhZywgbm9ybWFsaXplRWxsaXBzaXMsIHRydW5jYXRlTWlkZGxlLCB9IGZyb20gJy4vdXRpbHMnO1xuZnVuY3Rpb24gcmVzb2x2ZUNvcHlhYmxlKGNvcHlhYmxlLCBmdWxsVGV4dCkge1xuICAgIHZhciBfYTtcbiAgICBpZiAoIWNvcHlhYmxlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29weWFibGUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIHsgdGV4dDogZnVsbFRleHQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGV4dDogKF9hID0gY29weWFibGUudGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZnVsbFRleHQsXG4gICAgICAgIG9uQ29weTogY29weWFibGUub25Db3B5LFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlVHlwb2dyYXBoeUVuaGFuY2VtZW50cyhvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY29tcG9uZW50VGFnLCBkZWZhdWx0TGF5b3V0TW9kZSwgcHJlZml4Q2xzLCBpZCwgY2hpbGRyZW4sIGVsbGlwc2lzLCBjb3B5YWJsZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB0ZXh0Tm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBtZWFzdXJlTm9kZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBnZW5lcmF0ZWRUZXh0SWRSZWYgPSB1c2VSZWYodW5kZWZpbmVkKTtcbiAgICAvLyBEZWZhdWx0IHRvIHRydWUgc28gdHJ1bmNhdGVkIHRleHQgaXMgc2hvd24gaW1tZWRpYXRlbHkgKG5vIGZsYXNoKVxuICAgIGNvbnN0IFtpc092ZXJmbG93ZWQsIHNldElzT3ZlcmZsb3dlZF0gPSB1c2VTYWZlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgcmVzb2x2ZWRFbGxpcHNpcyA9IG5vcm1hbGl6ZUVsbGlwc2lzKGVsbGlwc2lzKTtcbiAgICBjb25zdCBlbGxpcHNpc0VuYWJsZWQgPSByZXNvbHZlZEVsbGlwc2lzICE9PSBudWxsO1xuICAgIGNvbnN0IGVsbGlwc2lzSGFzVG9vbHRpcCA9ICEhKHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwKTtcbiAgICBjb25zdCBpc0lubGluZUNvbXBvbmVudCA9IGlzSW5saW5lVHlwb2dyYXBoeVRhZyhjb21wb25lbnRUYWcsIGRlZmF1bHRMYXlvdXRNb2RlKTtcbiAgICBjb25zdCB0ZXh0SWQgPSBpZCAhPT0gbnVsbCAmJiBpZCAhPT0gdm9pZCAwID8gaWQgOiAoZWxsaXBzaXNIYXNUb29sdGlwXG4gICAgICAgID8gZ2V0U3RhYmxlSWQoZ2VuZXJhdGVkVGV4dElkUmVmLCBwcmVmaXhDbHMsICdlbGxpcHNpcycpXG4gICAgICAgIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBmdWxsVGV4dCA9IHVzZU1lbW8oKCkgPT4gZXh0cmFjdFRleHRDb250ZW50KGNoaWxkcmVuKSwgW2NoaWxkcmVuXSk7XG4gICAgY29uc3QgdHJ1bmNhdGVkVGV4dCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBpZiAoIXJlc29sdmVkRWxsaXBzaXMpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRydW5jYXRlTWlkZGxlKGZ1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzLnN0YXJ0LCByZXNvbHZlZEVsbGlwc2lzLmVuZCk7XG4gICAgfSwgW2Z1bGxUZXh0LCByZXNvbHZlZEVsbGlwc2lzID09PSBudWxsIHx8IHJlc29sdmVkRWxsaXBzaXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc29sdmVkRWxsaXBzaXMuc3RhcnQsIHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy5lbmRdKTtcbiAgICBjb25zdCBkaXNwbGF5VGV4dCA9IGVsbGlwc2lzRW5hYmxlZCAmJiBpc092ZXJmbG93ZWQgPyB0cnVuY2F0ZWRUZXh0IDogbnVsbDtcbiAgICBjb25zdCBpc1RydW5jYXRlZCA9IGRpc3BsYXlUZXh0ICE9PSBudWxsICYmIGRpc3BsYXlUZXh0ICE9PSBmdWxsVGV4dDtcbiAgICBjb25zdCByZXNvbHZlZENvcHlhYmxlID0gdXNlTWVtbygoKSA9PiByZXNvbHZlQ29weWFibGUoY29weWFibGUsIGZ1bGxUZXh0KSwgW2NvcHlhYmxlLCBmdWxsVGV4dF0pO1xuICAgIGNvbnN0IHNldFRleHROb2RlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0ZXh0Tm9kZVJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRNZWFzdXJlTm9kZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgbWVhc3VyZU5vZGVSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgLy8gTWVhc3VyZSBvdmVyZmxvdyBvbiB0aGUgaGlkZGVuIHNwYW4gKGFsd2F5cyBjb250YWlucyBmdWxsIHRleHQpXG4gICAgY29uc3QgbWVhc3VyZU92ZXJmbG93ID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBtZWFzdXJlTm9kZVJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIW5vZGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIHNldElzT3ZlcmZsb3dlZChub2RlLnNjcm9sbFdpZHRoID4gbm9kZS5jbGllbnRXaWR0aCk7XG4gICAgfSk7XG4gICAgY29uc3QgZ2V0TWVhc3VyZU5vZGUgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gbWVhc3VyZU5vZGVSZWYuY3VycmVudCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOyB9KTtcbiAgICB1c2VSZXNpemVPYnNlcnZlcihlbGxpcHNpc0VuYWJsZWQgJiYgISFtZWFzdXJlTm9kZVJlZi5jdXJyZW50LCBnZXRNZWFzdXJlTm9kZSwgbWVhc3VyZU92ZXJmbG93KTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoZWxsaXBzaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBtZWFzdXJlT3ZlcmZsb3coKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNldElzT3ZlcmZsb3dlZCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH0sIFtlbGxpcHNpc0VuYWJsZWQsIGNoaWxkcmVuLCBtZWFzdXJlT3ZlcmZsb3csIHNldElzT3ZlcmZsb3dlZF0pO1xuICAgIGNvbnN0IGVsbGlwc2lzVG9vbHRpcFByb3BzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBpZiAoIWVsbGlwc2lzSGFzVG9vbHRpcCB8fCAhaXNUcnVuY2F0ZWQgfHwgIXRleHRJZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9vbHRpcENvbmZpZyA9IHJlc29sdmVkRWxsaXBzaXMudG9vbHRpcDtcbiAgICAgICAgaWYgKHRvb2x0aXBDb25maWcgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgYm9keTogZnVsbFRleHQsXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQsXG4gICAgICAgICAgICAgICAgbWlkZGxld2FyZXM6IERFRkFVTFRfVFlQT0dSQVBIWV9UT09MVElQX01JRERMRVdBUkVTLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0b29sdGlwQ29uZmlnKSwgeyBib2R5OiAoX2EgPSB0b29sdGlwQ29uZmlnLmJvZHkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGZ1bGxUZXh0LCBwbGFjZW1lbnQ6IChfYiA9IHRvb2x0aXBDb25maWcucGxhY2VtZW50KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9QTEFDRU1FTlQsIG1pZGRsZXdhcmVzOiAoX2MgPSB0b29sdGlwQ29uZmlnLm1pZGRsZXdhcmVzKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBERUZBVUxUX1RZUE9HUkFQSFlfVE9PTFRJUF9NSURETEVXQVJFUyB9KTtcbiAgICB9LCBbZnVsbFRleHQsIGlzVHJ1bmNhdGVkLCBlbGxpcHNpc0hhc1Rvb2x0aXAsIHJlc29sdmVkRWxsaXBzaXMgPT09IG51bGwgfHwgcmVzb2x2ZWRFbGxpcHNpcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVzb2x2ZWRFbGxpcHNpcy50b29sdGlwLCB0ZXh0SWRdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBlbGxpcHNpczogcmVzb2x2ZWRFbGxpcHNpcyxcbiAgICAgICAgZnVsbFRleHQsXG4gICAgICAgIGRpc3BsYXlUZXh0LFxuICAgICAgICBjb3B5VGV4dDogKF9hID0gcmVzb2x2ZWRDb3B5YWJsZSA9PT0gbnVsbCB8fCByZXNvbHZlZENvcHlhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXNvbHZlZENvcHlhYmxlLnRleHQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IG51bGwsXG4gICAgICAgIG9uQ29weTogcmVzb2x2ZWRDb3B5YWJsZSA9PT0gbnVsbCB8fCByZXNvbHZlZENvcHlhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZXNvbHZlZENvcHlhYmxlLm9uQ29weSxcbiAgICAgICAgdGV4dElkLFxuICAgICAgICBlbGxpcHNpc1Rvb2x0aXBQcm9wcyxcbiAgICAgICAgaXNJbmxpbmVDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJUYWc6IHJlc29sdmVkQ29weWFibGUgPyBnZXRFbmhhbmNlbWVudFdyYXBwZXJUYWcoaXNJbmxpbmVDb21wb25lbnQpIDogdW5kZWZpbmVkLFxuICAgICAgICBzZXRUZXh0Tm9kZSxcbiAgICAgICAgc2V0TWVhc3VyZU5vZGUsXG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|