concepto-user-controls 0.0.10 → 0.0.15
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/esm2022/lib/concepto-tree/concepto-tree.component.mjs +39 -33
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/concepto-user-controls.mjs +38 -32
- package/fesm2022/concepto-user-controls.mjs.map +1 -1
- package/lib/concepto-tree/concepto-tree.component.d.ts +2 -3
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ViewChild, ChangeDetectionStrategy, signal } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ViewChild, ChangeDetectionStrategy, signal, computed } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { TreeRootComponent } from './components/tree-root/tree-root.component';
|
|
@@ -20,50 +20,56 @@ export class ConceptoTreeComponent {
|
|
|
20
20
|
loadChildren = new EventEmitter();
|
|
21
21
|
treeEvent = new EventEmitter();
|
|
22
22
|
treeRoot;
|
|
23
|
+
// Estado con Signals
|
|
23
24
|
isDropdownOpen = signal(false);
|
|
24
|
-
searchTerm = '';
|
|
25
|
+
searchTerm = signal(''); // Cambiamos a Signal
|
|
25
26
|
selectedNode = signal(null);
|
|
26
|
-
//
|
|
27
|
+
// Almacén de todos los nodos (no necesita ser signal porque no cambia tras la carga inicial)
|
|
27
28
|
allNodes = [];
|
|
28
|
-
|
|
29
|
+
// Signal computada: Se actualiza sola cuando cambia searchTerm o allNodes es asignado
|
|
30
|
+
filteredNodes = computed(() => {
|
|
31
|
+
const term = this.searchTerm().toLowerCase();
|
|
32
|
+
if (!term)
|
|
33
|
+
return this.allNodes;
|
|
34
|
+
return this.allNodes.filter(node => String(node.data[this.displayField]).toLowerCase().includes(term));
|
|
35
|
+
});
|
|
29
36
|
get displayField() {
|
|
30
37
|
return this.options.displayField || 'name';
|
|
31
38
|
}
|
|
32
39
|
toggleDropdown() {
|
|
33
40
|
this.isDropdownOpen.update(v => !v);
|
|
34
41
|
if (this.isDropdownOpen()) {
|
|
35
|
-
this.searchTerm
|
|
36
|
-
this.filterNodes();
|
|
42
|
+
this.searchTerm.set(''); // Reseteamos el término al abrir
|
|
37
43
|
}
|
|
38
44
|
}
|
|
39
45
|
closeDropdown() {
|
|
40
46
|
this.isDropdownOpen.set(false);
|
|
41
47
|
}
|
|
42
|
-
filterNodes() {
|
|
43
|
-
if (!this.searchTerm) {
|
|
44
|
-
this.filteredNodes.set(this.allNodes);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
const term = this.searchTerm.toLowerCase();
|
|
48
|
-
this.filteredNodes.set(this.allNodes.filter(node => String(node.data[this.displayField]).toLowerCase().includes(term)));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
48
|
selectNode(node) {
|
|
52
49
|
this.selectedNode.set(node);
|
|
53
50
|
this.isDropdownOpen.set(false);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
if (this.treeRoot?.treeModel) {
|
|
52
|
+
// Usamos el API de la librería para activar
|
|
53
|
+
node.setActiveAndVisible();
|
|
54
|
+
// O si prefieres: this.treeRoot.treeModel.activateNode(node);
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
57
|
onTreeInitialized(event) {
|
|
61
58
|
this.initialized.emit(event);
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
// Mantenemos el setTimeout para evitar el error 'firstCreatePass'
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
if (event.treeModel) {
|
|
62
|
+
this.allNodes = event.treeModel.getAllNodes();
|
|
63
|
+
// Buscamos manualmente el nodo activo si existe
|
|
64
|
+
const activeNode = this.allNodes.find(n => n.isActive);
|
|
65
|
+
if (activeNode) {
|
|
66
|
+
this.selectedNode.set(activeNode);
|
|
67
|
+
}
|
|
68
|
+
// Forzamos una actualización inicial de la lista filtrada
|
|
69
|
+
// Al setear searchTerm de nuevo, disparas el computed
|
|
70
|
+
this.searchTerm.set('');
|
|
71
|
+
}
|
|
72
|
+
});
|
|
67
73
|
}
|
|
68
74
|
onNodeActivated(event) {
|
|
69
75
|
this.activate.emit(event);
|
|
@@ -79,7 +85,7 @@ export class ConceptoTreeComponent {
|
|
|
79
85
|
<div class="selected-option">
|
|
80
86
|
{{ selectedNode() ? selectedNode()?.data?.[displayField] : 'Buscar nodo...' }}
|
|
81
87
|
</div>
|
|
82
|
-
<div class="arrow"
|
|
88
|
+
<div class="arrow"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg></div>
|
|
83
89
|
</div>
|
|
84
90
|
|
|
85
91
|
<div class="backdrop" *ngIf="isDropdownOpen()" (click)="closeDropdown()"></div>
|
|
@@ -88,8 +94,8 @@ export class ConceptoTreeComponent {
|
|
|
88
94
|
<div class="search-input-wrapper" (click)="$event.stopPropagation()">
|
|
89
95
|
<input
|
|
90
96
|
type="text"
|
|
91
|
-
[
|
|
92
|
-
(ngModelChange)="
|
|
97
|
+
[ngModel]="searchTerm()"
|
|
98
|
+
(ngModelChange)="searchTerm.set($event)"
|
|
93
99
|
placeholder="Buscar..."
|
|
94
100
|
class="search-input"
|
|
95
101
|
#searchInput
|
|
@@ -127,7 +133,7 @@ export class ConceptoTreeComponent {
|
|
|
127
133
|
(treeEvent)="treeEvent.emit($event)"
|
|
128
134
|
></tree-root>
|
|
129
135
|
</div>
|
|
130
|
-
`, isInline: true, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#
|
|
136
|
+
`, isInline: true, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#e7e7e7;-webkit-user-select:none;user-select:none;transition:border-color .2s}.custom-select:hover{border-color:#888}.custom-select.open{border-color:#007bff;border-bottom-left-radius:0;border-bottom-right-radius:0}.backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:101;background:transparent}.dropdown-menu{position:absolute;top:100%;left:0;width:100%;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px #0000001a;margin-top:0;max-height:300px;overflow-y:auto;z-index:102}.search-input-wrapper{padding:8px;position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:103}.search-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;outline:none;background:#e7e7e7}.search-input:focus{border-color:#007bff}.options-list{max-height:250px;overflow-y:auto}.option-item{padding:8px 12px;cursor:pointer;transition:background-color .1s}.option-item:hover{background-color:#f5f5f5}.no-results{padding:12px;color:#888;font-style:italic;text-align:center}tree-root{flex:1;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TreeRootComponent, selector: "tree-root", inputs: ["nodes", "options"], outputs: ["initialized", "toggleExpanded", "activate", "deactivate", "select", "deselect", "focus", "blur", "moveNode", "loadChildren", "treeEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
131
137
|
}
|
|
132
138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConceptoTreeComponent, decorators: [{
|
|
133
139
|
type: Component,
|
|
@@ -138,7 +144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
138
144
|
<div class="selected-option">
|
|
139
145
|
{{ selectedNode() ? selectedNode()?.data?.[displayField] : 'Buscar nodo...' }}
|
|
140
146
|
</div>
|
|
141
|
-
<div class="arrow"
|
|
147
|
+
<div class="arrow"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg></div>
|
|
142
148
|
</div>
|
|
143
149
|
|
|
144
150
|
<div class="backdrop" *ngIf="isDropdownOpen()" (click)="closeDropdown()"></div>
|
|
@@ -147,8 +153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
147
153
|
<div class="search-input-wrapper" (click)="$event.stopPropagation()">
|
|
148
154
|
<input
|
|
149
155
|
type="text"
|
|
150
|
-
[
|
|
151
|
-
(ngModelChange)="
|
|
156
|
+
[ngModel]="searchTerm()"
|
|
157
|
+
(ngModelChange)="searchTerm.set($event)"
|
|
152
158
|
placeholder="Buscar..."
|
|
153
159
|
class="search-input"
|
|
154
160
|
#searchInput
|
|
@@ -186,7 +192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
186
192
|
(treeEvent)="treeEvent.emit($event)"
|
|
187
193
|
></tree-root>
|
|
188
194
|
</div>
|
|
189
|
-
`, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#
|
|
195
|
+
`, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#e7e7e7;-webkit-user-select:none;user-select:none;transition:border-color .2s}.custom-select:hover{border-color:#888}.custom-select.open{border-color:#007bff;border-bottom-left-radius:0;border-bottom-right-radius:0}.backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:101;background:transparent}.dropdown-menu{position:absolute;top:100%;left:0;width:100%;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px #0000001a;margin-top:0;max-height:300px;overflow-y:auto;z-index:102}.search-input-wrapper{padding:8px;position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:103}.search-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;outline:none;background:#e7e7e7}.search-input:focus{border-color:#007bff}.options-list{max-height:250px;overflow-y:auto}.option-item{padding:8px 12px;cursor:pointer;transition:background-color .1s}.option-item:hover{background-color:#f5f5f5}.no-results{padding:12px;color:#888;font-style:italic;text-align:center}tree-root{flex:1;overflow:hidden}\n"] }]
|
|
190
196
|
}], propDecorators: { nodes: [{
|
|
191
197
|
type: Input
|
|
192
198
|
}], options: [{
|
|
@@ -217,4 +223,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
217
223
|
type: ViewChild,
|
|
218
224
|
args: [TreeRootComponent]
|
|
219
225
|
}] } });
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2VwdG8tdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25jZXB0by11c2VyLWNvbnRyb2xzL3NyYy9saWIvY29uY2VwdG8tdHJlZS9jb25jZXB0by10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7OztBQW1ML0UsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixLQUFLLEdBQVUsRUFBRSxDQUFDO0lBQ2xCLE9BQU8sR0FBeUIsRUFBRSxDQUFDO0lBRWxDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQzVDLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQy9DLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQ3pDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQzNDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQ3ZDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQ3pDLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQ3RDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQ3JDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQ3pDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQzdDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RFQsKzZDQXpEUyxZQUFZLCtQQUFFLFdBQVcsK21CQUFFLGlCQUFpQjs7NEZBMkszQyxxQkFBcUI7a0JBOUtqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDLG1CQUN0Qyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdURUOzhCQW1IUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFdUIsUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmVlUm9vdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlLXJvb3QvdHJlZS1yb290LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyZWVPcHRpb25zIH0gZnJvbSAnLi9jb3JlL21vZGVscy90cmVlLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBUcmVlRXZlbnQgfSBmcm9tICcuL2NvcmUvbW9kZWxzL3RyZWUtZXZlbnRzLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL2NvcmUvbW9kZWxzL3RyZWUtbm9kZS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb25jZXB0by10cmVlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBUcmVlUm9vdENvbXBvbmVudF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjb25jZXB0by10cmVlLWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJhci1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdFwiIFtjbGFzcy5vcGVuXT1cImlzRHJvcGRvd25PcGVuKClcIiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiPlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1vcHRpb25cIj5cclxuICAgICAgICAgICAgIHt7IHNlbGVjdGVkTm9kZSgpID8gc2VsZWN0ZWROb2RlKCk/LmRhdGE/LltkaXNwbGF5RmllbGRdIDogJ0J1c2NhciBub2RvLi4uJyB9fVxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvd1wiPuKWvDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiICpuZ0lmPVwiaXNEcm9wZG93bk9wZW4oKVwiIChjbGljayk9XCJjbG9zZURyb3Bkb3duKClcIj48L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiAqbmdJZj1cImlzRHJvcGRvd25PcGVuKClcIj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWlucHV0LXdyYXBwZXJcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgICAgICA8aW5wdXQgXHJcbiAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGVybVwiIFxyXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJOb2RlcygpXCJcclxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJCdXNjYXIuLi5cIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICNzZWFyY2hJbnB1dFxyXG4gICAgICAgICAgICAgICBhdXRvZm9jdXNcclxuICAgICAgICAgICAgID5cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aW9ucy1saXN0XCI+XHJcbiAgICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBmaWx0ZXJlZE5vZGVzKClcIiBcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb24taXRlbVwiIFxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0Tm9kZShub2RlKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAge3sgbm9kZS5kYXRhW2Rpc3BsYXlGaWVsZF0gfX1cclxuICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgPGRpdiAqbmdJZj1cImZpbHRlcmVkTm9kZXMoKS5sZW5ndGggPT09IDBcIiBjbGFzcz1cIm5vLXJlc3VsdHNcIj5cclxuICAgICAgICAgICAgICAgTm8gc2UgZW5jb250cmFyb24gcmVzdWx0YWRvc1xyXG4gICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPHRyZWUtcm9vdFxyXG4gICAgICAgIFtub2Rlc109XCJub2Rlc1wiXHJcbiAgICAgICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXHJcbiAgICAgICAgKGluaXRpYWxpemVkKT1cIm9uVHJlZUluaXRpYWxpemVkKCRldmVudClcIlxyXG4gICAgICAgICh0b2dnbGVFeHBhbmRlZCk9XCJ0b2dnbGVFeHBhbmRlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChhY3RpdmF0ZSk9XCJvbk5vZGVBY3RpdmF0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGRlYWN0aXZhdGUpPVwiZGVhY3RpdmF0ZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChzZWxlY3QpPVwic2VsZWN0LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGRlc2VsZWN0KT1cImRlc2VsZWN0LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGZvY3VzKT1cImZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwiYmx1ci5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChtb3ZlTm9kZSk9XCJtb3ZlTm9kZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChsb2FkQ2hpbGRyZW4pPVwibG9hZENoaWxkcmVuLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyZWVFdmVudCk9XCJ0cmVlRXZlbnQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgPjwvdHJlZS1yb290PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtgXHJcbiAgICAuY29uY2VwdG8tdHJlZS1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGdhcDogMTBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNlYXJjaC1iYXItY29udGFpbmVyIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tc2VsZWN0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiA4cHggMTJweDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1zZWxlY3Q6aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6ICM4ODg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jdXN0b20tc2VsZWN0Lm9wZW4ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5iYWNrZHJvcCB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB6LWluZGV4OiAxMDE7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEwMCU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICB6LWluZGV4OiAxMDI7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcclxuICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICAgICAgei1pbmRleDogMTAzO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2gtaW5wdXQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zZWFyY2gtaW5wdXQ6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLm9wdGlvbnMtbGlzdCB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5vcHRpb24taXRlbSB7XHJcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcclxuICAgIH1cclxuXHJcbiAgICAub3B0aW9uLWl0ZW06aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgfVxyXG5cclxuICAgIC5uby1yZXN1bHRzIHtcclxuICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgY29sb3I6ICM4ODg7XHJcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0cmVlLXJvb3Qge1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25jZXB0b1RyZWVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG5vZGVzOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFBhcnRpYWw8VHJlZU9wdGlvbnM+ID0ge307XHJcblxyXG4gIEBPdXRwdXQoKSBpbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSB0b2dnbGVFeHBhbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBkZWFjdGl2YXRlID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBkZXNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIG1vdmVOb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGxvYWRDaGlsZHJlbiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSB0cmVlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRyZWVFdmVudD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChUcmVlUm9vdENvbXBvbmVudCkgdHJlZVJvb3QhOiBUcmVlUm9vdENvbXBvbmVudDtcclxuXHJcbiAgaXNEcm9wZG93bk9wZW4gPSBzaWduYWwoZmFsc2UpO1xyXG4gIHNlYXJjaFRlcm0gPSAnJztcclxuICBzZWxlY3RlZE5vZGUgPSBzaWduYWw8VHJlZU5vZGUgfCBudWxsPihudWxsKTtcclxuXHJcbiAgLy8gQWxsIG5vZGVzIGZsYXR0ZW5lZFxyXG4gIHByaXZhdGUgYWxsTm9kZXM6IFRyZWVOb2RlW10gPSBbXTtcclxuICBmaWx0ZXJlZE5vZGVzID0gc2lnbmFsPFRyZWVOb2RlW10+KFtdKTtcclxuXHJcbiAgZ2V0IGRpc3BsYXlGaWVsZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5kaXNwbGF5RmllbGQgfHwgJ25hbWUnO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuLnVwZGF0ZSh2ID0+ICF2KTtcclxuICAgIGlmICh0aGlzLmlzRHJvcGRvd25PcGVuKCkpIHtcclxuICAgICAgdGhpcy5zZWFyY2hUZXJtID0gJyc7XHJcbiAgICAgIHRoaXMuZmlsdGVyTm9kZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuLnNldChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJOb2RlcygpIHtcclxuICAgIGlmICghdGhpcy5zZWFyY2hUZXJtKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQodGhpcy5hbGxOb2Rlcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB0ZXJtID0gdGhpcy5zZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQoXHJcbiAgICAgICAgdGhpcy5hbGxOb2Rlcy5maWx0ZXIobm9kZSA9PlxyXG4gICAgICAgICAgU3RyaW5nKG5vZGUuZGF0YVt0aGlzLmRpc3BsYXlGaWVsZF0pLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybSlcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3ROb2RlKG5vZGU6IFRyZWVOb2RlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZS5zZXQobm9kZSk7XHJcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuLnNldChmYWxzZSk7XHJcblxyXG4gICAgLy8gQWN0aXZhdGUgaW4gdHJlZVxyXG4gICAgaWYgKHRoaXMudHJlZVJvb3QgJiYgdGhpcy50cmVlUm9vdC50cmVlTW9kZWwpIHtcclxuICAgICAgdGhpcy50cmVlUm9vdC50cmVlTW9kZWwuYWN0aXZhdGVOb2RlKG5vZGUpO1xyXG4gICAgICBub2RlLmVuc3VyZVZpc2libGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVHJlZUluaXRpYWxpemVkKGV2ZW50OiBUcmVlRXZlbnQpIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZWQuZW1pdChldmVudCk7XHJcbiAgICAvLyBHZXQgYWxsIG5vZGVzIGZvciB0aGUgZHJvcGRvd25cclxuICAgIGlmIChldmVudC50cmVlTW9kZWwpIHtcclxuICAgICAgdGhpcy5hbGxOb2RlcyA9IGV2ZW50LnRyZWVNb2RlbC5nZXRBbGxOb2RlcygpO1xyXG4gICAgICB0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KHRoaXMuYWxsTm9kZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Ob2RlQWN0aXZhdGVkKGV2ZW50OiBUcmVlRXZlbnQpIHtcclxuICAgIHRoaXMuYWN0aXZhdGUuZW1pdChldmVudCk7XHJcbiAgICBpZiAoZXZlbnQubm9kZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZS5zZXQoZXZlbnQubm9kZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2VwdG8tdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25jZXB0by11c2VyLWNvbnRyb2xzL3NyYy9saWIvY29uY2VwdG8tdHJlZS9jb25jZXB0by10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7QUFvTC9FLE1BQU0sT0FBTyxxQkFBcUI7SUFDdkIsS0FBSyxHQUFVLEVBQUUsQ0FBQztJQUNsQixPQUFPLEdBQXlCLEVBQUUsQ0FBQztJQUVsQyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUM1QyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUMvQyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUN6QyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUMzQyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUN2QyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUN6QyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUN0QyxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUNyQyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUN6QyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUM3QyxTQUFTLEdBQUcsSUFB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SUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBeEZVLHFCQUFxQjs0RkFBckIscUJBQXFCLG9iQWdCckIsaUJBQWlCLGdEQTFMbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RFQscThDQXpEUyxZQUFZLCtQQUFFLFdBQVcsK21CQUFFLGlCQUFpQjs7NEZBNEszQyxxQkFBcUI7a0JBL0tqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDLG1CQUN0Qyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdURUOzhCQW9IUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFFdUIsUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJlZVJvb3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdHJlZS1yb290L3RyZWUtcm9vdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmVlT3B0aW9ucyB9IGZyb20gJy4vY29yZS9tb2RlbHMvdHJlZS1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZUV2ZW50IH0gZnJvbSAnLi9jb3JlL21vZGVscy90cmVlLWV2ZW50cy5tb2RlbCc7XHJcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnLi9jb3JlL21vZGVscy90cmVlLW5vZGUubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29uY2VwdG8tdHJlZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgVHJlZVJvb3RDb21wb25lbnRdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uY2VwdG8tdHJlZS1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1iYXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1zZWxlY3RcIiBbY2xhc3Mub3Blbl09XCJpc0Ryb3Bkb3duT3BlbigpXCIgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKClcIj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtb3B0aW9uXCI+XHJcbiAgICAgICAgICAgICB7eyBzZWxlY3RlZE5vZGUoKSA/IHNlbGVjdGVkTm9kZSgpPy5kYXRhPy5bZGlzcGxheUZpZWxkXSA6ICdCdXNjYXIgbm9kby4uLicgfX1cclxuICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyb3dcIj48c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTYgOUwxMiAxNUwxOCA5XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2Ryb3BcIiAqbmdJZj1cImlzRHJvcGRvd25PcGVuKClcIiAoY2xpY2spPVwiY2xvc2VEcm9wZG93bigpXCI+PC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgKm5nSWY9XCJpc0Ryb3Bkb3duT3BlbigpXCI+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1pbnB1dC13cmFwcGVyXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgPGlucHV0IFxyXG4gICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiIFxyXG4gICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWFyY2hUZXJtKClcIlxyXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWFyY2hUZXJtLnNldCgkZXZlbnQpXCIgXHJcbiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQnVzY2FyLi4uXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAjc2VhcmNoSW5wdXRcclxuICAgICAgICAgICAgICAgYXV0b2ZvY3VzXHJcbiAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtbGlzdFwiPlxyXG4gICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2YgZmlsdGVyZWROb2RlcygpXCIgXHJcbiAgICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uLWl0ZW1cIiBcclxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5vZGUobm9kZSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgIHt7IG5vZGUuZGF0YVtkaXNwbGF5RmllbGRdIH19XHJcbiAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJmaWx0ZXJlZE5vZGVzKCkubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJuby1yZXN1bHRzXCI+XHJcbiAgICAgICAgICAgICAgIE5vIHNlIGVuY29udHJhcm9uIHJlc3VsdGFkb3NcclxuICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDx0cmVlLXJvb3RcclxuICAgICAgICBbbm9kZXNdPVwibm9kZXNcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxyXG4gICAgICAgIChpbml0aWFsaXplZCk9XCJvblRyZWVJbml0aWFsaXplZCgkZXZlbnQpXCJcclxuICAgICAgICAodG9nZ2xlRXhwYW5kZWQpPVwidG9nZ2xlRXhwYW5kZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoYWN0aXZhdGUpPVwib25Ob2RlQWN0aXZhdGVkKCRldmVudClcIlxyXG4gICAgICAgIChkZWFjdGl2YXRlKT1cImRlYWN0aXZhdGUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoc2VsZWN0KT1cInNlbGVjdC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChkZXNlbGVjdCk9XCJkZXNlbGVjdC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChmb2N1cyk9XCJmb2N1cy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChibHVyKT1cImJsdXIuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAobW92ZU5vZGUpPVwibW92ZU5vZGUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAobG9hZENoaWxkcmVuKT1cImxvYWRDaGlsZHJlbi5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICh0cmVlRXZlbnQpPVwidHJlZUV2ZW50LmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgID48L3RyZWUtcm9vdD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gICAgLmNvbmNlcHRvLXRyZWUtY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBnYXA6IDEwcHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zZWFyY2gtYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xyXG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1c3RvbS1zZWxlY3Q6aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6ICM4ODg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jdXN0b20tc2VsZWN0Lm9wZW4ge1xyXG4gICAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5iYWNrZHJvcCB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB6LWluZGV4OiAxMDE7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEwMCU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICB6LWluZGV4OiAxMDI7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcclxuICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICAgICAgei1pbmRleDogMTAzO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2gtaW5wdXQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNlN2U3ZTc7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zZWFyY2gtaW5wdXQ6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLm9wdGlvbnMtbGlzdCB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5vcHRpb24taXRlbSB7XHJcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcztcclxuICAgIH1cclxuXHJcbiAgICAub3B0aW9uLWl0ZW06aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgfVxyXG5cclxuICAgIC5uby1yZXN1bHRzIHtcclxuICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgY29sb3I6ICM4ODg7XHJcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0cmVlLXJvb3Qge1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25jZXB0b1RyZWVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG5vZGVzOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFBhcnRpYWw8VHJlZU9wdGlvbnM+ID0ge307XHJcblxyXG4gIEBPdXRwdXQoKSBpbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSB0b2dnbGVFeHBhbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBkZWFjdGl2YXRlID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBkZXNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIG1vdmVOb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxUcmVlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGxvYWRDaGlsZHJlbiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSB0cmVlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRyZWVFdmVudD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZChUcmVlUm9vdENvbXBvbmVudCkgdHJlZVJvb3QhOiBUcmVlUm9vdENvbXBvbmVudDtcclxuXHJcbiAgLy8gRXN0YWRvIGNvbiBTaWduYWxzXHJcbiAgaXNEcm9wZG93bk9wZW4gPSBzaWduYWwoZmFsc2UpO1xyXG4gIHNlYXJjaFRlcm0gPSBzaWduYWwoJycpOyAvLyBDYW1iaWFtb3MgYSBTaWduYWxcclxuICBzZWxlY3RlZE5vZGUgPSBzaWduYWw8VHJlZU5vZGUgfCBudWxsPihudWxsKTtcclxuICBcclxuICAvLyBBbG1hY8OpbiBkZSB0b2RvcyBsb3Mgbm9kb3MgKG5vIG5lY2VzaXRhIHNlciBzaWduYWwgcG9ycXVlIG5vIGNhbWJpYSB0cmFzIGxhIGNhcmdhIGluaWNpYWwpXHJcbiAgcHJpdmF0ZSBhbGxOb2RlczogVHJlZU5vZGVbXSA9IFtdO1xyXG5cclxuICAvLyBTaWduYWwgY29tcHV0YWRhOiBTZSBhY3R1YWxpemEgc29sYSBjdWFuZG8gY2FtYmlhIHNlYXJjaFRlcm0gbyBhbGxOb2RlcyBlcyBhc2lnbmFkb1xyXG4gIGZpbHRlcmVkTm9kZXMgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBjb25zdCB0ZXJtID0gdGhpcy5zZWFyY2hUZXJtKCkudG9Mb3dlckNhc2UoKTtcclxuICAgIGlmICghdGVybSkgcmV0dXJuIHRoaXMuYWxsTm9kZXM7XHJcbiAgICBcclxuICAgIHJldHVybiB0aGlzLmFsbE5vZGVzLmZpbHRlcihub2RlID0+XHJcbiAgICAgIFN0cmluZyhub2RlLmRhdGFbdGhpcy5kaXNwbGF5RmllbGRdKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0pXHJcbiAgICApO1xyXG4gIH0pO1xyXG5cclxuICBnZXQgZGlzcGxheUZpZWxkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmRpc3BsYXlGaWVsZCB8fCAnbmFtZSc7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVEcm9wZG93bigpIHtcclxuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4udXBkYXRlKHYgPT4gIXYpO1xyXG4gICAgaWYgKHRoaXMuaXNEcm9wZG93bk9wZW4oKSkge1xyXG4gICAgICB0aGlzLnNlYXJjaFRlcm0uc2V0KCcnKTsgLy8gUmVzZXRlYW1vcyBlbCB0w6lybWlubyBhbCBhYnJpclxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VEcm9wZG93bigpIHtcclxuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4uc2V0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdE5vZGUobm9kZTogVHJlZU5vZGUpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWROb2RlLnNldChub2RlKTtcclxuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4uc2V0KGZhbHNlKTtcclxuXHJcbiAgICBpZiAodGhpcy50cmVlUm9vdD8udHJlZU1vZGVsKSB7XHJcbiAgICAgIC8vIFVzYW1vcyBlbCBBUEkgZGUgbGEgbGlicmVyw61hIHBhcmEgYWN0aXZhclxyXG4gICAgICBub2RlLnNldEFjdGl2ZUFuZFZpc2libGUoKTsgXHJcbiAgICAgIC8vIE8gc2kgcHJlZmllcmVzOiB0aGlzLnRyZWVSb290LnRyZWVNb2RlbC5hY3RpdmF0ZU5vZGUobm9kZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRyZWVJbml0aWFsaXplZChldmVudDogVHJlZUV2ZW50KSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVkLmVtaXQoZXZlbnQpO1xyXG4gIFxyXG4gICAgLy8gTWFudGVuZW1vcyBlbCBzZXRUaW1lb3V0IHBhcmEgZXZpdGFyIGVsIGVycm9yICdmaXJzdENyZWF0ZVBhc3MnXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKGV2ZW50LnRyZWVNb2RlbCkge1xyXG4gICAgICAgIHRoaXMuYWxsTm9kZXMgPSBldmVudC50cmVlTW9kZWwuZ2V0QWxsTm9kZXMoKTtcclxuICAgICAgICBcclxuICAgICAgICAvLyBCdXNjYW1vcyBtYW51YWxtZW50ZSBlbCBub2RvIGFjdGl2byBzaSBleGlzdGVcclxuICAgICAgICBjb25zdCBhY3RpdmVOb2RlID0gdGhpcy5hbGxOb2Rlcy5maW5kKG4gPT4gbi5pc0FjdGl2ZSk7XHJcbiAgICAgICAgaWYgKGFjdGl2ZU5vZGUpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLnNldChhY3RpdmVOb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gRm9yemFtb3MgdW5hIGFjdHVhbGl6YWNpw7NuIGluaWNpYWwgZGUgbGEgbGlzdGEgZmlsdHJhZGFcclxuICAgICAgICAvLyBBbCBzZXRlYXIgc2VhcmNoVGVybSBkZSBudWV2bywgZGlzcGFyYXMgZWwgY29tcHV0ZWRcclxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0uc2V0KCcnKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVBY3RpdmF0ZWQoZXZlbnQ6IFRyZWVFdmVudCkge1xyXG4gICAgdGhpcy5hY3RpdmF0ZS5lbWl0KGV2ZW50KTtcclxuICAgIGlmIChldmVudC5ub2RlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLnNldChldmVudC5ub2RlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -6,7 +6,11 @@ export * from './lib/concepto-user-controls.component';
|
|
|
6
6
|
export * from './lib/concepto-message/concepto-message.component';
|
|
7
7
|
export * from './lib/concepto-context-menu/concepto-context-menu.component';
|
|
8
8
|
export * from './lib/concepto-tree/concepto-tree.component';
|
|
9
|
+
export * from './lib/concepto-tree/core/models/tree.model';
|
|
10
|
+
export * from './lib/concepto-tree/core/models/tree-node.model';
|
|
11
|
+
export * from './lib/concepto-tree/core/models/tree-options.model';
|
|
12
|
+
export * from './lib/concepto-tree/core/models/tree-events.model';
|
|
9
13
|
export * from './lib/entity-comparison/components/entity-comparison.component';
|
|
10
14
|
export * from './lib/entity-comparison/core/services/entity-comparison.service';
|
|
11
15
|
export * from './lib/concepto-input/concepto-input.component';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbmNlcHRvLXVzZXItY29udHJvbHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywrQ0FBK0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb25jZXB0by1tZXNzYWdlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uY2VwdG8tdXNlci1jb250cm9scy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uY2VwdG8tdXNlci1jb250cm9scy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25jZXB0by1tZXNzYWdlL2NvbmNlcHRvLW1lc3NhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uY2VwdG8tY29udGV4dC1tZW51L2NvbmNlcHRvLWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25jZXB0by10cmVlL2NvbmNlcHRvLXRyZWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uY2VwdG8tdHJlZS9jb3JlL21vZGVscy90cmVlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uY2VwdG8tdHJlZS9jb3JlL21vZGVscy90cmVlLW5vZGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25jZXB0by10cmVlL2NvcmUvbW9kZWxzL3RyZWUtb3B0aW9ucy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmNlcHRvLXRyZWUvY29yZS9tb2RlbHMvdHJlZS1ldmVudHMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnRpdHktY29tcGFyaXNvbi9jb21wb25lbnRzL2VudGl0eS1jb21wYXJpc29uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudGl0eS1jb21wYXJpc29uL2NvcmUvc2VydmljZXMvZW50aXR5LWNvbXBhcmlzb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmNlcHRvLWlucHV0L2NvbmNlcHRvLWlucHV0LmNvbXBvbmVudCc7Il19
|
|
@@ -1755,50 +1755,56 @@ class ConceptoTreeComponent {
|
|
|
1755
1755
|
loadChildren = new EventEmitter();
|
|
1756
1756
|
treeEvent = new EventEmitter();
|
|
1757
1757
|
treeRoot;
|
|
1758
|
+
// Estado con Signals
|
|
1758
1759
|
isDropdownOpen = signal(false);
|
|
1759
|
-
searchTerm = '';
|
|
1760
|
+
searchTerm = signal(''); // Cambiamos a Signal
|
|
1760
1761
|
selectedNode = signal(null);
|
|
1761
|
-
//
|
|
1762
|
+
// Almacén de todos los nodos (no necesita ser signal porque no cambia tras la carga inicial)
|
|
1762
1763
|
allNodes = [];
|
|
1763
|
-
|
|
1764
|
+
// Signal computada: Se actualiza sola cuando cambia searchTerm o allNodes es asignado
|
|
1765
|
+
filteredNodes = computed(() => {
|
|
1766
|
+
const term = this.searchTerm().toLowerCase();
|
|
1767
|
+
if (!term)
|
|
1768
|
+
return this.allNodes;
|
|
1769
|
+
return this.allNodes.filter(node => String(node.data[this.displayField]).toLowerCase().includes(term));
|
|
1770
|
+
});
|
|
1764
1771
|
get displayField() {
|
|
1765
1772
|
return this.options.displayField || 'name';
|
|
1766
1773
|
}
|
|
1767
1774
|
toggleDropdown() {
|
|
1768
1775
|
this.isDropdownOpen.update(v => !v);
|
|
1769
1776
|
if (this.isDropdownOpen()) {
|
|
1770
|
-
this.searchTerm
|
|
1771
|
-
this.filterNodes();
|
|
1777
|
+
this.searchTerm.set(''); // Reseteamos el término al abrir
|
|
1772
1778
|
}
|
|
1773
1779
|
}
|
|
1774
1780
|
closeDropdown() {
|
|
1775
1781
|
this.isDropdownOpen.set(false);
|
|
1776
1782
|
}
|
|
1777
|
-
filterNodes() {
|
|
1778
|
-
if (!this.searchTerm) {
|
|
1779
|
-
this.filteredNodes.set(this.allNodes);
|
|
1780
|
-
}
|
|
1781
|
-
else {
|
|
1782
|
-
const term = this.searchTerm.toLowerCase();
|
|
1783
|
-
this.filteredNodes.set(this.allNodes.filter(node => String(node.data[this.displayField]).toLowerCase().includes(term)));
|
|
1784
|
-
}
|
|
1785
|
-
}
|
|
1786
1783
|
selectNode(node) {
|
|
1787
1784
|
this.selectedNode.set(node);
|
|
1788
1785
|
this.isDropdownOpen.set(false);
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1786
|
+
if (this.treeRoot?.treeModel) {
|
|
1787
|
+
// Usamos el API de la librería para activar
|
|
1788
|
+
node.setActiveAndVisible();
|
|
1789
|
+
// O si prefieres: this.treeRoot.treeModel.activateNode(node);
|
|
1793
1790
|
}
|
|
1794
1791
|
}
|
|
1795
1792
|
onTreeInitialized(event) {
|
|
1796
1793
|
this.initialized.emit(event);
|
|
1797
|
-
//
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1794
|
+
// Mantenemos el setTimeout para evitar el error 'firstCreatePass'
|
|
1795
|
+
setTimeout(() => {
|
|
1796
|
+
if (event.treeModel) {
|
|
1797
|
+
this.allNodes = event.treeModel.getAllNodes();
|
|
1798
|
+
// Buscamos manualmente el nodo activo si existe
|
|
1799
|
+
const activeNode = this.allNodes.find(n => n.isActive);
|
|
1800
|
+
if (activeNode) {
|
|
1801
|
+
this.selectedNode.set(activeNode);
|
|
1802
|
+
}
|
|
1803
|
+
// Forzamos una actualización inicial de la lista filtrada
|
|
1804
|
+
// Al setear searchTerm de nuevo, disparas el computed
|
|
1805
|
+
this.searchTerm.set('');
|
|
1806
|
+
}
|
|
1807
|
+
});
|
|
1802
1808
|
}
|
|
1803
1809
|
onNodeActivated(event) {
|
|
1804
1810
|
this.activate.emit(event);
|
|
@@ -1814,7 +1820,7 @@ class ConceptoTreeComponent {
|
|
|
1814
1820
|
<div class="selected-option">
|
|
1815
1821
|
{{ selectedNode() ? selectedNode()?.data?.[displayField] : 'Buscar nodo...' }}
|
|
1816
1822
|
</div>
|
|
1817
|
-
<div class="arrow"
|
|
1823
|
+
<div class="arrow"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg></div>
|
|
1818
1824
|
</div>
|
|
1819
1825
|
|
|
1820
1826
|
<div class="backdrop" *ngIf="isDropdownOpen()" (click)="closeDropdown()"></div>
|
|
@@ -1823,8 +1829,8 @@ class ConceptoTreeComponent {
|
|
|
1823
1829
|
<div class="search-input-wrapper" (click)="$event.stopPropagation()">
|
|
1824
1830
|
<input
|
|
1825
1831
|
type="text"
|
|
1826
|
-
[
|
|
1827
|
-
(ngModelChange)="
|
|
1832
|
+
[ngModel]="searchTerm()"
|
|
1833
|
+
(ngModelChange)="searchTerm.set($event)"
|
|
1828
1834
|
placeholder="Buscar..."
|
|
1829
1835
|
class="search-input"
|
|
1830
1836
|
#searchInput
|
|
@@ -1862,7 +1868,7 @@ class ConceptoTreeComponent {
|
|
|
1862
1868
|
(treeEvent)="treeEvent.emit($event)"
|
|
1863
1869
|
></tree-root>
|
|
1864
1870
|
</div>
|
|
1865
|
-
`, isInline: true, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#
|
|
1871
|
+
`, isInline: true, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#e7e7e7;-webkit-user-select:none;user-select:none;transition:border-color .2s}.custom-select:hover{border-color:#888}.custom-select.open{border-color:#007bff;border-bottom-left-radius:0;border-bottom-right-radius:0}.backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:101;background:transparent}.dropdown-menu{position:absolute;top:100%;left:0;width:100%;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px #0000001a;margin-top:0;max-height:300px;overflow-y:auto;z-index:102}.search-input-wrapper{padding:8px;position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:103}.search-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;outline:none;background:#e7e7e7}.search-input:focus{border-color:#007bff}.options-list{max-height:250px;overflow-y:auto}.option-item{padding:8px 12px;cursor:pointer;transition:background-color .1s}.option-item:hover{background-color:#f5f5f5}.no-results{padding:12px;color:#888;font-style:italic;text-align:center}tree-root{flex:1;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TreeRootComponent, selector: "tree-root", inputs: ["nodes", "options"], outputs: ["initialized", "toggleExpanded", "activate", "deactivate", "select", "deselect", "focus", "blur", "moveNode", "loadChildren", "treeEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1866
1872
|
}
|
|
1867
1873
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConceptoTreeComponent, decorators: [{
|
|
1868
1874
|
type: Component,
|
|
@@ -1873,7 +1879,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1873
1879
|
<div class="selected-option">
|
|
1874
1880
|
{{ selectedNode() ? selectedNode()?.data?.[displayField] : 'Buscar nodo...' }}
|
|
1875
1881
|
</div>
|
|
1876
|
-
<div class="arrow"
|
|
1882
|
+
<div class="arrow"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg></div>
|
|
1877
1883
|
</div>
|
|
1878
1884
|
|
|
1879
1885
|
<div class="backdrop" *ngIf="isDropdownOpen()" (click)="closeDropdown()"></div>
|
|
@@ -1882,8 +1888,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1882
1888
|
<div class="search-input-wrapper" (click)="$event.stopPropagation()">
|
|
1883
1889
|
<input
|
|
1884
1890
|
type="text"
|
|
1885
|
-
[
|
|
1886
|
-
(ngModelChange)="
|
|
1891
|
+
[ngModel]="searchTerm()"
|
|
1892
|
+
(ngModelChange)="searchTerm.set($event)"
|
|
1887
1893
|
placeholder="Buscar..."
|
|
1888
1894
|
class="search-input"
|
|
1889
1895
|
#searchInput
|
|
@@ -1921,7 +1927,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1921
1927
|
(treeEvent)="treeEvent.emit($event)"
|
|
1922
1928
|
></tree-root>
|
|
1923
1929
|
</div>
|
|
1924
|
-
`, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#
|
|
1930
|
+
`, styles: [".concepto-tree-container{display:flex;flex-direction:column;height:100%;gap:10px}.search-bar-container{position:relative;width:100%;z-index:100}.custom-select{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#e7e7e7;-webkit-user-select:none;user-select:none;transition:border-color .2s}.custom-select:hover{border-color:#888}.custom-select.open{border-color:#007bff;border-bottom-left-radius:0;border-bottom-right-radius:0}.backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:101;background:transparent}.dropdown-menu{position:absolute;top:100%;left:0;width:100%;background:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 4px 6px #0000001a;margin-top:0;max-height:300px;overflow-y:auto;z-index:102}.search-input-wrapper{padding:8px;position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:103}.search-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;outline:none;background:#e7e7e7}.search-input:focus{border-color:#007bff}.options-list{max-height:250px;overflow-y:auto}.option-item{padding:8px 12px;cursor:pointer;transition:background-color .1s}.option-item:hover{background-color:#f5f5f5}.no-results{padding:12px;color:#888;font-style:italic;text-align:center}tree-root{flex:1;overflow:hidden}\n"] }]
|
|
1925
1931
|
}], propDecorators: { nodes: [{
|
|
1926
1932
|
type: Input
|
|
1927
1933
|
}], options: [{
|
|
@@ -2300,5 +2306,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2300
2306
|
* Generated bundle index. Do not edit.
|
|
2301
2307
|
*/
|
|
2302
2308
|
|
|
2303
|
-
export { ConceptoContextMenuComponent, ConceptoInputComponent, ConceptoMessageComponent, ConceptoTreeComponent, ConceptoUserControls, ConceptoUserControlsService, EntityComparisonComponent, EntityComparisonService };
|
|
2309
|
+
export { ConceptoContextMenuComponent, ConceptoInputComponent, ConceptoMessageComponent, ConceptoTreeComponent, ConceptoUserControls, ConceptoUserControlsService, DEFAULT_TREE_OPTIONS, EntityComparisonComponent, EntityComparisonService, TreeModel, TreeNode };
|
|
2304
2310
|
//# sourceMappingURL=concepto-user-controls.mjs.map
|