nsc-react-component 1.0.27 → 1.1.3
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/Interface.d.ts +4 -4
- package/lib/button/index.d.ts +27 -27
- package/lib/button/index.js +5 -5
- package/lib/button/index.less +371 -371
- package/lib/cascader/index.d.ts +27 -27
- package/lib/cascader/index.js +8 -8
- package/lib/chart/index.d.ts +38 -0
- package/lib/chart/index.js +291 -0
- package/lib/checkbox/CheckboxGroup.d.ts +22 -22
- package/lib/checkbox/CheckboxGroup.js +8 -8
- package/lib/checkbox/index.d.ts +8 -8
- package/lib/checkbox/index.js +8 -8
- package/lib/common/BodyRow/index.d.ts +26 -26
- package/lib/common/Icon.d.ts +14 -14
- package/lib/common/IconFont.d.ts +4 -4
- package/lib/common/NoAuthority.d.ts +4 -4
- package/lib/common/NoAuthority.js +1 -1
- package/lib/common/NoData.d.ts +4 -4
- package/lib/common/NoData.js +1 -1
- package/lib/common/NoData.less +13 -13
- package/lib/common/NoMessage.d.ts +4 -4
- package/lib/common/NoMessage.js +1 -1
- package/lib/common/NoNetWork.d.ts +4 -4
- package/lib/common/NoNetWork.js +1 -1
- package/lib/common/Page404.d.ts +4 -4
- package/lib/common/Page404.js +1 -1
- package/lib/common/PageRequest.d.ts +45 -45
- package/lib/common/TreePanel.d.ts +74 -74
- package/lib/common/withZhLocale.d.ts +3 -3
- package/lib/config.d.ts +20 -20
- package/lib/datepick/Rangepicker.d.ts +4 -4
- package/lib/datepick/Rangepicker.js +11 -11
- package/lib/datepick/index.d.ts +3 -3
- package/lib/datepick/index.js +8 -8
- package/lib/datepick/index.less +27 -27
- package/lib/form/Form.d.ts +47 -47
- package/lib/form/Form.js +8 -8
- package/lib/form/filed/Cascader.d.ts +6 -6
- package/lib/form/filed/Cascader.js +8 -8
- package/lib/form/filed/Checkbox.d.ts +6 -6
- package/lib/form/filed/Checkbox.js +8 -8
- package/lib/form/filed/DatePicker.d.ts +6 -6
- package/lib/form/filed/DatePicker.js +8 -8
- package/lib/form/filed/FormItem.d.ts +11 -11
- package/lib/form/filed/FormItem.js +8 -8
- package/lib/form/filed/Input.d.ts +7 -7
- package/lib/form/filed/Input.js +8 -8
- package/lib/form/filed/InputEamil.d.ts +6 -6
- package/lib/form/filed/InputEamil.js +8 -8
- package/lib/form/filed/InputNumber.d.ts +6 -6
- package/lib/form/filed/InputNumber.js +8 -8
- package/lib/form/filed/InputPassword.d.ts +6 -6
- package/lib/form/filed/InputPassword.js +8 -8
- package/lib/form/filed/Item.d.ts +17 -17
- package/lib/form/filed/Item.js +10 -10
- package/lib/form/filed/Radio.d.ts +6 -6
- package/lib/form/filed/Radio.js +8 -8
- package/lib/form/filed/RangerPicker.d.ts +6 -6
- package/lib/form/filed/RangerPicker.js +8 -8
- package/lib/form/filed/Rate.d.ts +6 -6
- package/lib/form/filed/Rate.js +8 -8
- package/lib/form/filed/Select.d.ts +6 -6
- package/lib/form/filed/Select.js +8 -8
- package/lib/form/filed/Slider.d.ts +6 -6
- package/lib/form/filed/Slider.js +8 -8
- package/lib/form/filed/Switch.d.ts +6 -6
- package/lib/form/filed/Switch.js +8 -8
- package/lib/form/filed/TagSelect.d.ts +6 -6
- package/lib/form/filed/TagSelect.js +1 -1
- package/lib/form/filed/TextArea.d.ts +6 -6
- package/lib/form/filed/TextArea.js +8 -8
- package/lib/form/filed/Upload.d.ts +6 -6
- package/lib/form/filed/Upload.js +8 -8
- package/lib/form/index.d.ts +41 -41
- package/lib/form/index.js +1 -1
- package/lib/index.d.ts +29 -26
- package/lib/index.js +11 -8
- package/lib/input/Email.d.ts +16 -16
- package/lib/input/Email.js +8 -8
- package/lib/input/Number.d.ts +13 -13
- package/lib/input/Number.js +8 -8
- package/lib/input/Password.d.ts +16 -16
- package/lib/input/Password.js +8 -8
- package/lib/input/Search.d.ts +16 -16
- package/lib/input/Search.js +1 -1
- package/lib/input/TextArea.d.ts +16 -16
- package/lib/input/TextArea.js +8 -8
- package/lib/input/index.d.ts +33 -33
- package/lib/input/index.js +10 -10
- package/lib/input/index.less +18 -18
- package/lib/menu/index.d.ts +27 -28
- package/lib/menu/index.js +13 -14
- package/lib/modal/index.d.ts +31 -0
- package/lib/modal/index.js +186 -0
- package/lib/pagecomponent/index.d.ts +3 -0
- package/lib/pagecomponent/index.js +36 -0
- package/lib/radio/RadioGroup.d.ts +25 -25
- package/lib/radio/RadioGroup.js +8 -8
- package/lib/radio/index.d.ts +11 -11
- package/lib/radio/index.js +8 -8
- package/lib/select/index.d.ts +29 -29
- package/lib/select/index.js +1 -1
- package/lib/select/index.less +21 -21
- package/lib/table/index.d.ts +87 -87
- package/lib/table/index.js +17 -17
- package/lib/tabs/Tabpane.d.ts +13 -13
- package/lib/tabs/Tabpane.js +8 -8
- package/lib/tabs/index.d.ts +18 -18
- package/lib/tabs/index.js +8 -8
- package/lib/tagSelect/TagSelect.d.ts +51 -51
- package/lib/tagSelect/TagSelect.js +8 -8
- package/lib/tagSelect/index.d.ts +23 -23
- package/lib/tagSelect/index.js +1 -1
- package/lib/tagSelect/index.less +33 -33
- package/lib/tree/TreeSearch.d.ts +42 -42
- package/lib/tree/index.d.ts +62 -62
- package/lib/treeUtils.d.ts +70 -70
- package/lib/utils.d.ts +17 -14
- package/lib/utils.js +28 -9
- package/package.json +73 -72
package/lib/select/index.less
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
.nsc_select {
|
|
2
|
-
:global {
|
|
3
|
-
.ant-select {
|
|
4
|
-
width: 100% !important;
|
|
5
|
-
}
|
|
6
|
-
.ant-select-selection-item {
|
|
7
|
-
line-height: 40px !important;
|
|
8
|
-
}
|
|
9
|
-
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
|
10
|
-
line-height: 40px !important;
|
|
11
|
-
border-radius: 6px;
|
|
12
|
-
}
|
|
13
|
-
.ant-select-selection-placeholder {
|
|
14
|
-
line-height: 40px !important;
|
|
15
|
-
}
|
|
16
|
-
.ant-select-selector {
|
|
17
|
-
height: 40px !important;
|
|
18
|
-
width: 100% !important;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
.nsc_select {
|
|
2
|
+
:global {
|
|
3
|
+
.ant-select {
|
|
4
|
+
width: 100% !important;
|
|
5
|
+
}
|
|
6
|
+
.ant-select-selection-item {
|
|
7
|
+
line-height: 40px !important;
|
|
8
|
+
}
|
|
9
|
+
.ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
|
10
|
+
line-height: 40px !important;
|
|
11
|
+
border-radius: 6px;
|
|
12
|
+
}
|
|
13
|
+
.ant-select-selection-placeholder {
|
|
14
|
+
line-height: 40px !important;
|
|
15
|
+
}
|
|
16
|
+
.ant-select-selector {
|
|
17
|
+
height: 40px !important;
|
|
18
|
+
width: 100% !important;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
package/lib/table/index.d.ts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import { StoreProps } from "@bj-nsc/msn";
|
|
2
|
-
import { TableProps } from "antd";
|
|
3
|
-
import { TablePaginationConfig } from "antd/lib/table";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { DndContextType, IBodyRowProps } from "../common/BodyRow";
|
|
6
|
-
interface IDragParams {
|
|
7
|
-
id: string | number;
|
|
8
|
-
ids: Array<string | number>;
|
|
9
|
-
parentId: string | number;
|
|
10
|
-
}
|
|
11
|
-
export declare type StoreType = "PageStore" | "TreeStore" | "BaseStore";
|
|
12
|
-
interface NSCTablePagination extends TablePaginationConfig {
|
|
13
|
-
totalKey?: string;
|
|
14
|
-
pageSizeKey?: string;
|
|
15
|
-
currentKey?: string;
|
|
16
|
-
}
|
|
17
|
-
interface NSCTableProps extends TableProps<any> {
|
|
18
|
-
store?: StoreProps;
|
|
19
|
-
showTotal?: boolean;
|
|
20
|
-
disableColumns?: string[];
|
|
21
|
-
dragable?: boolean;
|
|
22
|
-
filterColumn?: boolean;
|
|
23
|
-
moveRow?: (params: IDragParams) => void;
|
|
24
|
-
dragUrl?: string;
|
|
25
|
-
pagination?: false | NSCTablePagination;
|
|
26
|
-
autoPagination?: boolean;
|
|
27
|
-
autoSort?: boolean;
|
|
28
|
-
autoOnChange?: boolean;
|
|
29
|
-
}
|
|
30
|
-
export declare type INSCTableProps = typeof NSCTable.defaultProps & NSCTableProps;
|
|
31
|
-
export { DndContextType, IBodyRowProps };
|
|
32
|
-
declare class NSCTable extends React.Component<INSCTableProps> {
|
|
33
|
-
static defaultProps: {
|
|
34
|
-
disableColumns: any[];
|
|
35
|
-
dragable: boolean;
|
|
36
|
-
showTotal: boolean;
|
|
37
|
-
filterColumn: boolean;
|
|
38
|
-
dragUrl: string;
|
|
39
|
-
autoPagination: boolean;
|
|
40
|
-
autoSort: boolean;
|
|
41
|
-
autoOnChange: boolean;
|
|
42
|
-
};
|
|
43
|
-
store: any;
|
|
44
|
-
thIconRef: React.RefObject<HTMLDivElement>;
|
|
45
|
-
state: {
|
|
46
|
-
dataSource: any[];
|
|
47
|
-
columns: any[];
|
|
48
|
-
loading: boolean;
|
|
49
|
-
pagination: {};
|
|
50
|
-
activeIndex: number;
|
|
51
|
-
searchText: any;
|
|
52
|
-
fieldOption: any;
|
|
53
|
-
searchColor: any;
|
|
54
|
-
};
|
|
55
|
-
listeners: {
|
|
56
|
-
onBeforeLoad: any;
|
|
57
|
-
load: any;
|
|
58
|
-
};
|
|
59
|
-
constructor(props: any);
|
|
60
|
-
componentDidMount(): void;
|
|
61
|
-
componentDidUpdate(prevProps: any): void;
|
|
62
|
-
/**
|
|
63
|
-
* 清除选中颜色
|
|
64
|
-
*/
|
|
65
|
-
clearSelectColor(): this;
|
|
66
|
-
getPaginationByStore(): any;
|
|
67
|
-
onChange(pagination: any, filters: any, sorter: any, extra: any): void;
|
|
68
|
-
getStore(): any;
|
|
69
|
-
/**
|
|
70
|
-
* 获取数据模型对象
|
|
71
|
-
*/
|
|
72
|
-
getModel(): any;
|
|
73
|
-
/**
|
|
74
|
-
* 菜单搜索过滤显示
|
|
75
|
-
* @param {String} val
|
|
76
|
-
*/
|
|
77
|
-
handleSearch(val: any, fieldOption: any, searchColor: any): void;
|
|
78
|
-
/**
|
|
79
|
-
* 模块列表移动排序
|
|
80
|
-
*/
|
|
81
|
-
moveRow: (dragIndex: any, hoverIndex: any, drag: any, target: any) => void;
|
|
82
|
-
filterColumn(checkedValue: any): void;
|
|
83
|
-
getColumns(): any[];
|
|
84
|
-
render(): JSX.Element;
|
|
85
|
-
}
|
|
86
|
-
declare const _default: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<any>>;
|
|
87
|
-
export default _default;
|
|
1
|
+
import { StoreProps } from "@bj-nsc/msn";
|
|
2
|
+
import { TableProps } from "antd";
|
|
3
|
+
import { TablePaginationConfig } from "antd/lib/table";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { DndContextType, IBodyRowProps } from "../common/BodyRow";
|
|
6
|
+
interface IDragParams {
|
|
7
|
+
id: string | number;
|
|
8
|
+
ids: Array<string | number>;
|
|
9
|
+
parentId: string | number;
|
|
10
|
+
}
|
|
11
|
+
export declare type StoreType = "PageStore" | "TreeStore" | "BaseStore";
|
|
12
|
+
interface NSCTablePagination extends TablePaginationConfig {
|
|
13
|
+
totalKey?: string;
|
|
14
|
+
pageSizeKey?: string;
|
|
15
|
+
currentKey?: string;
|
|
16
|
+
}
|
|
17
|
+
interface NSCTableProps extends TableProps<any> {
|
|
18
|
+
store?: StoreProps;
|
|
19
|
+
showTotal?: boolean;
|
|
20
|
+
disableColumns?: string[];
|
|
21
|
+
dragable?: boolean;
|
|
22
|
+
filterColumn?: boolean;
|
|
23
|
+
moveRow?: (params: IDragParams) => void;
|
|
24
|
+
dragUrl?: string;
|
|
25
|
+
pagination?: false | NSCTablePagination;
|
|
26
|
+
autoPagination?: boolean;
|
|
27
|
+
autoSort?: boolean;
|
|
28
|
+
autoOnChange?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare type INSCTableProps = typeof NSCTable.defaultProps & NSCTableProps;
|
|
31
|
+
export { DndContextType, IBodyRowProps };
|
|
32
|
+
declare class NSCTable extends React.Component<INSCTableProps> {
|
|
33
|
+
static defaultProps: {
|
|
34
|
+
disableColumns: any[];
|
|
35
|
+
dragable: boolean;
|
|
36
|
+
showTotal: boolean;
|
|
37
|
+
filterColumn: boolean;
|
|
38
|
+
dragUrl: string;
|
|
39
|
+
autoPagination: boolean;
|
|
40
|
+
autoSort: boolean;
|
|
41
|
+
autoOnChange: boolean;
|
|
42
|
+
};
|
|
43
|
+
store: any;
|
|
44
|
+
thIconRef: React.RefObject<HTMLDivElement>;
|
|
45
|
+
state: {
|
|
46
|
+
dataSource: any[];
|
|
47
|
+
columns: any[];
|
|
48
|
+
loading: boolean;
|
|
49
|
+
pagination: {};
|
|
50
|
+
activeIndex: number;
|
|
51
|
+
searchText: any;
|
|
52
|
+
fieldOption: any;
|
|
53
|
+
searchColor: any;
|
|
54
|
+
};
|
|
55
|
+
listeners: {
|
|
56
|
+
onBeforeLoad: any;
|
|
57
|
+
load: any;
|
|
58
|
+
};
|
|
59
|
+
constructor(props: any);
|
|
60
|
+
componentDidMount(): void;
|
|
61
|
+
componentDidUpdate(prevProps: any): void;
|
|
62
|
+
/**
|
|
63
|
+
* 清除选中颜色
|
|
64
|
+
*/
|
|
65
|
+
clearSelectColor(): this;
|
|
66
|
+
getPaginationByStore(): any;
|
|
67
|
+
onChange(pagination: any, filters: any, sorter: any, extra: any): void;
|
|
68
|
+
getStore(): any;
|
|
69
|
+
/**
|
|
70
|
+
* 获取数据模型对象
|
|
71
|
+
*/
|
|
72
|
+
getModel(): any;
|
|
73
|
+
/**
|
|
74
|
+
* 菜单搜索过滤显示
|
|
75
|
+
* @param {String} val
|
|
76
|
+
*/
|
|
77
|
+
handleSearch(val: any, fieldOption: any, searchColor: any): void;
|
|
78
|
+
/**
|
|
79
|
+
* 模块列表移动排序
|
|
80
|
+
*/
|
|
81
|
+
moveRow: (dragIndex: any, hoverIndex: any, drag: any, target: any) => void;
|
|
82
|
+
filterColumn(checkedValue: any): void;
|
|
83
|
+
getColumns(): any[];
|
|
84
|
+
render(): JSX.Element;
|
|
85
|
+
}
|
|
86
|
+
declare const _default: React.ForwardRefExoticComponent<Pick<any, string | number | symbol> & React.RefAttributes<any>>;
|
|
87
|
+
export default _default;
|
package/lib/table/index.js
CHANGED
|
@@ -62,13 +62,13 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
62
62
|
|
|
63
63
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
64
64
|
|
|
65
|
-
/*
|
|
66
|
-
* @Descripttion:
|
|
67
|
-
* @version:
|
|
68
|
-
* @Author: rxzhu
|
|
69
|
-
* @Date: 2021-03-23 08:46:20
|
|
70
|
-
* @LastEditors: rxzhu
|
|
71
|
-
* @LastEditTime: 2021-03-23 10:30:42
|
|
65
|
+
/*
|
|
66
|
+
* @Descripttion:
|
|
67
|
+
* @version:
|
|
68
|
+
* @Author: rxzhu
|
|
69
|
+
* @Date: 2021-03-23 08:46:20
|
|
70
|
+
* @LastEditors: rxzhu
|
|
71
|
+
* @LastEditTime: 2021-03-23 10:30:42
|
|
72
72
|
*/
|
|
73
73
|
import { AppstoreOutlined } from "@ant-design/icons";
|
|
74
74
|
import { isEmptyObj } from "@bj-nsc/functions";
|
|
@@ -228,8 +228,8 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
/**
|
|
232
|
-
* 清除选中颜色
|
|
231
|
+
/**
|
|
232
|
+
* 清除选中颜色
|
|
233
233
|
*/
|
|
234
234
|
|
|
235
235
|
}, {
|
|
@@ -304,8 +304,8 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
304
304
|
value: function getStore() {
|
|
305
305
|
return this.store;
|
|
306
306
|
}
|
|
307
|
-
/**
|
|
308
|
-
* 获取数据模型对象
|
|
307
|
+
/**
|
|
308
|
+
* 获取数据模型对象
|
|
309
309
|
*/
|
|
310
310
|
|
|
311
311
|
}, {
|
|
@@ -313,9 +313,9 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
313
313
|
value: function getModel() {
|
|
314
314
|
return this.store.getModel();
|
|
315
315
|
}
|
|
316
|
-
/**
|
|
317
|
-
* 菜单搜索过滤显示
|
|
318
|
-
* @param {String} val
|
|
316
|
+
/**
|
|
317
|
+
* 菜单搜索过滤显示
|
|
318
|
+
* @param {String} val
|
|
319
319
|
*/
|
|
320
320
|
|
|
321
321
|
}, {
|
|
@@ -327,8 +327,8 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
327
327
|
searchColor: searchColor
|
|
328
328
|
});
|
|
329
329
|
}
|
|
330
|
-
/**
|
|
331
|
-
* 模块列表移动排序
|
|
330
|
+
/**
|
|
331
|
+
* 模块列表移动排序
|
|
332
332
|
*/
|
|
333
333
|
|
|
334
334
|
}, {
|
|
@@ -544,4 +544,4 @@ _defineProperty(NSCTable, "defaultProps", {
|
|
|
544
544
|
});
|
|
545
545
|
|
|
546
546
|
export default withZhLocale(NSCTable);
|
|
547
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYmxlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJBcHBzdG9yZU91dGxpbmVkIiwiaXNFbXB0eU9iaiIsIlN0b3JlIiwiUGFnZVN0b3JlIiwidXRpbHMiLCJSZWFjdCIsIkRuZFByb3ZpZGVyIiwiQm9keVJvdyIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsInRyZWVVdGlscyIsInN0eWxlcyIsIkJvZHlSb3dDb21wb25lbnQiLCJIVE1MNUJhY2tlbmQiLCJ3aXRoWmhMb2NhbGUiLCJOb0RhdGEiLCJOU0NUYWJsZSIsInByb3BzIiwiY3JlYXRlUmVmIiwiZGF0YVNvdXJjZSIsImNvbHVtbnMiLCJsb2FkaW5nIiwicGFnaW5hdGlvbiIsImFjdGl2ZUluZGV4Iiwic2VhcmNoVGV4dCIsImZpZWxkT3B0aW9uIiwic2VhcmNoQ29sb3IiLCJvbkJlZm9yZUxvYWQiLCJsb2FkIiwiZHJhZ0luZGV4IiwiaG92ZXJJbmRleCIsImRyYWciLCJ0YXJnZXQiLCJfdGhpcyIsImRyYWdOb2RlIiwicmVjb3JkIiwidGFyZ2V0Tm9kZSIsIm1vdmVBcnJheSIsImlkcyIsInBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVJZHMiLCJwYXJhbXMiLCJpZCIsInBhcmVudElkIiwiYXR0cmlidXRlIiwibW92ZVJvdyIsInN0b3JlIiwicmVsb2FkIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvcHRpb25zIiwic2V0U3RhdGUiLCJjYWxsYmFjayIsImRhdGFDaGFuZ2VkIiwiZGF0YSIsIm1vZGVsRGF0YSIsInBhZ2luZyIsImdldFBhZ2luYXRpb24iLCJvbkVycm9yTG9hZCIsImVyciIsInJlc3BvbnNlIiwiYXV0b0xvYWQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXREYXRhIiwicHJldlByb3BzIiwiZmlsdGVycyIsInNvcnRlciIsImV4dHJhIiwiYXV0b09uQ2hhbmdlIiwiYXV0b1NvcnQiLCJhdXRvUGFnaW5hdGlvbiIsIm9uQ2hhbmdlIiwiaGFuZGxlUGFnaW5hdGlvbiIsImdldFBhZ2luYXRpb25CeVN0b3JlIiwicCIsImN1cnJlbnRLZXkiLCJjdXJyZW50IiwicGFnZVNpemVLZXkiLCJwYWdlU2l6ZSIsIm9yZGVyIiwiYXNjcyIsImNvbHVtbiIsInNvcnRGaWVsZCIsImZpZWxkIiwiZGVzY3MiLCJvbkNoYW5nZUZuIiwiZ2V0TW9kZWwiLCJ2YWwiLCJjaGVja2VkVmFsdWUiLCJmaWx0ZXJDb2x1bW5zIiwibWFwIiwiY29sIiwibmV3Q29sIiwiaW5jbHVkZXMiLCJkYXRhSW5kZXgiLCJpbml0U2hvdyIsInN0YXRlIiwiZGlzYWJsZUNvbHVtbnMiLCJjb2xMaXN0cyIsImRlZmF1bHRTaG93Q29scyIsImZpbHRlciIsImNvbHMiLCJkZWZhdWx0SGlkZUNvbHMiLCJjb250ZW50IiwiZmlsdGVyQ29sdW1uIiwiYmluZCIsImxhYmVsIiwidGl0bGUiLCJ2YWx1ZSIsImVsbGlwc2lzIiwicmVuZGVyIiwic2hvd1RpdGxlIiwidGV4dCIsIkljb25BY3Rpb24iLCJ0aEljb25SZWYiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwia2V5Iiwid2lkdGgiLCJhbGlnbiIsInB1c2giLCJvbWl0Iiwicm93S2V5IiwiY2xpY2tDaGFuZ2VDb2xvciIsInBvc2l0aW9uIiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1F1aWNrSnVtcGVyIiwic2hvd1RvdGFsIiwidG90YWwiLCJmcm9tIiwidG8iLCJvblJvd0ZuIiwib25Sb3ciLCJpbmRleCIsImN1c3RvbSIsIm9uQ2xpY2tGbiIsIm9uQ2xpY2siLCJldmVudCIsInJvd0NsYXNzTmFtZSIsImNsaWNrUm93U3R5bGUiLCJuZXdEYXRhU291cmNlIiwiZ2V0U2VhcmNoTWVudURhdGFzIiwidHJlZURhdGFzIiwiZXhwYW5kZWRSb3dLZXlzIiwib3BlbktleXMiLCJkcmFnYWJsZSIsImRyYWdhYmxlUHJvcHMiLCJjb21wb25lbnRzIiwiRGVmYXVsdFRhYmxlIiwiZ2V0Q29sdW1ucyIsImVtcHR5VGV4dCIsIkNvbXBvbmVudCIsImRyYWdVcmwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsZ0JBQVQsUUFBaUMsbUJBQWpDO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7QUFDQSxPQUFPQyxLQUFQLElBQWdCQyxTQUFoQixRQUE2QyxhQUE3QztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBVUEsT0FBTyxLQUFLQyxLQUFaLE1BQXVCLE9BQXZCO0FBQ0EsU0FBU0MsV0FBVCxRQUE0QixXQUE1QjtBQUNBLE9BQU9DLE9BQVAsSUFBa0JDLGNBQWxCLEVBQWtDQyxhQUFsQyxRQUF1RCxtQkFBdkQ7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLGNBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLElBQVFDLGdCQUFSLEdBQTJDTCxPQUEzQyxDQUFRSyxnQkFBUjtBQUFBLElBQTBCQyxZQUExQixHQUEyQ04sT0FBM0MsQ0FBMEJNLFlBQTFCO0FBQ0EsT0FBT0MsWUFBUCxNQUF5Qix3QkFBekI7QUFDQSxTQUFTQyxNQUFULFFBQXVCLElBQXZCO0FBZ0NBLFNBQVNQLGNBQVQsRUFBeUJDLGFBQXpCOztJQUNNTyxROzs7OztBQWdDSixvQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBcEJYLEVBb0JXOztBQUFBLDhFQW5CUFosS0FBSyxDQUFDYSxTQUFOLEVBbUJPOztBQUFBLDZEQWpCWDtBQUNOQyxNQUFBQSxVQUFVLEVBQUUsRUFETjtBQUVOQyxNQUFBQSxPQUFPLEVBQUUsRUFGSDtBQUdOQyxNQUFBQSxPQUFPLEVBQUUsS0FISDtBQUlOQyxNQUFBQSxVQUFVLEVBQUUsRUFKTjtB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ekJ2RyxZQUFBQSxNQUFNLEVBQU5BLE1BRnlCO0FBR3pCVSxZQUFBQSxPQUFPLEVBQUUsTUFBSSxDQUFDQTtBQUhXLFdBQXBCO0FBQUE7QUFGVCxPQURKLEdBU0ksRUFWTjtBQVdBLFVBQU00RyxZQUFZLGdCQUNoQjtBQUNFLFFBQUEsa0JBQWtCLEVBQUMsWUFEckI7QUFFRSxRQUFBLFVBQVUsRUFBRVIsYUFGZDtBQUdFLFFBQUEsT0FBTyxFQUFFLEtBQUtTLFVBQUwsRUFIWDtBQUlFLFFBQUEsT0FBTyxFQUFFckksT0FKWDtBQUtFLFFBQUEsU0FBUyxFQUFFVixNQUFNLENBQUMsV0FBRCxDQUxuQjtBQU1FLFFBQUEsTUFBTSxFQUFFO0FBQUVnSixVQUFBQSxTQUFTLGVBQUUsb0JBQUMsTUFBRDtBQUFiO0FBTlYsU0FPTTFJLEtBUE4sRUFRTXNJLGFBUk4sRUFERjtBQWFBLGFBQU9ELFFBQVEsS0FBSyxJQUFiLGdCQUNMLG9CQUFDLFdBQUQ7QUFBYSxRQUFBLE9BQU8sRUFBRXpJO0FBQXRCLFNBQXFDNEksWUFBckMsQ0FESyxHQUdMQSxZQUhGO0FBS0Q7Ozs7RUE1WW9CcEosS0FBSyxDQUFDdUosUzs7Z0JBQXZCNUksUSxrQkFDa0I7QUFDcEJzRixFQUFBQSxjQUFjLEVBQUUsRUFESTtBQUVwQmdELEVBQUFBLFFBQVEsRUFBRSxLQUZVO0FBR3BCbEIsRUFBQUEsU0FBUyxFQUFFLElBSFM7QUFJcEJ2QixFQUFBQSxZQUFZLEVBQUUsSUFKTTtBQUtwQmdELEVBQUFBLE9BQU8sRUFBRSxFQUxXO0FBTXBCbEYsRUFBQUEsY0FBYyxFQUFFLElBTkk7QUFPcEJELEVBQUFBLFFBQVEsRUFBRSxJQVBVO0FBUXBCRCxFQUFBQSxZQUFZLEVBQUU7QUFSTSxDOztBQThZeEIsZUFBZTNELFlBQVksQ0FBQ0UsUUFBRCxDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBARGVzY3JpcHR0aW9uOlxuICogQHZlcnNpb246XG4gKiBAQXV0aG9yOiByeHpodVxuICogQERhdGU6IDIwMjEtMDMtMjMgMDg6NDY6MjBcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDMtMjMgMTA6MzA6NDJcbiAqL1xuaW1wb3J0IHsgQXBwc3RvcmVPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xuaW1wb3J0IFN0b3JlLCB7IFBhZ2VTdG9yZSwgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XG5pbXBvcnQge1xuICBDaGVja2JveCxcbiAgQ2hlY2tib3hPcHRpb25UeXBlLFxuICBQb3BvdmVyLFxuICBUYWJsZSxcbiAgVGFibGVQcm9wcyxcbiAgVG9vbHRpcCxcbn0gZnJvbSBcImFudGRcIjtcbmltcG9ydCB7IENvbHVtblR5cGUsIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gXCJhbnRkL2xpYi90YWJsZVwiO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBEbmRQcm92aWRlciB9IGZyb20gXCJyZWFjdC1kbmRcIjtcbmltcG9ydCBCb2R5Um93LCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9Cb2R5Um93XCI7XG5pbXBvcnQgdHJlZVV0aWxzIGZyb20gXCIuLi90cmVlVXRpbHNcIjtcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xuY29uc3QgeyBCb2R5Um93Q29tcG9uZW50LCBIVE1MNUJhY2tlbmQgfSA9IEJvZHlSb3c7XG5pbXBvcnQgd2l0aFpoTG9jYWxlIGZyb20gXCIuLi9jb21tb24vd2l0aFpoTG9jYWxlXCI7XG5pbXBvcnQgeyBOb0RhdGEgfSBmcm9tIFwiLi5cIjtcblxuaW50ZXJmYWNlIElEcmFnUGFyYW1zIHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgaWRzOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xuICBwYXJlbnRJZDogc3RyaW5nIHwgbnVtYmVyO1xufVxuLy8gaW50ZXJmYWNlIFN0b3JlUHJvcHMge31cblxuZXhwb3J0IHR5cGUgU3RvcmVUeXBlID0gXCJQYWdlU3RvcmVcIiB8IFwiVHJlZVN0b3JlXCIgfCBcIkJhc2VTdG9yZVwiO1xuXG5pbnRlcmZhY2UgTlNDVGFibGVQYWdpbmF0aW9uIGV4dGVuZHMgVGFibGVQYWdpbmF0aW9uQ29uZmlnIHtcbiAgdG90YWxLZXk/OiBzdHJpbmc7XG4gIHBhZ2VTaXplS2V5Pzogc3RyaW5nO1xuICBjdXJyZW50S2V5Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTlNDVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlUHJvcHM8YW55PiB7XG4gIHN0b3JlPzogU3RvcmVQcm9wcztcbiAgc2hvd1RvdGFsPzogYm9vbGVhbjsgLy8g5piv5ZCm5pi+56S65oC75p2h5pWw5L+h5oGv77yM6buY6K6kdHJ1ZVxuICBkaXNhYmxlQ29sdW1ucz86IHN0cmluZ1tdOyAvLyDkuI3lj6/pmpDol4/lv4XpobvmmL7npLrnmoTliJdcbiAgZHJhZ2FibGU/OiBib29sZWFuOyAvLyDmmK/lkKblj6/mi5bliqgsIOm7mOiupGZhbHNlXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8vIOaYr+WQpuaUr+aMgei/h+a7pOaYvuekuuihqOagvOWIlywg6buY6K6kdHJ1ZVxuICBtb3ZlUm93PzogKHBhcmFtczogSURyYWdQYXJhbXMpID0+IHZvaWQ7IC8vIOaLluaLveWujOaIkOWQjueahOWbnuiwg1xuICBkcmFnVXJsPzogc3RyaW5nOyAvLyDkv53lrZjmi5bmi73mjpLluo/nmoTmjqXlj6NcbiAgcGFnaW5hdGlvbj86IGZhbHNlIHwgTlNDVGFibGVQYWdpbmF0aW9uO1xuICBhdXRvUGFnaW5hdGlvbj86IGJvb2xlYW47IC8vIOe7hOS7tuaYr+WQpuiHquWKqOWkhOeQhuWIhumhtVxuICBhdXRvU29ydD86IGJvb2xlYW47IC8v57uE5Lu25piv5ZCm6Ieq5Yqo5aSE55CG5o6S5bqPXG4gIGF1dG9PbkNoYW5nZT86IGJvb2xlYW47IC8vIOe7hOS7tuaYr+WQpuiHquWKqG9uQ2hhbmdlLCBmYWxzZeWImeS4jeWBmuS7u+S9leWkhOeQhuWFqOmDqOS6pOe7meiwg+eUqOaWuVxufVxuXG5leHBvcnQgdHlwZSBJTlNDVGFibGVQcm9wcyA9IHR5cGVvZiBOU0NUYWJsZS5kZWZhdWx0UHJvcHMgJiBOU0NUYWJsZVByb3BzO1xuZXhwb3J0IHsgRG5kQ29udGV4dFR5cGUsIElCb2R5Um93UHJvcHMgfTtcbmNsYXNzIE5TQ1RhYmxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElOU0NUYWJsZVByb3BzPiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGlzYWJsZUNvbHVtbnM6IFtdLFxuICAgIGRyYWdhYmxlOiBmYWxzZSxcbiAgICBzaG93VG90YWw6IHRydWUsXG4gICAgZmlsdGVyQ29sdW1uOiB0cnVlLFxuICAgIGRyYWdVcmw6IFwiXCIsXG4gICAgYXV0b1BhZ2luYXRpb246IHRydWUsXG4gICAgYXV0b1NvcnQ6IHRydWUsXG4gICAgYXV0b09uQ2hhbmdlOiB0cnVlLFxuICB9O1xuXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcbiAgdGhJY29uUmVmID0gUmVhY3QuY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xuXG4gIHN0YXRlID0ge1xuICAgIGRhdGFTb3VyY2U6IFtdLFxuICAgIGNvbHVtbnM6IFtdLFxuICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgIHBhZ2luYXRpb246IHt9LFxuICAgIGFjdGl2ZUluZGV4OiAtMSxcbiAgICAvL+aQnOe0ouaWh+acrFxuICAgIHNlYXJjaFRleHQ6IG51bGwsXG4gICAgZmllbGRPcHRpb246IG51bGwsXG4gICAgc2VhcmNoQ29sb3I6IG51bGwsXG4gIH07XG5cbiAgbGlzdGVuZXJzID0ge1xuICAgIG9uQmVmb3JlTG9hZDogbnVsbCxcbiAgICBsb2FkOiBudWxsLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIGlmIChwcm9wcy5zdG9yZSBpbnN0YW5jZW9mIFN0b3JlKSB7XG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQcm9wcyA9IHt9LCAuLi5yZXN0U3RvcmUgfSA9XG4gICAgICAgIHByb3BzLnN0b3JlIHx8IHt9O1xuICAgICAgY29uc3Qgc3RvcmVQcm9wcyA9IHtcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICBsaXN0ZW5lcnM6IHtcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IChzdG9yZSwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkJlZm9yZUxvYWQsIHRoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XG4gICAgICAgICAgICBsZXQgcGFnaW5nID0gISh0aGlzLnByb3BzLnBhZ2luYXRpb24gPT09IGZhbHNlKTtcblxuICAgICAgICAgICAgaWYgKHBhZ2luZyAmJiAhdGhpcy5wcm9wcy5kYXRhU291cmNlKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIGRhdGFTb3VyY2U6IG1vZGVsRGF0YSxcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBzdG9yZS5nZXRQYWdpbmF0aW9uKCksXG4gICAgICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgYWN0aXZlSW5kZXg6IC0xLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBtb2RlbERhdGEsIGxvYWRpbmc6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5kYXRhQ2hhbmdlZCwgdGhpcywgW1xuICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICBtb2RlbERhdGEsXG4gICAgICAgICAgICAgIHN0b3JlLFxuICAgICAgICAgICAgICBwYWdpbmcsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxvYWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5sb2FkLCB0aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25FcnJvckxvYWQ6IChlcnIsIHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkVycm9yTG9hZCwgdGhpcywgW2VyciwgcmVzcG9uc2VdKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiByZXN0U3RvcmUuZGF0YVxuICAgICAgICAgID8gcmVzdFN0b3JlLmRhdGFcbiAgICAgICAgICA6IHByb3BzLmRhdGFTb3VyY2VcbiAgICAgICAgICA/IHByb3BzLmRhdGFTb3VyY2VcbiAgICAgICAgICA6IG51bGwsXG4gICAgICAgIC4uLnJlc3RTdG9yZSxcbiAgICAgICAgYXV0b0xvYWQ6IHJlc3RTdG9yZS5hdXRvTG9hZCA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFBhZ2VTdG9yZShcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVQcm9wcywge1xuICAgICAgICAgIHBhZ2luYXRpb246IHRoaXMucHJvcHMucGFnaW5hdGlvbixcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IFsuLi50aGlzLnByb3BzLmNvbHVtbnNdIH0pO1xuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5wcm9wcy5zdG9yZTtcbiAgICBpZiAoc3RvcmUgJiYgc3RvcmUuZGF0YSkge1xuICAgICAgdGhpcy5zdG9yZS5zZXREYXRhKHN0b3JlLmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb2x1bW5zICE9PSBwcmV2UHJvcHMuY29sdW1ucykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IHRoaXMucHJvcHMuY29sdW1ucyB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog5riF6Zmk6YCJ5Lit6aKc6ImyXG4gICAqL1xuICBjbGVhclNlbGVjdENvbG9yKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBhY3RpdmVJbmRleDogLTEgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnZXRQYWdpbmF0aW9uQnlTdG9yZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRQYWdpbmF0aW9uKCk7XG4gIH1cblxuICBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XG4gICAgY29uc3QgeyBhdXRvT25DaGFuZ2UsIGF1dG9Tb3J0LCBhdXRvUGFnaW5hdGlvbiwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKGF1dG9PbkNoYW5nZSA9PT0gZmFsc2UpIHtcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVBhZ2luYXRpb24gPSAoKSA9PiB7XG4gICAgICBsZXQgcGFyYW1zID0ge30gYXMge1xuICAgICAgICBzaXplPzogc3RyaW5nO1xuICAgICAgICBwYWdlU2l6ZT86IHN0cmluZztcbiAgICAgICAgYXNjcz86IHN0cmluZztcbiAgICAgICAgZGVzY3M/OiBzdHJpbmc7XG4gICAgICAgIFtwcm9wTmFtZTogc3RyaW5nXTogc3RyaW5nO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgcGFnaW5nID0gdGhpcy5nZXRQYWdpbmF0aW9uQnlTdG9yZSgpIHx8IHt9O1xuXG4gICAgICBpZiAoIWlzRW1wdHlPYmoocGFnaW5hdGlvbikpIHtcbiAgICAgICAgY29uc3QgcCA9IHtcbiAgICAgICAgICBbcGFnaW5nLmN1cnJlbnRLZXkgfHwgXCJjdXJyZW50XCJdOiBwYWdpbmF0aW9uLmN1cnJlbnQsXG4gICAgICAgICAgW3BhZ2luZy5wYWdlU2l6ZUtleSB8fCBcInNpemVcIl06IHBhZ2luYXRpb24ucGFnZVNpemUsXG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCBwKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGF1dG9Tb3J0ID09PSB0cnVlICYmICFpc0VtcHR5T2JqKHNvcnRlcikpIHtcbiAgICAgICAgaWYgKHNvcnRlci5vcmRlciA9PSBcImFzY2VuZFwiKSB7XG4gICAgICAgICAgcGFyYW1zLmFzY3MgPVxuICAgICAgICAgICAgc29ydGVyLmNvbHVtbi5zb3J0RmllbGQgfHwgc29ydGVyLmNvbHVtbi5maWVsZCB8fCBzb3J0ZXIuZmllbGQ7XG4gICAgICAgICAgcGFyYW1zLmRlc2NzID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc29ydGVyLm9yZGVyID09IFwiZGVzY2VuZFwiKSB7XG4gICAgICAgICAgcGFyYW1zLmRlc2NzID1cbiAgICAgICAgICAgIHNvcnRlci5jb2x1bW4uc29ydEZpZWxkIHx8IHNvcnRlci5jb2x1bW4uZmllbGQgfHwgc29ydGVyLmZpZWxkO1xuICAgICAgICAgIHBhcmFtcy5hc2NzID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zdG9yZS5yZWxvYWQoeyBwYXJhbXMgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG9uQ2hhbmdlRm4gPSB0aGlzLnByb3BzLm9uQ2hhbmdlO1xuICAgIC8vIOeUqOaIt+S8oOS6hm9uQ2hhbmdl5L+d55WZ55So5oi36Ieq5Li75aSE55CG6KGo5qC85Y+Y5YyW55qE5p2D5YqbXG4gICAgaWYgKG9uQ2hhbmdlRm4pIHtcbiAgICAgIHV0aWxzLmNhbGxiYWNrKG9uQ2hhbmdlRm4sIHRoaXMsIFtwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhXSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLmF1dG9QYWdpbmF0aW9uKSB7XG4gICAgICBoYW5kbGVQYWdpbmF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U3RvcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmU7XG4gIH1cblxuICAvKipcbiAgICog6I635Y+W5pWw5o2u5qih5Z6L5a+56LGhXG4gICAqL1xuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRNb2RlbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiPnOWNleaQnOe0oui/h+a7pOaYvuekulxuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsXG4gICAqL1xuICBoYW5kbGVTZWFyY2godmFsLCBmaWVsZE9wdGlvbiwgc2VhcmNoQ29sb3IpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNlYXJjaFRleHQ6IHZhbCxcbiAgICAgIGZpZWxkT3B0aW9uOiBmaWVsZE9wdGlvbixcbiAgICAgIHNlYXJjaENvbG9yOiBzZWFyY2hDb2xvcixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmqKHlnZfliJfooajnp7vliqjmjpLluo9cbiAgICovXG4gIG1vdmVSb3cgPSAoZHJhZ0luZGV4LCBob3ZlckluZGV4LCBkcmFnLCB0YXJnZXQpID0+IHtcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XG4gICAgbGV0IGRyYWdOb2RlID0gZHJhZy5yZWNvcmQ7XG4gICAgbGV0IHRhcmdldE5vZGUgPSB0YXJnZXQucmVjb3JkO1xuICAgIGRyYWdOb2RlLm1vdmVBcnJheShkcmFnTm9kZSwgdGFyZ2V0Tm9kZSk7XG4gICAgbGV0IGlkcyA9IGRyYWdOb2RlLnBhcmVudE5vZGUuZ2V0Q2hpbGROb2RlSWRzKCk7XG4gICAgbGV0IHBhcmFtcyA9IHtcbiAgICAgIGlkOiBkcmFnTm9kZS5pZCxcbiAgICAgIHBhcmVudElkOiBkcmFnTm9kZS5hdHRyaWJ1dGUucGFyZW50SWQsXG4gICAgICBpZHM6IGlkcyxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMucHJvcHMubW92ZVJvdykge1xuICAgICAgdGhpcy5wcm9wcy5tb3ZlUm93KHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUucmVsb2FkKCk7XG4gICAgfVxuICAgIC8vIHJlcXVlc3QoXCJodHRwOi8vZGVtby5qYXZhc3ZuLmNvbS9hcGkvYWRtaW4vbWVudXMvZHJhZ1wiLCB7XG4gICAgLy8gICBtZXRob2Q6IFwiUEFUQ0hcIixcbiAgICAvLyAgIGRhdGE6IHBhcmFtcyxcbiAgICAvLyAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgIC8vICAgICB0aGlzLnN0b3JlLnJlbG9hZCgpO1xuICAgIC8vICAgfSxcbiAgICAvLyB9KTtcbiAgfTtcblxuICBmaWx0ZXJDb2x1bW4oY2hlY2tlZFZhbHVlKSB7XG4gICAgY29uc3QgZmlsdGVyQ29sdW1ucyA9IHRoaXMucHJvcHMuY29sdW1ucy5tYXAoKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+IHtcbiAgICAgIGNvbnN0IG5ld0NvbCA9IHsgLi4uY29sIH0gYXMgQ29sdW1uVHlwZTx7fT4gJiB7IGluaXRTaG93OiBib29sZWFuIH07XG4gICAgICBpZiAoY2hlY2tlZFZhbHVlLmluY2x1ZGVzKGNvbC5kYXRhSW5kZXgpKSB7XG4gICAgICAgIG5ld0NvbC5pbml0U2hvdyA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdDb2wuaW5pdFNob3cgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdDb2w7XG4gICAgfSk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IGZpbHRlckNvbHVtbnMgfSk7XG4gIH1cblxuICBnZXRDb2x1bW5zKCkge1xuICAgIGNvbnN0IHsgY29sdW1ucyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGRpc2FibGVDb2x1bW5zLCBjb2x1bW5zOiBjb2xMaXN0cyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBkZWZhdWx0U2hvd0NvbHMgPSBjb2x1bW5zLmZpbHRlcigoY29scykgPT4gY29scy5pbml0U2hvdyAhPT0gZmFsc2UpO1xuICAgIGNvbnN0IGRlZmF1bHRIaWRlQ29scyA9IGNvbHVtbnMuZmlsdGVyKChjb2xzKSA9PiBjb2xzLmluaXRTaG93ID09PSBmYWxzZSk7XG5cbiAgICBjb25zdCBjb250ZW50ID0gKFxuICAgICAgPENoZWNrYm94Lkdyb3VwXG4gICAgICAgIG9uQ2hhbmdlPXt0aGlzLmZpbHRlckNvbHVtbi5iaW5kKHRoaXMpfVxuICAgICAgICBvcHRpb25zPXtjb2xMaXN0cy5tYXAoXG4gICAgICAgICAgKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBsYWJlbDogY29sLnRpdGxlLFxuICAgICAgICAgICAgICB2YWx1ZTogY29sLmRhdGFJbmRleCxcbiAgICAgICAgICAgIH0gYXMgQ2hlY2tib3hPcHRpb25UeXBlKVxuICAgICAgICApfVxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4gY29sLmRhdGFJbmRleCl9XG4gICAgICA+PC9DaGVja2JveC5Hcm91cD5cbiAgICApO1xuXG4gICAgY29uc3QgY29scyA9IGRlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4ge1xuICAgICAgaWYgKGNvbC5lbGxpcHNpcyAmJiAhY29sLnJlbmRlcikge1xuICAgICAgICBjb2wuZWxsaXBzaXMgPSB7XG4gICAgICAgICAgc2hvd1RpdGxlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29sLnJlbmRlciA9ICh0ZXh0KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUb29sdGlwIHBsYWNlbWVudD1cInRvcExlZnRcIiB0aXRsZT17dGV4dH0+XG4gICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gY29sO1xuICAgIH0pO1xuXG4gICAgY29uc3QgSWNvbkFjdGlvbjogQ29sdW1uVHlwZTx7fT4gPSB7XG4gICAgICB0aXRsZTogKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1widGgtaWNvblwiXX0gcmVmPXt0aGlzLnRoSWNvblJlZn0+XG4gICAgICAgICAgPFBvcG92ZXJcbiAgICAgICAgICAgIHRpdGxlPVwi6YCJ5oup5pi+56S655qE5YiXXCJcbiAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21SaWdodFwiXG4gICAgICAgICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxuICAgICAgICAgICAgb3ZlcmxheVN0eWxlPXt7IG1pbldpZHRoOiA0MTAsIG1heFdpZHRoOiA0NTAgfX1cbiAgICAgICAgICAgIGdldFBvcHVwQ29udGFpbmVyPXsoKSA9PiB0aGlzLnRoSWNvblJlZi5jdXJyZW50fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxBcHBzdG9yZU91dGxpbmVkIHNpemU9ezI0fSBjbGFzc05hbWU9e3N0eWxlc1tcImFwcC1zdG9yZS1pY29uXCJdfSAvPlxuICAgICAgICAgIDwvUG9wb3Zlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApLFxuICAgICAgZGF0YUluZGV4OiBcImljb24tbWVudVwiLFxuICAgICAga2V5OiBcImljb24tbWVudVwiLFxuICAgICAgd2lkdGg6IDUwLFxuICAgICAgYWxpZ246IFwiY2VudGVyXCIsXG4gICAgfTtcbiAgICBpZiAodGhpcy5wcm9wcy5maWx0ZXJDb2x1bW4pIHtcbiAgICAgIGNvbHMucHVzaChJY29uQWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29scztcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBsZXQgX3RoaXMgPSB0aGlzLFxuICAgICAge1xuICAgICAgICBsb2FkaW5nLFxuICAgICAgICBkYXRhU291cmNlLFxuICAgICAgICBwYWdpbmF0aW9uID0ge30sXG4gICAgICAgIHNlYXJjaFRleHQsXG4gICAgICAgIGZpZWxkT3B0aW9uLFxuICAgICAgICBzZWFyY2hDb2xvcixcbiAgICAgIH0gPSB0aGlzLnN0YXRlLFxuICAgICAgcHJvcHMgPSB1dGlscy5vbWl0KHRoaXMucHJvcHMsIFtcInN0b3JlXCIsIFwib25DaGFuZ2VcIiwgXCJjb2x1bW5zXCJdLCB7XG4gICAgICAgIHJvd0tleTogXCJpZFwiLFxuICAgICAgICBjbGlja0NoYW5nZUNvbG9yOiBmYWxzZSxcbiAgICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLnBhZ2luYXRpb24gIT09IGZhbHNlKSB7XG4gICAgICBwcm9wcy5wYWdpbmF0aW9uID0ge1xuICAgICAgICBwb3NpdGlvbjogW1wiYm90dG9tUmlnaHRcIl0sXG4gICAgICAgIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSxcbiAgICAgICAgc2hvd1F1aWNrSnVtcGVyOiB0cnVlLFxuICAgICAgICAuLi5wcm9wcy5wYWdpbmF0aW9uLFxuICAgICAgICAuLi5wYWdpbmF0aW9uLFxuICAgICAgfTtcbiAgICAgIGlmIChwcm9wcy5zaG93VG90YWwgPT0gdHJ1ZSkge1xuICAgICAgICBwcm9wcy5wYWdpbmF0aW9uLnNob3dUb3RhbCA9IGZ1bmN0aW9uICh0b3RhbCwgW2Zyb20sIHRvXSkge1xuICAgICAgICAgIC8vIHJldHVybiBcIuaYvuekuiBcIiArIGZyb20gKyBcIiAtIFwiICsgdG8gKyBcIuadoe+8jOWFsSBcIiArIHRvdGFsICsgXCIg5p2hXCI7XG4gICAgICAgICAgcmV0dXJuIFwi5YWxIFwiICsgdG90YWwgKyBcIiDmnaFcIjtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9wcy5vbkNoYW5nZSA9IGZ1bmN0aW9uIChwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XG4gICAgICBfdGhpcy5vbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKTtcbiAgICB9O1xuICAgIGlmIChwcm9wcy5jbGlja0NoYW5nZUNvbG9yKSB7XG4gICAgICBjb25zdCBvblJvd0ZuID0gcHJvcHMub25Sb3c7XG4gICAgICBwcm9wcy5vblJvdyA9IGZ1bmN0aW9uIChyZWNvcmQsIGluZGV4KSB7XG4gICAgICAgIHZhciBjdXN0b20gPSBvblJvd0ZuID8gb25Sb3dGbihyZWNvcmQsIGluZGV4KSA6IHt9O1xuICAgICAgICBjb25zdCBvbkNsaWNrRm4gPSBjdXN0b20ub25DbGljaztcbiAgICAgICAgY3VzdG9tLm9uQ2xpY2sgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBhY3RpdmVJbmRleDogaW5kZXgsIC8v6I635Y+W54K55Ye76KGM55qE57Si5byVXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sob25DbGlja0ZuLCBfdGhpcywgW2V2ZW50XSk7XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBjdXN0b207XG4gICAgICB9O1xuICAgICAgcHJvcHMucm93Q2xhc3NOYW1lID0gZnVuY3Rpb24gKHJlY29yZCwgaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBfdGhpcy5zdGF0ZS5hY3RpdmVJbmRleFxuICAgICAgICAgID8gYCR7c3R5bGVzLmNsaWNrUm93U3R5bGV9YFxuICAgICAgICAgIDogXCJcIjtcbiAgICAgIH07XG4gICAgfVxuICAgIGxldCBuZXdEYXRhU291cmNlID0gW107XG4gICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0cmVlVXRpbHMuZ2V0U2VhcmNoTWVudURhdGFzKFxuICAgICAgICB0aGlzLFxuICAgICAgICBzZWFyY2hUZXh0LFxuICAgICAgICBmaWVsZE9wdGlvbixcbiAgICAgICAgc2VhcmNoQ29sb3JcbiAgICAgICk7XG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YS50cmVlRGF0YXM7XG4gICAgICBwcm9wcy5leHBhbmRlZFJvd0tleXMgPSBkYXRhLm9wZW5LZXlzO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB9XG4gICAgcHJvcHMuc3RvcmUgPSBwcm9wcy5zdG9yZSB8fCB7fTtcbiAgICBwcm9wcy5zdG9yZS5hdXRvTG9hZCA9IHByb3BzLnN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcbiAgICBjb25zdCB7IGRyYWdhYmxlIH0gPSBfdGhpcy5wcm9wcztcbiAgICBjb25zdCBkcmFnYWJsZVByb3BzID1cbiAgICAgIGRyYWdhYmxlID09PSB0cnVlXG4gICAgICAgID8ge1xuICAgICAgICAgICAgY29tcG9uZW50czogQm9keVJvd0NvbXBvbmVudCxcbiAgICAgICAgICAgIG9uUm93OiAocmVjb3JkLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgbW92ZVJvdzogdGhpcy5tb3ZlUm93LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9O1xuICAgIGNvbnN0IERlZmF1bHRUYWJsZSA9IChcbiAgICAgIDxUYWJsZVxuICAgICAgICBjaGlsZHJlbkNvbHVtbk5hbWU9XCJjaGlsZE5vZGVzXCJcbiAgICAgICAgZGF0YVNvdXJjZT17bmV3RGF0YVNvdXJjZX1cbiAgICAgICAgY29sdW1ucz17dGhpcy5nZXRDb2x1bW5zKCl9XG4gICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzW1wibnNjLXRhYmxlXCJdfVxuICAgICAgICBsb2NhbGU9e3sgZW1wdHlUZXh0OiA8Tm9EYXRhIC8+IH19XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgey4uLmRyYWdhYmxlUHJvcHN9XG4gICAgICAvPlxuICAgICk7XG5cbiAgICByZXR1cm4gZHJhZ2FibGUgPT09IHRydWUgPyAoXG4gICAgICA8RG5kUHJvdmlkZXIgYmFja2VuZD17SFRNTDVCYWNrZW5kfT57RGVmYXVsdFRhYmxlfTwvRG5kUHJvdmlkZXI+XG4gICAgKSA6IChcbiAgICAgIERlZmF1bHRUYWJsZVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFpoTG9jYWxlKE5TQ1RhYmxlKTtcbiJdfQ==
|
|
547
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYmxlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJBcHBzdG9yZU91dGxpbmVkIiwiaXNFbXB0eU9iaiIsIlN0b3JlIiwiUGFnZVN0b3JlIiwidXRpbHMiLCJSZWFjdCIsIkRuZFByb3ZpZGVyIiwiQm9keVJvdyIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsInRyZWVVdGlscyIsInN0eWxlcyIsIkJvZHlSb3dDb21wb25lbnQiLCJIVE1MNUJhY2tlbmQiLCJ3aXRoWmhMb2NhbGUiLCJOb0RhdGEiLCJOU0NUYWJsZSIsInByb3BzIiwiY3JlYXRlUmVmIiwiZGF0YVNvdXJjZSIsImNvbHVtbnMiLCJsb2FkaW5nIiwicGFnaW5hdGlvbiIsImFjdGl2ZUluZGV4Iiwic2VhcmNoVGV4dCIsImZpZWxkT3B0aW9uIiwic2VhcmNoQ29sb3IiLCJvbkJlZm9yZUxvYWQiLCJsb2FkIiwiZHJhZ0luZGV4IiwiaG92ZXJJbmRleCIsImRyYWciLCJ0YXJnZXQiLCJfdGhpcyIsImRyYWdOb2RlIiwicmVjb3JkIiwidGFyZ2V0Tm9kZSIsIm1vdmVBcnJheSIsImlkcyIsInBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVJZHMiLCJwYXJhbXMiLCJpZCIsInBhcmVudElkIiwiYXR0cmlidXRlIiwibW92ZVJvdyIsInN0b3JlIiwicmVsb2FkIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvcHRpb25zIiwic2V0U3RhdGUiLCJjYWxsYmFjayIsImRhdGFDaGFuZ2VkIiwiZGF0YSIsIm1vZGVsRGF0YSIsInBhZ2luZyIsImdldFBhZ2luYXRpb24iLCJvbkVycm9yTG9hZCIsImVyciIsInJlc3BvbnNlIiwiYXV0b0xvYWQiLCJPYmplY3QiLCJhc3NpZ24iLCJzZXREYXRhIiwicHJldlByb3BzIiwiZmlsdGVycyIsInNvcnRlciIsImV4dHJhIiwiYXV0b09uQ2hhbmdlIiwiYXV0b1NvcnQiLCJhdXRvUGFnaW5hdGlvbiIsIm9uQ2hhbmdlIiwiaGFuZGxlUGFnaW5hdGlvbiIsImdldFBhZ2luYXRpb25CeVN0b3JlIiwicCIsImN1cnJlbnRLZXkiLCJjdXJyZW50IiwicGFnZVNpemVLZXkiLCJwYWdlU2l6ZSIsIm9yZGVyIiwiYXNjcyIsImNvbHVtbiIsInNvcnRGaWVsZCIsImZpZWxkIiwiZGVzY3MiLCJvbkNoYW5nZUZuIiwiZ2V0TW9kZWwiLCJ2YWwiLCJjaGVja2VkVmFsdWUiLCJmaWx0ZXJDb2x1bW5zIiwibWFwIiwiY29sIiwibmV3Q29sIiwiaW5jbHVkZXMiLCJkYXRhSW5kZXgiLCJpbml0U2hvdyIsInN0YXRlIiwiZGlzYWJsZUNvbHVtbnMiLCJjb2xMaXN0cyIsImRlZmF1bHRTaG93Q29scyIsImZpbHRlciIsImNvbHMiLCJkZWZhdWx0SGlkZUNvbHMiLCJjb250ZW50IiwiZmlsdGVyQ29sdW1uIiwiYmluZCIsImxhYmVsIiwidGl0bGUiLCJ2YWx1ZSIsImVsbGlwc2lzIiwicmVuZGVyIiwic2hvd1RpdGxlIiwidGV4dCIsIkljb25BY3Rpb24iLCJ0aEljb25SZWYiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwia2V5Iiwid2lkdGgiLCJhbGlnbiIsInB1c2giLCJvbWl0Iiwicm93S2V5IiwiY2xpY2tDaGFuZ2VDb2xvciIsInBvc2l0aW9uIiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1F1aWNrSnVtcGVyIiwic2hvd1RvdGFsIiwidG90YWwiLCJmcm9tIiwidG8iLCJvblJvd0ZuIiwib25Sb3ciLCJpbmRleCIsImN1c3RvbSIsIm9uQ2xpY2tGbiIsIm9uQ2xpY2siLCJldmVudCIsInJvd0NsYXNzTmFtZSIsImNsaWNrUm93U3R5bGUiLCJuZXdEYXRhU291cmNlIiwiZ2V0U2VhcmNoTWVudURhdGFzIiwidHJlZURhdGFzIiwiZXhwYW5kZWRSb3dLZXlzIiwib3BlbktleXMiLCJkcmFnYWJsZSIsImRyYWdhYmxlUHJvcHMiLCJjb21wb25lbnRzIiwiRGVmYXVsdFRhYmxlIiwiZ2V0Q29sdW1ucyIsImVtcHR5VGV4dCIsIkNvbXBvbmVudCIsImRyYWdVcmwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsZ0JBQVQsUUFBaUMsbUJBQWpDO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7QUFDQSxPQUFPQyxLQUFQLElBQWdCQyxTQUFoQixRQUE2QyxhQUE3QztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBVUEsT0FBTyxLQUFLQyxLQUFaLE1BQXVCLE9BQXZCO0FBQ0EsU0FBU0MsV0FBVCxRQUE0QixXQUE1QjtBQUNBLE9BQU9DLE9BQVAsSUFBa0JDLGNBQWxCLEVBQWtDQyxhQUFsQyxRQUF1RCxtQkFBdkQ7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLGNBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLElBQVFDLGdCQUFSLEdBQTJDTCxPQUEzQyxDQUFRSyxnQkFBUjtBQUFBLElBQTBCQyxZQUExQixHQUEyQ04sT0FBM0MsQ0FBMEJNLFlBQTFCO0FBQ0EsT0FBT0MsWUFBUCxNQUF5Qix3QkFBekI7QUFDQSxTQUFTQyxNQUFULFFBQXVCLElBQXZCO0FBZ0NBLFNBQVNQLGNBQVQsRUFBeUJDLGFBQXpCOztJQUNNTyxROzs7OztBQWdDSixvQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBcEJYLEVBb0JXOztBQUFBLDhFQW5CUFosS0FBSyxDQUFDYSxTQUFOLEVBbUJPOztBQUFBLDZEQWpCWDtBQUNOQyxNQUFBQSxVQUFVLEVBQUUsRUFETjtBQUVOQyxNQUFBQSxPQUFPLEVBQUUsRUFGSDtBQUdOQyxNQUFBQSxPQUFPLEVBQUUsS0FISDtBQUlOQyxNQUFBQSxVQUFVLEVBQUUsRUFKTjtB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ekJ2RyxZQUFBQSxNQUFNLEVBQU5BLE1BRnlCO0FBR3pCVSxZQUFBQSxPQUFPLEVBQUUsTUFBSSxDQUFDQTtBQUhXLFdBQXBCO0FBQUE7QUFGVCxPQURKLEdBU0ksRUFWTjtBQVdBLFVBQU00RyxZQUFZLGdCQUNoQjtBQUNFLFFBQUEsa0JBQWtCLEVBQUMsWUFEckI7QUFFRSxRQUFBLFVBQVUsRUFBRVIsYUFGZDtBQUdFLFFBQUEsT0FBTyxFQUFFLEtBQUtTLFVBQUwsRUFIWDtBQUlFLFFBQUEsT0FBTyxFQUFFckksT0FKWDtBQUtFLFFBQUEsU0FBUyxFQUFFVixNQUFNLENBQUMsV0FBRCxDQUxuQjtBQU1FLFFBQUEsTUFBTSxFQUFFO0FBQUVnSixVQUFBQSxTQUFTLGVBQUUsb0JBQUMsTUFBRDtBQUFiO0FBTlYsU0FPTTFJLEtBUE4sRUFRTXNJLGFBUk4sRUFERjtBQWFBLGFBQU9ELFFBQVEsS0FBSyxJQUFiLGdCQUNMLG9CQUFDLFdBQUQ7QUFBYSxRQUFBLE9BQU8sRUFBRXpJO0FBQXRCLFNBQXFDNEksWUFBckMsQ0FESyxHQUdMQSxZQUhGO0FBS0Q7Ozs7RUE1WW9CcEosS0FBSyxDQUFDdUosUzs7Z0JBQXZCNUksUSxrQkFDa0I7QUFDcEJzRixFQUFBQSxjQUFjLEVBQUUsRUFESTtBQUVwQmdELEVBQUFBLFFBQVEsRUFBRSxLQUZVO0FBR3BCbEIsRUFBQUEsU0FBUyxFQUFFLElBSFM7QUFJcEJ2QixFQUFBQSxZQUFZLEVBQUUsSUFKTTtBQUtwQmdELEVBQUFBLE9BQU8sRUFBRSxFQUxXO0FBTXBCbEYsRUFBQUEsY0FBYyxFQUFFLElBTkk7QUFPcEJELEVBQUFBLFFBQVEsRUFBRSxJQVBVO0FBUXBCRCxFQUFBQSxZQUFZLEVBQUU7QUFSTSxDOztBQThZeEIsZUFBZTNELFlBQVksQ0FBQ0UsUUFBRCxDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yMyAwODo0NjoyMFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDMtMjMgMTA6MzA6NDJcclxuICovXHJcbmltcG9ydCB7IEFwcHN0b3JlT3V0bGluZWQgfSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IHsgaXNFbXB0eU9iaiB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgUGFnZVN0b3JlLCBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQge1xyXG4gIENoZWNrYm94LFxyXG4gIENoZWNrYm94T3B0aW9uVHlwZSxcclxuICBQb3BvdmVyLFxyXG4gIFRhYmxlLFxyXG4gIFRhYmxlUHJvcHMsXHJcbiAgVG9vbHRpcCxcclxufSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyBDb2x1bW5UeXBlLCBUYWJsZVBhZ2luYXRpb25Db25maWcgfSBmcm9tIFwiYW50ZC9saWIvdGFibGVcIjtcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IERuZFByb3ZpZGVyIH0gZnJvbSBcInJlYWN0LWRuZFwiO1xyXG5pbXBvcnQgQm9keVJvdywgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcyB9IGZyb20gXCIuLi9jb21tb24vQm9keVJvd1wiO1xyXG5pbXBvcnQgdHJlZVV0aWxzIGZyb20gXCIuLi90cmVlVXRpbHNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmNvbnN0IHsgQm9keVJvd0NvbXBvbmVudCwgSFRNTDVCYWNrZW5kIH0gPSBCb2R5Um93O1xyXG5pbXBvcnQgd2l0aFpoTG9jYWxlIGZyb20gXCIuLi9jb21tb24vd2l0aFpoTG9jYWxlXCI7XHJcbmltcG9ydCB7IE5vRGF0YSB9IGZyb20gXCIuLlwiO1xyXG5cclxuaW50ZXJmYWNlIElEcmFnUGFyYW1zIHtcclxuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGlkczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICBwYXJlbnRJZDogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcbi8vIGludGVyZmFjZSBTdG9yZVByb3BzIHt9XHJcblxyXG5leHBvcnQgdHlwZSBTdG9yZVR5cGUgPSBcIlBhZ2VTdG9yZVwiIHwgXCJUcmVlU3RvcmVcIiB8IFwiQmFzZVN0b3JlXCI7XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQYWdpbmF0aW9uIGV4dGVuZHMgVGFibGVQYWdpbmF0aW9uQ29uZmlnIHtcclxuICB0b3RhbEtleT86IHN0cmluZztcclxuICBwYWdlU2l6ZUtleT86IHN0cmluZztcclxuICBjdXJyZW50S2V5Pzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlUHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dUb3RhbD86IGJvb2xlYW47IC8vIOaYr+WQpuaYvuekuuaAu+adoeaVsOS/oeaBr++8jOm7mOiupHRydWVcclxuICBkaXNhYmxlQ29sdW1ucz86IHN0cmluZ1tdOyAvLyDkuI3lj6/pmpDol4/lv4XpobvmmL7npLrnmoTliJdcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8vIOaYr+WQpuWPr+aLluWKqCwg6buY6K6kZmFsc2VcclxuICBmaWx0ZXJDb2x1bW4/OiBib29sZWFuOyAvLyDmmK/lkKbmlK/mjIHov4fmu6TmmL7npLrooajmoLzliJcsIOm7mOiupHRydWVcclxuICBtb3ZlUm93PzogKHBhcmFtczogSURyYWdQYXJhbXMpID0+IHZvaWQ7IC8vIOaLluaLveWujOaIkOWQjueahOWbnuiwg1xyXG4gIGRyYWdVcmw/OiBzdHJpbmc7IC8vIOS/neWtmOaLluaLveaOkuW6j+eahOaOpeWPo1xyXG4gIHBhZ2luYXRpb24/OiBmYWxzZSB8IE5TQ1RhYmxlUGFnaW5hdGlvbjtcclxuICBhdXRvUGFnaW5hdGlvbj86IGJvb2xlYW47IC8vIOe7hOS7tuaYr+WQpuiHquWKqOWkhOeQhuWIhumhtVxyXG4gIGF1dG9Tb3J0PzogYm9vbGVhbjsgLy/nu4Tku7bmmK/lkKboh6rliqjlpITnkIbmjpLluo9cclxuICBhdXRvT25DaGFuZ2U/OiBib29sZWFuOyAvLyDnu4Tku7bmmK/lkKboh6rliqhvbkNoYW5nZSwgZmFsc2XliJnkuI3lgZrku7vkvZXlpITnkIblhajpg6jkuqTnu5nosIPnlKjmlrlcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSU5TQ1RhYmxlUHJvcHMgPSB0eXBlb2YgTlNDVGFibGUuZGVmYXVsdFByb3BzICYgTlNDVGFibGVQcm9wcztcclxuZXhwb3J0IHsgRG5kQ29udGV4dFR5cGUsIElCb2R5Um93UHJvcHMgfTtcclxuY2xhc3MgTlNDVGFibGUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SU5TQ1RhYmxlUHJvcHM+IHtcclxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgZGlzYWJsZUNvbHVtbnM6IFtdLFxyXG4gICAgZHJhZ2FibGU6IGZhbHNlLFxyXG4gICAgc2hvd1RvdGFsOiB0cnVlLFxyXG4gICAgZmlsdGVyQ29sdW1uOiB0cnVlLFxyXG4gICAgZHJhZ1VybDogXCJcIixcclxuICAgIGF1dG9QYWdpbmF0aW9uOiB0cnVlLFxyXG4gICAgYXV0b1NvcnQ6IHRydWUsXHJcbiAgICBhdXRvT25DaGFuZ2U6IHRydWUsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHRoSWNvblJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuXHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGNvbHVtbnM6IFtdLFxyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBwYWdpbmF0aW9uOiB7fSxcclxuICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IG51bGwsXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuICB9O1xyXG5cclxuICBsaXN0ZW5lcnMgPSB7XHJcbiAgICBvbkJlZm9yZUxvYWQ6IG51bGwsXHJcbiAgICBsb2FkOiBudWxsLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBpZiAocHJvcHMuc3RvcmUgaW5zdGFuY2VvZiBTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPVxyXG4gICAgICAgIHByb3BzLnN0b3JlIHx8IHt9O1xyXG4gICAgICBjb25zdCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiAoc3RvcmUsIG9wdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uQmVmb3JlTG9hZCwgdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBwYWdpbmcgPSAhKHRoaXMucHJvcHMucGFnaW5hdGlvbiA9PT0gZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHBhZ2luZyAmJiAhdGhpcy5wcm9wcy5kYXRhU291cmNlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBkYXRhU291cmNlOiBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBzdG9yZS5nZXRQYWdpbmF0aW9uKCksXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhLCBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMuZGF0YUNoYW5nZWQsIHRoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgICBwYWdpbmcsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmxvYWQsIHRoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25FcnJvckxvYWQ6IChlcnIsIHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMub25FcnJvckxvYWQsIHRoaXMsIFtlcnIsIHJlc3BvbnNlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YTogcmVzdFN0b3JlLmRhdGFcclxuICAgICAgICAgID8gcmVzdFN0b3JlLmRhdGFcclxuICAgICAgICAgIDogcHJvcHMuZGF0YVNvdXJjZVxyXG4gICAgICAgICAgPyBwcm9wcy5kYXRhU291cmNlXHJcbiAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgLi4ucmVzdFN0b3JlLFxyXG4gICAgICAgIGF1dG9Mb2FkOiByZXN0U3RvcmUuYXV0b0xvYWQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxyXG4gICAgICB9O1xyXG5cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBQYWdlU3RvcmUoXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVQcm9wcywge1xyXG4gICAgICAgICAgcGFnaW5hdGlvbjogdGhpcy5wcm9wcy5wYWdpbmF0aW9uLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgIGNvbnN0IHN0b3JlID0gdGhpcy5wcm9wcy5zdG9yZTtcclxuICAgIGlmIChzdG9yZSAmJiBzdG9yZS5kYXRhKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuc2V0RGF0YShzdG9yZS5kYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmNvbHVtbnMgIT09IHByZXZQcm9wcy5jb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiB0aGlzLnByb3BzLmNvbHVtbnMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmuIXpmaTpgInkuK3popzoibJcclxuICAgKi9cclxuICBjbGVhclNlbGVjdENvbG9yKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGl2ZUluZGV4OiAtMSB9KTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFnaW5hdGlvbkJ5U3RvcmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRQYWdpbmF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICBjb25zdCB7IGF1dG9PbkNoYW5nZSwgYXV0b1NvcnQsIGF1dG9QYWdpbmF0aW9uLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChhdXRvT25DaGFuZ2UgPT09IGZhbHNlKSB7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGFuZGxlUGFnaW5hdGlvbiA9ICgpID0+IHtcclxuICAgICAgbGV0IHBhcmFtcyA9IHt9IGFzIHtcclxuICAgICAgICBzaXplPzogc3RyaW5nO1xyXG4gICAgICAgIHBhZ2VTaXplPzogc3RyaW5nO1xyXG4gICAgICAgIGFzY3M/OiBzdHJpbmc7XHJcbiAgICAgICAgZGVzY3M/OiBzdHJpbmc7XHJcbiAgICAgICAgW3Byb3BOYW1lOiBzdHJpbmddOiBzdHJpbmc7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBwYWdpbmcgPSB0aGlzLmdldFBhZ2luYXRpb25CeVN0b3JlKCkgfHwge307XHJcblxyXG4gICAgICBpZiAoIWlzRW1wdHlPYmoocGFnaW5hdGlvbikpIHtcclxuICAgICAgICBjb25zdCBwID0ge1xyXG4gICAgICAgICAgW3BhZ2luZy5jdXJyZW50S2V5IHx8IFwiY3VycmVudFwiXTogcGFnaW5hdGlvbi5jdXJyZW50LFxyXG4gICAgICAgICAgW3BhZ2luZy5wYWdlU2l6ZUtleSB8fCBcInNpemVcIl06IHBhZ2luYXRpb24ucGFnZVNpemUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgcCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhdXRvU29ydCA9PT0gdHJ1ZSAmJiAhaXNFbXB0eU9iaihzb3J0ZXIpKSB7XHJcbiAgICAgICAgaWYgKHNvcnRlci5vcmRlciA9PSBcImFzY2VuZFwiKSB7XHJcbiAgICAgICAgICBwYXJhbXMuYXNjcyA9XHJcbiAgICAgICAgICAgIHNvcnRlci5jb2x1bW4uc29ydEZpZWxkIHx8IHNvcnRlci5jb2x1bW4uZmllbGQgfHwgc29ydGVyLmZpZWxkO1xyXG4gICAgICAgICAgcGFyYW1zLmRlc2NzID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNvcnRlci5vcmRlciA9PSBcImRlc2NlbmRcIikge1xyXG4gICAgICAgICAgcGFyYW1zLmRlc2NzID1cclxuICAgICAgICAgICAgc29ydGVyLmNvbHVtbi5zb3J0RmllbGQgfHwgc29ydGVyLmNvbHVtbi5maWVsZCB8fCBzb3J0ZXIuZmllbGQ7XHJcbiAgICAgICAgICBwYXJhbXMuYXNjcyA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUucmVsb2FkKHsgcGFyYW1zIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBvbkNoYW5nZUZuID0gdGhpcy5wcm9wcy5vbkNoYW5nZTtcclxuICAgIC8vIOeUqOaIt+S8oOS6hm9uQ2hhbmdl5L+d55WZ55So5oi36Ieq5Li75aSE55CG6KGo5qC85Y+Y5YyW55qE5p2D5YqbXHJcbiAgICBpZiAob25DaGFuZ2VGbikge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvbkNoYW5nZUZuLCB0aGlzLCBbcGFnaW5hdGlvbiwgZmlsdGVycywgc29ydGVyLCBleHRyYV0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucHJvcHMuYXV0b1BhZ2luYXRpb24pIHtcclxuICAgICAgaGFuZGxlUGFnaW5hdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluaVsOaNruaooeWei+WvueixoVxyXG4gICAqL1xyXG4gIGdldE1vZGVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZ2V0TW9kZWwoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiPnOWNleaQnOe0oui/h+a7pOaYvuekulxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSB2YWxcclxuICAgKi9cclxuICBoYW5kbGVTZWFyY2godmFsLCBmaWVsZE9wdGlvbiwgc2VhcmNoQ29sb3IpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWFyY2hUZXh0OiB2YWwsXHJcbiAgICAgIGZpZWxkT3B0aW9uOiBmaWVsZE9wdGlvbixcclxuICAgICAgc2VhcmNoQ29sb3I6IHNlYXJjaENvbG9yLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmqKHlnZfliJfooajnp7vliqjmjpLluo9cclxuICAgKi9cclxuICBtb3ZlUm93ID0gKGRyYWdJbmRleCwgaG92ZXJJbmRleCwgZHJhZywgdGFyZ2V0KSA9PiB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBsZXQgZHJhZ05vZGUgPSBkcmFnLnJlY29yZDtcclxuICAgIGxldCB0YXJnZXROb2RlID0gdGFyZ2V0LnJlY29yZDtcclxuICAgIGRyYWdOb2RlLm1vdmVBcnJheShkcmFnTm9kZSwgdGFyZ2V0Tm9kZSk7XHJcbiAgICBsZXQgaWRzID0gZHJhZ05vZGUucGFyZW50Tm9kZS5nZXRDaGlsZE5vZGVJZHMoKTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIGlkOiBkcmFnTm9kZS5pZCxcclxuICAgICAgcGFyZW50SWQ6IGRyYWdOb2RlLmF0dHJpYnV0ZS5wYXJlbnRJZCxcclxuICAgICAgaWRzOiBpZHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnByb3BzLm1vdmVSb3cpIHtcclxuICAgICAgdGhpcy5wcm9wcy5tb3ZlUm93KHBhcmFtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3JlLnJlbG9hZCgpO1xyXG4gICAgfVxyXG4gICAgLy8gcmVxdWVzdChcImh0dHA6Ly9kZW1vLmphdmFzdm4uY29tL2FwaS9hZG1pbi9tZW51cy9kcmFnXCIsIHtcclxuICAgIC8vICAgbWV0aG9kOiBcIlBBVENIXCIsXHJcbiAgICAvLyAgIGRhdGE6IHBhcmFtcyxcclxuICAgIC8vICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChkYXRhKSB7XHJcbiAgICAvLyAgICAgdGhpcy5zdG9yZS5yZWxvYWQoKTtcclxuICAgIC8vICAgfSxcclxuICAgIC8vIH0pO1xyXG4gIH07XHJcblxyXG4gIGZpbHRlckNvbHVtbihjaGVja2VkVmFsdWUpIHtcclxuICAgIGNvbnN0IGZpbHRlckNvbHVtbnMgPSB0aGlzLnByb3BzLmNvbHVtbnMubWFwKChjb2w6IENvbHVtblR5cGU8e30+KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0NvbCA9IHsgLi4uY29sIH0gYXMgQ29sdW1uVHlwZTx7fT4gJiB7IGluaXRTaG93OiBib29sZWFuIH07XHJcbiAgICAgIGlmIChjaGVja2VkVmFsdWUuaW5jbHVkZXMoY29sLmRhdGFJbmRleCkpIHtcclxuICAgICAgICBuZXdDb2wuaW5pdFNob3cgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld0NvbC5pbml0U2hvdyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXdDb2w7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBmaWx0ZXJDb2x1bW5zIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sdW1ucygpIHtcclxuICAgIGNvbnN0IHsgY29sdW1ucyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGlzYWJsZUNvbHVtbnMsIGNvbHVtbnM6IGNvbExpc3RzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZGVmYXVsdFNob3dDb2xzID0gY29sdW1ucy5maWx0ZXIoKGNvbHMpID0+IGNvbHMuaW5pdFNob3cgIT09IGZhbHNlKTtcclxuICAgIGNvbnN0IGRlZmF1bHRIaWRlQ29scyA9IGNvbHVtbnMuZmlsdGVyKChjb2xzKSA9PiBjb2xzLmluaXRTaG93ID09PSBmYWxzZSk7XHJcblxyXG4gICAgY29uc3QgY29udGVudCA9IChcclxuICAgICAgPENoZWNrYm94Lkdyb3VwXHJcbiAgICAgICAgb25DaGFuZ2U9e3RoaXMuZmlsdGVyQ29sdW1uLmJpbmQodGhpcyl9XHJcbiAgICAgICAgb3B0aW9ucz17Y29sTGlzdHMubWFwKFxyXG4gICAgICAgICAgKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+XHJcbiAgICAgICAgICAgICh7XHJcbiAgICAgICAgICAgICAgbGFiZWw6IGNvbC50aXRsZSxcclxuICAgICAgICAgICAgICB2YWx1ZTogY29sLmRhdGFJbmRleCxcclxuICAgICAgICAgICAgfSBhcyBDaGVja2JveE9wdGlvblR5cGUpXHJcbiAgICAgICAgKX1cclxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4gY29sLmRhdGFJbmRleCl9XHJcbiAgICAgID48L0NoZWNrYm94Lkdyb3VwPlxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBjb2xzID0gZGVmYXVsdFNob3dDb2xzLm1hcCgoY29sKSA9PiB7XHJcbiAgICAgIGlmIChjb2wuZWxsaXBzaXMgJiYgIWNvbC5yZW5kZXIpIHtcclxuICAgICAgICBjb2wuZWxsaXBzaXMgPSB7XHJcbiAgICAgICAgICBzaG93VGl0bGU6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29sLnJlbmRlciA9ICh0ZXh0KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8VG9vbHRpcCBwbGFjZW1lbnQ9XCJ0b3BMZWZ0XCIgdGl0bGU9e3RleHR9PlxyXG4gICAgICAgICAgICAgIHt0ZXh0fVxyXG4gICAgICAgICAgICA8L1Rvb2x0aXA+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNvbDtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IEljb25BY3Rpb246IENvbHVtblR5cGU8e30+ID0ge1xyXG4gICAgICB0aXRsZTogKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJ0aC1pY29uXCJdfSByZWY9e3RoaXMudGhJY29uUmVmfT5cclxuICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgIHRpdGxlPVwi6YCJ5oup5pi+56S655qE5YiXXCJcclxuICAgICAgICAgICAgY29udGVudD17Y29udGVudH1cclxuICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tUmlnaHRcIlxyXG4gICAgICAgICAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgICAgICAgICBvdmVybGF5U3R5bGU9e3sgbWluV2lkdGg6IDQxMCwgbWF4V2lkdGg6IDQ1MCB9fVxyXG4gICAgICAgICAgICBnZXRQb3B1cENvbnRhaW5lcj17KCkgPT4gdGhpcy50aEljb25SZWYuY3VycmVudH1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPEFwcHN0b3JlT3V0bGluZWQgc2l6ZT17MjR9IGNsYXNzTmFtZT17c3R5bGVzW1wiYXBwLXN0b3JlLWljb25cIl19IC8+XHJcbiAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICksXHJcbiAgICAgIGRhdGFJbmRleDogXCJpY29uLW1lbnVcIixcclxuICAgICAga2V5OiBcImljb24tbWVudVwiLFxyXG4gICAgICB3aWR0aDogNTAsXHJcbiAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnByb3BzLmZpbHRlckNvbHVtbikge1xyXG4gICAgICBjb2xzLnB1c2goSWNvbkFjdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbHM7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzLFxyXG4gICAgICB7XHJcbiAgICAgICAgbG9hZGluZyxcclxuICAgICAgICBkYXRhU291cmNlLFxyXG4gICAgICAgIHBhZ2luYXRpb24gPSB7fSxcclxuICAgICAgICBzZWFyY2hUZXh0LFxyXG4gICAgICAgIGZpZWxkT3B0aW9uLFxyXG4gICAgICAgIHNlYXJjaENvbG9yLFxyXG4gICAgICB9ID0gdGhpcy5zdGF0ZSxcclxuICAgICAgcHJvcHMgPSB1dGlscy5vbWl0KHRoaXMucHJvcHMsIFtcInN0b3JlXCIsIFwib25DaGFuZ2VcIiwgXCJjb2x1bW5zXCJdLCB7XHJcbiAgICAgICAgcm93S2V5OiBcImlkXCIsXHJcbiAgICAgICAgY2xpY2tDaGFuZ2VDb2xvcjogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmIChwcm9wcy5wYWdpbmF0aW9uICE9PSBmYWxzZSkge1xyXG4gICAgICBwcm9wcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBbXCJib3R0b21SaWdodFwiXSxcclxuICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXHJcbiAgICAgICAgc2hvd1F1aWNrSnVtcGVyOiB0cnVlLFxyXG4gICAgICAgIC4uLnByb3BzLnBhZ2luYXRpb24sXHJcbiAgICAgICAgLi4ucGFnaW5hdGlvbixcclxuICAgICAgfTtcclxuICAgICAgaWYgKHByb3BzLnNob3dUb3RhbCA9PSB0cnVlKSB7XHJcbiAgICAgICAgcHJvcHMucGFnaW5hdGlvbi5zaG93VG90YWwgPSBmdW5jdGlvbiAodG90YWwsIFtmcm9tLCB0b10pIHtcclxuICAgICAgICAgIC8vIHJldHVybiBcIuaYvuekuiBcIiArIGZyb20gKyBcIiAtIFwiICsgdG8gKyBcIuadoe+8jOWFsSBcIiArIHRvdGFsICsgXCIg5p2hXCI7XHJcbiAgICAgICAgICByZXR1cm4gXCLlhbEgXCIgKyB0b3RhbCArIFwiIOadoVwiO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm9wcy5vbkNoYW5nZSA9IGZ1bmN0aW9uIChwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICAgIF90aGlzLm9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgfTtcclxuICAgIGlmIChwcm9wcy5jbGlja0NoYW5nZUNvbG9yKSB7XHJcbiAgICAgIGNvbnN0IG9uUm93Rm4gPSBwcm9wcy5vblJvdztcclxuICAgICAgcHJvcHMub25Sb3cgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHZhciBjdXN0b20gPSBvblJvd0ZuID8gb25Sb3dGbihyZWNvcmQsIGluZGV4KSA6IHt9O1xyXG4gICAgICAgIGNvbnN0IG9uQ2xpY2tGbiA9IGN1c3RvbS5vbkNsaWNrO1xyXG4gICAgICAgIGN1c3RvbS5vbkNsaWNrID0gKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiBpbmRleCwgLy/ojrflj5bngrnlh7vooYznmoTntKLlvJVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sob25DbGlja0ZuLCBfdGhpcywgW2V2ZW50XSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gY3VzdG9tO1xyXG4gICAgICB9O1xyXG4gICAgICBwcm9wcy5yb3dDbGFzc05hbWUgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gX3RoaXMuc3RhdGUuYWN0aXZlSW5kZXhcclxuICAgICAgICAgID8gYCR7c3R5bGVzLmNsaWNrUm93U3R5bGV9YFxyXG4gICAgICAgICAgOiBcIlwiO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IG5ld0RhdGFTb3VyY2UgPSBbXTtcclxuICAgIGlmIChzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0cmVlVXRpbHMuZ2V0U2VhcmNoTWVudURhdGFzKFxyXG4gICAgICAgIHRoaXMsXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvclxyXG4gICAgICApO1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkUm93S2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YVNvdXJjZTtcclxuICAgIH1cclxuICAgIHByb3BzLnN0b3JlID0gcHJvcHMuc3RvcmUgfHwge307XHJcbiAgICBwcm9wcy5zdG9yZS5hdXRvTG9hZCA9IHByb3BzLnN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgIGNvbnN0IHsgZHJhZ2FibGUgfSA9IF90aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZHJhZ2FibGVQcm9wcyA9XHJcbiAgICAgIGRyYWdhYmxlID09PSB0cnVlXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IEJvZHlSb3dDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG9uUm93OiAocmVjb3JkLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAgICAgICBpbmRleCxcclxuICAgICAgICAgICAgICByZWNvcmQsXHJcbiAgICAgICAgICAgICAgbW92ZVJvdzogdGhpcy5tb3ZlUm93LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH1cclxuICAgICAgICA6IHt9O1xyXG4gICAgY29uc3QgRGVmYXVsdFRhYmxlID0gKFxyXG4gICAgICA8VGFibGVcclxuICAgICAgICBjaGlsZHJlbkNvbHVtbk5hbWU9XCJjaGlsZE5vZGVzXCJcclxuICAgICAgICBkYXRhU291cmNlPXtuZXdEYXRhU291cmNlfVxyXG4gICAgICAgIGNvbHVtbnM9e3RoaXMuZ2V0Q29sdW1ucygpfVxyXG4gICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XHJcbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJuc2MtdGFibGVcIl19XHJcbiAgICAgICAgbG9jYWxlPXt7IGVtcHR5VGV4dDogPE5vRGF0YSAvPiB9fVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICB7Li4uZHJhZ2FibGVQcm9wc31cclxuICAgICAgLz5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGRyYWdhYmxlID09PSB0cnVlID8gKFxyXG4gICAgICA8RG5kUHJvdmlkZXIgYmFja2VuZD17SFRNTDVCYWNrZW5kfT57RGVmYXVsdFRhYmxlfTwvRG5kUHJvdmlkZXI+XHJcbiAgICApIDogKFxyXG4gICAgICBEZWZhdWx0VGFibGVcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB3aXRoWmhMb2NhbGUoTlNDVGFibGUpO1xyXG4iXX0=
|
package/lib/tabs/Tabpane.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { TabPaneProps } from "antd";
|
|
3
|
-
/**
|
|
4
|
-
* @param {*} value 原TabPane key 属性, 封装后key无法接收,改为value传递
|
|
5
|
-
* @param {boolean} showMenu 是否显示右键点击菜单 默认ture
|
|
6
|
-
*/
|
|
7
|
-
interface ITabPaneProps extends TabPaneProps {
|
|
8
|
-
showMenu?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export default class NscTabPane extends React.PureComponent<ITabPaneProps> {
|
|
11
|
-
render(): JSX.Element;
|
|
12
|
-
}
|
|
13
|
-
export {};
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { TabPaneProps } from "antd";
|
|
3
|
+
/**
|
|
4
|
+
* @param {*} value 原TabPane key 属性, 封装后key无法接收,改为value传递
|
|
5
|
+
* @param {boolean} showMenu 是否显示右键点击菜单 默认ture
|
|
6
|
+
*/
|
|
7
|
+
interface ITabPaneProps extends TabPaneProps {
|
|
8
|
+
showMenu?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export default class NscTabPane extends React.PureComponent<ITabPaneProps> {
|
|
11
|
+
render(): JSX.Element;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
package/lib/tabs/Tabpane.js
CHANGED
|
@@ -30,13 +30,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
30
30
|
|
|
31
31
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
32
32
|
|
|
33
|
-
/*
|
|
34
|
-
* @Descripttion:
|
|
35
|
-
* @version:
|
|
36
|
-
* @Author: rxzhu
|
|
37
|
-
* @Date: 2021-03-24 08:50:44
|
|
38
|
-
* @LastEditors: rxzhu
|
|
39
|
-
* @LastEditTime: 2021-04-16 14:52:01
|
|
33
|
+
/*
|
|
34
|
+
* @Descripttion:
|
|
35
|
+
* @version:
|
|
36
|
+
* @Author: rxzhu
|
|
37
|
+
* @Date: 2021-03-24 08:50:44
|
|
38
|
+
* @LastEditors: rxzhu
|
|
39
|
+
* @LastEditTime: 2021-04-16 14:52:01
|
|
40
40
|
*/
|
|
41
41
|
import * as React from "react";
|
|
42
42
|
var TabPane = _Tabs.TabPane;
|
|
@@ -70,4 +70,4 @@ var NscTabPane = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
70
70
|
}(React.PureComponent);
|
|
71
71
|
|
|
72
72
|
export { NscTabPane as default };
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYnMvVGFicGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJUYWJQYW5lIiwiTnNjVGFiUGFuZSIsInByb3BzIiwidGFiIiwiY2hpbGRyZW4iLCJwYXJhbXMiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFVQSxJQUFRQyxPQUFSLFNBQVFBLE9BQVI7O0lBRXFCQyxVOzs7Ozs7Ozs7Ozs7O1dBQ25CLGtCQUFTO0FBQ1Asd0JBQXFDLEtBQUtDLEtBQTFDO0FBQUEsVUFBUUMsR0FBUixlQUFRQSxHQUFSO0FBQUEsVUFBYUMsUUFBYixlQUFhQSxRQUFiO0FBQUEsVUFBMEJDLE1BQTFCOztBQUNBLDBCQUNFLHVEQUNFLG9CQUFDLE9BQUQ7QUFBUyxRQUFBLEdBQUcsRUFBRUY7QUFBZCxTQUF1QkUsTUFBdkIsR0FDR0QsUUFESCxDQURGLENBREY7QUFPRDs7OztFQVZxQ0wsS0FBSyxDQUFDTyxhOztTQUF6QkwsVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yNCAwODo1MDo0NFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMTYgMTQ6NTI6MDFcclxuICovXHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBUYWJzICxUYWJQYW5lUHJvcHN9IGZyb20gXCJhbnRkXCI7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHsqfSB2YWx1ZSDljp9UYWJQYW5lIGtleSDlsZ7mgKfvvIwg5bCB6KOF5ZCOa2V55peg5rOV5o6l5pS277yM5pS55Li6dmFsdWXkvKDpgJJcclxuICogQHBhcmFtIHtib29sZWFufSBzaG93TWVudSDmmK/lkKbmmL7npLrlj7PplK7ngrnlh7voj5zljZUg6buY6K6kdHVyZVxyXG4gKi9cclxuaW50ZXJmYWNlIElUYWJQYW5lUHJvcHMgZXh0ZW5kcyBUYWJQYW5lUHJvcHN7XHJcbiAgc2hvd01lbnU/OiBib29sZWFuO1xyXG59XHJcbmNvbnN0IHsgVGFiUGFuZSB9ID0gVGFicztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY1RhYlBhbmUgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElUYWJQYW5lUHJvcHM+IHtcclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IHRhYiwgY2hpbGRyZW4sIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPFRhYlBhbmUgdGFiPXt0YWJ9IHsuLi5wYXJhbXN9PlxyXG4gICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDwvVGFiUGFuZT5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/lib/tabs/index.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import TabPane from "./Tabpane";
|
|
3
|
-
interface ITabsProps {
|
|
4
|
-
OncontextMenu?: boolean;
|
|
5
|
-
contextMenu?: Array<{
|
|
6
|
-
text?: string;
|
|
7
|
-
key?: string;
|
|
8
|
-
onClick?: void;
|
|
9
|
-
}>;
|
|
10
|
-
[propName: string]: any;
|
|
11
|
-
}
|
|
12
|
-
export default class NscTabs extends React.PureComponent<ITabsProps> {
|
|
13
|
-
static TabPane: typeof TabPane;
|
|
14
|
-
constructor(props: any);
|
|
15
|
-
menuOnClick(item: any, pane: any, paneIndex: any): void;
|
|
16
|
-
render(): JSX.Element;
|
|
17
|
-
}
|
|
18
|
-
export {};
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import TabPane from "./Tabpane";
|
|
3
|
+
interface ITabsProps {
|
|
4
|
+
OncontextMenu?: boolean;
|
|
5
|
+
contextMenu?: Array<{
|
|
6
|
+
text?: string;
|
|
7
|
+
key?: string;
|
|
8
|
+
onClick?: void;
|
|
9
|
+
}>;
|
|
10
|
+
[propName: string]: any;
|
|
11
|
+
}
|
|
12
|
+
export default class NscTabs extends React.PureComponent<ITabsProps> {
|
|
13
|
+
static TabPane: typeof TabPane;
|
|
14
|
+
constructor(props: any);
|
|
15
|
+
menuOnClick(item: any, pane: any, paneIndex: any): void;
|
|
16
|
+
render(): JSX.Element;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
package/lib/tabs/index.js
CHANGED
|
@@ -38,13 +38,13 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
38
38
|
|
|
39
39
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
40
40
|
|
|
41
|
-
/*
|
|
42
|
-
* @Descripttion: tab组件扩展
|
|
43
|
-
* @version:
|
|
44
|
-
* @Author: rxzhu
|
|
45
|
-
* @Date: 2021-03-23 14:51:59
|
|
46
|
-
* @LastEditors: rxzhu
|
|
47
|
-
* @LastEditTime: 2021-04-16 15:09:41
|
|
41
|
+
/*
|
|
42
|
+
* @Descripttion: tab组件扩展
|
|
43
|
+
* @version:
|
|
44
|
+
* @Author: rxzhu
|
|
45
|
+
* @Date: 2021-03-23 14:51:59
|
|
46
|
+
* @LastEditors: rxzhu
|
|
47
|
+
* @LastEditTime: 2021-04-16 15:09:41
|
|
48
48
|
*/
|
|
49
49
|
import * as React from "react";
|
|
50
50
|
import TabPane from "./Tabpane";
|
|
@@ -154,4 +154,4 @@ var NscTabs = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
154
154
|
_defineProperty(NscTabs, "TabPane", TabPane);
|
|
155
155
|
|
|
156
156
|
export { NscTabs as default };
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYnMvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiVGFiUGFuZSIsIk5zY1RhYnMiLCJwcm9wcyIsIml0ZW0iLCJwYW5lIiwicGFuZUluZGV4Iiwib25DbGljayIsImluZGV4IiwiY29udGVudCIsIk9uY29udGV4dE1lbnUiLCJjb250ZXh0TWVudSIsInR5cGUiLCJjaGlsZHJlbiIsInBhcmFtcyIsIm1lbnVzIiwibWFwIiwia2V5IiwibWVudU9uQ2xpY2siLCJiaW5kIiwidGV4dCIsInRhYlRpdGxlIiwidGFiIiwic2hvd01lbnUiLCJnZXRQYW5lcyIsInBhbmVzIiwiaXNBcnJheSIsIkFycmF5IiwiY2hpbGQiLCJlIiwiUHVyZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFFQSxPQUFPQyxPQUFQLE1BQW9CLFdBQXBCOztJQVdxQkMsTzs7Ozs7QUFFbkIsbUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQSw2QkFDWEEsS0FEVztBQUVsQjs7OztXQUNELHFCQUFZQyxJQUFaLEVBQWtCQyxJQUFsQixFQUF3QkMsU0FBeEIsRUFBbUM7QUFDakMsVUFBUUMsT0FBUixHQUFvQkgsSUFBcEIsQ0FBUUcsT0FBUjtBQUNBQSxNQUFBQSxPQUFPLENBQUM7QUFBRUMsUUFBQUEsS0FBSyxFQUFFRixTQUFUO0FBQW9CRyxRQUFBQSxPQUFPLEVBQUVKO0FBQTdCLE9BQUQsQ0FBUDtBQUNEOzs7V0FDRCxrQkFBUztBQUFBOztBQUNQLHdCQU1JLEtBQUtGLEtBTlQ7QUFBQSw4Q0FDRU8sYUFERjtBQUFBLFVBQ0VBLGFBREYsc0NBQ2tCLEtBRGxCO0FBQUEsOENBRUVDLFdBRkY7QUFBQSxVQUVFQSxXQUZGLHNDQUVnQixFQUZoQjtBQUFBLFVBR0VDLElBSEYsZUFHRUEsSUFIRjtBQUFBLFVBSUVDLFFBSkYsZUFJRUEsUUFKRjtBQUFBLFVBS0tDLE1BTEw7O0FBT0EsVUFBTUMsS0FBSyxHQUFHLFNBQVJBLEtBQVEsQ0FBQ1YsSUFBRCxFQUFPQyxTQUFQLEVBQXFCO0FBQ2pDLDRCQUNFLGlDQUNHSyxXQUFXLENBQUNLLEdBQVosQ0FBZ0IsVUFBQ1osSUFBRCxFQUFPSSxLQUFQLEVBQWlCO0FBQ2hDLDhCQUNFLDBCQUFNLElBQU47QUFDRSxZQUFBLEdBQUcsRUFBRUosSUFBSSxDQUFDYSxHQUFMLEdBQVdiLElBQUksQ0FBQ2EsR0FBaEIsR0FBc0JULEtBRDdCO0FBRUUsWUFBQSxPQUFPLEVBQUUsS0FBSSxDQUFDVSxXQUFMLENBQWlCQyxJQUFqQixDQUFzQixLQUF0QixFQUE0QmYsSUFBNUIsRUFBa0NDLElBQWxDLEVBQXdDQyxTQUF4QztBQUZYLGFBSUdGLElBQUksQ0FBQ2dCLElBSlIsQ0FERjtBQVFELFNBVEEsQ0FESCxDQURGO0FBY0QsT0FmRDs7QUFnQkEsVUFBTUMsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ2hCLElBQUQsRUFBT0MsU0FBUCxFQUE2QjtBQUM1QywwQkFBaUNELElBQUksQ0FBQ0YsS0FBdEM7QUFBQSxZQUFRbUIsR0FBUixlQUFRQSxHQUFSO0FBQUEsK0NBQWFDLFFBQWI7QUFBQSxZQUFhQSxRQUFiLHFDQUF3QixJQUF4Qjs7QUFDQSxZQUFJYixhQUFhLElBQUlFLElBQUksSUFBSSxlQUF6QixJQUE0Q1csUUFBaEQsRUFBMEQ7QUFDeEQsOEJBQ0U7QUFDRSxZQUFBLE9BQU8sRUFBRVIsS0FBSyxDQUFDVixJQUFELEVBQU9DLFNBQVAsQ0FEaEI7QUFFRSxZQUFBLE9BQU8sRUFBRSxDQUFDLGFBQUQsQ0FGWDtBQUdFLFlBQUEsU0FBUyxFQUFDO0FBSFosMEJBS0Usa0NBQU9nQixHQUFQLENBTEYsQ0FERjtBQVNELFNBVkQsTUFVTztBQUNMLDhCQUFPLGtDQUFPQSxHQUFQLENBQVA7QUFDRDtBQUNGLE9BZkQ7O0FBaUJBLFVBQU1FLFFBQVEsR0FBRyxTQUFYQSxRQUFXLEdBQU07QUFDckIsWUFBSUMsS0FBSjtBQUNBQSxRQUFBQSxLQUFLLEdBQUdaLFFBQVI7QUFDQSxZQUFNYSxPQUFPLEdBQUdDLEtBQUssQ0FBQ0QsT0FBTixDQUFjRCxLQUFkLENBQWhCOztBQUNBLFlBQUlDLE9BQUosRUFBYTtBQUNYLGlCQUFPRCxLQUFLLENBQUNULEdBQU4sQ0FBVSxVQUFDWSxLQUFELEVBQVFwQixLQUFSLEVBQWtCO0FBQ2pDLGdCQUFJO0FBQ0YsaUNBQXFDb0IsS0FBSyxDQUFDekIsS0FBM0M7QUFBQSxrQkFBUVUsU0FBUixnQkFBUUEsUUFBUjtBQUFBLGtCQUFrQlMsR0FBbEIsZ0JBQWtCQSxHQUFsQjtBQUFBLGtCQUEwQlIsT0FBMUI7O0FBQ0Esa0NBQ0Usb0JBQUMsT0FBRDtBQUFTLGdCQUFBLEdBQUcsRUFBRU8sUUFBUSxDQUFDTyxLQUFELEVBQVFwQixLQUFSLENBQXRCO0FBQXNDLGdCQUFBLEdBQUcsRUFBRW9CLEtBQUssQ0FBQ1g7QUFBakQsaUJBQTBESCxPQUExRCxHQUNHRCxTQURILENBREY7QUFLRCxhQVBELENBT0UsT0FBT2dCLENBQVAsRUFBVSxDQUFFO0FBQ2YsV0FUTSxDQUFQO0FBVUQsU0FYRCxNQVdPO0FBQ0wsNkJBQXFDSixLQUFLLENBQUN0QixLQUEzQztBQUFBLGNBQVFVLFVBQVIsZ0JBQVFBLFFBQVI7QUFBQSxjQUFrQlMsR0FBbEIsZ0JBQWtCQSxHQUFsQjtBQUFBLGNBQTBCUixRQUExQjs7QUFDQSw4QkFDRSxvQkFBQyxPQUFEO0FBQVMsWUFBQSxHQUFHLEVBQUVPLFFBQVEsQ0FBQ0ksS0FBRCxFQUFRLENBQVI7QUFBdEIsYUFBc0NYLFFBQXRDO0FBQThDLFlBQUEsR0FBRyxFQUFFVyxLQUFLLENBQUNSO0FBQXpELGNBQ0dKLFVBREgsQ0FERjtBQUtEO0FBQ0YsT0F2QkQ7O0FBd0JBLDBCQUNFLHVEQUNFO0FBQU0sUUFBQSxJQUFJLEVBQUVEO0FBQVosU0FBc0JFLE1BQXRCLEdBQ0dVLFFBQVEsRUFEWCxDQURGLENBREY7QUFPRDs7OztFQWpGa0N4QixLQUFLLENBQUM4QixhOztnQkFBdEI1QixPLGFBQ0ZELE87O1NBREVDLE8iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiB0YWLnu4Tku7bmianlsZVcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIzIDE0OjUxOjU5XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0xNiAxNTowOTo0MVxyXG4gKi9cclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRhYnMsIERyb3Bkb3duLCBNZW51LCBUYWJzUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgVGFiUGFuZSBmcm9tIFwiLi9UYWJwYW5lXCI7XHJcblxyXG5pbnRlcmZhY2UgSVRhYnNQcm9wcyB7XHJcbiAgT25jb250ZXh0TWVudT86IGJvb2xlYW47XHJcbiAgY29udGV4dE1lbnU/OiBBcnJheTx7XHJcbiAgICB0ZXh0Pzogc3RyaW5nO1xyXG4gICAga2V5Pzogc3RyaW5nO1xyXG4gICAgb25DbGljaz86IHZvaWQ7XHJcbiAgfT47XHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjVGFicyBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVRhYnNQcm9wcz4ge1xyXG4gIHN0YXRpYyBUYWJQYW5lID0gVGFiUGFuZTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuICBtZW51T25DbGljayhpdGVtLCBwYW5lLCBwYW5lSW5kZXgpIHtcclxuICAgIGNvbnN0IHsgb25DbGljayB9ID0gaXRlbTtcclxuICAgIG9uQ2xpY2soeyBpbmRleDogcGFuZUluZGV4LCBjb250ZW50OiBwYW5lIH0pO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIE9uY29udGV4dE1lbnUgPSBmYWxzZSxcclxuICAgICAgY29udGV4dE1lbnUgPSBbXSxcclxuICAgICAgdHlwZSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBtZW51cyA9IChwYW5lLCBwYW5lSW5kZXgpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TWVudT5cclxuICAgICAgICAgIHtjb250ZXh0TWVudS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPE1lbnUuSXRlbVxyXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtLmtleSA/IGl0ZW0ua2V5IDogaW5kZXh9XHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm1lbnVPbkNsaWNrLmJpbmQodGhpcywgaXRlbSwgcGFuZSwgcGFuZUluZGV4KX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7aXRlbS50ZXh0fVxyXG4gICAgICAgICAgICAgIDwvTWVudS5JdGVtPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSl9XHJcbiAgICAgICAgPC9NZW51PlxyXG4gICAgICApO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IHRhYlRpdGxlID0gKHBhbmUsIHBhbmVJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgdGFiLCBzaG93TWVudSA9IHRydWUgfSA9IHBhbmUucHJvcHM7XHJcbiAgICAgIGlmIChPbmNvbnRleHRNZW51ICYmIHR5cGUgPT0gXCJlZGl0YWJsZS1jYXJkXCIgJiYgc2hvd01lbnUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPERyb3Bkb3duXHJcbiAgICAgICAgICAgIG92ZXJsYXk9e21lbnVzKHBhbmUsIHBhbmVJbmRleCl9XHJcbiAgICAgICAgICAgIHRyaWdnZXI9e1tcImNvbnRleHRNZW51XCJdfVxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21SaWdodFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuPnt0YWJ9PC9zcGFuPlxyXG4gICAgICAgICAgPC9Ecm9wZG93bj5cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiA8c3Bhbj57dGFifTwvc3Bhbj47XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgZ2V0UGFuZXMgPSAoKSA9PiB7XHJcbiAgICAgIGxldCBwYW5lczogYW55O1xyXG4gICAgICBwYW5lcyA9IGNoaWxkcmVuO1xyXG4gICAgICBjb25zdCBpc0FycmF5ID0gQXJyYXkuaXNBcnJheShwYW5lcyk7XHJcbiAgICAgIGlmIChpc0FycmF5KSB7XHJcbiAgICAgICAgcmV0dXJuIHBhbmVzLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNoaWxkcmVuLCB0YWIsIC4uLnBhcmFtcyB9ID0gY2hpbGQucHJvcHM7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPFRhYlBhbmUgdGFiPXt0YWJUaXRsZShjaGlsZCwgaW5kZXgpfSBrZXk9e2NoaWxkLmtleX0gey4uLnBhcmFtc30+XHJcbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgICAgICAgPC9UYWJQYW5lPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBjYXRjaCAoZSkge31cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB7IGNoaWxkcmVuLCB0YWIsIC4uLnBhcmFtcyB9ID0gcGFuZXMucHJvcHM7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxUYWJQYW5lIHRhYj17dGFiVGl0bGUocGFuZXMsIDApfSB7Li4ucGFyYW1zfSBrZXk9e3BhbmVzLmtleX0+XHJcbiAgICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvVGFiUGFuZT5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPD5cclxuICAgICAgICA8VGFicyB0eXBlPXt0eXBlfSB7Li4ucGFyYW1zfT5cclxuICAgICAgICAgIHtnZXRQYW5lcygpfVxyXG4gICAgICAgIDwvVGFicz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|