nsc-react-component 1.3.14 → 1.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/common/IconFont.js +2 -2
- package/lib/menu/index.d.ts +1 -0
- package/lib/menu/index.js +24 -4
- package/package.json +1 -1
package/lib/common/IconFont.js
CHANGED
|
@@ -7,11 +7,11 @@ var IconFont = function IconFont(props) {
|
|
|
7
7
|
iconfontUrl = _config.iconfontUrl;
|
|
8
8
|
|
|
9
9
|
var Icon = createFromIconfontCN({
|
|
10
|
-
scriptUrl: [iconfontUrl, "/static/font_2446596_4tap3v07lm4.js"
|
|
10
|
+
scriptUrl: [iconfontUrl, "/static/font_2446596_4tap3v07lm4.js" // icon-shoppingcart, icon-python
|
|
11
11
|
]
|
|
12
12
|
});
|
|
13
13
|
return /*#__PURE__*/React.createElement(Icon, props);
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
export default IconFont;
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9JY29uRm9udC50c3giXSwibmFtZXMiOlsiY3JlYXRlRnJvbUljb25mb250Q04iLCJSZWFjdCIsImNvbmZpZyIsIkljb25Gb250IiwicHJvcHMiLCJpY29uZm9udFVybCIsIkljb24iLCJzY3JpcHRVcmwiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLG9CQUFULFFBQXFDLG1CQUFyQztBQUVBLE9BQU9DLEtBQVAsTUFBa0IsT0FBbEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5COztBQUNBLElBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLEtBQUQsRUFBMEI7QUFDekMsZ0JBQXNCRixNQUFNLEVBQTVCO0FBQUEsTUFBTUcsV0FBTixXQUFNQSxXQUFOOztBQUNBLE1BQU1DLElBQUksR0FBR04sb0JBQW9CLENBQUM7QUFDaENPLElBQUFBLFNBQVMsRUFBRSxDQUNURixXQURTLEVBRVQscUNBRlMsQ0FFOEI7QUFGOUI7QUFEcUIsR0FBRCxDQUFqQztBQU1BLHNCQUFPLG9CQUFDLElBQUQsRUFBVUQsS0FBVixDQUFQO0FBQ0QsQ0FURDs7QUFVQSxlQUFlRCxRQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRnJvbUljb25mb250Q04gfSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IHsgSWNvbkZvbnRQcm9wcyB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29ucy9saWIvY29tcG9uZW50cy9JY29uRm9udFwiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uL2NvbmZpZ1wiO1xyXG5jb25zdCBJY29uRm9udCA9IChwcm9wczogSWNvbkZvbnRQcm9wcykgPT4ge1xyXG4gIGxldCB7IGljb25mb250VXJsIH0gPSBjb25maWcoKTtcclxuICBjb25zdCBJY29uID0gY3JlYXRlRnJvbUljb25mb250Q04oe1xyXG4gICAgc2NyaXB0VXJsOiBbXHJcbiAgICAgIGljb25mb250VXJsLFxyXG4gICAgICBcIi9zdGF0aWMvZm9udF8yNDQ2NTk2XzR0YXAzdjA3bG00LmpzXCIsIC8vIGljb24tc2hvcHBpbmdjYXJ0LCBpY29uLXB5dGhvblxyXG4gICAgXSxcclxuICB9KTtcclxuICByZXR1cm4gPEljb24gey4uLnByb3BzfSAvPjtcclxufTtcclxuZXhwb3J0IGRlZmF1bHQgSWNvbkZvbnQ7XHJcbiJdfQ==
|
package/lib/menu/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ interface IMenuProps extends MenuProps {
|
|
|
8
8
|
store?: StoreProps;
|
|
9
9
|
showIcon?: boolean;
|
|
10
10
|
subMenuProps?: SubMenuProps;
|
|
11
|
+
tooltip?: boolean;
|
|
11
12
|
}
|
|
12
13
|
export default class NSCMenu extends PureComponent<IMenuProps> {
|
|
13
14
|
static SubMenu: typeof import("antd/lib/menu/SubMenu").default;
|
package/lib/menu/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
2
2
|
|
|
3
|
+
import "antd/es/tooltip/style/css";
|
|
4
|
+
import _Tooltip from "antd/es/tooltip";
|
|
3
5
|
import "antd/es/menu/style/css";
|
|
4
6
|
import _Menu from "antd/es/menu";
|
|
5
7
|
var _excluded = ["url", "listeners", "viewname"];
|
|
@@ -84,7 +86,9 @@ var NSCMenu = /*#__PURE__*/function (_PureComponent) {
|
|
|
84
86
|
_this2$props$showIcon = _this2$props.showIcon,
|
|
85
87
|
showIcon = _this2$props$showIcon === void 0 ? true : _this2$props$showIcon,
|
|
86
88
|
_this2$props$subMenuP = _this2$props.subMenuProps,
|
|
87
|
-
subMenuProps = _this2$props$subMenuP === void 0 ? {} : _this2$props$subMenuP
|
|
89
|
+
subMenuProps = _this2$props$subMenuP === void 0 ? {} : _this2$props$subMenuP,
|
|
90
|
+
_this2$props$tooltip = _this2$props.tooltip,
|
|
91
|
+
tooltip = _this2$props$tooltip === void 0 ? false : _this2$props$tooltip;
|
|
88
92
|
return menusData.map(function (item) {
|
|
89
93
|
var style = item.style,
|
|
90
94
|
icon = item.icon,
|
|
@@ -109,7 +113,15 @@ var NSCMenu = /*#__PURE__*/function (_PureComponent) {
|
|
|
109
113
|
});
|
|
110
114
|
return /*#__PURE__*/React.createElement(SubMenu, _extends({
|
|
111
115
|
key: item[keyField],
|
|
112
|
-
title: showIcon && icon ? /*#__PURE__*/React.createElement("span", null, getIcon(icon),
|
|
116
|
+
title: showIcon && icon ? /*#__PURE__*/React.createElement("span", null, getIcon(icon), tooltip ? /*#__PURE__*/React.createElement(_Tooltip, {
|
|
117
|
+
title: spantitle
|
|
118
|
+
}, spantitle) : {
|
|
119
|
+
spantitle: spantitle
|
|
120
|
+
}) : /*#__PURE__*/React.createElement("span", null, tooltip ? /*#__PURE__*/React.createElement(_Tooltip, {
|
|
121
|
+
title: spantitle
|
|
122
|
+
}, spantitle) : {
|
|
123
|
+
spantitle: spantitle
|
|
124
|
+
})
|
|
113
125
|
}, subMenuProps), Object.keys(menuGroupData).map(function (key) {
|
|
114
126
|
return /*#__PURE__*/React.createElement(ItemGroup, {
|
|
115
127
|
key: key,
|
|
@@ -120,7 +132,15 @@ var NSCMenu = /*#__PURE__*/function (_PureComponent) {
|
|
|
120
132
|
return /*#__PURE__*/React.createElement(_Menu.Item, {
|
|
121
133
|
key: item[keyField],
|
|
122
134
|
disabled: disabled
|
|
123
|
-
}, showIcon && icon ? /*#__PURE__*/React.createElement("span", null, getIcon(icon),
|
|
135
|
+
}, showIcon && icon ? /*#__PURE__*/React.createElement("span", null, getIcon(icon), tooltip ? /*#__PURE__*/React.createElement(_Tooltip, {
|
|
136
|
+
title: spantitle
|
|
137
|
+
}, spantitle) : {
|
|
138
|
+
spantitle: spantitle
|
|
139
|
+
}) : /*#__PURE__*/React.createElement("span", null, tooltip ? /*#__PURE__*/React.createElement(_Tooltip, {
|
|
140
|
+
title: spantitle
|
|
141
|
+
}, spantitle) : {
|
|
142
|
+
spantitle: spantitle
|
|
143
|
+
}));
|
|
124
144
|
}
|
|
125
145
|
});
|
|
126
146
|
});
|
|
@@ -235,4 +255,4 @@ _defineProperty(NSCMenu, "Item", Item);
|
|
|
235
255
|
_defineProperty(NSCMenu, "ItemGroup", ItemGroup);
|
|
236
256
|
|
|
237
257
|
export { NSCMenu as default };
|
|
238
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlN0b3JlIiwidXRpbHMiLCJnZXRJY29uIiwib21pdCIsIlN1Yk1lbnUiLCJJdGVtIiwiSXRlbUdyb3VwIiwiTlNDTWVudSIsInByb3BzIiwiZGF0YVNvdXJjZSIsIm1lbnVzRGF0YSIsIkFycmF5IiwiaXNBcnJheSIsInRpdGxlRmllbGQiLCJrZXlGaWVsZCIsInNob3dJY29uIiwic3ViTWVudVByb3BzIiwibWFwIiwiaXRlbSIsInN0eWxlIiwiaWNvbiIsImRpc2FibGVkIiwic3BhbnRpdGxlIiwibWVudUdyb3VwRGF0YSIsIm1lbnVEYXRhIiwiY2hpbGREYXRhIiwiZ3J1b3B0aXRsZSIsImdyb3VwTmFtZSIsInB1c2giLCJPYmplY3QiLCJrZXlzIiwia2V5IiwicmVuZGVyTWVudUl0ZW0iLCJjaGlsZHJlbiIsInN0YXRlIiwiZGF0YSIsInN0b3JlIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsInZpZXduYW1lIiwic3RvcmVzIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJzZXRTdGF0ZSIsImRhdGFDaGFuZ2VkIiwiYXV0b0xvYWQiLCJtZW51UHJvcHMiLCJyZW5kZXJDaGlsZHJlbiIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBR0EsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVND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RSxPLGVBR0FELFM7O1NBSEFDLE8iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMTYgMDk6NDM6MjhcclxuICogQExhc3RFZGl0b3JzOiBQbGVhc2Ugc2V0IExhc3RFZGl0b3JzXHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjItMDItMjYgMTU6MTM6MjJcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBNZW51LCBNZW51UHJvcHMsIFN1Yk1lbnVQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgeyBnZXRJY29uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcblxyXG5pbnRlcmZhY2UgSU1lbnVQcm9wcyBleHRlbmRzIE1lbnVQcm9wcyB7XHJcbiAgZGF0YT86IEFycmF5PG9iamVjdD47XHJcbiAgdGl0bGVGaWVsZD86IHN0cmluZztcclxuICBrZXlGaWVsZD86IHN0cmluZztcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd0ljb24/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekumljb24gLOm7mOiupHRydWVcclxuICBzdWJNZW51UHJvcHM/OiBTdWJNZW51UHJvcHM7XHJcbn1cclxuY29uc3QgeyBTdWJNZW51LCBJdGVtLCBJdGVtR3JvdXAgfSA9IE1lbnU7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NNZW51IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJTWVudVByb3BzPiB7XHJcbiAgc3RhdGljIFN1Yk1lbnUgPSBTdWJNZW51O1xyXG4gIHN0YXRpYyBJdGVtID0gSXRlbTtcclxuICBzdGF0aWMgSXRlbUdyb3VwID0gSXRlbUdyb3VwO1xyXG5cclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gIH07XHJcblxyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gcHJldlN0YXRlO1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KGRhdGEpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IGRhdGEsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7IGRhdGEsIHN0b3JlID0ge30sIGNoaWxkcmVuIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdXJsLCBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSwgdmlld25hbWUsIC4uLnN0b3JlcyB9ID0gc3RvcmU7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdXJsKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgWRhdGHkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodXJsICYmIGRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmRhdGEpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5wcm9wcy5kYXRhLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyTWVudUl0ZW0gPSAobWVudXNEYXRhKSA9PiB7XHJcbiAgICBpZiAoIW1lbnVzRGF0YSB8fCAhQXJyYXkuaXNBcnJheShtZW51c0RhdGEpKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHtcclxuICAgICAgdGl0bGVGaWVsZCA9IFwidGl0bGVcIixcclxuICAgICAga2V5RmllbGQgPSBcImtleVwiLFxyXG4gICAgICBzaG93SWNvbiA9IHRydWUsXHJcbiAgICAgIHN1Yk1lbnVQcm9wcyA9IHt9LFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gbWVudXNEYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCB7IHN0eWxlLCBpY29uLCBkaXNhYmxlZCB9ID0gaXRlbTtcclxuICAgICAgY29uc3Qgc3BhbnRpdGxlID0gPHNwYW4gc3R5bGU9e3N0eWxlfT57aXRlbVt0aXRsZUZpZWxkXX08L3NwYW4+O1xyXG4gICAgICBpZiAoaXRlbVtcImNoaWxkTm9kZXNcIl0gfHwgaXRlbVtcImNoaWxkcmVuXCJdKSB7XHJcbiAgICAgICAgbGV0IG1lbnVHcm91cERhdGEgPSB7fSxcclxuICAgICAgICAgIG1lbnVEYXRhID0gW107XHJcbiAgICAgICAgbGV0IGNoaWxkRGF0YSA9IGl0ZW1bXCJjaGlsZE5vZGVzXCJdIHx8IGl0ZW1bXCJjaGlsZHJlblwiXTtcclxuICAgICAgICBjaGlsZERhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBsZXQgZ3J1b3B0aXRsZSA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgICAgaWYgKGdydW9wdGl0bGUpIHtcclxuICAgICAgICAgICAgaWYgKCFtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdKSBtZW51R3JvdXBEYXRhW2dydW9wdGl0bGVdID0gW107XHJcbiAgICAgICAgICAgIG1lbnVHcm91cERhdGFbZ3J1b3B0aXRsZV0ucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lbnVEYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxTdWJNZW51XHJcbiAgICAgICAgICAgIGtleT17aXRlbVtrZXlGaWVsZF19XHJcbiAgICAgICAgICAgIHRpdGxlPXtcclxuICAgICAgICAgICAgICBzaG93SWNvbiAmJiBpY29uID8gKFxyXG4gICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHtnZXRJY29uKGljb24pfVxyXG4gICAgICAgICAgICAgICAgICB7c3BhbnRpdGxlfVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICBzcGFudGl0bGVcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgey4uLnN1Yk1lbnVQcm9wc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge09iamVjdC5rZXlzKG1lbnVHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgIDxJdGVtR3JvdXAga2V5PXtrZXl9IHRpdGxlPXtrZXl9PlxyXG4gICAgICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJNZW51SXRlbShtZW51R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgICAgICAgPC9JdGVtR3JvdXA+XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck1lbnVJdGVtKG1lbnVEYXRhKX1cclxuICAgICAgICAgIDwvU3ViTWVudT5cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8TWVudS5JdGVtIGtleT17aXRlbVtrZXlGaWVsZF19IGRpc2FibGVkPXtkaXNhYmxlZH0+XHJcbiAgICAgICAgICAgIHtzaG93SWNvbiAmJiBpY29uID8gKFxyXG4gICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge2dldEljb24oaWNvbil9XHJcbiAgICAgICAgICAgICAgICB7c3BhbnRpdGxlfVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICBzcGFudGl0bGVcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgIDwvTWVudS5JdGVtPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH07XHJcbiAgcmVuZGVyQ2hpbGRyZW4gPSAoKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJNZW51SXRlbShkYXRhU291cmNlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBtZW51UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJkYXRhXCIsXHJcbiAgICAgIFwic3RvcmVcIixcclxuICAgICAgXCJ0aXRsZUZpZWxkXCIsXHJcbiAgICAgIFwia2V5RmllbGRcIixcclxuICAgICAgXCJzaG93SWNvblwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gPE1lbnUgey4uLm1lbnVQcm9wc30+e3RoaXMucmVuZGVyQ2hpbGRyZW4oKX08L01lbnU+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
258
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlN0b3JlIiwidXRpbHMiLCJnZXRJY29uIiwib21pdCIsIlN1Yk1lbnUiLCJJdGVtIiwiSXRlbUdyb3VwIiwiTlNDTWVudSIsInByb3BzIiwiZGF0YVNvdXJjZSIsIm1lbnVzRGF0YSIsIkFycmF5IiwiaXNBcnJheSIsInRpdGxlRmllbGQiLCJrZXlGaWVsZCIsInNob3dJY29uIiwic3ViTWVudVByb3BzIiwidG9vbHRpcCIsIm1hcCIsIml0ZW0iLCJzdHlsZSIsImljb24iLCJkaXNhYmxlZCIsInNwYW50aXRsZSIsIm1lbnVHcm91cERhdGEiLCJtZW51RGF0YSIsImNoaWxkRGF0YSIsImdydW9wdGl0bGUiLCJncm91cE5hbWUiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsImtleSIsInJlbmRlck1lbnVJdGVtIiwiY2hpbGRyZW4iLCJzdGF0ZSIsImRhdGEiLCJzdG9yZSIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsInN0b3JlcyIsIkVycm9yIiwiX3RoaXMiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImF1dG9Mb2FkIiwibWVudVByb3BzIiwicmVuZGVyQ2hpbGRyZW4iLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBR0EsT0FBT0MsS0FBUCxNQUFrQyxhQUFs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Q0FBYixDQUF0QjtBQU9BLDBCQUFPLDJCQUFVZ0QsU0FBVixFQUFzQixLQUFLQyxjQUFMLEVBQXRCLENBQVA7QUFDRDs7O1dBektELGtDQUFnQ0MsU0FBaEMsRUFBMkNDLFNBQTNDLEVBQTJEO0FBQ3pELFVBQVFsRCxVQUFSLEdBQXVCa0QsU0FBdkIsQ0FBUWxELFVBQVI7QUFDQSxVQUFRMkIsSUFBUixHQUFpQnNCLFNBQWpCLENBQVF0QixJQUFSOztBQUNBLFVBQUlBLElBQUosRUFBVTtBQUNSLFlBQUl3QixJQUFJLENBQUNDLFNBQUwsQ0FBZXBELFVBQWYsTUFBK0JtRCxJQUFJLENBQUNDLFNBQUwsQ0FBZXpCLElBQWYsQ0FBbkMsRUFBeUQ7QUFDdkQsaUJBQU87QUFDTDNCLFlBQUFBLFVBQVUsRUFBRTJCO0FBRFAsV0FBUDtBQUdEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUFyQmtDckMsYTs7Z0JBQWhCUSxPLGFBQ0ZILE87O2dCQURFRyxPLFVBRUxGLEk7O2dCQUZLRSxPLGVBR0FELFM7O1NBSEFDLE8iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMTYgMDk6NDM6MjhcclxuICogQExhc3RFZGl0b3JzOiBQbGVhc2Ugc2V0IExhc3RFZGl0b3JzXHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjItMDItMjYgMTU6MTM6MjJcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBNZW51LCBNZW51UHJvcHMsIFN1Yk1lbnVQcm9wcywgVG9vbHRpcCB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgeyBnZXRJY29uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcblxyXG5pbnRlcmZhY2UgSU1lbnVQcm9wcyBleHRlbmRzIE1lbnVQcm9wcyB7XHJcbiAgZGF0YT86IEFycmF5PG9iamVjdD47XHJcbiAgdGl0bGVGaWVsZD86IHN0cmluZztcclxuICBrZXlGaWVsZD86IHN0cmluZztcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd0ljb24/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekumljb24gLOm7mOiupHRydWVcclxuICBzdWJNZW51UHJvcHM/OiBTdWJNZW51UHJvcHM7XHJcbiAgdG9vbHRpcD86IGJvb2xlYW47XHJcbn1cclxuY29uc3QgeyBTdWJNZW51LCBJdGVtLCBJdGVtR3JvdXAgfSA9IE1lbnU7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NNZW51IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJTWVudVByb3BzPiB7XHJcbiAgc3RhdGljIFN1Yk1lbnUgPSBTdWJNZW51O1xyXG4gIHN0YXRpYyBJdGVtID0gSXRlbTtcclxuICBzdGF0aWMgSXRlbUdyb3VwID0gSXRlbUdyb3VwO1xyXG5cclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gIH07XHJcblxyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSB9ID0gcHJldlN0YXRlO1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBpZiAoZGF0YSkge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KGRhdGEpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IGRhdGEsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7IGRhdGEsIHN0b3JlID0ge30sIGNoaWxkcmVuIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdXJsLCBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSwgdmlld25hbWUsIC4uLnN0b3JlcyB9ID0gc3RvcmU7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdXJsKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgWRhdGHkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodXJsICYmIGRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmRhdGEpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5wcm9wcy5kYXRhLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyTWVudUl0ZW0gPSAobWVudXNEYXRhKSA9PiB7XHJcbiAgICBpZiAoIW1lbnVzRGF0YSB8fCAhQXJyYXkuaXNBcnJheShtZW51c0RhdGEpKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHtcclxuICAgICAgdGl0bGVGaWVsZCA9IFwidGl0bGVcIixcclxuICAgICAga2V5RmllbGQgPSBcImtleVwiLFxyXG4gICAgICBzaG93SWNvbiA9IHRydWUsXHJcbiAgICAgIHN1Yk1lbnVQcm9wcyA9IHt9LFxyXG4gICAgICB0b29sdGlwID0gZmFsc2UsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiBtZW51c0RhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgc3R5bGUsIGljb24sIGRpc2FibGVkIH0gPSBpdGVtO1xyXG4gICAgICBjb25zdCBzcGFudGl0bGUgPSA8c3BhbiBzdHlsZT17c3R5bGV9PntpdGVtW3RpdGxlRmllbGRdfTwvc3Bhbj47XHJcbiAgICAgIGlmIChpdGVtW1wiY2hpbGROb2Rlc1wiXSB8fCBpdGVtW1wiY2hpbGRyZW5cIl0pIHtcclxuICAgICAgICBsZXQgbWVudUdyb3VwRGF0YSA9IHt9LFxyXG4gICAgICAgICAgbWVudURhdGEgPSBbXTtcclxuICAgICAgICBsZXQgY2hpbGREYXRhID0gaXRlbVtcImNoaWxkTm9kZXNcIl0gfHwgaXRlbVtcImNoaWxkcmVuXCJdO1xyXG4gICAgICAgIGNoaWxkRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGxldCBncnVvcHRpdGxlID0gaXRlbS5ncm91cE5hbWU7XHJcbiAgICAgICAgICBpZiAoZ3J1b3B0aXRsZSkge1xyXG4gICAgICAgICAgICBpZiAoIW1lbnVHcm91cERhdGFbZ3J1b3B0aXRsZV0pIG1lbnVHcm91cERhdGFbZ3J1b3B0aXRsZV0gPSBbXTtcclxuICAgICAgICAgICAgbWVudUdyb3VwRGF0YVtncnVvcHRpdGxlXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVudURhdGEucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPFN1Yk1lbnVcclxuICAgICAgICAgICAga2V5PXtpdGVtW2tleUZpZWxkXX1cclxuICAgICAgICAgICAgdGl0bGU9e1xyXG4gICAgICAgICAgICAgIHNob3dJY29uICYmIGljb24gPyAoXHJcbiAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAge2dldEljb24oaWNvbil9XHJcbiAgICAgICAgICAgICAgICAgIHt0b29sdGlwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzcGFudGl0bGV9PntzcGFudGl0bGV9PC9Ub29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgIHsgc3BhbnRpdGxlIH1cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHt0b29sdGlwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzcGFudGl0bGV9PntzcGFudGl0bGV9PC9Ub29sdGlwPlxyXG4gICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgIHsgc3BhbnRpdGxlIH1cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgey4uLnN1Yk1lbnVQcm9wc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge09iamVjdC5rZXlzKG1lbnVHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgIDxJdGVtR3JvdXAga2V5PXtrZXl9IHRpdGxlPXtrZXl9PlxyXG4gICAgICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJNZW51SXRlbShtZW51R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgICAgICAgPC9JdGVtR3JvdXA+XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck1lbnVJdGVtKG1lbnVEYXRhKX1cclxuICAgICAgICAgIDwvU3ViTWVudT5cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8TWVudS5JdGVtIGtleT17aXRlbVtrZXlGaWVsZF19IGRpc2FibGVkPXtkaXNhYmxlZH0+XHJcbiAgICAgICAgICAgIHtzaG93SWNvbiAmJiBpY29uID8gKFxyXG4gICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAge2dldEljb24oaWNvbil9XHJcbiAgICAgICAgICAgICAgICB7dG9vbHRpcCA/IChcclxuICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3NwYW50aXRsZX0+e3NwYW50aXRsZX08L1Rvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICB7IHNwYW50aXRsZSB9XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgIHt0b29sdGlwID8gKFxyXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17c3BhbnRpdGxlfT57c3BhbnRpdGxlfTwvVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgIHsgc3BhbnRpdGxlIH1cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC9NZW51Lkl0ZW0+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfTtcclxuICByZW5kZXJDaGlsZHJlbiA9ICgpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlck1lbnVJdGVtKGRhdGFTb3VyY2UpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IG1lbnVQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImRhdGFcIixcclxuICAgICAgXCJzdG9yZVwiLFxyXG4gICAgICBcInRpdGxlRmllbGRcIixcclxuICAgICAgXCJrZXlGaWVsZFwiLFxyXG4gICAgICBcInNob3dJY29uXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiA8TWVudSB7Li4ubWVudVByb3BzfT57dGhpcy5yZW5kZXJDaGlsZHJlbigpfTwvTWVudT47XHJcbiAgfVxyXG59XHJcbiJdfQ==
|