nsc-react-component 2.1.2 → 2.1.5
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
export default class NscConfigProvider extends React.PureComponent<any, any> {
|
|
3
|
-
static config:
|
|
3
|
+
static config: any;
|
|
4
4
|
render(): React.ReactNode;
|
|
5
5
|
}
|
|
@@ -51,4 +51,4 @@ var NscConfigProvider = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
51
51
|
_defineProperty(NscConfigProvider, "config", _ConfigProvider.config);
|
|
52
52
|
|
|
53
53
|
export { NscConfigProvider as default };
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvY29uZmlnUHJvdmlkZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiTnNjQ29uZmlnUHJvdmlkZXIiLCJwcm9wcyIsIlB1cmVDb21wb25lbnQiLCJjb25maWciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2Qjs7SUFHcUJDLGlCOzs7Ozs7Ozs7Ozs7O1dBRW5CLGtCQUEwQjtBQUN4QiwwQkFBTyxxQ0FBb0IsS0FBS0MsS0FBekIsQ0FBUDtBQUNEOzs7O0VBSjRDRixLQUFLLENBQUNHLGE7O2dCQUFoQ0YsaUIsWUFDQyxnQkFBZUcsTTs7U0FEaEJILGlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IENvbmZpZ1Byb3ZpZGVyIH0gZnJvbSBcImFudGRcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY0NvbmZpZ1Byb3ZpZGVyIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxhbnksIGFueT4ge1xyXG4gIHN0YXRpYyBjb25maWc6YW55ID0gQ29uZmlnUHJvdmlkZXIuY29uZmlnO1xyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgcmV0dXJuIDxDb25maWdQcm92aWRlciB7Li4udGhpcy5wcm9wc30gLz47XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -61,7 +61,7 @@ import EditorForm from "./Form";
|
|
|
61
61
|
import cls from "classnames";
|
|
62
62
|
import styles from "./index.module.less";
|
|
63
63
|
import { DownOutlined, UpOutlined } from "@ant-design/icons";
|
|
64
|
-
import { getNode } from "../../utils";
|
|
64
|
+
import { getLess, getNode } from "../../utils";
|
|
65
65
|
import request from "nsc-request";
|
|
66
66
|
|
|
67
67
|
var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
@@ -327,9 +327,9 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
327
327
|
_onClick = _item$props.onClick,
|
|
328
328
|
params = _objectWithoutProperties(_item$props, _excluded);
|
|
329
329
|
|
|
330
|
-
if (index >
|
|
330
|
+
if (index > 1) {
|
|
331
331
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
332
|
-
className: cls(styles
|
|
332
|
+
className: cls(getLess(styles, "editor"), getLess(styles, "content-item")),
|
|
333
333
|
key: index,
|
|
334
334
|
onClick: function onClick() {
|
|
335
335
|
_onClick && _onClick(record);
|
|
@@ -345,7 +345,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
345
345
|
Icon = _item$props2.Icon,
|
|
346
346
|
params = _objectWithoutProperties(_item$props2, _excluded2);
|
|
347
347
|
|
|
348
|
-
if (index ==
|
|
348
|
+
if (index == 2) {
|
|
349
349
|
return /*#__PURE__*/React.createElement(Popover, {
|
|
350
350
|
placement: "bottom",
|
|
351
351
|
title: null,
|
|
@@ -354,13 +354,13 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
354
354
|
key: index // overlayClassName={styles['pop']}
|
|
355
355
|
|
|
356
356
|
}, /*#__PURE__*/React.createElement("div", {
|
|
357
|
-
className: styles
|
|
357
|
+
className: getLess(styles, "editor")
|
|
358
358
|
}, "\u66F4\u591A", /*#__PURE__*/React.createElement("span", {
|
|
359
|
-
className: styles
|
|
359
|
+
className: getLess(styles, "icon")
|
|
360
360
|
}, /*#__PURE__*/React.createElement(DownOutlined, null))));
|
|
361
|
-
} else if (index <
|
|
361
|
+
} else if (index < 2) {
|
|
362
362
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
363
|
-
className: styles
|
|
363
|
+
className: getLess(styles, "editor"),
|
|
364
364
|
key: index,
|
|
365
365
|
onClick: function onClick() {
|
|
366
366
|
_onClick2 && _onClick2(record);
|
|
@@ -510,6 +510,19 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
510
510
|
|
|
511
511
|
delete temp.type;
|
|
512
512
|
delete temp.props;
|
|
513
|
+
|
|
514
|
+
if (temp.style) {
|
|
515
|
+
temp = _objectSpread(_objectSpread({}, temp), {}, {
|
|
516
|
+
render: function render(text) {
|
|
517
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
518
|
+
className: getLess(styles, "col-back")
|
|
519
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
520
|
+
className: getLess(styles, "col-text")
|
|
521
|
+
}, text));
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
|
|
513
526
|
tableColumn.push(temp);
|
|
514
527
|
});
|
|
515
528
|
var selfButtons = [];
|
|
@@ -518,7 +531,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
518
531
|
if (actionButton && editorForm == true) {
|
|
519
532
|
if (buttons.indexOf("search") > -1) {
|
|
520
533
|
columnButtons.push( /*#__PURE__*/React.createElement("div", {
|
|
521
|
-
className: styles
|
|
534
|
+
className: getLess(styles, "editor"),
|
|
522
535
|
onClick: function onClick(record) {
|
|
523
536
|
_this2.showForm(record, false);
|
|
524
537
|
}
|
|
@@ -527,7 +540,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
527
540
|
|
|
528
541
|
if (buttons.indexOf("editor") > -1) {
|
|
529
542
|
columnButtons.push( /*#__PURE__*/React.createElement("div", {
|
|
530
|
-
className: styles
|
|
543
|
+
className: getLess(styles, "editor"),
|
|
531
544
|
onClick: function onClick(record) {
|
|
532
545
|
_this2.showForm(record, true);
|
|
533
546
|
}
|
|
@@ -560,17 +573,18 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
560
573
|
width: 150,
|
|
561
574
|
render: function render(text, record) {
|
|
562
575
|
return /*#__PURE__*/React.createElement("div", {
|
|
563
|
-
className: styles
|
|
576
|
+
className: getLess(styles, "action")
|
|
564
577
|
}, _this2.renderCloumnButton(columnButtons, record, actionButton));
|
|
565
578
|
}
|
|
566
579
|
});
|
|
580
|
+
var headerCount = showLeft ? 2 : 3;
|
|
567
581
|
return /*#__PURE__*/React.createElement("div", {
|
|
568
|
-
className: styles
|
|
582
|
+
className: getLess(styles, "page"),
|
|
569
583
|
style: {
|
|
570
584
|
display: "flex"
|
|
571
585
|
}
|
|
572
586
|
}, showLeft && /*#__PURE__*/React.createElement("div", {
|
|
573
|
-
className: styles
|
|
587
|
+
className: getLess(styles, "left")
|
|
574
588
|
}, /*#__PURE__*/React.createElement(Tree, {
|
|
575
589
|
store: _objectSpread({}, treeStore),
|
|
576
590
|
showIcon: false,
|
|
@@ -580,16 +594,18 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
580
594
|
selectedKeys: [this.state.treeSelectedKey],
|
|
581
595
|
titleAlias: titleAlias
|
|
582
596
|
})), /*#__PURE__*/React.createElement("div", {
|
|
583
|
-
className: styles
|
|
597
|
+
className: getLess(styles, "right")
|
|
584
598
|
}, showSearch && /*#__PURE__*/React.createElement("div", {
|
|
585
|
-
className: styles
|
|
599
|
+
className: getLess(styles, "header")
|
|
600
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
601
|
+
className: cls(_defineProperty({}, getLess(styles, "form"), !showLeft))
|
|
586
602
|
}, /*#__PURE__*/React.createElement(Form, {
|
|
587
603
|
ref: this.searchRef,
|
|
588
604
|
labelCol: {},
|
|
589
605
|
wrapperCol: {},
|
|
590
606
|
layout: "inline"
|
|
591
607
|
}, searchForms.map(function (item, index) {
|
|
592
|
-
if (index >
|
|
608
|
+
if (index > headerCount && !_this2.state.expand) {
|
|
593
609
|
return;
|
|
594
610
|
}
|
|
595
611
|
|
|
@@ -601,8 +617,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
601
617
|
}, getNode(item.type, _objectSpread(_objectSpread({}, item.props), {}, {
|
|
602
618
|
placeholder: "\u8BF7\u8F93\u5165".concat(item.label)
|
|
603
619
|
})));
|
|
604
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
605
|
-
className: styles
|
|
620
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
621
|
+
className: getLess(styles, "buttons"),
|
|
606
622
|
style: {
|
|
607
623
|
marginTop: 0
|
|
608
624
|
}
|
|
@@ -628,7 +644,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
628
644
|
});
|
|
629
645
|
}
|
|
630
646
|
}, this.state.expand ? "收起" : "展开", this.state.expand ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null)))), showToolButton && /*#__PURE__*/React.createElement("div", {
|
|
631
|
-
className: styles
|
|
647
|
+
className: getLess(styles, "buttons"),
|
|
632
648
|
style: {
|
|
633
649
|
marginLeft: 0
|
|
634
650
|
}
|
|
@@ -650,7 +666,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
650
666
|
key: index
|
|
651
667
|
}, item);
|
|
652
668
|
})), /*#__PURE__*/React.createElement("div", {
|
|
653
|
-
className: styles
|
|
669
|
+
className: getLess(styles, "table")
|
|
654
670
|
}, /*#__PURE__*/React.createElement(Table, _extends({
|
|
655
671
|
ref: this.tableRef,
|
|
656
672
|
columns: tableColumn
|
|
@@ -670,4 +686,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
|
|
|
670
686
|
}(PureComponent);
|
|
671
687
|
|
|
672
688
|
export default BasePage;
|
|
673
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJnZXROb2RlIiwicmVxdWVzdCIsIkJhc2VQYWdlIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJjaGVja2VkVHJlZUtleXMiLCJzdGF0ZSIsIm5hbWUiLCJ1c2VyVHlwZSIsImFjY291bnQiLCJ2YWx1ZSIsImRlcHRJZCIsInRhYmxlTG9hZCIsInR5cGUiLCJzZWxlY3RlZFJvd0tleXMiLCJzZWxlY3RlZFJvd0RhdGFzIiwidHJlZVNlbGVjdGVkS2V5IiwiZXhwYW5kIiwiaW5pdERhdGEiLCJmbGFnIiwiZWRpdG9yUmVmIiwiY3VycmVudCIsInNob3ciLCJoaWRlIiwiZGVsZXRlVXJsIiwib25EZWxldGUiLCJkZWxldGVQYXJhbXMiLCJsZW5ndGgiLCJ3YXJuaW5nIiwiRXJyb3IiLCJjb25maXJtIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImRlZmF1bHRQYXJhbXMiLCJtZXRob2QiLCJwYXJhbXMiLCJpZHMiLCJqb2luIiwicmVxdWVzdFBhcmFtcyIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidGFibGVSZWYiLCJzdG9yZSIsImxvYWQiLCJvblNlYXJjaCIsImZyb21WYWx1ZSIsInNlYXJjaFJlZiIsImdldEZpZWxkc1ZhbHVlIiwicmVsb2FkIiwicmVjb3JkIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RlZFJvd0tleXMiLCJuZXdTZWxlY3RlZFJvd0RhdGFzIiwiaWQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzcGxpY2UiLCJzZXRTdGF0ZSIsInNlbGVjdGVkUm93cyIsImNoYW5nZVJvd3MiLCJuZXdpZHMiLCJuZXdkYXRhcyIsImNoYW5nZUlkcyIsImluZGV4T2YiLCJwdXNoIiwiY29sdW1uQnV0dG9ucyIsImFjdGlvbkJ1dHRvbiIsImVkaXRvckZvcm0iLCJidXR0b25zIiwiY29udGVudCIsImNoaWxkcmVuIiwicGFnZVR5cGUiLCJvbkNsaWNrIiwic2VsZWN0ZWRLZXlzIiwic2VsZWN0ZWROb2RlcyIsImtleXdvcmQiLCJ0cmVlUHJvcHMiLCJzZWFyY2hLZXkiLCJzZWFyY2hGaWVsZCIsImlzTGVhZiIsImRhdGFyZWYiLCJhdHRyaWJ1dGUiLCJyZXNldEZpZWxkcyIsImNvbHVtbnMiLCJzaG93U2VhcmNoIiwic3VibWl0VXJsIiwidGFibGVQcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJmaWx0ZXJDb2x1bW4iLCJhY3Rpb25Db2x1bW4iLCJzaG93Um93U2VsZWN0aW9uIiwidHJlZVN0b3JlIiwidHJlZVNlYXJjaCIsInRpdGxlQWxpYXMiLCJ0YWJsZVBhcmFtcyIsInJvd1NlbGVjdGlvbiIsIm9uU2VsZWN0Iiwicm93U2VsZWN0aW9uT25TZWxlY3QiLCJiaW5kIiwib25TZWxlY3RBbGwiLCJyb3dTZWxlY3Rpb25PblNlbGVjdEFsbCIsImNvbHVtbldpZHRoIiwidGFibGVDb2x1bW4iLCJzZWFyY2hGb3JtcyIsImVkaXRvckZvcm1zIiwidGVtcCIsInNlYXJjaCIsImZpZWxkIiwiZGF0YUluZGV4IiwibGFiZWwiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwic2VsZkJ1dHRvbnMiLCJzaG93Rm9ybSIsIkFycmF5IiwiaXNBcnJheSIsImFsaWduIiwid2lkdGgiLCJyZW5kZXIiLCJ0ZXh0IiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJwbGFjZWhvbGRlciIsIm1hcmdpblRvcCIsInJlc2V0U2VhcmNoIiwicmVmcmVzaCIsImFfc3R5bGUiLCJtYXJnaW5MZWZ0IiwiYWRkIiwiZGVsZXRlMyIsInRhYmxlUmVsb2FkIiwib25TdWJtaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLGlCQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsbUJBQW5CO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixrQkFBbEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQiw0QkFBakI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsUUFBdkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixxQkFBbkI7QUFFQSxTQUFTQyxZQUFULEVBQXVCQyxVQUF2QixRQUF5QyxtQkFBekM7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixhQUFwQjs7SUFxQ01DLFE7Ozs7O0FBTUosb0JBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47O0FBRHNCLDRFQUxibkIsS0FBSyxDQUFDb0IsU0FBTixFQUthOztBQUFBLDJFQUpkcEIsS0FBSyxDQUFDb0IsU0FBTixFQUljOztBQUFBLDZFQUhacEIsS0FBSyxDQUFDb0IsU0FBTixFQUdZOztBQUFBLDZFQUZacEIsS0FBSyxDQUFDb0IsU0FBTixFQUVZOztBQUFBLCtEQWNiLFVBQUNDLGVBQUQsRUFB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QUUsS0FBS3FDLFdBQUwsQ0FBaUJyQyxJQUFqQixDQUFzQixJQUF0QixDQUhaO0FBSUUsUUFBQSxTQUFTLEVBQUVNLFdBSmI7QUFLRSxRQUFBLFNBQVMsRUFBRXJCLFNBTGI7QUFNRSxRQUFBLFlBQVksRUFBRUcsWUFOaEI7QUFPRSxRQUFBLFFBQVEsRUFBRSxLQUFLOUYsS0FBTCxDQUFXZ0o7QUFQdkIsUUF6R0osQ0FERjtBQXNIRDs7OztFQTdmb0JsSyxhOztBQStmdkIsZUFBZWlCLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFibGUgZnJvbSBcIi4uLy4uL2Jhc2UvdGFibGVcIjtcclxuaW1wb3J0IFRyZWUgZnJvbSBcIi4uLy4uL2Jhc2UvdHJlZVwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vYmFzZS9tb2RhbFwiO1xyXG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwiLi4vLi4vYmFzZS9wb3BvdmVyXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi8uLi9iYXNlL21lc3NhZ2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL2Jhc2UvY29tbW9uL0ljb25Gb250XCI7XHJcbmltcG9ydCB7IGljb25UeXBlIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgRWRpdG9yRm9ybSBmcm9tIFwiLi9Gb3JtXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IERvd25PdXRsaW5lZCwgVXBPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmludGVyZmFjZSBUYWJsZVByb3BzIHtcclxuICBhY3Rpb25Db2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm6buY6K6k5pi+56S65paw5aKe77yM57yW6L6R6buY6K6k5oyJ6ZKuXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbn1cclxuaW50ZXJmYWNlIFRyZWVQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaQnOe0ouahhlxyXG4gIHNlYXJjaEtleT86IHN0cmluZzsgLy/mkJzntKJ2YWx1ZeWvueW6lOeahGtleVxyXG4gIHNlYXJjaEZpZWxkPzogc3RyaW5nOyAvL+afpeivouWvueW6lOeahGtleVxyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7IC8v5qCRdGl0bGXlr7nlupTnmoRrZXks6buY6K6kdGl0bGVcclxuICBub2RlUG9ycHM/OiBvYmplY3Q7XHJcbn1cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7IC8v5re75Yqg5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HZGF0YeS8oOmAklxyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86IGFueTtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogYW55OyAvL+WIoOmZpOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2lkc+aLvOaOpeS8oOmAkue7meWQjuWPsFxyXG4gIGRlbGV0ZVBhcmFtcz86IE9iamVjdDtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBvblNlYXJjaD86IGFueTtcclxuICBpbml0RGF0YT86IGFueTsgLy/liJ3lp4vljJblm57osIPlh73mlbDvvIzlnKhjb21wb25lbnREaWRNb3VudOS4reiwg+eUqFxyXG4gIGJ1dHRvbnM/OiBBcnJheTxzdHJpbmc+OyAvL+aMiemSrumbhuWQiCAgWydhZGQnLCdkZWxldGUnLCdzZWFyY2gnLCdlZGl0b3InXVxyXG59XHJcblxyXG5jbGFzcyBCYXNlUGFnZSBleHRlbmRzIFB1cmVDb21wb25lbnQ8TlNDQmFzZUJhZ2VQcm9wcywgYW55PiB7XHJcbiAgdGFibGVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHRyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZWRpdG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogW10sXHJcbiAgICAgIHRyZWVTZWxlY3RlZEtleTogXCJcIixcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBpbml0RGF0YSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGluaXREYXRhICYmIGluaXREYXRhKCk7XHJcbiAgfVxyXG4gIG9uU2VsZWN0ID0gKGNoZWNrZWRUcmVlS2V5czogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgdmFsdWUgPSB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50LCBkZXB0SWQ6IGNoZWNrZWRUcmVlS2V5c1swXSB9O1xyXG4gICAgdGhpcy50YWJsZUxvYWQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIC8v5pi+56S66KGo5Y2VXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIGZsYWcgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5zaG93KHZhbHVlLCBmbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5YWz6Zet6KGo5Y2VXHJcbiAgaGlkZUZvcm0oZmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LmhpZGUoZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+aJuemHj+WIoOmZpFxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgY29uc3QgeyBkZWxldGVVcmwsIG9uRGVsZXRlLCBkZWxldGVQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZFJvd0tleXMubGVuZ3RoID09IDApIHtcclxuICAgICAgbWVzc2FnZS53YXJuaW5nKFwi6K+36YCJ5oup6KaB5Yig6Zmk55qE5pWw5o2u77yBXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgb25EZWxldGUgJiYgb25EZWxldGUoc2VsZWN0ZWRSb3dLZXlzKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkZWxldGVVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgfVxyXG4gICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgIHRpdGxlOiBcIuaYr+WQpuehruiupOWIoOmZpOaJgOmAiemhue+8n1wiLFxyXG4gICAgICAvLyBpY29uOiA8SWNvbiB0eXBlPXsnaWNvbnRpc2hpLTMnfSAvPixcclxuICAgICAgb2tUZXh0OiBcIuehruiupFwiLFxyXG4gICAgICBjYW5jZWxUZXh0OiBcIuWPlua2iFwiLFxyXG4gICAgICBvbk9rOiAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFBhcmFtcyA9IHtcclxuICAgICAgICAgIG1ldGhvZDogXCJwb3N0XCIsXHJcbiAgICAgICAgICBwYXJhbXM6IHsgaWRzOiBzZWxlY3RlZFJvd0tleXMuam9pbigpIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgcmVxdWVzdFBhcmFtcyA9IHt9IGFzIGFueTtcclxuICAgICAgICBpZiAoZGVmYXVsdFBhcmFtcykge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVsZXRlUGFyYW1zIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlZmF1bHRQYXJhbXMgfTtcclxuICAgICAgICByZXF1ZXN0KGRlbGV0ZVVybCwge1xyXG4gICAgICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5Yig6Zmk5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLliKDpmaTlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8v5p+l6K+iXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCB7IG9uU2VhcmNoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGlmIChvblNlYXJjaCkge1xyXG4gICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlTG9hZChmcm9tVmFsdWUpO1xyXG4gIH1cclxuICAvL+ihqOagvOmHjeaWsOWKoOi9vVxyXG4gIHRhYmxlUmVsb2FkKCkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5yZWxvYWQoKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dLZXlzO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dEYXRhcztcclxuICB9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIHJvd1NlbGVjdGlvbk9uU2VsZWN0KHJlY29yZDogYW55LCBzZWxlY3RlZDogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0tleXMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXNdO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93S2V5cyA9IFsuLi5uZXdTZWxlY3RlZFJvd0tleXMsIHJlY29yZC5pZF07XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93RGF0YXMgPSBbLi4ubmV3U2VsZWN0ZWRSb3dEYXRhcywgcmVjb3JkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5pZCA9PT0gcmVjb3JkLmlkKSB7XHJcbiAgICAgICAgICBuZXdTZWxlY3RlZFJvd0RhdGFzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IG5ld1NlbGVjdGVkUm93S2V5cyxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogbmV3U2VsZWN0ZWRSb3dEYXRhcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdEFsbChzZWxlY3RlZDogYW55LCBzZWxlY3RlZFJvd3M6IGFueSwgY2hhbmdlUm93czogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdpZHM6IGFueSA9IFtdO1xyXG4gICAgbGV0IG5ld2RhdGFzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICAgIG5ld2RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXMsIC4uLmNoYW5nZVJvd3NdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjaGFuZ2VJZHMuaW5kZXhPZihpdGVtLmlkKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBuZXdkYXRhcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgICAgbmV3ZGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhc107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbLi4ubmV3aWRzXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogWy4uLm5ld2RhdGFzXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnM6IGFueSwgcmVjb3JkOiBhbnksIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHsgZWRpdG9yRm9ybSA9IHRydWUsIGJ1dHRvbnMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA+IDIpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJlZGl0b3JcIl0sIHN0eWxlc1tcImNvbnRlbnQtaXRlbVwiXSl9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgSWNvbiwgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPT0gMykge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgY29udGVudD17Y29udGVudH1cclxuICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIiwgXCJob3ZlclwiXX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImVkaXRvclwiXX0+XHJcbiAgICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXNbXCJpY29uXCJdfT5cclxuICAgICAgICAgICAgICAgIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPCAzKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge0ljb259IHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMudGFibGVMb2FkKHsgLi4uZnJvbVZhbHVlLCBbc2VhcmNoRmllbGRdOiBrZXl3b3JkIH0pO1xyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgLy8gc2hvd0FkZEJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIC8vIHNob3dEZWxldGVCdXR0b24gPSB0cnVlLFxyXG4gICAgICBidXR0b25zID0gW10sXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGZpbHRlckNvbHVtbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbiA9IHRydWUsXHJcbiAgICAgIHNob3dSb3dTZWxlY3Rpb24gPSB0cnVlLFxyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZTogdHJlZVN0b3JlID0ge30sXHJcbiAgICAgIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlLFxyXG4gICAgICB0aXRsZUFsaWFzID0gXCJ0aXRsZVwiLFxyXG4gICAgfSA9IHRyZWVQcm9wcztcclxuXHJcbiAgICBsZXQgdGFibGVQYXJhbXMgPSB7IGZpbHRlckNvbHVtbiwgc3RvcmUgfSBhcyBhbnk7XHJcblxyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvblNlbGVjdEFsbDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdEFsbC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgY29sdW1uV2lkdGg6IDQwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YWJsZUNvbHVtbjogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IHNlYXJjaEZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGVkaXRvckZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbHVtbnMubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKHRlbXAuc2VhcmNoKSB7XHJcbiAgICAgICAgc2VhcmNoRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5zZWFyY2g7XHJcbiAgICAgIHRlbXAuZWRpdG9yICE9PSBmYWxzZSAmJlxyXG4gICAgICAgIGVkaXRvckZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgcnVsZXM6IHRlbXAucnVsZXMsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgZGVsZXRlIHRlbXAucHJvcHM7XHJcbiAgICAgIHRhYmxlQ29sdW1uLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlbGZCdXR0b25zOiBhbnkgPSBbXTtcclxuXHJcbiAgICBjb25zdCBjb2x1bW5CdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGlmIChhY3Rpb25CdXR0b24gJiYgZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJlZGl0b3JcIl19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKHJlY29yZCwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDmn6XnnItcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImVkaXRvclwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcImVkaXRvclwiXX1cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg57yW6L6RXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5wcm9wcy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ucHJvcHMucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIHNlbGZCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhY3Rpb25Db2x1bW4gJiZcclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5pON5L2cXCIsXHJcbiAgICAgICAgZGF0YUluZGV4OiBcImFjdGlvblwiLFxyXG4gICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICAgICAgcmVuZGVyOiAodGV4dDogYW55LCByZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImFjdGlvblwiXX0+XHJcbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnMsIHJlY29yZCwgYWN0aW9uQnV0dG9uKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJwYWdlXCJdfSBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICB7c2hvd0xlZnQgJiYgKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImxlZnRcIl19PlxyXG4gICAgICAgICAgICA8VHJlZVxyXG4gICAgICAgICAgICAgIHN0b3JlPXt7IC4uLnRyZWVTdG9yZSB9fVxyXG4gICAgICAgICAgICAgIHNob3dJY29uPXtmYWxzZX1cclxuICAgICAgICAgICAgICBjaGVja2FibGU9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIHNlYXJjaGFibGU9e3RyZWVTZWFyY2h9XHJcbiAgICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMudHJlZVNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkS2V5cz17W3RoaXMuc3RhdGUudHJlZVNlbGVjdGVkS2V5XX1cclxuICAgICAgICAgICAgICB0aXRsZUFsaWFzPXt0aXRsZUFsaWFzfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wicmlnaHRcIl19PlxyXG4gICAgICAgICAge3Nob3dTZWFyY2ggJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wiaGVhZGVyXCJdfT5cclxuICAgICAgICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgIHdyYXBwZXJDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gMiAmJiAhdGhpcy5zdGF0ZS5leHBhbmQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJidXR0b25zXCJdfSBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX0+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnNlYXJjaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnJlc2V0U2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLnJlZnJlc2h9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLmFfc3R5bGV9XHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kOiAhZXhwYW5kLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IDxVcE91dGxpbmVkIC8+IDogPERvd25PdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcImJ1dHRvbnNcIl19IHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX0+XHJcbiAgICAgICAgICAgICAge2J1dHRvbnMuaW5kZXhPZihcImFkZFwiKSA+IC0xICYmIGVkaXRvckZvcm0gPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnNob3dGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmFkZH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOa3u+WKoFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7YnV0dG9ucy5pbmRleE9mKFwiZGVsZXRlXCIpID4gLTEgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAvLyB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkRlbGV0ZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5kZWxldGUzfSAvPn1cclxuICAgICAgICAgICAgICAgICAgZGFuZ2VyXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOWIoOmZpFxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICB7c2VsZkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PjtcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInRhYmxlXCJdfT5cclxuICAgICAgICAgICAgPFRhYmxlIHJlZj17dGhpcy50YWJsZVJlZn0gY29sdW1ucz17dGFibGVDb2x1bW59IHsuLi50YWJsZVBhcmFtc30gLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIHtlZGl0b3JGb3JtICYmIChcclxuICAgICAgICAgIDxFZGl0b3JGb3JtXHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5lZGl0b3JSZWZ9XHJcbiAgICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLnNob3dGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGNhbGxCYWNrPXt0aGlzLnRhYmxlUmVsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGZvcm1Qcm9wcz17ZWRpdG9yRm9ybXN9XHJcbiAgICAgICAgICAgIHN1Ym1pdFVybD17c3VibWl0VXJsfVxyXG4gICAgICAgICAgICBzdWJtaXRQYXJhbXM9e3N1Ym1pdFBhcmFtc31cclxuICAgICAgICAgICAgb25TdWJtaXQ9e3RoaXMucHJvcHMub25TdWJtaXR9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgQmFzZVBhZ2U7XHJcbiJdfQ==
|
|
689
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJnZXRMZXNzIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJCYXNlUGFnZSIsInByb3BzIiwiY3JlYXRlUmVmIiwiY2hlY2tlZFRyZWVLZXlzIiwic3RhdGUiLCJuYW1lIiwidXNlclR5cGUiLCJhY2NvdW50IiwidmFsdWUiLCJkZXB0SWQiLCJ0YWJsZUxvYWQiLCJ0eXBlIiwic2VsZWN0ZWRSb3dLZXlzIiwic2VsZWN0ZWRSb3dEYXRhcyIsInRyZWVTZWxlY3RlZEtleSIsImV4cGFuZCIsImluaXREYXRhIiwiZmxhZyIsImVkaXRvclJlZiIsImN1cnJlbnQiLCJzaG93IiwiaGlkZSIsImRlbGV0ZVVybCIsIm9uRGVsZXRlIiwiZGVsZXRlUGFyYW1zIiwibGVuZ3RoIiwid2FybmluZyIsIkVycm9yIiwiY29uZmlybSIsInRpdGxlIiwib2tUZXh0IiwiY2FuY2VsVGV4dCIsIm9uT2siLCJkZWZhdWx0UGFyYW1zIiwibWV0aG9kIiwicGFyYW1zIiwiaWRzIiwiam9pbiIsInJlcXVlc3RQYXJhbXMiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInRhYmxlUmVmIiwic3RvcmUiLCJsb2FkIiwib25TZWFyY2giLCJmcm9tVmFsdWUiLCJzZWFyY2hSZWYiLCJnZXRGaWVsZHNWYWx1ZSIsInJlbG9hZCIsInJlY29yZCIsInNlbGVjdGVkIiwibmV3U2VsZWN0ZWRSb3dLZXlzIiwibmV3U2VsZWN0ZWRSb3dEYXRhcyIsImlkIiwibWFwIiwiaXRlbSIsImluZGV4Iiwic3BsaWNlIiwic2V0U3RhdGUiLCJzZWxlY3RlZFJvd3MiLCJjaGFuZ2VSb3dzIiwibmV3aWRzIiwibmV3ZGF0YXMiLCJjaGFuZ2VJZHMiLCJpbmRleE9mIiwicHVzaCIsImNvbHVtbkJ1dHRvbnMiLCJhY3Rpb25CdXR0b24iLCJlZGl0b3JGb3JtIiwiYnV0dG9ucyIsImNvbnRlbnQiLCJjaGlsZHJlbiIsInBhZ2VUeXBlIiwib25DbGljayIsInNlbGVjdGVkS2V5cyIsInNlbGVjdGVkTm9kZXMiLCJrZXl3b3JkIiwidHJlZVByb3BzIiwic2VhcmNoS2V5Iiwic2VhcmNoRmllbGQiLCJpc0xlYWYiLCJkYXRhcmVmIiwiYXR0cmlidXRlIiwicmVzZXRGaWVsZHMiLCJjb2x1bW5zIiwic2hvd1NlYXJjaCIsInN1Ym1pdFVybCIsInRhYmxlUHJvcHMiLCJzaG93TGVmdCIsInN1Ym1pdFBhcmFtcyIsInNob3dUb29sQnV0dG9uIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsInRyZWVTdG9yZSIsInRyZWVTZWFyY2giLCJ0aXRsZUFsaWFzIiwidGFibGVQYXJhbXMiLCJyb3dTZWxlY3Rpb24iLCJvblNlbGVjdCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0IiwiYmluZCIsIm9uU2VsZWN0QWxsIiwicm93U2VsZWN0aW9uT25TZWxlY3RBbGwiLCJjb2x1bW5XaWR0aCIsInRhYmxlQ29sdW1uIiwic2VhcmNoRm9ybXMiLCJlZGl0b3JGb3JtcyIsInRlbXAiLCJzZWFyY2giLCJmaWVsZCIsImRhdGFJbmRleCIsImxhYmVsIiwiZWRpdG9yIiwicnVsZXMiLCJzcGFuIiwiZGljdE5hbWUiLCJjb2x1bW5TZWFyY2giLCJmaWx0ZXJQcm9wcyIsInN0eWxlIiwicmVuZGVyIiwidGV4dCIsInNlbGZCdXR0b25zIiwic2hvd0Zvcm0iLCJBcnJheSIsImlzQXJyYXkiLCJhbGlnbiIsIndpZHRoIiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwiaGVhZGVyQ291bnQiLCJkaXNwbGF5IiwidHJlZVNlbGVjdCIsInBsYWNlaG9sZGVyIiwibWFyZ2luVG9wIiwicmVzZXRTZWFyY2giLCJyZWZyZXNoIiwiYV9zdHlsZSIsIm1hcmdpbkxlZnQiLCJhZGQiLCJkZWxldGUzIiwidGFibGVSZWxvYWQiLCJvblN1Ym1pdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixrQkFBbEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLGlCQUFqQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixtQkFBbkI7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLGtCQUFsQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixvQkFBcEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLDRCQUFqQjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsaUJBQXpCO0FBQ0EsT0FBT0MsVUFBUCxNQUF1QixRQUF2QjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLHFCQUFuQjtBQUVBLFNBQVNDLFlBQVQsRUFBdUJDLFVBQXZCLFFBQXlDLG1CQUF6QztBQUNBLFNBQVNDLE9BQVQsRUFBa0JDLE9BQWxCLFFBQWlDLGFBQWpDO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixhQUFwQjs7SUFxQ01DLFE7Ozs7O0FBTUosb0JBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47O0FBRHNCLDRFQUxicEIsS0FBSyxDQUFDcUIsU0FBTixFQUthOztBQUFBLDJFQUpkckIsS0FBSyxDQUFDcUIsU0FBTixFQUljOztBQUFBLDZFQUhackIsS0FBSyxDQUFDcUIsU0FBTixFQUdZOztBQUFBLDZFQUZackIsS0FB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bXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgVGFibGUgZnJvbSBcIi4uLy4uL2Jhc2UvdGFibGVcIjtcclxuaW1wb3J0IFRyZWUgZnJvbSBcIi4uLy4uL2Jhc2UvdHJlZVwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vYmFzZS9tb2RhbFwiO1xyXG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwiLi4vLi4vYmFzZS9wb3BvdmVyXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi8uLi9iYXNlL21lc3NhZ2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uL2Jhc2UvY29tbW9uL0ljb25Gb250XCI7XHJcbmltcG9ydCB7IGljb25UeXBlIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgRWRpdG9yRm9ybSBmcm9tIFwiLi9Gb3JtXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5tb2R1bGUubGVzc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IERvd25PdXRsaW5lZCwgVXBPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBCdXR0b25Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmludGVyZmFjZSBUYWJsZVByb3BzIHtcclxuICBhY3Rpb25Db2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm6buY6K6k5pi+56S65paw5aKe77yM57yW6L6R6buY6K6k5oyJ6ZKuXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbn1cclxuaW50ZXJmYWNlIFRyZWVQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaQnOe0ouahhlxyXG4gIHNlYXJjaEtleT86IHN0cmluZzsgLy/mkJzntKJ2YWx1ZeWvueW6lOeahGtleVxyXG4gIHNlYXJjaEZpZWxkPzogc3RyaW5nOyAvL+afpeivouWvueW6lOeahGtleVxyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7IC8v5qCRdGl0bGXlr7nlupTnmoRrZXks6buY6K6kdGl0bGVcclxuICBub2RlUG9ycHM/OiBvYmplY3Q7XHJcbn1cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7IC8v5re75Yqg5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HZGF0YeS8oOmAklxyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86IGFueTtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogYW55OyAvL+WIoOmZpOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2lkc+aLvOaOpeS8oOmAkue7meWQjuWPsFxyXG4gIGRlbGV0ZVBhcmFtcz86IE9iamVjdDtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBvblNlYXJjaD86IGFueTtcclxuICBpbml0RGF0YT86IGFueTsgLy/liJ3lp4vljJblm57osIPlh73mlbDvvIzlnKhjb21wb25lbnREaWRNb3VudOS4reiwg+eUqFxyXG4gIGJ1dHRvbnM/OiBBcnJheTxzdHJpbmc+OyAvL+aMiemSrumbhuWQiCAgWydhZGQnLCdkZWxldGUnLCdzZWFyY2gnLCdlZGl0b3InXVxyXG59XHJcblxyXG5jbGFzcyBCYXNlUGFnZSBleHRlbmRzIFB1cmVDb21wb25lbnQ8TlNDQmFzZUJhZ2VQcm9wcywgYW55PiB7XHJcbiAgdGFibGVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHRyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZWRpdG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogW10sXHJcbiAgICAgIHRyZWVTZWxlY3RlZEtleTogXCJcIixcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBpbml0RGF0YSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGluaXREYXRhICYmIGluaXREYXRhKCk7XHJcbiAgfVxyXG4gIG9uU2VsZWN0ID0gKGNoZWNrZWRUcmVlS2V5czogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgdmFsdWUgPSB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50LCBkZXB0SWQ6IGNoZWNrZWRUcmVlS2V5c1swXSB9O1xyXG4gICAgdGhpcy50YWJsZUxvYWQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIC8v5pi+56S66KGo5Y2VXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIGZsYWcgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5zaG93KHZhbHVlLCBmbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5YWz6Zet6KGo5Y2VXHJcbiAgaGlkZUZvcm0oZmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LmhpZGUoZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+aJuemHj+WIoOmZpFxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgY29uc3QgeyBkZWxldGVVcmwsIG9uRGVsZXRlLCBkZWxldGVQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZFJvd0tleXMubGVuZ3RoID09IDApIHtcclxuICAgICAgbWVzc2FnZS53YXJuaW5nKFwi6K+36YCJ5oup6KaB5Yig6Zmk55qE5pWw5o2u77yBXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgb25EZWxldGUgJiYgb25EZWxldGUoc2VsZWN0ZWRSb3dLZXlzKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkZWxldGVVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgfVxyXG4gICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgIHRpdGxlOiBcIuaYr+WQpuehruiupOWIoOmZpOaJgOmAiemhue+8n1wiLFxyXG4gICAgICAvLyBpY29uOiA8SWNvbiB0eXBlPXsnaWNvbnRpc2hpLTMnfSAvPixcclxuICAgICAgb2tUZXh0OiBcIuehruiupFwiLFxyXG4gICAgICBjYW5jZWxUZXh0OiBcIuWPlua2iFwiLFxyXG4gICAgICBvbk9rOiAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFBhcmFtcyA9IHtcclxuICAgICAgICAgIG1ldGhvZDogXCJwb3N0XCIsXHJcbiAgICAgICAgICBwYXJhbXM6IHsgaWRzOiBzZWxlY3RlZFJvd0tleXMuam9pbigpIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgcmVxdWVzdFBhcmFtcyA9IHt9IGFzIGFueTtcclxuICAgICAgICBpZiAoZGVmYXVsdFBhcmFtcykge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVsZXRlUGFyYW1zIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlZmF1bHRQYXJhbXMgfTtcclxuICAgICAgICByZXF1ZXN0KGRlbGV0ZVVybCwge1xyXG4gICAgICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5Yig6Zmk5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLliKDpmaTlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8v5p+l6K+iXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCB7IG9uU2VhcmNoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGlmIChvblNlYXJjaCkge1xyXG4gICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlTG9hZChmcm9tVmFsdWUpO1xyXG4gIH1cclxuICAvL+ihqOagvOmHjeaWsOWKoOi9vVxyXG4gIHRhYmxlUmVsb2FkKCkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5yZWxvYWQoKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dLZXlzO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dEYXRhcztcclxuICB9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIHJvd1NlbGVjdGlvbk9uU2VsZWN0KHJlY29yZDogYW55LCBzZWxlY3RlZDogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0tleXMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXNdO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93S2V5cyA9IFsuLi5uZXdTZWxlY3RlZFJvd0tleXMsIHJlY29yZC5pZF07XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93RGF0YXMgPSBbLi4ubmV3U2VsZWN0ZWRSb3dEYXRhcywgcmVjb3JkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5pZCA9PT0gcmVjb3JkLmlkKSB7XHJcbiAgICAgICAgICBuZXdTZWxlY3RlZFJvd0RhdGFzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IG5ld1NlbGVjdGVkUm93S2V5cyxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogbmV3U2VsZWN0ZWRSb3dEYXRhcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdEFsbChzZWxlY3RlZDogYW55LCBzZWxlY3RlZFJvd3M6IGFueSwgY2hhbmdlUm93czogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdpZHM6IGFueSA9IFtdO1xyXG4gICAgbGV0IG5ld2RhdGFzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICAgIG5ld2RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXMsIC4uLmNoYW5nZVJvd3NdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjaGFuZ2VJZHMuaW5kZXhPZihpdGVtLmlkKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBuZXdkYXRhcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgICAgbmV3ZGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhc107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbLi4ubmV3aWRzXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogWy4uLm5ld2RhdGFzXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnM6IGFueSwgcmVjb3JkOiBhbnksIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHsgZWRpdG9yRm9ybSA9IHRydWUsIGJ1dHRvbnMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA+IDEpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIiksXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC1pdGVtXCIpXHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgSWNvbiwgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPT0gMikge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgY29udGVudD17Y29udGVudH1cclxuICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIiwgXCJob3ZlclwiXX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX0+XHJcbiAgICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPCAyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge0ljb259IHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMudGFibGVMb2FkKHsgLi4uZnJvbVZhbHVlLCBbc2VhcmNoRmllbGRdOiBrZXl3b3JkIH0pO1xyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgLy8gc2hvd0FkZEJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIC8vIHNob3dEZWxldGVCdXR0b24gPSB0cnVlLFxyXG4gICAgICBidXR0b25zID0gW10sXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGZpbHRlckNvbHVtbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbiA9IHRydWUsXHJcbiAgICAgIHNob3dSb3dTZWxlY3Rpb24gPSB0cnVlLFxyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZTogdHJlZVN0b3JlID0ge30sXHJcbiAgICAgIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlLFxyXG4gICAgICB0aXRsZUFsaWFzID0gXCJ0aXRsZVwiLFxyXG4gICAgfSA9IHRyZWVQcm9wcztcclxuXHJcbiAgICBsZXQgdGFibGVQYXJhbXMgPSB7IGZpbHRlckNvbHVtbiwgc3RvcmUgfSBhcyBhbnk7XHJcblxyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvblNlbGVjdEFsbDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdEFsbC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgY29sdW1uV2lkdGg6IDQwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YWJsZUNvbHVtbjogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IHNlYXJjaEZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGVkaXRvckZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbHVtbnMubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKHRlbXAuc2VhcmNoKSB7XHJcbiAgICAgICAgc2VhcmNoRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5zZWFyY2g7XHJcbiAgICAgIHRlbXAuZWRpdG9yICE9PSBmYWxzZSAmJlxyXG4gICAgICAgIGVkaXRvckZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgcnVsZXM6IHRlbXAucnVsZXMsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgZGVsZXRlIHRlbXAucHJvcHM7XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImNvbC1iYWNrXCIpfT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLXRleHRcIil9Pnt0ZXh0fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3Qgc2VsZkJ1dHRvbnM6IGFueSA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgaWYgKGFjdGlvbkJ1dHRvbiAmJiBlZGl0b3JGb3JtID09IHRydWUpIHtcclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcInNlYXJjaFwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOafpeeci1xyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYnV0dG9ucy5pbmRleE9mKFwiZWRpdG9yXCIpID4gLTEpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpfVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybShyZWNvcmQsIHRydWUpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5wcm9wcy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgd2lkdGg6IDE1MCxcclxuICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnksIHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYWN0aW9uXCIpfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9ucywgcmVjb3JkLCBhY3Rpb25CdXR0b24pfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICBjb25zdCBoZWFkZXJDb3VudCA9IHNob3dMZWZ0ID8gMiA6IDM7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicGFnZVwiKX0gc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX0+XHJcbiAgICAgICAge3Nob3dMZWZ0ICYmIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJsZWZ0XCIpfT5cclxuICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICBzdG9yZT17eyAuLi50cmVlU3RvcmUgfX1cclxuICAgICAgICAgICAgICBzaG93SWNvbj17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICBzZWFyY2hhYmxlPXt0cmVlU2VhcmNofVxyXG4gICAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnRyZWVTZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgdGl0bGVBbGlhcz17dGl0bGVBbGlhc31cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInJpZ2h0XCIpfT5cclxuICAgICAgICAgIHtzaG93U2VhcmNoICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImhlYWRlclwiKX0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Nscyh7IFtnZXRMZXNzKHN0eWxlcywgXCJmb3JtXCIpXTogIXNob3dMZWZ0IH0pfT5cclxuICAgICAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5zZWFyY2hSZWZ9XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgICAgIGxheW91dD1cImlubGluZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGhlYWRlckNvdW50ICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZvcm0uSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBydWxlcz17aXRlbS5ydWxlc31cclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYnV0dG9uc1wiKX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuc2VhcmNofSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUucmVmcmVzaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuYV9zdHlsZX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gPFVwT3V0bGluZWQgLz4gOiA8RG93bk91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJidXR0b25zXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtidXR0b25zLmluZGV4T2YoXCJhZGRcIikgPiAtMSAmJiBlZGl0b3JGb3JtID09IHRydWUgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5hZGR9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDmt7vliqBcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAge2J1dHRvbnMuaW5kZXhPZihcImRlbGV0ZVwiKSA+IC0xICYmIChcclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgLy8gdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25EZWxldGUuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuZGVsZXRlM30gLz59XHJcbiAgICAgICAgICAgICAgICAgIGRhbmdlclxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDliKDpmaRcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAge3NlbGZCdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0YWJsZVwiKX0+XHJcbiAgICAgICAgICAgIDxUYWJsZSByZWY9e3RoaXMudGFibGVSZWZ9IGNvbHVtbnM9e3RhYmxlQ29sdW1ufSB7Li4udGFibGVQYXJhbXN9IC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB7ZWRpdG9yRm9ybSAmJiAoXHJcbiAgICAgICAgICA8RWRpdG9yRm9ybVxyXG4gICAgICAgICAgICByZWY9e3RoaXMuZWRpdG9yUmVmfVxyXG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBjYWxsQmFjaz17dGhpcy50YWJsZVJlbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBmb3JtUHJvcHM9e2VkaXRvckZvcm1zfVxyXG4gICAgICAgICAgICBzdWJtaXRVcmw9e3N1Ym1pdFVybH1cclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zPXtzdWJtaXRQYXJhbXN9XHJcbiAgICAgICAgICAgIG9uU3VibWl0PXt0aGlzLnByb3BzLm9uU3VibWl0fVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IEJhc2VQYWdlO1xyXG4iXX0=
|
|
@@ -18,14 +18,21 @@
|
|
|
18
18
|
.header {
|
|
19
19
|
display: flex;
|
|
20
20
|
margin-top: 20px;
|
|
21
|
+
.form {
|
|
22
|
+
:global {
|
|
23
|
+
.ant-form-inline {
|
|
24
|
+
max-width: 61vw !important;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
21
28
|
:global {
|
|
22
29
|
.ant-form-inline {
|
|
23
|
-
width:
|
|
30
|
+
max-width: 46vw;
|
|
24
31
|
}
|
|
25
32
|
.ant-form-inline .ant-form-item {
|
|
26
33
|
margin-right: 30px;
|
|
27
34
|
margin-bottom: 20px;
|
|
28
|
-
width:
|
|
35
|
+
width: 13.5vw;
|
|
29
36
|
}
|
|
30
37
|
.ant-select {
|
|
31
38
|
width: 100% !important;
|
|
@@ -60,7 +67,7 @@
|
|
|
60
67
|
.editor {
|
|
61
68
|
margin-left: 10px;
|
|
62
69
|
cursor: pointer;
|
|
63
|
-
color:
|
|
70
|
+
color: var(--ant-primary-color);
|
|
64
71
|
.icon {
|
|
65
72
|
font-size: 12px;
|
|
66
73
|
// margin-left: 2px;
|
|
@@ -74,3 +81,14 @@
|
|
|
74
81
|
.a_style {
|
|
75
82
|
line-height: 35px;
|
|
76
83
|
}
|
|
84
|
+
|
|
85
|
+
.col-back {
|
|
86
|
+
border-radius: 2px;
|
|
87
|
+
padding: 5px 15px 5px 15px;
|
|
88
|
+
background-color: var(--ant-primary-3);
|
|
89
|
+
border: 1px solid var(--ant-primary-5);
|
|
90
|
+
text-align: center;
|
|
91
|
+
}
|
|
92
|
+
.col-text {
|
|
93
|
+
color: var(--ant-primary-color);
|
|
94
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nsc-react-component",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"webpack-cli": "^4.6.0"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"antd": "
|
|
55
|
-
"nsc-request": "
|
|
54
|
+
"antd": "^4.19.0",
|
|
55
|
+
"nsc-request": ">=2.2.0",
|
|
56
56
|
"react": ">=16.9.0",
|
|
57
57
|
"react-dom": ">=16.9.0",
|
|
58
58
|
"@bj-nsc/functions": ">=1.2.25",
|