@ai-table/grid 0.0.45 → 0.0.47
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/components/drag/drag.component.d.ts +5 -0
- package/components/drag/drag.component.d.ts.map +1 -1
- package/components/drag/drag.component.scss +1 -1
- package/components/field-setting/field-setting.component.d.ts.map +1 -1
- package/constants/table.d.ts +1 -0
- package/constants/table.d.ts.map +1 -1
- package/core/types/core.d.ts +7 -2
- package/core/types/core.d.ts.map +1 -1
- package/esm2022/components/drag/drag.component.mjs +75 -4
- package/esm2022/components/field-setting/field-setting.component.mjs +3 -2
- package/esm2022/constants/table.mjs +2 -1
- package/esm2022/core/types/core.mjs +1 -1
- package/esm2022/core/utils/queries.mjs +2 -2
- package/esm2022/dom-grid.component.mjs +3 -3
- package/esm2022/grid-base.component.mjs +6 -3
- package/esm2022/grid.component.mjs +24 -2
- package/esm2022/renderer/components/field-head.component.mjs +18 -2
- package/esm2022/services/selection.service.mjs +4 -1
- package/esm2022/types/grid.mjs +1 -1
- package/esm2022/utils/build.mjs +2 -3
- package/esm2022/utils/cell.mjs +3 -2
- package/esm2022/utils/clipboard/extract.mjs +29 -10
- package/esm2022/utils/clipboard/paste.mjs +1 -7
- package/esm2022/utils/field/model/link.mjs +3 -3
- package/esm2022/utils/field/model/select.mjs +31 -9
- package/fesm2022/ai-table-grid.mjs +186 -36
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +5 -3
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/renderer/components/field-head.component.d.ts +8 -0
- package/renderer/components/field-head.component.d.ts.map +1 -1
- package/services/selection.service.d.ts +2 -1
- package/services/selection.service.d.ts.map +1 -1
- package/types/grid.d.ts +2 -1
- package/types/grid.d.ts.map +1 -1
- package/utils/build.d.ts.map +1 -1
- package/utils/cell.d.ts.map +1 -1
- package/utils/clipboard/extract.d.ts +1 -1
- package/utils/clipboard/extract.d.ts.map +1 -1
- package/utils/clipboard/paste.d.ts.map +1 -1
- package/utils/field/model/select.d.ts +1 -1
- package/utils/field/model/select.d.ts.map +1 -1
@@ -8,6 +8,7 @@ export declare class AITableDragComponent implements OnInit, OnDestroy {
|
|
8
8
|
elementRef: ElementRef<HTMLElement>;
|
9
9
|
private rect;
|
10
10
|
private auxiliaryLine;
|
11
|
+
private colResizeLine;
|
11
12
|
private draggedData;
|
12
13
|
private mouseStartPosition;
|
13
14
|
private aiTableDrag;
|
@@ -15,6 +16,7 @@ export declare class AITableDragComponent implements OnInit, OnDestroy {
|
|
15
16
|
private mousedownListener?;
|
16
17
|
private mousemoveListener?;
|
17
18
|
private mouseupListener?;
|
19
|
+
private lineMouseLeaveListener?;
|
18
20
|
constructor();
|
19
21
|
ngOnInit(): void;
|
20
22
|
private initElements;
|
@@ -22,11 +24,14 @@ export declare class AITableDragComponent implements OnInit, OnDestroy {
|
|
22
24
|
private handleDragStateChange;
|
23
25
|
private handleDrag;
|
24
26
|
private movingColumn;
|
27
|
+
private movingColumnWidth;
|
28
|
+
private showColResize;
|
25
29
|
private handleDragEnd;
|
26
30
|
private calculateDragWidth;
|
27
31
|
private setDisplayStyle;
|
28
32
|
private setRectStyles;
|
29
33
|
private setAuxiliaryLineStyles;
|
34
|
+
private setColResizeLine;
|
30
35
|
private resetAuxiliaryLine;
|
31
36
|
ngOnDestroy(): void;
|
32
37
|
static ɵfac: i0.ɵɵFactoryDeclaration<AITableDragComponent, never>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"drag.component.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/components/drag/drag.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,UAAU,EAAU,SAAS,EAAE,MAAM,EAAqB,MAAM,eAAe,CAAC;AACrI,OAAO,EAAoB,WAAW,EAAY,MAAM,YAAY,CAAC;;
|
1
|
+
{"version":3,"file":"drag.component.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/components/drag/drag.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,UAAU,EAAU,SAAS,EAAE,MAAM,EAAqB,MAAM,eAAe,CAAC;AACrI,OAAO,EAAoB,WAAW,EAAY,MAAM,YAAY,CAAC;;AAIrE,qBASa,oBAAqB,YAAW,MAAM,EAAE,SAAS;IAC1D,OAAO,wDAAyB;IAEhC,OAAO,CAAC,2BAA2B,CAAuC;IAE1E,OAAO,CAAC,OAAO,CAAqB;IAEpC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAmC;IAEtE,OAAO,CAAC,IAAI,CAAe;IAE3B,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,aAAa,CAAe;IAEpC,OAAO,CAAC,WAAW,CAA4B;IAE/C,OAAO,CAAC,kBAAkB,CAAyC;IAEnE,OAAO,CAAC,WAAW,CAAiC;IAEpD,OAAO,CAAC,KAAK,CAAiB;IAE9B,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,sBAAsB,CAAC,CAAa;;IAM5C,QAAQ;IAKR,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,YAAY;IA6DpB,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,kBAAkB;IAI1B,WAAW;yCA1QF,oBAAoB;2CAApB,oBAAoB;CAqRhC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"field-setting.component.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/components/field-setting/field-setting.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,MAAM,EACN,WAAW,EAOd,MAAM,eAAe,CAAC;AAevB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EACH,OAAO,EACP,YAAY,EACZ,kBAAkB,EAGlB,eAAe,EACf,gBAAgB,EAGnB,MAAM,YAAY,CAAC;;AAKpB,qBAqCa,mBAAoB,YAAW,MAAM;IAC9C,WAAW,oDAAkC;IAE7C,OAAO,+CAA6B;IAEpC,kBAAkB,+DAAwC;IAE1D,QAAQ,qEAAmE;IAE3E,QAAQ,yDAA0B;IAElC,QAAQ,qEAA6B;IAErC,mBAAmB,qDAEhB;IAEH,cAAc,SAAM;IAEpB,eAAe;;;;;;;OASZ;IAEH,YAAY,uDAET;IAEH,gBAAgB,0BAAoB;IAEpC,gBAAgB,UAAS;IAEzB,SAAS,CAAC,aAAa,+BAA8C;IAErE,QAAQ,IAAI,IAAI;IAKhB,eAAe,cAAe,MAAM,wCAOlC;IAEF,eAAe,CAAC,KAAK,EAAE,kBAAkB;
|
1
|
+
{"version":3,"file":"field-setting.component.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/components/field-setting/field-setting.component.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,MAAM,EACN,WAAW,EAOd,MAAM,eAAe,CAAC;AAevB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EACH,OAAO,EACP,YAAY,EACZ,kBAAkB,EAGlB,eAAe,EACf,gBAAgB,EAGnB,MAAM,YAAY,CAAC;;AAKpB,qBAqCa,mBAAoB,YAAW,MAAM;IAC9C,WAAW,oDAAkC;IAE7C,OAAO,+CAA6B;IAEpC,kBAAkB,+DAAwC;IAE1D,QAAQ,qEAAmE;IAE3E,QAAQ,yDAA0B;IAElC,QAAQ,qEAA6B;IAErC,mBAAmB,qDAEhB;IAEH,cAAc,SAAM;IAEpB,eAAe;;;;;;;OASZ;IAEH,YAAY,uDAET;IAEH,gBAAgB,0BAAoB;IAEpC,gBAAgB,UAAS;IAEzB,SAAS,CAAC,aAAa,+BAA8C;IAErE,QAAQ,IAAI,IAAI;IAKhB,eAAe,cAAe,MAAM,wCAOlC;IAEF,eAAe,CAAC,KAAK,EAAE,kBAAkB;IAazC,iBAAiB;IAYjB,oBAAoB;IAUpB,cAAc,CAAC,CAAC,EAAE,KAAK;IAKvB,MAAM;IAIN,SAAS;;;;;;;OASN;yCA3GM,mBAAmB;2CAAnB,mBAAmB;CA4G/B"}
|
package/constants/table.d.ts
CHANGED
@@ -24,6 +24,7 @@ export declare const AI_TABLE_FIELD_ADD_BUTTON = "AI_TABLE_FIELD_ADD_BUTTON";
|
|
24
24
|
export declare const AI_TABLE_FIELD_ADD_BUTTON_WIDTH = 100;
|
25
25
|
export declare const AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE = 8;
|
26
26
|
export declare const AI_TABLE_FIELD_HEAD_MORE = "AI_TABLE_FIELD_HEAD_MORE";
|
27
|
+
export declare const AI_TABLE_FIELD_HEAD_OPACITY_LINE = "AI_TABLE_FIELD_HEAD_OPACITY_LINE";
|
27
28
|
export declare const AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS = ".ai-table-prevent-clear-selection";
|
28
29
|
export declare const AI_TABLE_ICON_COMMON_SIZE = 16;
|
29
30
|
export declare const AI_TABLE_CELL = "AI_TABLE_CELL";
|
package/constants/table.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/constants/table.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,oCAAoC,IAAI,CAAC;AACtD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AACjE,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,mCAAmC,wCAAwC,CAAC;AACzF,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AACnD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/constants/table.ts"],"names":[],"mappings":"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"}
|
package/core/types/core.d.ts
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Vector2d } from 'konva/lib/types';
|
2
2
|
import { Id } from 'ngx-tethys/types';
|
3
3
|
import { Coordinate } from '../coordinate';
|
4
|
+
import { AITableFieldsSizeMap } from '../../types/grid';
|
4
5
|
export declare enum AITableFieldType {
|
5
6
|
text = "text",
|
6
7
|
richText = "rich_text",
|
@@ -50,7 +51,6 @@ export interface AITableField {
|
|
50
51
|
name: string;
|
51
52
|
type: AITableFieldType;
|
52
53
|
icon?: string;
|
53
|
-
width?: number;
|
54
54
|
hidden?: boolean;
|
55
55
|
frozen?: boolean;
|
56
56
|
stat_type?: AITableStatType;
|
@@ -128,6 +128,7 @@ export type AITableFields = AITableField[];
|
|
128
128
|
export interface AITableValue {
|
129
129
|
records: AITableRecords;
|
130
130
|
fields: AITableFields;
|
131
|
+
fieldsSizeMap: AITableFieldsSizeMap;
|
131
132
|
}
|
132
133
|
export declare enum Direction {
|
133
134
|
before = "before",
|
@@ -159,6 +160,10 @@ export interface MoveFieldOptions {
|
|
159
160
|
path: NumberPath;
|
160
161
|
newPath: NumberPath;
|
161
162
|
}
|
163
|
+
export interface SetFieldWidthOptions {
|
164
|
+
path: IdPath;
|
165
|
+
width: number;
|
166
|
+
}
|
162
167
|
export type NumberPath = [number];
|
163
168
|
export type IdPath = [string];
|
164
169
|
export type AIRecordFieldIdPath = [string, string];
|
@@ -182,6 +187,6 @@ export interface DragEndData {
|
|
182
187
|
fieldsIndex?: number[];
|
183
188
|
recordIds?: Set<string>;
|
184
189
|
recordsIndex?: number[];
|
185
|
-
|
190
|
+
width?: number;
|
186
191
|
}
|
187
192
|
//# sourceMappingURL=core.d.ts.map
|
package/core/types/core.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/core.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, effect, ElementRef, inject, output, Renderer2 } from '@angular/core';
|
2
2
|
import { DragType } from '../../core';
|
3
3
|
import { AITableGridSelectionService } from '../../services/selection.service';
|
4
|
+
import { MIN_COLUMN_WIDTH } from '../../constants/grid';
|
4
5
|
import * as i0 from "@angular/core";
|
5
6
|
export class AITableDragComponent {
|
6
7
|
constructor() {
|
@@ -20,12 +21,15 @@ export class AITableDragComponent {
|
|
20
21
|
initElements() {
|
21
22
|
this.rect = this.elementRef.nativeElement.querySelector('.rect');
|
22
23
|
this.auxiliaryLine = this.elementRef.nativeElement.querySelector('.auxiliary-line');
|
24
|
+
this.colResizeLine = this.elementRef.nativeElement.querySelector('.col-resize-line');
|
23
25
|
}
|
24
26
|
setupEventListeners() {
|
25
27
|
this.mousedownListener = this.render2.listen('window', 'mousedown', (e) => {
|
26
28
|
this.mouseStartPosition = { x: e.x, y: e.y };
|
29
|
+
e.preventDefault();
|
27
30
|
});
|
28
31
|
this.mousemoveListener = this.render2.listen('window', 'mousemove', (e) => {
|
32
|
+
e.preventDefault();
|
29
33
|
if (this.timer) {
|
30
34
|
cancelAnimationFrame(this.timer);
|
31
35
|
}
|
@@ -43,10 +47,17 @@ export class AITableDragComponent {
|
|
43
47
|
}
|
44
48
|
handleDragStateChange() {
|
45
49
|
const drag = this.aiTableGridSelectionService.aiTable.dragState?.();
|
46
|
-
if (!drag
|
50
|
+
if (!drag) {
|
47
51
|
this.aiTableDrag = null;
|
48
52
|
return;
|
49
53
|
}
|
54
|
+
if (drag.type === DragType.none || !this.rect || !this.auxiliaryLine) {
|
55
|
+
return;
|
56
|
+
}
|
57
|
+
if (drag.type === DragType.columnWidth) {
|
58
|
+
this.setDisplayStyle('block');
|
59
|
+
this.showColResize(drag);
|
60
|
+
}
|
50
61
|
this.aiTableDrag = drag;
|
51
62
|
}
|
52
63
|
handleDrag(e, drag) {
|
@@ -62,6 +73,7 @@ export class AITableDragComponent {
|
|
62
73
|
case DragType.record:
|
63
74
|
break;
|
64
75
|
case DragType.columnWidth:
|
76
|
+
this.movingColumnWidth(drag, moveX);
|
65
77
|
break;
|
66
78
|
}
|
67
79
|
}
|
@@ -122,6 +134,58 @@ export class AITableDragComponent {
|
|
122
134
|
this.draggedData = null;
|
123
135
|
}
|
124
136
|
}
|
137
|
+
movingColumnWidth(drag, moveX) {
|
138
|
+
const aiTable = this.aiTableGridSelectionService.aiTable;
|
139
|
+
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
140
|
+
const sourceColumnIndex = visibleColumnIndexMap.get(drag.sourceIds.values().next().value) || 0;
|
141
|
+
const sourceColumnStartX = drag.coordinate.getColumnOffset(sourceColumnIndex);
|
142
|
+
const sourceColumnWidth = drag.coordinate.getColumnWidth(sourceColumnIndex);
|
143
|
+
const scroll = drag.scroll || { x: 0, y: 0 };
|
144
|
+
const pointerX = moveX + sourceColumnStartX;
|
145
|
+
const colResizeX = pointerX - (sourceColumnIndex === 0 ? 0 : scroll.x);
|
146
|
+
const left = `${colResizeX + sourceColumnWidth}px`;
|
147
|
+
this.setAuxiliaryLineStyles({
|
148
|
+
width: '2px',
|
149
|
+
height: '100%',
|
150
|
+
top: '0',
|
151
|
+
left
|
152
|
+
});
|
153
|
+
this.draggedData = {
|
154
|
+
type: DragType.columnWidth,
|
155
|
+
fieldIds: drag.sourceIds,
|
156
|
+
width: Math.max(MIN_COLUMN_WIDTH, sourceColumnWidth + moveX)
|
157
|
+
};
|
158
|
+
}
|
159
|
+
showColResize(drag) {
|
160
|
+
const aiTable = this.aiTableGridSelectionService.aiTable;
|
161
|
+
const visibleColumnIndexMap = aiTable.context.visibleColumnsIndexMap();
|
162
|
+
const sourceColumnIndex = visibleColumnIndexMap.get(drag.sourceIds.values().next().value) || 0;
|
163
|
+
const coordinate = drag.coordinate;
|
164
|
+
const sourceColumnStartX = coordinate.getColumnOffset(sourceColumnIndex);
|
165
|
+
const scroll = drag.scroll || { x: 0, y: 0 };
|
166
|
+
let targetColumnIndex = coordinate.getColumnStartIndex(sourceColumnStartX + scroll.x);
|
167
|
+
let targetColumnStartX = coordinate.getColumnOffset(targetColumnIndex);
|
168
|
+
const sourceColumnWidth = drag.coordinate.getColumnWidth(sourceColumnIndex);
|
169
|
+
const opacityLineWidth = 4;
|
170
|
+
// 重置样式
|
171
|
+
this.setRectStyles({ width: 0 });
|
172
|
+
this.resetAuxiliaryLine();
|
173
|
+
this.setDisplayStyle('block');
|
174
|
+
this.render2.setStyle(this.elementRef.nativeElement, 'cursor', 'col-resize');
|
175
|
+
// 隐藏列宽调整线,用于监听鼠标离开此区域后结束宽度调整
|
176
|
+
this.setColResizeLine({
|
177
|
+
opacity: 0,
|
178
|
+
height: '100%',
|
179
|
+
width: `${opacityLineWidth}px`,
|
180
|
+
left: `${targetColumnStartX + sourceColumnWidth - opacityLineWidth / 2}px`,
|
181
|
+
zIndex: 10
|
182
|
+
});
|
183
|
+
this.lineMouseLeaveListener = this.render2.listen(this.colResizeLine, 'mouseleave', () => {
|
184
|
+
this.setDisplayStyle('none');
|
185
|
+
this.lineMouseLeaveListener?.();
|
186
|
+
this.lineMouseLeaveListener = undefined;
|
187
|
+
});
|
188
|
+
}
|
125
189
|
handleDragEnd() {
|
126
190
|
this.setDisplayStyle('none');
|
127
191
|
if (this.draggedData) {
|
@@ -151,6 +215,11 @@ export class AITableDragComponent {
|
|
151
215
|
this.render2.setStyle(this.auxiliaryLine, prop, value);
|
152
216
|
});
|
153
217
|
}
|
218
|
+
setColResizeLine(styles) {
|
219
|
+
Object.entries(styles).forEach(([prop, value]) => {
|
220
|
+
this.render2.setStyle(this.colResizeLine, prop, value);
|
221
|
+
});
|
222
|
+
}
|
154
223
|
resetAuxiliaryLine() {
|
155
224
|
this.setAuxiliaryLineStyles({ width: 0 });
|
156
225
|
}
|
@@ -161,18 +230,20 @@ export class AITableDragComponent {
|
|
161
230
|
this.mousemoveListener();
|
162
231
|
if (this.mouseupListener)
|
163
232
|
this.mouseupListener();
|
233
|
+
if (this.lineMouseLeaveListener)
|
234
|
+
this.lineMouseLeaveListener();
|
164
235
|
if (this.timer) {
|
165
236
|
cancelAnimationFrame(this.timer);
|
166
237
|
this.timer = null;
|
167
238
|
}
|
168
239
|
}
|
169
240
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableDragComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
241
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AITableDragComponent, isStandalone: true, selector: "ai-table-drag", outputs: { dragEnd: "dragEnd" }, host: { classAttribute: "drag-container" }, ngImport: i0, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>\n<div class=\"col-resize-line\"></div>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
171
242
|
}
|
172
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableDragComponent, decorators: [{
|
173
244
|
type: Component,
|
174
245
|
args: [{ selector: 'ai-table-drag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
175
246
|
class: 'drag-container'
|
176
|
-
}, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>" }]
|
247
|
+
}, template: "<div class=\"rect\"></div>\n<div class=\"auxiliary-line\"></div>\n<div class=\"col-resize-line\"></div>" }]
|
177
248
|
}], ctorParameters: () => [] });
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBaUMsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQVcvRSxNQUFNLE9BQU8sb0JBQW9CO0lBeUI3QjtRQXhCQSxZQUFPLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFFeEIsZ0NBQTJCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFbEUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxlQUFVLEdBQTRCLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBTTlELGdCQUFXLEdBQXVCLElBQUksQ0FBQztRQUV2Qyx1QkFBa0IsR0FBb0MsSUFBSSxDQUFDO1FBRTNELGdCQUFXLEdBQTRCLElBQUksQ0FBQztRQVNoRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxHQUFH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Q0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLGlCQUFpQjtZQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLGlCQUFpQjtZQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLGVBQWU7WUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFakQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7K0dBdk1RLG9CQUFvQjttR0FBcEIsb0JBQW9CLHNKQ2JqQyxrRUFDa0M7OzRGRFlyQixvQkFBb0I7a0JBVGhDLFNBQVM7K0JBQ0ksZUFBZSxjQUViLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsZ0JBQWdCO3FCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgb3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVEcmFnU3RhdGUsIERyYWdFbmREYXRhLCBEcmFnVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VsZWN0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWRyYWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcmFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdkcmFnLWNvbnRhaW5lcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVEcmFnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGRyYWdFbmQgPSBvdXRwdXQ8RHJhZ0VuZERhdGE+KCk7XG5cbiAgICBwcml2YXRlIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSA9IGluamVjdChBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZW5kZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cbiAgICBwcml2YXRlIHJlY3QhOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgYXV4aWxpYXJ5TGluZSE6IEhUTUxFbGVtZW50O1xuXG4gICAgcHJpdmF0ZSBkcmFnZ2VkRGF0YTogRHJhZ0VuZERhdGEgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbW91c2VTdGFydFBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgYWlUYWJsZURyYWc6IEFJVGFibGVEcmFnU3RhdGUgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgdGltZXIhOiBudW1iZXIgfCBudWxsO1xuXG4gICAgcHJpdmF0ZSBtb3VzZWRvd25MaXN0ZW5lcj86ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBtb3VzZW1vdmVMaXN0ZW5lcj86ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBtb3VzZXVwTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB0aGlzLmhhbmRsZURyYWdTdGF0ZUNoYW5nZSgpKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0RWxlbWVudHMoKTtcbiAgICAgICAgdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RWxlbWVudHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVjdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yZWN0JykhO1xuICAgICAgICB0aGlzLmF1eGlsaWFyeUxpbmUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYXV4aWxpYXJ5LWxpbmUnKSE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdXNlZG93bkxpc3RlbmVyID0gdGhpcy5yZW5kZXIyLmxpc3Rlbignd2luZG93JywgJ21vdXNlZG93bicsIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1vdXNlU3RhcnRQb3NpdGlvbiA9IHsgeDogZS54LCB5OiBlLnkgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb3VzZW1vdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyMi5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZW1vdmUnLCAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudGltZXIpIHtcbiAgICAgICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnRpbWVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFpVGFibGVEcmFnICYmIHRoaXMubW91c2VTdGFydFBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRHJhZyhlLCB0aGlzLmFpVGFibGVEcmFnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb3VzZXVwTGlzdGVuZXIgPSB0aGlzLnJlbmRlcjIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2V1cCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW91c2VTdGFydFBvc2l0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZURyYWcgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVEcmFnRW5kKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRHJhZ1N0YXRlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkcmFnID0gdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UuYWlUYWJsZS5kcmFnU3RhdGU/LigpO1xuXG4gICAgICAgIGlmICghZHJhZyB8fCBkcmFnLnR5cGUgPT09IERyYWdUeXBlLm5vbmUgfHwgIXRoaXMucmVjdCB8fCAhdGhpcy5hdXhpbGlhcnlMaW5lKSB7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGVEcmFnID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWlUYWJsZURyYWcgPSBkcmFnO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRHJhZyhlOiBNb3VzZUV2ZW50LCBkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlKSB7XG4gICAgICAgIGlmIChkcmFnLnR5cGUgPT09IERyYWdUeXBlLm5vbmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVN0eWxlKCdibG9jaycpO1xuICAgICAgICBjb25zdCBtb3ZlWCA9IGUueCAtICh0aGlzLm1vdXNlU3RhcnRQb3NpdGlvbj8ueCB8fCAwKTtcbiAgICAgICAgc3dpdGNoIChkcmFnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRHJhZ1R5cGUuZmllbGQ6XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZpbmdDb2x1bW4oZHJhZywgbW92ZVgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBEcmFnVHlwZS5yZWNvcmQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERyYWdUeXBlLmNvbHVtbldpZHRoOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZpbmdDb2x1bW4oZHJhZzogQUlUYWJsZURyYWdTdGF0ZSwgbW92ZVg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBhaVRhYmxlID0gdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UuYWlUYWJsZTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsID0gZHJhZy5zY3JvbGwgfHwgeyB4OiAwLCB5OiAwIH07XG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGUgPSBkcmFnLmNvb3JkaW5hdGUhO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBhaVRhYmxlLmdyaWREYXRhKCkuZmllbGRzO1xuICAgICAgICBjb25zdCB3aWR0aCA9IHRoaXMuY2FsY3VsYXRlRHJhZ1dpZHRoKGZpZWxkcywgY29vcmRpbmF0ZSwgZHJhZyk7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW5JbmRleE1hcCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5JbmRleCA9IHZpc2libGVDb2x1bW5JbmRleE1hcC5nZXQoZHJhZy5zb3VyY2VJZHMudmFsdWVzKCkubmV4dCgpLnZhbHVlISkgfHwgMDtcbiAgICAgICAgY29uc3Qgc291cmNlQ29sdW1uU3RhcnRYID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoc291cmNlQ29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoc291cmNlQ29sdW1uSW5kZXgpO1xuICAgICAgICAvLyBUT0RPOiDnm67liY3pu5jorqTnrKzkuIDliJfkuLrlhrvnu5PliJfvvIzlkI7mnJ/mlK/mjIHorr7nva7lhrvnu5PliJfpnIDopoHlpITnkIZcbiAgICAgICAgY29uc3QgaXNTb3VyY2VDb2x1bW5Gcm96ZW4gPSBzb3VyY2VDb2x1bW5JbmRleCA9PT0gMDtcbiAgICAgICAgY29uc3QgcG9pbnRlclggPSBtb3ZlWCArIHNvdXJjZUNvbHVtblN0YXJ0WDtcbiAgICAgICAgLy8g5ouW5ou95Lit5b+D54K5XG4gICAgICAgIGNvbnN0IGRyYWdDZW50ZXIgPSBzb3VyY2VDb2x1bW5XaWR0aCAvIDI7XG4gICAgICAgIHRoaXMuc2V0UmVjdFN0eWxlcyh7XG4gICAgICAgICAgICBjdXJzb3I6ICdtb3ZlJyxcbiAgICAgICAgICAgIHdpZHRoOiBgJHt3aWR0aH1weGAsXG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIHRvcDogJzAnLFxuICAgICAgICAgICAgbGVmdDogYCR7cG9pbnRlclggLSAoaXNTb3VyY2VDb2x1bW5Gcm96ZW4gPyAwIDogc2Nyb2xsLngpfXB4YFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBsYXN0Q29sdW1uT2Zmc2V0ID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoY29vcmRpbmF0ZS5jb2x1bW5Db3VudCAtIDEpO1xuICAgICAgICBjb25zdCBsYXN0Q29sdW1uV2lkdGggPSBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKGNvb3JkaW5hdGUuY29sdW1uQ291bnQgLSAxKTtcblxuICAgICAgICBsZXQgdGFyZ2V0Q29sdW1uSW5kZXggPSBjb29yZGluYXRlLmdldENvbHVtblN0YXJ0SW5kZXgocG9pbnRlclggKyAoaXNTb3VyY2VDb2x1bW5Gcm96ZW4gPyBzY3JvbGwueCA6IDApICsgZHJhZ0NlbnRlcik7XG4gICAgICAgIGxldCB0YXJnZXRDb2x1bW5TdGFydFggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldCh0YXJnZXRDb2x1bW5JbmRleCk7XG4gICAgICAgIGxldCBpc0xhc3RDb2x1bW4gPSBmYWxzZTtcbiAgICAgICAgLy8g5aSE55CG5pyA5ZCO5LiA5YiXXG4gICAgICAgIGlmIChwb2ludGVyWCArIGRyYWdDZW50ZXIgPiBsYXN0Q29sdW1uT2Zmc2V0ICsgbGFzdENvbHVtbldpZHRoKSB7XG4gICAgICAgICAgICB0YXJnZXRDb2x1bW5JbmRleCA9IGNvb3JkaW5hdGUuY29sdW1uQ291bnQ7XG4gICAgICAgICAgICB0YXJnZXRDb2x1bW5TdGFydFggPSBsYXN0Q29sdW1uT2Zmc2V0ICsgbGFzdENvbHVtbldpZHRoO1xuICAgICAgICAgICAgaXNMYXN0Q29sdW1uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodGFyZ2V0Q29sdW1uSW5kZXggPj0gMCAmJiAodGFyZ2V0Q29sdW1uSW5kZXggLSBzb3VyY2VDb2x1bW5JbmRleCA+IDEgfHwgdGFyZ2V0Q29sdW1uSW5kZXggLSBzb3VyY2VDb2x1bW5JbmRleCA8IDApKSB8fFxuICAgICAgICAgICAgaXNMYXN0Q29sdW1uXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zZXRBdXhpbGlhcnlMaW5lU3R5bGVzKHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzJweCcsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IGAke3RhcmdldENvbHVtblN0YXJ0WCAtIHNjcm9sbC54fXB4YFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBmaWVsZHNJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgICAgICAgICAgIGRyYWcuc291cmNlSWRzLmZvckVhY2goKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuZ2V0KGlkKSB8fCAwO1xuICAgICAgICAgICAgICAgIGZpZWxkc0luZGV4LnB1c2goaW5kZXgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyDlkJHlj7Pnp7vliqjnm67moIflnKjnm67moIfliJfnmoTliY3kuIDliJdcbiAgICAgICAgICAgIGlmICh0YXJnZXRDb2x1bW5JbmRleCA+IHNvdXJjZUNvbHVtbkluZGV4KSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0Q29sdW1uSW5kZXggLT0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZERhdGEgPSB7IHR5cGU6IERyYWdUeXBlLmZpZWxkLCB0YXJnZXRJbmRleDogdGFyZ2V0Q29sdW1uSW5kZXgsIGZpZWxkSWRzOiBkcmFnLnNvdXJjZUlkcywgZmllbGRzSW5kZXggfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXRBdXhpbGlhcnlMaW5lKCk7XG4gICAgICAgICAgICB0aGlzLmRyYWdnZWREYXRhID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRHJhZ0VuZCgpIHtcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5U3R5bGUoJ25vbmUnKTtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2dlZERhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ0VuZC5lbWl0KHsgLi4udGhpcy5kcmFnZ2VkRGF0YSB9KTtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZERhdGEgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVEcmFnV2lkdGgoZmllbGRzOiBhbnlbXSwgY29vcmRpbmF0ZTogYW55LCBkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHdpZHRoID0gMDtcbiAgICAgICAgZmllbGRzLmZvckVhY2goKGZpZWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGRyYWcuc291cmNlSWRzLmhhcyhmaWVsZC5faWQpKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggKz0gY29vcmRpbmF0ZS5jb2x1bW5JbmRpY2VzU2l6ZU1hcFtpbmRleF0gfHwgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERpc3BsYXlTdHlsZShkaXNwbGF5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yZW5kZXIyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsIGRpc3BsYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UmVjdFN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5yZWN0LCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QXV4aWxpYXJ5TGluZVN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5hdXhpbGlhcnlMaW5lLCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRBdXhpbGlhcnlMaW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEF1eGlsaWFyeUxpbmVTdHlsZXMoeyB3aWR0aDogMCB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91c2Vkb3duTGlzdGVuZXIpIHRoaXMubW91c2Vkb3duTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIpIHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMubW91c2V1cExpc3RlbmVyKSB0aGlzLm1vdXNldXBMaXN0ZW5lcigpO1xuXG4gICAgICAgIGlmICh0aGlzLnRpbWVyKSB7XG4gICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMudGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJlY3RcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJhdXhpbGlhcnktbGluZVwiPjwvZGl2PiJdfQ==
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2RyYWcvZHJhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBaUMsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVd4RCxNQUFNLE9BQU8sb0JBQW9CO0lBNEI3QjtRQTNCQSxZQUFPLEdBQUcsTUFBTSxFQUFlLENBQUM7UUFFeEIsZ0NBQTJCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFbEUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwQyxlQUFVLEdBQTRCLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBUTlELGdCQUFXLEdBQXVCLElBQUksQ0FBQztRQUV2Qyx1QkFBa0IsR0FBb0MsSUFBSSxDQUFDO1FBRTNELGdCQUFXLEdBQTRCLElBQUksQ0FBQztRQVVoRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJ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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgb3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVEcmFnU3RhdGUsIERyYWdFbmREYXRhLCBEcmFnVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTUlOX0NPTFVNTl9XSURUSCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ncmlkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1kcmFnJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZHJhZy1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRHJhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBkcmFnRW5kID0gb3V0cHV0PERyYWdFbmREYXRhPigpO1xuXG4gICAgcHJpdmF0ZSBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UgPSBpbmplY3QoQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgcmVuZGVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gICAgcHJpdmF0ZSByZWN0ITogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIGF1eGlsaWFyeUxpbmUhOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgY29sUmVzaXplTGluZSE6IEhUTUxFbGVtZW50O1xuXG4gICAgcHJpdmF0ZSBkcmFnZ2VkRGF0YTogRHJhZ0VuZERhdGEgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbW91c2VTdGFydFBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgYWlUYWJsZURyYWc6IEFJVGFibGVEcmFnU3RhdGUgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgdGltZXIhOiBudW1iZXIgfCBudWxsO1xuXG4gICAgcHJpdmF0ZSBtb3VzZWRvd25MaXN0ZW5lcj86ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBtb3VzZW1vdmVMaXN0ZW5lcj86ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBtb3VzZXVwTGlzdGVuZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgbGluZU1vdXNlTGVhdmVMaXN0ZW5lcj86ICgpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHRoaXMuaGFuZGxlRHJhZ1N0YXRlQ2hhbmdlKCkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRFbGVtZW50cygpO1xuICAgICAgICB0aGlzLnNldHVwRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRFbGVtZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnJlY3QnKSE7XG4gICAgICAgIHRoaXMuYXV4aWxpYXJ5TGluZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hdXhpbGlhcnktbGluZScpITtcbiAgICAgICAgdGhpcy5jb2xSZXNpemVMaW5lID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbC1yZXNpemUtbGluZScpITtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW91c2Vkb3duTGlzdGVuZXIgPSB0aGlzLnJlbmRlcjIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2Vkb3duJywgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW91c2VTdGFydFBvc2l0aW9uID0geyB4OiBlLngsIHk6IGUueSB9O1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm1vdXNlbW92ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXIyLmxpc3Rlbignd2luZG93JywgJ21vdXNlbW92ZScsIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMudGltZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy50aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWlUYWJsZURyYWcgJiYgdGhpcy5tb3VzZVN0YXJ0UG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVEcmFnKGUsIHRoaXMuYWlUYWJsZURyYWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm1vdXNldXBMaXN0ZW5lciA9IHRoaXMucmVuZGVyMi5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZXVwJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb3VzZVN0YXJ0UG9zaXRpb24gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5haVRhYmxlRHJhZyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZURyYWdFbmQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVEcmFnU3RhdGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRyYWcgPSB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5haVRhYmxlLmRyYWdTdGF0ZT8uKCk7XG5cbiAgICAgICAgaWYgKCFkcmFnKSB7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGVEcmFnID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkcmFnLnR5cGUgPT09IERyYWdUeXBlLm5vbmUgfHwgIXRoaXMucmVjdCB8fCAhdGhpcy5hdXhpbGlhcnlMaW5lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZHJhZy50eXBlID09PSBEcmFnVHlwZS5jb2x1bW5XaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5zZXREaXNwbGF5U3R5bGUoJ2Jsb2NrJyk7XG4gICAgICAgICAgICB0aGlzLnNob3dDb2xSZXNpemUoZHJhZyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFpVGFibGVEcmFnID0gZHJhZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURyYWcoZTogTW91c2VFdmVudCwgZHJhZzogQUlUYWJsZURyYWdTdGF0ZSkge1xuICAgICAgICBpZiAoZHJhZy50eXBlID09PSBEcmFnVHlwZS5ub25lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXREaXNwbGF5U3R5bGUoJ2Jsb2NrJyk7XG4gICAgICAgIGNvbnN0IG1vdmVYID0gZS54IC0gKHRoaXMubW91c2VTdGFydFBvc2l0aW9uPy54IHx8IDApO1xuICAgICAgICBzd2l0Y2ggKGRyYWcudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBEcmFnVHlwZS5maWVsZDpcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmluZ0NvbHVtbihkcmFnLCBtb3ZlWCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIERyYWdUeXBlLnJlY29yZDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRHJhZ1R5cGUuY29sdW1uV2lkdGg6XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZpbmdDb2x1bW5XaWR0aChkcmFnLCBtb3ZlWCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmluZ0NvbHVtbihkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlLCBtb3ZlWDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGFpVGFibGUgPSB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5haVRhYmxlO1xuICAgICAgICBjb25zdCBzY3JvbGwgPSBkcmFnLnNjcm9sbCB8fCB7IHg6IDAsIHk6IDAgfTtcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZSA9IGRyYWcuY29vcmRpbmF0ZSE7XG4gICAgICAgIGNvbnN0IGZpZWxkcyA9IGFpVGFibGUuZ3JpZERhdGEoKS5maWVsZHM7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5jYWxjdWxhdGVEcmFnV2lkdGgoZmllbGRzLCBjb29yZGluYXRlLCBkcmFnKTtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbkluZGV4TWFwID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlQ29sdW1uc0luZGV4TWFwKCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbkluZGV4ID0gdmlzaWJsZUNvbHVtbkluZGV4TWFwLmdldChkcmFnLnNvdXJjZUlkcy52YWx1ZXMoKS5uZXh0KCkudmFsdWUhKSB8fCAwO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5TdGFydFggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChzb3VyY2VDb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNvbHVtbldpZHRoID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChzb3VyY2VDb2x1bW5JbmRleCk7XG4gICAgICAgIC8vIFRPRE86IOebruWJjem7mOiupOesrOS4gOWIl+S4uuWGu+e7k+WIl++8jOWQjuacn+aUr+aMgeiuvue9ruWGu+e7k+WIl+mcgOimgeWkhOeQhlxuICAgICAgICBjb25zdCBpc1NvdXJjZUNvbHVtbkZyb3plbiA9IHNvdXJjZUNvbHVtbkluZGV4ID09PSAwO1xuICAgICAgICBjb25zdCBwb2ludGVyWCA9IG1vdmVYICsgc291cmNlQ29sdW1uU3RhcnRYO1xuICAgICAgICAvLyDmi5bmi73kuK3lv4PngrlcbiAgICAgICAgY29uc3QgZHJhZ0NlbnRlciA9IHNvdXJjZUNvbHVtbldpZHRoIC8gMjtcbiAgICAgICAgdGhpcy5zZXRSZWN0U3R5bGVzKHtcbiAgICAgICAgICAgIGN1cnNvcjogJ21vdmUnLFxuICAgICAgICAgICAgd2lkdGg6IGAke3dpZHRofXB4YCxcbiAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgdG9wOiAnMCcsXG4gICAgICAgICAgICBsZWZ0OiBgJHtwb2ludGVyWCAtIChpc1NvdXJjZUNvbHVtbkZyb3plbiA/IDAgOiBzY3JvbGwueCl9cHhgXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGxhc3RDb2x1bW5PZmZzZXQgPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb29yZGluYXRlLmNvbHVtbkNvdW50IC0gMSk7XG4gICAgICAgIGNvbnN0IGxhc3RDb2x1bW5XaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29vcmRpbmF0ZS5jb2x1bW5Db3VudCAtIDEpO1xuXG4gICAgICAgIGxldCB0YXJnZXRDb2x1bW5JbmRleCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uU3RhcnRJbmRleChwb2ludGVyWCArIChpc1NvdXJjZUNvbHVtbkZyb3plbiA/IHNjcm9sbC54IDogMCkgKyBkcmFnQ2VudGVyKTtcbiAgICAgICAgbGV0IHRhcmdldENvbHVtblN0YXJ0WCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uT2Zmc2V0KHRhcmdldENvbHVtbkluZGV4KTtcbiAgICAgICAgbGV0IGlzTGFzdENvbHVtbiA9IGZhbHNlO1xuICAgICAgICAvLyDlpITnkIbmnIDlkI7kuIDliJdcbiAgICAgICAgaWYgKHBvaW50ZXJYICsgZHJhZ0NlbnRlciA+IGxhc3RDb2x1bW5PZmZzZXQgKyBsYXN0Q29sdW1uV2lkdGgpIHtcbiAgICAgICAgICAgIHRhcmdldENvbHVtbkluZGV4ID0gY29vcmRpbmF0ZS5jb2x1bW5Db3VudDtcbiAgICAgICAgICAgIHRhcmdldENvbHVtblN0YXJ0WCA9IGxhc3RDb2x1bW5PZmZzZXQgKyBsYXN0Q29sdW1uV2lkdGg7XG4gICAgICAgICAgICBpc0xhc3RDb2x1bW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0YXJnZXRDb2x1bW5JbmRleCA+PSAwICYmICh0YXJnZXRDb2x1bW5JbmRleCAtIHNvdXJjZUNvbHVtbkluZGV4ID4gMSB8fCB0YXJnZXRDb2x1bW5JbmRleCAtIHNvdXJjZUNvbHVtbkluZGV4IDwgMCkpIHx8XG4gICAgICAgICAgICBpc0xhc3RDb2x1bW5cbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNldEF1eGlsaWFyeUxpbmVTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMnB4JyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgbGVmdDogYCR7dGFyZ2V0Q29sdW1uU3RhcnRYIC0gc2Nyb2xsLnh9cHhgXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkc0luZGV4OiBudW1iZXJbXSA9IFtdO1xuICAgICAgICAgICAgZHJhZy5zb3VyY2VJZHMuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHZpc2libGVDb2x1bW5JbmRleE1hcC5nZXQoaWQpIHx8IDA7XG4gICAgICAgICAgICAgICAgZmllbGRzSW5kZXgucHVzaChpbmRleCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIOWQkeWPs+enu+WKqOebruagh+WcqOebruagh+WIl+eahOWJjeS4gOWIl1xuICAgICAgICAgICAgaWYgKHRhcmdldENvbHVtbkluZGV4ID4gc291cmNlQ29sdW1uSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXRDb2x1bW5JbmRleCAtPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkRGF0YSA9IHsgdHlwZTogRHJhZ1R5cGUuZmllbGQsIHRhcmdldEluZGV4OiB0YXJnZXRDb2x1bW5JbmRleCwgZmllbGRJZHM6IGRyYWcuc291cmNlSWRzLCBmaWVsZHNJbmRleCB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZXNldEF1eGlsaWFyeUxpbmUoKTtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZERhdGEgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZpbmdDb2x1bW5XaWR0aChkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlLCBtb3ZlWDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGFpVGFibGUgPSB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5haVRhYmxlO1xuICAgICAgICBjb25zdCB2aXNpYmxlQ29sdW1uSW5kZXhNYXAgPSBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVDb2x1bW5zSW5kZXhNYXAoKTtcbiAgICAgICAgY29uc3Qgc291cmNlQ29sdW1uSW5kZXggPSB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuZ2V0KGRyYWcuc291cmNlSWRzLnZhbHVlcygpLm5leHQoKS52YWx1ZSEpIHx8IDA7XG4gICAgICAgIGNvbnN0IHNvdXJjZUNvbHVtblN0YXJ0WCA9IGRyYWcuY29vcmRpbmF0ZSEuZ2V0Q29sdW1uT2Zmc2V0KHNvdXJjZUNvbHVtbkluZGV4KTtcbiAgICAgICAgY29uc3Qgc291cmNlQ29sdW1uV2lkdGggPSBkcmFnLmNvb3JkaW5hdGUhLmdldENvbHVtbldpZHRoKHNvdXJjZUNvbHVtbkluZGV4KTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsID0gZHJhZy5zY3JvbGwgfHwgeyB4OiAwLCB5OiAwIH07XG4gICAgICAgIGNvbnN0IHBvaW50ZXJYID0gbW92ZVggKyBzb3VyY2VDb2x1bW5TdGFydFg7XG4gICAgICAgIGNvbnN0IGNvbFJlc2l6ZVggPSBwb2ludGVyWCAtIChzb3VyY2VDb2x1bW5JbmRleCA9PT0gMCA/IDAgOiBzY3JvbGwueCk7XG4gICAgICAgIGNvbnN0IGxlZnQgPSBgJHtjb2xSZXNpemVYICsgc291cmNlQ29sdW1uV2lkdGh9cHhgO1xuICAgICAgICB0aGlzLnNldEF1eGlsaWFyeUxpbmVTdHlsZXMoe1xuICAgICAgICAgICAgd2lkdGg6ICcycHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICB0b3A6ICcwJyxcbiAgICAgICAgICAgIGxlZnRcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZHJhZ2dlZERhdGEgPSB7XG4gICAgICAgICAgICB0eXBlOiBEcmFnVHlwZS5jb2x1bW5XaWR0aCxcbiAgICAgICAgICAgIGZpZWxkSWRzOiBkcmFnLnNvdXJjZUlkcyxcbiAgICAgICAgICAgIHdpZHRoOiBNYXRoLm1heChNSU5fQ09MVU1OX1dJRFRILCBzb3VyY2VDb2x1bW5XaWR0aCArIG1vdmVYKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0NvbFJlc2l6ZShkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlKSB7XG4gICAgICAgIGNvbnN0IGFpVGFibGUgPSB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5haVRhYmxlO1xuICAgICAgICBjb25zdCB2aXNpYmxlQ29sdW1uSW5kZXhNYXAgPSBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVDb2x1bW5zSW5kZXhNYXAoKTtcbiAgICAgICAgY29uc3Qgc291cmNlQ29sdW1uSW5kZXggPSB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuZ2V0KGRyYWcuc291cmNlSWRzLnZhbHVlcygpLm5leHQoKS52YWx1ZSEpIHx8IDA7XG4gICAgICAgIGNvbnN0IGNvb3JkaW5hdGUgPSBkcmFnLmNvb3JkaW5hdGUhO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5TdGFydFggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChzb3VyY2VDb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHNjcm9sbCA9IGRyYWcuc2Nyb2xsIHx8IHsgeDogMCwgeTogMCB9O1xuICAgICAgICBsZXQgdGFyZ2V0Q29sdW1uSW5kZXggPSBjb29yZGluYXRlLmdldENvbHVtblN0YXJ0SW5kZXgoc291cmNlQ29sdW1uU3RhcnRYICsgc2Nyb2xsLngpO1xuICAgICAgICBsZXQgdGFyZ2V0Q29sdW1uU3RhcnRYID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQodGFyZ2V0Q29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCBzb3VyY2VDb2x1bW5XaWR0aCA9IGRyYWcuY29vcmRpbmF0ZSEuZ2V0Q29sdW1uV2lkdGgoc291cmNlQ29sdW1uSW5kZXgpO1xuICAgICAgICBjb25zdCBvcGFjaXR5TGluZVdpZHRoID0gNDtcbiAgICAgICAgLy8g6YeN572u5qC35byPXG4gICAgICAgIHRoaXMuc2V0UmVjdFN0eWxlcyh7IHdpZHRoOiAwIH0pO1xuICAgICAgICB0aGlzLnJlc2V0QXV4aWxpYXJ5TGluZSgpO1xuXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVN0eWxlKCdibG9jaycpO1xuICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXJzb3InLCAnY29sLXJlc2l6ZScpO1xuICAgICAgICAvLyDpmpDol4/liJflrr3osIPmlbTnur/vvIznlKjkuo7nm5HlkKzpvKDmoIfnprvlvIDmraTljLrln5/lkI7nu5PmnZ/lrr3luqbosIPmlbRcbiAgICAgICAgdGhpcy5zZXRDb2xSZXNpemVMaW5lKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIHdpZHRoOiBgJHtvcGFjaXR5TGluZVdpZHRofXB4YCxcbiAgICAgICAgICAgIGxlZnQ6IGAke3RhcmdldENvbHVtblN0YXJ0WCArIHNvdXJjZUNvbHVtbldpZHRoIC0gb3BhY2l0eUxpbmVXaWR0aCAvIDJ9cHhgLFxuICAgICAgICAgICAgekluZGV4OiAxMFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5lTW91c2VMZWF2ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXIyLmxpc3Rlbih0aGlzLmNvbFJlc2l6ZUxpbmUsICdtb3VzZWxlYXZlJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXREaXNwbGF5U3R5bGUoJ25vbmUnKTtcbiAgICAgICAgICAgIHRoaXMubGluZU1vdXNlTGVhdmVMaXN0ZW5lcj8uKCk7XG4gICAgICAgICAgICB0aGlzLmxpbmVNb3VzZUxlYXZlTGlzdGVuZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRHJhZ0VuZCgpIHtcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5U3R5bGUoJ25vbmUnKTtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2dlZERhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ0VuZC5lbWl0KHsgLi4udGhpcy5kcmFnZ2VkRGF0YSB9KTtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZERhdGEgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVEcmFnV2lkdGgoZmllbGRzOiBhbnlbXSwgY29vcmRpbmF0ZTogYW55LCBkcmFnOiBBSVRhYmxlRHJhZ1N0YXRlKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHdpZHRoID0gMDtcbiAgICAgICAgZmllbGRzLmZvckVhY2goKGZpZWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGRyYWcuc291cmNlSWRzLmhhcyhmaWVsZC5faWQpKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggKz0gY29vcmRpbmF0ZS5jb2x1bW5JbmRpY2VzU2l6ZU1hcFtpbmRleF0gfHwgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERpc3BsYXlTdHlsZShkaXNwbGF5OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yZW5kZXIyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsIGRpc3BsYXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UmVjdFN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5yZWN0LCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QXV4aWxpYXJ5TGluZVN0eWxlcyhzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5hdXhpbGlhcnlMaW5lLCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29sUmVzaXplTGluZShzdHlsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGVzKS5mb3JFYWNoKChbcHJvcCwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcjIuc2V0U3R5bGUodGhpcy5jb2xSZXNpemVMaW5lLCBwcm9wLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRBdXhpbGlhcnlMaW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEF1eGlsaWFyeUxpbmVTdHlsZXMoeyB3aWR0aDogMCB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubW91c2Vkb3duTGlzdGVuZXIpIHRoaXMubW91c2Vkb3duTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIpIHRoaXMubW91c2Vtb3ZlTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMubW91c2V1cExpc3RlbmVyKSB0aGlzLm1vdXNldXBMaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5saW5lTW91c2VMZWF2ZUxpc3RlbmVyKSB0aGlzLmxpbmVNb3VzZUxlYXZlTGlzdGVuZXIoKTtcblxuICAgICAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy50aW1lcik7XG4gICAgICAgICAgICB0aGlzLnRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWN0XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwiYXV4aWxpYXJ5LWxpbmVcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJjb2wtcmVzaXplLWxpbmVcIj48L2Rpdj4iXX0=
|
@@ -66,8 +66,9 @@ export class AITableFieldSetting {
|
|
66
66
|
this.aiEditField().type === AITableFieldType.member && !!this.aiEditField().settings?.is_multiple;
|
67
67
|
}
|
68
68
|
selectFieldType(field) {
|
69
|
+
const fieldsSizeMap = this.aiTable().gridData().fieldsSizeMap;
|
69
70
|
this.aiEditField.update((item) => {
|
70
|
-
const width = item.
|
71
|
+
const width = fieldsSizeMap[item._id] ?? field.width;
|
71
72
|
const settings = field.settings || {};
|
72
73
|
const name = createDefaultFieldName(this.aiTable(), field);
|
73
74
|
return { ...item, ...field, width, name, settings };
|
@@ -133,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
133
134
|
class: 'field-setting d-block pl-5 pr-5 pb-5 pt-4'
|
134
135
|
}, template: "<form thyForm name=\"createPropertyForm\" [thyFormValidatorConfig]=\"validatorConfig()\" thyLayout=\"vertical\">\n <thy-form-group thyLabelRequired [thyLabelText]=\"i18nTexts().columnName\">\n <thy-input-group>\n <input\n thyInput\n [thyAutofocus]=\"true\"\n name=\"fieldName\"\n [maxlength]=\"fieldMaxLength\"\n [(ngModel)]=\"aiEditField().name\"\n required\n [placeholder]=\"i18nTexts().columnNamePlaceholder\"\n [thyUniqueCheck]=\"checkUniqueName\"\n />\n <ng-template #suffix>\n <thy-input-count></thy-input-count>\n </ng-template>\n </thy-input-group>\n </thy-form-group>\n <thy-form-group [thyLabelText]=\"i18nTexts().fieldType\">\n <div class=\"thy-dropdown-menu py-0\">\n <div class=\"ml-n5 mr-n5\">\n <span\n thyDropdownMenuItem\n [thyDropdown]=\"menu\"\n [thyDisabled]=\"isUpdate()\"\n thyTrigger=\"hover\"\n thyPlacement=\"right\"\n (click)=\"fieldTypeClick($event)\"\n >\n <thy-icon thyDropdownMenuItemIcon [thyIconName]=\"selectedFieldOption().icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ selectedFieldOption().name }}</span>\n <thy-icon thyDropdownMenuItemExtendIcon thyIconName=\"angle-right\" class=\"text-desc\"></thy-icon>\n </span>\n </div>\n </div>\n\n @if (selectedFieldOption().type === aITableFieldType.member) {\n <div class=\"d-flex justify-content-between mt-3\">\n {{i18nTexts().allowMultipleMembers}}\n <thy-switch\n name=\"isMultipleMember\"\n [thyDisabled]=\"isUpdate()\"\n [(ngModel)]=\"isMultipleMember\"\n (ngModelChange)=\"multipleMemberChange()\"\n thySize=\"sm\"\n ></thy-switch>\n </div>\n }\n </thy-form-group>\n @if (aiExternalTemplate()) {\n <ng-container *ngTemplateOutlet=\"aiExternalTemplate()\"></ng-container>\n }\n <thy-form-group-footer thyAlign=\"right\">\n <button thyButton=\"link-secondary\" (click)=\"cancel()\" thySize=\"sm\">{{i18nTexts().cancel}}</button>\n <button thyButton=\"primary\" (thyFormSubmit)=\"editFieldProperty()\" thySize=\"sm\">{{i18nTexts().confirm}}</button>\n </thy-form-group-footer>\n</form>\n\n<thy-dropdown-menu #menu>\n @for (item of fieldOptions(); track $index) {\n <a\n thyDropdownMenuItem\n href=\"javascript:;\"\n [ngClass]=\"{\n active: (item | fieldIsSameOption: aiEditField())\n }\"\n (click)=\"selectFieldType(item)\"\n >\n <thy-icon [thyIconName]=\"item.icon!\"></thy-icon>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n </a>\n }\n</thy-dropdown-menu>\n", styles: [":host{width:350px}\n"] }]
|
135
136
|
}] });
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2V0dGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXNldHRpbmcvZmllbGQtc2V0dGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXNldHRpbmcvZmllbGQtc2V0dGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBR1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsc0NBQXNDLEVBQ3RDLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDbkMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUEwQix1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBSUgsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUVyQixnQkFBZ0IsRUFFaEIsZUFBZSxFQUNsQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUF1Q3hFLE1BQU0sT0FBTyxtQkFBbUI7SUFyQ2hDO1FBc0NJLGdCQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZ0IsQ0FBQztRQUU3QyxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBRXBDLHVCQUFrQixHQUFHLEtBQUssQ0FBMEIsSUFBSSxDQUFDLENBQUM7UUFFMUQsYUFBUSxHQUFHLEtBQUssQ0FBbUIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUUzRSxhQUFRLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBRWxDLGFBQVEsR0FBRyxNQUFNLEVBQW1CLENBQUM7UUFFckMsd0JBQW1CLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNoQyxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUUsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUVILG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXBCLG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixPQUFPO2dCQUNILGtCQUFrQixFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1AsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQzt3QkFDaEYsY0FBYyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQztxQkFDMUY7aUJBQ0o7YUFDSixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekIsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUVwQyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFZixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFBLGFBQWtDLENBQUEsQ0FBQyxDQUFDO1FBT3JFLG9CQUFlLEdBQUcsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDcEMsU0FBUyxHQUFHLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUM5QixPQUFPLEVBQUUsQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtpQkFDWCxNQUFNLEVBQUU7Z0JBQ1QsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUMzRixDQUFDO1FBQ04sQ0FBQyxDQUFDO1FBNkNGLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE9BQU87Z0JBQ0gsVUFBVSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7Z0JBQ2hGLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQztnQkFDdEcsU0FBUyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7Z0JBQ3pFLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDL0YsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDO2FBQ3hFLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztLQUNOO0lBbkVHLFFBQVE7UUFDSixJQUFJLENBQUMsZ0JBQWdCO1lBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBMkIsRUFBRSxXQUFXLENBQUM7SUFDOUgsQ0FBQztJQVdELGVBQWUsQ0FBQyxLQUF5QjtRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN4QyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDM0QsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDekIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQzthQUNqQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDakIsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLFFBQVEsRUFBRTtnQkFDTixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2FBQ3JDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxDQUFRO1FBQ25CLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBL0ZRLG1CQUFtQjttR0FBbkIsbUJBQW1CLHN5QkNsRmhDLDJrR0F5RUEsOEVEdEJRLE9BQU8sbUZBQ1AsV0FBVyx3NkNBQ1gsT0FBTyxzTUFDUCxhQUFhLCtLQUNiLGFBQWEsa0ZBQ2IsaUJBQWlCLCtJQUNqQix1QkFBdUIseUZBQ3ZCLHdCQUF3QiwwR0FDeEIsb0JBQW9CLG1SQUNwQiw0QkFBNEIsc0dBQzVCLGdDQUFnQyxzRUFDaEMsZ0NBQWdDLHNFQUNoQyxzQ0FBc0MsNEVBQ3RDLFNBQVMsb0xBQ1QsU0FBUywySUFDVCxhQUFhLCtyQkFDYixnQkFBZ0Isb0pBQ2hCLHFCQUFxQiw2SEFDckIsNEJBQTRCOzs0RkFhdkIsbUJBQW1CO2tCQXJDL0IsU0FBUzsrQkFDSSx3QkFBd0IsY0FFdEIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNMLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyxnQ0FBZ0M7d0JBQ2hDLHNDQUFzQzt3QkFDdEMsU0FBUzt3QkFDVCxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLDRCQUE0QjtxQkFDL0IsUUFDSzt3QkFDRixLQUFLLEVBQUUsMkNBQTJDO3FCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgY29tcHV0ZWQsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG1vZGVsLFxuICAgIG91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5QnV0dG9uIH0gZnJvbSAnbmd4LXRldGh5cy9idXR0b24nO1xuaW1wb3J0IHtcbiAgICBUaHlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtRXh0ZW5kSWNvbkRpcmVjdGl2ZSxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtSWNvbkRpcmVjdGl2ZSxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtTmFtZURpcmVjdGl2ZVxufSBmcm9tICduZ3gtdGV0aHlzL2Ryb3Bkb3duJztcbmltcG9ydCB7IFRoeUZvcm1Nb2R1bGUsIFRoeUZvcm1WYWxpZGF0b3JDb25maWcsIFRoeVVuaXF1ZUNoZWNrVmFsaWRhdG9yIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5SW5wdXRDb3VudCwgVGh5SW5wdXREaXJlY3RpdmUsIFRoeUlucHV0R3JvdXAgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeVN3aXRjaCB9IGZyb20gJ25neC10ZXRoeXMvc3dpdGNoJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgQUlUYWJsZUZpZWxkT3B0aW9uLFxuICAgIGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUsXG4gICAgZ2V0RmllbGRPcHRpb25CeUZpZWxkLFxuICAgIFNldEZpZWxkT3B0aW9ucyxcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIE1lbWJlclNldHRpbmdzLFxuICAgIGdldEZpZWxkT3B0aW9uc1xufSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZElzU2FtZU9wdGlvblBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBSVRhYmxlR3JpZEkxOG5LZXksIGdldEkxOG5UZXh0QnlLZXkgfSBmcm9tICcuLi8uLi91dGlscy9pMThuJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1maWVsZC1zZXR0aW5nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtc2V0dGluZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBUaHlJY29uLFxuICAgICAgICBUaHlJbnB1dEdyb3VwLFxuICAgICAgICBUaHlJbnB1dENvdW50LFxuICAgICAgICBUaHlJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgVGh5VW5pcXVlQ2hlY2tWYWxpZGF0b3IsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtTmFtZURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbUV4dGVuZEljb25EaXJlY3RpdmUsXG4gICAgICAgIFRoeUJ1dHRvbixcbiAgICAgICAgVGh5U3dpdGNoLFxuICAgICAgICBUaHlGb3JtTW9kdWxlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUaHlBdXRvZm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIEFJVGFibGVGaWVsZElzU2FtZU9wdGlvblBpcGVcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmaWVsZC1zZXR0aW5nIGQtYmxvY2sgcGwtNSBwci01IHBiLTUgcHQtNCdcbiAgICB9LFxuICAgIHN0eWxlczogW1xuICAgICAgICBgXG4gICAgICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICBgXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRmllbGRTZXR0aW5nIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBhaUVkaXRGaWVsZCA9IG1vZGVsLnJlcXVpcmVkPEFJVGFibGVGaWVsZD4oKTtcblxuICAgIGFpVGFibGUgPSBpbnB1dC5yZXF1aXJlZDxBSVRhYmxlPigpO1xuXG4gICAgYWlFeHRlcm5hbFRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+KG51bGwpO1xuXG4gICAgaXNVcGRhdGUgPSBpbnB1dDxib29sZWFuLCB1bmtub3duPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICBhZGRGaWVsZCA9IG91dHB1dDxBSVRhYmxlRmllbGQ+KCk7XG5cbiAgICBzZXRGaWVsZCA9IG91dHB1dDxTZXRGaWVsZE9wdGlvbnM+KCk7XG5cbiAgICBzZWxlY3RlZEZpZWxkT3B0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gZ2V0RmllbGRPcHRpb25CeUZpZWxkKHRoaXMuYWlUYWJsZSgpLCB0aGlzLmFpRWRpdEZpZWxkKCkpITtcbiAgICB9KTtcblxuICAgIGZpZWxkTWF4TGVuZ3RoID0gMzI7XG5cbiAgICB2YWxpZGF0b3JDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHtcbiAgICAgICAgICAgICAgICBmaWVsZE5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5maWVsZE5hbWVSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgICAgIHRoeVVuaXF1ZUNoZWNrOiBnZXRJMThuVGV4dEJ5S2V5KHRoaXMuYWlUYWJsZSgpLCBBSVRhYmxlR3JpZEkxOG5LZXkuZmllbGROYW1lRHVwbGljYXRlKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGZpZWxkT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldEZpZWxkT3B0aW9ucyh0aGlzLmFpVGFibGUoKSk7XG4gICAgfSk7XG5cbiAgICBhSVRhYmxlRmllbGRUeXBlID0gQUlUYWJsZUZpZWxkVHlwZTtcblxuICAgIGlzTXVsdGlwbGVNZW1iZXIgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCB0aHlQb3BvdmVyUmVmID0gaW5qZWN0KFRoeVBvcG92ZXJSZWY8QUlUYWJsZUZpZWxkU2V0dGluZz4pO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZU1lbWJlciA9XG4gICAgICAgICAgICB0aGlzLmFpRWRpdEZpZWxkKCkudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5tZW1iZXIgJiYgISEodGhpcy5haUVkaXRGaWVsZCgpLnNldHRpbmdzIGFzIE1lbWJlclNldHRpbmdzKT8uaXNfbXVsdGlwbGU7XG4gICAgfVxuXG4gICAgY2hlY2tVbmlxdWVOYW1lID0gKGZpZWxkTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGZpZWxkTmFtZSA9IGZpZWxkTmFtZT8udHJpbSgpO1xuICAgICAgICByZXR1cm4gb2YoXG4gICAgICAgICAgICAhIXRoaXMuYWlUYWJsZSgpXG4gICAgICAgICAgICAgICAgLmZpZWxkcygpXG4gICAgICAgICAgICAgICAgPy5maW5kKChmaWVsZCkgPT4gZmllbGQubmFtZSA9PT0gZmllbGROYW1lICYmIHRoaXMuYWlFZGl0RmllbGQoKT8uX2lkICE9PSBmaWVsZC5faWQpXG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIHNlbGVjdEZpZWxkVHlwZShmaWVsZDogQUlUYWJsZUZpZWxkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuYWlFZGl0RmllbGQudXBkYXRlKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IGl0ZW0ud2lkdGggPz8gZmllbGQud2lkdGg7XG4gICAgICAgICAgICBjb25zdCBzZXR0aW5ncyA9IGZpZWxkLnNldHRpbmdzIHx8IHt9O1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUodGhpcy5haVRhYmxlKCksIGZpZWxkKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sIC4uLmZpZWxkLCB3aWR0aCwgbmFtZSwgc2V0dGluZ3MgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVyUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIGVkaXRGaWVsZFByb3BlcnR5KCkge1xuICAgICAgICBpZiAodGhpcy5pc1VwZGF0ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZpZWxkLmVtaXQoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLmFpRWRpdEZpZWxkKCksXG4gICAgICAgICAgICAgICAgcGF0aDogW3RoaXMuYWlFZGl0RmllbGQoKS5faWRdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWRkRmllbGQuZW1pdCh0aGlzLmFpRWRpdEZpZWxkKCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIG11bHRpcGxlTWVtYmVyQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmFpRWRpdEZpZWxkLnNldCh7XG4gICAgICAgICAgICAuLi50aGlzLmFpRWRpdEZpZWxkKCksXG4gICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgIC4uLih0aGlzLmFpRWRpdEZpZWxkKCkuc2V0dGluZ3MgfHwge30pLFxuICAgICAgICAgICAgICAgIGlzX211bHRpcGxlOiB0aGlzLmlzTXVsdGlwbGVNZW1iZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmllbGRUeXBlQ2xpY2soZTogRXZlbnQpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy50aHlQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaTE4blRleHRzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogZ2V0STE4blRleHRCeUtleSh0aGlzLmFpVGFibGUoKSwgQUlUYWJsZUdyaWRJMThuS2V5LmZpZWxkQ29sdW1uTmFtZSksXG4gICAgICAgICAgICBjb2x1bW5OYW1lUGxhY2Vob2xkZXI6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5maWVsZENvbHVtbk5hbWVQbGFjZWhvbGRlciksXG4gICAgICAgICAgICBmaWVsZFR5cGU6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5maWVsZFR5cGUpLFxuICAgICAgICAgICAgYWxsb3dNdWx0aXBsZU1lbWJlcnM6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5hbGxvd011bHRpcGxlTWVtYmVycyksXG4gICAgICAgICAgICBjYW5jZWw6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5jYW5jZWwpLFxuICAgICAgICAgICAgY29uZmlybTogZ2V0STE4blRleHRCeUtleSh0aGlzLmFpVGFibGUoKSwgQUlUYWJsZUdyaWRJMThuS2V5LmNvbmZpcm0pXG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCI8Zm9ybSB0aHlGb3JtIG5hbWU9XCJjcmVhdGVQcm9wZXJ0eUZvcm1cIiBbdGh5Rm9ybVZhbGlkYXRvckNvbmZpZ109XCJ2YWxpZGF0b3JDb25maWcoKVwiIHRoeUxheW91dD1cInZlcnRpY2FsXCI+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsUmVxdWlyZWQgW3RoeUxhYmVsVGV4dF09XCJpMThuVGV4dHMoKS5jb2x1bW5OYW1lXCI+XG4gICAgICAgIDx0aHktaW5wdXQtZ3JvdXA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0aHlJbnB1dFxuICAgICAgICAgICAgICAgIFt0aHlBdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImZpZWxkTmFtZVwiXG4gICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZE1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhaUVkaXRGaWVsZCgpLm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG5UZXh0cygpLmNvbHVtbk5hbWVQbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW3RoeVVuaXF1ZUNoZWNrXT1cImNoZWNrVW5pcXVlTmFtZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRoeS1pbnB1dC1jb3VudD48L3RoeS1pbnB1dC1jb3VudD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGh5LWlucHV0LWdyb3VwPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXA+XG4gICAgPHRoeS1mb3JtLWdyb3VwIFt0aHlMYWJlbFRleHRdPVwiaTE4blRleHRzKCkuZmllbGRUeXBlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktZHJvcGRvd24tbWVudSBweS0wXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtbjUgbXItbjVcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgIFt0aHlEcm9wZG93bl09XCJtZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW3RoeURpc2FibGVkXT1cImlzVXBkYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICB0aHlUcmlnZ2VyPVwiaG92ZXJcIlxuICAgICAgICAgICAgICAgICAgICB0aHlQbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWVsZFR5cGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiB0aHlEcm9wZG93bk1lbnVJdGVtSWNvbiBbdGh5SWNvbk5hbWVdPVwic2VsZWN0ZWRGaWVsZE9wdGlvbigpLmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBzZWxlY3RlZEZpZWxkT3B0aW9uKCkubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHRoeS1pY29uIHRoeURyb3Bkb3duTWVudUl0ZW1FeHRlbmRJY29uIHRoeUljb25OYW1lPVwiYW5nbGUtcmlnaHRcIiBjbGFzcz1cInRleHQtZGVzY1wiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoc2VsZWN0ZWRGaWVsZE9wdGlvbigpLnR5cGUgPT09IGFJVGFibGVGaWVsZFR5cGUubWVtYmVyKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTNcIj5cbiAgICAgICAgICAgICAgICB7e2kxOG5UZXh0cygpLmFsbG93TXVsdGlwbGVNZW1iZXJzfX1cbiAgICAgICAgICAgICAgICA8dGh5LXN3aXRjaFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaXNNdWx0aXBsZU1lbWJlclwiXG4gICAgICAgICAgICAgICAgICAgIFt0aHlEaXNhYmxlZF09XCJpc1VwZGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpc011bHRpcGxlTWVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibXVsdGlwbGVNZW1iZXJDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIHRoeVNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgPjwvdGh5LXN3aXRjaD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC90aHktZm9ybS1ncm91cD5cbiAgICBAaWYgKGFpRXh0ZXJuYWxUZW1wbGF0ZSgpKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhaUV4dGVybmFsVGVtcGxhdGUoKVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICA8dGh5LWZvcm0tZ3JvdXAtZm9vdGVyIHRoeUFsaWduPVwicmlnaHRcIj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJsaW5rLXNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRoeVNpemU9XCJzbVwiPnt7aTE4blRleHRzKCkuY2FuY2VsfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJwcmltYXJ5XCIgKHRoeUZvcm1TdWJtaXQpPVwiZWRpdEZpZWxkUHJvcGVydHkoKVwiIHRoeVNpemU9XCJzbVwiPnt7aTE4blRleHRzKCkuY29uZmlybX19PC9idXR0b24+XG4gICAgPC90aHktZm9ybS1ncm91cC1mb290ZXI+XG48L2Zvcm0+XG5cbjx0aHktZHJvcGRvd24tbWVudSAjbWVudT5cbiAgICBAZm9yIChpdGVtIG9mIGZpZWxkT3B0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIHRoeURyb3Bkb3duTWVudUl0ZW1cbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGFjdGl2ZTogKGl0ZW0gfCBmaWVsZElzU2FtZU9wdGlvbjogYWlFZGl0RmllbGQoKSlcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZpZWxkVHlwZShpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaXRlbS5pY29uIVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG48L3RoeS1kcm9wZG93bi1tZW51PlxuIl19
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2V0dGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXNldHRpbmcvZmllbGQtc2V0dGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2ZpZWxkLXNldHRpbmcvZmllbGQtc2V0dGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBR1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsc0NBQXNDLEVBQ3RDLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDbkMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUEwQix1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQs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K0tBQ2IsYUFBYSxrRkFDYixpQkFBaUIsK0lBQ2pCLHVCQUF1Qix5RkFDdkIsd0JBQXdCLDBHQUN4QixvQkFBb0IsbVJBQ3BCLDRCQUE0QixzR0FDNUIsZ0NBQWdDLHNFQUNoQyxnQ0FBZ0Msc0VBQ2hDLHNDQUFzQyw0RUFDdEMsU0FBUyxvTEFDVCxTQUFTLDJJQUNULGFBQWEsK3JCQUNiLGdCQUFnQixvSkFDaEIscUJBQXFCLDZIQUNyQiw0QkFBNEI7OzRGQWF2QixtQkFBbUI7a0JBckMvQixTQUFTOytCQUNJLHdCQUF3QixjQUV0QixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsT0FBTzt3QkFDUCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQzt3QkFDaEMsc0NBQXNDO3dCQUN0QyxTQUFTO3dCQUNULFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsNEJBQTRCO3FCQUMvQixRQUNLO3dCQUNGLEtBQUssRUFBRSwyQ0FBMkM7cUJBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgbW9kZWwsXG4gICAgb3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlCdXR0b24gfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIFRoeURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICBUaHlEcm9wZG93bk1lbnVJdGVtRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1FeHRlbmRJY29uRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1JY29uRGlyZWN0aXZlLFxuICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlXG59IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuaW1wb3J0IHsgVGh5Rm9ybU1vZHVsZSwgVGh5Rm9ybVZhbGlkYXRvckNvbmZpZywgVGh5VW5pcXVlQ2hlY2tWYWxpZGF0b3IgfSBmcm9tICduZ3gtdGV0aHlzL2Zvcm0nO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlJbnB1dENvdW50LCBUaHlJbnB1dERpcmVjdGl2ZSwgVGh5SW5wdXRHcm91cCB9IGZyb20gJ25neC10ZXRoeXMvaW5wdXQnO1xuaW1wb3J0IHsgVGh5U3dpdGNoIH0gZnJvbSAnbmd4LXRldGh5cy9zd2l0Y2gnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUaHlBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBBSVRhYmxlLFxuICAgIEFJVGFibGVGaWVsZCxcbiAgICBBSVRhYmxlRmllbGRPcHRpb24sXG4gICAgY3JlYXRlRGVmYXVsdEZpZWxkTmFtZSxcbiAgICBnZXRGaWVsZE9wdGlvbkJ5RmllbGQsXG4gICAgU2V0RmllbGRPcHRpb25zLFxuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgTWVtYmVyU2V0dGluZ3MsXG4gICAgZ2V0RmllbGRPcHRpb25zXG59IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkSXNTYW1lT3B0aW9uUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFJVGFibGVHcmlkSTE4bktleSwgZ2V0STE4blRleHRCeUtleSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWZpZWxkLXNldHRpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1zZXR0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFRoeUljb24sXG4gICAgICAgIFRoeUlucHV0R3JvdXAsXG4gICAgICAgIFRoeUlucHV0Q291bnQsXG4gICAgICAgIFRoeUlucHV0RGlyZWN0aXZlLFxuICAgICAgICBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvcixcbiAgICAgICAgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgICAgICBUaHlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICAgICAgVGh5RHJvcGRvd25NZW51SXRlbUljb25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUl0ZW1OYW1lRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVJdGVtRXh0ZW5kSWNvbkRpcmVjdGl2ZSxcbiAgICAgICAgVGh5QnV0dG9uLFxuICAgICAgICBUaHlTd2l0Y2gsXG4gICAgICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFRoeUF1dG9mb2N1c0RpcmVjdGl2ZSxcbiAgICAgICAgQUlUYWJsZUZpZWxkSXNTYW1lT3B0aW9uUGlwZVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZpZWxkLXNldHRpbmcgZC1ibG9jayBwbC01IHByLTUgcGItNSBwdC00J1xuICAgIH0sXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIGBcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVGaWVsZFNldHRpbmcgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGFpRWRpdEZpZWxkID0gbW9kZWwucmVxdWlyZWQ8QUlUYWJsZUZpZWxkPigpO1xuXG4gICAgYWlUYWJsZSA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGU+KCk7XG5cbiAgICBhaUV4dGVybmFsVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbD4obnVsbCk7XG5cbiAgICBpc1VwZGF0ZSA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIGFkZEZpZWxkID0gb3V0cHV0PEFJVGFibGVGaWVsZD4oKTtcblxuICAgIHNldEZpZWxkID0gb3V0cHV0PFNldEZpZWxkT3B0aW9ucz4oKTtcblxuICAgIHNlbGVjdGVkRmllbGRPcHRpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBnZXRGaWVsZE9wdGlvbkJ5RmllbGQodGhpcy5haVRhYmxlKCksIHRoaXMuYWlFZGl0RmllbGQoKSkhO1xuICAgIH0pO1xuXG4gICAgZmllbGRNYXhMZW5ndGggPSAzMjtcblxuICAgIHZhbGlkYXRvckNvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbGlkYXRpb25NZXNzYWdlczoge1xuICAgICAgICAgICAgICAgIGZpZWxkTmFtZToge1xuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogZ2V0STE4blRleHRCeUtleSh0aGlzLmFpVGFibGUoKSwgQUlUYWJsZUdyaWRJMThuS2V5LmZpZWxkTmFtZVJlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICAgICAgdGh5VW5pcXVlQ2hlY2s6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5maWVsZE5hbWVEdXBsaWNhdGUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgZmllbGRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gZ2V0RmllbGRPcHRpb25zKHRoaXMuYWlUYWJsZSgpKTtcbiAgICB9KTtcblxuICAgIGFJVGFibGVGaWVsZFR5cGUgPSBBSVRhYmxlRmllbGRUeXBlO1xuXG4gICAgaXNNdWx0aXBsZU1lbWJlciA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxBSVRhYmxlRmllbGRTZXR0aW5nPik7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc011bHRpcGxlTWVtYmVyID1cbiAgICAgICAgICAgIHRoaXMuYWlFZGl0RmllbGQoKS50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLm1lbWJlciAmJiAhISh0aGlzLmFpRWRpdEZpZWxkKCkuc2V0dGluZ3MgYXMgTWVtYmVyU2V0dGluZ3MpPy5pc19tdWx0aXBsZTtcbiAgICB9XG5cbiAgICBjaGVja1VuaXF1ZU5hbWUgPSAoZmllbGROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lPy50cmltKCk7XG4gICAgICAgIHJldHVybiBvZihcbiAgICAgICAgICAgICEhdGhpcy5haVRhYmxlKClcbiAgICAgICAgICAgICAgICAuZmllbGRzKClcbiAgICAgICAgICAgICAgICA/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBmaWVsZE5hbWUgJiYgdGhpcy5haUVkaXRGaWVsZCgpPy5faWQgIT09IGZpZWxkLl9pZClcbiAgICAgICAgKTtcbiAgICB9O1xuXG4gICAgc2VsZWN0RmllbGRUeXBlKGZpZWxkOiBBSVRhYmxlRmllbGRPcHRpb24pIHtcbiAgICAgICAgY29uc3QgZmllbGRzU2l6ZU1hcCA9IHRoaXMuYWlUYWJsZSgpLmdyaWREYXRhKCkuZmllbGRzU2l6ZU1hcDtcbiAgICAgICAgdGhpcy5haUVkaXRGaWVsZC51cGRhdGUoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZmllbGRzU2l6ZU1hcFtpdGVtLl9pZF0gPz8gZmllbGQud2lkdGg7XG4gICAgICAgICAgICBjb25zdCBzZXR0aW5ncyA9IGZpZWxkLnNldHRpbmdzIHx8IHt9O1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUodGhpcy5haVRhYmxlKCksIGZpZWxkKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sIC4uLmZpZWxkLCB3aWR0aCwgbmFtZSwgc2V0dGluZ3MgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50aHlQb3BvdmVyUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIGVkaXRGaWVsZFByb3BlcnR5KCkge1xuICAgICAgICBpZiAodGhpcy5pc1VwZGF0ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZpZWxkLmVtaXQoe1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLmFpRWRpdEZpZWxkKCksXG4gICAgICAgICAgICAgICAgcGF0aDogW3RoaXMuYWlFZGl0RmllbGQoKS5faWRdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWRkRmllbGQuZW1pdCh0aGlzLmFpRWRpdEZpZWxkKCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgIH1cblxuICAgIG11bHRpcGxlTWVtYmVyQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmFpRWRpdEZpZWxkLnNldCh7XG4gICAgICAgICAgICAuLi50aGlzLmFpRWRpdEZpZWxkKCksXG4gICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgIC4uLih0aGlzLmFpRWRpdEZpZWxkKCkuc2V0dGluZ3MgfHwge30pLFxuICAgICAgICAgICAgICAgIGlzX211bHRpcGxlOiB0aGlzLmlzTXVsdGlwbGVNZW1iZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmllbGRUeXBlQ2xpY2soZTogRXZlbnQpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy50aHlQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaTE4blRleHRzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogZ2V0STE4blRleHRCeUtleSh0aGlzLmFpVGFibGUoKSwgQUlUYWJsZUdyaWRJMThuS2V5LmZpZWxkQ29sdW1uTmFtZSksXG4gICAgICAgICAgICBjb2x1bW5OYW1lUGxhY2Vob2xkZXI6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5maWVsZENvbHVtbk5hbWVQbGFjZWhvbGRlciksXG4gICAgICAgICAgICBmaWVsZFR5cGU6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5maWVsZFR5cGUpLFxuICAgICAgICAgICAgYWxsb3dNdWx0aXBsZU1lbWJlcnM6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5hbGxvd011bHRpcGxlTWVtYmVycyksXG4gICAgICAgICAgICBjYW5jZWw6IGdldEkxOG5UZXh0QnlLZXkodGhpcy5haVRhYmxlKCksIEFJVGFibGVHcmlkSTE4bktleS5jYW5jZWwpLFxuICAgICAgICAgICAgY29uZmlybTogZ2V0STE4blRleHRCeUtleSh0aGlzLmFpVGFibGUoKSwgQUlUYWJsZUdyaWRJMThuS2V5LmNvbmZpcm0pXG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iLCI8Zm9ybSB0aHlGb3JtIG5hbWU9XCJjcmVhdGVQcm9wZXJ0eUZvcm1cIiBbdGh5Rm9ybVZhbGlkYXRvckNvbmZpZ109XCJ2YWxpZGF0b3JDb25maWcoKVwiIHRoeUxheW91dD1cInZlcnRpY2FsXCI+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsUmVxdWlyZWQgW3RoeUxhYmVsVGV4dF09XCJpMThuVGV4dHMoKS5jb2x1bW5OYW1lXCI+XG4gICAgICAgIDx0aHktaW5wdXQtZ3JvdXA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0aHlJbnB1dFxuICAgICAgICAgICAgICAgIFt0aHlBdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImZpZWxkTmFtZVwiXG4gICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZE1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhaUVkaXRGaWVsZCgpLm5hbWVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG5UZXh0cygpLmNvbHVtbk5hbWVQbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW3RoeVVuaXF1ZUNoZWNrXT1cImNoZWNrVW5pcXVlTmFtZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdWZmaXg+XG4gICAgICAgICAgICAgICAgPHRoeS1pbnB1dC1jb3VudD48L3RoeS1pbnB1dC1jb3VudD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGh5LWlucHV0LWdyb3VwPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXA+XG4gICAgPHRoeS1mb3JtLWdyb3VwIFt0aHlMYWJlbFRleHRdPVwiaTE4blRleHRzKCkuZmllbGRUeXBlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aHktZHJvcGRvd24tbWVudSBweS0wXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtbjUgbXItbjVcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICB0aHlEcm9wZG93bk1lbnVJdGVtXG4gICAgICAgICAgICAgICAgICAgIFt0aHlEcm9wZG93bl09XCJtZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW3RoeURpc2FibGVkXT1cImlzVXBkYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICB0aHlUcmlnZ2VyPVwiaG92ZXJcIlxuICAgICAgICAgICAgICAgICAgICB0aHlQbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWVsZFR5cGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiB0aHlEcm9wZG93bk1lbnVJdGVtSWNvbiBbdGh5SWNvbk5hbWVdPVwic2VsZWN0ZWRGaWVsZE9wdGlvbigpLmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBzZWxlY3RlZEZpZWxkT3B0aW9uKCkubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHRoeS1pY29uIHRoeURyb3Bkb3duTWVudUl0ZW1FeHRlbmRJY29uIHRoeUljb25OYW1lPVwiYW5nbGUtcmlnaHRcIiBjbGFzcz1cInRleHQtZGVzY1wiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAoc2VsZWN0ZWRGaWVsZE9wdGlvbigpLnR5cGUgPT09IGFJVGFibGVGaWVsZFR5cGUubWVtYmVyKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTNcIj5cbiAgICAgICAgICAgICAgICB7e2kxOG5UZXh0cygpLmFsbG93TXVsdGlwbGVNZW1iZXJzfX1cbiAgICAgICAgICAgICAgICA8dGh5LXN3aXRjaFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaXNNdWx0aXBsZU1lbWJlclwiXG4gICAgICAgICAgICAgICAgICAgIFt0aHlEaXNhYmxlZF09XCJpc1VwZGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpc011bHRpcGxlTWVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibXVsdGlwbGVNZW1iZXJDaGFuZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIHRoeVNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgPjwvdGh5LXN3aXRjaD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC90aHktZm9ybS1ncm91cD5cbiAgICBAaWYgKGFpRXh0ZXJuYWxUZW1wbGF0ZSgpKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhaUV4dGVybmFsVGVtcGxhdGUoKVwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICA8dGh5LWZvcm0tZ3JvdXAtZm9vdGVyIHRoeUFsaWduPVwicmlnaHRcIj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJsaW5rLXNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRoeVNpemU9XCJzbVwiPnt7aTE4blRleHRzKCkuY2FuY2VsfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJwcmltYXJ5XCIgKHRoeUZvcm1TdWJtaXQpPVwiZWRpdEZpZWxkUHJvcGVydHkoKVwiIHRoeVNpemU9XCJzbVwiPnt7aTE4blRleHRzKCkuY29uZmlybX19PC9idXR0b24+XG4gICAgPC90aHktZm9ybS1ncm91cC1mb290ZXI+XG48L2Zvcm0+XG5cbjx0aHktZHJvcGRvd24tbWVudSAjbWVudT5cbiAgICBAZm9yIChpdGVtIG9mIGZpZWxkT3B0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGFcbiAgICAgICAgICAgIHRoeURyb3Bkb3duTWVudUl0ZW1cbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGFjdGl2ZTogKGl0ZW0gfCBmaWVsZElzU2FtZU9wdGlvbjogYWlFZGl0RmllbGQoKSlcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZpZWxkVHlwZShpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaXRlbS5pY29uIVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8c3BhbiB0aHlEcm9wZG93bk1lbnVJdGVtTmFtZT57eyBpdGVtLm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICB9XG48L3RoeS1kcm9wZG93bi1tZW51PlxuIl19
|
@@ -24,6 +24,7 @@ export const AI_TABLE_FIELD_ADD_BUTTON = 'AI_TABLE_FIELD_ADD_BUTTON'; // 添加
|
|
24
24
|
export const AI_TABLE_FIELD_ADD_BUTTON_WIDTH = 100; // 添加列宽度
|
25
25
|
export const AI_TABLE_FIELD_HEAD_ICON_GAP_SIZE = 8; // 字段表列头图标的间距
|
26
26
|
export const AI_TABLE_FIELD_HEAD_MORE = 'AI_TABLE_FIELD_HEAD_MORE'; // 更多图标名称
|
27
|
+
export const AI_TABLE_FIELD_HEAD_OPACITY_LINE = 'AI_TABLE_FIELD_HEAD_OPACITY_LINE'; // 字段列头透明线
|
27
28
|
export const AI_TABLE_PREVENT_CLEAR_SELECTION_CLASS = '.ai-table-prevent-clear-selection';
|
28
29
|
export const AI_TABLE_ICON_COMMON_SIZE = 16; // 表格图标的通用尺寸
|
29
30
|
export const AI_TABLE_CELL = 'AI_TABLE_CELL'; // 单元格标识
|
@@ -68,4 +69,4 @@ export const AI_TABLE_PROGRESS_BAR_HEIGHT = 10;
|
|
68
69
|
export const AI_TABLE_PROGRESS_BAR_RADIUS = 5;
|
69
70
|
export const AI_TABLE_PROGRESS_TEXT_Width = 46;
|
70
71
|
export const AI_TABLE_POPOVER_LEFT_OFFSET = 4;
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb25zdGFudHMvdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUMsb0JBQW9CO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtBQUMxRSxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7QUFDL0UsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTztBQUN6RCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7QUFDOUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVM7QUFDN0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUUzQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLEtBQUs7QUFDM0QsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDLENBQUMscUJBQXFCO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVc7QUFDckQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxRQUFRO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU87QUFFdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxTQUFTO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQyxDQUFDLFlBQVk7QUFDMUQsTUFBTSxD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cG9ydCBjb25zdCBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1NJWkUgPSAzMjsgLy8g6KGo5qC85Zu+5qCHYWN0aW9u6IOM5pmv55qE6YCa55So5bC65a+4XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SQURJVVMgPSA0OyAvLyDooajmoLzlm77moIdhY3Rpb27og4zmma/nmoRyYWRpdXPpgJrnlKjlsLrlr7hcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1JJR0hUX1BBRERJTkcgPSA2OyAvLyDooajmoLzlm77moIdhY3Rpb27lj7PkvqdwYWRkaW5n5bC65a+4XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfREVGQVVMVF9DT0xVTU5fV0lEVEggPSAyMDA7IC8vIOm7mOiupOWIl+WuvVxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1NDUk9MTF9CQVJfUEFERElORyA9IDM7IC8vIOWNleWFg+agvOa7keWKqOWuueWZqOeahOa7muWKqOadoeWuveW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX09GRlNFVCA9IDAuNTsgLy8g6L655qGG57q/5YGP56e75YC8XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfVEVYVF9HQVAgPSA4OyAvLyDmlofmnKzpl7Tot51cblxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1JPV19IRUFEID0gJ0FJX1RBQkxFX1JPV19IRUFEJzsgLy8g6KGM5aS0XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUk9XX0hFQURfV0lEVEggPSA0NDsgLy8g6KGo5qC86KGM5aS0IGNoZWNrYm94IOWIl+eahOWuveW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1JPV19IRUFEX1NJWkUgPSAxNjsgLy8g5re75Yqg6KGM5oyJ6ZKu55qE5bC65a+4XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUk9XX0FERF9CVVRUT04gPSAnQUlfVEFCTEVfUk9XX0FERF9CVVRUT04nOyAvLyDmt7vliqDooYzlkI3np7BcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9CTEFOSyA9ICdBSV9UQUJMRV9CTEFOSyc7IC8vIOepuueZveWMuuWfn1xuXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfRklFTERfSEVBRCA9ICdBSV9UQUJMRV9GSUVMRF9IRUFEJzsgLy8g5bGe5oCn5YiX5aS05qCH6K+GXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfRklFTERfSEVBRF9IRUlHSFQgPSA0NDsgLy8g6KGo5qC85a2X5q615YiX5aS055qE6auY5bqmXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUk9XX0JMQU5LX0hFSUdIVCA9IDQzOyAvLyDlh4/ljrvovrnmoYblkI7nnJ/lrp7nmoTooYzpq5hcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9ST1dfSEVJR0hUID0gNDQ7IC8vIOm7mOiupOihjOmrmOWfuuWHhlxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfQUNUSVZFX0JPUkRFUl9XSURUSCA9IDI7IC8vIOmAieS4reWNleWFg+agvOeahOi+ueahhuWuveW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfQVRUQUNITUVOVF9BREQgPSAnQUlfVEFCTEVfQ0VMTF9BVFRBQ0hNRU5UX0FERCc7IC8vIOmZhOS7tmNlbGzkuK3mlrDlop7lm77moIflkI3np7BcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX0FUVEFDSE1FTlRfRklMRSA9ICdBSV9UQUJMRV9DRUxMX0FUVEFDSE1FTlRfRklMRSc7IC8vIOmZhOS7tmNlbGzkuK3mlofku7ZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUVMRF9IRUFEX1RFWFRfTUlOX1dJRFRIID0gMzA7IC8vIOWtl+auteWIl+WktOaWh+acrOeahOacgOWwj+WuveW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1JPV19TRUxFQ1RfQ0hFQ0tCT1ggPSAnQUlfVEFCTEVfUk9XX1NFTEVDVF9DSEVDS0JPWCc7IC8vIOihjCBjaGVja2JveFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0hFQURfU0VMRUNUX0NIRUNLQk9YID0gJ0FJX1RBQkxFX0ZJRUxEX0hFQURfU0VMRUNUX0NIRUNLQk9YJzsgLy8g6KGo5aS0IGNoZWNrYm94IOagh+ivhlxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0FERF9CVVRUT04gPSAnQUlfVEFCTEVfRklFTERfQUREX0JVVFRPTic7IC8vIOa3u+WKoOWIl+WQjeensFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0FERF9CVVRUT05fV0lEVEggPSAxMDA7IC8vIOa3u+WKoOWIl+WuveW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0hFQURfSUNPTl9HQVBfU0laRSA9IDg7IC8vIOWtl+auteihqOWIl+WktOWbvuagh+eahOmXtOi3nVxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0hFQURfTU9SRSA9ICdBSV9UQUJMRV9GSUVMRF9IRUFEX01PUkUnOyAvLyDmm7TlpJrlm77moIflkI3np7BcblxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1BSRVZFTlRfQ0xFQVJfU0VMRUNUSU9OX0NMQVNTID0gJy5haS10YWJsZS1wcmV2ZW50LWNsZWFyLXNlbGVjdGlvbic7XG5cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9JQ09OX0NPTU1PTl9TSVpFID0gMTY7IC8vIOihqOagvOWbvuagh+eahOmAmueUqOWwuuWvuFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTEwgPSAnQUlfVEFCTEVfQ0VMTCc7IC8vIOWNleWFg+agvOagh+ivhlxuLy8g5Zug5Li6IGRvbSDnmoTovrnot50gMTIg5piv5LiN5YyF5ZCrIOi+ueahhueahO+8jOaJgOS7peWKoOS4iui+ueahhiAycHggIOaJjeiDvei3nyDnvJbovpHph4zpnaLnmoTlhoXlrrnlr7nlhbbvvJtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX1BBRERJTkcgPSAxNDsgLy8g5Y2V5YWD5qC85YaF5a6555qE5YaF6L656LedXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9CT1JERVIgPSAyOyAvLyDljZXlhYPmoLzovrnmoYblrr3luqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01VTFRJX1BBRERJTkdfVE9QID0gMTA7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9NVUxUSV9JVEVNX01BUkdJTl9UT1AgPSA0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfTVVMVElfUEFERElOR19MRUZUID0gNDtcbi8vIOacgOWwkeaYvuekuuaWh+Wtl+WuveW6pu+8jOS4gOS4quaWh+Wtlysg5LiJ5Liq54K5XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfTUlOX1RFWFRfV0lEVEggPSAyNDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01VTFRJX0RPVF9SQURJVVMgPSA0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfTVVMVElfSVRFTV9NQVJHSU5fTEVGVCA9IDg7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9ERUxFVEVfSVRFTV9CVVRUT05fU0laRSA9IDg7IC8vIOmAiemhueWIoOmZpOaMiemSrueahOWuveW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfREVMRVRFX0lURU1fQlVUVE9OX1NJWkVfT0ZGU0VUID0gMTI7IC8vIOmAiemhueWtl+auteWIoOmZpOaMiemSruWkp+Wwj+eahOWBj+enu+mHj1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfTVVMVElfSVRFTV9NSU5fV0lEVEggPSAzNjsgLy8g6YCJ6aG55a2X5q616aG555qE5pyA5bCP5a695bqmXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9NQVhfUk9XX0NPVU5UID0gMTsgLy8g6buY6K6k5Y2V5YWD5qC85bGV56S655qE5pyA5aSn6KGM5pWwXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9FTU9KSV9TSVpFID0gMTg7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9FTU9KSV9QQURESU5HID0gODtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01FTUJFUl9NQVhfSEVJR0hUID0gMTMwOyAvLyDmiJDlkZjlrZfmrrXpobnmnIDlpKfpq5jluqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01FTUJFUl9JVEVNX0hFSUdIVCA9IDI0OyAvLyDmiJDlkZjlrZfmrrXpobnpq5jluqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01FTUJFUl9JVEVNX1BBRERJTkcgPSA0OyAvLyDlpJrkuKrmiJDlkZjlpLTlg4/pl7Tot51cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX0FERF9JVEVNX0JVVFRPTl9TSVpFID0gMjI7IC8vIOaIkOWRmC/pgInpobkv6ZO+5o6lL+mZhOS7tuWtl+auteeahOaWsOaMiemSruWkp+Wwj1xuXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfTUVNQkVSX0FWQVRBUl9TSVpFID0gMjQ7IC8vIOaIkOWRmOWktOWDj+Wkp+Wwj1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX01FTUJFUl9JVEVNX1BBRERJTkdfUklHSFQgPSA4OyAvLyDmiJDlkZjlrZfmrrXpobnlj7Povrnot51cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9NRU1CRVJfSVRFTV9BVkFUQVJfTUFSR0lOX1JJR0hUID0gODsgLy8g5oiQ5ZGY5aS05YOP5LiO5oiQ5ZGY5ZCN5LmL6Ze055qE6Ze06LedXG5cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUxFX0lDT05fSVRFTV9IRUlHSFQgPSAyMDsgLy8g5paH5Lu25a2X5q616aG56auY5bqmXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfRklMRV9JQ09OX1NJWkUgPSAyMDsgLy8g5paH5Lu25Zu+5qCH5aSn5bCPXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9GSUVMRF9JVEVNX0hFSUdIVCA9IDg7IC8vIOaWh+S7tuWtl+autemhueWPs+i+uei3nVxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0lURU1fTUFSR0lOX1JJR0hUID0gODsgLy8g5paH5Lu25Zu+5qCH5LmL6Ze055qE6Ze06LedXG5cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9PUFRJT05fSVRFTV9QQURESU5HID0gMTA7IC8vIOmAiemhueaMiemSrumXtOi3nVxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX09QVElPTl9JVEVNX0hFSUdIVCA9IDI0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX09QVElPTl9JVEVNX0ZPTlRfU0laRSA9IDE0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX09QVElPTl9JVEVNX1JBRElVUyA9IDE4O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1RBR19QQURESU5HID0gMTI7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfVEFHX0ZPTlRfU0laRSA9IDEyO1xuXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUElFQ0VfV0lEVEggPSAxMDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9QSUVDRV9SQURJVVMgPSAyO1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NPTU1PTl9GT05UX1NJWkUgPSAxNDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9ET1RfUkFESVVTID0gNTtcblxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9IRUlHSFQgPSAxMDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTID0gNTtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9QUk9HUkVTU19URVhUX1dpZHRoID0gNDY7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUE9QT1ZFUl9MRUZUX09GRlNFVCA9IDQ7XG4iXX0=
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb25zdGFudHMvdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUMsb0JBQW9CO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtBQUMxRSxNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7QUFDL0UsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTztBQUN6RCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7QUFDOUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVM7QUFDN0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUUzQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLEtBQUs7QUFDM0QsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDLENBQUMscUJBQXFCO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVc7QUFDckQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcseUJBQXlCLENBQUMsQ0FBQyxRQUFRO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU87QUFFdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxTQUFTO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQyxDQUFDLFlBQVk7QUFDMUQsTUFBTSxD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LENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9TSVpFID0gMzI7IC8vIOihqOagvOWbvuagh2FjdGlvbuiDjOaZr+eahOmAmueUqOWwuuWvuFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0FDVElPTl9DT01NT05fUkFESVVTID0gNDsgLy8g6KGo5qC85Zu+5qCHYWN0aW9u6IOM5pmv55qEcmFkaXVz6YCa55So5bC65a+4XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SSUdIVF9QQURESU5HID0gNjsgLy8g6KGo5qC85Zu+5qCHYWN0aW9u5Y+z5L6ncGFkZGluZ+WwuuWvuFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0RFRkFVTFRfQ09MVU1OX1dJRFRIID0gMjAwOyAvLyDpu5jorqTliJflrr1cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9TQ1JPTExfQkFSX1BBRERJTkcgPSAzOyAvLyDljZXlhYPmoLzmu5HliqjlrrnlmajnmoTmu5rliqjmnaHlrr3luqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9PRkZTRVQgPSAwLjU7IC8vIOi+ueahhue6v+WBj+enu+WAvFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1RFWFRfR0FQID0gODsgLy8g5paH5pys6Ze06LedXG5cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9ST1dfSEVBRCA9ICdBSV9UQUJMRV9ST1dfSEVBRCc7IC8vIOihjOWktFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIID0gNDQ7IC8vIOihqOagvOihjOWktCBjaGVja2JveCDliJfnmoTlrr3luqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9ST1dfSEVBRF9TSVpFID0gMTY7IC8vIOa3u+WKoOihjOaMiemSrueahOWwuuWvuFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1JPV19BRERfQlVUVE9OID0gJ0FJX1RBQkxFX1JPV19BRERfQlVUVE9OJzsgLy8g5re75Yqg6KGM5ZCN56ewXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQkxBTksgPSAnQUlfVEFCTEVfQkxBTksnOyAvLyDnqbrnmb3ljLrln59cblxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0hFQUQgPSAnQUlfVEFCTEVfRklFTERfSEVBRCc7IC8vIOWxnuaAp+WIl+WktOagh+ivhlxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0hFQURfSEVJR0hUID0gNDQ7IC8vIOihqOagvOWtl+auteWIl+WktOeahOmrmOW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1JPV19CTEFOS19IRUlHSFQgPSA0MzsgLy8g5YeP5Y676L655qGG5ZCO55yf5a6e55qE6KGM6auYXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUk9XX0hFSUdIVCA9IDQ0OyAvLyDpu5jorqTooYzpq5jln7rlh4ZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX0FDVElWRV9CT1JERVJfV0lEVEggPSAyOyAvLyDpgInkuK3ljZXlhYPmoLznmoTovrnmoYblrr3luqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX0FUVEFDSE1FTlRfQUREID0gJ0FJX1RBQkxFX0NFTExfQVRUQUNITUVOVF9BREQnOyAvLyDpmYTku7ZjZWxs5Lit5paw5aKe5Zu+5qCH5ZCN56ewXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9BVFRBQ0hNRU5UX0ZJTEUgPSAnQUlfVEFCTEVfQ0VMTF9BVFRBQ0hNRU5UX0ZJTEUnOyAvLyDpmYTku7ZjZWxs5Lit5paH5Lu2XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfRklFTERfSEVBRF9URVhUX01JTl9XSURUSCA9IDMwOyAvLyDlrZfmrrXliJflpLTmlofmnKznmoTmnIDlsI/lrr3luqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9ST1dfU0VMRUNUX0NIRUNLQk9YID0gJ0FJX1RBQkxFX1JPV19TRUxFQ1RfQ0hFQ0tCT1gnOyAvLyDooYwgY2hlY2tib3hcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUVMRF9IRUFEX1NFTEVDVF9DSEVDS0JPWCA9ICdBSV9UQUJMRV9GSUVMRF9IRUFEX1NFTEVDVF9DSEVDS0JPWCc7IC8vIOihqOWktCBjaGVja2JveCDmoIfor4ZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUVMRF9BRERfQlVUVE9OID0gJ0FJX1RBQkxFX0ZJRUxEX0FERF9CVVRUT04nOyAvLyDmt7vliqDliJflkI3np7BcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUVMRF9BRERfQlVUVE9OX1dJRFRIID0gMTAwOyAvLyDmt7vliqDliJflrr3luqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUVMRF9IRUFEX0lDT05fR0FQX1NJWkUgPSA4OyAvLyDlrZfmrrXooajliJflpLTlm77moIfnmoTpl7Tot51cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUVMRF9IRUFEX01PUkUgPSAnQUlfVEFCTEVfRklFTERfSEVBRF9NT1JFJzsgLy8g5pu05aSa5Zu+5qCH5ZCN56ewXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfRklFTERfSEVBRF9PUEFDSVRZX0xJTkUgPSAnQUlfVEFCTEVfRklFTERfSEVBRF9PUEFDSVRZX0xJTkUnOyAvLyDlrZfmrrXliJflpLTpgI/mmI7nur9cblxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1BSRVZFTlRfQ0xFQVJfU0VMRUNUSU9OX0NMQVNTID0gJy5haS10YWJsZS1wcmV2ZW50LWNsZWFyLXNlbGVjdGlvbic7XG5cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9JQ09OX0NPTU1PTl9TSVpFID0gMTY7IC8vIOihqOagvOWbvuagh+eahOmAmueUqOWwuuWvuFxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTEwgPSAnQUlfVEFCTEVfQ0VMTCc7IC8vIOWNleWFg+agvOagh+ivhlxuLy8g5Zug5Li6IGRvbSDnmoTovrnot50gMTIg5piv5LiN5YyF5ZCrIOi+ueahhueahO+8jOaJgOS7peWKoOS4iui+ueahhiAycHggIOaJjeiDvei3nyDnvJbovpHph4zpnaLnmoTlhoXlrrnlr7nlhbbvvJtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX1BBRERJTkcgPSAxNDsgLy8g5Y2V5YWD5qC85YaF5a6555qE5YaF6L656LedXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9CT1JERVIgPSAyOyAvLyDljZXlhYPmoLzovrnmoYblrr3luqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01VTFRJX1BBRERJTkdfVE9QID0gMTA7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9NVUxUSV9JVEVNX01BUkdJTl9UT1AgPSA0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfTVVMVElfUEFERElOR19MRUZUID0gNDtcbi8vIOacgOWwkeaYvuekuuaWh+Wtl+WuveW6pu+8jOS4gOS4quaWh+Wtlysg5LiJ5Liq54K5XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfTUlOX1RFWFRfV0lEVEggPSAyNDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01VTFRJX0RPVF9SQURJVVMgPSA0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfTVVMVElfSVRFTV9NQVJHSU5fTEVGVCA9IDg7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9ERUxFVEVfSVRFTV9CVVRUT05fU0laRSA9IDg7IC8vIOmAiemhueWIoOmZpOaMiemSrueahOWuveW6plxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfREVMRVRFX0lURU1fQlVUVE9OX1NJWkVfT0ZGU0VUID0gMTI7IC8vIOmAiemhueWtl+auteWIoOmZpOaMiemSruWkp+Wwj+eahOWBj+enu+mHj1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NFTExfTVVMVElfSVRFTV9NSU5fV0lEVEggPSAzNjsgLy8g6YCJ6aG55a2X5q616aG555qE5pyA5bCP5a695bqmXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9NQVhfUk9XX0NPVU5UID0gMTsgLy8g6buY6K6k5Y2V5YWD5qC85bGV56S655qE5pyA5aSn6KGM5pWwXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9FTU9KSV9TSVpFID0gMTg7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9FTU9KSV9QQURESU5HID0gODtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01FTUJFUl9NQVhfSEVJR0hUID0gMTMwOyAvLyDmiJDlkZjlrZfmrrXpobnmnIDlpKfpq5jluqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01FTUJFUl9JVEVNX0hFSUdIVCA9IDI0OyAvLyDmiJDlkZjlrZfmrrXpobnpq5jluqZcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX01FTUJFUl9JVEVNX1BBRERJTkcgPSA0OyAvLyDlpJrkuKrmiJDlkZjlpLTlg4/pl7Tot51cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9DRUxMX0FERF9JVEVNX0JVVFRPTl9TSVpFID0gMjI7IC8vIOaIkOWRmC/pgInpobkv6ZO+5o6lL+mZhOS7tuWtl+auteeahOaWsOaMiemSruWkp+Wwj1xuXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfTUVNQkVSX0FWQVRBUl9TSVpFID0gMjQ7IC8vIOaIkOWRmOWktOWDj+Wkp+Wwj1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX01FTUJFUl9JVEVNX1BBRERJTkdfUklHSFQgPSA4OyAvLyDmiJDlkZjlrZfmrrXpobnlj7Povrnot51cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9NRU1CRVJfSVRFTV9BVkFUQVJfTUFSR0lOX1JJR0hUID0gODsgLy8g5oiQ5ZGY5aS05YOP5LiO5oiQ5ZGY5ZCN5LmL6Ze055qE6Ze06LedXG5cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9GSUxFX0lDT05fSVRFTV9IRUlHSFQgPSAyMDsgLy8g5paH5Lu25a2X5q616aG56auY5bqmXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfRklMRV9JQ09OX1NJWkUgPSAyMDsgLy8g5paH5Lu25Zu+5qCH5aSn5bCPXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfQ0VMTF9GSUVMRF9JVEVNX0hFSUdIVCA9IDg7IC8vIOaWh+S7tuWtl+autemhueWPs+i+uei3nVxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0ZJRUxEX0lURU1fTUFSR0lOX1JJR0hUID0gODsgLy8g5paH5Lu25Zu+5qCH5LmL6Ze055qE6Ze06LedXG5cbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9PUFRJT05fSVRFTV9QQURESU5HID0gMTA7IC8vIOmAiemhueaMiemSrumXtOi3nVxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX09QVElPTl9JVEVNX0hFSUdIVCA9IDI0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX09QVElPTl9JVEVNX0ZPTlRfU0laRSA9IDE0O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX09QVElPTl9JVEVNX1JBRElVUyA9IDE4O1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1RBR19QQURESU5HID0gMTI7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfVEFHX0ZPTlRfU0laRSA9IDEyO1xuXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUElFQ0VfV0lEVEggPSAxMDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9QSUVDRV9SQURJVVMgPSAyO1xuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX0NPTU1PTl9GT05UX1NJWkUgPSAxNDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9ET1RfUkFESVVTID0gNTtcblxuZXhwb3J0IGNvbnN0IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9IRUlHSFQgPSAxMDtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTID0gNTtcbmV4cG9ydCBjb25zdCBBSV9UQUJMRV9QUk9HUkVTU19URVhUX1dpZHRoID0gNDY7XG5leHBvcnQgY29uc3QgQUlfVEFCTEVfUE9QT1ZFUl9MRUZUX09GRlNFVCA9IDQ7XG4iXX0=
|