ng-virtual-list 18.7.0 → 18.7.2
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/README.md +18 -16
- package/esm2022/lib/components/ng-virtual-list-item.component.mjs +18 -5
- package/esm2022/lib/const/index.mjs +2 -1
- package/esm2022/lib/models/index.mjs +1 -1
- package/esm2022/lib/models/item-config-map.model.mjs +2 -0
- package/esm2022/lib/models/render-item-config.model.mjs +1 -1
- package/esm2022/lib/ng-virtual-list.component.mjs +45 -19
- package/esm2022/lib/ng-virtual-list.service.mjs +46 -8
- package/esm2022/lib/utils/trackBox.mjs +22 -19
- package/fesm2022/ng-virtual-list.mjs +126 -46
- package/fesm2022/ng-virtual-list.mjs.map +1 -1
- package/lib/components/ng-virtual-list-item.component.d.ts +22 -4
- package/lib/const/index.d.ts +1 -0
- package/lib/models/index.d.ts +2 -2
- package/lib/models/item-config-map.model.d.ts +23 -0
- package/lib/models/render-item-config.model.d.ts +5 -1
- package/lib/ng-virtual-list.component.d.ts +20 -6
- package/lib/ng-virtual-list.service.d.ts +7 -0
- package/lib/utils/trackBox.d.ts +4 -4
- package/package.json +1 -1
- package/esm2020/lib/components/ng-virtual-list-item.component.mjs +0 -198
- package/esm2020/lib/const/index.mjs +0 -51
- package/esm2020/lib/enums/direction.mjs +0 -2
- package/esm2020/lib/enums/directions.mjs +0 -18
- package/esm2020/lib/enums/index.mjs +0 -5
- package/esm2020/lib/enums/method-for-selecting-types.mjs +0 -22
- package/esm2020/lib/enums/method-for-selecting.mjs +0 -2
- package/esm2020/lib/enums/methods-for-selecting.mjs +0 -22
- package/esm2020/lib/enums/snapping-method.mjs +0 -2
- package/esm2020/lib/enums/snapping-methods.mjs +0 -18
- package/esm2020/lib/models/base-virtual-list-item-component.mjs +0 -9
- package/esm2020/lib/models/collection.model.mjs +0 -3
- package/esm2020/lib/models/component.model.mjs +0 -2
- package/esm2020/lib/models/index.mjs +0 -2
- package/esm2020/lib/models/item.model.mjs +0 -2
- package/esm2020/lib/models/render-collection.model.mjs +0 -3
- package/esm2020/lib/models/render-item-config.model.mjs +0 -2
- package/esm2020/lib/models/render-item.model.mjs +0 -3
- package/esm2020/lib/models/scroll-direction.model.mjs +0 -2
- package/esm2020/lib/models/scroll-event.model.mjs +0 -2
- package/esm2020/lib/models/sticky-map.model.mjs +0 -2
- package/esm2020/lib/ng-virtual-list.component.mjs +0 -800
- package/esm2020/lib/ng-virtual-list.module.mjs +0 -20
- package/esm2020/lib/ng-virtual-list.service.mjs +0 -94
- package/esm2020/lib/types/id.mjs +0 -2
- package/esm2020/lib/types/index.mjs +0 -2
- package/esm2020/lib/types/rect.mjs +0 -2
- package/esm2020/lib/types/size.mjs +0 -2
- package/esm2020/lib/utils/browser.mjs +0 -3
- package/esm2020/lib/utils/buffer-interpolation.mjs +0 -27
- package/esm2020/lib/utils/cacheMap.mjs +0 -167
- package/esm2020/lib/utils/debounce.mjs +0 -31
- package/esm2020/lib/utils/disposableComponent.mjs +0 -29
- package/esm2020/lib/utils/eventEmitter.mjs +0 -106
- package/esm2020/lib/utils/index.mjs +0 -5
- package/esm2020/lib/utils/isDirection.mjs +0 -15
- package/esm2020/lib/utils/isMethodForSelecting.mjs +0 -18
- package/esm2020/lib/utils/scrollEvent.mjs +0 -42
- package/esm2020/lib/utils/snapping-method.mjs +0 -9
- package/esm2020/lib/utils/toggleClassName.mjs +0 -15
- package/esm2020/lib/utils/trackBox.mjs +0 -762
- package/esm2020/lib/utils/tracker.mjs +0 -143
- package/esm2020/ng-virtual-list.mjs +0 -5
- package/esm2020/public-api.mjs +0 -10
- package/esm2022/lib/models/sticky-map.model.mjs +0 -2
- package/fesm2015/ng-virtual-list.mjs +0 -2582
- package/fesm2015/ng-virtual-list.mjs.map +0 -1
- package/fesm2020/ng-virtual-list.mjs +0 -2586
- package/fesm2020/ng-virtual-list.mjs.map +0 -1
- package/lib/models/sticky-map.model.d.ts +0 -14
- package/lib/utils/disposableComponent.d.ts +0 -15
|
@@ -3,6 +3,7 @@ import { Subject, tap } from 'rxjs';
|
|
|
3
3
|
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
|
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { MethodsForSelectingTypes } from './enums/method-for-selecting-types';
|
|
6
|
+
import { DEFAULT_SELECT_BY_CLICK } from './const';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class NgVirtualListService {
|
|
8
9
|
_nextComponentId = 0;
|
|
@@ -15,6 +16,7 @@ export class NgVirtualListService {
|
|
|
15
16
|
set methodOfSelecting(v) {
|
|
16
17
|
this._$methodOfSelecting.next(v);
|
|
17
18
|
}
|
|
19
|
+
selectByClick = DEFAULT_SELECT_BY_CLICK;
|
|
18
20
|
_trackBox;
|
|
19
21
|
constructor() {
|
|
20
22
|
this._$methodOfSelecting.pipe(takeUntilDestroyed(), tap(v => {
|
|
@@ -41,25 +43,61 @@ export class NgVirtualListService {
|
|
|
41
43
|
})).subscribe();
|
|
42
44
|
}
|
|
43
45
|
setSelectedIds(ids) {
|
|
44
|
-
this._$selectedIds.
|
|
46
|
+
if (JSON.stringify(this._$selectedIds.getValue()) !== JSON.stringify(ids)) {
|
|
47
|
+
this._$selectedIds.next(ids);
|
|
48
|
+
}
|
|
45
49
|
}
|
|
46
50
|
itemClick(data) {
|
|
47
51
|
this._$itemClick.next(data);
|
|
48
|
-
if (
|
|
52
|
+
if (this.selectByClick) {
|
|
53
|
+
this.select(data);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Selects a list item
|
|
58
|
+
* @param data
|
|
59
|
+
* @param selected - If the value is undefined, then the toggle method is executed, if false or true, then the selection/deselection is performed.
|
|
60
|
+
*/
|
|
61
|
+
select(data, selected = undefined) {
|
|
62
|
+
if (data && data.config.selectable) {
|
|
49
63
|
switch (this._$methodOfSelecting.getValue()) {
|
|
50
64
|
case MethodsForSelectingTypes.SELECT: {
|
|
51
65
|
const curr = this._$selectedIds.getValue();
|
|
52
|
-
|
|
66
|
+
if (selected === undefined) {
|
|
67
|
+
this._$selectedIds.next(curr !== data?.id ? data?.id : undefined);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this._$selectedIds.next(selected ? data?.id : undefined);
|
|
71
|
+
}
|
|
53
72
|
break;
|
|
54
73
|
}
|
|
55
74
|
case MethodsForSelectingTypes.MULTI_SELECT: {
|
|
56
75
|
const curr = [...(this._$selectedIds.getValue() || [])], index = curr.indexOf(data.id);
|
|
57
|
-
if (
|
|
58
|
-
|
|
59
|
-
|
|
76
|
+
if (selected === undefined) {
|
|
77
|
+
if (index > -1) {
|
|
78
|
+
curr.splice(index, 1);
|
|
79
|
+
this._$selectedIds.next(curr);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this._$selectedIds.next([...curr, data.id]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else if (selected) {
|
|
86
|
+
if (index > -1) {
|
|
87
|
+
this._$selectedIds.next(curr);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this._$selectedIds.next([...curr, data.id]);
|
|
91
|
+
}
|
|
60
92
|
}
|
|
61
93
|
else {
|
|
62
|
-
|
|
94
|
+
if (index > -1) {
|
|
95
|
+
curr.splice(index, 1);
|
|
96
|
+
this._$selectedIds.next(curr);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this._$selectedIds.next(curr);
|
|
100
|
+
}
|
|
63
101
|
}
|
|
64
102
|
break;
|
|
65
103
|
}
|
|
@@ -86,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
86
124
|
providedIn: 'root'
|
|
87
125
|
}]
|
|
88
126
|
}], ctorParameters: () => [] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9uZy12aXJ0dWFsLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLOUUsTUFBTSxPQUFPLG9CQUFvQjtJQUN2QixnQkFBZ0IsR0FBVyxDQUFDLENBQUM7SUFFN0IsV0FBVyxHQUFHLElBQUksT0FBTyxFQUEyQyxDQUFDO0lBQzdFLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXJDLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBNkIsU0FBUyxDQUFDLENBQUM7SUFDbkYsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFekMsbUJBQW1CLEdBQUcsSUFBSSxlQUFlLENBQTJCLENBQUMsQ0FBQyxDQUFDO0lBQy9FLGtCQUFrQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUU3RCxJQUFJLGlCQUFpQixDQUFDLENBQTJCO1FBQy9DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLFNBQVMsQ0FBdUI7SUFFeEM7UUFDRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzQixrQkFBa0Is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O1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWtCO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixLQUFLLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDOUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQXBGVSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhY2tCb3ggfSBmcm9tICcuL3V0aWxzL3RyYWNrQm94JztcclxuaW1wb3J0IHsgSVJlbmRlclZpcnR1YWxMaXN0SXRlbSB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcy9pbnRlcm5hbC9CZWhhdmlvclN1YmplY3QnO1xyXG5pbXBvcnQgeyBJZCB9IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcyB9IGZyb20gJy4vZW51bXMvbWV0aG9kLWZvci1zZWxlY3RpbmctdHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdWaXJ0dWFsTGlzdFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX25leHRDb21wb25lbnRJZDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfJGl0ZW1DbGljayA9IG5ldyBTdWJqZWN0PElSZW5kZXJWaXJ0dWFsTGlzdEl0ZW08YW55PiB8IHVuZGVmaW5lZD4oKTtcclxuICAkaXRlbUNsaWNrID0gdGhpcy5fJGl0ZW1DbGljay5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBfJHNlbGVjdGVkSWRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxJZD4gfCBJZCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICAkc2VsZWN0ZWRJZHMgPSB0aGlzLl8kc2VsZWN0ZWRJZHMuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHByaXZhdGUgXyRtZXRob2RPZlNlbGVjdGluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzPigwKTtcclxuICAkbWV0aG9kT2ZTZWxlY3RpbmcgPSB0aGlzLl8kbWV0aG9kT2ZTZWxlY3RpbmcuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHNldCBtZXRob2RPZlNlbGVjdGluZyh2OiBNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXMpIHtcclxuICAgIHRoaXMuXyRtZXRob2RPZlNlbGVjdGluZy5uZXh0KHYpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdHJhY2tCb3g6IFRyYWNrQm94IHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuXyRtZXRob2RPZlNlbGVjdGluZy5waXBlKFxyXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcclxuICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAodikge1xyXG4gICAgICAgICAgY2FzZSBNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXMuU0VMRUNUOiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnIgPSB0aGlzLl8kc2VsZWN0ZWRJZHMuZ2V0VmFsdWUoKTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJyICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgY3VyciAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY2FzZSBNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXMuTVVMVElfU0VMRUNUOiB7XHJcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh0aGlzLl8kc2VsZWN0ZWRJZHMuZ2V0VmFsdWUoKSkpIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChbXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5OT05FOlxyXG4gICAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkSWRzKGlkczogQXJyYXk8SWQ+IHwgSWQgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KGlkcyk7XHJcbiAgfVxyXG5cclxuICBpdGVtQ2xpY2soZGF0YTogSVJlbmRlclZpcnR1YWxMaXN0SXRlbSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fJGl0ZW1DbGljay5uZXh0KGRhdGEpO1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgc3dpdGNoICh0aGlzLl8kbWV0aG9kT2ZTZWxlY3RpbmcuZ2V0VmFsdWUoKSkge1xyXG4gICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLlNFTEVDVDoge1xyXG4gICAgICAgICAgY29uc3QgY3VyciA9IHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpIGFzIChJZCB8IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyICE9PSBkYXRhPy5pZCA/IGRhdGE/LmlkIDogdW5kZWZpbmVkKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5NVUxUSV9TRUxFQ1Q6IHtcclxuICAgICAgICAgIGNvbnN0IGN1cnIgPSBbLi4uKHRoaXMuXyRzZWxlY3RlZElkcy5nZXRWYWx1ZSgpIHx8IFtdKSBhcyBBcnJheTxJZD5dLCBpbmRleCA9IGN1cnIuaW5kZXhPZihkYXRhLmlkKTtcclxuICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgIGN1cnIuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoY3Vycik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChbLi4uY3VyciwgZGF0YS5pZF0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLk5PTkU6XHJcbiAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluaXRpYWxpemUodHJhY2tCb3g6IFRyYWNrQm94KSB7XHJcbiAgICB0aGlzLl90cmFja0JveCA9IHRyYWNrQm94O1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVDb21wb25lbnRJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9uZXh0Q29tcG9uZW50SWQgPSB0aGlzLl9uZXh0Q29tcG9uZW50SWQgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXHJcbiAgICAgID8gMCA6IHRoaXMuX25leHRDb21wb25lbnRJZCArIDE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlydHVhbC1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy12aXJ0dWFsLWxpc3Qvc3JjL2xpYi9uZy12aXJ0dWFsLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBS2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDdkIsZ0JBQWdCLEdBQVcsQ0FBQyxDQUFDO0lBRTdCLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBMkMsQ0FBQztJQUM3RSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVyQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBQ25GLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXpDLG1CQUFtQixHQUFHLElBQUksZUFBZSxDQUEyQixDQUFDLENBQUMsQ0FBQztJQUMvRSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFN0QsSUFBSSxpQkFBaUIsQ0FBQyxDQUEyQjtRQUMvQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhLEdBQVksdUJBQXVCLENB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QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ2hDLENBQUM7b0JBQ0gsQ0FBQztvQkFDRCxNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyx3QkFBd0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ1IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsUUFBa0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssTUFBTSxDQUFDLGdCQUFnQjtZQUM5RSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7d0dBdEhVLG9CQUFvQjs0R0FBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcmFja0JveCB9IGZyb20gJy4vdXRpbHMvdHJhY2tCb3gnO1xyXG5pbXBvcnQgeyBJUmVuZGVyVmlydHVhbExpc3RJdGVtIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XHJcbmltcG9ydCB7IElkIH0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzIH0gZnJvbSAnLi9lbnVtcy9tZXRob2QtZm9yLXNlbGVjdGluZy10eXBlcyc7XHJcbmltcG9ydCB7IERFRkFVTFRfU0VMRUNUX0JZX0NMSUNLIH0gZnJvbSAnLi9jb25zdCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ1ZpcnR1YWxMaXN0U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfbmV4dENvbXBvbmVudElkOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF8kaXRlbUNsaWNrID0gbmV3IFN1YmplY3Q8SVJlbmRlclZpcnR1YWxMaXN0SXRlbTxhbnk+IHwgdW5kZWZpbmVkPigpO1xyXG4gICRpdGVtQ2xpY2sgPSB0aGlzLl8kaXRlbUNsaWNrLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIF8kc2VsZWN0ZWRJZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PElkPiB8IElkIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gICRzZWxlY3RlZElkcyA9IHRoaXMuXyRzZWxlY3RlZElkcy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBfJG1ldGhvZE9mU2VsZWN0aW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXM+KDApO1xyXG4gICRtZXRob2RPZlNlbGVjdGluZyA9IHRoaXMuXyRtZXRob2RPZlNlbGVjdGluZy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgc2V0IG1ldGhvZE9mU2VsZWN0aW5nKHY6IE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcykge1xyXG4gICAgdGhpcy5fJG1ldGhvZE9mU2VsZWN0aW5nLm5leHQodik7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RCeUNsaWNrOiBib29sZWFuID0gREVGQVVMVF9TRUxFQ1RfQllfQ0xJQ0s7XHJcblxyXG4gIHByaXZhdGUgX3RyYWNrQm94OiBUcmFja0JveCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl8kbWV0aG9kT2ZTZWxlY3RpbmcucGlwZShcclxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXHJcbiAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICBzd2l0Y2ggKHYpIHtcclxuICAgICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLlNFTEVDVDoge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyID0gdGhpcy5fJHNlbGVjdGVkSWRzLmdldFZhbHVlKCk7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3VyciAhPT0gJ251bWJlcicgJiYgdHlwZW9mIGN1cnIgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNhc2UgTWV0aG9kc0ZvclNlbGVjdGluZ1R5cGVzLk1VTFRJX1NFTEVDVDoge1xyXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5fJHNlbGVjdGVkSWRzLmdldFZhbHVlKCkpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoW10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY2FzZSBNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXMuTk9ORTpcclxuICAgICAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZElkcyhpZHM6IEFycmF5PElkPiB8IElkIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5fJHNlbGVjdGVkSWRzLmdldFZhbHVlKCkpICE9PSBKU09OLnN0cmluZ2lmeShpZHMpKSB7XHJcbiAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KGlkcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpdGVtQ2xpY2soZGF0YTogSVJlbmRlclZpcnR1YWxMaXN0SXRlbSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fJGl0ZW1DbGljay5uZXh0KGRhdGEpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0QnlDbGljaykge1xyXG4gICAgICB0aGlzLnNlbGVjdChkYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdHMgYSBsaXN0IGl0ZW1cclxuICAgKiBAcGFyYW0gZGF0YSBcclxuICAgKiBAcGFyYW0gc2VsZWN0ZWQgLSBJZiB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSB0b2dnbGUgbWV0aG9kIGlzIGV4ZWN1dGVkLCBpZiBmYWxzZSBvciB0cnVlLCB0aGVuIHRoZSBzZWxlY3Rpb24vZGVzZWxlY3Rpb24gaXMgcGVyZm9ybWVkLlxyXG4gICAqL1xyXG4gIHNlbGVjdChkYXRhOiBJUmVuZGVyVmlydHVhbExpc3RJdGVtIHwgdW5kZWZpbmVkLCBzZWxlY3RlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKGRhdGEgJiYgZGF0YS5jb25maWcuc2VsZWN0YWJsZSkge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuXyRtZXRob2RPZlNlbGVjdGluZy5nZXRWYWx1ZSgpKSB7XHJcbiAgICAgICAgY2FzZSBNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXMuU0VMRUNUOiB7XHJcbiAgICAgICAgICBjb25zdCBjdXJyID0gdGhpcy5fJHNlbGVjdGVkSWRzLmdldFZhbHVlKCkgYXMgKElkIHwgdW5kZWZpbmVkKTtcclxuICAgICAgICAgIGlmIChzZWxlY3RlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KGN1cnIgIT09IGRhdGE/LmlkID8gZGF0YT8uaWQgOiB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoc2VsZWN0ZWQgPyBkYXRhPy5pZCA6IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBNZXRob2RzRm9yU2VsZWN0aW5nVHlwZXMuTVVMVElfU0VMRUNUOiB7XHJcbiAgICAgICAgICBjb25zdCBjdXJyID0gWy4uLih0aGlzLl8kc2VsZWN0ZWRJZHMuZ2V0VmFsdWUoKSB8fCBbXSkgYXMgQXJyYXk8SWQ+XSwgaW5kZXggPSBjdXJyLmluZGV4T2YoZGF0YS5pZCk7XHJcbiAgICAgICAgICBpZiAoc2VsZWN0ZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgIGN1cnIuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChjdXJyKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLl8kc2VsZWN0ZWRJZHMubmV4dChbLi4uY3VyciwgZGF0YS5pZF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoY3Vycik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoWy4uLmN1cnIsIGRhdGEuaWRdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgICBjdXJyLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoY3Vycik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fJHNlbGVjdGVkSWRzLm5leHQoY3Vycik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXNlIE1ldGhvZHNGb3JTZWxlY3RpbmdUeXBlcy5OT05FOlxyXG4gICAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICAgIHRoaXMuXyRzZWxlY3RlZElkcy5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplKHRyYWNrQm94OiBUcmFja0JveCkge1xyXG4gICAgdGhpcy5fdHJhY2tCb3ggPSB0cmFja0JveDtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlQ29tcG9uZW50SWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbmV4dENvbXBvbmVudElkID0gdGhpcy5fbmV4dENvbXBvbmVudElkID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxyXG4gICAgICA/IDAgOiB0aGlzLl9uZXh0Q29tcG9uZW50SWQgKyAxO1xyXG4gIH1cclxufVxyXG4iXX0=
|