@firestitch/list 18.0.40 → 18.0.42
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/app/classes/data-controller.d.ts +1 -1
- package/app/components/body/row/cell/cell.component.d.ts +6 -5
- package/app/components/body/row/row.component.d.ts +9 -10
- package/app/components/head/head.component.d.ts +2 -1
- package/app/models/row/_base-row.d.ts +30 -0
- package/app/models/row/child-row.d.ts +18 -7
- package/app/models/row/group-footer-row.d.ts +14 -7
- package/app/models/row/group-row.d.ts +21 -11
- package/app/models/row/simple-row.d.ts +8 -3
- package/app/models/row.d.ts +13 -33
- package/esm2022/app/classes/data-controller.mjs +25 -31
- package/esm2022/app/classes/list-controller.mjs +2 -1
- package/esm2022/app/classes/selection-controller.mjs +8 -7
- package/esm2022/app/components/body/row/actions/actions.component.mjs +1 -2
- package/esm2022/app/components/body/row/cell/cell.component.mjs +44 -38
- package/esm2022/app/components/body/row/inline-action/inline-action.component.mjs +1 -2
- package/esm2022/app/components/body/row/menu-action/menu-action.component.mjs +1 -2
- package/esm2022/app/components/body/row/row.component.mjs +54 -59
- package/esm2022/app/components/footer/footer-row/footer-row.component.mjs +3 -3
- package/esm2022/app/components/head/head.component.mjs +4 -3
- package/esm2022/app/components/list/list.component.mjs +3 -3
- package/esm2022/app/directives/draggable-list/draggable-list.directive.mjs +5 -4
- package/esm2022/app/directives/draggable-row/draggable-row.directive.mjs +4 -4
- package/esm2022/app/models/row/_base-row.mjs +43 -0
- package/esm2022/app/models/row/child-row.mjs +14 -10
- package/esm2022/app/models/row/group-footer-row.mjs +11 -7
- package/esm2022/app/models/row/group-row.mjs +16 -20
- package/esm2022/app/models/row/simple-row.mjs +5 -5
- package/esm2022/app/models/row.mjs +26 -82
- package/fesm2022/firestitch-list.mjs +523 -549
- package/fesm2022/firestitch-list.mjs.map +1 -1
- package/package.json +1 -1
- package/app/models/row/base-row.d.ts +0 -13
- package/esm2022/app/models/row/base-row.mjs +0 -25
|
@@ -1,45 +1,41 @@
|
|
|
1
1
|
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
import { BaseRow } from './
|
|
2
|
+
import { BaseRow } from './_base-row';
|
|
3
3
|
import { RowType } from '../../enums/row-type.enum';
|
|
4
4
|
export class GroupRow extends BaseRow {
|
|
5
|
-
|
|
5
|
+
_rowType = RowType.Group;
|
|
6
|
+
_children = [];
|
|
6
7
|
_expanded = new BehaviorSubject(false);
|
|
7
8
|
constructor(data = {}, initialExpand = false) {
|
|
8
|
-
super(data
|
|
9
|
+
super(data);
|
|
9
10
|
if (initialExpand) {
|
|
10
11
|
this._expanded.next(initialExpand);
|
|
11
12
|
}
|
|
12
13
|
}
|
|
14
|
+
get children() {
|
|
15
|
+
return this._children;
|
|
16
|
+
}
|
|
13
17
|
get childrenData() {
|
|
14
|
-
return this.
|
|
18
|
+
return this._children
|
|
15
19
|
.map((child) => child.data);
|
|
16
20
|
}
|
|
17
|
-
get isGroup() {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
21
|
get expanded() {
|
|
21
22
|
return this._expanded.getValue();
|
|
22
23
|
}
|
|
23
24
|
get expanded$() {
|
|
24
25
|
return this._expanded.asObservable();
|
|
25
26
|
}
|
|
26
|
-
updateChildrenIndexes() {
|
|
27
|
-
this.children.forEach((row, index) => {
|
|
28
|
-
row.index = index;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
updateChildrenVisibility() {
|
|
32
|
-
this.children.forEach((row) => {
|
|
33
|
-
row.visible = this.expanded;
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
27
|
toggleRowExpandStatus() {
|
|
37
28
|
this._expanded.next(!this.expanded);
|
|
38
|
-
this.
|
|
29
|
+
this._updateChildrenVisibility();
|
|
39
30
|
}
|
|
40
31
|
destroy() {
|
|
41
|
-
this.
|
|
32
|
+
this._children.forEach((child) => child.destroy());
|
|
42
33
|
this._expanded.complete();
|
|
43
34
|
}
|
|
35
|
+
_updateChildrenVisibility() {
|
|
36
|
+
this._children.forEach((row) => {
|
|
37
|
+
row.visible = this.expanded;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
44
40
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93L2dyb3VwLXJvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBZXBELE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBc0I7SUFFL0IsUUFBUSxHQUFrQixPQUFPLENBQUMsS0FBSyxDQUFDO0lBRW5ELFNBQVMsR0FBb0MsRUFBRSxDQUFDO0lBRXZDLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUVqRSxZQUNFLE9BQWUsRUFBRSxFQUNqQixhQUFhLEdBQUcsS0FBSztRQUVyQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDaEIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUdELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZVJvdywgSUJhc2VSb3cgfSBmcm9tICcuL19iYXNlLXJvdyc7XG5pbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJR3JvdXBGb290ZXJSb3cgfSBmcm9tICcuL2dyb3VwLWZvb3Rlci1yb3cnO1xuaW1wb3J0IHsgSUNoaWxkUm93IH0gZnJvbSAnLi9jaGlsZC1yb3cnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdyb3VwUm93IGV4dGVuZHMgSUJhc2VSb3cge1xuICB0eXBlOiBSb3dUeXBlLkdyb3VwO1xuXG4gIGNoaWxkcmVuRGF0YTogdW5rbm93bltdO1xuICBleHBhbmRlZDogYm9vbGVhbjtcbiAgZXhwYW5kZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICB0b2dnbGVSb3dFeHBhbmRTdGF0dXMoKTogdm9pZDtcbiAgY2hpbGRyZW46IChJQ2hpbGRSb3cgfCBJR3JvdXBGb290ZXJSb3cpW107XG59XG5cbmV4cG9ydCBjbGFzcyBHcm91cFJvdyBleHRlbmRzIEJhc2VSb3c8Um93VHlwZS5Hcm91cD4gaW1wbGVtZW50cyBJR3JvdXBSb3cge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfcm93VHlwZTogUm93VHlwZS5Hcm91cCA9IFJvd1R5cGUuR3JvdXA7XG5cbiAgcHJpdmF0ZSBfY2hpbGRyZW46IChJQ2hpbGRSb3cgfCBJR3JvdXBGb290ZXJSb3cpW10gPSBbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9leHBhbmRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRhdGE6IG9iamVjdCA9IHt9LFxuICAgIGluaXRpYWxFeHBhbmQgPSBmYWxzZSxcbiAgKSB7XG4gICAgc3VwZXIoZGF0YSk7XG5cbiAgICBpZiAoaW5pdGlhbEV4cGFuZCkge1xuICAgICAgdGhpcy5fZXhwYW5kZWQubmV4dChpbml0aWFsRXhwYW5kKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaWxkcmVuKCk6IChJQ2hpbGRSb3cgfCBJR3JvdXBGb290ZXJSb3cpW10ge1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hpbGRyZW5EYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlblxuICAgICAgICAubWFwKChjaGlsZCkgPT4gY2hpbGQuZGF0YSk7XG4gIH1cblxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUm93RXhwYW5kU3RhdHVzKCk6IHZvaWQge1xuICAgIHRoaXMuX2V4cGFuZGVkLm5leHQoIXRoaXMuZXhwYW5kZWQpO1xuXG4gICAgdGhpcy5fdXBkYXRlQ2hpbGRyZW5WaXNpYmlsaXR5KCk7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4gY2hpbGQuZGVzdHJveSgpKTtcblxuICAgIHRoaXMuX2V4cGFuZGVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVDaGlsZHJlblZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICByb3cudmlzaWJsZSA9IHRoaXMuZXhwYW5kZWQ7XG4gICAgfSlcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { RowType } from '../../enums/row-type.enum';
|
|
2
|
-
import { BaseRow } from './
|
|
2
|
+
import { BaseRow } from './_base-row';
|
|
3
3
|
export class SimpleRow extends BaseRow {
|
|
4
|
+
_rowType = RowType.Simple;
|
|
4
5
|
constructor(data = {}) {
|
|
5
|
-
super(data
|
|
6
|
-
}
|
|
7
|
-
destroy() {
|
|
6
|
+
super(data);
|
|
8
7
|
}
|
|
8
|
+
destroy() { }
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL3Jvdy9zaW1wbGUtcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFZLE1BQU0sYUFBYSxDQUFDO0FBTWhELE1BQU0sT0FBTyxTQUFVLFNBQVEsT0FBdUI7SUFFMUMsUUFBUSxHQUFtQixPQUFPLENBQUMsTUFBTSxDQUFDO0lBRXBELFlBQVksT0FBZSxFQUFFO1FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFTSxPQUFPLEtBQVUsQ0FBQztDQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvd1R5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9yb3ctdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhc2VSb3csIElCYXNlUm93IH0gZnJvbSAnLi9fYmFzZS1yb3cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTaW1wbGVSb3cgZXh0ZW5kcyBJQmFzZVJvdyB7XG4gIHR5cGU6IFJvd1R5cGUuU2ltcGxlO1xufVxuXG5leHBvcnQgY2xhc3MgU2ltcGxlUm93IGV4dGVuZHMgQmFzZVJvdzxSb3dUeXBlLlNpbXBsZT4gaW1wbGVtZW50cyBJU2ltcGxlUm93e1xuXG4gIHByb3RlY3RlZCBfcm93VHlwZTogUm93VHlwZS5TaW1wbGUgPSBSb3dUeXBlLlNpbXBsZTtcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBvYmplY3QgPSB7fSkge1xuICAgIHN1cGVyKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7fVxufVxuIl19
|
|
@@ -1,90 +1,34 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
1
|
import { RowType } from '../enums/row-type.enum';
|
|
3
2
|
import { ChildRow } from './row/child-row';
|
|
4
3
|
import { GroupFooterRow } from './row/group-footer-row';
|
|
5
4
|
import { GroupRow } from './row/group-row';
|
|
6
5
|
import { SimpleRow } from './row/simple-row';
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
6
|
+
export function isGroupRow(row) {
|
|
7
|
+
return row.type === RowType.Group;
|
|
8
|
+
}
|
|
9
|
+
export function isChildRow(row) {
|
|
10
|
+
return row.type === RowType.GroupChild;
|
|
11
|
+
}
|
|
12
|
+
export function isGroupFooterRow(row) {
|
|
13
|
+
return row.type === RowType.GroupFooter;
|
|
14
|
+
}
|
|
15
|
+
export function isChildTypeRow(row) {
|
|
16
|
+
return row.type === RowType.GroupChild || row.type === RowType.GroupFooter;
|
|
17
|
+
}
|
|
18
|
+
export function makeRowFactory(data, rowType, opts = {}) {
|
|
19
|
+
switch (rowType) {
|
|
20
|
+
case RowType.Simple: {
|
|
21
|
+
return new SimpleRow(data);
|
|
22
|
+
}
|
|
23
|
+
case RowType.Group: {
|
|
24
|
+
return new GroupRow(data, opts.initialExpand);
|
|
25
|
+
}
|
|
26
|
+
case RowType.GroupChild: {
|
|
27
|
+
return new ChildRow(data, opts.parent);
|
|
28
|
+
}
|
|
29
|
+
case RowType.GroupFooter: {
|
|
30
|
+
return new GroupFooterRow(data, opts.parent);
|
|
27
31
|
}
|
|
28
|
-
}
|
|
29
|
-
get index() {
|
|
30
|
-
return this._row.index;
|
|
31
|
-
}
|
|
32
|
-
get actionsUpdate$() {
|
|
33
|
-
return this._actionsUpdate$.asObservable();
|
|
34
|
-
}
|
|
35
|
-
actionsUpdate() {
|
|
36
|
-
return this._actionsUpdate$.next(null);
|
|
37
|
-
}
|
|
38
|
-
set index(value) {
|
|
39
|
-
this._row.index = value;
|
|
40
|
-
}
|
|
41
|
-
get readyToSwap() {
|
|
42
|
-
return this._row.readyToSwap;
|
|
43
|
-
}
|
|
44
|
-
get visible() {
|
|
45
|
-
return this._row.visible;
|
|
46
|
-
}
|
|
47
|
-
set readyToSwap(value) {
|
|
48
|
-
this._row.readyToSwap = value;
|
|
49
|
-
}
|
|
50
|
-
get data() {
|
|
51
|
-
return this._row.data;
|
|
52
|
-
}
|
|
53
|
-
get type() {
|
|
54
|
-
return this._row.type;
|
|
55
|
-
}
|
|
56
|
-
get isGroup() {
|
|
57
|
-
return this._row instanceof GroupRow;
|
|
58
|
-
}
|
|
59
|
-
get isGroupChild() {
|
|
60
|
-
return this._row instanceof ChildRow;
|
|
61
|
-
}
|
|
62
|
-
get isGroupFooter() {
|
|
63
|
-
return this._row instanceof GroupFooterRow;
|
|
64
|
-
}
|
|
65
|
-
get parent() {
|
|
66
|
-
return this._row.parent;
|
|
67
|
-
}
|
|
68
|
-
get children() {
|
|
69
|
-
return this._row.children;
|
|
70
|
-
}
|
|
71
|
-
get expanded() {
|
|
72
|
-
return this._row.expanded;
|
|
73
|
-
}
|
|
74
|
-
get expanded$() {
|
|
75
|
-
return this._row.expanded$;
|
|
76
|
-
}
|
|
77
|
-
updateChildrenIndexes() {
|
|
78
|
-
this._row.updateChildrenIndexes();
|
|
79
|
-
}
|
|
80
|
-
toggleRowExpandStatus() {
|
|
81
|
-
this._row.toggleRowExpandStatus();
|
|
82
|
-
}
|
|
83
|
-
getReorderData() {
|
|
84
|
-
return this._row.getReorderData();
|
|
85
|
-
}
|
|
86
|
-
destroy() {
|
|
87
|
-
this._row.destroy();
|
|
88
32
|
}
|
|
89
33
|
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS3pELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBUTtJQUNqQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFRO0lBQ2pDLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsVUFBVSxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBUTtJQUN2QyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFRO0lBQ3JDLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsSUFBWSxFQUNaLE9BQWdCLEVBQ2hCLE9BQWtELEVBQUU7SUFFcEQsUUFBUSxPQUFPLEVBQUUsQ0FBQztRQUNoQixLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbkIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFtQixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELEtBQUssT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDekIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQW1CLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3dUeXBlIH0gZnJvbSAnLi4vZW51bXMvcm93LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGlsZFJvdywgSUNoaWxkUm93IH0gZnJvbSAnLi9yb3cvY2hpbGQtcm93JztcbmltcG9ydCB7IEdyb3VwRm9vdGVyUm93LCBJR3JvdXBGb290ZXJSb3cgfSBmcm9tICcuL3Jvdy9ncm91cC1mb290ZXItcm93JztcbmltcG9ydCB7IEdyb3VwUm93LCBJR3JvdXBSb3cgfSBmcm9tICcuL3Jvdy9ncm91cC1yb3cnO1xuaW1wb3J0IHsgSVNpbXBsZVJvdywgU2ltcGxlUm93IH0gZnJvbSAnLi9yb3cvc2ltcGxlLXJvdyc7XG5cblxuZXhwb3J0IHR5cGUgUm93ID0gSVNpbXBsZVJvdyB8IElHcm91cFJvdyB8IElHcm91cEZvb3RlclJvdyB8IElDaGlsZFJvdztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBSb3cocm93OiBSb3cpOiByb3cgaXMgSUdyb3VwUm93IHtcbiAgcmV0dXJuIHJvdy50eXBlID09PSBSb3dUeXBlLkdyb3VwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFJvdyhyb3c6IFJvdyk6IHJvdyBpcyBJQ2hpbGRSb3cge1xuICByZXR1cm4gcm93LnR5cGUgPT09IFJvd1R5cGUuR3JvdXBDaGlsZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBGb290ZXJSb3cocm93OiBSb3cpOiByb3cgaXMgSUdyb3VwRm9vdGVyUm93IHtcbiAgcmV0dXJuIHJvdy50eXBlID09PSBSb3dUeXBlLkdyb3VwRm9vdGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDaGlsZFR5cGVSb3cocm93OiBSb3cpOiByb3cgaXMgSUNoaWxkUm93IHwgSUdyb3VwRm9vdGVyUm93IHtcbiAgcmV0dXJuIHJvdy50eXBlID09PSBSb3dUeXBlLkdyb3VwQ2hpbGQgfHwgcm93LnR5cGUgPT09IFJvd1R5cGUuR3JvdXBGb290ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUm93RmFjdG9yeShcbiAgZGF0YTogb2JqZWN0LFxuICByb3dUeXBlOiBSb3dUeXBlLFxuICBvcHRzOiB7IHBhcmVudD86IFJvdywgaW5pdGlhbEV4cGFuZD86IGJvb2xlYW4gfSA9IHt9LFxuKTogUm93IHtcbiAgc3dpdGNoIChyb3dUeXBlKSB7XG4gICAgY2FzZSBSb3dUeXBlLlNpbXBsZToge1xuICAgICAgcmV0dXJuIG5ldyBTaW1wbGVSb3coZGF0YSk7XG4gICAgfVxuXG4gICAgY2FzZSBSb3dUeXBlLkdyb3VwOiB7XG4gICAgICByZXR1cm4gbmV3IEdyb3VwUm93KGRhdGEsIG9wdHMuaW5pdGlhbEV4cGFuZCk7XG4gICAgfVxuXG4gICAgY2FzZSBSb3dUeXBlLkdyb3VwQ2hpbGQ6IHtcbiAgICAgIHJldHVybiBuZXcgQ2hpbGRSb3coZGF0YSwgb3B0cy5wYXJlbnQgYXMgSUdyb3VwUm93KTtcbiAgICB9XG5cbiAgICBjYXNlIFJvd1R5cGUuR3JvdXBGb290ZXI6IHtcbiAgICAgIHJldHVybiBuZXcgR3JvdXBGb290ZXJSb3coZGF0YSwgb3B0cy5wYXJlbnQgYXMgSUdyb3VwUm93KTtcbiAgICB9XG4gIH1cbn1cblxuIl19
|