@ethlete/query 2.7.0 → 2.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/directives/infinity-query-trigger.directive.mjs +3 -3
- package/esm2020/lib/directives/infinity-query.directive.mjs +3 -3
- package/esm2020/lib/directives/query.directive.mjs +3 -3
- package/esm2020/lib/infinite-query/infinity-query.mjs +2 -9
- package/esm2020/lib/query/query.mjs +7 -5
- package/esm2020/lib/request/request.mjs +2 -8
- package/fesm2015/ethlete-query.mjs +17 -28
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +17 -28
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -39,9 +39,9 @@ export class InfinityQueryTriggerDirective {
|
|
|
39
39
|
this._observer.observe(this._elementRef.nativeElement);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
43
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
42
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -150,9 +150,9 @@ export class InfinityQueryDirective {
|
|
|
150
150
|
this._data$.next([]);
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
154
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
153
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
154
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }, DestroyService], exportAs: ["infinityQuery"], ngImport: i0 });
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
156
156
|
type: Directive,
|
|
157
157
|
args: [{
|
|
158
158
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -87,9 +87,9 @@ export class QueryDirective {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
91
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
90
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: QueryDirective, decorators: [{
|
|
93
93
|
type: Directive,
|
|
94
94
|
args: [{
|
|
95
95
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -125,14 +125,7 @@ export class InfinityQuery {
|
|
|
125
125
|
this._subscriptions = this._subscriptions.filter((sub) => sub !== stateChangesSub);
|
|
126
126
|
},
|
|
127
127
|
});
|
|
128
|
-
|
|
129
|
-
next: (state) => {
|
|
130
|
-
if (state.meta.triggeredVia === 'auto') {
|
|
131
|
-
this.reset();
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
});
|
|
135
|
-
this._subscriptions.push(stateChangesSub, queryAutoRefreshSub);
|
|
128
|
+
this._subscriptions.push(stateChangesSub);
|
|
136
129
|
}
|
|
137
130
|
_prepareArgs(config, page) {
|
|
138
131
|
const pageParamLocation = this._getPageParamLocation(config?.pageParam?.location);
|
|
@@ -188,4 +181,4 @@ export class InfinityQuery {
|
|
|
188
181
|
}
|
|
189
182
|
}
|
|
190
183
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSTVELE1BQU0sT0FBTyxhQUFhO0lBaUJ4QixJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNm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LE1BQU0sR0FBRyxHQUFHLFFBQVEsSUFBSSxPQUFPLENBQUM7UUFFaEMsUUFBUSxHQUFHLEVBQUU7WUFDWCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxZQUFZLENBQUM7WUFDdEIsS0FBSyxPQUFPO2dCQUNWLE9BQU8sYUFBYSxDQUFDO1lBQ3ZCLEtBQUssTUFBTTtnQkFDVCxPQUFPLE1BQU0sQ0FBQztZQUNoQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sV0FBVyxDQUFDO1lBQ3JCO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXJTdWNjZXNzLCB0YWtlVW50aWxSZXNwb25zZSB9IGZyb20gJy4uL3F1ZXJ5JztcbmltcG9ydCB7IEFueVF1ZXJ5Q3JlYXRvciwgUXVlcnlDcmVhdG9yQXJncywgUXVlcnlDcmVhdG9yUmVzcG9uc2UsIFF1ZXJ5Q3JlYXRvclJldHVyblR5cGUgfSBmcm9tICcuLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgSW5maW5pdHlRdWVyeUNvbmZpZywgSW5maW5pdHlRdWVyeVBhcmFtTG9jYXRpb24gfSBmcm9tICcuL2luZmluaXR5LXF1ZXJ5LnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEluZmluaXR5UXVlcnk8XG4gIFF1ZXJ5Q3JlYXRvciBleHRlbmRzIEFueVF1ZXJ5Q3JlYXRvcixcbiAgUXVlcnkgZXh0ZW5kcyBRdWVyeUNyZWF0b3JSZXR1cm5UeXBlPFF1ZXJ5Q3JlYXRvcj4sXG4gIEFyZ3MgZXh0ZW5kcyBRdWVyeUNyZWF0b3JBcmdzPFF1ZXJ5Q3JlYXRvcj4sXG4gIFF1ZXJ5UmVzcG9uc2UgZXh0ZW5kcyBRdWVyeUNyZWF0b3JSZXNwb25zZTxRdWVyeUNyZWF0b3I+LFxuICBJbmZpbml0eVJlc3BvbnNlIGV4dGVuZHMgdW5rbm93bltdLFxuPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90b3RhbFBhZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zUGVyUGFnZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4odGhpcy5fY29uZmlnLmxpbWl0UGFyYW0/LnZhbHVlID8/IDEwKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudFF1ZXJ5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnkgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEluZmluaXR5UmVzcG9uc2U+KFtdIGFzIGFueSBhcyBJbmZpbml0eVJlc3BvbnNlKTtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIF9yZXNwb25zaXZlRGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IGN1cnJlbnRQYWdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFBhZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UGFnZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50Q2FsY3VsYXRlZFBhZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q2FsY3VsYXRlZFBhZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRDYWxjdWxhdGVkUGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudENhbGN1bGF0ZWRQYWdlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IHRvdGFsUGFnZXMkKCkge1xuICAgIHJldHVybiB0aGlzLl90b3RhbFBhZ2VzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB0b3RhbFBhZ2VzKCkge1xuICAgIHJldHVybiB0aGlzLl90b3RhbFBhZ2VzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGl0ZW1zUGVyUGFnZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zUGVyUGFnZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXRlbXNQZXJQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc1BlclBhZ2UkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudFF1ZXJ5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFF1ZXJ5JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50UXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRRdWVyeSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBkYXRhJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogSW5maW5pdHlRdWVyeUNvbmZpZzxRdWVyeUNyZWF0b3IsIEFyZ3MsIFF1ZXJ5UmVzcG9uc2UsIEluZmluaXR5UmVzcG9uc2U+KSB7fVxuXG4gIG5leHRQYWdlKCkge1xuICAgIGNvbnN0IG5ld1BhZ2UgPSAodGhpcy5fY3VycmVudFBhZ2UkLnZhbHVlID8/IDApICsgMTtcbiAgICBjb25zdCBjYWxjdWxhdGVkUGFnZSA9XG4gICAgICB0aGlzLl9jb25maWc/LnBhZ2VQYXJhbT8udmFsdWVDYWxjdWxhdG9yPy4oe1xuICAgICAgICBwYWdlOiBuZXdQYWdlLFxuICAgICAgICB0b3RhbFBhZ2VzOiB0aGlzLnRvdGFsUGFnZXMsXG4gICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5pdGVtc1BlclBhZ2UsXG4gICAgICB9KSA/PyBuZXdQYWdlO1xuXG4gICAgaWYgKHRoaXMudG90YWxQYWdlcyAhPT0gbnVsbCAmJiBjYWxjdWxhdGVkUGFnZSA+IHRoaXMudG90YWxQYWdlcykge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBsb2FkIG1vcmUgcGFnZXMsIGFscmVhZHkgYXQgdGhlIGVuZC4gTWFrZSBzdXJlIHRvIG5vdCByZW5kZXIgdGhlIGluZmluaXR5IHF1ZXJ5IHRyaWdnZXIgdXNpbmcgKm5nSWYgY2FuTG9hZE1vcmUnLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jbGVhclN1YnNjcmlwdGlvbnMoKTtcblxuICAgIGNvbnN0IGFyZ3MgPSB0aGlzLl9wcmVwYXJlQXJncyh0aGlzLl9jb25maWcsIGNhbGN1bGF0ZWRQYWdlKTtcblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5fY29uZmlnLnF1ZXJ5Q3JlYXRvci5wcmVwYXJlKGFyZ3MpLmV4ZWN1dGUoKSBhcyBRdWVyeTtcbiAgICB0aGlzLl9oYW5kbGVOZXdRdWVyeShxdWVyeSk7XG5cbiAgICB0aGlzLl9jdXJyZW50UGFnZSQubmV4dChuZXdQYWdlKTtcbiAgICB0aGlzLl9jdXJyZW50Q2FsY3VsYXRlZFBhZ2UkLm5leHQoY2FsY3VsYXRlZFBhZ2UpO1xuICAgIHRoaXMuX2N1cnJlbnRRdWVyeSQubmV4dChxdWVyeSk7XG4gIH1cblxuICByZXNldChcbiAgICBuZXdDb25maWc/OiBPbWl0PFxuICAgICAgSW5maW5pdHlRdWVyeUNvbmZpZzxRdWVyeUNyZWF0b3IsIEFyZ3MsIFF1ZXJ5UmVzcG9uc2UsIEluZmluaXR5UmVzcG9uc2U+LFxuICAgICAgJ3F1ZXJ5Q3JlYXRvcicgfCAncmVzcG9uc2UnXG4gICAgPixcbiAgKSB7XG4gICAgdGhpcy5fY2xlYXJTdWJzY3JpcHRpb25zKCk7XG5cbiAgICB0aGlzLl9jb25maWcgPSB7IC4uLnRoaXMuX2NvbmZpZywgLi4uKG5ld0NvbmZpZyA/PyB7fSkgfTtcblxuICAgIHRoaXMuX2N1cnJlbnRQYWdlJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQubmV4dChudWxsKTtcbiAgICB0aGlzLl90b3RhbFBhZ2VzJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2l0ZW1zUGVyUGFnZSQubmV4dCh0aGlzLl9jb25maWcubGltaXRQYXJhbT8udmFsdWUgPz8gMTApO1xuICAgIHRoaXMuX2N1cnJlbnRRdWVyeSQubmV4dChudWxsKTtcblxuICAgIHRoaXMuX2RhdGEkLm5leHQoW10gYXMgYW55IGFzIEluZmluaXR5UmVzcG9uc2UpO1xuXG4gICAgdGhpcy5uZXh0UGFnZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX2NsZWFyU3Vic2NyaXB0aW9ucygpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICB0aGlzLl9yZXNwb25zaXZlRGF0YVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5ld1F1ZXJ5KHF1ZXJ5OiBRdWVyeSkge1xuICAgIGNvbnN0IHN0YXRlQ2hhbmdlc1N1YiA9IHF1ZXJ5LnN0YXRlJC5waXBlKHRha2VVbnRpbFJlc3BvbnNlKCksIGZpbHRlclN1Y2Nlc3MoKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChzdGF0ZSkgPT4ge1xuICAgICAgICBsZXQgbmV3RGF0YSA9IHRoaXMuX2NvbmZpZz8ucmVzcG9uc2UudmFsdWVFeHRyYWN0b3Ioc3RhdGUucmVzcG9uc2UpO1xuXG4gICAgICAgIGlmICh0aGlzLl9jb25maWcucmVzcG9uc2UucmV2ZXJzZSkge1xuICAgICAgICAgIG5ld0RhdGEgPSBbLi4ubmV3RGF0YV0ucmV2ZXJzZSgpIGFzIEluZmluaXR5UmVzcG9uc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fY29uZmlnLnJlc3BvbnNlLmFwcGVuZEl0ZW1zVG8gPT09ICdzdGFydCcpIHtcbiAgICAgICAgICBuZXdEYXRhID0gWy4uLm5ld0RhdGEsIC4uLnRoaXMuZGF0YV0gYXMgSW5maW5pdHlSZXNwb25zZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdEYXRhID0gWy4uLnRoaXMuZGF0YSwgLi4ubmV3RGF0YV0gYXMgSW5maW5pdHlSZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChxdWVyeS5zdG9yZSkge1xuICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVEYXRhU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgY29uc3Qga2V5ID0gcXVlcnkuc3RvcmUuaWRLZXk7XG5cbiAgICAgICAgICBjb25zdCByZXNwb25zaXZlRGF0YSA9IHF1ZXJ5LnN0b3JlLmVudGl0aWVzJC5waXBlKFxuICAgICAgICAgICAgbWFwKChlbnRpdGllcykgPT5cbiAgICAgICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPKFRSQik6IFRoaXMgaXMga2luZCBvZiB1bnNhZmUuIFRoZSBlbnRpdHkgYXJyYXkga2V5cyBtaWdodCBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIHJlc3BvbnNlIGtleXNcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGVudGl0aWVzLnZhbHVlcy5maW5kSW5kZXgoKGVudGl0eSkgPT4gZW50aXR5W2tleV0gPT09IChpdGVtIGFzIGFueSlba2V5XSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggPiAtMSA/IGVudGl0aWVzLnZhbHVlc1tpbmRleF0gOiBpdGVtO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSBhcyBPYnNlcnZhYmxlPEluZmluaXR5UmVzcG9uc2U+O1xuXG4gICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZURhdGFTdWJzY3JpcHRpb24gPSByZXNwb25zaXZlRGF0YS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMuX2RhdGEkLm5leHQoZGF0YSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2RhdGEkLm5leHQobmV3RGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3RhbFBhZ2VzID1cbiAgICAgICAgICB0aGlzLl9jb25maWcucmVzcG9uc2UudG90YWxQYWdlc0V4dHJhY3Rvcj8uKHtcbiAgICAgICAgICAgIHJlc3BvbnNlOiBzdGF0ZS5yZXNwb25zZSxcbiAgICAgICAgICAgIGl0ZW1zUGVyUGFnZTogdGhpcy5pdGVtc1BlclBhZ2UsXG4gICAgICAgICAgfSkgPz9cbiAgICAgICAgICBzdGF0ZS5yZXNwb25zZT8udG90YWxQYWdlcyA/P1xuICAgICAgICAgIG51bGw7XG5cbiAgICAgICAgdGhpcy5fdG90YWxQYWdlcyQubmV4dCh0b3RhbFBhZ2VzKTtcbiAgICAgIH0sXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zID0gdGhpcy5fc3Vic2NyaXB0aW9ucy5maWx0ZXIoKHN1YikgPT4gc3ViICE9PSBzdGF0ZUNoYW5nZXNTdWIpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHF1ZXJ5QXV0b1JlZnJlc2hTdWIgPSBxdWVyeS5zdGF0ZSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChzdGF0ZSkgPT4ge1xuICAgICAgICBpZiAoc3RhdGUubWV0YS50cmlnZ2VyZWRWaWEgPT09ICdhdXRvJykge1xuICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChzdGF0ZUNoYW5nZXNTdWIsIHF1ZXJ5QXV0b1JlZnJlc2hTdWIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZUFyZ3MoY29uZmlnOiBJbmZpbml0eVF1ZXJ5Q29uZmlnPFF1ZXJ5Q3JlYXRvciwgQXJncywgUXVlcnlSZXNwb25zZSwgSW5maW5pdHlSZXNwb25zZT4sIHBhZ2U6IG51bWJlcikge1xuICAgIGNvbnN0IHBhZ2VQYXJhbUxvY2F0aW9uID0gdGhpcy5fZ2V0UGFnZVBhcmFtTG9jYXRpb24oY29uZmlnPy5wYWdlUGFyYW0/LmxvY2F0aW9uKTtcblxuICAgIGNvbnN0IHBhZ2VBcmdzID0ge1xuICAgICAgW3BhZ2VQYXJhbUxvY2F0aW9uXToge1xuICAgICAgICBbY29uZmlnPy5wYWdlUGFyYW0/LmtleSA/PyAncGFnZSddOiBwYWdlLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgY29uc3QgbGltaXRQYXJhbUxvY2F0aW9uID0gdGhpcy5fZ2V0UGFnZVBhcmFtTG9jYXRpb24oY29uZmlnPy5saW1pdFBhcmFtPy5sb2NhdGlvbik7XG5cbiAgICBjb25zdCBsaW1pdEFyZ3MgPSB7XG4gICAgICBbbGltaXRQYXJhbUxvY2F0aW9uXToge1xuICAgICAgICBbY29uZmlnPy5saW1pdFBhcmFtPy5rZXkgPz8gJ2xpbWl0J106IGNvbmZpZz8ubGltaXRQYXJhbT8udmFsdWUgPz8gMTAsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBkZWZhdWx0Q29uZmlnID0gY29uZmlnPy5kZWZhdWx0QXJncyA/PyB7fTtcblxuICAgIGNvbnN0IG1lcmdlZEFyZ3MgPVxuICAgICAgcGFnZVBhcmFtTG9jYXRpb24gPT09IGxpbWl0UGFyYW1Mb2NhdGlvblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWcsXG4gICAgICAgICAgICBbcGFnZVBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgICAgICAgIC4uLihjb25maWc/LmRlZmF1bHRBcmdzPy5bcGFnZVBhcmFtTG9jYXRpb25dID8/IHt9KSxcbiAgICAgICAgICAgICAgLi4ucGFnZUFyZ3NbbGltaXRQYXJhbUxvY2F0aW9uXSxcbiAgICAgICAgICAgICAgLi4ubGltaXRBcmdzW2xpbWl0UGFyYW1Mb2NhdGlvbl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgICAgICAgW3BhZ2VQYXJhbUxvY2F0aW9uXToge1xuICAgICAgICAgICAgICAuLi4oY29uZmlnPy5kZWZhdWx0QXJncz8uW3BhZ2VQYXJhbUxvY2F0aW9uXSA/PyB7fSksXG4gICAgICAgICAgICAgIC4uLnBhZ2VBcmdzW3BhZ2VQYXJhbUxvY2F0aW9uXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbbGltaXRQYXJhbUxvY2F0aW9uXToge1xuICAgICAgICAgICAgICAuLi4oY29uZmlnPy5kZWZhdWx0QXJncz8uW2xpbWl0UGFyYW1Mb2NhdGlvbl0gPz8ge30pLFxuICAgICAgICAgICAgICAuLi5saW1pdEFyZ3NbbGltaXRQYXJhbUxvY2F0aW9uXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBtZXJnZWRBcmdzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGFnZVBhcmFtTG9jYXRpb24obG9jYXRpb246IEluZmluaXR5UXVlcnlQYXJhbUxvY2F0aW9uIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbG9jID0gbG9jYXRpb24gPz8gJ3F1ZXJ5JztcblxuICAgIHN3aXRjaCAobG9jKSB7XG4gICAgICBjYXNlICdwYXRoJzpcbiAgICAgICAgcmV0dXJuICdwYXRoUGFyYW1zJztcbiAgICAgIGNhc2UgJ3F1ZXJ5JzpcbiAgICAgICAgcmV0dXJuICdxdWVyeVBhcmFtcyc7XG4gICAgICBjYXNlICdib2R5JzpcbiAgICAgICAgcmV0dXJuICdib2R5JztcbiAgICAgIGNhc2UgJ2hlYWRlcic6XG4gICAgICAgIHJldHVybiAnaGVhZGVycyc7XG4gICAgICBjYXNlICd2YXJpYWJsZSc6XG4gICAgICAgIHJldHVybiAndmFyaWFibGVzJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYWdlUGFyYW1Mb2NhdGlvbjogJHtsb2N9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvaW5maW5pdGUtcXVlcnkvaW5maW5pdHktcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSTVELE1BQU0sT0FBTyxhQUFhO0lBaUJ4QixJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNm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LFVBQVU7Z0JBQ2IsT0FBTyxXQUFXLENBQUM7WUFDckI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlclN1Y2Nlc3MsIHRha2VVbnRpbFJlc3BvbnNlIH0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHsgQW55UXVlcnlDcmVhdG9yLCBRdWVyeUNyZWF0b3JBcmdzLCBRdWVyeUNyZWF0b3JSZXNwb25zZSwgUXVlcnlDcmVhdG9yUmV0dXJuVHlwZSB9IGZyb20gJy4uL3F1ZXJ5LWNsaWVudCc7XG5pbXBvcnQgeyBJbmZpbml0eVF1ZXJ5Q29uZmlnLCBJbmZpbml0eVF1ZXJ5UGFyYW1Mb2NhdGlvbiB9IGZyb20gJy4vaW5maW5pdHktcXVlcnkudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgSW5maW5pdHlRdWVyeTxcbiAgUXVlcnlDcmVhdG9yIGV4dGVuZHMgQW55UXVlcnlDcmVhdG9yLFxuICBRdWVyeSBleHRlbmRzIFF1ZXJ5Q3JlYXRvclJldHVyblR5cGU8UXVlcnlDcmVhdG9yPixcbiAgQXJncyBleHRlbmRzIFF1ZXJ5Q3JlYXRvckFyZ3M8UXVlcnlDcmVhdG9yPixcbiAgUXVlcnlSZXNwb25zZSBleHRlbmRzIFF1ZXJ5Q3JlYXRvclJlc3BvbnNlPFF1ZXJ5Q3JlYXRvcj4sXG4gIEluZmluaXR5UmVzcG9uc2UgZXh0ZW5kcyB1bmtub3duW10sXG4+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudFBhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVudENhbGN1bGF0ZWRQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RvdGFsUGFnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXRlbXNQZXJQYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPih0aGlzLl9jb25maWcubGltaXRQYXJhbT8udmFsdWUgPz8gMTApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jdXJyZW50UXVlcnkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeSB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW5maW5pdHlSZXNwb25zZT4oW10gYXMgYW55IGFzIEluZmluaXR5UmVzcG9uc2UpO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX3Jlc3BvbnNpdmVEYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBnZXQgY3VycmVudFBhZ2UkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UGFnZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRDYWxjdWxhdGVkUGFnZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgY3VycmVudENhbGN1bGF0ZWRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q2FsY3VsYXRlZFBhZ2UkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgdG90YWxQYWdlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsUGFnZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHRvdGFsUGFnZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvdGFsUGFnZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBnZXQgaXRlbXNQZXJQYWdlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNQZXJQYWdlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBpdGVtc1BlclBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zUGVyUGFnZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50UXVlcnkkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50UXVlcnkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFF1ZXJ5JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IGRhdGEkKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29uZmlnOiBJbmZpbml0eVF1ZXJ5Q29uZmlnPFF1ZXJ5Q3JlYXRvciwgQXJncywgUXVlcnlSZXNwb25zZSwgSW5maW5pdHlSZXNwb25zZT4pIHt9XG5cbiAgbmV4dFBhZ2UoKSB7XG4gICAgY29uc3QgbmV3UGFnZSA9ICh0aGlzLl9jdXJyZW50UGFnZSQudmFsdWUgPz8gMCkgKyAxO1xuICAgIGNvbnN0IGNhbGN1bGF0ZWRQYWdlID1cbiAgICAgIHRoaXMuX2NvbmZpZz8ucGFnZVBhcmFtPy52YWx1ZUNhbGN1bGF0b3I/Lih7XG4gICAgICAgIHBhZ2U6IG5ld1BhZ2UsXG4gICAgICAgIHRvdGFsUGFnZXM6IHRoaXMudG90YWxQYWdlcyxcbiAgICAgICAgaXRlbXNQZXJQYWdlOiB0aGlzLml0ZW1zUGVyUGFnZSxcbiAgICAgIH0pID8/IG5ld1BhZ2U7XG5cbiAgICBpZiAodGhpcy50b3RhbFBhZ2VzICE9PSBudWxsICYmIGNhbGN1bGF0ZWRQYWdlID4gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnQ2Fubm90IGxvYWQgbW9yZSBwYWdlcywgYWxyZWFkeSBhdCB0aGUgZW5kLiBNYWtlIHN1cmUgdG8gbm90IHJlbmRlciB0aGUgaW5maW5pdHkgcXVlcnkgdHJpZ2dlciB1c2luZyAqbmdJZiBjYW5Mb2FkTW9yZScsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2NsZWFyU3Vic2NyaXB0aW9ucygpO1xuXG4gICAgY29uc3QgYXJncyA9IHRoaXMuX3ByZXBhcmVBcmdzKHRoaXMuX2NvbmZpZywgY2FsY3VsYXRlZFBhZ2UpO1xuXG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLl9jb25maWcucXVlcnlDcmVhdG9yLnByZXBhcmUoYXJncykuZXhlY3V0ZSgpIGFzIFF1ZXJ5O1xuICAgIHRoaXMuX2hhbmRsZU5ld1F1ZXJ5KHF1ZXJ5KTtcblxuICAgIHRoaXMuX2N1cnJlbnRQYWdlJC5uZXh0KG5ld1BhZ2UpO1xuICAgIHRoaXMuX2N1cnJlbnRDYWxjdWxhdGVkUGFnZSQubmV4dChjYWxjdWxhdGVkUGFnZSk7XG4gICAgdGhpcy5fY3VycmVudFF1ZXJ5JC5uZXh0KHF1ZXJ5KTtcbiAgfVxuXG4gIHJlc2V0KFxuICAgIG5ld0NvbmZpZz86IE9taXQ8XG4gICAgICBJbmZpbml0eVF1ZXJ5Q29uZmlnPFF1ZXJ5Q3JlYXRvciwgQXJncywgUXVlcnlSZXNwb25zZSwgSW5maW5pdHlSZXNwb25zZT4sXG4gICAgICAncXVlcnlDcmVhdG9yJyB8ICdyZXNwb25zZSdcbiAgICA+LFxuICApIHtcbiAgICB0aGlzLl9jbGVhclN1YnNjcmlwdGlvbnMoKTtcblxuICAgIHRoaXMuX2NvbmZpZyA9IHsgLi4udGhpcy5fY29uZmlnLCAuLi4obmV3Q29uZmlnID8/IHt9KSB9O1xuXG4gICAgdGhpcy5fY3VycmVudFBhZ2UkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fY3VycmVudENhbGN1bGF0ZWRQYWdlJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX3RvdGFsUGFnZXMkLm5leHQobnVsbCk7XG4gICAgdGhpcy5faXRlbXNQZXJQYWdlJC5uZXh0KHRoaXMuX2NvbmZpZy5saW1pdFBhcmFtPy52YWx1ZSA/PyAxMCk7XG4gICAgdGhpcy5fY3VycmVudFF1ZXJ5JC5uZXh0KG51bGwpO1xuXG4gICAgdGhpcy5fZGF0YSQubmV4dChbXSBhcyBhbnkgYXMgSW5maW5pdHlSZXNwb25zZSk7XG5cbiAgICB0aGlzLm5leHRQYWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfY2xlYXJTdWJzY3JpcHRpb25zKCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3ViKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIHRoaXMuX3Jlc3BvbnNpdmVEYXRhU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlTmV3UXVlcnkocXVlcnk6IFF1ZXJ5KSB7XG4gICAgY29uc3Qgc3RhdGVDaGFuZ2VzU3ViID0gcXVlcnkuc3RhdGUkLnBpcGUodGFrZVVudGlsUmVzcG9uc2UoKSwgZmlsdGVyU3VjY2VzcygpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHN0YXRlKSA9PiB7XG4gICAgICAgIGxldCBuZXdEYXRhID0gdGhpcy5fY29uZmlnPy5yZXNwb25zZS52YWx1ZUV4dHJhY3RvcihzdGF0ZS5yZXNwb25zZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5yZXNwb25zZS5yZXZlcnNlKSB7XG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5uZXdEYXRhXS5yZXZlcnNlKCkgYXMgSW5maW5pdHlSZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9jb25maWcucmVzcG9uc2UuYXBwZW5kSXRlbXNUbyA9PT0gJ3N0YXJ0Jykge1xuICAgICAgICAgIG5ld0RhdGEgPSBbLi4ubmV3RGF0YSwgLi4udGhpcy5kYXRhXSBhcyBJbmZpbml0eVJlc3BvbnNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0RhdGEgPSBbLi4udGhpcy5kYXRhLCAuLi5uZXdEYXRhXSBhcyBJbmZpbml0eVJlc3BvbnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHF1ZXJ5LnN0b3JlKSB7XG4gICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZURhdGFTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICBjb25zdCBrZXkgPSBxdWVyeS5zdG9yZS5pZEtleTtcblxuICAgICAgICAgIGNvbnN0IHJlc3BvbnNpdmVEYXRhID0gcXVlcnkuc3RvcmUuZW50aXRpZXMkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGVudGl0aWVzKSA9PlxuICAgICAgICAgICAgICBuZXdEYXRhLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFRPRE8oVFJCKTogVGhpcyBpcyBraW5kIG9mIHVuc2FmZS4gVGhlIGVudGl0eSBhcnJheSBrZXlzIG1pZ2h0IG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgcmVzcG9uc2Uga2V5c1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZW50aXRpZXMudmFsdWVzLmZpbmRJbmRleCgoZW50aXR5KSA9PiBlbnRpdHlba2V5XSA9PT0gKGl0ZW0gYXMgYW55KVtrZXldKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCA+IC0xID8gZW50aXRpZXMudmFsdWVzW2luZGV4XSA6IGl0ZW07XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApIGFzIE9ic2VydmFibGU8SW5maW5pdHlSZXNwb25zZT47XG5cbiAgICAgICAgICB0aGlzLl9yZXNwb25zaXZlRGF0YVN1YnNjcmlwdGlvbiA9IHJlc3BvbnNpdmVEYXRhLnN1YnNjcmliZSgoZGF0YSkgPT4gdGhpcy5fZGF0YSQubmV4dChkYXRhKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fZGF0YSQubmV4dChuZXdEYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvdGFsUGFnZXMgPVxuICAgICAgICAgIHRoaXMuX2NvbmZpZy5yZXNwb25zZS50b3RhbFBhZ2VzRXh0cmFjdG9yPy4oe1xuICAgICAgICAgICAgcmVzcG9uc2U6IHN0YXRlLnJlc3BvbnNlLFxuICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiB0aGlzLml0ZW1zUGVyUGFnZSxcbiAgICAgICAgICB9KSA/P1xuICAgICAgICAgIHN0YXRlLnJlc3BvbnNlPy50b3RhbFBhZ2VzID8/XG4gICAgICAgICAgbnVsbDtcblxuICAgICAgICB0aGlzLl90b3RhbFBhZ2VzJC5uZXh0KHRvdGFsUGFnZXMpO1xuICAgICAgfSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMgPSB0aGlzLl9zdWJzY3JpcHRpb25zLmZpbHRlcigoc3ViKSA9PiBzdWIgIT09IHN0YXRlQ2hhbmdlc1N1Yik7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5wdXNoKHN0YXRlQ2hhbmdlc1N1Yik7XG4gIH1cblxuICBwcml2YXRlIF9wcmVwYXJlQXJncyhjb25maWc6IEluZmluaXR5UXVlcnlDb25maWc8UXVlcnlDcmVhdG9yLCBBcmdzLCBRdWVyeVJlc3BvbnNlLCBJbmZpbml0eVJlc3BvbnNlPiwgcGFnZTogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFnZVBhcmFtTG9jYXRpb24gPSB0aGlzLl9nZXRQYWdlUGFyYW1Mb2NhdGlvbihjb25maWc/LnBhZ2VQYXJhbT8ubG9jYXRpb24pO1xuXG4gICAgY29uc3QgcGFnZUFyZ3MgPSB7XG4gICAgICBbcGFnZVBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgIFtjb25maWc/LnBhZ2VQYXJhbT8ua2V5ID8/ICdwYWdlJ106IHBhZ2UsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBsaW1pdFBhcmFtTG9jYXRpb24gPSB0aGlzLl9nZXRQYWdlUGFyYW1Mb2NhdGlvbihjb25maWc/LmxpbWl0UGFyYW0/LmxvY2F0aW9uKTtcblxuICAgIGNvbnN0IGxpbWl0QXJncyA9IHtcbiAgICAgIFtsaW1pdFBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgIFtjb25maWc/LmxpbWl0UGFyYW0/LmtleSA/PyAnbGltaXQnXTogY29uZmlnPy5saW1pdFBhcmFtPy52YWx1ZSA/PyAxMCxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IGRlZmF1bHRDb25maWcgPSBjb25maWc/LmRlZmF1bHRBcmdzID8/IHt9O1xuXG4gICAgY29uc3QgbWVyZ2VkQXJncyA9XG4gICAgICBwYWdlUGFyYW1Mb2NhdGlvbiA9PT0gbGltaXRQYXJhbUxvY2F0aW9uXG4gICAgICAgID8ge1xuICAgICAgICAgICAgLi4uZGVmYXVsdENvbmZpZyxcbiAgICAgICAgICAgIFtwYWdlUGFyYW1Mb2NhdGlvbl06IHtcbiAgICAgICAgICAgICAgLi4uKGNvbmZpZz8uZGVmYXVsdEFyZ3M/LltwYWdlUGFyYW1Mb2NhdGlvbl0gPz8ge30pLFxuICAgICAgICAgICAgICAuLi5wYWdlQXJnc1tsaW1pdFBhcmFtTG9jYXRpb25dLFxuICAgICAgICAgICAgICAuLi5saW1pdEFyZ3NbbGltaXRQYXJhbUxvY2F0aW9uXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWcsXG4gICAgICAgICAgICBbcGFnZVBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgICAgICAgIC4uLihjb25maWc/LmRlZmF1bHRBcmdzPy5bcGFnZVBhcmFtTG9jYXRpb25dID8/IHt9KSxcbiAgICAgICAgICAgICAgLi4ucGFnZUFyZ3NbcGFnZVBhcmFtTG9jYXRpb25dLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtsaW1pdFBhcmFtTG9jYXRpb25dOiB7XG4gICAgICAgICAgICAgIC4uLihjb25maWc/LmRlZmF1bHRBcmdzPy5bbGltaXRQYXJhbUxvY2F0aW9uXSA/PyB7fSksXG4gICAgICAgICAgICAgIC4uLmxpbWl0QXJnc1tsaW1pdFBhcmFtTG9jYXRpb25dLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIG1lcmdlZEFyZ3M7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYWdlUGFyYW1Mb2NhdGlvbihsb2NhdGlvbjogSW5maW5pdHlRdWVyeVBhcmFtTG9jYXRpb24gfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBsb2MgPSBsb2NhdGlvbiA/PyAncXVlcnknO1xuXG4gICAgc3dpdGNoIChsb2MpIHtcbiAgICAgIGNhc2UgJ3BhdGgnOlxuICAgICAgICByZXR1cm4gJ3BhdGhQYXJhbXMnO1xuICAgICAgY2FzZSAncXVlcnknOlxuICAgICAgICByZXR1cm4gJ3F1ZXJ5UGFyYW1zJztcbiAgICAgIGNhc2UgJ2JvZHknOlxuICAgICAgICByZXR1cm4gJ2JvZHknO1xuICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgICAgcmV0dXJuICdoZWFkZXJzJztcbiAgICAgIGNhc2UgJ3ZhcmlhYmxlJzpcbiAgICAgICAgcmV0dXJuICd2YXJpYWJsZXMnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhZ2VQYXJhbUxvY2F0aW9uOiAke2xvY31gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -88,10 +88,12 @@ export class Query {
|
|
|
88
88
|
rawResponse,
|
|
89
89
|
response,
|
|
90
90
|
})
|
|
91
|
-
:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
: response[key] === newData[key]
|
|
92
|
+
? {
|
|
93
|
+
response: newData,
|
|
94
|
+
rawResponse: newData,
|
|
95
|
+
}
|
|
96
|
+
: null;
|
|
95
97
|
if (!newResponse) {
|
|
96
98
|
return;
|
|
97
99
|
}
|
|
@@ -295,4 +297,4 @@ export class Query {
|
|
|
295
297
|
this._entitySubscription?.unsubscribe();
|
|
296
298
|
}
|
|
297
299
|
}
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUYsT0FBTyxFQUF3QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjM0QsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsTUFBTSxPQUFPLEtBQUs7SUFxQmhCLElBQVksT0FBTztRQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFckMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMs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QUM7SUFFTyw4QkFBOEI7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtZQUNwQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTTthQUNSLElBQUksQ0FDSCxhQUFhLEVBQUUsRUFDZixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixpQkFBaUIsRUFBRSxFQUNuQixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFDNUIsT0FBTzthQUNSO1lBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtnQkFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksd0NBQXdCO29CQUM1QixJQUFJLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7b0JBQzFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztvQkFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2lCQUN6QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdFdpdGhTdWJzY3JpYmVyQ291bnQgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IGZpbmFsaXplLCBpbnRlcnZhbCwgc3RhcnRXaXRoLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRdWVyeUNsaWVudCwgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGUgfSBmcm9tICcuLi9xdWVyeS1jbGllbnQnO1xuaW1wb3J0IHsgTWV0aG9kIGFzIE1ldGhvZFR5cGUsIHJlcXVlc3QgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7XG4gIEJhc2VBcmd1bWVudHMsXG4gIEdxbFF1ZXJ5Q29uZmlnLFxuICBQb2xsQ29uZmlnLFxuICBRdWVyeUF1dG9SZWZyZXNoQ29uZmlnLFxuICBRdWVyeVN0YXRlLFxuICBRdWVyeVN0YXRlTWV0YSxcbiAgUXVlcnlTdGF0ZVR5cGUsXG4gIFJlc3RRdWVyeUNvbmZpZyxcbiAgUm91dGVUeXBlLFxuICBSdW5RdWVyeU9wdGlvbnMsXG4gIFdpdGhVc2VSZXN1bHRJbixcbn0gZnJvbSAnLi9xdWVyeS50eXBlcyc7XG5pbXBvcnQge1xuICBjb21wdXRlUXVlcnlCb2R5LFxuICBjb21wdXRlUXVlcnlIZWFkZXJzLFxuICBjb21wdXRlUXVlcnlNZXRob2QsXG4gIGZpbHRlclN1Y2Nlc3MsXG4gIGlzR3FsUXVlcnlDb25maWcsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVN1Y2Nlc3MsXG4gIHRha2VVbnRpbFJlc3BvbnNlLFxufSBmcm9tICcuL3F1ZXJ5LnV0aWxzJztcblxuZXhwb3J0IGNsYXNzIFF1ZXJ5PFxuICBSZXNwb25zZSxcbiAgQXJndW1lbnRzIGV4dGVuZHMgKEJhc2VBcmd1bWVudHMgJiBXaXRoVXNlUmVzdWx0SW48UmVzcG9uc2UsIFJlc3BvbnNlVHJhbnNmb3JtZXI+KSB8IHVuZGVmaW5lZCxcbiAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgTWV0aG9kIGV4dGVuZHMgTWV0aG9kVHlwZSxcbiAgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPixcbiAgRW50aXR5LFxuPiB7XG4gIHByaXZhdGUgX2N1cnJlbnRJZCA9IDA7XG4gIHByaXZhdGUgX3BvbGxpbmdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9lbnRpdHlTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9vbkFib3J0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2N1cnJlbnRQb2xsQ29uZmlnOiBQb2xsQ29uZmlnIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX2lzUG9sbGluZ1BhdXNlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlJDogQmVoYXZpb3JTdWJqZWN0V2l0aFN1YnNjcmliZXJDb3VudDxRdWVyeVN0YXRlPFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4sIFJlc3BvbnNlPj47XG5cbiAgcHJpdmF0ZSBnZXQgX25leHRJZCgpIHtcbiAgICByZXR1cm4gKyt0aGlzLl9jdXJyZW50SWQ7XG4gIH1cblxuICBnZXQgc3RhdGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBpc0V4cGlyZWQoKSB7XG4gICAgaWYgKCFpc1F1ZXJ5U3RhdGVTdWNjZXNzKHRoaXMuc3RhdGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdHMgPSB0aGlzLnN0YXRlLm1ldGEuZXhwaXJlc0F0O1xuXG4gICAgaWYgKCF0cykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRzIDwgRGF0ZS5ub3coKTtcbiAgfVxuXG4gIGdldCBpc0luVXNlKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuc3Vic2NyaWJlckNvdW50ID4gMDtcbiAgfVxuXG4gIGdldCBpc1BvbGxpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIGdldCBhdXRvUmVmcmVzaE9uQ29uZmlnKCkge1xuICAgIGNvbnN0IGJhc2UgPSB0aGlzLl9xdWVyeUNvbmZpZy5hdXRvUmVmcmVzaE9uID8/IHt9O1xuXG4gICAgY29uc3QgdHJhbnNmb3JtZWQ6IFJlYWRvbmx5PFF1ZXJ5QXV0b1JlZnJlc2hDb25maWc+ID0ge1xuICAgICAgcXVlcnlDbGllbnREZWZhdWx0SGVhZGVyc0NoYW5nZTogYmFzZS5xdWVyeUNsaWVudERlZmF1bHRIZWFkZXJzQ2hhbmdlID8/IHRydWUsXG4gICAgICB3aW5kb3dGb2N1czogYmFzZS53aW5kb3dGb2N1cyA/PyB0cnVlLFxuICAgIH07XG5cbiAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgX2VuYWJsZVNtYXJ0UG9sbGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlDb25maWcuZW5hYmxlU21hcnRQb2xsaW5nID8/IHRydWU7XG4gIH1cblxuICBnZXQgc3RvcmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5Q29uZmlnLmVudGl0eT8uc3RvcmUgPz8gbnVsbDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NsaWVudDogUXVlcnlDbGllbnQsXG4gICAgcHJpdmF0ZSBfcXVlcnlDb25maWc6XG4gICAgICB8IFJlc3RRdWVyeUNvbmZpZzxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lciwgRW50aXR5PlxuICAgICAgfCBHcWxRdWVyeUNvbmZpZzxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lciwgRW50aXR5PixcbiAgICBwcml2YXRlIF9yb3V0ZVdpdGhQYXJhbXM6IFJvdXRlLFxuICAgIHByaXZhdGUgX2FyZ3M6IEFyZ3VtZW50cyxcbiAgKSB7XG4gICAgdGhpcy5fc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdFdpdGhTdWJzY3JpYmVyQ291bnQ8UXVlcnlTdGF0ZTxSZXR1cm5UeXBlPFJlc3BvbnNlVHJhbnNmb3JtZXI+LCBSZXNwb25zZT4+KHtcbiAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLlByZXBhcmVkLFxuICAgICAgbWV0YTogeyBpZDogdGhpcy5fY3VycmVudElkLCB0cmlnZ2VyZWRWaWE6ICdwcm9ncmFtJyB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuX3F1ZXJ5Q29uZmlnLmVudGl0eT8uc3RvcmUpIHtcbiAgICAgIHRoaXMuX2VudGl0eVN1YnNjcmlwdGlvbiA9IHRoaXMuX3F1ZXJ5Q29uZmlnLmVudGl0eS5zdG9yZS5ldmVudHMkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgIT09ICd1cGRhdGUnICYmIGV2ZW50LnR5cGUgIT09ICdzZXQnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc1F1ZXJ5U3RhdGVTdWNjZXNzKHRoaXMuc3RhdGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLnN0YXRlLnJlc3BvbnNlIGFzIGFueTtcbiAgICAgICAgY29uc3QgcmF3UmVzcG9uc2UgPSB0aGlzLnN0YXRlLnJhd1Jlc3BvbnNlO1xuXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuX3F1ZXJ5Q29uZmlnLmVudGl0eT8uc3RvcmUuY29uZmlnLmlkS2V5O1xuXG4gICAgICAgIGlmICgha2V5KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHRoaXMuX3F1ZXJ5Q29uZmlnLmVudGl0eT8uc3RvcmUuZ2V0T25lKGV2ZW50LmtleSk7XG5cbiAgICAgICAgaWYgKCFuZXdEYXRhKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3UmVzcG9uc2UgPSB0aGlzLl9xdWVyeUNvbmZpZy5lbnRpdHk/LnZhbHVlVXBkYXRlclxuICAgICAgICAgID8gdGhpcy5fcXVlcnlDb25maWcuZW50aXR5Py52YWx1ZVVwZGF0ZXIoe1xuICAgICAgICAgICAgICBhcmdzOiB0aGlzLl9hcmdzLFxuICAgICAgICAgICAgICBlbnRpdHk6IG5ld0RhdGEsXG4gICAgICAgICAgICAgIHJhd1Jlc3BvbnNlLFxuICAgICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIHJlc3BvbnNlOiBuZXdEYXRhLFxuICAgICAgICAgICAgICByYXdSZXNwb25zZTogbmV3RGF0YSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgaWYgKCFuZXdSZXNwb25zZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgIHJlc3BvbnNlOiBuZXdSZXNwb25zZS5yZXNwb25zZSBhcyBhbnksXG4gICAgICAgICAgcmF3UmVzcG9uc2U6IG5ld1Jlc3BvbnNlLnJhd1Jlc3BvbnNlIGFzIGFueSxcbiAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLm1ldGEsXG4gICAgICAgICAgICB0cmlnZ2VyZWRWaWE6ICdhdXRvJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIE1ldGhvZCwgUmVzcG9uc2VUcmFuc2Zvcm1lciwgRW50aXR5Pih0aGlzLl9xdWVyeUNvbmZpZyk7XG4gIH1cblxuICBleGVjdXRlPFxuICAgIENvbXB1dGVkUmVzcG9uc2UgZXh0ZW5kcyBSZXR1cm5UeXBlPFJlc3BvbnNlVHJhbnNmb3JtZXI+LFxuICAgIEVudGl0eVJlc3BvbnNlIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIChyZXNwb25zZTogUmVzcG9uc2UpID0+IGluZmVyIFIgPyBSIDogUmVzcG9uc2UsXG4gID4ob3B0aW9ucz86IFJ1blF1ZXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IHRyaWdnZXJlZFZpYSA9IG9wdGlvbnM/Ll90cmlnZ2VyZWRWaWEgPz8gJ3Byb2dyYW0nO1xuXG4gICAgaWYgKCF0aGlzLmlzRXhwaXJlZCAmJiAhb3B0aW9ucz8uc2tpcENhY2hlICYmIGlzUXVlcnlTdGF0ZVN1Y2Nlc3ModGhpcy5zdGF0ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9xdWVyeUNvbmZpZy5zZWN1cmUgJiYgIXRoaXMuX2NsaWVudC5hdXRoUHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGV4ZWN1dGUgc2VjdXJlIHF1ZXJ5IHdpdGhvdXQgYXV0aCBwcm92aWRlcicpO1xuICAgIH1cblxuICAgIGNvbnN0IGlkID0gdGhpcy5fbmV4dElkO1xuXG4gICAgaWYgKGlzUXVlcnlTdGF0ZUxvYWRpbmcodGhpcy5fc3RhdGUkLnZhbHVlKSkge1xuICAgICAgdGhpcy5hYm9ydCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGE6IFF1ZXJ5U3RhdGVNZXRhID0geyBpZCwgdHJpZ2dlcmVkVmlhIH07XG5cbiAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5Mb2FkaW5nLFxuICAgICAgbWV0YSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3VwZGF0ZVVzZVJlc3VsdEluRGVwZW5kZW5jaWVzKCk7XG5cbiAgICBjb25zdCBtZXRob2QgPSBjb21wdXRlUXVlcnlNZXRob2QoeyBjb25maWc6IHRoaXMuX3F1ZXJ5Q29uZmlnLCBjbGllbnQ6IHRoaXMuX2NsaWVudCB9KTtcbiAgICBjb25zdCBib2R5ID0gY29tcHV0ZVF1ZXJ5Qm9keSh7XG4gICAgICBjb25maWc6IHRoaXMuX3F1ZXJ5Q29uZmlnLFxuICAgICAgY2xpZW50OiB0aGlzLl9jbGllbnQsXG4gICAgICBhcmdzOiB0aGlzLl9hcmdzLFxuICAgICAgbWV0aG9kLFxuICAgIH0pO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBjb21wdXRlUXVlcnlIZWFkZXJzKHsgY2xpZW50OiB0aGlzLl9jbGllbnQsIGNvbmZpZzogdGhpcy5fcXVlcnlDb25maWcsIGFyZ3M6IHRoaXMuX2FyZ3MgfSk7XG5cbiAgICByZXF1ZXN0PFJlc3BvbnNlPih7XG4gICAgICB1cmxXaXRoUGFyYW1zOiB0aGlzLl9yb3V0ZVdpdGhQYXJhbXMsXG4gICAgICBtZXRob2QsXG4gICAgICBib2R5LFxuICAgICAgaGVhZGVycyxcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0aGlzLl9xdWVyeUNvbmZpZy5yZXBvcnRQcm9ncmVzcyxcbiAgICAgIHJlc3BvbnNlVHlwZTogdGhpcy5fcXVlcnlDb25maWcucmVzcG9uc2VUeXBlLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLl9xdWVyeUNvbmZpZy53aXRoQ3JlZGVudGlhbHMsXG4gICAgICBjYWNoZUFkYXB0ZXI6IHRoaXMuX2NsaWVudC5jb25maWcucmVxdWVzdD8uY2FjaGVBZGFwdGVyLFxuICAgICAgcmV0cnlGbjogdGhpcy5fY2xpZW50LmNvbmZpZy5yZXF1ZXN0Py5yZXRyeUZuLFxuICAgIH0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25BYm9ydCQpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmIChzdGF0ZS50eXBlID09PSAnc3RhcnQnIHx8IHN0YXRlLnR5cGUgPT09ICdkZWxheS1yZXRyeScpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld01ldGE6IFF1ZXJ5U3RhdGVNZXRhID0ge1xuICAgICAgICAgICAgICAuLi5tZXRhLFxuICAgICAgICAgICAgICBpc1dhaXRpbmdGb3JSZXRyeTogc3RhdGUudHlwZSA9PT0gJ2RlbGF5LXJldHJ5JyxcbiAgICAgICAgICAgICAgcmV0cnlEZWxheTogc3RhdGUucmV0cnlEZWxheSxcbiAgICAgICAgICAgICAgcmV0cnlOdW1iZXI6IHN0YXRlLnJldHJ5TnVtYmVyLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5Mb2FkaW5nLFxuICAgICAgICAgICAgICBtZXRhOiBuZXdNZXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSAnZG93bmxvYWQtcHJvZ3Jlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkxvYWRpbmcsXG4gICAgICAgICAgICAgIHByb2dyZXNzOiBzdGF0ZS5wcm9ncmVzcyxcbiAgICAgICAgICAgICAgcGFydGlhbFRleHQ6IHN0YXRlLnBhcnRpYWxUZXh0LFxuICAgICAgICAgICAgICBtZXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSAndXBsb2FkLXByb2dyZXNzJykge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5Mb2FkaW5nLFxuICAgICAgICAgICAgICBwcm9ncmVzczogc3RhdGUucHJvZ3Jlc3MsXG4gICAgICAgICAgICAgIG1ldGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgY29uc3QgaXNSZXNwb25zZU9iamVjdCA9IHR5cGVvZiBzdGF0ZS5yZXNwb25zZSA9PT0gJ29iamVjdCc7XG4gICAgICAgICAgICBjb25zdCBpc0dxbCA9IGlzR3FsUXVlcnlDb25maWcodGhpcy5fcXVlcnlDb25maWcpO1xuXG4gICAgICAgICAgICBsZXQgcmVzcG9uc2VEYXRhOiBSZXNwb25zZSB8IG51bGwgPSBudWxsO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBpc0dxbCAmJlxuICAgICAgICAgICAgICBpc1Jlc3BvbnNlT2JqZWN0ICYmXG4gICAgICAgICAgICAgICEhc3RhdGUucmVzcG9uc2UgJiZcbiAgICAgICAgICAgICAgdHlwZW9mIHN0YXRlLnJlc3BvbnNlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgICAnZGF0YScgaW4gc3RhdGUucmVzcG9uc2VcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXNwb25zZURhdGEgPSBzdGF0ZS5yZXNwb25zZVsnZGF0YSddIGFzIFJlc3BvbnNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzcG9uc2VEYXRhID0gc3RhdGUucmVzcG9uc2UgYXMgUmVzcG9uc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkUmVzcG9uc2UgPSB0aGlzLl9xdWVyeUNvbmZpZy5yZXNwb25zZVRyYW5zZm9ybWVyXG4gICAgICAgICAgICAgID8gdGhpcy5fcXVlcnlDb25maWcucmVzcG9uc2VUcmFuc2Zvcm1lcihyZXNwb25zZURhdGEpXG4gICAgICAgICAgICAgIDogcmVzcG9uc2VEYXRhO1xuXG4gICAgICAgICAgICB0aGlzLl9xdWVyeUNvbmZpZy5lbnRpdHk/LnN1Y2Nlc3NBY3Rpb24/Lih7XG4gICAgICAgICAgICAgIGFyZ3M6IHRoaXMuX2FyZ3MsXG4gICAgICAgICAgICAgIHJhd1Jlc3BvbnNlOiBzdGF0ZS5yZXNwb25zZSxcbiAgICAgICAgICAgICAgcmVzcG9uc2U6IHRyYW5zZm9ybWVkUmVzcG9uc2UgYXMgRW50aXR5UmVzcG9uc2UsXG4gICAgICAgICAgICAgIHN0b3JlOiB0aGlzLl9xdWVyeUNvbmZpZy5lbnRpdHkuc3RvcmUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5TdWNjZXNzLFxuICAgICAgICAgICAgICByYXdSZXNwb25zZTogc3RhdGUucmVzcG9uc2UsXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiB0cmFuc2Zvcm1lZFJlc3BvbnNlIGFzIENvbXB1dGVkUmVzcG9uc2UsXG4gICAgICAgICAgICAgIG1ldGE6IHsgLi4ubWV0YSwgZXhwaXJlc0F0OiBzdGF0ZS5leHBpcmVzSW5UaW1lc3RhbXAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gJ2ZhaWx1cmUnKSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkZhaWx1cmUsXG4gICAgICAgICAgICAgIGVycm9yOiBzdGF0ZS5lcnJvcixcbiAgICAgICAgICAgICAgbWV0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuQ2FuY2VsbGVkLFxuICAgICAgICAgICAgICBtZXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFib3J0KCkge1xuICAgIHRoaXMuX29uQWJvcnQkLm5leHQoKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcG9sbChjb25maWc6IFBvbGxDb25maWcpIHtcbiAgICBpZiAodGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudFBvbGxDb25maWcgPSBjb25maWc7XG5cbiAgICBjb25zdCBfaW50ZXJ2YWwgPSBjb25maWcudHJpZ2dlckltbWVkaWF0ZWx5XG4gICAgICA/IGludGVydmFsKGNvbmZpZy5pbnRlcnZhbCkucGlwZShzdGFydFdpdGgoLTEpKVxuICAgICAgOiBpbnRlcnZhbChjb25maWcuaW50ZXJ2YWwpO1xuXG4gICAgdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbiA9IF9pbnRlcnZhbFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbChjb25maWcudGFrZVVudGlsKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5zdG9wUG9sbGluZygpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS50eXBlID09PSBRdWVyeVN0YXRlVHlwZS5Mb2FkaW5nKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leGVjdXRlKHsgc2tpcENhY2hlOiB0cnVlLCBfdHJpZ2dlcmVkVmlhOiAncG9sbCcgfSk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc3RvcFBvbGxpbmcoKSB7XG4gICAgdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB0aGlzLl9jdXJyZW50UG9sbENvbmZpZyA9IG51bGw7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHBhdXNlUG9sbGluZygpIHtcbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgdGhpcy5faXNQb2xsaW5nUGF1c2VkID0gdHJ1ZTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVzdW1lUG9sbGluZygpIHtcbiAgICBpZiAoIXRoaXMuX2lzUG9sbGluZ1BhdXNlZCB8fCAhdGhpcy5fY3VycmVudFBvbGxDb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuX2lzUG9sbGluZ1BhdXNlZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIHRoaXMucG9sbCh7IC4uLnRoaXMuX2N1cnJlbnRQb2xsQ29uZmlnLCB0cmlnZ2VySW1tZWRpYXRlbHk6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVVc2VSZXN1bHRJbkRlcGVuZGVuY2llcygpIHtcbiAgICBpZiAoIXRoaXMuX2FyZ3M/LnVzZVJlc3VsdEluPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlclN1Y2Nlc3MoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uQWJvcnQkKSxcbiAgICAgICAgdGFrZVVudGlsUmVzcG9uc2UoKSxcbiAgICAgICAgdGFwKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5fYXJncz8udXNlUmVzdWx0SW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHF1ZXJ5IG9mIHRoaXMuX2FyZ3MudXNlUmVzdWx0SW4pIHtcbiAgICAgICAgICAgIHF1ZXJ5Ll9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLlN1Y2Nlc3MsXG4gICAgICAgICAgICAgIG1ldGE6IHsgLi4uc3RhdGUubWV0YSwgaWQ6IHF1ZXJ5Ll9uZXh0SWQgfSxcbiAgICAgICAgICAgICAgcmF3UmVzcG9uc2U6IHN0YXRlLnJhd1Jlc3BvbnNlLFxuICAgICAgICAgICAgICByZXNwb25zZTogc3RhdGUucmVzcG9uc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX2Rlc3Ryb3koKSB7XG4gICAgdGhpcy5fc3RhdGUkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fb25BYm9ydCQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2VudGl0eVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUYsT0FBTyxFQUF3QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjM0QsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsTUFBTSxPQUFPLEtBQUs7SUFxQmhCLElBQVksT0FBTztRQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFckMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMs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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0V2l0aFN1YnNjcmliZXJDb3VudCB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgZmluYWxpemUsIGludGVydmFsLCBzdGFydFdpdGgsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50LCBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZSB9IGZyb20gJy4uL3F1ZXJ5LWNsaWVudCc7XG5pbXBvcnQgeyBNZXRob2QgYXMgTWV0aG9kVHlwZSwgcmVxdWVzdCB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHtcbiAgQmFzZUFyZ3VtZW50cyxcbiAgR3FsUXVlcnlDb25maWcsXG4gIFBvbGxDb25maWcsXG4gIFF1ZXJ5QXV0b1JlZnJlc2hDb25maWcsXG4gIFF1ZXJ5U3RhdGUsXG4gIFF1ZXJ5U3RhdGVNZXRhLFxuICBRdWVyeVN0YXRlVHlwZSxcbiAgUmVzdFF1ZXJ5Q29uZmlnLFxuICBSb3V0ZVR5cGUsXG4gIFJ1blF1ZXJ5T3B0aW9ucyxcbiAgV2l0aFVzZVJlc3VsdEluLFxufSBmcm9tICcuL3F1ZXJ5LnR5cGVzJztcbmltcG9ydCB7XG4gIGNvbXB1dGVRdWVyeUJvZHksXG4gIGNvbXB1dGVRdWVyeUhlYWRlcnMsXG4gIGNvbXB1dGVRdWVyeU1ldGhvZCxcbiAgZmlsdGVyU3VjY2VzcyxcbiAgaXNHcWxRdWVyeUNvbmZpZyxcbiAgaXNRdWVyeVN0YXRlTG9hZGluZyxcbiAgaXNRdWVyeVN0YXRlU3VjY2VzcyxcbiAgdGFrZVVudGlsUmVzcG9uc2UsXG59IGZyb20gJy4vcXVlcnkudXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnk8XG4gIFJlc3BvbnNlLFxuICBBcmd1bWVudHMgZXh0ZW5kcyAoQmFzZUFyZ3VtZW50cyAmIFdpdGhVc2VSZXN1bHRJbjxSZXNwb25zZSwgUmVzcG9uc2VUcmFuc2Zvcm1lcj4pIHwgdW5kZWZpbmVkLFxuICBSb3V0ZSBleHRlbmRzIFJvdXRlVHlwZTxBcmd1bWVudHM+LFxuICBNZXRob2QgZXh0ZW5kcyBNZXRob2RUeXBlLFxuICBSZXNwb25zZVRyYW5zZm9ybWVyIGV4dGVuZHMgUmVzcG9uc2VUcmFuc2Zvcm1lclR5cGU8UmVzcG9uc2U+LFxuICBFbnRpdHksXG4+IHtcbiAgcHJpdmF0ZSBfY3VycmVudElkID0gMDtcbiAgcHJpdmF0ZSBfcG9sbGluZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2VudGl0eVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX29uQWJvcnQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfY3VycmVudFBvbGxDb25maWc6IFBvbGxDb25maWcgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfaXNQb2xsaW5nUGF1c2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGUkOiBCZWhhdmlvclN1YmplY3RXaXRoU3Vic2NyaWJlckNvdW50PFF1ZXJ5U3RhdGU8UmV0dXJuVHlwZTxSZXNwb25zZVRyYW5zZm9ybWVyPiwgUmVzcG9uc2U+PjtcblxuICBwcml2YXRlIGdldCBfbmV4dElkKCkge1xuICAgIHJldHVybiArK3RoaXMuX2N1cnJlbnRJZDtcbiAgfVxuXG4gIGdldCBzdGF0ZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGlzRXhwaXJlZCgpIHtcbiAgICBpZiAoIWlzUXVlcnlTdGF0ZVN1Y2Nlc3ModGhpcy5zdGF0ZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCB0cyA9IHRoaXMuc3RhdGUubWV0YS5leHBpcmVzQXQ7XG5cbiAgICBpZiAoIXRzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHMgPCBEYXRlLm5vdygpO1xuICB9XG5cbiAgZ2V0IGlzSW5Vc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5zdWJzY3JpYmVyQ291bnQgPiAwO1xuICB9XG5cbiAgZ2V0IGlzUG9sbGluZygpIHtcbiAgICByZXR1cm4gISF0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uO1xuICB9XG5cbiAgZ2V0IGF1dG9SZWZyZXNoT25Db25maWcoKSB7XG4gICAgY29uc3QgYmFzZSA9IHRoaXMuX3F1ZXJ5Q29uZmlnLmF1dG9SZWZyZXNoT24gPz8ge307XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZDogUmVhZG9ubHk8UXVlcnlBdXRvUmVmcmVzaENvbmZpZz4gPSB7XG4gICAgICBxdWVyeUNsaWVudERlZmF1bHRIZWFkZXJzQ2hhbmdlOiBiYXNlLnF1ZXJ5Q2xpZW50RGVmYXVsdEhlYWRlcnNDaGFuZ2UgPz8gdHJ1ZSxcbiAgICAgIHdpbmRvd0ZvY3VzOiBiYXNlLndpbmRvd0ZvY3VzID8/IHRydWUsXG4gICAgfTtcblxuICAgIHJldHVybiB0cmFuc2Zvcm1lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBfZW5hYmxlU21hcnRQb2xsaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9xdWVyeUNvbmZpZy5lbmFibGVTbWFydFBvbGxpbmcgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBzdG9yZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnlDb25maWcuZW50aXR5Py5zdG9yZSA/PyBudWxsO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgICBwcml2YXRlIF9xdWVyeUNvbmZpZzpcbiAgICAgIHwgUmVzdFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyLCBFbnRpdHk+XG4gICAgICB8IEdxbFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyLCBFbnRpdHk+LFxuICAgIHByaXZhdGUgX3JvdXRlV2l0aFBhcmFtczogUm91dGUsXG4gICAgcHJpdmF0ZSBfYXJnczogQXJndW1lbnRzLFxuICApIHtcbiAgICB0aGlzLl9zdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0V2l0aFN1YnNjcmliZXJDb3VudDxRdWVyeVN0YXRlPFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4sIFJlc3BvbnNlPj4oe1xuICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuUHJlcGFyZWQsXG4gICAgICBtZXRhOiB7IGlkOiB0aGlzLl9jdXJyZW50SWQsIHRyaWdnZXJlZFZpYTogJ3Byb2dyYW0nIH0sXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5fcXVlcnlDb25maWcuZW50aXR5Py5zdG9yZSkge1xuICAgICAgdGhpcy5fZW50aXR5U3Vic2NyaXB0aW9uID0gdGhpcy5fcXVlcnlDb25maWcuZW50aXR5LnN0b3JlLmV2ZW50cyQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ3VwZGF0ZScgJiYgZXZlbnQudHlwZSAhPT0gJ3NldCcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWlzUXVlcnlTdGF0ZVN1Y2Nlc3ModGhpcy5zdGF0ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuc3RhdGUucmVzcG9uc2UgYXMgYW55O1xuICAgICAgICBjb25zdCByYXdSZXNwb25zZSA9IHRoaXMuc3RhdGUucmF3UmVzcG9uc2U7XG5cbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5fcXVlcnlDb25maWcuZW50aXR5Py5zdG9yZS5jb25maWcuaWRLZXk7XG5cbiAgICAgICAgaWYgKCFrZXkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdEYXRhID0gdGhpcy5fcXVlcnlDb25maWcuZW50aXR5Py5zdG9yZS5nZXRPbmUoZXZlbnQua2V5KTtcblxuICAgICAgICBpZiAoIW5ld0RhdGEpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdSZXNwb25zZSA9IHRoaXMuX3F1ZXJ5Q29uZmlnLmVudGl0eT8udmFsdWVVcGRhdGVyXG4gICAgICAgICAgPyB0aGlzLl9xdWVyeUNvbmZpZy5lbnRpdHk/LnZhbHVlVXBkYXRlcih7XG4gICAgICAgICAgICAgIGFyZ3M6IHRoaXMuX2FyZ3MsXG4gICAgICAgICAgICAgIGVudGl0eTogbmV3RGF0YSxcbiAgICAgICAgICAgICAgcmF3UmVzcG9uc2UsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IHJlc3BvbnNlW2tleV0gPT09IChuZXdEYXRhIGFzIGFueSlba2V5XVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICByZXNwb25zZTogbmV3RGF0YSxcbiAgICAgICAgICAgICAgcmF3UmVzcG9uc2U6IG5ld0RhdGEsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIGlmICghbmV3UmVzcG9uc2UpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICByZXNwb25zZTogbmV3UmVzcG9uc2UucmVzcG9uc2UgYXMgYW55LFxuICAgICAgICAgIHJhd1Jlc3BvbnNlOiBuZXdSZXNwb25zZS5yYXdSZXNwb25zZSBhcyBhbnksXG4gICAgICAgICAgbWV0YToge1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZS5tZXRhLFxuICAgICAgICAgICAgdHJpZ2dlcmVkVmlhOiAnYXV0bycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmZldGNoPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBNZXRob2QsIFJlc3BvbnNlVHJhbnNmb3JtZXIsIEVudGl0eT4odGhpcy5fcXVlcnlDb25maWcpO1xuICB9XG5cbiAgZXhlY3V0ZTxcbiAgICBDb21wdXRlZFJlc3BvbnNlIGV4dGVuZHMgUmV0dXJuVHlwZTxSZXNwb25zZVRyYW5zZm9ybWVyPixcbiAgICBFbnRpdHlSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyAocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiBpbmZlciBSID8gUiA6IFJlc3BvbnNlLFxuICA+KG9wdGlvbnM/OiBSdW5RdWVyeU9wdGlvbnMpIHtcbiAgICBjb25zdCB0cmlnZ2VyZWRWaWEgPSBvcHRpb25zPy5fdHJpZ2dlcmVkVmlhID8/ICdwcm9ncmFtJztcblxuICAgIGlmICghdGhpcy5pc0V4cGlyZWQgJiYgIW9wdGlvbnM/LnNraXBDYWNoZSAmJiBpc1F1ZXJ5U3RhdGVTdWNjZXNzKHRoaXMuc3RhdGUpKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcXVlcnlDb25maWcuc2VjdXJlICYmICF0aGlzLl9jbGllbnQuYXV0aFByb3ZpZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBleGVjdXRlIHNlY3VyZSBxdWVyeSB3aXRob3V0IGF1dGggcHJvdmlkZXInKTtcbiAgICB9XG5cbiAgICBjb25zdCBpZCA9IHRoaXMuX25leHRJZDtcblxuICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHRoaXMuX3N0YXRlJC52YWx1ZSkpIHtcbiAgICAgIHRoaXMuYWJvcnQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhOiBRdWVyeVN0YXRlTWV0YSA9IHsgaWQsIHRyaWdnZXJlZFZpYSB9O1xuXG4gICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuTG9hZGluZyxcbiAgICAgIG1ldGEsXG4gICAgfSk7XG5cbiAgICB0aGlzLl91cGRhdGVVc2VSZXN1bHRJbkRlcGVuZGVuY2llcygpO1xuXG4gICAgY29uc3QgbWV0aG9kID0gY29tcHV0ZVF1ZXJ5TWV0aG9kKHsgY29uZmlnOiB0aGlzLl9xdWVyeUNvbmZpZywgY2xpZW50OiB0aGlzLl9jbGllbnQgfSk7XG4gICAgY29uc3QgYm9keSA9IGNvbXB1dGVRdWVyeUJvZHkoe1xuICAgICAgY29uZmlnOiB0aGlzLl9xdWVyeUNvbmZpZyxcbiAgICAgIGNsaWVudDogdGhpcy5fY2xpZW50LFxuICAgICAgYXJnczogdGhpcy5fYXJncyxcbiAgICAgIG1ldGhvZCxcbiAgICB9KTtcbiAgICBjb25zdCBoZWFkZXJzID0gY29tcHV0ZVF1ZXJ5SGVhZGVycyh7IGNsaWVudDogdGhpcy5fY2xpZW50LCBjb25maWc6IHRoaXMuX3F1ZXJ5Q29uZmlnLCBhcmdzOiB0aGlzLl9hcmdzIH0pO1xuXG4gICAgcmVxdWVzdDxSZXNwb25zZT4oe1xuICAgICAgdXJsV2l0aFBhcmFtczogdGhpcy5fcm91dGVXaXRoUGFyYW1zLFxuICAgICAgbWV0aG9kLFxuICAgICAgYm9keSxcbiAgICAgIGhlYWRlcnMsXG4gICAgICByZXBvcnRQcm9ncmVzczogdGhpcy5fcXVlcnlDb25maWcucmVwb3J0UHJvZ3Jlc3MsXG4gICAgICByZXNwb25zZVR5cGU6IHRoaXMuX3F1ZXJ5Q29uZmlnLnJlc3BvbnNlVHlwZSxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5fcXVlcnlDb25maWcud2l0aENyZWRlbnRpYWxzLFxuICAgICAgY2FjaGVBZGFwdGVyOiB0aGlzLl9jbGllbnQuY29uZmlnLnJlcXVlc3Q/LmNhY2hlQWRhcHRlcixcbiAgICAgIHJldHJ5Rm46IHRoaXMuX2NsaWVudC5jb25maWcucmVxdWVzdD8ucmV0cnlGbixcbiAgICB9KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uQWJvcnQkKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAoc3RhdGUudHlwZSA9PT0gJ3N0YXJ0JyB8fCBzdGF0ZS50eXBlID09PSAnZGVsYXktcmV0cnknKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdNZXRhOiBRdWVyeVN0YXRlTWV0YSA9IHtcbiAgICAgICAgICAgICAgLi4ubWV0YSxcbiAgICAgICAgICAgICAgaXNXYWl0aW5nRm9yUmV0cnk6IHN0YXRlLnR5cGUgPT09ICdkZWxheS1yZXRyeScsXG4gICAgICAgICAgICAgIHJldHJ5RGVsYXk6IHN0YXRlLnJldHJ5RGVsYXksXG4gICAgICAgICAgICAgIHJldHJ5TnVtYmVyOiBzdGF0ZS5yZXRyeU51bWJlcixcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuTG9hZGluZyxcbiAgICAgICAgICAgICAgbWV0YTogbmV3TWV0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gJ2Rvd25sb2FkLXByb2dyZXNzJykge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5Mb2FkaW5nLFxuICAgICAgICAgICAgICBwcm9ncmVzczogc3RhdGUucHJvZ3Jlc3MsXG4gICAgICAgICAgICAgIHBhcnRpYWxUZXh0OiBzdGF0ZS5wYXJ0aWFsVGV4dCxcbiAgICAgICAgICAgICAgbWV0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9PT0gJ3VwbG9hZC1wcm9ncmVzcycpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuTG9hZGluZyxcbiAgICAgICAgICAgICAgcHJvZ3Jlc3M6IHN0YXRlLnByb2dyZXNzLFxuICAgICAgICAgICAgICBtZXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS50eXBlID09PSAnc3VjY2VzcycpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzUmVzcG9uc2VPYmplY3QgPSB0eXBlb2Ygc3RhdGUucmVzcG9uc2UgPT09ICdvYmplY3QnO1xuICAgICAgICAgICAgY29uc3QgaXNHcWwgPSBpc0dxbFF1ZXJ5Q29uZmlnKHRoaXMuX3F1ZXJ5Q29uZmlnKTtcblxuICAgICAgICAgICAgbGV0IHJlc3BvbnNlRGF0YTogUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgaXNHcWwgJiZcbiAgICAgICAgICAgICAgaXNSZXNwb25zZU9iamVjdCAmJlxuICAgICAgICAgICAgICAhIXN0YXRlLnJlc3BvbnNlICYmXG4gICAgICAgICAgICAgIHR5cGVvZiBzdGF0ZS5yZXNwb25zZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgJ2RhdGEnIGluIHN0YXRlLnJlc3BvbnNlXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmVzcG9uc2VEYXRhID0gc3RhdGUucmVzcG9uc2VbJ2RhdGEnXSBhcyBSZXNwb25zZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc3BvbnNlRGF0YSA9IHN0YXRlLnJlc3BvbnNlIGFzIFJlc3BvbnNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFJlc3BvbnNlID0gdGhpcy5fcXVlcnlDb25maWcucmVzcG9uc2VUcmFuc2Zvcm1lclxuICAgICAgICAgICAgICA/IHRoaXMuX3F1ZXJ5Q29uZmlnLnJlc3BvbnNlVHJhbnNmb3JtZXIocmVzcG9uc2VEYXRhKVxuICAgICAgICAgICAgICA6IHJlc3BvbnNlRGF0YTtcblxuICAgICAgICAgICAgdGhpcy5fcXVlcnlDb25maWcuZW50aXR5Py5zdWNjZXNzQWN0aW9uPy4oe1xuICAgICAgICAgICAgICBhcmdzOiB0aGlzLl9hcmdzLFxuICAgICAgICAgICAgICByYXdSZXNwb25zZTogc3RhdGUucmVzcG9uc2UsXG4gICAgICAgICAgICAgIHJlc3BvbnNlOiB0cmFuc2Zvcm1lZFJlc3BvbnNlIGFzIEVudGl0eVJlc3BvbnNlLFxuICAgICAgICAgICAgICBzdG9yZTogdGhpcy5fcXVlcnlDb25maWcuZW50aXR5LnN0b3JlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuU3VjY2VzcyxcbiAgICAgICAgICAgICAgcmF3UmVzcG9uc2U6IHN0YXRlLnJlc3BvbnNlLFxuICAgICAgICAgICAgICByZXNwb25zZTogdHJhbnNmb3JtZWRSZXNwb25zZSBhcyBDb21wdXRlZFJlc3BvbnNlLFxuICAgICAgICAgICAgICBtZXRhOiB7IC4uLm1ldGEsIGV4cGlyZXNBdDogc3RhdGUuZXhwaXJlc0luVGltZXN0YW1wIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09ICdmYWlsdXJlJykge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5GYWlsdXJlLFxuICAgICAgICAgICAgICBlcnJvcjogc3RhdGUuZXJyb3IsXG4gICAgICAgICAgICAgIG1ldGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLnR5cGUgPT09ICdjYW5jZWwnKSB7XG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkNhbmNlbGxlZCxcbiAgICAgICAgICAgICAgbWV0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhYm9ydCgpIHtcbiAgICB0aGlzLl9vbkFib3J0JC5uZXh0KCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHBvbGwoY29uZmlnOiBQb2xsQ29uZmlnKSB7XG4gICAgaWYgKHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuX2N1cnJlbnRQb2xsQ29uZmlnID0gY29uZmlnO1xuXG4gICAgY29uc3QgX2ludGVydmFsID0gY29uZmlnLnRyaWdnZXJJbW1lZGlhdGVseVxuICAgICAgPyBpbnRlcnZhbChjb25maWcuaW50ZXJ2YWwpLnBpcGUoc3RhcnRXaXRoKC0xKSlcbiAgICAgIDogaW50ZXJ2YWwoY29uZmlnLmludGVydmFsKTtcblxuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24gPSBfaW50ZXJ2YWxcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwoY29uZmlnLnRha2VVbnRpbCksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuc3RvcFBvbGxpbmcoKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUudHlwZSA9PT0gUXVlcnlTdGF0ZVR5cGUuTG9hZGluZykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhlY3V0ZSh7IHNraXBDYWNoZTogdHJ1ZSwgX3RyaWdnZXJlZFZpYTogJ3BvbGwnIH0pO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHN0b3BQb2xsaW5nKCkge1xuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgdGhpcy5fY3VycmVudFBvbGxDb25maWcgPSBudWxsO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwYXVzZVBvbGxpbmcoKSB7XG4gICAgdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uID0gbnVsbDtcblxuICAgIHRoaXMuX2lzUG9sbGluZ1BhdXNlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlc3VtZVBvbGxpbmcoKSB7XG4gICAgaWYgKCF0aGlzLl9pc1BvbGxpbmdQYXVzZWQgfHwgIXRoaXMuX2N1cnJlbnRQb2xsQ29uZmlnKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLl9pc1BvbGxpbmdQYXVzZWQgPSBmYWxzZTtcblxuICAgIHJldHVybiB0aGlzLnBvbGwoeyAuLi50aGlzLl9jdXJyZW50UG9sbENvbmZpZywgdHJpZ2dlckltbWVkaWF0ZWx5OiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVXNlUmVzdWx0SW5EZXBlbmRlbmNpZXMoKSB7XG4gICAgaWYgKCF0aGlzLl9hcmdzPy51c2VSZXN1bHRJbj8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXJTdWNjZXNzKCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkFib3J0JCksXG4gICAgICAgIHRha2VVbnRpbFJlc3BvbnNlKCksXG4gICAgICAgIHRhcCgoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuX2FyZ3M/LnVzZVJlc3VsdEluKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChjb25zdCBxdWVyeSBvZiB0aGlzLl9hcmdzLnVzZVJlc3VsdEluKSB7XG4gICAgICAgICAgICBxdWVyeS5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5TdWNjZXNzLFxuICAgICAgICAgICAgICBtZXRhOiB7IC4uLnN0YXRlLm1ldGEsIGlkOiBxdWVyeS5fbmV4dElkIH0sXG4gICAgICAgICAgICAgIHJhd1Jlc3BvbnNlOiBzdGF0ZS5yYXdSZXNwb25zZSxcbiAgICAgICAgICAgICAgcmVzcG9uc2U6IHN0YXRlLnJlc3BvbnNlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9kZXN0cm95KCkge1xuICAgIHRoaXMuX3N0YXRlJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX29uQWJvcnQkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9lbnRpdHlTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -12,9 +12,7 @@ export const request = (config) => {
|
|
|
12
12
|
return new Observable((observer) => {
|
|
13
13
|
const xhr = new XMLHttpRequest();
|
|
14
14
|
const reqBody = serializeBody(body);
|
|
15
|
-
let headerResponse = null;
|
|
16
15
|
const setupXhr = () => {
|
|
17
|
-
headerResponse = null;
|
|
18
16
|
xhr.open(config.method, config.urlWithParams);
|
|
19
17
|
if (config.withCredentials) {
|
|
20
18
|
xhr.withCredentials = true;
|
|
@@ -33,14 +31,10 @@ export const request = (config) => {
|
|
|
33
31
|
};
|
|
34
32
|
setupXhr();
|
|
35
33
|
const partialFromXhr = () => {
|
|
36
|
-
if (headerResponse !== null) {
|
|
37
|
-
return headerResponse;
|
|
38
|
-
}
|
|
39
34
|
const statusText = xhr.statusText || 'OK';
|
|
40
35
|
const headers = parseAllXhrResponseHeaders(xhr);
|
|
41
36
|
const _url = getResponseUrl(xhr) || url;
|
|
42
|
-
|
|
43
|
-
return headerResponse;
|
|
37
|
+
return { headers, status: xhr.status, statusText, url: _url };
|
|
44
38
|
};
|
|
45
39
|
const handleRetry = (error) => {
|
|
46
40
|
const newRetryCount = currentRetryCount + 1;
|
|
@@ -185,4 +179,4 @@ export const request = (config) => {
|
|
|
185
179
|
};
|
|
186
180
|
});
|
|
187
181
|
};
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9yZXF1ZXN0L3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLGNBQWMsRUFDZCxTQUFTLEVBRVQsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixrQkFBa0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQXFCLE1BQXFCLEVBQXNDLEVBQUU7SUFDdkcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQztJQUNyRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUMxQixJQUFJLFlBQVksR0FBa0IsSUFBSSxDQUFDO0lBRXZDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUEwQyxFQUFFLEVBQUU7UUFDbkUsTUFBTSxHQUFHLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFB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R0FBRyxFQUFFO1lBQ1YsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMxQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDeEMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUU1QyxJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNuQztZQUVELElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRTtnQkFDekIsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7b0JBQ2xDLEdBQUcsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO2lCQUMxRDthQUNGO1lBRUQsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEVBQUU7Z0JBQy9CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiO1lBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYXJ0aWFsWGhyU3RhdGUsIFJlcXVlc3RDb25maWcsIFJlcXVlc3RFcnJvciwgUmVxdWVzdEV2ZW50IH0gZnJvbSAnLi9yZXF1ZXN0LnR5cGVzJztcbmltcG9ydCB7XG4gIGJ1aWxkVGltZXN0YW1wRnJvbVNlY29uZHMsXG4gIGRldGVjdENvbnRlbnRUeXBlSGVhZGVyLFxuICBleHRyYWN0RXhwaXJlc0luU2Vjb25kcyxcbiAgZm9yRWFjaEhlYWRlcixcbiAgZ2V0UmVzcG9uc2VVcmwsXG4gIGhhc0hlYWRlcixcbiAgSHR0cFN0YXR1c0NvZGUsXG4gIHBhcnNlQWxsWGhyUmVzcG9uc2VIZWFkZXJzLFxuICBzZXJpYWxpemVCb2R5LFxuICBzaG91bGRSZXRyeVJlcXVlc3QsXG59IGZyb20gJy4vcmVxdWVzdC51dGlsJztcblxuY29uc3QgWFNTSV9QUkVGSVggPSAvXlxcKVxcXVxcfScsP1xcbi87XG5cbmV4cG9ydCBjb25zdCByZXF1ZXN0ID0gPFJlc3BvbnNlID0gdW5rbm93bj4oY29uZmlnOiBSZXF1ZXN0Q29uZmlnKTogT2JzZXJ2YWJsZTxSZXF1ZXN0RXZlbnQ8UmVzcG9uc2U+PiA9PiB7XG4gIGNvbnN0IGhlYWRlcnMgPSBjb25maWcuaGVhZGVycyB8fCB7fTtcbiAgY29uc3QgcmVzcG9uc2VUeXBlID0gY29uZmlnLnJlc3BvbnNlVHlwZSB8fCAnanNvbic7XG4gIGNvbnN0IGJvZHkgPSBjb25maWcuYm9keSB8fCBudWxsO1xuICBjb25zdCB1cmwgPSBjb25maWcudXJsV2l0aFBhcmFtcy5zcGxpdCgnPycpWzBdO1xuICBjb25zdCByZXRyeUZuID0gY29uZmlnLnJldHJ5Rm4gfHwgc2hvdWxkUmV0cnlSZXF1ZXN0O1xuICBsZXQgY3VycmVudFJldHJ5Q291bnQgPSAwO1xuICBsZXQgcmV0cnlUaW1lb3V0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBPYnNlcnZlcjxSZXF1ZXN0RXZlbnQ8UmVzcG9uc2U+PikgPT4ge1xuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGNvbnN0IHJlcUJvZHkgPSBzZXJpYWxpemVCb2R5KGJvZHkpO1xuICAgIGxldCBoZWFkZXJSZXNwb25zZTogUGFydGlhbFhoclN0YXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdCBzZXR1cFhociA9ICgpID0+IHtcbiAgICAgIGhlYWRlclJlc3BvbnNlID0gbnVsbDtcblxuICAgICAgeGhyLm9wZW4oY29uZmlnLm1ldGhvZCwgY29uZmlnLnVybFdpdGhQYXJhbXMpO1xuICAgICAgaWYgKGNvbmZpZy53aXRoQ3JlZGVudGlhbHMpIHtcbiAgICAgICAgeGhyLndpdGhDcmVkZW50aWFscyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGZvckVhY2hIZWFkZXIoaGVhZGVycywgKG5hbWUsIHZhbHVlKSA9PiB4aHIuc2V0UmVxdWVzdEhlYWRlcihuYW1lLCB2YWx1ZSkpO1xuXG4gICAgICBpZiAoIWhhc0hlYWRlcihoZWFkZXJzLCAnQWNjZXB0JykpIHtcbiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0FjY2VwdCcsICdhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLyonKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFoYXNIZWFkZXIoaGVhZGVycywgJ0NvbnRlbnQtVHlwZScpKSB7XG4gICAgICAgIGNvbnN0IGRldGVjdGVkVHlwZSA9IGRldGVjdENvbnRlbnRUeXBlSGVhZGVyKGJvZHkpO1xuXG4gICAgICAgIGlmIChkZXRlY3RlZFR5cGUpIHtcbiAgICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcignQ29udGVudC1UeXBlJywgZGV0ZWN0ZWRUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB4aHIucmVzcG9uc2VUeXBlID0gcmVzcG9uc2VUeXBlICE9PSAnanNvbicgPyByZXNwb25zZVR5cGUgOiAndGV4dCc7XG4gICAgfTtcblxuICAgIHNldHVwWGhyKCk7XG5cbiAgICBjb25zdCBwYXJ0aWFsRnJvbVhociA9ICgpOiBQYXJ0aWFsWGhyU3RhdGUgPT4ge1xuICAgICAgaWYgKGhlYWRlclJlc3BvbnNlICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBoZWFkZXJSZXNwb25zZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhdHVzVGV4dCA9IHhoci5zdGF0dXNUZXh0IHx8ICdPSyc7XG4gICAgICBjb25zdCBoZWFkZXJzID0gcGFyc2VBbGxYaHJSZXNwb25zZUhlYWRlcnMoeGhyKTtcbiAgICAgIGNvbnN0IF91cmwgPSBnZXRSZXNwb25zZVVybCh4aHIpIHx8IHVybDtcblxuICAgICAgaGVhZGVyUmVzcG9uc2UgPSB7IGhlYWRlcnMsIHN0YXR1czogeGhyLnN0YXR1cywgc3RhdHVzVGV4dCwgdXJsOiBfdXJsIH07XG5cbiAgICAgIHJldHVybiBoZWFkZXJSZXNwb25zZTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlUmV0cnkgPSAoZXJyb3I6IFJlcXVlc3RFcnJvcikgPT4ge1xuICAgICAgY29uc3QgbmV3UmV0cnlDb3VudCA9IGN1cnJlbnRSZXRyeUNvdW50ICsgMTtcbiAgICAgIGNvbnN0IHsgaGVhZGVycyB9ID0gcGFydGlhbEZyb21YaHIoKTtcbiAgICAgIGNvbnN0IHsgcmV0cnksIGRlbGF5IH0gPSByZXRyeUZuKHsgY3VycmVudFJldHJ5Q291bnQ6IG5ld1JldHJ5Q291bnQsIGhlYWRlcnMsIGVycm9yIH0pO1xuXG4gICAgICBpZiAoIXJldHJ5KSB7XG4gICAgICAgIG9ic2VydmVyLm5leHQoeyB0eXBlOiAnZmFpbHVyZScsIGhlYWRlcnMsIGVycm9yIH0pO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF9kZWxheSA9IGRlbGF5ID8/IDEwMDA7XG4gICAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ2RlbGF5LXJldHJ5JywgaGVhZGVycywgcmV0cnlOdW1iZXI6IG5ld1JldHJ5Q291bnQsIHJldHJ5RGVsYXk6IF9kZWxheSB9KTtcblxuICAgICAgcmV0cnlUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXR1cFhocigpO1xuICAgICAgICB4aHIuc2VuZChyZXFCb2R5KTtcbiAgICAgICAgY3VycmVudFJldHJ5Q291bnQgPSBuZXdSZXRyeUNvdW50O1xuICAgICAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ3N0YXJ0JywgaGVhZGVycywgaXNSZXRyeTogdHJ1ZSwgcmV0cnlOdW1iZXI6IGN1cnJlbnRSZXRyeUNvdW50LCByZXRyeURlbGF5OiBfZGVsYXkgfSk7XG4gICAgICB9LCBfZGVsYXkpO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkxvYWQgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGhlYWRlcnMsIHN0YXR1c1RleHQsIHVybCB9ID0gcGFydGlhbEZyb21YaHIoKTtcbiAgICAgIGxldCB7IHN0YXR1cyB9ID0gcGFydGlhbEZyb21YaHIoKTtcblxuICAgICAgbGV0IGJvZHk6IHVua25vd24gfCBudWxsID0gbnVsbDtcblxuICAgICAgaWYgKHN0YXR1cyAhPT0gSHR0cFN0YXR1c0NvZGUuTm9Db250ZW50KSB7XG4gICAgICAgIGJvZHkgPSB0eXBlb2YgeGhyLnJlc3BvbnNlID09PSAndW5kZWZpbmVkJyA/IHhoci5yZXNwb25zZVRleHQgOiB4aHIucmVzcG9uc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGF0dXMgPT09IDApIHtcbiAgICAgICAgc3RhdHVzID0gYm9keSA/IEh0dHBTdGF0dXNDb2RlLk9rIDogMDtcbiAgICAgIH1cblxuICAgICAgbGV0IG9rID0gc3RhdHVzID49IDIwMCAmJiBzdGF0dXMgPCAzMDA7XG5cbiAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09ICdqc29uJyAmJiB0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxCb2R5ID0gYm9keTtcbiAgICAgICAgYm9keSA9IGJvZHkucmVwbGFjZShYU1NJX1BSRUZJWCwgJycpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGJvZHkgPSBib2R5ICE9PSAnJyA/IEpTT04ucGFyc2UoYm9keSBhcyBzdHJpbmcpIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBib2R5ID0gb3JpZ2luYWxCb2R5O1xuXG4gICAgICAgICAgaWYgKG9rKSB7XG4gICAgICAgICAgICBvayA9IGZhbHNlO1xuICAgICAgICAgICAgYm9keSA9IHsgZXJyb3IsIHRleHQ6IGJvZHkgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG9rKSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NFdmVudDogUmVxdWVzdEV2ZW50PFJlc3BvbnNlPiA9IHtcbiAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICByZXNwb25zZTogYm9keSBhcyBSZXNwb25zZSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBleHBpcmVzSW5TZWNvbmRzID0gY29uZmlnLmNhY2hlQWRhcHRlcj8uKGhlYWRlcnMpID8/IGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzKGhlYWRlcnMpO1xuICAgICAgICBjb25zdCBleHBpcmVzSW5UaW1lc3RhbXAgPSBidWlsZFRpbWVzdGFtcEZyb21TZWNvbmRzKGV4cGlyZXNJblNlY29uZHMpO1xuXG4gICAgICAgIGlmIChleHBpcmVzSW5UaW1lc3RhbXApIHtcbiAgICAgICAgICBzdWNjZXNzRXZlbnQuZXhwaXJlc0luVGltZXN0YW1wID0gZXhwaXJlc0luVGltZXN0YW1wO1xuICAgICAgICB9XG5cbiAgICAgICAgb2JzZXJ2ZXIubmV4dChzdWNjZXNzRXZlbnQpO1xuXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoYW5kbGVSZXRyeSh7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIGRldGFpbDogYm9keSxcbiAgICAgICAgICBzdGF0dXMsXG4gICAgICAgICAgc3RhdHVzVGV4dCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IG9uRXJyb3IgPSAoZXJyb3I6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgdXJsIH0gPSBwYXJ0aWFsRnJvbVhocigpO1xuXG4gICAgICBoYW5kbGVSZXRyeSh7XG4gICAgICAgIHVybCxcbiAgICAgICAgZGV0YWlsOiBlcnJvcixcbiAgICAgICAgc3RhdHVzOiB4aHIuc3RhdHVzIHx8IDAsXG4gICAgICAgIHN0YXR1c1RleHQ6IHhoci5zdGF0dXNUZXh0IHx8ICdVbmtub3duIEVycm9yJyxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkRvd25Qcm9ncmVzcyA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc3QgeyBoZWFkZXJzIH0gPSBwYXJ0aWFsRnJvbVhocigpO1xuXG4gICAgICBjb25zdCBwcm9ncmVzczogUmVxdWVzdEV2ZW50ID0ge1xuICAgICAgICB0eXBlOiAnZG93bmxvYWQtcHJvZ3Jlc3MnLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgIGN1cnJlbnQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChldmVudC5sZW5ndGhDb21wdXRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudCA9IChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCkgKiAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKHByb2dyZXNzUGVyY2VudCAqIDEwMCkgLyAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnRvdGFsID0gZXZlbnQudG90YWw7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09ICd0ZXh0JyAmJiAhIXhoci5yZXNwb25zZVRleHQpIHtcbiAgICAgICAgcHJvZ3Jlc3MucGFydGlhbFRleHQgPSB4aHIucmVzcG9uc2VUZXh0O1xuICAgICAgfVxuXG4gICAgICBvYnNlcnZlci5uZXh0KHByb2dyZXNzKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb25VcFByb2dyZXNzID0gKGV2ZW50OiBQcm9ncmVzc0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IGhlYWRlcnMgfSA9IHBhcnRpYWxGcm9tWGhyKCk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzOiBSZXF1ZXN0RXZlbnQgPSB7XG4gICAgICAgIHR5cGU6ICd1cGxvYWQtcHJvZ3Jlc3MnLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgIGN1cnJlbnQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChldmVudC5sZW5ndGhDb21wdXRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudCA9IChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCkgKiAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKHByb2dyZXNzUGVyY2VudCAqIDEwMCkgLyAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnRvdGFsID0gZXZlbnQudG90YWw7XG4gICAgICB9XG5cbiAgICAgIG9ic2VydmVyLm5leHQocHJvZ3Jlc3MpO1xuICAgIH07XG5cbiAgICB4aHIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uTG9hZCk7XG4gICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIoJ3RpbWVvdXQnLCBvbkVycm9yKTtcbiAgICB4aHIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBvbkVycm9yKTtcblxuICAgIGlmIChjb25maWcucmVwb3J0UHJvZ3Jlc3MpIHtcbiAgICAgIHhoci5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIG9uRG93blByb2dyZXNzKTtcblxuICAgICAgaWYgKHJlcUJvZHkgIT09IG51bGwgJiYgeGhyLnVwbG9hZCkge1xuICAgICAgICB4aHIudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25VcFByb2dyZXNzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB4aHIuc2VuZChyZXFCb2R5KTtcbiAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ3N0YXJ0JywgaGVhZGVycyB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB4aHIucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgIHhoci5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uRXJyb3IpO1xuICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkxvYWQpO1xuICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RpbWVvdXQnLCBvbkVycm9yKTtcblxuICAgICAgaWYgKHJldHJ5VGltZW91dCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHJldHJ5VGltZW91dCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcucmVwb3J0UHJvZ3Jlc3MpIHtcbiAgICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25Eb3duUHJvZ3Jlc3MpO1xuICAgICAgICBpZiAocmVxQm9keSAhPT0gbnVsbCAmJiB4aHIudXBsb2FkKSB7XG4gICAgICAgICAgeGhyLnVwbG9hZC5yZW1vdmVFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIG9uVXBQcm9ncmVzcyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHhoci5yZWFkeVN0YXRlICE9PSB4aHIuRE9ORSkge1xuICAgICAgICB4aHIuYWJvcnQoKTtcbiAgICAgIH1cblxuICAgICAgb2JzZXJ2ZXIubmV4dCh7IHR5cGU6ICdjYW5jZWwnLCBoZWFkZXJzIH0pO1xuICAgIH07XG4gIH0pO1xufTtcbiJdfQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9yZXF1ZXN0L3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBRUwseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLGNBQWMsRUFDZCxTQUFTLEVBQ1QsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixrQkFBa0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQXFCLE1BQXFCLEVBQXNDLEVBQUU7SUFDdkcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQztJQUNyRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUMxQixJQUFJLFlBQVksR0FBa0IsSUFBSSxDQUFDO0lBRXZDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxRQUEwQyxFQUFFLEVBQUU7UUFDbkUsTUFBTSxHQUFHLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsTUFB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LE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN4QyxHQUFHLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRTVDLElBQUksWUFBWSxFQUFFO2dCQUNoQixNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ25DO1lBRUQsSUFBSSxNQUFNLENBQUMsY0FBYyxFQUFFO2dCQUN6QixHQUFHLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRTtvQkFDbEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7aUJBQzFEO2FBQ0Y7WUFFRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDL0IsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2I7WUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBhcnRpYWxYaHJTdGF0ZSwgUmVxdWVzdENvbmZpZywgUmVxdWVzdEVycm9yLCBSZXF1ZXN0RXZlbnQgfSBmcm9tICcuL3JlcXVlc3QudHlwZXMnO1xuaW1wb3J0IHtcbiAgSHR0cFN0YXR1c0NvZGUsXG4gIGJ1aWxkVGltZXN0YW1wRnJvbVNlY29uZHMsXG4gIGRldGVjdENvbnRlbnRUeXBlSGVhZGVyLFxuICBleHRyYWN0RXhwaXJlc0luU2Vjb25kcyxcbiAgZm9yRWFjaEhlYWRlcixcbiAgZ2V0UmVzcG9uc2VVcmwsXG4gIGhhc0hlYWRlcixcbiAgcGFyc2VBbGxYaHJSZXNwb25zZUhlYWRlcnMsXG4gIHNlcmlhbGl6ZUJvZHksXG4gIHNob3VsZFJldHJ5UmVxdWVzdCxcbn0gZnJvbSAnLi9yZXF1ZXN0LnV0aWwnO1xuXG5jb25zdCBYU1NJX1BSRUZJWCA9IC9eXFwpXFxdXFx9Jyw/XFxuLztcblxuZXhwb3J0IGNvbnN0IHJlcXVlc3QgPSA8UmVzcG9uc2UgPSB1bmtub3duPihjb25maWc6IFJlcXVlc3RDb25maWcpOiBPYnNlcnZhYmxlPFJlcXVlc3RFdmVudDxSZXNwb25zZT4+ID0+IHtcbiAgY29uc3QgaGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzIHx8IHt9O1xuICBjb25zdCByZXNwb25zZVR5cGUgPSBjb25maWcucmVzcG9uc2VUeXBlIHx8ICdqc29uJztcbiAgY29uc3QgYm9keSA9IGNvbmZpZy5ib2R5IHx8IG51bGw7XG4gIGNvbnN0IHVybCA9IGNvbmZpZy51cmxXaXRoUGFyYW1zLnNwbGl0KCc/JylbMF07XG4gIGNvbnN0IHJldHJ5Rm4gPSBjb25maWcucmV0cnlGbiB8fCBzaG91bGRSZXRyeVJlcXVlc3Q7XG4gIGxldCBjdXJyZW50UmV0cnlDb3VudCA9IDA7XG4gIGxldCByZXRyeVRpbWVvdXQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFJlcXVlc3RFdmVudDxSZXNwb25zZT4+KSA9PiB7XG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgY29uc3QgcmVxQm9keSA9IHNlcmlhbGl6ZUJvZHkoYm9keSk7XG5cbiAgICBjb25zdCBzZXR1cFhociA9ICgpID0+IHtcbiAgICAgIHhoci5vcGVuKGNvbmZpZy5tZXRob2QsIGNvbmZpZy51cmxXaXRoUGFyYW1zKTtcbiAgICAgIGlmIChjb25maWcud2l0aENyZWRlbnRpYWxzKSB7XG4gICAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBmb3JFYWNoSGVhZGVyKGhlYWRlcnMsIChuYW1lLCB2YWx1ZSkgPT4geGhyLnNldFJlcXVlc3RIZWFkZXIobmFtZSwgdmFsdWUpKTtcblxuICAgICAgaWYgKCFoYXNIZWFkZXIoaGVhZGVycywgJ0FjY2VwdCcpKSB7XG4gICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQnLCAnYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghaGFzSGVhZGVyKGhlYWRlcnMsICdDb250ZW50LVR5cGUnKSkge1xuICAgICAgICBjb25zdCBkZXRlY3RlZFR5cGUgPSBkZXRlY3RDb250ZW50VHlwZUhlYWRlcihib2R5KTtcblxuICAgICAgICBpZiAoZGV0ZWN0ZWRUeXBlKSB7XG4gICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsIGRldGVjdGVkVHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgeGhyLnJlc3BvbnNlVHlwZSA9IHJlc3BvbnNlVHlwZSAhPT0gJ2pzb24nID8gcmVzcG9uc2VUeXBlIDogJ3RleHQnO1xuICAgIH07XG5cbiAgICBzZXR1cFhocigpO1xuXG4gICAgY29uc3QgcGFydGlhbEZyb21YaHIgPSAoKTogUGFydGlhbFhoclN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHN0YXR1c1RleHQgPSB4aHIuc3RhdHVzVGV4dCB8fCAnT0snO1xuICAgICAgY29uc3QgaGVhZGVycyA9IHBhcnNlQWxsWGhyUmVzcG9uc2VIZWFkZXJzKHhocik7XG4gICAgICBjb25zdCBfdXJsID0gZ2V0UmVzcG9uc2VVcmwoeGhyKSB8fCB1cmw7XG5cbiAgICAgIHJldHVybiB7IGhlYWRlcnMsIHN0YXR1czogeGhyLnN0YXR1cywgc3RhdHVzVGV4dCwgdXJsOiBfdXJsIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVJldHJ5ID0gKGVycm9yOiBSZXF1ZXN0RXJyb3IpID0+IHtcbiAgICAgIGNvbnN0IG5ld1JldHJ5Q291bnQgPSBjdXJyZW50UmV0cnlDb3VudCArIDE7XG4gICAgICBjb25zdCB7IGhlYWRlcnMgfSA9IHBhcnRpYWxGcm9tWGhyKCk7XG4gICAgICBjb25zdCB7IHJldHJ5LCBkZWxheSB9ID0gcmV0cnlGbih7IGN1cnJlbnRSZXRyeUNvdW50OiBuZXdSZXRyeUNvdW50LCBoZWFkZXJzLCBlcnJvciB9KTtcblxuICAgICAgaWYgKCFyZXRyeSkge1xuICAgICAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ2ZhaWx1cmUnLCBoZWFkZXJzLCBlcnJvciB9KTtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBfZGVsYXkgPSBkZWxheSA/PyAxMDAwO1xuICAgICAgb2JzZXJ2ZXIubmV4dCh7IHR5cGU6ICdkZWxheS1yZXRyeScsIGhlYWRlcnMsIHJldHJ5TnVtYmVyOiBuZXdSZXRyeUNvdW50LCByZXRyeURlbGF5OiBfZGVsYXkgfSk7XG5cbiAgICAgIHJldHJ5VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0dXBYaHIoKTtcbiAgICAgICAgeGhyLnNlbmQocmVxQm9keSk7XG4gICAgICAgIGN1cnJlbnRSZXRyeUNvdW50ID0gbmV3UmV0cnlDb3VudDtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh7IHR5cGU6ICdzdGFydCcsIGhlYWRlcnMsIGlzUmV0cnk6IHRydWUsIHJldHJ5TnVtYmVyOiBjdXJyZW50UmV0cnlDb3VudCwgcmV0cnlEZWxheTogX2RlbGF5IH0pO1xuICAgICAgfSwgX2RlbGF5KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb25Mb2FkID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBoZWFkZXJzLCBzdGF0dXNUZXh0LCB1cmwgfSA9IHBhcnRpYWxGcm9tWGhyKCk7XG5cbiAgICAgIGxldCB7IHN0YXR1cyB9ID0gcGFydGlhbEZyb21YaHIoKTtcblxuICAgICAgbGV0IGJvZHk6IHVua25vd24gfCBudWxsID0gbnVsbDtcblxuICAgICAgaWYgKHN0YXR1cyAhPT0gSHR0cFN0YXR1c0NvZGUuTm9Db250ZW50KSB7XG4gICAgICAgIGJvZHkgPSB0eXBlb2YgeGhyLnJlc3BvbnNlID09PSAndW5kZWZpbmVkJyA/IHhoci5yZXNwb25zZVRleHQgOiB4aHIucmVzcG9uc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGF0dXMgPT09IDApIHtcbiAgICAgICAgc3RhdHVzID0gYm9keSA/IEh0dHBTdGF0dXNDb2RlLk9rIDogMDtcbiAgICAgIH1cblxuICAgICAgbGV0IG9rID0gc3RhdHVzID49IDIwMCAmJiBzdGF0dXMgPCAzMDA7XG5cbiAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09ICdqc29uJyAmJiB0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxCb2R5ID0gYm9keTtcbiAgICAgICAgYm9keSA9IGJvZHkucmVwbGFjZShYU1NJX1BSRUZJWCwgJycpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGJvZHkgPSBib2R5ICE9PSAnJyA/IEpTT04ucGFyc2UoYm9keSBhcyBzdHJpbmcpIDogbnVsbDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBib2R5ID0gb3JpZ2luYWxCb2R5O1xuXG4gICAgICAgICAgaWYgKG9rKSB7XG4gICAgICAgICAgICBvayA9IGZhbHNlO1xuICAgICAgICAgICAgYm9keSA9IHsgZXJyb3IsIHRleHQ6IGJvZHkgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKG9rKSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NFdmVudDogUmVxdWVzdEV2ZW50PFJlc3BvbnNlPiA9IHtcbiAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICByZXNwb25zZTogYm9keSBhcyBSZXNwb25zZSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBleHBpcmVzSW5TZWNvbmRzID0gY29uZmlnLmNhY2hlQWRhcHRlcj8uKGhlYWRlcnMpID8/IGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzKGhlYWRlcnMpO1xuICAgICAgICBjb25zdCBleHBpcmVzSW5UaW1lc3RhbXAgPSBidWlsZFRpbWVzdGFtcEZyb21TZWNvbmRzKGV4cGlyZXNJblNlY29uZHMpO1xuXG4gICAgICAgIGlmIChleHBpcmVzSW5UaW1lc3RhbXApIHtcbiAgICAgICAgICBzdWNjZXNzRXZlbnQuZXhwaXJlc0luVGltZXN0YW1wID0gZXhwaXJlc0luVGltZXN0YW1wO1xuICAgICAgICB9XG5cbiAgICAgICAgb2JzZXJ2ZXIubmV4dChzdWNjZXNzRXZlbnQpO1xuXG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoYW5kbGVSZXRyeSh7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIGRldGFpbDogYm9keSxcbiAgICAgICAgICBzdGF0dXMsXG4gICAgICAgICAgc3RhdHVzVGV4dCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IG9uRXJyb3IgPSAoZXJyb3I6IFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgdXJsIH0gPSBwYXJ0aWFsRnJvbVhocigpO1xuXG4gICAgICBoYW5kbGVSZXRyeSh7XG4gICAgICAgIHVybCxcbiAgICAgICAgZGV0YWlsOiBlcnJvcixcbiAgICAgICAgc3RhdHVzOiB4aHIuc3RhdHVzIHx8IDAsXG4gICAgICAgIHN0YXR1c1RleHQ6IHhoci5zdGF0dXNUZXh0IHx8ICdVbmtub3duIEVycm9yJyxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkRvd25Qcm9ncmVzcyA9IChldmVudDogUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgICAgY29uc3QgeyBoZWFkZXJzIH0gPSBwYXJ0aWFsRnJvbVhocigpO1xuXG4gICAgICBjb25zdCBwcm9ncmVzczogUmVxdWVzdEV2ZW50ID0ge1xuICAgICAgICB0eXBlOiAnZG93bmxvYWQtcHJvZ3Jlc3MnLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgIGN1cnJlbnQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChldmVudC5sZW5ndGhDb21wdXRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudCA9IChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCkgKiAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKHByb2dyZXNzUGVyY2VudCAqIDEwMCkgLyAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnRvdGFsID0gZXZlbnQudG90YWw7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZVR5cGUgPT09ICd0ZXh0JyAmJiAhIXhoci5yZXNwb25zZVRleHQpIHtcbiAgICAgICAgcHJvZ3Jlc3MucGFydGlhbFRleHQgPSB4aHIucmVzcG9uc2VUZXh0O1xuICAgICAgfVxuXG4gICAgICBvYnNlcnZlci5uZXh0KHByb2dyZXNzKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb25VcFByb2dyZXNzID0gKGV2ZW50OiBQcm9ncmVzc0V2ZW50KSA9PiB7XG4gICAgICBjb25zdCB7IGhlYWRlcnMgfSA9IHBhcnRpYWxGcm9tWGhyKCk7XG5cbiAgICAgIGNvbnN0IHByb2dyZXNzOiBSZXF1ZXN0RXZlbnQgPSB7XG4gICAgICAgIHR5cGU6ICd1cGxvYWQtcHJvZ3Jlc3MnLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgIGN1cnJlbnQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChldmVudC5sZW5ndGhDb21wdXRhYmxlKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzUGVyY2VudCA9IChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCkgKiAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKHByb2dyZXNzUGVyY2VudCAqIDEwMCkgLyAxMDA7XG4gICAgICAgIHByb2dyZXNzLnByb2dyZXNzLnRvdGFsID0gZXZlbnQudG90YWw7XG4gICAgICB9XG5cbiAgICAgIG9ic2VydmVyLm5leHQocHJvZ3Jlc3MpO1xuICAgIH07XG5cbiAgICB4aHIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9uTG9hZCk7XG4gICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgeGhyLmFkZEV2ZW50TGlzdGVuZXIoJ3RpbWVvdXQnLCBvbkVycm9yKTtcbiAgICB4aHIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBvbkVycm9yKTtcblxuICAgIGlmIChjb25maWcucmVwb3J0UHJvZ3Jlc3MpIHtcbiAgICAgIHhoci5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIG9uRG93blByb2dyZXNzKTtcblxuICAgICAgaWYgKHJlcUJvZHkgIT09IG51bGwgJiYgeGhyLnVwbG9hZCkge1xuICAgICAgICB4aHIudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25VcFByb2dyZXNzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB4aHIuc2VuZChyZXFCb2R5KTtcbiAgICBvYnNlcnZlci5uZXh0KHsgdHlwZTogJ3N0YXJ0JywgaGVhZGVycyB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB4aHIucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBvbkVycm9yKTtcbiAgICAgIHhoci5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uRXJyb3IpO1xuICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbkxvYWQpO1xuICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RpbWVvdXQnLCBvbkVycm9yKTtcblxuICAgICAgaWYgKHJldHJ5VGltZW91dCkge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHJldHJ5VGltZW91dCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25maWcucmVwb3J0UHJvZ3Jlc3MpIHtcbiAgICAgICAgeGhyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgb25Eb3duUHJvZ3Jlc3MpO1xuICAgICAgICBpZiAocmVxQm9keSAhPT0gbnVsbCAmJiB4aHIudXBsb2FkKSB7XG4gICAgICAgICAgeGhyLnVwbG9hZC5yZW1vdmVFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIG9uVXBQcm9ncmVzcyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHhoci5yZWFkeVN0YXRlICE9PSB4aHIuRE9ORSkge1xuICAgICAgICB4aHIuYWJvcnQoKTtcbiAgICAgIH1cblxuICAgICAgb2JzZXJ2ZXIubmV4dCh7IHR5cGU6ICdjYW5jZWwnLCBoZWFkZXJzIH0pO1xuICAgIH07XG4gIH0pO1xufTtcbiJdfQ==
|
|
@@ -321,9 +321,7 @@ const request = (config) => {
|
|
|
321
321
|
return new Observable((observer) => {
|
|
322
322
|
const xhr = new XMLHttpRequest();
|
|
323
323
|
const reqBody = serializeBody(body);
|
|
324
|
-
let headerResponse = null;
|
|
325
324
|
const setupXhr = () => {
|
|
326
|
-
headerResponse = null;
|
|
327
325
|
xhr.open(config.method, config.urlWithParams);
|
|
328
326
|
if (config.withCredentials) {
|
|
329
327
|
xhr.withCredentials = true;
|
|
@@ -342,14 +340,10 @@ const request = (config) => {
|
|
|
342
340
|
};
|
|
343
341
|
setupXhr();
|
|
344
342
|
const partialFromXhr = () => {
|
|
345
|
-
if (headerResponse !== null) {
|
|
346
|
-
return headerResponse;
|
|
347
|
-
}
|
|
348
343
|
const statusText = xhr.statusText || 'OK';
|
|
349
344
|
const headers = parseAllXhrResponseHeaders(xhr);
|
|
350
345
|
const _url = getResponseUrl(xhr) || url;
|
|
351
|
-
|
|
352
|
-
return headerResponse;
|
|
346
|
+
return { headers, status: xhr.status, statusText, url: _url };
|
|
353
347
|
};
|
|
354
348
|
const handleRetry = (error) => {
|
|
355
349
|
const newRetryCount = currentRetryCount + 1;
|
|
@@ -797,10 +791,12 @@ class Query {
|
|
|
797
791
|
rawResponse,
|
|
798
792
|
response,
|
|
799
793
|
})
|
|
800
|
-
:
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
794
|
+
: response[key] === newData[key]
|
|
795
|
+
? {
|
|
796
|
+
response: newData,
|
|
797
|
+
rawResponse: newData,
|
|
798
|
+
}
|
|
799
|
+
: null;
|
|
804
800
|
if (!newResponse) {
|
|
805
801
|
return;
|
|
806
802
|
}
|
|
@@ -1252,9 +1248,9 @@ class QueryDirective {
|
|
|
1252
1248
|
}
|
|
1253
1249
|
}
|
|
1254
1250
|
}
|
|
1255
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
1256
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
1257
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
1251
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1252
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
1253
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: QueryDirective, decorators: [{
|
|
1258
1254
|
type: Directive,
|
|
1259
1255
|
args: [{
|
|
1260
1256
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1396,14 +1392,7 @@ class InfinityQuery {
|
|
|
1396
1392
|
this._subscriptions = this._subscriptions.filter((sub) => sub !== stateChangesSub);
|
|
1397
1393
|
},
|
|
1398
1394
|
});
|
|
1399
|
-
|
|
1400
|
-
next: (state) => {
|
|
1401
|
-
if (state.meta.triggeredVia === 'auto') {
|
|
1402
|
-
this.reset();
|
|
1403
|
-
}
|
|
1404
|
-
},
|
|
1405
|
-
});
|
|
1406
|
-
this._subscriptions.push(stateChangesSub, queryAutoRefreshSub);
|
|
1395
|
+
this._subscriptions.push(stateChangesSub);
|
|
1407
1396
|
}
|
|
1408
1397
|
_prepareArgs(config, page) {
|
|
1409
1398
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
@@ -1594,9 +1583,9 @@ class InfinityQueryDirective {
|
|
|
1594
1583
|
this._data$.next([]);
|
|
1595
1584
|
}
|
|
1596
1585
|
}
|
|
1597
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
1598
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
1599
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
1586
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1587
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }, DestroyService], exportAs: ["infinityQuery"], ngImport: i0 });
|
|
1588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
1600
1589
|
type: Directive,
|
|
1601
1590
|
args: [{
|
|
1602
1591
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1647,9 +1636,9 @@ class InfinityQueryTriggerDirective {
|
|
|
1647
1636
|
this._observer.observe(this._elementRef.nativeElement);
|
|
1648
1637
|
}
|
|
1649
1638
|
}
|
|
1650
|
-
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
1651
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
1652
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
1639
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1640
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
1641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
1653
1642
|
type: Directive,
|
|
1654
1643
|
args: [{
|
|
1655
1644
|
// eslint-disable-next-line @angular-eslint/directive-selector
|