@thecodeblogs/blog 0.15.4 → 0.15.5
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/esm2020/lib/components/side-navigation/side-navigation.component.mjs +35 -27
- package/esm2020/lib/core.module.mjs +5 -1
- package/fesm2015/thecodeblogs-blog.mjs +38 -26
- package/fesm2015/thecodeblogs-blog.mjs.map +1 -1
- package/fesm2020/thecodeblogs-blog.mjs +38 -26
- package/fesm2020/thecodeblogs-blog.mjs.map +1 -1
- package/lib/components/side-navigation/side-navigation.component.d.ts +7 -2
- package/lib/core.module.d.ts +5 -4
- package/package.json +1 -1
|
@@ -14,6 +14,7 @@ import * as i5 from "@angular/forms";
|
|
|
14
14
|
import * as i6 from "@angular/material/input";
|
|
15
15
|
import * as i7 from "@angular/material/form-field";
|
|
16
16
|
import * as i8 from "@angular/material/list";
|
|
17
|
+
import * as i9 from "@angular/material/progress-spinner";
|
|
17
18
|
export class SideNavigationComponent {
|
|
18
19
|
constructor(entryService, router, identityService, renderer) {
|
|
19
20
|
this.entryService = entryService;
|
|
@@ -21,6 +22,9 @@ export class SideNavigationComponent {
|
|
|
21
22
|
this.identityService = identityService;
|
|
22
23
|
this.renderer = renderer;
|
|
23
24
|
this.state = 'out';
|
|
25
|
+
this.response = null;
|
|
26
|
+
this.debounceTimeout = 200;
|
|
27
|
+
this.loading = true;
|
|
24
28
|
this.entries = [];
|
|
25
29
|
this.entriesByMonthAndYear = [];
|
|
26
30
|
this.searchTerm = "";
|
|
@@ -28,7 +32,7 @@ export class SideNavigationComponent {
|
|
|
28
32
|
this.searchControl = new FormControl('');
|
|
29
33
|
}
|
|
30
34
|
ngOnInit() {
|
|
31
|
-
this.doSearch.pipe(debounceTime(
|
|
35
|
+
this.doSearch.pipe(debounceTime(this.debounceTimeout)).subscribe((result) => {
|
|
32
36
|
this.searchEntries(result);
|
|
33
37
|
});
|
|
34
38
|
this.identityService.getMe().subscribe((identity) => {
|
|
@@ -38,23 +42,27 @@ export class SideNavigationComponent {
|
|
|
38
42
|
});
|
|
39
43
|
this.getEntries();
|
|
40
44
|
}
|
|
41
|
-
|
|
45
|
+
getMore() {
|
|
46
|
+
this.getEntriesWithUrl(this.response.next, false);
|
|
47
|
+
}
|
|
48
|
+
getEntriesWithUrl(url, wipe = true) {
|
|
49
|
+
this.loading = true;
|
|
42
50
|
this.entryService.getListByUrl(url).subscribe((response) => {
|
|
51
|
+
this.response = response;
|
|
43
52
|
this.entries = this.entries.concat(map(response.results, (result) => {
|
|
44
53
|
return { id: result.id, entry: new Entry(result) };
|
|
45
54
|
}));
|
|
46
|
-
|
|
47
|
-
this.getEntriesWithUrl(response.next);
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this.organizeEntries();
|
|
51
|
-
}
|
|
55
|
+
this.organizeEntries(wipe);
|
|
52
56
|
});
|
|
53
57
|
}
|
|
54
|
-
organizeEntries() {
|
|
55
|
-
|
|
58
|
+
organizeEntries(wipe = true) {
|
|
59
|
+
if (wipe) {
|
|
60
|
+
this.state = 'out';
|
|
61
|
+
}
|
|
56
62
|
let organizeEntriesFn = () => {
|
|
57
|
-
|
|
63
|
+
if (wipe) {
|
|
64
|
+
this.entriesByMonthAndYear = [];
|
|
65
|
+
}
|
|
58
66
|
let newEntries = JSON.parse(JSON.stringify(this.entriesByMonthAndYear));
|
|
59
67
|
for (const entryWrapper of this.entries) {
|
|
60
68
|
const entry = entryWrapper.entry;
|
|
@@ -82,37 +90,37 @@ export class SideNavigationComponent {
|
|
|
82
90
|
newEntries.reverse();
|
|
83
91
|
let setEntriesFn = () => {
|
|
84
92
|
this.entriesByMonthAndYear = newEntries;
|
|
85
|
-
this.
|
|
93
|
+
this.loading = false;
|
|
94
|
+
if (wipe) {
|
|
95
|
+
this.state = 'in';
|
|
96
|
+
}
|
|
86
97
|
};
|
|
87
98
|
setTimeout(setEntriesFn.bind(this), 400);
|
|
88
99
|
};
|
|
89
100
|
setTimeout(organizeEntriesFn.bind(this), 400);
|
|
90
101
|
}
|
|
91
102
|
getEntries() {
|
|
103
|
+
this.loading = true;
|
|
92
104
|
this.entryService.get().subscribe((response) => {
|
|
105
|
+
this.response = response;
|
|
93
106
|
this.entries = map(response.results, (result) => {
|
|
94
107
|
return { id: result.id, entry: new Entry(result) };
|
|
95
108
|
});
|
|
96
|
-
|
|
97
|
-
this.getEntriesWithUrl(response.next);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this.organizeEntries();
|
|
101
|
-
}
|
|
109
|
+
this.organizeEntries();
|
|
102
110
|
});
|
|
103
111
|
}
|
|
104
112
|
searchEntries(searchTerm) {
|
|
113
|
+
let turnOnLoading = () => {
|
|
114
|
+
this.loading = true;
|
|
115
|
+
};
|
|
116
|
+
setTimeout(turnOnLoading.bind(this), this.debounceTimeout + 100);
|
|
105
117
|
if (searchTerm !== "") {
|
|
106
118
|
this.entryService.search(searchTerm).subscribe((response) => {
|
|
119
|
+
this.response = response;
|
|
107
120
|
this.entries = map(response.results, (result) => {
|
|
108
121
|
return { id: result.id, entry: new Entry(result) };
|
|
109
122
|
});
|
|
110
|
-
|
|
111
|
-
this.getEntriesWithUrl(response.next);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
this.organizeEntries();
|
|
115
|
-
}
|
|
123
|
+
this.organizeEntries();
|
|
116
124
|
});
|
|
117
125
|
}
|
|
118
126
|
else {
|
|
@@ -189,7 +197,7 @@ export class SideNavigationComponent {
|
|
|
189
197
|
}
|
|
190
198
|
}
|
|
191
199
|
SideNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SideNavigationComponent, deps: [{ token: i1.EntryService }, { token: i2.Router }, { token: i3.IdentityService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
-
SideNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SideNavigationComponent, selector: "app-side-navigation", viewQueries: [{ propertyName: "divNav", first: true, predicate: ["navcontainer"], descendants: true }], ngImport: i0, template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n </div>\n
|
|
200
|
+
SideNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SideNavigationComponent, selector: "app-side-navigation", viewQueries: [{ propertyName: "divNav", first: true, predicate: ["navcontainer"], descendants: true }], ngImport: i0, template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div\n class=\"progress\"\n [hidden]=\"!loading\"\n >\n <mat-progress-spinner\n style=\"margin-left: 16px;\"\n [diameter]=20\n mode=\"indeterminate\"\n >\n </mat-progress-spinner>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n <a\n class=\"sidelink\"\n *ngIf=\"this?.response?.next && !loading\"\n (click)=\"getMore()\"\n href=\"javascript:void(0);\">More...</a>\n </div>\n <ng-container *ngIf=\"identity?.id === 1\">\n <h2>Misc</h2>\n\n <mat-nav-list>\n <a mat-list-item href=\"javascript:void(0);\" (click)=\"routeTo(null)\">Create</a>\n </mat-nav-list>\n </ng-container>\n <h3 *ngIf=\"identity\">Logged in as {{identity?.email}}</h3>\n</div>\n\n", styles: [".progress{position:absolute;top:100px;left:0}.sidelink{padding-left:16px}.sidenav{position:relative;max-height:calc(100vh - 100px)}@media screen and (max-height: 560px){.sidenav{max-height:100vh}}h2,h3{margin-left:10px;justify-content:right}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "component", type: i8.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], animations: [
|
|
193
201
|
trigger('sideNavAnimation', [
|
|
194
202
|
state('in', style({ transform: 'translateX(0%)' })),
|
|
195
203
|
state('out', style({ transform: 'translateX(110%)' })),
|
|
@@ -214,9 +222,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
214
222
|
animate('100ms ease-in', style({ transform: 'translateX(0%)' }))
|
|
215
223
|
])
|
|
216
224
|
]),
|
|
217
|
-
], template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n </div>\n
|
|
225
|
+
], template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div\n class=\"progress\"\n [hidden]=\"!loading\"\n >\n <mat-progress-spinner\n style=\"margin-left: 16px;\"\n [diameter]=20\n mode=\"indeterminate\"\n >\n </mat-progress-spinner>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n <a\n class=\"sidelink\"\n *ngIf=\"this?.response?.next && !loading\"\n (click)=\"getMore()\"\n href=\"javascript:void(0);\">More...</a>\n </div>\n <ng-container *ngIf=\"identity?.id === 1\">\n <h2>Misc</h2>\n\n <mat-nav-list>\n <a mat-list-item href=\"javascript:void(0);\" (click)=\"routeTo(null)\">Create</a>\n </mat-nav-list>\n </ng-container>\n <h3 *ngIf=\"identity\">Logged in as {{identity?.email}}</h3>\n</div>\n\n", styles: [".progress{position:absolute;top:100px;left:0}.sidelink{padding-left:16px}.sidenav{position:relative;max-height:calc(100vh - 100px)}@media screen and (max-height: 560px){.sidenav{max-height:100vh}}h2,h3{margin-left:10px;justify-content:right}\n"] }]
|
|
218
226
|
}], ctorParameters: function () { return [{ type: i1.EntryService }, { type: i2.Router }, { type: i3.IdentityService }, { type: i0.Renderer2 }]; }, propDecorators: { divNav: [{
|
|
219
227
|
type: ViewChild,
|
|
220
228
|
args: ['navcontainer', { static: false }]
|
|
221
229
|
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NpZGUtbmF2aWdhdGlvbi9zaWRlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXZpZ2F0aW9uL3NpZGUtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBeUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUMzQixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7O0FBdUJ2QyxNQUFNLE9BQU8sdUJBQXVCO0lBZ0JsQyxZQUNVLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxlQUFnQyxFQUNoQyxRQUFtQjtRQUhuQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFsQjdCLFVBQUssR0FBaUIsS0FBSyxDQUFDO1FBSzVCLFlBQU8sR0FBaUMsRUFBRSxDQUFD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YUFDbEUsQ0FBQztZQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQzthQUMvRCxDQUFDO1NBQ0gsQ0FBQztLQUNIOzJGQUVVLHVCQUF1QjtrQkFqQm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CO3dCQUNWLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTs0QkFDMUIsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDOzRCQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7NEJBQ3BELFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDOzZCQUNsRSxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQzs2QkFDL0QsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhLQWdCNkMsTUFBTTtzQkFBbkQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHN0eWxlLCBhbmltYXRlLCB0cmFuc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge21hcH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7RW50cnl9IGZyb20gJy4uLy4uL2RhdGEvZW50cnknO1xuaW1wb3J0IHtJZGVudGl0eX0gZnJvbSAnLi4vLi4vZGF0YS9pZGVudGl0eSc7XG5cbmltcG9ydCB7RW50cnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7SWRlbnRpdHlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pZGVudGl0eS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNpZGUtbmF2aWdhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NpZGVOYXZBbmltYXRpb24nLCBbXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknfSkpLFxuICAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDExMCUpJ30pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2luID0+IG91dCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMTAlKSd9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignb3V0ID0+IGluJywgW1xuICAgICAgICBhbmltYXRlKCcxMDBtcyBlYXNlLWluJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJ30pKVxuICAgICAgXSlcbiAgICBdKSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBzdGF0ZTogJ2luJyB8ICdvdXQnID0gJ291dCc7XG5cbiAgc291cmNlU3ViO1xuICBpZGVudGl0eTogSWRlbnRpdHk7XG5cbiAgZW50cmllczoge2lkOiBzdHJpbmcsIGVudHJ5OiBFbnRyeX1bXSA9IFtdO1xuICBlbnRyaWVzQnlNb250aEFuZFllYXI6IHttb250aF95ZWFyOiBzdHJpbmcsIG1vbnRoX3llYXJfbnVtYmVyOiBudW1iZXIsIGVudHJpZXM6IEVudHJ5W119W10gPSBbXTtcblxuICBzZWFyY2hUZXJtID0gXCJcIjtcblxuICBkb1NlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnbmF2Y29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGRpdk5hdjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVudHJ5U2VydmljZTogRW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBpZGVudGl0eVNlcnZpY2U6IElkZW50aXR5U2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmRvU2VhcmNoLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEVudHJpZXMocmVzdWx0KTtcbiAgICB9KTtcblxuICAgIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldE1lKCkuc3Vic2NyaWJlKChpZGVudGl0eSkgPT4ge1xuICAgICAgdGhpcy5pZGVudGl0eSA9IGlkZW50aXR5O1xuICAgIH0sIChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5pZGVudGl0eSA9IG51bGw7XG4gICAgICB9KTtcblxuICAgIHRoaXMuZ2V0RW50cmllcygpO1xuXG4gIH1cblxuICBnZXRFbnRyaWVzV2l0aFVybCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMuZW50cnlTZXJ2aWNlLmdldExpc3RCeVVybCh1cmwpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuZW50cmllcyA9IHRoaXMuZW50cmllcy5jb25jYXQoXG4gICAgICAgIG1hcCgocmVzcG9uc2UgYXMgYW55KS5yZXN1bHRzLCAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlc3VsdC5pZCwgZW50cnk6IG5ldyBFbnRyeShyZXN1bHQpfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICBpZiAoKHJlc3BvbnNlIGFzIGFueSkubmV4dCkge1xuICAgICAgICB0aGlzLmdldEVudHJpZXNXaXRoVXJsKHJlc3BvbnNlLm5leHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vcmdhbml6ZUVudHJpZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9yZ2FuaXplRW50cmllcygpIHtcbiAgICB0aGlzLnN0YXRlID0gJ291dCc7XG4gICAgbGV0IG9yZ2FuaXplRW50cmllc0ZuID0gKCkgPT4ge1xuICAgICAgdGhpcy5lbnRyaWVzQnlNb250aEFuZFllYXIgPSBbXTtcbiAgICAgIGxldCBuZXdFbnRyaWVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmVudHJpZXNCeU1vbnRoQW5kWWVhcikpO1xuICAgICAgZm9yIChjb25zdCBlbnRyeVdyYXBwZXIgb2YgdGhpcy5lbnRyaWVzKSB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cnlXcmFwcGVyLmVudHJ5O1xuICAgICAgICBjb25zdCBjcmVhdGVfZGF0ZSA9IG5ldyBEYXRlKGVudHJ5LmNyZWF0ZV9kYXRlKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBjcmVhdGVfZGF0ZS5nZXRNb250aCgpO1xuICAgICAgICBjb25zdCB5ZWFyID0gY3JlYXRlX2RhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgY29uc3Qga2V5ID0gbW9udGggKyAnLycgKyB5ZWFyO1xuICAgICAgICBjb25zdCBzb3J0X2luZGV4ID0gKHllYXIgKiAxMDApICsgbW9udGg7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcnMgPSBmaWx0ZXIobmV3RW50cmllcywgKGVudHJ5Q29udGFpbmVyKSA9PiBlbnRyeUNvbnRhaW5lci5tb250aF95ZWFyID09PSBrZXkpO1xuICAgICAgICBpZiAoY29udGFpbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyc1swXTtcbiAgICAgICAgICBjb25zdCBlbnRyaWVzV2l0aElkID0gZmlsdGVyKGNvbnRhaW5lci5lbnRyaWVzLCAoZSkgPT4gZS5pZCA9PT0gZW50cnlXcmFwcGVyLmVudHJ5LmlkKTtcbiAgICAgICAgICBpZiAoZW50cmllc1dpdGhJZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnRhaW5lci5lbnRyaWVzLnB1c2goZW50cnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBuZXdDb250YWluZXIgPSB7bW9udGhfeWVhcjoga2V5LCBtb250aF95ZWFyX251bWJlcjogc29ydF9pbmRleCwgZW50cmllczogW2VudHJ5XX07XG4gICAgICAgICAgbmV3RW50cmllcy5wdXNoKG5ld0NvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG5ld0VudHJpZXMuc29ydChcbiAgICAgICAgKGVudHJ5X2EsIGVudHJ5X2IpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW50cnlfYS5tb250aF95ZWFyX251bWJlciAtIGVudHJ5X2IubW9udGhfeWVhcl9udW1iZXI7XG4gICAgICAgIH0pO1xuICAgICAgbmV3RW50cmllcy5yZXZlcnNlKCk7XG5cbiAgICAgIGxldCBzZXRFbnRyaWVzRm4gPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZW50cmllc0J5TW9udGhBbmRZZWFyID0gbmV3RW50cmllcztcbiAgICAgICAgdGhpcy5zdGF0ZSA9ICdpbic7XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KHNldEVudHJpZXNGbi5iaW5kKHRoaXMpLCA0MDApXG4gICAgfVxuICAgIHNldFRpbWVvdXQob3JnYW5pemVFbnRyaWVzRm4uYmluZCh0aGlzKSwgNDAwKVxuICB9XG5cbiAgZ2V0RW50cmllcygpIHtcbiAgICB0aGlzLmVudHJ5U2VydmljZS5nZXQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmVudHJpZXMgPSBtYXAocmVzcG9uc2UucmVzdWx0cywgKHJlc3VsdCkgPT4ge1xuICAgICAgICByZXR1cm4geyBpZDogcmVzdWx0LmlkLCBlbnRyeTogbmV3IEVudHJ5KHJlc3VsdCl9O1xuICAgICAgfSk7XG4gICAgICBpZiAoKHJlc3BvbnNlIGFzIGFueSkubmV4dCkge1xuICAgICAgICB0aGlzLmdldEVudHJpZXNXaXRoVXJsKHJlc3BvbnNlLm5leHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vcmdhbml6ZUVudHJpZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNlYXJjaEVudHJpZXMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgaWYgKHNlYXJjaFRlcm0gIT09IFwiXCIpIHtcbiAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLnNlYXJjaChzZWFyY2hUZXJtKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZW50cmllcyA9IG1hcChyZXNwb25zZS5yZXN1bHRzLCAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlc3VsdC5pZCwgZW50cnk6IG5ldyBFbnRyeShyZXN1bHQpfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICgocmVzcG9uc2UgYXMgYW55KS5uZXh0KSB7XG4gICAgICAgICAgdGhpcy5nZXRFbnRyaWVzV2l0aFVybChyZXNwb25zZS5uZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9yZ2FuaXplRW50cmllcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZXRFbnRyaWVzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICB9XG5cbiAgcm91dGVUbyhlbnRyeSkge1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJ2NyZWF0ZShsZWZ0LWNvbDpjcmVhdGUvL3JpZ2h0LWNvbDpjcmVhdGUpJykudGhlbigoKSA9PiB7XG5cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nLCAnYmxvZycsIGVudHJ5LnNsdWddKS50aGVuKCgpID0+IHtcbiAgICAgICAgLy8gTm9vcFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TW9udGhBbmRZZWFyRnJvbUtleShrZXk6IHN0cmluZykge1xuICAgIGxldCBzdWJoZWFkaW5nID0gJyc7XG4gICAgY29uc3QgcGFydHMgPSBrZXkuc3BsaXQoJy8nKTtcblxuICAgIHN3aXRjaCAoTnVtYmVyKHBhcnRzWzBdKSkge1xuICAgICAgY2FzZSAwOlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdKYW51YXJ5ICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxOlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdGZWJydWFyeSAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnTWFyY2ggJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0FwcmlsICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA0OlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdNYXkgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDU6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0p1bmUgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDY6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0p1bHkgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDc6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0F1Z3VzdCAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgODpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnU2VwdGVtYmVyICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA5OlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdPY3RvYmVyICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxMDpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnTm92ZW1iZXIgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDExOlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdEZWNlbWJlciAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0phbnVhcnkgJztcbiAgICB9XG4gICAgc3ViaGVhZGluZyArPSBwYXJ0c1sxXTtcblxuICAgIHJldHVybiBzdWJoZWFkaW5nO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc291cmNlU3ViKSB7XG4gICAgICB0aGlzLnNvdXJjZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5zb3VyY2VTdWIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gIG9uU2VhcmNoQ2hhbmdlKHNlYXJjaFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvU2VhcmNoLmVtaXQoc2VhcmNoVmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2lkZW5hdiBuby1zY3JvbGxiYXJcIj5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDIwcHg7XCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICAgIDxtYXQtbGFiZWw+U2VhcmNoPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAjbmF2Y29udGFpbmVyIGNsYXNzPVwibmF2Y29udGFpbmVyXCJcbiAgICBbQHNpZGVOYXZBbmltYXRpb25dPVwic3RhdGVcIlxuICA+XG4gICAgPG1hdC1uYXYtbGlzdFxuICAgICAgKm5nRm9yPVwibGV0IGNvbnRhaW5lciBvZiBlbnRyaWVzQnlNb250aEFuZFllYXJcIlxuICAgID5cbiAgICAgIDxoMz57e2dldE1vbnRoQW5kWWVhckZyb21LZXkoY29udGFpbmVyLm1vbnRoX3llYXIpfX08L2gzPlxuICAgICAgPGEgbWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgZW50cnkgb2YgY29udGFpbmVyLmVudHJpZXNcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInJvdXRlVG8oZW50cnkpXCI+e3tlbnRyeS50aXRsZX19PC9hPlxuICAgIDwvbWF0LW5hdi1saXN0PlxuXG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpZGVudGl0eT8uaWQgPT09IDFcIj5cbiAgICA8aDI+TWlzYzwvaDI+XG5cbiAgICA8bWF0LW5hdi1saXN0PlxuICAgICAgPGEgbWF0LWxpc3QtaXRlbSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIChjbGljayk9XCJyb3V0ZVRvKG51bGwpXCI+Q3JlYXRlPC9hPlxuICAgIDwvbWF0LW5hdi1saXN0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGgzICpuZ0lmPVwiaWRlbnRpdHlcIj5Mb2dnZWQgaW4gYXMge3tpZGVudGl0eT8uZW1haWx9fTwvaDM+XG48L2Rpdj5cblxuIl19
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NpZGUtbmF2aWdhdGlvbi9zaWRlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXZpZ2F0aW9uL3NpZGUtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBeUMsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUMzQixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7OztBQXdCdkMsTUFBTSxPQUFPLHVCQUF1QjtJQW9CbEMsWUFDVSxZQUEwQixFQUMxQixNQUFjLEVBQ2QsZUFBZ0MsRUFDaEMsUUFBbUI7UUFIbkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdEI3QixVQUFLLEdBQWlCLEtBQUssQ0FBQztRQUs1QixhQUFRLEdBQXdCLElBQUksQ0FBQztRQUNyQyxvQkFBZSxHQUFHLEdBQUcsQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRWYsWUFBTyxHQUFpQyxFQUFFLENBQUM7UUFDM0MsMEJBQXFCLEdBQXdFLEVBQUUsQ0FBQztRQUVoRyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLGFBQVEsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWdNcEQsa0JBQWEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQXRMcEMsQ0FBQztJQUVELFFBQVE7UUFFTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDMUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDM0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVwQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsR0FBVyxFQUFFLElBQUksR0FBRyxJQUFJO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ2hDLEdBQUcsQ0FBRSxRQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUN4QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQUksR0FBRyxJQUFJO1FBQ3pCLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDcEI7UUFDRCxJQUFJLGlCQUFpQixHQUFHLEdBQUcsRUFBRTtZQUMzQixJQUFHLElBQUksRUFBRTtnQkFDUCxJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO2FBQ2pDO1lBQ0QsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7WUFDeEUsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO2dCQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztnQkFDL0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUN4QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUM3RixJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUN6QixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3ZGLElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7d0JBQzlCLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMvQjtpQkFDRjtxQkFBTTtvQkFDTCxNQUFNLFlBQVksR0FBRyxFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUM7b0JBQ3hGLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQy9CO2FBQ0Y7WUFDRCxVQUFVLENBQUMsSUFBSSxDQUNiLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUNuQixPQUFPLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUM7WUFDTCxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFckIsSUFBSSxZQUFZLEdBQUcsR0FBRyxFQUFFO2dCQUN0QixJQUFJLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxJQUFJLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7aUJBQ25CO1lBQ0gsQ0FBQyxDQUFBO1lBQ0QsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDMUMsQ0FBQyxDQUFBO1FBQ0QsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM5QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCO1FBRTlCLElBQUksYUFBYSxHQUFHLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDLENBQUE7UUFDRCxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksVUFBVSxLQUFLLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDMUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDOUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDO2dCQUNwRCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELE1BQU07SUFDTixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsMkNBQTJDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBRWpGLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN4RCxPQUFPO1lBQ1QsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxHQUFXO1FBQ2hDLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTdCLFFBQVEsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLEtBQUssQ0FBQztnQkFDSixVQUFVLElBQUksVUFBVSxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLFVBQVUsSUFBSSxXQUFXLENBQUM7Z0JBQzFCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osVUFBVSxJQUFJLFFBQVEsQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixVQUFVLElBQUksUUFBUSxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLFVBQVUsSUFBSSxNQUFNLENBQUM7Z0JBQ3JCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osVUFBVSxJQUFJLE9BQU8sQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixVQUFVLElBQUksT0FBTyxDQUFDO2dCQUN0QixNQUFNO1lBQ1IsS0FBSyxDQUFDO2dCQUNKLFVBQVUsSUFBSSxTQUFTLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLENBQUM7Z0JBQ0osVUFBVSxJQUFJLFlBQVksQ0FBQztnQkFDM0IsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixVQUFVLElBQUksVUFBVSxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxFQUFFO2dCQUNMLFVBQVUsSUFBSSxXQUFXLENBQUM7Z0JBQzFCLE1BQU07WUFDUixLQUFLLEVBQUU7Z0JBQ0wsVUFBVSxJQUFJLFdBQVcsQ0FBQztnQkFDMUIsTUFBTTtZQUNSO2dCQUNFLFVBQVUsSUFBSSxVQUFVLENBQUM7U0FDNUI7UUFDRCxVQUFVLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBSUQsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O29IQXBOVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixtS0NoQ3BDLGsyQ0E4Q0EsMGtFRDNCYztRQUNWLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7WUFDakQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO1lBQ3BELFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO2FBQ2xFLENBQUM7WUFDRixVQUFVLENBQUMsV0FBVyxFQUFFO2dCQUN0QixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7YUFDL0QsQ0FBQztTQUNILENBQUM7S0FDSDsyRkFFVSx1QkFBdUI7a0JBakJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUduQjt3QkFDVixPQUFPLENBQUMsa0JBQWtCLEVBQUU7NEJBQzFCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQzs0QkFDakQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDOzRCQUNwRCxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFDLENBQUMsQ0FBQzs2QkFDbEUsQ0FBQzs0QkFDRixVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7NkJBQy9ELENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs4S0FvQjZDLE1BQU07c0JBQW5ELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgUmVuZGVyZXIyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgYW5pbWF0ZSwgdHJhbnNpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHttYXB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0VudHJ5fSBmcm9tICcuLi8uLi9kYXRhL2VudHJ5JztcbmltcG9ydCB7SWRlbnRpdHl9IGZyb20gJy4uLy4uL2RhdGEvaWRlbnRpdHknO1xuaW1wb3J0IHtMaXN0UmVzcG9uc2V9IGZyb20gJy4uLy4uL2RhdGEvbGlzdC1yZXNwb25zZSc7XG5cbmltcG9ydCB7RW50cnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7SWRlbnRpdHlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pZGVudGl0eS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNpZGUtbmF2aWdhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWRlLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NpZGVOYXZBbmltYXRpb24nLCBbXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknfSkpLFxuICAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDExMCUpJ30pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2luID0+IG91dCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMTAlKSd9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignb3V0ID0+IGluJywgW1xuICAgICAgICBhbmltYXRlKCcxMDBtcyBlYXNlLWluJywgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJ30pKVxuICAgICAgXSlcbiAgICBdKSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaWRlTmF2aWdhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBzdGF0ZTogJ2luJyB8ICdvdXQnID0gJ291dCc7XG5cbiAgc291cmNlU3ViO1xuICBpZGVudGl0eTogSWRlbnRpdHk7XG5cbiAgcmVzcG9uc2U6IExpc3RSZXNwb25zZTxFbnRyeT4gPSBudWxsO1xuICBkZWJvdW5jZVRpbWVvdXQgPSAyMDA7XG4gIGxvYWRpbmcgPSB0cnVlO1xuXG4gIGVudHJpZXM6IHtpZDogc3RyaW5nLCBlbnRyeTogRW50cnl9W10gPSBbXTtcbiAgZW50cmllc0J5TW9udGhBbmRZZWFyOiB7bW9udGhfeWVhcjogc3RyaW5nLCBtb250aF95ZWFyX251bWJlcjogbnVtYmVyLCBlbnRyaWVzOiBFbnRyeVtdfVtdID0gW107XG5cbiAgc2VhcmNoVGVybSA9IFwiXCI7XG5cbiAgZG9TZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ25hdmNvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBkaXZOYXY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbnRyeVNlcnZpY2U6IEVudHJ5U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgaWRlbnRpdHlTZXJ2aWNlOiBJZGVudGl0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICApIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5kb1NlYXJjaC5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZW91dCkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEVudHJpZXMocmVzdWx0KTtcbiAgICB9KTtcblxuICAgIHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmdldE1lKCkuc3Vic2NyaWJlKChpZGVudGl0eSkgPT4ge1xuICAgICAgdGhpcy5pZGVudGl0eSA9IGlkZW50aXR5O1xuICAgIH0sIChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5pZGVudGl0eSA9IG51bGw7XG4gICAgICB9KTtcblxuICAgIHRoaXMuZ2V0RW50cmllcygpO1xuXG4gIH1cblxuICBnZXRNb3JlKCkge1xuICAgIHRoaXMuZ2V0RW50cmllc1dpdGhVcmwodGhpcy5yZXNwb25zZS5uZXh0LCBmYWxzZSk7XG4gIH1cblxuICBnZXRFbnRyaWVzV2l0aFVybCh1cmw6IHN0cmluZywgd2lwZSA9IHRydWUpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZW50cnlTZXJ2aWNlLmdldExpc3RCeVVybCh1cmwpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICAgIHRoaXMuZW50cmllcyA9IHRoaXMuZW50cmllcy5jb25jYXQoXG4gICAgICAgIG1hcCgocmVzcG9uc2UgYXMgYW55KS5yZXN1bHRzLCAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgaWQ6IHJlc3VsdC5pZCwgZW50cnk6IG5ldyBFbnRyeShyZXN1bHQpfTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLm9yZ2FuaXplRW50cmllcyh3aXBlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9yZ2FuaXplRW50cmllcyh3aXBlID0gdHJ1ZSkge1xuICAgIGlmICh3aXBlKSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ291dCc7XG4gICAgfVxuICAgIGxldCBvcmdhbml6ZUVudHJpZXNGbiA9ICgpID0+IHtcbiAgICAgIGlmKHdpcGUpIHtcbiAgICAgICAgdGhpcy5lbnRyaWVzQnlNb250aEFuZFllYXIgPSBbXTtcbiAgICAgIH1cbiAgICAgIGxldCBuZXdFbnRyaWVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmVudHJpZXNCeU1vbnRoQW5kWWVhcikpO1xuICAgICAgZm9yIChjb25zdCBlbnRyeVdyYXBwZXIgb2YgdGhpcy5lbnRyaWVzKSB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cnlXcmFwcGVyLmVudHJ5O1xuICAgICAgICBjb25zdCBjcmVhdGVfZGF0ZSA9IG5ldyBEYXRlKGVudHJ5LmNyZWF0ZV9kYXRlKTtcbiAgICAgICAgY29uc3QgbW9udGggPSBjcmVhdGVfZGF0ZS5nZXRNb250aCgpO1xuICAgICAgICBjb25zdCB5ZWFyID0gY3JlYXRlX2RhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgY29uc3Qga2V5ID0gbW9udGggKyAnLycgKyB5ZWFyO1xuICAgICAgICBjb25zdCBzb3J0X2luZGV4ID0gKHllYXIgKiAxMDApICsgbW9udGg7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcnMgPSBmaWx0ZXIobmV3RW50cmllcywgKGVudHJ5Q29udGFpbmVyKSA9PiBlbnRyeUNvbnRhaW5lci5tb250aF95ZWFyID09PSBrZXkpO1xuICAgICAgICBpZiAoY29udGFpbmVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyc1swXTtcbiAgICAgICAgICBjb25zdCBlbnRyaWVzV2l0aElkID0gZmlsdGVyKGNvbnRhaW5lci5lbnRyaWVzLCAoZSkgPT4gZS5pZCA9PT0gZW50cnlXcmFwcGVyLmVudHJ5LmlkKTtcbiAgICAgICAgICBpZiAoZW50cmllc1dpdGhJZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnRhaW5lci5lbnRyaWVzLnB1c2goZW50cnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBuZXdDb250YWluZXIgPSB7bW9udGhfeWVhcjoga2V5LCBtb250aF95ZWFyX251bWJlcjogc29ydF9pbmRleCwgZW50cmllczogW2VudHJ5XX07XG4gICAgICAgICAgbmV3RW50cmllcy5wdXNoKG5ld0NvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG5ld0VudHJpZXMuc29ydChcbiAgICAgICAgKGVudHJ5X2EsIGVudHJ5X2IpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW50cnlfYS5tb250aF95ZWFyX251bWJlciAtIGVudHJ5X2IubW9udGhfeWVhcl9udW1iZXI7XG4gICAgICAgIH0pO1xuICAgICAgbmV3RW50cmllcy5yZXZlcnNlKCk7XG5cbiAgICAgIGxldCBzZXRFbnRyaWVzRm4gPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZW50cmllc0J5TW9udGhBbmRZZWFyID0gbmV3RW50cmllcztcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGlmICh3aXBlKSB7XG4gICAgICAgICAgdGhpcy5zdGF0ZSA9ICdpbic7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoc2V0RW50cmllc0ZuLmJpbmQodGhpcyksIDQwMClcbiAgICB9XG4gICAgc2V0VGltZW91dChvcmdhbml6ZUVudHJpZXNGbi5iaW5kKHRoaXMpLCA0MDApXG4gIH1cblxuICBnZXRFbnRyaWVzKCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5lbnRyeVNlcnZpY2UuZ2V0KCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5yZXNwb25zZSA9IHJlc3BvbnNlO1xuICAgICAgdGhpcy5lbnRyaWVzID0gbWFwKHJlc3BvbnNlLnJlc3VsdHMsIChyZXN1bHQpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgaWQ6IHJlc3VsdC5pZCwgZW50cnk6IG5ldyBFbnRyeShyZXN1bHQpfTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vcmdhbml6ZUVudHJpZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNlYXJjaEVudHJpZXMoc2VhcmNoVGVybTogc3RyaW5nKSB7XG5cbiAgICBsZXQgdHVybk9uTG9hZGluZyA9ICgpID0+IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgfVxuICAgIHNldFRpbWVvdXQodHVybk9uTG9hZGluZy5iaW5kKHRoaXMpLCB0aGlzLmRlYm91bmNlVGltZW91dCArIDEwMCk7XG4gICAgaWYgKHNlYXJjaFRlcm0gIT09IFwiXCIpIHtcbiAgICAgIHRoaXMuZW50cnlTZXJ2aWNlLnNlYXJjaChzZWFyY2hUZXJtKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzID0gbWFwKHJlc3BvbnNlLnJlc3VsdHMsIChyZXN1bHQpID0+IHtcbiAgICAgICAgICByZXR1cm4geyBpZDogcmVzdWx0LmlkLCBlbnRyeTogbmV3IEVudHJ5KHJlc3VsdCl9O1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vcmdhbml6ZUVudHJpZXMoKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdldEVudHJpZXMoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gIH1cblxuICByb3V0ZVRvKGVudHJ5KSB7XG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnY3JlYXRlKGxlZnQtY29sOmNyZWF0ZS8vcmlnaHQtY29sOmNyZWF0ZSknKS50aGVuKCgpID0+IHtcblxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLycsICdibG9nJywgZW50cnkuc2x1Z10pLnRoZW4oKCkgPT4ge1xuICAgICAgICAvLyBOb29wXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRNb250aEFuZFllYXJGcm9tS2V5KGtleTogc3RyaW5nKSB7XG4gICAgbGV0IHN1YmhlYWRpbmcgPSAnJztcbiAgICBjb25zdCBwYXJ0cyA9IGtleS5zcGxpdCgnLycpO1xuXG4gICAgc3dpdGNoIChOdW1iZXIocGFydHNbMF0pKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0phbnVhcnkgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0ZlYnJ1YXJ5ICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdNYXJjaCAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnQXByaWwgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ01heSAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNTpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnSnVuZSAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNjpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnSnVseSAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNzpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnQXVndXN0ICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA4OlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdTZXB0ZW1iZXIgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDk6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ09jdG9iZXIgJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDEwOlxuICAgICAgICBzdWJoZWFkaW5nICs9ICdOb3ZlbWJlciAnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTE6XG4gICAgICAgIHN1YmhlYWRpbmcgKz0gJ0RlY2VtYmVyICc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgc3ViaGVhZGluZyArPSAnSmFudWFyeSAnO1xuICAgIH1cbiAgICBzdWJoZWFkaW5nICs9IHBhcnRzWzFdO1xuXG4gICAgcmV0dXJuIHN1YmhlYWRpbmc7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zb3VyY2VTdWIpIHtcbiAgICAgIHRoaXMuc291cmNlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnNvdXJjZVN1YiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG5cbiAgb25TZWFyY2hDaGFuZ2Uoc2VhcmNoVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZG9TZWFyY2guZW1pdChzZWFyY2hWYWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzaWRlbmF2IG5vLXNjcm9sbGJhclwiPlxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgICAgPG1hdC1sYWJlbD5TZWFyY2g8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNoQ2hhbmdlKCRldmVudClcIj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJwcm9ncmVzc1wiXG4gICAgW2hpZGRlbl09XCIhbG9hZGluZ1wiXG4gID5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE2cHg7XCJcbiAgICAgIFtkaWFtZXRlcl09MjBcbiAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICA+XG4gICAgPC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAjbmF2Y29udGFpbmVyIGNsYXNzPVwibmF2Y29udGFpbmVyXCJcbiAgICBbQHNpZGVOYXZBbmltYXRpb25dPVwic3RhdGVcIlxuICA+XG4gICAgPG1hdC1uYXYtbGlzdFxuICAgICAgKm5nRm9yPVwibGV0IGNvbnRhaW5lciBvZiBlbnRyaWVzQnlNb250aEFuZFllYXJcIlxuICAgID5cbiAgICAgIDxoMz57e2dldE1vbnRoQW5kWWVhckZyb21LZXkoY29udGFpbmVyLm1vbnRoX3llYXIpfX08L2gzPlxuICAgICAgPGEgbWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgZW50cnkgb2YgY29udGFpbmVyLmVudHJpZXNcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInJvdXRlVG8oZW50cnkpXCI+e3tlbnRyeS50aXRsZX19PC9hPlxuICAgIDwvbWF0LW5hdi1saXN0PlxuXG4gICAgPGFcbiAgICAgIGNsYXNzPVwic2lkZWxpbmtcIlxuICAgICAgKm5nSWY9XCJ0aGlzPy5yZXNwb25zZT8ubmV4dCAmJiAhbG9hZGluZ1wiXG4gICAgICAoY2xpY2spPVwiZ2V0TW9yZSgpXCJcbiAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+TW9yZS4uLjwvYT5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpZGVudGl0eT8uaWQgPT09IDFcIj5cbiAgICA8aDI+TWlzYzwvaDI+XG5cbiAgICA8bWF0LW5hdi1saXN0PlxuICAgICAgPGEgbWF0LWxpc3QtaXRlbSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIChjbGljayk9XCJyb3V0ZVRvKG51bGwpXCI+Q3JlYXRlPC9hPlxuICAgIDwvbWF0LW5hdi1saXN0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGgzICpuZ0lmPVwiaWRlbnRpdHlcIj5Mb2dnZWQgaW4gYXMge3tpZGVudGl0eT8uZW1haWx9fTwvaDM+XG48L2Rpdj5cblxuIl19
|
|
@@ -17,6 +17,7 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
17
17
|
import { MatNativeDateModule } from '@angular/material/core';
|
|
18
18
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
19
19
|
import { MatTableModule } from '@angular/material/table';
|
|
20
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
20
21
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
21
22
|
import { faSpinner } from '@fortawesome/free-solid-svg-icons';
|
|
22
23
|
import { FileUploadModule } from 'ng2-file-upload';
|
|
@@ -87,6 +88,7 @@ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15
|
|
|
87
88
|
MatDatepickerModule,
|
|
88
89
|
MatNativeDateModule,
|
|
89
90
|
MatTableModule,
|
|
91
|
+
MatProgressSpinnerModule,
|
|
90
92
|
FontAwesomeModule,
|
|
91
93
|
FileUploadModule,
|
|
92
94
|
NgxMaterialTimepickerModule], exports: [EntryRendererComponent,
|
|
@@ -131,6 +133,7 @@ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15
|
|
|
131
133
|
MatDatepickerModule,
|
|
132
134
|
MatNativeDateModule,
|
|
133
135
|
MatTableModule,
|
|
136
|
+
MatProgressSpinnerModule,
|
|
134
137
|
FontAwesomeModule,
|
|
135
138
|
FileUploadModule,
|
|
136
139
|
NgxMaterialTimepickerModule] });
|
|
@@ -175,6 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
175
178
|
MatDatepickerModule,
|
|
176
179
|
MatNativeDateModule,
|
|
177
180
|
MatTableModule,
|
|
181
|
+
MatProgressSpinnerModule,
|
|
178
182
|
FontAwesomeModule,
|
|
179
183
|
FileUploadModule,
|
|
180
184
|
NgxMaterialTimepickerModule,
|
|
@@ -206,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
206
210
|
]
|
|
207
211
|
}]
|
|
208
212
|
}], ctorParameters: function () { return [{ type: i1.FaIconLibrary }]; } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8s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QVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysa0NBQWtDO3dCQUNsQyxVQUFVO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDTCxzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLDZCQUE2QjtxQkFDaEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QnJvd3Nlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7RHJhZ0Ryb3BNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7TWF0Q2FyZE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQge01hdFNpZGVuYXZNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge01hdExpc3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHtNYXRSYWRpb01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHtNYXREaWFsb2dNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge01hdENoZWNrYm94TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7TWF0Q2hpcHNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdE5hdGl2ZURhdGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtNYXREYXRlcGlja2VyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7TWF0VGFibGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcblxuaW1wb3J0IHtGb250QXdlc29tZU1vZHVsZSwgRmFJY29uTGlicmFyeX0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHtmYVNwaW5uZXJ9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQge0ZpbGVVcGxvYWRNb2R1bGV9IGZyb20gJ25nMi1maWxlLXVwbG9hZCc7XG5pbXBvcnQge05neE1hdGVyaWFsVGltZXBpY2tlck1vZHVsZX0gZnJvbSAnbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXInO1xuXG5pbXBvcnQgeyBDb21tZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29tbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEVudHJ5U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBQcmlzbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ByaXNtLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWRlbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pZGVudGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IERqYW5nb1Jlc3RGcmFtZXdvcmtFbmRwb2ludFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RqYW5nby1yZXN0LWZyYW1ld29yay1lbmRwb2ludC5zZXJ2aWNlJztcbmltcG9ydCB7RW50cnlSZW5kZXJlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LXJlbmRlcmVyL2VudHJ5LXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0VudHJ5Q3JlYXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LWNyZWF0b3IvZW50cnktY3JlYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtPdXRsaW5lVmlld0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL291dGxpbmUtdmlldy9vdXRsaW5lLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7U2lkZU5hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zaWRlLW5hdmlnYXRpb24vc2lkZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0xhbmRpbmdQYWdlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbGFuZGluZy1wYWdlL2xhbmRpbmctcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHtKc29uUmVuZGVyZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9qc29uLXJlbmRlcmVyL2pzb24tcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7RW50cnlTdW1tYXJ5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktc3VtbWFyeS9lbnRyeS1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZWRpYVVwbG9hZE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lZGlhLXVwbG9hZC1tb2RhbC9tZWRpYS11cGxvYWQtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5U2VsZWN0b3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktc2VsZWN0b3ItZGlhbG9nL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtUaW1lQWdvUGlwZX0gZnJvbSAnLi9waXBlcy9UaW1lQWdvUGlwZSc7XG5pbXBvcnQge0xpbmt5UGlwZX0gZnJvbSAnLi9waXBlcy9MaW5reVBpcGUnO1xuaW1wb3J0IHsgU3RhdGljSHRtbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGF0aWMtaHRtbC9zdGF0aWMtaHRtbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWdTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL3RhZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1haW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWFpbi9tYWluLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeVJlbmRlcmVyV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1yZW5kZXJlci13cmFwcGVyL2VudHJ5LXJlbmRlcmVyLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2NoZWR1bGVQdWJsaXNoRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NjaGVkdWxlLXB1Ymxpc2gtZGlhbG9nL3NjaGVkdWxlLXB1Ymxpc2gtZGlhbG9nLmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRW50cnlSZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgRW50cnlDcmVhdG9yQ29tcG9uZW50LFxuICAgICAgICBMYW5kaW5nUGFnZUNvbXBvbmVudCxcbiAgICAgICAgU2lkZU5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgICAgIE91dGxpbmVWaWV3Q29tcG9uZW50LFxuICAgICAgICBKc29uUmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgIEVudHJ5U3VtbWFyeUNvbXBvbmVudCxcbiAgICAgICAgRW50cnlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgTWVkaWFVcGxvYWRNb2RhbENvbXBvbmVudCxcbiAgICAgICAgVGltZUFnb1BpcGUsXG4gICAgICAgIExpbmt5UGlwZSxcbiAgICAgICAgU3RhdGljSHRtbENvbXBvbmVudCxcbiAgICAgICAgTWFpbkNvbXBvbmVudCxcbiAgICAgICAgRW50cnlSZW5kZXJlcldyYXBwZXJDb21wb25lbnQsXG4gICAgICAgIFNjaGVkdWxlUHVibGlzaERpYWxvZ0NvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcbiAgICAgICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgICAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICAgICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICAgICAgTmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENvbW1lbnRTZXJ2aWNlLFxuICAgICAgICBFbnRyeVNlcnZpY2UsXG4gICAgICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgICAgIFByaXNtU2VydmljZSxcbiAgICAgICAgSWRlbnRpdHlTZXJ2aWNlLFxuICAgICAgICBEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlLFxuICAgICAgICBUYWdTZXJ2aWNlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbnRyeVJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgICBFbnRyeUNyZWF0b3JDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQ29tcG9uZW50LFxuICAgICAgICBTaWRlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgT3V0bGluZVZpZXdDb21wb25lbnQsXG4gICAgICAgIEpzb25SZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgRW50cnlTdW1tYXJ5Q29tcG9uZW50LFxuICAgICAgICBFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBNZWRpYVVwbG9hZE1vZGFsQ29tcG9uZW50LFxuICAgICAgICBUaW1lQWdvUGlwZSxcbiAgICAgICAgTGlua3lQaXBlLFxuICAgICAgICBTdGF0aWNIdG1sQ29tcG9uZW50LFxuICAgICAgICBNYWluQ29tcG9uZW50LFxuICAgICAgICBFbnRyeVJlbmRlcmVyV3JhcHBlckNvbXBvbmVudCxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGxpYnJhcnk6IEZhSWNvbkxpYnJhcnlcbiAgICApIHtcbiAgICAgICAgdGhpcy5saWJyYXJ5LmFkZEljb25zKGZhU3Bpbm5lcik7XG4gICAgfVxufVxuIl19
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8s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QTZCO3dCQUM3Qiw4QkFBOEI7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4QixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3FCQUM5QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGtDQUFrQzt3QkFDbEMsVUFBVTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLHlCQUF5Qjt3QkFDekIsV0FBVzt3QkFDWCxTQUFTO3dCQUNULG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYiw2QkFBNkI7cUJBQ2hDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0Jyb3dzZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7TWF0RGl2aWRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQge01hdENhcmRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHtNYXRTaWRlbmF2TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRMaXN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7TWF0UmFkaW9Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHtNYXROYXRpdmVEYXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQge01hdFByb2dyZXNzU3Bpbm5lck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cbmltcG9ydCB7Rm9udEF3ZXNvbWVNb2R1bGUsIEZhSWNvbkxpYnJhcnl9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7ZmFTcGlubmVyfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHtGaWxlVXBsb2FkTW9kdWxlfSBmcm9tICduZzItZmlsZS11cGxvYWQnO1xuaW1wb3J0IHtOZ3hNYXRlcmlhbFRpbWVwaWNrZXJNb2R1bGV9IGZyb20gJ25neC1tYXRlcmlhbC10aW1lcGlja2VyJztcblxuaW1wb3J0IHsgQ29tbWVudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRyeVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJpc21TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcmlzbS5zZXJ2aWNlJztcbmltcG9ydCB7IElkZW50aXR5U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaWRlbnRpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kamFuZ28tcmVzdC1mcmFtZXdvcmstZW5kcG9pbnQuc2VydmljZSc7XG5pbXBvcnQge0VudHJ5UmVuZGVyZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1yZW5kZXJlci9lbnRyeS1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHtFbnRyeUNyZWF0b3JDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1jcmVhdG9yL2VudHJ5LWNyZWF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7T3V0bGluZVZpZXdDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vdXRsaW5lLXZpZXcvb3V0bGluZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGVOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZS1uYXZpZ2F0aW9uL3NpZGUtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtMYW5kaW5nUGFnZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2xhbmRpbmctcGFnZS9sYW5kaW5nLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7SnNvblJlbmRlcmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvanNvbi1yZW5kZXJlci9qc29uLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0VudHJ5U3VtbWFyeUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LXN1bW1hcnkvZW50cnktc3VtbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFVcGxvYWRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZWRpYS11cGxvYWQtbW9kYWwvbWVkaWEtdXBsb2FkLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LXNlbGVjdG9yLWRpYWxvZy9lbnRyeS1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7VGltZUFnb1BpcGV9IGZyb20gJy4vcGlwZXMvVGltZUFnb1BpcGUnO1xuaW1wb3J0IHtMaW5reVBpcGV9IGZyb20gJy4vcGlwZXMvTGlua3lQaXBlJztcbmltcG9ydCB7IFN0YXRpY0h0bWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RhdGljLWh0bWwvc3RhdGljLWh0bWwuY29tcG9uZW50JztcbmltcG9ydCB7VGFnU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy90YWcuc2VydmljZSc7XG5pbXBvcnQgeyBNYWluQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21haW4vbWFpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW50cnlSZW5kZXJlcldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktcmVuZGVyZXItd3JhcHBlci9lbnRyeS1yZW5kZXJlci13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNjaGVkdWxlUHVibGlzaERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zY2hlZHVsZS1wdWJsaXNoLWRpYWxvZy9zY2hlZHVsZS1wdWJsaXNoLWRpYWxvZy5jb21wb25lbnQnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEVudHJ5UmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgIEVudHJ5Q3JlYXRvckNvbXBvbmVudCxcbiAgICAgICAgTGFuZGluZ1BhZ2VDb21wb25lbnQsXG4gICAgICAgIFNpZGVOYXZpZ2F0aW9uQ29tcG9uZW50LFxuICAgICAgICBPdXRsaW5lVmlld0NvbXBvbmVudCxcbiAgICAgICAgSnNvblJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgICBFbnRyeVN1bW1hcnlDb21wb25lbnQsXG4gICAgICAgIEVudHJ5U2VsZWN0b3JEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIE1lZGlhVXBsb2FkTW9kYWxDb21wb25lbnQsXG4gICAgICAgIFRpbWVBZ29QaXBlLFxuICAgICAgICBMaW5reVBpcGUsXG4gICAgICAgIFN0YXRpY0h0bWxDb21wb25lbnQsXG4gICAgICAgIE1haW5Db21wb25lbnQsXG4gICAgICAgIEVudHJ5UmVuZGVyZXJXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBTY2hlZHVsZVB1Ymxpc2hEaWFsb2dDb21wb25lbnQsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXG4gICAgICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXG4gICAgICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgICAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgICAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgICAgICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICAgICAgTmd4TWF0ZXJpYWxUaW1lcGlja2VyTW9kdWxlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENvbW1lbnRTZXJ2aWNlLFxuICAgICAgICBFbnRyeVNlcnZpY2UsXG4gICAgICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgICAgIFByaXNtU2VydmljZSxcbiAgICAgICAgSWRlbnRpdHlTZXJ2aWNlLFxuICAgICAgICBEamFuZ29SZXN0RnJhbWV3b3JrRW5kcG9pbnRTZXJ2aWNlLFxuICAgICAgICBUYWdTZXJ2aWNlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbnRyeVJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgICBFbnRyeUNyZWF0b3JDb21wb25lbnQsXG4gICAgICAgIExhbmRpbmdQYWdlQ29tcG9uZW50LFxuICAgICAgICBTaWRlTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgT3V0bGluZVZpZXdDb21wb25lbnQsXG4gICAgICAgIEpzb25SZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgRW50cnlTdW1tYXJ5Q29tcG9uZW50LFxuICAgICAgICBFbnRyeVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBNZWRpYVVwbG9hZE1vZGFsQ29tcG9uZW50LFxuICAgICAgICBUaW1lQWdvUGlwZSxcbiAgICAgICAgTGlua3lQaXBlLFxuICAgICAgICBTdGF0aWNIdG1sQ29tcG9uZW50LFxuICAgICAgICBNYWluQ29tcG9uZW50LFxuICAgICAgICBFbnRyeVJlbmRlcmVyV3JhcHBlckNvbXBvbmVudCxcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGxpYnJhcnk6IEZhSWNvbkxpYnJhcnlcbiAgICApIHtcbiAgICAgICAgdGhpcy5saWJyYXJ5LmFkZEljb25zKGZhU3Bpbm5lcik7XG4gICAgfVxufVxuIl19
|
|
@@ -62,6 +62,8 @@ import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
|
62
62
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
63
63
|
import * as i8$1 from '@angular/material/list';
|
|
64
64
|
import { MatListModule } from '@angular/material/list';
|
|
65
|
+
import * as i9$1 from '@angular/material/progress-spinner';
|
|
66
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
65
67
|
import * as i3$1 from '@angular/material/sidenav';
|
|
66
68
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
67
69
|
import Autolinker from 'autolinker';
|
|
@@ -1388,6 +1390,9 @@ class SideNavigationComponent {
|
|
|
1388
1390
|
this.identityService = identityService;
|
|
1389
1391
|
this.renderer = renderer;
|
|
1390
1392
|
this.state = 'out';
|
|
1393
|
+
this.response = null;
|
|
1394
|
+
this.debounceTimeout = 200;
|
|
1395
|
+
this.loading = true;
|
|
1391
1396
|
this.entries = [];
|
|
1392
1397
|
this.entriesByMonthAndYear = [];
|
|
1393
1398
|
this.searchTerm = "";
|
|
@@ -1395,7 +1400,7 @@ class SideNavigationComponent {
|
|
|
1395
1400
|
this.searchControl = new FormControl('');
|
|
1396
1401
|
}
|
|
1397
1402
|
ngOnInit() {
|
|
1398
|
-
this.doSearch.pipe(debounceTime(
|
|
1403
|
+
this.doSearch.pipe(debounceTime(this.debounceTimeout)).subscribe((result) => {
|
|
1399
1404
|
this.searchEntries(result);
|
|
1400
1405
|
});
|
|
1401
1406
|
this.identityService.getMe().subscribe((identity) => {
|
|
@@ -1405,23 +1410,27 @@ class SideNavigationComponent {
|
|
|
1405
1410
|
});
|
|
1406
1411
|
this.getEntries();
|
|
1407
1412
|
}
|
|
1408
|
-
|
|
1413
|
+
getMore() {
|
|
1414
|
+
this.getEntriesWithUrl(this.response.next, false);
|
|
1415
|
+
}
|
|
1416
|
+
getEntriesWithUrl(url, wipe = true) {
|
|
1417
|
+
this.loading = true;
|
|
1409
1418
|
this.entryService.getListByUrl(url).subscribe((response) => {
|
|
1419
|
+
this.response = response;
|
|
1410
1420
|
this.entries = this.entries.concat(map$1(response.results, (result) => {
|
|
1411
1421
|
return { id: result.id, entry: new Entry(result) };
|
|
1412
1422
|
}));
|
|
1413
|
-
|
|
1414
|
-
this.getEntriesWithUrl(response.next);
|
|
1415
|
-
}
|
|
1416
|
-
else {
|
|
1417
|
-
this.organizeEntries();
|
|
1418
|
-
}
|
|
1423
|
+
this.organizeEntries(wipe);
|
|
1419
1424
|
});
|
|
1420
1425
|
}
|
|
1421
|
-
organizeEntries() {
|
|
1422
|
-
|
|
1426
|
+
organizeEntries(wipe = true) {
|
|
1427
|
+
if (wipe) {
|
|
1428
|
+
this.state = 'out';
|
|
1429
|
+
}
|
|
1423
1430
|
let organizeEntriesFn = () => {
|
|
1424
|
-
|
|
1431
|
+
if (wipe) {
|
|
1432
|
+
this.entriesByMonthAndYear = [];
|
|
1433
|
+
}
|
|
1425
1434
|
let newEntries = JSON.parse(JSON.stringify(this.entriesByMonthAndYear));
|
|
1426
1435
|
for (const entryWrapper of this.entries) {
|
|
1427
1436
|
const entry = entryWrapper.entry;
|
|
@@ -1449,37 +1458,37 @@ class SideNavigationComponent {
|
|
|
1449
1458
|
newEntries.reverse();
|
|
1450
1459
|
let setEntriesFn = () => {
|
|
1451
1460
|
this.entriesByMonthAndYear = newEntries;
|
|
1452
|
-
this.
|
|
1461
|
+
this.loading = false;
|
|
1462
|
+
if (wipe) {
|
|
1463
|
+
this.state = 'in';
|
|
1464
|
+
}
|
|
1453
1465
|
};
|
|
1454
1466
|
setTimeout(setEntriesFn.bind(this), 400);
|
|
1455
1467
|
};
|
|
1456
1468
|
setTimeout(organizeEntriesFn.bind(this), 400);
|
|
1457
1469
|
}
|
|
1458
1470
|
getEntries() {
|
|
1471
|
+
this.loading = true;
|
|
1459
1472
|
this.entryService.get().subscribe((response) => {
|
|
1473
|
+
this.response = response;
|
|
1460
1474
|
this.entries = map$1(response.results, (result) => {
|
|
1461
1475
|
return { id: result.id, entry: new Entry(result) };
|
|
1462
1476
|
});
|
|
1463
|
-
|
|
1464
|
-
this.getEntriesWithUrl(response.next);
|
|
1465
|
-
}
|
|
1466
|
-
else {
|
|
1467
|
-
this.organizeEntries();
|
|
1468
|
-
}
|
|
1477
|
+
this.organizeEntries();
|
|
1469
1478
|
});
|
|
1470
1479
|
}
|
|
1471
1480
|
searchEntries(searchTerm) {
|
|
1481
|
+
let turnOnLoading = () => {
|
|
1482
|
+
this.loading = true;
|
|
1483
|
+
};
|
|
1484
|
+
setTimeout(turnOnLoading.bind(this), this.debounceTimeout + 100);
|
|
1472
1485
|
if (searchTerm !== "") {
|
|
1473
1486
|
this.entryService.search(searchTerm).subscribe((response) => {
|
|
1487
|
+
this.response = response;
|
|
1474
1488
|
this.entries = map$1(response.results, (result) => {
|
|
1475
1489
|
return { id: result.id, entry: new Entry(result) };
|
|
1476
1490
|
});
|
|
1477
|
-
|
|
1478
|
-
this.getEntriesWithUrl(response.next);
|
|
1479
|
-
}
|
|
1480
|
-
else {
|
|
1481
|
-
this.organizeEntries();
|
|
1482
|
-
}
|
|
1491
|
+
this.organizeEntries();
|
|
1483
1492
|
});
|
|
1484
1493
|
}
|
|
1485
1494
|
else {
|
|
@@ -1556,7 +1565,7 @@ class SideNavigationComponent {
|
|
|
1556
1565
|
}
|
|
1557
1566
|
}
|
|
1558
1567
|
SideNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SideNavigationComponent, deps: [{ token: EntryService }, { token: i1$4.Router }, { token: IdentityService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
1559
|
-
SideNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SideNavigationComponent, selector: "app-side-navigation", viewQueries: [{ propertyName: "divNav", first: true, predicate: ["navcontainer"], descendants: true }], ngImport: i0, template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n </div>\n
|
|
1568
|
+
SideNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SideNavigationComponent, selector: "app-side-navigation", viewQueries: [{ propertyName: "divNav", first: true, predicate: ["navcontainer"], descendants: true }], ngImport: i0, template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div\n class=\"progress\"\n [hidden]=\"!loading\"\n >\n <mat-progress-spinner\n style=\"margin-left: 16px;\"\n [diameter]=20\n mode=\"indeterminate\"\n >\n </mat-progress-spinner>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n <a\n class=\"sidelink\"\n *ngIf=\"this?.response?.next && !loading\"\n (click)=\"getMore()\"\n href=\"javascript:void(0);\">More...</a>\n </div>\n <ng-container *ngIf=\"identity?.id === 1\">\n <h2>Misc</h2>\n\n <mat-nav-list>\n <a mat-list-item href=\"javascript:void(0);\" (click)=\"routeTo(null)\">Create</a>\n </mat-nav-list>\n </ng-container>\n <h3 *ngIf=\"identity\">Logged in as {{identity?.email}}</h3>\n</div>\n\n", styles: [".progress{position:absolute;top:100px;left:0}.sidelink{padding-left:16px}.sidenav{position:relative;max-height:calc(100vh - 100px)}@media screen and (max-height: 560px){.sidenav{max-height:100vh}}h2,h3{margin-left:10px;justify-content:right}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6$1.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: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "component", type: i8$1.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i8$1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i9$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], animations: [
|
|
1560
1569
|
trigger('sideNavAnimation', [
|
|
1561
1570
|
state('in', style({ transform: 'translateX(0%)' })),
|
|
1562
1571
|
state('out', style({ transform: 'translateX(110%)' })),
|
|
@@ -1581,7 +1590,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1581
1590
|
animate('100ms ease-in', style({ transform: 'translateX(0%)' }))
|
|
1582
1591
|
])
|
|
1583
1592
|
]),
|
|
1584
|
-
], template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n </div>\n
|
|
1593
|
+
], template: "<div class=\"sidenav no-scrollbar\">\n <div style=\"margin-top: 20px;\">\n <mat-form-field style=\"width: 100%\">\n <mat-label>Search</mat-label>\n <input matInput [formControl]=\"searchControl\" (ngModelChange)=\"onSearchChange($event)\">\n </mat-form-field>\n </div>\n\n <div\n class=\"progress\"\n [hidden]=\"!loading\"\n >\n <mat-progress-spinner\n style=\"margin-left: 16px;\"\n [diameter]=20\n mode=\"indeterminate\"\n >\n </mat-progress-spinner>\n </div>\n\n <div #navcontainer class=\"navcontainer\"\n [@sideNavAnimation]=\"state\"\n >\n <mat-nav-list\n *ngFor=\"let container of entriesByMonthAndYear\"\n >\n <h3>{{getMonthAndYearFromKey(container.month_year)}}</h3>\n <a mat-list-item *ngFor=\"let entry of container.entries\" href=\"javascript:void(0)\" (click)=\"routeTo(entry)\">{{entry.title}}</a>\n </mat-nav-list>\n\n <a\n class=\"sidelink\"\n *ngIf=\"this?.response?.next && !loading\"\n (click)=\"getMore()\"\n href=\"javascript:void(0);\">More...</a>\n </div>\n <ng-container *ngIf=\"identity?.id === 1\">\n <h2>Misc</h2>\n\n <mat-nav-list>\n <a mat-list-item href=\"javascript:void(0);\" (click)=\"routeTo(null)\">Create</a>\n </mat-nav-list>\n </ng-container>\n <h3 *ngIf=\"identity\">Logged in as {{identity?.email}}</h3>\n</div>\n\n", styles: [".progress{position:absolute;top:100px;left:0}.sidelink{padding-left:16px}.sidenav{position:relative;max-height:calc(100vh - 100px)}@media screen and (max-height: 560px){.sidenav{max-height:100vh}}h2,h3{margin-left:10px;justify-content:right}\n"] }]
|
|
1585
1594
|
}], ctorParameters: function () { return [{ type: EntryService }, { type: i1$4.Router }, { type: IdentityService }, { type: i0.Renderer2 }]; }, propDecorators: { divNav: [{
|
|
1586
1595
|
type: ViewChild,
|
|
1587
1596
|
args: ['navcontainer', { static: false }]
|
|
@@ -1798,6 +1807,7 @@ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15
|
|
|
1798
1807
|
MatDatepickerModule,
|
|
1799
1808
|
MatNativeDateModule,
|
|
1800
1809
|
MatTableModule,
|
|
1810
|
+
MatProgressSpinnerModule,
|
|
1801
1811
|
FontAwesomeModule,
|
|
1802
1812
|
FileUploadModule,
|
|
1803
1813
|
NgxMaterialTimepickerModule], exports: [EntryRendererComponent,
|
|
@@ -1842,6 +1852,7 @@ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15
|
|
|
1842
1852
|
MatDatepickerModule,
|
|
1843
1853
|
MatNativeDateModule,
|
|
1844
1854
|
MatTableModule,
|
|
1855
|
+
MatProgressSpinnerModule,
|
|
1845
1856
|
FontAwesomeModule,
|
|
1846
1857
|
FileUploadModule,
|
|
1847
1858
|
NgxMaterialTimepickerModule] });
|
|
@@ -1886,6 +1897,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1886
1897
|
MatDatepickerModule,
|
|
1887
1898
|
MatNativeDateModule,
|
|
1888
1899
|
MatTableModule,
|
|
1900
|
+
MatProgressSpinnerModule,
|
|
1889
1901
|
FontAwesomeModule,
|
|
1890
1902
|
FileUploadModule,
|
|
1891
1903
|
NgxMaterialTimepickerModule,
|