@ethlete/query 0.1.0-next.0 → 0.1.0-next.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/auth/bearer-auth-provider.mjs +4 -3
- 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/query/query.mjs +2 -2
- package/esm2020/lib/request/request.mjs +2 -2
- package/esm2020/lib/request/request.types.mjs +1 -1
- package/esm2020/lib/request/request.util.mjs +12 -2
- package/fesm2015/ethlete-query.mjs +30 -19
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +25 -14
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/lib/request/request.types.d.ts +2 -0
- package/lib/request/request.util.d.ts +2 -2
- package/package.json +3 -3
|
@@ -55,11 +55,12 @@ export class BearerAuthProvider {
|
|
|
55
55
|
route,
|
|
56
56
|
});
|
|
57
57
|
const body = bodyAdapter ? bodyAdapter(this._refreshToken) : { refreshToken: this._refreshToken };
|
|
58
|
+
const requestInit = { body: buildBody(body), method };
|
|
58
59
|
this.onRefreshInitiation$.next();
|
|
59
60
|
try {
|
|
60
61
|
const result = await request({
|
|
61
62
|
route: fullRoute,
|
|
62
|
-
init:
|
|
63
|
+
init: requestInit,
|
|
63
64
|
});
|
|
64
65
|
const tokens = responseAdapter ? responseAdapter(result.data) : result.data;
|
|
65
66
|
if (!tokens.token) {
|
|
@@ -74,7 +75,7 @@ export class BearerAuthProvider {
|
|
|
74
75
|
}
|
|
75
76
|
catch (error) {
|
|
76
77
|
if (error instanceof Error) {
|
|
77
|
-
this.onRefreshFailure$.next(await buildRequestError(error));
|
|
78
|
+
this.onRefreshFailure$.next(await buildRequestError(error, fullRoute, requestInit));
|
|
78
79
|
}
|
|
79
80
|
else {
|
|
80
81
|
this.onRefreshFailure$.next(error);
|
|
@@ -82,4 +83,4 @@ export class BearerAuthProvider {
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhcmVyLWF1dGgtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvYXV0aC9iZWFyZXItYXV0aC1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFnQixNQUFNLFlBQVksQ0FBQztBQVE3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGtCQUFrQjtJQWU3QixZQUFvQixPQUFpQztRQUFqQyxZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQWI3QyxrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFDcEMsOEJBQXlCLEdBQXdCLElBQUksQ0FBQztRQU05RCxnQkFBVyxHQUF1QixJQUFJLENBQUM7UUFFdkMseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMzQyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUNqRCxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUc5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7UUFFMUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBakJELElBQUksTUFBTTtRQUNSLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxJQUFJLENBQUMsTUFBTSxFQUFFLEVB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QUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2FBQ3hEO1lBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUV6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7YUFDckY7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFxQixDQUFDLENBQUM7YUFDcEQ7U0FDRjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50IH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7IGJ1aWxkQm9keSwgYnVpbGRSZXF1ZXN0RXJyb3IsIGJ1aWxkUm91dGUsIHJlcXVlc3QsIFJlcXVlc3RFcnJvciB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHtcbiAgQXV0aEJlYXJlclJlZnJlc2hTdHJhdGVneSxcbiAgQXV0aFByb3ZpZGVyLFxuICBBdXRoUHJvdmlkZXJCZWFyZXJDb25maWcsXG4gIEJlYXJlclJlZnJlc2hDb25maWcsXG4gIFRva2VuUmVzcG9uc2UsXG59IGZyb20gJy4vYXV0aC1wcm92aWRlci50eXBlcyc7XG5pbXBvcnQgeyBkZWNyeXB0QmVhcmVyIH0gZnJvbSAnLi9hdXRoLXByb3ZpZGVyLnV0aWxzJztcblxuZXhwb3J0IGNsYXNzIEJlYXJlckF1dGhQcm92aWRlciBpbXBsZW1lbnRzIEF1dGhQcm92aWRlciB7XG4gIHByaXZhdGUgX3Rva2VuOiBzdHJpbmc7XG4gIHByaXZhdGUgX3JlZnJlc2hUb2tlbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3JlZnJlc2hUaW1lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IGhlYWRlcigpIHtcbiAgICByZXR1cm4geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5fdG9rZW59YCB9O1xuICB9XG5cbiAgcXVlcnlDbGllbnQ6IFF1ZXJ5Q2xpZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgb25SZWZyZXNoSW5pdGlhdGlvbiQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBvblJlZnJlc2hTdWNjZXNzJCA9IG5ldyBTdWJqZWN0PFRva2VuUmVzcG9uc2U+KCk7XG4gIG9uUmVmcmVzaEZhaWx1cmUkID0gbmV3IFN1YmplY3Q8UmVxdWVzdEVycm9yPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogQXV0aFByb3ZpZGVyQmVhcmVyQ29uZmlnKSB7XG4gICAgdGhpcy5fdG9rZW4gPSBfY29uZmlnLnRva2VuO1xuICAgIHRoaXMuX3JlZnJlc2hUb2tlbiA9IF9jb25maWcucmVmcmVzaENvbmZpZz8udG9rZW4gPz8gbnVsbDtcblxuICAgIGlmICh0aGlzLl9jb25maWcucmVmcmVzaENvbmZpZykge1xuICAgICAgdGhpcy5fc2V0dXBSZWZyZXNoKHRoaXMuX2NvbmZpZy5yZWZyZXNoQ29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBjbGVhblVwKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZnJlc2hUaW1lclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9yZWZyZXNoVGltZXJTdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBSZWZyZXNoKGNvbmZpZzogQmVhcmVyUmVmcmVzaENvbmZpZykge1xuICAgIGNvbnN0IGJlYXJlciA9IGRlY3J5cHRCZWFyZXIodGhpcy5fdG9rZW4pO1xuXG4gICAgaWYgKCFiZWFyZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBleHBpcmVzSW5Qcm9wZXJ0eU5hbWUgPSBjb25maWcuZXhwaXJlc0luUHJvcGVydHlOYW1lIHx8ICdleHAnO1xuICAgIGNvbnN0IGV4cGlyZXNJbiA9IGJlYXJlcltleHBpcmVzSW5Qcm9wZXJ0eU5hbWVdIGFzIG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmaXZlTWludXRlcyA9IDUgKiA2MCAqIDEwMDA7XG5cbiAgICBpZiAoZXhwaXJlc0luID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQmVhcmVyIHRva2VuIGRvZXMgbm90IGNvbnRhaW4gYW4gJyR7ZXhwaXJlc0luUHJvcGVydHlOYW1lfScgcHJvcGVydHlgKTtcbiAgICB9XG5cbiAgICBjb25zdCByZW1haW5pbmdUaW1lID0gbmV3IERhdGUoZXhwaXJlc0luICogMTAwMCkuZ2V0VGltZSgpIC0gZml2ZU1pbnV0ZXMgLSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gY29uZmlnLnN0cmF0ZWd5ID8/IEF1dGhCZWFyZXJSZWZyZXNoU3RyYXRlZ3kuQmVmb3JlRXhwaXJhdGlvbjtcblxuICAgIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAgIGNhc2UgQXV0aEJlYXJlclJlZnJlc2hTdHJhdGVneS5CZWZvcmVFeHBpcmF0aW9uOlxuICAgICAgICB0aGlzLl9yZWZyZXNoVGltZXJTdWJzY3JpcHRpb24gPSB0aW1lcihyZW1haW5pbmdUaW1lKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaChjb25maWcpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfcmVmcmVzaChjb25maWc6IEJlYXJlclJlZnJlc2hDb25maWcpIHtcbiAgICBpZiAoIXRoaXMuX3JlZnJlc2hUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyByZWZyZXNoIHRva2VuIGZvdW5kJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnF1ZXJ5Q2xpZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1F1ZXJ5IGNsaWVudCBpbnN0YW5jZSBpcyBudWxsJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBtZXRob2QsIHJvdXRlLCBib2R5QWRhcHRlciwgcmVzcG9uc2VBZGFwdGVyIH0gPSBjb25maWc7XG5cbiAgICBjb25zdCBmdWxsUm91dGUgPSBidWlsZFJvdXRlKHtcbiAgICAgIGJhc2U6IHRoaXMucXVlcnlDbGllbnQuY29uZmlnLmJhc2VSb3V0ZSxcbiAgICAgIHJvdXRlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYm9keSA9IGJvZHlBZGFwdGVyID8gYm9keUFkYXB0ZXIodGhpcy5fcmVmcmVzaFRva2VuKSA6IHsgcmVmcmVzaFRva2VuOiB0aGlzLl9yZWZyZXNoVG9rZW4gfTtcbiAgICBjb25zdCByZXF1ZXN0SW5pdDogUmVxdWVzdEluaXQgPSB7IGJvZHk6IGJ1aWxkQm9keShib2R5KSwgbWV0aG9kIH07XG5cbiAgICB0aGlzLm9uUmVmcmVzaEluaXRpYXRpb24kLm5leHQoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXF1ZXN0KHtcbiAgICAgICAgcm91dGU6IGZ1bGxSb3V0ZSxcbiAgICAgICAgaW5pdDogcmVxdWVzdEluaXQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgdG9rZW5zID0gcmVzcG9uc2VBZGFwdGVyID8gcmVzcG9uc2VBZGFwdGVyKHJlc3VsdC5kYXRhKSA6IChyZXN1bHQuZGF0YSBhcyBUb2tlblJlc3BvbnNlKTtcblxuICAgICAgaWYgKCF0b2tlbnMudG9rZW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb2tlbiBub3QgZm91bmQgaW4gcmVzcG9uc2UnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0b2tlbnMucmVmcmVzaFRva2VuKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUmVmcmVzaCB0b2tlbiBub3QgZm91bmQgaW4gcmVzcG9uc2UnKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fdG9rZW4gPSB0b2tlbnMudG9rZW47XG4gICAgICB0aGlzLl9yZWZyZXNoVG9rZW4gPSB0b2tlbnMucmVmcmVzaFRva2VuO1xuXG4gICAgICB0aGlzLm9uUmVmcmVzaFN1Y2Nlc3MkLm5leHQodG9rZW5zKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgdGhpcy5vblJlZnJlc2hGYWlsdXJlJC5uZXh0KGF3YWl0IGJ1aWxkUmVxdWVzdEVycm9yKGVycm9yLCBmdWxsUm91dGUsIHJlcXVlc3RJbml0KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm9uUmVmcmVzaEZhaWx1cmUkLm5leHQoZXJyb3IgYXMgUmVxdWVzdEVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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: "14.2.
|
|
43
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
42
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
45
45
|
type: Directive,
|
|
46
46
|
args: [{
|
|
47
47
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -113,9 +113,9 @@ export class InfinityQueryDirective {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
117
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
116
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
117
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }], ngImport: i0 });
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
119
119
|
type: Directive,
|
|
120
120
|
args: [{
|
|
121
121
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -83,9 +83,9 @@ export class QueryDirective {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
87
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
86
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
87
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: QueryDirective, decorators: [{
|
|
89
89
|
type: Directive,
|
|
90
90
|
args: [{
|
|
91
91
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -65,7 +65,7 @@ export class Query {
|
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
67
|
body = buildBody(this._args?.body);
|
|
68
|
-
contentType = guessContentType(body);
|
|
68
|
+
contentType = guessContentType(this._args?.body);
|
|
69
69
|
}
|
|
70
70
|
let authHeader = null;
|
|
71
71
|
if (this._queryConfig.secure) {
|
|
@@ -161,4 +161,4 @@ export class Query {
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXRDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixjQUFjLEVBRWQsT0FBTyxFQUNQLGVBQWUsR0FDaEIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVl0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE1BQU0sT0FBTyxLQUFLO0lBdUNoQixZQUNVLE9BQW9CLEVBQ3BCLFlBRTJELEVBQzNELE1BQWEsRUFDYixLQUE0QjtRQUw1QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUUrQztRQUMzRCxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUF0QzlCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3pDLHlCQUFvQixHQUF3QixJQUFJLENBQUM7UUFzQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQXdEO1lBQ3hGLElBQUksMENBQXlCO1lBQzdCLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7SUF0Q0QsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFD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QUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFdEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRWpDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQWMsRUFBRSxJQUFvQjtRQUM5RCxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixJQUFJLDRDQUEwQjtnQkFDOUIsSUFBSTthQUNMLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksd0NBQXdCO2dCQUM1QixLQUFLO2dCQUNMLElBQUk7YUFDTCxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUM7U0FDYjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1HcWwgfSBmcm9tICcuLi9ncWwnO1xuaW1wb3J0IHsgRGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXIsIFF1ZXJ5Q2xpZW50LCBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZSB9IGZyb20gJy4uL3F1ZXJ5LWNsaWVudCc7XG5pbXBvcnQge1xuICBidWlsZEJvZHksXG4gIGd1ZXNzQ29udGVudFR5cGUsXG4gIGlzQWJvcnRSZXF1ZXN0RXJyb3IsXG4gIGlzUmVxdWVzdEVycm9yLFxuICBNZXRob2QgYXMgTWV0aG9kVHlwZSxcbiAgcmVxdWVzdCxcbiAgdHJhbnNmb3JtTWV0aG9kLFxufSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IGRlZXBGcmVlemUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBCYXNlQXJndW1lbnRzLFxuICBHcWxRdWVyeUNvbmZpZyxcbiAgUG9sbENvbmZpZyxcbiAgUXVlcnlDb25maWcsXG4gIFF1ZXJ5U3RhdGUsXG4gIFF1ZXJ5U3RhdGVNZXRhLFxuICBRdWVyeVN0YXRlVHlwZSxcbiAgUm91dGVUeXBlLFxuICBSdW5RdWVyeU9wdGlvbnMsXG59IGZyb20gJy4vcXVlcnkudHlwZXMnO1xuaW1wb3J0IHsgaXNHcWxRdWVyeUNvbmZpZywgaXNRdWVyeVN0YXRlTG9hZGluZywgaXNRdWVyeVN0YXRlU3VjY2VzcywgbWVyZ2VIZWFkZXJzIH0gZnJvbSAnLi9xdWVyeS51dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeTxcbiAgUmVzcG9uc2UsXG4gIEFyZ3VtZW50cyBleHRlbmRzIEJhc2VBcmd1bWVudHMgfCB1bmRlZmluZWQsXG4gIFJvdXRlIGV4dGVuZHMgUm91dGVUeXBlPEFyZ3VtZW50cz4sXG4gIE1ldGhvZCBleHRlbmRzIE1ldGhvZFR5cGUsXG4gIFJlc3BvbnNlVHJhbnNmb3JtZXIgZXh0ZW5kcyBSZXNwb25zZVRyYW5zZm9ybWVyVHlwZTxSZXNwb25zZT4gPSBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lcjxSZXNwb25zZT4sXG4+IHtcbiAgcHJpdmF0ZSBfY3VycmVudElkID0gMDtcbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICBwcml2YXRlIF9wb2xsaW5nU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDxRdWVyeVN0YXRlPFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4sIFJlc3BvbnNlPj47XG5cbiAgcHJpdmF0ZSBnZXQgX25leHRJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudElkKys7XG4gIH1cblxuICBnZXQgc3RhdGUkKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBpc0V4cGlyZWQoKSB7XG4gICAgaWYgKCFpc1F1ZXJ5U3RhdGVTdWNjZXNzKHRoaXMuc3RhdGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgdHMgPSB0aGlzLnN0YXRlLm1ldGEuZXhwaXJlc0F0O1xuXG4gICAgaWYgKCF0cykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRzIDwgRGF0ZS5ub3coKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NsaWVudDogUXVlcnlDbGllbnQsXG4gICAgcHJpdmF0ZSBfcXVlcnlDb25maWc6XG4gICAgICB8IFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPlxuICAgICAgfCBHcWxRdWVyeUNvbmZpZzxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgUmVzcG9uc2VUcmFuc2Zvcm1lcj4sXG4gICAgcHJpdmF0ZSBfcm91dGU6IFJvdXRlLFxuICAgIHByaXZhdGUgX2FyZ3M6IEFyZ3VtZW50cyB8IHVuZGVmaW5lZCxcbiAgKSB7XG4gICAgdGhpcy5fc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeVN0YXRlPFJldHVyblR5cGU8UmVzcG9uc2VUcmFuc2Zvcm1lcj4sIFJlc3BvbnNlPj4oe1xuICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuUHJlcGFyZWQsXG4gICAgICBtZXRhOiB7IGlkOiB0aGlzLl9jdXJyZW50SWQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZmV0Y2g8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIE1ldGhvZCwgUmVzcG9uc2VUcmFuc2Zvcm1lcj4odGhpcy5fcXVlcnlDb25maWcpO1xuICB9XG5cbiAgZXhlY3V0ZTxDb21wdXRlZFJlc3BvbnNlIGV4dGVuZHMgUmV0dXJuVHlwZTxSZXNwb25zZVRyYW5zZm9ybWVyPj4ob3B0aW9ucz86IFJ1blF1ZXJ5T3B0aW9ucykge1xuICAgIGlmICghdGhpcy5pc0V4cGlyZWQgJiYgIW9wdGlvbnM/LnNraXBDYWNoZSAmJiBpc1F1ZXJ5U3RhdGVTdWNjZXNzKHRoaXMuc3RhdGUpKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcXVlcnlDb25maWcuc2VjdXJlICYmICF0aGlzLl9jbGllbnQuYXV0aFByb3ZpZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBleGVjdXRlIHNlY3VyZSBxdWVyeSB3aXRob3V0IGF1dGggcHJvdmlkZXInKTtcbiAgICB9XG5cbiAgICBjb25zdCBpZCA9IHRoaXMuX25leHRJZDtcblxuICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHRoaXMuX3N0YXRlJC52YWx1ZSkpIHtcbiAgICAgIHRoaXMuYWJvcnQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhID0gZGVlcEZyZWV6ZSh7IGlkIH0pO1xuXG4gICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuTG9hZGluZyxcbiAgICAgIG1ldGEsXG4gICAgfSk7XG5cbiAgICBsZXQgYm9keTogc3RyaW5nIHwgRm9ybURhdGEgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgY29udGVudFR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGlzR3FsUXVlcnlDb25maWcodGhpcy5fcXVlcnlDb25maWcpKSB7XG4gICAgICBjb25zdCBxdWVyeVRlbXBsYXRlID0gdGhpcy5fcXVlcnlDb25maWcucXVlcnk7XG4gICAgICBjb25zdCBxdWVyeSA9IHRyYW5zZm9ybUdxbChxdWVyeVRlbXBsYXRlKTtcblxuICAgICAgY29udGVudFR5cGUgPSAnYXBwbGljYXRpb24vanNvbic7XG4gICAgICBib2R5ID0gcXVlcnkodGhpcy5fYXJncz8udmFyaWFibGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYm9keSA9IGJ1aWxkQm9keSh0aGlzLl9hcmdzPy5ib2R5KTtcbiAgICAgIGNvbnRlbnRUeXBlID0gZ3Vlc3NDb250ZW50VHlwZShib2R5KTtcbiAgICB9XG5cbiAgICBsZXQgYXV0aEhlYWRlcjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSkge1xuICAgICAgY29uc3QgaGVhZGVyID0gdGhpcy5fY2xpZW50LmF1dGhQcm92aWRlcj8uaGVhZGVyO1xuXG4gICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgIGF1dGhIZWFkZXIgPSBoZWFkZXI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLl9jbGllbnQuYXV0aFByb3ZpZGVyPy5oZWFkZXIpIHtcbiAgICAgIGlmICh0aGlzLl9xdWVyeUNvbmZpZy5zZWN1cmUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl9xdWVyeUNvbmZpZy5zZWN1cmUpIHtcbiAgICAgICAgYXV0aEhlYWRlciA9IHRoaXMuX2NsaWVudC5hdXRoUHJvdmlkZXIuaGVhZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBoZWFkZXJzID0gbWVyZ2VIZWFkZXJzKGF1dGhIZWFkZXIsIHRoaXMuX2FyZ3M/LmhlYWRlcnMpO1xuXG4gICAgaWYgKGNvbnRlbnRUeXBlICYmICFoZWFkZXJzPy5bJ0NvbnRlbnQtVHlwZSddICYmICFoZWFkZXJzPy5bJ2NvbnRlbnQtdHlwZSddKSB7XG4gICAgICBpZiAoaGVhZGVycykge1xuICAgICAgICBoZWFkZXJzWydDb250ZW50LVR5cGUnXSA9IGNvbnRlbnRUeXBlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGVhZGVycyA9IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogY29udGVudFR5cGUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVxdWVzdDxSZXNwb25zZT4oe1xuICAgICAgcm91dGU6IHRoaXMuX3JvdXRlLFxuICAgICAgaW5pdDoge1xuICAgICAgICBtZXRob2Q6IHRyYW5zZm9ybU1ldGhvZCh0aGlzLl9xdWVyeUNvbmZpZy5tZXRob2QpLFxuICAgICAgICBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIGJvZHksXG4gICAgICAgIGhlYWRlcnM6IGhlYWRlcnMgfHwgdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIGNhY2hlQWRhcHRlcjogdGhpcy5fY2xpZW50LmNvbmZpZy5yZXF1ZXN0Py5jYWNoZUFkYXB0ZXIsXG4gICAgfSlcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCBpc1Jlc3BvbnNlT2JqZWN0ID0gdHlwZW9mIHJlc3BvbnNlID09PSAnb2JqZWN0JztcblxuICAgICAgICBjb25zdCBpc0dxbCA9IGlzR3FsUXVlcnlDb25maWcodGhpcy5fcXVlcnlDb25maWcpO1xuXG4gICAgICAgIGxldCByZXNwb25zZURhdGE6IFJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGlmIChpc0dxbCAmJiBpc1Jlc3BvbnNlT2JqZWN0ICYmICdkYXRhJyBpbiByZXNwb25zZS5kYXRhKSB7XG4gICAgICAgICAgcmVzcG9uc2VEYXRhID0gKHJlc3BvbnNlLmRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pWydkYXRhJ10gYXMgUmVzcG9uc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2VEYXRhID0gcmVzcG9uc2UuZGF0YSBhcyBSZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkUmVzcG9uc2UgPSB0aGlzLl9xdWVyeUNvbmZpZy5yZXNwb25zZVRyYW5zZm9ybWVyXG4gICAgICAgICAgPyB0aGlzLl9xdWVyeUNvbmZpZy5yZXNwb25zZVRyYW5zZm9ybWVyKHJlc3BvbnNlRGF0YSlcbiAgICAgICAgICA6IHJlc3BvbnNlRGF0YTtcblxuICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuU3VjY2VzcyxcbiAgICAgICAgICByZXNwb25zZTogZGVlcEZyZWV6ZSh0cmFuc2Zvcm1lZFJlc3BvbnNlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSBhcyBDb21wdXRlZFJlc3BvbnNlLFxuICAgICAgICAgIHJhd1Jlc3BvbnNlOiBkZWVwRnJlZXplKHJlc3BvbnNlRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgYXMgUmVzcG9uc2UsXG4gICAgICAgICAgbWV0YTogZGVlcEZyZWV6ZSh7IC4uLm1ldGEsIGV4cGlyZXNBdDogcmVzcG9uc2UuZXhwaXJlc0luVGltZXN0YW1wIH0pLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB0aGlzLl9oYW5kbGVFeGVjdXRlRXJyb3IoZXJyb3IsIG1ldGEpKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYWJvcnQoKSB7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwb2xsKGNvbmZpZzogUG9sbENvbmZpZykge1xuICAgIGlmICh0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uID0gaW50ZXJ2YWwoY29uZmlnLmludGVydmFsKVxuICAgICAgLnBpcGUodGFrZVVudGlsKGNvbmZpZy50YWtlVW50aWwpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmV4ZWN1dGUoeyBza2lwQ2FjaGU6IHRydWUgfSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzdG9wUG9sbGluZygpIHtcbiAgICB0aGlzLl9wb2xsaW5nU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVFeGVjdXRlRXJyb3IoZXJyb3I6IHVua25vd24sIG1ldGE6IFF1ZXJ5U3RhdGVNZXRhKSB7XG4gICAgaWYgKGlzQWJvcnRSZXF1ZXN0RXJyb3IoZXJyb3IpKSB7XG4gICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkNhbmNlbGxlZCxcbiAgICAgICAgbWV0YSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNSZXF1ZXN0RXJyb3IoZXJyb3IpKSB7XG4gICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgIHR5cGU6IFF1ZXJ5U3RhdGVUeXBlLkZhaWx1cmUsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBtZXRhLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvcXVlcnkvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXRDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixjQUFjLEVBRWQsT0FBTyxFQUNQLGVBQWUsR0FDaEIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVl0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE1BQU0sT0FBTyxLQUFLO0lBdUNoQixZQUNVLE9BQW9CLEVBQ3BCLFlBRTJELEVBQzNELE1BQWEsRUFDYixLQUE0QjtRQUw1QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGlCQUFZLEdBQVosWUFBWSxDQUUrQztRQUMzRCxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUF0QzlCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3pDLHlCQUFvQixHQUF3QixJQUFJLENBQUM7UUFzQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQXdEO1lBQ3hGLElBQUksMENBQXlCO1lBQzdCLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7SUF0Q0QsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUVyQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1AsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBZ0JELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUEwRCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELE9BQU8sQ0FBMkQsT0FBeUI7UUFDekYsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3RSxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtRQUVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFeEIsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO1FBRUQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixJQUFJLHdDQUF3QjtZQUM1QixJQUFJO1NBQ0wsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLEdBQTZCLElBQUksQ0FBQztRQUMxQyxJQUFJLFdBQVcsR0FBa0IsSUFBSSxDQUFDO1FBRXRDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQzlDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUUxQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7WUFDakMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkMsV0FBVyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLFVBQVUsR0FBa0MsSUFBSSxDQUFDO1FBRXJELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDO1lBRWpELElBQUksTUFBTSxFQUFFO2dCQUNWLFVBQVUsR0FBRyxNQUFNLENBQUM7YUFDckI7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUN0RSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO2FBQy9DO1NBQ0Y7UUFFRCxJQUFJLE9BQU8sR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFNUQsSUFBSSxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzNFLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsT0FBTyxHQUFHO29CQUNSLGNBQWMsRUFBRSxXQUFXO2lCQUM1QixDQUFDO2FBQ0g7U0FDRjtRQUVELE9BQU8sQ0FBVztZQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbEIsSUFBSSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ2pELE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTTtnQkFDcEMsSUFBSTtnQkFDSixPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVM7YUFDOUI7WUFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFlBQVk7U0FDeEQsQ0FBQzthQUNDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDO1lBRXRELE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVsRCxJQUFJLFlBQVksR0FBb0IsSUFBSSxDQUFDO1lBQ3pDLElBQUksS0FBSyxJQUFJLGdCQUFnQixJQUFJLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUN4RCxZQUFZLEdBQUksUUFBUSxDQUFDLElBQWdDLENBQUMsTUFBTSxDQUFhLENBQUM7YUFDL0U7aUJBQU07Z0JBQ0wsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFnQixDQUFDO2FBQzFDO1lBRUQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQjtnQkFDL0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDO2dCQUNyRCxDQUFDLENBQUMsWUFBWSxDQUFDO1lBRWpCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixJQUFJLHdDQUF3QjtnQkFDNUIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxtQkFBOEMsQ0FBcUI7Z0JBQ3hGLFdBQVcsRUFBRSxVQUFVLENBQUMsWUFBdUMsQ0FBYTtnQkFDNUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUN0RSxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUUzRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRTlDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFrQjtRQUNyQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2FBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV0RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFFakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBYyxFQUFFLElBQW9CO1FBQzlELElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksNENBQTBCO2dCQUM5QixJQUFJO2FBQ0wsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSx3Q0FBd0I7Z0JBQzVCLEtBQUs7Z0JBQ0wsSUFBSTthQUNMLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxNQUFNLEtBQUssQ0FBQztTQUNiO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUdxbCB9IGZyb20gJy4uL2dxbCc7XG5pbXBvcnQgeyBEZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lciwgUXVlcnlDbGllbnQsIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlIH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7XG4gIGJ1aWxkQm9keSxcbiAgZ3Vlc3NDb250ZW50VHlwZSxcbiAgaXNBYm9ydFJlcXVlc3RFcnJvcixcbiAgaXNSZXF1ZXN0RXJyb3IsXG4gIE1ldGhvZCBhcyBNZXRob2RUeXBlLFxuICByZXF1ZXN0LFxuICB0cmFuc2Zvcm1NZXRob2QsXG59IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgZGVlcEZyZWV6ZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIEJhc2VBcmd1bWVudHMsXG4gIEdxbFF1ZXJ5Q29uZmlnLFxuICBQb2xsQ29uZmlnLFxuICBRdWVyeUNvbmZpZyxcbiAgUXVlcnlTdGF0ZSxcbiAgUXVlcnlTdGF0ZU1ldGEsXG4gIFF1ZXJ5U3RhdGVUeXBlLFxuICBSb3V0ZVR5cGUsXG4gIFJ1blF1ZXJ5T3B0aW9ucyxcbn0gZnJvbSAnLi9xdWVyeS50eXBlcyc7XG5pbXBvcnQgeyBpc0dxbFF1ZXJ5Q29uZmlnLCBpc1F1ZXJ5U3RhdGVMb2FkaW5nLCBpc1F1ZXJ5U3RhdGVTdWNjZXNzLCBtZXJnZUhlYWRlcnMgfSBmcm9tICcuL3F1ZXJ5LnV0aWxzJztcblxuZXhwb3J0IGNsYXNzIFF1ZXJ5PFxuICBSZXNwb25zZSxcbiAgQXJndW1lbnRzIGV4dGVuZHMgQmFzZUFyZ3VtZW50cyB8IHVuZGVmaW5lZCxcbiAgUm91dGUgZXh0ZW5kcyBSb3V0ZVR5cGU8QXJndW1lbnRzPixcbiAgTWV0aG9kIGV4dGVuZHMgTWV0aG9kVHlwZSxcbiAgUmVzcG9uc2VUcmFuc2Zvcm1lciBleHRlbmRzIFJlc3BvbnNlVHJhbnNmb3JtZXJUeXBlPFJlc3BvbnNlPiA9IERlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyPFJlc3BvbnNlPixcbj4ge1xuICBwcml2YXRlIF9jdXJyZW50SWQgPSAwO1xuICBwcml2YXRlIF9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIHByaXZhdGUgX3BvbGxpbmdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlJDogQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5U3RhdGU8UmV0dXJuVHlwZTxSZXNwb25zZVRyYW5zZm9ybWVyPiwgUmVzcG9uc2U+PjtcblxuICBwcml2YXRlIGdldCBfbmV4dElkKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50SWQrKztcbiAgfVxuXG4gIGdldCBzdGF0ZSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGlzRXhwaXJlZCgpIHtcbiAgICBpZiAoIWlzUXVlcnlTdGF0ZVN1Y2Nlc3ModGhpcy5zdGF0ZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCB0cyA9IHRoaXMuc3RhdGUubWV0YS5leHBpcmVzQXQ7XG5cbiAgICBpZiAoIXRzKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHMgPCBEYXRlLm5vdygpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2xpZW50OiBRdWVyeUNsaWVudCxcbiAgICBwcml2YXRlIF9xdWVyeUNvbmZpZzpcbiAgICAgIHwgUXVlcnlDb25maWc8Um91dGUsIFJlc3BvbnNlLCBBcmd1bWVudHMsIFJlc3BvbnNlVHJhbnNmb3JtZXI+XG4gICAgICB8IEdxbFF1ZXJ5Q29uZmlnPFJvdXRlLCBSZXNwb25zZSwgQXJndW1lbnRzLCBSZXNwb25zZVRyYW5zZm9ybWVyPixcbiAgICBwcml2YXRlIF9yb3V0ZTogUm91dGUsXG4gICAgcHJpdmF0ZSBfYXJnczogQXJndW1lbnRzIHwgdW5kZWZpbmVkLFxuICApIHtcbiAgICB0aGlzLl9zdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5U3RhdGU8UmV0dXJuVHlwZTxSZXNwb25zZVRyYW5zZm9ybWVyPiwgUmVzcG9uc2U+Pih7XG4gICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5QcmVwYXJlZCxcbiAgICAgIG1ldGE6IHsgaWQ6IHRoaXMuX2N1cnJlbnRJZCB9LFxuICAgIH0pO1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5mZXRjaDxSb3V0ZSwgUmVzcG9uc2UsIEFyZ3VtZW50cywgTWV0aG9kLCBSZXNwb25zZVRyYW5zZm9ybWVyPih0aGlzLl9xdWVyeUNvbmZpZyk7XG4gIH1cblxuICBleGVjdXRlPENvbXB1dGVkUmVzcG9uc2UgZXh0ZW5kcyBSZXR1cm5UeXBlPFJlc3BvbnNlVHJhbnNmb3JtZXI+PihvcHRpb25zPzogUnVuUXVlcnlPcHRpb25zKSB7XG4gICAgaWYgKCF0aGlzLmlzRXhwaXJlZCAmJiAhb3B0aW9ucz8uc2tpcENhY2hlICYmIGlzUXVlcnlTdGF0ZVN1Y2Nlc3ModGhpcy5zdGF0ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9xdWVyeUNvbmZpZy5zZWN1cmUgJiYgIXRoaXMuX2NsaWVudC5hdXRoUHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGV4ZWN1dGUgc2VjdXJlIHF1ZXJ5IHdpdGhvdXQgYXV0aCBwcm92aWRlcicpO1xuICAgIH1cblxuICAgIGNvbnN0IGlkID0gdGhpcy5fbmV4dElkO1xuXG4gICAgaWYgKGlzUXVlcnlTdGF0ZUxvYWRpbmcodGhpcy5fc3RhdGUkLnZhbHVlKSkge1xuICAgICAgdGhpcy5hYm9ydCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGEgPSBkZWVwRnJlZXplKHsgaWQgfSk7XG5cbiAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5Mb2FkaW5nLFxuICAgICAgbWV0YSxcbiAgICB9KTtcblxuICAgIGxldCBib2R5OiBzdHJpbmcgfCBGb3JtRGF0YSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBjb250ZW50VHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoaXNHcWxRdWVyeUNvbmZpZyh0aGlzLl9xdWVyeUNvbmZpZykpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5VGVtcGxhdGUgPSB0aGlzLl9xdWVyeUNvbmZpZy5xdWVyeTtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdHJhbnNmb3JtR3FsKHF1ZXJ5VGVtcGxhdGUpO1xuXG4gICAgICBjb250ZW50VHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uJztcbiAgICAgIGJvZHkgPSBxdWVyeSh0aGlzLl9hcmdzPy52YXJpYWJsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBib2R5ID0gYnVpbGRCb2R5KHRoaXMuX2FyZ3M/LmJvZHkpO1xuICAgICAgY29udGVudFR5cGUgPSBndWVzc0NvbnRlbnRUeXBlKHRoaXMuX2FyZ3M/LmJvZHkpO1xuICAgIH1cblxuICAgIGxldCBhdXRoSGVhZGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5fcXVlcnlDb25maWcuc2VjdXJlKSB7XG4gICAgICBjb25zdCBoZWFkZXIgPSB0aGlzLl9jbGllbnQuYXV0aFByb3ZpZGVyPy5oZWFkZXI7XG5cbiAgICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgYXV0aEhlYWRlciA9IGhlYWRlcjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuX2NsaWVudC5hdXRoUHJvdmlkZXI/LmhlYWRlcikge1xuICAgICAgaWYgKHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3F1ZXJ5Q29uZmlnLnNlY3VyZSkge1xuICAgICAgICBhdXRoSGVhZGVyID0gdGhpcy5fY2xpZW50LmF1dGhQcm92aWRlci5oZWFkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGhlYWRlcnMgPSBtZXJnZUhlYWRlcnMoYXV0aEhlYWRlciwgdGhpcy5fYXJncz8uaGVhZGVycyk7XG5cbiAgICBpZiAoY29udGVudFR5cGUgJiYgIWhlYWRlcnM/LlsnQ29udGVudC1UeXBlJ10gJiYgIWhlYWRlcnM/LlsnY29udGVudC10eXBlJ10pIHtcbiAgICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICAgIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gY29udGVudFR5cGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoZWFkZXJzID0ge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiBjb250ZW50VHlwZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXF1ZXN0PFJlc3BvbnNlPih7XG4gICAgICByb3V0ZTogdGhpcy5fcm91dGUsXG4gICAgICBpbml0OiB7XG4gICAgICAgIG1ldGhvZDogdHJhbnNmb3JtTWV0aG9kKHRoaXMuX3F1ZXJ5Q29uZmlnLm1ldGhvZCksXG4gICAgICAgIHNpZ25hbDogdGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgYm9keSxcbiAgICAgICAgaGVhZGVyczogaGVhZGVycyB8fCB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgY2FjaGVBZGFwdGVyOiB0aGlzLl9jbGllbnQuY29uZmlnLnJlcXVlc3Q/LmNhY2hlQWRhcHRlcixcbiAgICB9KVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzUmVzcG9uc2VPYmplY3QgPSB0eXBlb2YgcmVzcG9uc2UgPT09ICdvYmplY3QnO1xuXG4gICAgICAgIGNvbnN0IGlzR3FsID0gaXNHcWxRdWVyeUNvbmZpZyh0aGlzLl9xdWVyeUNvbmZpZyk7XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlRGF0YTogUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcbiAgICAgICAgaWYgKGlzR3FsICYmIGlzUmVzcG9uc2VPYmplY3QgJiYgJ2RhdGEnIGluIHJlc3BvbnNlLmRhdGEpIHtcbiAgICAgICAgICByZXNwb25zZURhdGEgPSAocmVzcG9uc2UuZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbJ2RhdGEnXSBhcyBSZXNwb25zZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZURhdGEgPSByZXNwb25zZS5kYXRhIGFzIFJlc3BvbnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRSZXNwb25zZSA9IHRoaXMuX3F1ZXJ5Q29uZmlnLnJlc3BvbnNlVHJhbnNmb3JtZXJcbiAgICAgICAgICA/IHRoaXMuX3F1ZXJ5Q29uZmlnLnJlc3BvbnNlVHJhbnNmb3JtZXIocmVzcG9uc2VEYXRhKVxuICAgICAgICAgIDogcmVzcG9uc2VEYXRhO1xuXG4gICAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgICB0eXBlOiBRdWVyeVN0YXRlVHlwZS5TdWNjZXNzLFxuICAgICAgICAgIHJlc3BvbnNlOiBkZWVwRnJlZXplKHRyYW5zZm9ybWVkUmVzcG9uc2UgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIGFzIENvbXB1dGVkUmVzcG9uc2UsXG4gICAgICAgICAgcmF3UmVzcG9uc2U6IGRlZXBGcmVlemUocmVzcG9uc2VEYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSBhcyBSZXNwb25zZSxcbiAgICAgICAgICBtZXRhOiBkZWVwRnJlZXplKHsgLi4ubWV0YSwgZXhwaXJlc0F0OiByZXNwb25zZS5leHBpcmVzSW5UaW1lc3RhbXAgfSksXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHRoaXMuX2hhbmRsZUV4ZWN1dGVFcnJvcihlcnJvciwgbWV0YSkpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhYm9ydCgpIHtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHBvbGwoY29uZmlnOiBQb2xsQ29uZmlnKSB7XG4gICAgaWYgKHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24gPSBpbnRlcnZhbChjb25maWcuaW50ZXJ2YWwpXG4gICAgICAucGlwZSh0YWtlVW50aWwoY29uZmlnLnRha2VVbnRpbCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZXhlY3V0ZSh7IHNraXBDYWNoZTogdHJ1ZSB9KSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHN0b3BQb2xsaW5nKCkge1xuICAgIHRoaXMuX3BvbGxpbmdTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fcG9sbGluZ1N1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUV4ZWN1dGVFcnJvcihlcnJvcjogdW5rbm93biwgbWV0YTogUXVlcnlTdGF0ZU1ldGEpIHtcbiAgICBpZiAoaXNBYm9ydFJlcXVlc3RFcnJvcihlcnJvcikpIHtcbiAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuQ2FuY2VsbGVkLFxuICAgICAgICBtZXRhLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpc1JlcXVlc3RFcnJvcihlcnJvcikpIHtcbiAgICAgIHRoaXMuX3N0YXRlJC5uZXh0KHtcbiAgICAgICAgdHlwZTogUXVlcnlTdGF0ZVR5cGUuRmFpbHVyZSxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIG1ldGEsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -13,7 +13,7 @@ export const request = async (options) => {
|
|
|
13
13
|
return { data, expiresInTimestamp };
|
|
14
14
|
}
|
|
15
15
|
catch (error) {
|
|
16
|
-
throw await buildRequestError(error);
|
|
16
|
+
throw await buildRequestError(error, options.route, options.init);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9yZXF1ZXN0L3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHlCQUF5QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkcsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBc0IsT0FJakQsRUFBRSxFQUFFO0lBQ0gsSUFBSTtRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sUUFBUSxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBYSxDQUFDO1FBRWpELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFlBQVk7WUFDM0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUN4QyxDQUFDLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlDLE1BQU0sa0JBQWtCLEdBQUcseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbkU7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWNoZUFkYXB0ZXJGbiB9IGZyb20gJy4vcmVxdWVzdC50eXBlcyc7XG5pbXBvcnQgeyBidWlsZFJlcXVlc3RFcnJvciwgYnVpbGRUaW1lc3RhbXBGcm9tU2Vjb25kcywgZXh0cmFjdEV4cGlyZXNJblNlY29uZHMgfSBmcm9tICcuL3JlcXVlc3QudXRpbCc7XG5cbmV4cG9ydCBjb25zdCByZXF1ZXN0ID0gYXN5bmMgPFJlc3BvbnNlID0gdW5rbm93bj4ob3B0aW9uczoge1xuICByb3V0ZTogc3RyaW5nO1xuICBpbml0PzogUmVxdWVzdEluaXQ7XG4gIGNhY2hlQWRhcHRlcj86IENhY2hlQWRhcHRlckZuO1xufSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2gob3B0aW9ucy5yb3V0ZSwgb3B0aW9ucy5pbml0KTtcblxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGEgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBSZXNwb25zZTtcblxuICAgIGNvbnN0IGV4cGlyZXNJblNlY29uZHMgPSBvcHRpb25zLmNhY2hlQWRhcHRlclxuICAgICAgPyBvcHRpb25zLmNhY2hlQWRhcHRlcihyZXNwb25zZS5oZWFkZXJzKVxuICAgICAgOiBleHRyYWN0RXhwaXJlc0luU2Vjb25kcyhyZXNwb25zZS5oZWFkZXJzKTtcblxuICAgIGNvbnN0IGV4cGlyZXNJblRpbWVzdGFtcCA9IGJ1aWxkVGltZXN0YW1wRnJvbVNlY29uZHMoZXhwaXJlc0luU2Vjb25kcyk7XG5cbiAgICByZXR1cm4geyBkYXRhLCBleHBpcmVzSW5UaW1lc3RhbXAgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBhd2FpdCBidWlsZFJlcXVlc3RFcnJvcihlcnJvciwgb3B0aW9ucy5yb3V0ZSwgb3B0aW9ucy5pbml0KTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9yZXF1ZXN0L3JlcXVlc3QudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1ldGhvZCA9XG4gIHwgJ0dFVCdcbiAgfCAnUE9TVCdcbiAgfCAnUFVUJ1xuICB8ICdERUxFVEUnXG4gIHwgJ1BBVENIJ1xuICB8ICdIRUFEJ1xuICB8ICdPUFRJT05TJ1xuICB8ICdUUkFDRSdcbiAgfCAnQ09OTkVDVCdcbiAgfCAnUFVSR0UnXG4gIHwgJ0xJTksnXG4gIHwgJ1VOTElOSydcbiAgfCAnR1FMX1FVRVJZJ1xuICB8ICdHUUxfTVVUQVRFJ1xuICB8ICdDVVNUT00nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RFcnJvcjxEZXRhaWwgPSB1bmtub3duPiB7XG4gIGNvZGU6IG51bWJlcjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkZXRhaWw6IERldGFpbDtcbiAgcmF3OiB1bmtub3duO1xuICByb3V0ZTogc3RyaW5nO1xuICByZXF1ZXN0SW5pdD86IFJlcXVlc3RJbml0O1xufVxuXG5leHBvcnQgdHlwZSBQYXJhbVByaW1pdGl2ZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLCBQYXJhbVByaW1pdGl2ZSB8IFBhcmFtQXJyYXk+O1xuXG5leHBvcnQgdHlwZSBQYXJhbUFycmF5ID0gQXJyYXk8UGFyYW1QcmltaXRpdmU+O1xuXG5leHBvcnQgdHlwZSBVbmZpbHRlcmVkUGFyYW1QcmltaXRpdmUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgUXVlcnlQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sLCBVbmZpbHRlcmVkUGFyYW1QcmltaXRpdmUgfCBVbmZpbHRlcmVkUGFyYW1BcnJheT47XG5cbmV4cG9ydCB0eXBlIFBhdGhQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+O1xuXG5leHBvcnQgdHlwZSBVbmZpbHRlcmVkUGFyYW1BcnJheSA9IEFycmF5PFVuZmlsdGVyZWRQYXJhbVByaW1pdGl2ZT47XG5cbmV4cG9ydCB0eXBlIENhY2hlQWRhcHRlckZuID0gKGhlYWRlcnM6IEhlYWRlcnMpID0+IG51bWJlciB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0gUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiJdfQ==
|
|
@@ -114,13 +114,15 @@ export const buildTimestampFromSeconds = (seconds) => {
|
|
|
114
114
|
}
|
|
115
115
|
return new Date(Date.now() + seconds * 1000).getTime();
|
|
116
116
|
};
|
|
117
|
-
export const buildRequestError = async (error) => {
|
|
117
|
+
export const buildRequestError = async (error, route, requestInit) => {
|
|
118
118
|
if (error instanceof DOMException && error.code === error.ABORT_ERR) {
|
|
119
119
|
const err = {
|
|
120
120
|
code: -1,
|
|
121
121
|
message: 'Request aborted',
|
|
122
122
|
detail: null,
|
|
123
123
|
raw: error,
|
|
124
|
+
route,
|
|
125
|
+
requestInit,
|
|
124
126
|
};
|
|
125
127
|
return err;
|
|
126
128
|
}
|
|
@@ -130,6 +132,8 @@ export const buildRequestError = async (error) => {
|
|
|
130
132
|
message: 'Syntax error',
|
|
131
133
|
detail: null,
|
|
132
134
|
raw: error,
|
|
135
|
+
route,
|
|
136
|
+
requestInit,
|
|
133
137
|
};
|
|
134
138
|
return err;
|
|
135
139
|
}
|
|
@@ -139,6 +143,8 @@ export const buildRequestError = async (error) => {
|
|
|
139
143
|
message: `${error.name}: ${error.message}`,
|
|
140
144
|
detail: null,
|
|
141
145
|
raw: error,
|
|
146
|
+
route,
|
|
147
|
+
requestInit,
|
|
142
148
|
};
|
|
143
149
|
return err;
|
|
144
150
|
}
|
|
@@ -156,6 +162,8 @@ export const buildRequestError = async (error) => {
|
|
|
156
162
|
message: error.statusText,
|
|
157
163
|
detail,
|
|
158
164
|
raw: error,
|
|
165
|
+
route,
|
|
166
|
+
requestInit,
|
|
159
167
|
};
|
|
160
168
|
return err;
|
|
161
169
|
}
|
|
@@ -164,6 +172,8 @@ export const buildRequestError = async (error) => {
|
|
|
164
172
|
message: 'Unknown error',
|
|
165
173
|
detail: null,
|
|
166
174
|
raw: error,
|
|
175
|
+
route,
|
|
176
|
+
requestInit,
|
|
167
177
|
};
|
|
168
178
|
return err;
|
|
169
179
|
};
|
|
@@ -203,4 +213,4 @@ export const guessContentType = (body) => {
|
|
|
203
213
|
}
|
|
204
214
|
return null;
|
|
205
215
|
};
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3JlcXVlc3QvcmVxdWVzdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQ0FBcUMsR0FDdEMsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQ3RFLEtBQUssWUFBWSxNQUFNLElBQUksTUFBTSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQzNFLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BSzFCLEVBQUUsRUFBRTtJQUNILElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDM0M7SUFFRCxJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO0lBRWhDLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN2QixNQUFNLHFDQUFxQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMzQztTQUFNO1FBQ0wsS0FBSyxHQUFH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ZjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBYSxFQUFFLEVBQUU7SUFDaEQsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdkMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sWUFBWSxDQUFDO0tBQ3JCO0lBRUQsSUFBSSxJQUFJLFlBQVksUUFBUSxFQUFFO1FBQzVCLE9BQU8scUJBQXFCLENBQUM7S0FDOUI7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLGtCQUFrQixDQUFDO0tBQzNCO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpbnZhbGlkQmFzZVJvdXRlRXJyb3IsXG4gIGludmFsaWRCb2R5RXJyb3IsXG4gIGludmFsaWRSb3V0ZUVycm9yLFxuICBwYXRoUGFyYW1zTWlzc2luZ0luUm91dGVGdW5jdGlvbkVycm9yLFxufSBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXMsIFBhcmFtcywgUmVxdWVzdEVycm9yLCBQYXJhbUFycmF5LCBVbmZpbHRlcmVkUGFyYW1QcmltaXRpdmUsIE1ldGhvZCB9IGZyb20gJy4vcmVxdWVzdC50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBpc1JlcXVlc3RFcnJvciA9IChlcnJvcjogdW5rbm93bik6IGVycm9yIGlzIFJlcXVlc3RFcnJvciA9PlxuICBlcnJvciBpbnN0YW5jZW9mIE9iamVjdCAmJiAnY29kZScgaW4gZXJyb3IgJiYgJ21lc3NhZ2UnIGluIGVycm9yO1xuXG5leHBvcnQgY29uc3QgaXNBYm9ydFJlcXVlc3RFcnJvciA9IChlcnJvcjogdW5rbm93bik6IGVycm9yIGlzIFJlcXVlc3RFcnJvciA9PlxuICBpc1JlcXVlc3RFcnJvcihlcnJvcikgJiYgZXJyb3IuY29kZSA9PT0gLTE7XG5cbmV4cG9ydCBjb25zdCBidWlsZFJvdXRlID0gKG9wdGlvbnM6IHtcbiAgYmFzZTogc3RyaW5nO1xuICByb3V0ZTogKChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gc3RyaW5nKSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHBhdGhQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcXVlcnlQYXJhbXM/OiBRdWVyeVBhcmFtcztcbn0pID0+IHtcbiAgaWYgKG9wdGlvbnMuYmFzZS5lbmRzV2l0aCgnLycpKSB7XG4gICAgdGhyb3cgaW52YWxpZEJhc2VSb3V0ZUVycm9yKG9wdGlvbnMuYmFzZSk7XG4gIH1cblxuICBsZXQgcm91dGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5yb3V0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGlmICghb3B0aW9ucy5wYXRoUGFyYW1zKSB7XG4gICAgICB0aHJvdyBwYXRoUGFyYW1zTWlzc2luZ0luUm91dGVGdW5jdGlvbkVycm9yKG9wdGlvbnMucm91dGUoe30pKTtcbiAgICB9XG5cbiAgICByb3V0ZSA9IG9wdGlvbnMucm91dGUob3B0aW9ucy5wYXRoUGFyYW1zKTtcbiAgfSBlbHNlIHtcbiAgICByb3V0ZSA9IG9wdGlvbnMucm91dGUgPz8gbnVsbDtcbiAgfVxuXG4gIGlmIChyb3V0ZSAmJiAhcm91dGUuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgdGhyb3cgaW52YWxpZFJvdXRlRXJyb3Iocm91dGUpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMucXVlcnlQYXJhbXMpIHtcbiAgICBjb25zdCBxdWVyeVN0cmluZyA9IGJ1aWxkUXVlcnlTdHJpbmcob3B0aW9ucy5xdWVyeVBhcmFtcyk7XG5cbiAgICBpZiAocXVlcnlTdHJpbmcpIHtcbiAgICAgIHJvdXRlID0gcm91dGUgPyBgJHtyb3V0ZX0/JHtxdWVyeVN0cmluZ31gIDogYC8/JHtxdWVyeVN0cmluZ31gO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBgJHtvcHRpb25zLmJhc2V9JHtyb3V0ZSA/PyAnJ31gO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUXVlcnlTdHJpbmcgPSAocGFyYW1zOiBRdWVyeVBhcmFtcykgPT4ge1xuICBjb25zdCB2YWxpZFBhcmFtcyA9IGZpbHRlckludmFsaWRQYXJhbXMocGFyYW1zKTtcblxuICBjb25zdCBxdWVyeVN0cmluZyA9IE9iamVjdC5rZXlzKHZhbGlkUGFyYW1zKVxuICAgIC5tYXAoKGtleSkgPT5cbiAgICAgIEFycmF5LmlzQXJyYXkodmFsaWRQYXJhbXNba2V5XSlcbiAgICAgICAgPyBidWlsZFF1ZXJ5QXJyYXlTdHJpbmcoa2V5LCB2YWxpZFBhcmFtc1trZXldIGFzIFBhcmFtQXJyYXkpXG4gICAgICAgIDogYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWxpZFBhcmFtc1trZXldIGFzIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pfWAsXG4gICAgKVxuICAgIC5qb2luKCcmJyk7XG5cbiAgcmV0dXJuIHF1ZXJ5U3RyaW5nIHx8IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRRdWVyeUFycmF5U3RyaW5nID0gKGtleTogc3RyaW5nLCBhcnJheTogUGFyYW1BcnJheSkgPT4ge1xuICBjb25zdCB1cmlCcmFja2V0cyA9IGVuY29kZVVSSUNvbXBvbmVudCgnW10nKTtcblxuICByZXR1cm4gYXJyYXlcbiAgICAuc2xpY2UoKVxuICAgIC5tYXAoKGl0ZW0pID0+IGAke2tleX0ke3VyaUJyYWNrZXRzfT0ke2VuY29kZVVSSUNvbXBvbmVudChpdGVtIGFzIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pfWApXG4gICAgLmpvaW4oJyYnKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0ZldGNoUmVzcG9uc2UgPSAocmVzcG9uc2U6IHVua25vd24pOiByZXNwb25zZSBpcyBSZXNwb25zZSA9PlxuICB0eXBlb2YgcmVzcG9uc2UgPT09ICdvYmplY3QnICYmXG4gIHJlc3BvbnNlICE9PSBudWxsICYmXG4gICdzdGF0dXMnIGluIHJlc3BvbnNlICYmXG4gICdzdGF0dXNUZXh0JyBpbiByZXNwb25zZSAmJlxuICAnanNvbicgaW4gcmVzcG9uc2UgJiZcbiAgdHlwZW9mIChyZXNwb25zZSBhcyBSZXNwb25zZSlbJ2pzb24nXSA9PT0gJ2Z1bmN0aW9uJztcblxuZXhwb3J0IGNvbnN0IGZpbHRlckludmFsaWRQYXJhbXMgPSAocGFyYW1zOiBRdWVyeVBhcmFtcykgPT4ge1xuICBjb25zdCBmaWx0ZXJlZFBhcmFtczogUGFyYW1zID0gT2JqZWN0LmVudHJpZXMocGFyYW1zKVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gW2tleSwgdmFsdWVdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gW2tleSwgdmFsdWUuZmlsdGVyKCh2KSA9PiBpc1BhcmFtVmFsaWQodikpXTtcbiAgICB9KVxuICAgIC5maWx0ZXIoKFssIHZhbHVlXSkgPT4gaXNQYXJhbVZhbGlkKHZhbHVlIGFzIFVuZmlsdGVyZWRQYXJhbVByaW1pdGl2ZSkpXG4gICAgLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+ICh7IC4uLmFjYywgW2tleSBhcyBzdHJpbmddOiB2YWx1ZSB9KSwge30pO1xuXG4gIHJldHVybiBmaWx0ZXJlZFBhcmFtcztcbn07XG5cbmV4cG9ydCBjb25zdCBpc1BhcmFtVmFsaWQgPSAocHJpbWl0aXZlOiBVbmZpbHRlcmVkUGFyYW1QcmltaXRpdmUpID0+IHtcbiAgaWYgKHByaW1pdGl2ZSA9PT0gdW5kZWZpbmVkIHx8IHByaW1pdGl2ZSA9PT0gbnVsbCB8fCBwcmltaXRpdmUgPT09ICcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwcmltaXRpdmUgPT09ICdzdHJpbmcnICYmIHByaW1pdGl2ZS50cmltKCkgPT09ICcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwcmltaXRpdmUgPT09ICdudW1iZXInICYmIGlzTmFOKHByaW1pdGl2ZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0RXhwaXJlc0luU2Vjb25kcyA9IChoZWFkZXJzOiBIZWFkZXJzKSA9PiB7XG4gIGNvbnN0IGNhY2hlQ29udHJvbCA9IGhlYWRlcnMuZ2V0KCdjYWNoZS1jb250cm9sJyk7XG4gIGNvbnN0IGFnZSA9IGhlYWRlcnMuZ2V0KCdhZ2UnKTtcbiAgY29uc3QgZXhwaXJlcyA9IGhlYWRlcnMuZ2V0KCdleHBpcmVzJyk7XG5cbiAgLy8gSW4gc2Vjb25kc1xuICBsZXQgZXhwaXJlc0luOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgbGV0IG1heEFnZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKGNhY2hlQ29udHJvbD8uaW5jbHVkZXMoJ25vLWNhY2hlJykpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChjYWNoZUNvbnRyb2w/LmluY2x1ZGVzKCdtYXgtYWdlJykpIHtcbiAgICBtYXhBZ2UgPSBwYXJzZUludChjYWNoZUNvbnRyb2wuc3BsaXQoJ21heC1hZ2U9JylbMV0pO1xuICB9IGVsc2UgaWYgKGNhY2hlQ29udHJvbD8uaW5jbHVkZXMoJ3MtbWF4YWdlJykpIHtcbiAgICBtYXhBZ2UgPSBwYXJzZUludChjYWNoZUNvbnRyb2wuc3BsaXQoJ3MtbWF4YWdlPScpWzFdKTtcbiAgfVxuXG4gIGlmIChtYXhBZ2UgJiYgYWdlKSB7XG4gICAgY29uc3QgYWdlU2Vjb25kcyA9IHBhcnNlSW50KGFnZSk7XG5cbiAgICBleHBpcmVzSW4gPSBtYXhBZ2UgLSBhZ2VTZWNvbmRzO1xuICB9IGVsc2UgaWYgKGV4cGlyZXMpIHtcbiAgICAvLyBVc2VkIGJ5IHNvbWUgYXBpcyB0byB0ZWxsIHRoZSByZXNwb25zZSB3aWxsIG5ldmVyIGV4cGlyZVxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBsZXQgdGhlIHJlc3BvbnNlIGV4cGlyZSBhZnRlciAxIGhvdXJcbiAgICBpZiAoZXhwaXJlcyA9PT0gJy0xJykge1xuICAgICAgZXhwaXJlc0luID0gMzYwMDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZXhwaXJlc0RhdGUgPSBuZXcgRGF0ZShleHBpcmVzKTtcblxuICAgICAgLy8gY2hlY2sgaWYgdGhlIGRhdGUgaXMgdmFsaWRcbiAgICAgIGlmIChleHBpcmVzRGF0ZS50b1N0cmluZygpICE9PSAnSW52YWxpZCBEYXRlJykge1xuICAgICAgICBleHBpcmVzSW4gPSBNYXRoLmZsb29yKChleHBpcmVzRGF0ZS5nZXRUaW1lKCkgLSBEYXRlLm5vdygpKSAvIDEwMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBpcmVzSW47XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRUaW1lc3RhbXBGcm9tU2Vjb25kcyA9IChzZWNvbmRzOiBudW1iZXIgfCBudWxsKSA9PiB7XG4gIGlmIChzZWNvbmRzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlY29uZHMgKiAxMDAwKS5nZXRUaW1lKCk7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRSZXF1ZXN0RXJyb3IgPSBhc3luYyA8RXJyb3JSZXNwb25zZSA9IHVua25vd24+KGVycm9yOiB1bmtub3duKSA9PiB7XG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiAmJiBlcnJvci5jb2RlID09PSBlcnJvci5BQk9SVF9FUlIpIHtcbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxudWxsPiA9IHtcbiAgICAgIGNvZGU6IC0xLFxuICAgICAgbWVzc2FnZTogJ1JlcXVlc3QgYWJvcnRlZCcsXG4gICAgICBkZXRhaWw6IG51bGwsXG4gICAgICByYXc6IGVycm9yLFxuICAgIH07XG5cbiAgICByZXR1cm4gZXJyO1xuICB9XG5cbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxudWxsPiA9IHtcbiAgICAgIGNvZGU6IC0zLFxuICAgICAgbWVzc2FnZTogJ1N5bnRheCBlcnJvcicsXG4gICAgICBkZXRhaWw6IG51bGwsXG4gICAgICByYXc6IGVycm9yLFxuICAgIH07XG5cbiAgICByZXR1cm4gZXJyO1xuICB9XG5cbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxudWxsPiA9IHtcbiAgICAgIGNvZGU6IC0yLFxuICAgICAgbWVzc2FnZTogYCR7ZXJyb3IubmFtZX06ICR7ZXJyb3IubWVzc2FnZX1gLFxuICAgICAgZGV0YWlsOiBudWxsLFxuICAgICAgcmF3OiBlcnJvcixcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGlmIChpc0ZldGNoUmVzcG9uc2UoZXJyb3IpKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBsZXQgZGV0YWlsOiBhbnk7XG5cbiAgICB0cnkge1xuICAgICAgZGV0YWlsID0gYXdhaXQgZXJyb3IudGV4dCgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgZGV0YWlsID0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxFcnJvclJlc3BvbnNlPiA9IHtcbiAgICAgIGNvZGU6IGVycm9yLnN0YXR1cyxcbiAgICAgIG1lc3NhZ2U6IGVycm9yLnN0YXR1c1RleHQsXG4gICAgICBkZXRhaWwsXG4gICAgICByYXc6IGVycm9yLFxuICAgIH07XG5cbiAgICByZXR1cm4gZXJyO1xuICB9XG5cbiAgY29uc3QgZXJyOiBSZXF1ZXN0RXJyb3I8bnVsbD4gPSB7XG4gICAgY29kZTogMCxcbiAgICBtZXNzYWdlOiAnVW5rbm93biBlcnJvcicsXG4gICAgZGV0YWlsOiBudWxsLFxuICAgIHJhdzogZXJyb3IsXG4gIH07XG5cbiAgcmV0dXJuIGVycjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEJvZHkgPSAoYm9keTogdW5rbm93bikgPT4ge1xuICBpZiAoYm9keSA9PT0gdW5kZWZpbmVkIHx8IGJvZHkgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gIH1cblxuICBpZiAoYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICB0aHJvdyBpbnZhbGlkQm9keUVycm9yKGJvZHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybU1ldGhvZCA9IChtZXRob2Q6IE1ldGhvZCkgPT4ge1xuICBpZiAobWV0aG9kID09PSAnR1FMX1FVRVJZJyB8fCBtZXRob2QgPT09ICdHUUxfTVVUQVRFJykge1xuICAgIHJldHVybiAnUE9TVCc7XG4gIH1cblxuICByZXR1cm4gbWV0aG9kO1xufTtcblxuZXhwb3J0IGNvbnN0IGd1ZXNzQ29udGVudFR5cGUgPSAoYm9keTogdW5rbm93bikgPT4ge1xuICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gJ3RleHQvcGxhaW4nO1xuICB9XG5cbiAgaWYgKGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgIHJldHVybiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuICdhcHBsaWNhdGlvbi9qc29uJztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL3JlcXVlc3QvcmVxdWVzdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQ0FBcUMsR0FDdEMsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQ3RFLEtBQUssWUFBWSxNQUFNLElBQUksTUFBTSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBYyxFQUF5QixFQUFFLENBQzNFLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BSzFCLEVBQUUsRUFBRTtJQUNILElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDM0M7SUFFRCxJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO0lBRWhDLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN2QixNQUFNLHFDQUFxQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMzQztTQUFNO1FBQ0wsS0FBSyxHQUFH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LE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ2hELElBQUksTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLEtBQUssWUFBWSxFQUFFO1FBQ3JELE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQWEsRUFBRSxFQUFFO0lBQ2hELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLFlBQVksQ0FBQztLQUNyQjtJQUVELElBQUksSUFBSSxZQUFZLFFBQVEsRUFBRTtRQUM1QixPQUFPLHFCQUFxQixDQUFDO0tBQzlCO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztLQUMzQjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaW52YWxpZEJhc2VSb3V0ZUVycm9yLFxuICBpbnZhbGlkQm9keUVycm9yLFxuICBpbnZhbGlkUm91dGVFcnJvcixcbiAgcGF0aFBhcmFtc01pc3NpbmdJblJvdXRlRnVuY3Rpb25FcnJvcixcbn0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IE1ldGhvZCwgUGFyYW1BcnJheSwgUGFyYW1zLCBRdWVyeVBhcmFtcywgUmVxdWVzdEVycm9yLCBVbmZpbHRlcmVkUGFyYW1QcmltaXRpdmUgfSBmcm9tICcuL3JlcXVlc3QudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgaXNSZXF1ZXN0RXJyb3IgPSAoZXJyb3I6IHVua25vd24pOiBlcnJvciBpcyBSZXF1ZXN0RXJyb3IgPT5cbiAgZXJyb3IgaW5zdGFuY2VvZiBPYmplY3QgJiYgJ2NvZGUnIGluIGVycm9yICYmICdtZXNzYWdlJyBpbiBlcnJvcjtcblxuZXhwb3J0IGNvbnN0IGlzQWJvcnRSZXF1ZXN0RXJyb3IgPSAoZXJyb3I6IHVua25vd24pOiBlcnJvciBpcyBSZXF1ZXN0RXJyb3IgPT5cbiAgaXNSZXF1ZXN0RXJyb3IoZXJyb3IpICYmIGVycm9yLmNvZGUgPT09IC0xO1xuXG5leHBvcnQgY29uc3QgYnVpbGRSb3V0ZSA9IChvcHRpb25zOiB7XG4gIGJhc2U6IHN0cmluZztcbiAgcm91dGU6ICgoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHN0cmluZykgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwYXRoUGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHF1ZXJ5UGFyYW1zPzogUXVlcnlQYXJhbXM7XG59KSA9PiB7XG4gIGlmIChvcHRpb25zLmJhc2UuZW5kc1dpdGgoJy8nKSkge1xuICAgIHRocm93IGludmFsaWRCYXNlUm91dGVFcnJvcihvcHRpb25zLmJhc2UpO1xuICB9XG5cbiAgbGV0IHJvdXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBpZiAodHlwZW9mIG9wdGlvbnMucm91dGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpZiAoIW9wdGlvbnMucGF0aFBhcmFtcykge1xuICAgICAgdGhyb3cgcGF0aFBhcmFtc01pc3NpbmdJblJvdXRlRnVuY3Rpb25FcnJvcihvcHRpb25zLnJvdXRlKHt9KSk7XG4gICAgfVxuXG4gICAgcm91dGUgPSBvcHRpb25zLnJvdXRlKG9wdGlvbnMucGF0aFBhcmFtcyk7XG4gIH0gZWxzZSB7XG4gICAgcm91dGUgPSBvcHRpb25zLnJvdXRlID8/IG51bGw7XG4gIH1cblxuICBpZiAocm91dGUgJiYgIXJvdXRlLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgIHRocm93IGludmFsaWRSb3V0ZUVycm9yKHJvdXRlKTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLnF1ZXJ5UGFyYW1zKSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBidWlsZFF1ZXJ5U3RyaW5nKG9wdGlvbnMucXVlcnlQYXJhbXMpO1xuXG4gICAgaWYgKHF1ZXJ5U3RyaW5nKSB7XG4gICAgICByb3V0ZSA9IHJvdXRlID8gYCR7cm91dGV9PyR7cXVlcnlTdHJpbmd9YCA6IGAvPyR7cXVlcnlTdHJpbmd9YDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYCR7b3B0aW9ucy5iYXNlfSR7cm91dGUgPz8gJyd9YDtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZFF1ZXJ5U3RyaW5nID0gKHBhcmFtczogUXVlcnlQYXJhbXMpID0+IHtcbiAgY29uc3QgdmFsaWRQYXJhbXMgPSBmaWx0ZXJJbnZhbGlkUGFyYW1zKHBhcmFtcyk7XG5cbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBPYmplY3Qua2V5cyh2YWxpZFBhcmFtcylcbiAgICAubWFwKChrZXkpID0+XG4gICAgICBBcnJheS5pc0FycmF5KHZhbGlkUGFyYW1zW2tleV0pXG4gICAgICAgID8gYnVpbGRRdWVyeUFycmF5U3RyaW5nKGtleSwgdmFsaWRQYXJhbXNba2V5XSBhcyBQYXJhbUFycmF5KVxuICAgICAgICA6IGAke2tleX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsaWRQYXJhbXNba2V5XSBhcyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKX1gLFxuICAgIClcbiAgICAuam9pbignJicpO1xuXG4gIHJldHVybiBxdWVyeVN0cmluZyB8fCBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUXVlcnlBcnJheVN0cmluZyA9IChrZXk6IHN0cmluZywgYXJyYXk6IFBhcmFtQXJyYXkpID0+IHtcbiAgY29uc3QgdXJpQnJhY2tldHMgPSBlbmNvZGVVUklDb21wb25lbnQoJ1tdJyk7XG5cbiAgcmV0dXJuIGFycmF5XG4gICAgLnNsaWNlKClcbiAgICAubWFwKChpdGVtKSA9PiBgJHtrZXl9JHt1cmlCcmFja2V0c309JHtlbmNvZGVVUklDb21wb25lbnQoaXRlbSBhcyBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuKX1gKVxuICAgIC5qb2luKCcmJyk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNGZXRjaFJlc3BvbnNlID0gKHJlc3BvbnNlOiB1bmtub3duKTogcmVzcG9uc2UgaXMgUmVzcG9uc2UgPT5cbiAgdHlwZW9mIHJlc3BvbnNlID09PSAnb2JqZWN0JyAmJlxuICByZXNwb25zZSAhPT0gbnVsbCAmJlxuICAnc3RhdHVzJyBpbiByZXNwb25zZSAmJlxuICAnc3RhdHVzVGV4dCcgaW4gcmVzcG9uc2UgJiZcbiAgJ2pzb24nIGluIHJlc3BvbnNlICYmXG4gIHR5cGVvZiAocmVzcG9uc2UgYXMgUmVzcG9uc2UpWydqc29uJ10gPT09ICdmdW5jdGlvbic7XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJJbnZhbGlkUGFyYW1zID0gKHBhcmFtczogUXVlcnlQYXJhbXMpID0+IHtcbiAgY29uc3QgZmlsdGVyZWRQYXJhbXM6IFBhcmFtcyA9IE9iamVjdC5lbnRyaWVzKHBhcmFtcylcbiAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIFtrZXksIHZhbHVlXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFtrZXksIHZhbHVlLmZpbHRlcigodikgPT4gaXNQYXJhbVZhbGlkKHYpKV07XG4gICAgfSlcbiAgICAuZmlsdGVyKChbLCB2YWx1ZV0pID0+IGlzUGFyYW1WYWxpZCh2YWx1ZSBhcyBVbmZpbHRlcmVkUGFyYW1QcmltaXRpdmUpKVxuICAgIC5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiAoeyAuLi5hY2MsIFtrZXkgYXMgc3RyaW5nXTogdmFsdWUgfSksIHt9KTtcblxuICByZXR1cm4gZmlsdGVyZWRQYXJhbXM7XG59O1xuXG5leHBvcnQgY29uc3QgaXNQYXJhbVZhbGlkID0gKHByaW1pdGl2ZTogVW5maWx0ZXJlZFBhcmFtUHJpbWl0aXZlKSA9PiB7XG4gIGlmIChwcmltaXRpdmUgPT09IHVuZGVmaW5lZCB8fCBwcmltaXRpdmUgPT09IG51bGwgfHwgcHJpbWl0aXZlID09PSAnJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcHJpbWl0aXZlID09PSAnc3RyaW5nJyAmJiBwcmltaXRpdmUudHJpbSgpID09PSAnJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcHJpbWl0aXZlID09PSAnbnVtYmVyJyAmJiBpc05hTihwcmltaXRpdmUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdEV4cGlyZXNJblNlY29uZHMgPSAoaGVhZGVyczogSGVhZGVycykgPT4ge1xuICBjb25zdCBjYWNoZUNvbnRyb2wgPSBoZWFkZXJzLmdldCgnY2FjaGUtY29udHJvbCcpO1xuICBjb25zdCBhZ2UgPSBoZWFkZXJzLmdldCgnYWdlJyk7XG4gIGNvbnN0IGV4cGlyZXMgPSBoZWFkZXJzLmdldCgnZXhwaXJlcycpO1xuXG4gIC8vIEluIHNlY29uZHNcbiAgbGV0IGV4cGlyZXNJbjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIGxldCBtYXhBZ2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChjYWNoZUNvbnRyb2w/LmluY2x1ZGVzKCduby1jYWNoZScpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoY2FjaGVDb250cm9sPy5pbmNsdWRlcygnbWF4LWFnZScpKSB7XG4gICAgbWF4QWdlID0gcGFyc2VJbnQoY2FjaGVDb250cm9sLnNwbGl0KCdtYXgtYWdlPScpWzFdKTtcbiAgfSBlbHNlIGlmIChjYWNoZUNvbnRyb2w/LmluY2x1ZGVzKCdzLW1heGFnZScpKSB7XG4gICAgbWF4QWdlID0gcGFyc2VJbnQoY2FjaGVDb250cm9sLnNwbGl0KCdzLW1heGFnZT0nKVsxXSk7XG4gIH1cblxuICBpZiAobWF4QWdlICYmIGFnZSkge1xuICAgIGNvbnN0IGFnZVNlY29uZHMgPSBwYXJzZUludChhZ2UpO1xuXG4gICAgZXhwaXJlc0luID0gbWF4QWdlIC0gYWdlU2Vjb25kcztcbiAgfSBlbHNlIGlmIChleHBpcmVzKSB7XG4gICAgLy8gVXNlZCBieSBzb21lIGFwaXMgdG8gdGVsbCB0aGUgcmVzcG9uc2Ugd2lsbCBuZXZlciBleHBpcmVcbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgbGV0IHRoZSByZXNwb25zZSBleHBpcmUgYWZ0ZXIgMSBob3VyXG4gICAgaWYgKGV4cGlyZXMgPT09ICctMScpIHtcbiAgICAgIGV4cGlyZXNJbiA9IDM2MDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGV4cGlyZXNEYXRlID0gbmV3IERhdGUoZXhwaXJlcyk7XG5cbiAgICAgIC8vIGNoZWNrIGlmIHRoZSBkYXRlIGlzIHZhbGlkXG4gICAgICBpZiAoZXhwaXJlc0RhdGUudG9TdHJpbmcoKSAhPT0gJ0ludmFsaWQgRGF0ZScpIHtcbiAgICAgICAgZXhwaXJlc0luID0gTWF0aC5mbG9vcigoZXhwaXJlc0RhdGUuZ2V0VGltZSgpIC0gRGF0ZS5ub3coKSkgLyAxMDAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXhwaXJlc0luO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkVGltZXN0YW1wRnJvbVNlY29uZHMgPSAoc2Vjb25kczogbnVtYmVyIHwgbnVsbCkgPT4ge1xuICBpZiAoc2Vjb25kcyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBEYXRlKERhdGUubm93KCkgKyBzZWNvbmRzICogMTAwMCkuZ2V0VGltZSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkUmVxdWVzdEVycm9yID0gYXN5bmMgPEVycm9yUmVzcG9uc2UgPSB1bmtub3duPihcbiAgZXJyb3I6IHVua25vd24sXG4gIHJvdXRlOiBzdHJpbmcsXG4gIHJlcXVlc3RJbml0PzogUmVxdWVzdEluaXQsXG4pID0+IHtcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uICYmIGVycm9yLmNvZGUgPT09IGVycm9yLkFCT1JUX0VSUikge1xuICAgIGNvbnN0IGVycjogUmVxdWVzdEVycm9yPG51bGw+ID0ge1xuICAgICAgY29kZTogLTEsXG4gICAgICBtZXNzYWdlOiAnUmVxdWVzdCBhYm9ydGVkJyxcbiAgICAgIGRldGFpbDogbnVsbCxcbiAgICAgIHJhdzogZXJyb3IsXG4gICAgICByb3V0ZSxcbiAgICAgIHJlcXVlc3RJbml0LFxuICAgIH07XG5cbiAgICByZXR1cm4gZXJyO1xuICB9XG5cbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICBjb25zdCBlcnI6IFJlcXVlc3RFcnJvcjxudWxsPiA9IHtcbiAgICAgIGNvZGU6IC0zLFxuICAgICAgbWVzc2FnZTogJ1N5bnRheCBlcnJvcicsXG4gICAgICBkZXRhaWw6IG51bGwsXG4gICAgICByYXc6IGVycm9yLFxuICAgICAgcm91dGUsXG4gICAgICByZXF1ZXN0SW5pdCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGVycjtcbiAgfVxuXG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgY29uc3QgZXJyOiBSZXF1ZXN0RXJyb3I8bnVsbD4gPSB7XG4gICAgICBjb2RlOiAtMixcbiAgICAgIG1lc3NhZ2U6IGAke2Vycm9yLm5hbWV9OiAke2Vycm9yLm1lc3NhZ2V9YCxcbiAgICAgIGRldGFpbDogbnVsbCxcbiAgICAgIHJhdzogZXJyb3IsXG4gICAgICByb3V0ZSxcbiAgICAgIHJlcXVlc3RJbml0LFxuICAgIH07XG5cbiAgICByZXR1cm4gZXJyO1xuICB9XG5cbiAgaWYgKGlzRmV0Y2hSZXNwb25zZShlcnJvcikpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGxldCBkZXRhaWw6IGFueTtcblxuICAgIHRyeSB7XG4gICAgICBkZXRhaWwgPSBhd2FpdCBlcnJvci50ZXh0KCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBkZXRhaWwgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVycjogUmVxdWVzdEVycm9yPEVycm9yUmVzcG9uc2U+ID0ge1xuICAgICAgY29kZTogZXJyb3Iuc3RhdHVzLFxuICAgICAgbWVzc2FnZTogZXJyb3Iuc3RhdHVzVGV4dCxcbiAgICAgIGRldGFpbCxcbiAgICAgIHJhdzogZXJyb3IsXG4gICAgICByb3V0ZSxcbiAgICAgIHJlcXVlc3RJbml0LFxuICAgIH07XG5cbiAgICByZXR1cm4gZXJyO1xuICB9XG5cbiAgY29uc3QgZXJyOiBSZXF1ZXN0RXJyb3I8bnVsbD4gPSB7XG4gICAgY29kZTogMCxcbiAgICBtZXNzYWdlOiAnVW5rbm93biBlcnJvcicsXG4gICAgZGV0YWlsOiBudWxsLFxuICAgIHJhdzogZXJyb3IsXG4gICAgcm91dGUsXG4gICAgcmVxdWVzdEluaXQsXG4gIH07XG5cbiAgcmV0dXJuIGVycjtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEJvZHkgPSAoYm9keTogdW5rbm93bikgPT4ge1xuICBpZiAoYm9keSA9PT0gdW5kZWZpbmVkIHx8IGJvZHkgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gIH1cblxuICBpZiAoYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICB0aHJvdyBpbnZhbGlkQm9keUVycm9yKGJvZHkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybU1ldGhvZCA9IChtZXRob2Q6IE1ldGhvZCkgPT4ge1xuICBpZiAobWV0aG9kID09PSAnR1FMX1FVRVJZJyB8fCBtZXRob2QgPT09ICdHUUxfTVVUQVRFJykge1xuICAgIHJldHVybiAnUE9TVCc7XG4gIH1cblxuICByZXR1cm4gbWV0aG9kO1xufTtcblxuZXhwb3J0IGNvbnN0IGd1ZXNzQ29udGVudFR5cGUgPSAoYm9keTogdW5rbm93bikgPT4ge1xuICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gJ3RleHQvcGxhaW4nO1xuICB9XG5cbiAgaWYgKGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgIHJldHVybiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7XG4gIH1cblxuICBpZiAodHlwZW9mIGJvZHkgPT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuICdhcHBsaWNhdGlvbi9qc29uJztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcbiJdfQ==
|
|
@@ -166,13 +166,15 @@ const buildTimestampFromSeconds = (seconds) => {
|
|
|
166
166
|
}
|
|
167
167
|
return new Date(Date.now() + seconds * 1000).getTime();
|
|
168
168
|
};
|
|
169
|
-
const buildRequestError = (error) => __awaiter(void 0, void 0, void 0, function* () {
|
|
169
|
+
const buildRequestError = (error, route, requestInit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
170
170
|
if (error instanceof DOMException && error.code === error.ABORT_ERR) {
|
|
171
171
|
const err = {
|
|
172
172
|
code: -1,
|
|
173
173
|
message: 'Request aborted',
|
|
174
174
|
detail: null,
|
|
175
175
|
raw: error,
|
|
176
|
+
route,
|
|
177
|
+
requestInit,
|
|
176
178
|
};
|
|
177
179
|
return err;
|
|
178
180
|
}
|
|
@@ -182,6 +184,8 @@ const buildRequestError = (error) => __awaiter(void 0, void 0, void 0, function*
|
|
|
182
184
|
message: 'Syntax error',
|
|
183
185
|
detail: null,
|
|
184
186
|
raw: error,
|
|
187
|
+
route,
|
|
188
|
+
requestInit,
|
|
185
189
|
};
|
|
186
190
|
return err;
|
|
187
191
|
}
|
|
@@ -191,6 +195,8 @@ const buildRequestError = (error) => __awaiter(void 0, void 0, void 0, function*
|
|
|
191
195
|
message: `${error.name}: ${error.message}`,
|
|
192
196
|
detail: null,
|
|
193
197
|
raw: error,
|
|
198
|
+
route,
|
|
199
|
+
requestInit,
|
|
194
200
|
};
|
|
195
201
|
return err;
|
|
196
202
|
}
|
|
@@ -208,6 +214,8 @@ const buildRequestError = (error) => __awaiter(void 0, void 0, void 0, function*
|
|
|
208
214
|
message: error.statusText,
|
|
209
215
|
detail,
|
|
210
216
|
raw: error,
|
|
217
|
+
route,
|
|
218
|
+
requestInit,
|
|
211
219
|
};
|
|
212
220
|
return err;
|
|
213
221
|
}
|
|
@@ -216,6 +224,8 @@ const buildRequestError = (error) => __awaiter(void 0, void 0, void 0, function*
|
|
|
216
224
|
message: 'Unknown error',
|
|
217
225
|
detail: null,
|
|
218
226
|
raw: error,
|
|
227
|
+
route,
|
|
228
|
+
requestInit,
|
|
219
229
|
};
|
|
220
230
|
return err;
|
|
221
231
|
});
|
|
@@ -270,7 +280,7 @@ const request = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
270
280
|
return { data, expiresInTimestamp };
|
|
271
281
|
}
|
|
272
282
|
catch (error) {
|
|
273
|
-
throw yield buildRequestError(error);
|
|
283
|
+
throw yield buildRequestError(error, options.route, options.init);
|
|
274
284
|
}
|
|
275
285
|
});
|
|
276
286
|
|
|
@@ -351,11 +361,12 @@ class BearerAuthProvider {
|
|
|
351
361
|
route,
|
|
352
362
|
});
|
|
353
363
|
const body = bodyAdapter ? bodyAdapter(this._refreshToken) : { refreshToken: this._refreshToken };
|
|
364
|
+
const requestInit = { body: buildBody(body), method };
|
|
354
365
|
this.onRefreshInitiation$.next();
|
|
355
366
|
try {
|
|
356
367
|
const result = yield request({
|
|
357
368
|
route: fullRoute,
|
|
358
|
-
init:
|
|
369
|
+
init: requestInit,
|
|
359
370
|
});
|
|
360
371
|
const tokens = responseAdapter ? responseAdapter(result.data) : result.data;
|
|
361
372
|
if (!tokens.token) {
|
|
@@ -370,7 +381,7 @@ class BearerAuthProvider {
|
|
|
370
381
|
}
|
|
371
382
|
catch (error) {
|
|
372
383
|
if (error instanceof Error) {
|
|
373
|
-
this.onRefreshFailure$.next(yield buildRequestError(error));
|
|
384
|
+
this.onRefreshFailure$.next(yield buildRequestError(error, fullRoute, requestInit));
|
|
374
385
|
}
|
|
375
386
|
else {
|
|
376
387
|
this.onRefreshFailure$.next(error);
|
|
@@ -499,7 +510,7 @@ class Query {
|
|
|
499
510
|
return this._client.fetch(this._queryConfig);
|
|
500
511
|
}
|
|
501
512
|
execute(options) {
|
|
502
|
-
var _a, _b, _c, _d, _e, _f;
|
|
513
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
503
514
|
if (!this.isExpired && !(options === null || options === void 0 ? void 0 : options.skipCache) && isQueryStateSuccess(this.state)) {
|
|
504
515
|
return this;
|
|
505
516
|
}
|
|
@@ -525,21 +536,21 @@ class Query {
|
|
|
525
536
|
}
|
|
526
537
|
else {
|
|
527
538
|
body = buildBody((_b = this._args) === null || _b === void 0 ? void 0 : _b.body);
|
|
528
|
-
contentType = guessContentType(body);
|
|
539
|
+
contentType = guessContentType((_c = this._args) === null || _c === void 0 ? void 0 : _c.body);
|
|
529
540
|
}
|
|
530
541
|
let authHeader = null;
|
|
531
542
|
if (this._queryConfig.secure) {
|
|
532
|
-
const header = (
|
|
543
|
+
const header = (_d = this._client.authProvider) === null || _d === void 0 ? void 0 : _d.header;
|
|
533
544
|
if (header) {
|
|
534
545
|
authHeader = header;
|
|
535
546
|
}
|
|
536
547
|
}
|
|
537
|
-
else if ((
|
|
548
|
+
else if ((_e = this._client.authProvider) === null || _e === void 0 ? void 0 : _e.header) {
|
|
538
549
|
if (this._queryConfig.secure === undefined || this._queryConfig.secure) {
|
|
539
550
|
authHeader = this._client.authProvider.header;
|
|
540
551
|
}
|
|
541
552
|
}
|
|
542
|
-
let headers = mergeHeaders(authHeader, (
|
|
553
|
+
let headers = mergeHeaders(authHeader, (_f = this._args) === null || _f === void 0 ? void 0 : _f.headers);
|
|
543
554
|
if (contentType && !(headers === null || headers === void 0 ? void 0 : headers['Content-Type']) && !(headers === null || headers === void 0 ? void 0 : headers['content-type'])) {
|
|
544
555
|
if (headers) {
|
|
545
556
|
headers['Content-Type'] = contentType;
|
|
@@ -558,7 +569,7 @@ class Query {
|
|
|
558
569
|
body,
|
|
559
570
|
headers: headers || undefined,
|
|
560
571
|
},
|
|
561
|
-
cacheAdapter: (
|
|
572
|
+
cacheAdapter: (_g = this._client.config.request) === null || _g === void 0 ? void 0 : _g.cacheAdapter,
|
|
562
573
|
})
|
|
563
574
|
.then((response) => {
|
|
564
575
|
const isResponseObject = typeof response === 'object';
|
|
@@ -706,9 +717,9 @@ class QueryDirective {
|
|
|
706
717
|
}
|
|
707
718
|
}
|
|
708
719
|
}
|
|
709
|
-
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
710
|
-
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
711
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
720
|
+
QueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: QueryDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i0.ErrorHandler }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
721
|
+
QueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: QueryDirective, isStandalone: true, selector: "[query]", inputs: { query: "query", cache: ["queryCache", "cache"] }, ngImport: i0 });
|
|
722
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: QueryDirective, decorators: [{
|
|
712
723
|
type: Directive,
|
|
713
724
|
args: [{
|
|
714
725
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -980,9 +991,9 @@ class InfinityQueryDirective {
|
|
|
980
991
|
}
|
|
981
992
|
}
|
|
982
993
|
}
|
|
983
|
-
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
984
|
-
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
985
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
994
|
+
InfinityQueryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
995
|
+
InfinityQueryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: InfinityQueryDirective, isStandalone: true, selector: "[infinityQuery]", inputs: { infinityQuery: "infinityQuery" }, providers: [{ provide: INFINITY_QUERY_TOKEN, useExisting: InfinityQueryDirective }], ngImport: i0 });
|
|
996
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryDirective, decorators: [{
|
|
986
997
|
type: Directive,
|
|
987
998
|
args: [{
|
|
988
999
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -1032,9 +1043,9 @@ class InfinityQueryTriggerDirective {
|
|
|
1032
1043
|
this._observer.observe(this._elementRef.nativeElement);
|
|
1033
1044
|
}
|
|
1034
1045
|
}
|
|
1035
|
-
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
1036
|
-
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
1037
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
1046
|
+
InfinityQueryTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1047
|
+
InfinityQueryTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.9", type: InfinityQueryTriggerDirective, isStandalone: true, selector: "[infinityQueryTrigger], infinity-query-trigger", inputs: { scrollContainerSelector: "scrollContainerSelector" }, ngImport: i0 });
|
|
1048
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: InfinityQueryTriggerDirective, decorators: [{
|
|
1038
1049
|
type: Directive,
|
|
1039
1050
|
args: [{
|
|
1040
1051
|
// eslint-disable-next-line @angular-eslint/directive-selector
|