@netgrif/components-core 7.0.0-beta.2 → 7.0.0-rc.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/esm2022/lib/authentication/authentication.factory.mjs +5 -1
- package/esm2022/lib/authentication/models/credentials.mjs +1 -1
- package/esm2022/lib/authentication/models/user.transformer.mjs +2 -2
- package/esm2022/lib/authentication/services/methods/basic-authentication/basic-with-realm-authentication.service.mjs +43 -0
- package/esm2022/lib/authentication/services/public-api.mjs +2 -1
- package/esm2022/lib/navigation/breadcrumbs/abstract-breadcrumbs.component.mjs +4 -4
- package/esm2022/lib/navigation/model/uri-resource.mjs +1 -1
- package/esm2022/lib/navigation/navigation-double-drawer/abstract-navigation-double-drawer.mjs +11 -11
- package/esm2022/lib/navigation/service/uri.service.mjs +10 -10
- package/esm2022/lib/resources/abstract-endpoint/abstract-resource.service.mjs +28 -1
- package/esm2022/lib/resources/engine-endpoint/petri-net-resource.service.mjs +5 -3
- package/esm2022/lib/resources/engine-endpoint/public/public-petri-net-resource.service.mjs +3 -2
- package/esm2022/lib/resources/engine-endpoint/user-resource.service.mjs +36 -35
- package/esm2022/lib/side-menu/content-components/import-net/abstract-import-net.component.mjs +2 -2
- package/esm2022/lib/task-content/services/field-converter.service.mjs +4 -4
- package/esm2022/lib/user/models/iuser.mjs +1 -1
- package/esm2022/lib/user/models/user.mjs +6 -2
- package/esm2022/lib/user/services/user-list.service.mjs +2 -2
- package/esm2022/lib/user/services/user.service.mjs +2 -2
- package/esm2022/lib/utility/tests/mocks/mock-authentication-method-service.mjs +2 -2
- package/esm2022/lib/utility/tests/mocks/mock-authentication.service.mjs +2 -2
- package/esm2022/lib/utility/tests/mocks/mock-user-resource.service.mjs +2 -2
- package/fesm2022/netgrif-components-core.mjs +150 -75
- package/fesm2022/netgrif-components-core.mjs.map +1 -1
- package/lib/authentication/authentication.factory.d.ts +2 -1
- package/lib/authentication/models/credentials.d.ts +1 -0
- package/lib/authentication/services/methods/basic-authentication/basic-with-realm-authentication.service.d.ts +16 -0
- package/lib/authentication/services/public-api.d.ts +1 -0
- package/lib/navigation/model/uri-resource.d.ts +2 -1
- package/lib/resources/abstract-endpoint/abstract-resource.service.d.ts +6 -0
- package/lib/resources/engine-endpoint/user-resource.service.d.ts +17 -17
- package/lib/user/models/iuser.d.ts +18 -0
- package/lib/user/models/user.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NullAuthenticationService } from './services/methods/null-authentication/null-authentication.service';
|
|
2
2
|
import { BasicAuthenticationService } from './services/methods/basic-authentication/basic-authentication.service';
|
|
3
|
+
import { BasicWithRealmAuthenticationService } from "./services/methods/basic-authentication/basic-with-realm-authentication.service";
|
|
3
4
|
export function authenticationServiceFactory(config, http) {
|
|
4
5
|
const auth = config.get().providers.auth;
|
|
5
6
|
if (!auth || !auth.authentication) {
|
|
@@ -9,8 +10,11 @@ export function authenticationServiceFactory(config, http) {
|
|
|
9
10
|
if (authType === 'basic') {
|
|
10
11
|
return new BasicAuthenticationService(http, config);
|
|
11
12
|
}
|
|
13
|
+
else if (authType === 'basicwithrealm') {
|
|
14
|
+
return new BasicWithRealmAuthenticationService(http, config);
|
|
15
|
+
}
|
|
12
16
|
else {
|
|
13
17
|
return new NullAuthenticationService();
|
|
14
18
|
}
|
|
15
19
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vYXV0aGVudGljYXRpb24uZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUM3RyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzRUFBc0UsQ0FBQztBQUVoSCxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSxpRkFBaUYsQ0FBQztBQUVwSSxNQUFNLFVBQVUsNEJBQTRCLENBQUMsTUFBNEIsRUFBRSxJQUFnQjtJQUN2RixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztJQUN6QyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtRQUMvQixPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztLQUMxQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkQsSUFBSSxRQUFRLEtBQUssT0FBTyxFQUFFO1FBQ3RCLE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDdkQ7U0FBTSxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRTtRQUN0QyxPQUFPLElBQUksbUNBQW1DLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ2hFO1NBQU07UUFDSCxPQUFPLElBQUkseUJBQXlCLEVBQUUsQ0FBQztLQUMxQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge051bGxBdXRoZW50aWNhdGlvblNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvbWV0aG9kcy9udWxsLWF1dGhlbnRpY2F0aW9uL251bGwtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQge0Jhc2ljQXV0aGVudGljYXRpb25TZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL21ldGhvZHMvYmFzaWMtYXV0aGVudGljYXRpb24vYmFzaWMtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QmFzaWNXaXRoUmVhbG1BdXRoZW50aWNhdGlvblNlcnZpY2V9IGZyb20gXCIuL3NlcnZpY2VzL21ldGhvZHMvYmFzaWMtYXV0aGVudGljYXRpb24vYmFzaWMtd2l0aC1yZWFsbS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhdXRoZW50aWNhdGlvblNlcnZpY2VGYWN0b3J5KGNvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UsIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBjb25zdCBhdXRoID0gY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoO1xuICAgIGlmICghYXV0aCB8fCAhYXV0aC5hdXRoZW50aWNhdGlvbikge1xuICAgICAgICByZXR1cm4gbmV3IE51bGxBdXRoZW50aWNhdGlvblNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCBhdXRoVHlwZSA9IGF1dGguYXV0aGVudGljYXRpb24udG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoYXV0aFR5cGUgPT09ICdiYXNpYycpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCYXNpY0F1dGhlbnRpY2F0aW9uU2VydmljZShodHRwLCBjb25maWcpO1xuICAgIH0gZWxzZSBpZiAoYXV0aFR5cGUgPT09ICdiYXNpY3dpdGhyZWFsbScpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCYXNpY1dpdGhSZWFsbUF1dGhlbnRpY2F0aW9uU2VydmljZShodHRwLCBjb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgTnVsbEF1dGhlbnRpY2F0aW9uU2VydmljZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL21vZGVscy9jcmVkZW50aWFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDcmVkZW50aWFscyB7XG4gICAgcmVhbG1JZD86IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -7,7 +7,7 @@ export class UserTransformer {
|
|
|
7
7
|
}
|
|
8
8
|
transform(user) {
|
|
9
9
|
const groups = []; // TODO groups parsing
|
|
10
|
-
return new User(user.id, user.email, user.name, user.surname, this.transformAuthorities(user.authorities), user.processRoles, groups, user.nextGroups, user.impersonated ? this.transform(user.impersonated) : undefined);
|
|
10
|
+
return new User(user.id, user.username, user.email, user.realmId, user.name, user.surname, this.transformAuthorities(user.authorities), user.processRoles, groups, user.nextGroups, user.impersonated ? this.transform(user.impersonated) : undefined);
|
|
11
11
|
}
|
|
12
12
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserTransformer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13
13
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserTransformer, providedIn: 'root' });
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
18
18
|
providedIn: 'root'
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci50cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vbW9kZWxzL3VzZXIudHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTVDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBT3pDLE1BQU0sT0FBTyxlQUFlO0lBRWQsb0JBQW9CLENBQUMsV0FBNkI7UUFDeEQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBa0I7UUFDL0IsTUFBTSxNQUFNLEdBQWtCLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQjtRQUV4RCxPQUFPLElBQUksSUFBSSxDQUNYLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNDLElBQUksQ0FBQyxZQUFZLEVBQ2pCLE1BQU0sRUFDTixJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUzRSxDQUFDO3dHQXRCUSxlQUFlOzRHQUFmLGVBQWUsY0FGWixNQUFNOzs0RkFFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXNlcn0gZnJvbSAnLi4vLi4vdXNlci9tb2RlbHMvdXNlcic7XG5pbXBvcnQge1RyYW5zZm9ybWVyfSBmcm9tICcuL3RyYW5zZm9ybWVyJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VzZXJSZXNvdXJjZX0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS91c2VyLXJlc291cmNlJztcbmltcG9ydCB7QXV0aG9yaXR5fSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL2F1dGhvcml0eSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclRyYW5zZm9ybWVyIGltcGxlbWVudHMgVHJhbnNmb3JtZXI8VXNlclJlc291cmNlLCBVc2VyPiB7XG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNmb3JtQXV0aG9yaXRpZXMoYXV0aG9yaXRpZXM6IEFycmF5PEF1dGhvcml0eT4pOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuICFhdXRob3JpdGllcyA/IFtdIDogYXV0aG9yaXRpZXMubWFwKGEgPT4gYS5hdXRob3JpdHkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0odXNlcjogVXNlclJlc291cmNlKTogVXNlciB7XG4gICAgICAgIGNvbnN0IGdyb3VwczogQXJyYXk8c3RyaW5nPiA9IFtdOyAvLyBUT0RPIGdyb3VwcyBwYXJzaW5nXG5cbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyKFxuICAgICAgICAgICAgdXNlci5pZCxcbiAgICAgICAgICAgIHVzZXIudXNlcm5hbWUsXG4gICAgICAgICAgICB1c2VyLmVtYWlsLFxuICAgICAgICAgICAgdXNlci5yZWFsbUlkLFxuICAgICAgICAgICAgdXNlci5uYW1lLFxuICAgICAgICAgICAgdXNlci5zdXJuYW1lLFxuICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1BdXRob3JpdGllcyh1c2VyLmF1dGhvcml0aWVzKSxcbiAgICAgICAgICAgIHVzZXIucHJvY2Vzc1JvbGVzLFxuICAgICAgICAgICAgZ3JvdXBzLFxuICAgICAgICAgICAgdXNlci5uZXh0R3JvdXBzLFxuICAgICAgICAgICAgdXNlci5pbXBlcnNvbmF0ZWQgPyB0aGlzLnRyYW5zZm9ybSh1c2VyLmltcGVyc29uYXRlZCkgOiB1bmRlZmluZWQpO1xuXG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { AuthenticationMethodService } from "../../authentication-method.service";
|
|
3
|
+
import { throwError } from "rxjs";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
import * as i2 from "../../../../configuration/configuration.service";
|
|
7
|
+
export class BasicWithRealmAuthenticationService extends AuthenticationMethodService {
|
|
8
|
+
_http;
|
|
9
|
+
_config;
|
|
10
|
+
constructor(_http, _config) {
|
|
11
|
+
super();
|
|
12
|
+
this._http = _http;
|
|
13
|
+
this._config = _config;
|
|
14
|
+
}
|
|
15
|
+
login(credentials = { username: '', password: '' }) {
|
|
16
|
+
const url = this._config.get().providers.auth.address + this._config.get().providers.auth.endpoints['login'];
|
|
17
|
+
if (!url) {
|
|
18
|
+
return throwError(new Error('Login URL is not defined in the config [nae.providers.auth.endpoints.login]'));
|
|
19
|
+
}
|
|
20
|
+
if (!credentials.username || !credentials.password) {
|
|
21
|
+
return throwError(new Error('User\'s credentials are not defined!'));
|
|
22
|
+
}
|
|
23
|
+
credentials.username = credentials.username.trim();
|
|
24
|
+
credentials.password = credentials.password.trim();
|
|
25
|
+
if (credentials.username === '' || credentials.password === '') {
|
|
26
|
+
return throwError(new Error('User\'s credentials are empty!'));
|
|
27
|
+
}
|
|
28
|
+
return this._http.post(url, credentials);
|
|
29
|
+
}
|
|
30
|
+
logout() {
|
|
31
|
+
const url = this._config.get().providers.auth.address + this._config.get().providers.auth.endpoints['logout'];
|
|
32
|
+
if (!url) {
|
|
33
|
+
return throwError(new Error('Logout URL is not defined in the config [nae.providers.auth.endpoints.logout]'));
|
|
34
|
+
}
|
|
35
|
+
return this._http.post(url, {});
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicWithRealmAuthenticationService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicWithRealmAuthenticationService });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicWithRealmAuthenticationService, decorators: [{
|
|
41
|
+
type: Injectable
|
|
42
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigurationService }] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtd2l0aC1yZWFsbS1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9hdXRoZW50aWNhdGlvbi9zZXJ2aWNlcy9tZXRob2RzL2Jhc2ljLWF1dGhlbnRpY2F0aW9uL2Jhc2ljLXdpdGgtcmVhbG0tYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRWhGLE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7QUFLNUMsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDJCQUEyQjtJQUU1RDtJQUEyQjtJQUEvQyxZQUFvQixLQUFpQixFQUFVLE9BQTZCO1FBQ3hFLEtBQUssRUFBRSxDQUFDO1FBRFEsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBRTVFLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBMkIsRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7UUFDekQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDTixPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDLENBQUM7U0FDL0c7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDaEQsT0FBTyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsV0FBVyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25ELFdBQVcsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFO1lBQzVELE9BQU8sVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztTQUNsRTtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQWUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxNQUFNO1FBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDTixPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQywrRUFBK0UsQ0FBQyxDQUFDLENBQUM7U0FDakg7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQTVCUSxtQ0FBbUM7NEdBQW5DLG1DQUFtQzs7NEZBQW5DLG1DQUFtQztrQkFEL0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHtBdXRoZW50aWNhdGlvbk1ldGhvZFNlcnZpY2V9IGZyb20gXCIuLi8uLi9hdXRoZW50aWNhdGlvbi1tZXRob2Quc2VydmljZVwiO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7T2JzZXJ2YWJsZSwgdGhyb3dFcnJvcn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7VXNlclJlc291cmNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2ludGVyZmFjZS91c2VyLXJlc291cmNlXCI7XG5pbXBvcnQge0NyZWRlbnRpYWxzfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2NyZWRlbnRpYWxzXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNpY1dpdGhSZWFsbUF1dGhlbnRpY2F0aW9uU2VydmljZSBleHRlbmRzIEF1dGhlbnRpY2F0aW9uTWV0aG9kU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIF9jb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbG9naW4oY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0ge3VzZXJuYW1lOiAnJywgcGFzc3dvcmQ6ICcnfSk6IE9ic2VydmFibGU8VXNlclJlc291cmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuX2NvbmZpZy5nZXQoKS5wcm92aWRlcnMuYXV0aC5hZGRyZXNzICsgdGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoLmVuZHBvaW50c1snbG9naW4nXTtcbiAgICAgICAgaWYgKCF1cmwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcignTG9naW4gVVJMIGlzIG5vdCBkZWZpbmVkIGluIHRoZSBjb25maWcgW25hZS5wcm92aWRlcnMuYXV0aC5lbmRwb2ludHMubG9naW5dJykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY3JlZGVudGlhbHMudXNlcm5hbWUgfHwgIWNyZWRlbnRpYWxzLnBhc3N3b3JkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ1VzZXJcXCdzIGNyZWRlbnRpYWxzIGFyZSBub3QgZGVmaW5lZCEnKSk7XG4gICAgICAgIH1cbiAgICAgICAgY3JlZGVudGlhbHMudXNlcm5hbWUgPSBjcmVkZW50aWFscy51c2VybmFtZS50cmltKCk7XG4gICAgICAgIGNyZWRlbnRpYWxzLnBhc3N3b3JkID0gY3JlZGVudGlhbHMucGFzc3dvcmQudHJpbSgpO1xuICAgICAgICBpZiAoY3JlZGVudGlhbHMudXNlcm5hbWUgPT09ICcnIHx8IGNyZWRlbnRpYWxzLnBhc3N3b3JkID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdVc2VyXFwncyBjcmVkZW50aWFscyBhcmUgZW1wdHkhJykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8VXNlclJlc291cmNlPih1cmwsIGNyZWRlbnRpYWxzKTtcbiAgICB9XG5cbiAgICBsb2dvdXQoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoLmFkZHJlc3MgKyB0aGlzLl9jb25maWcuZ2V0KCkucHJvdmlkZXJzLmF1dGguZW5kcG9pbnRzWydsb2dvdXQnXTtcbiAgICAgICAgaWYgKCF1cmwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcignTG9nb3V0IFVSTCBpcyBub3QgZGVmaW5lZCBpbiB0aGUgY29uZmlnIFtuYWUucHJvdmlkZXJzLmF1dGguZW5kcG9pbnRzLmxvZ291dF0nKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCh1cmwsIHt9KTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -3,5 +3,6 @@ export * from './authentication/authentication.service';
|
|
|
3
3
|
export * from './guard/authentication-guard.service';
|
|
4
4
|
export * from './authentication-method.service';
|
|
5
5
|
export * from './methods/basic-authentication/basic-authentication.service';
|
|
6
|
+
export * from './methods/basic-authentication/basic-with-realm-authentication.service';
|
|
6
7
|
export * from './methods/null-authentication/null-authentication.service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vc2VydmljZXMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBQ2QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHdFQUF3RSxDQUFBO0FBQ3RGLGNBQWMsMkRBQTJELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBTRVJWSUNFUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoZW50aWNhdGlvbi9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ3VhcmQvYXV0aGVudGljYXRpb24tZ3VhcmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLW1ldGhvZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbWV0aG9kcy9iYXNpYy1hdXRoZW50aWNhdGlvbi9iYXNpYy1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbWV0aG9kcy9iYXNpYy1hdXRoZW50aWNhdGlvbi9iYXNpYy13aXRoLXJlYWxtLWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL21ldGhvZHMvbnVsbC1hdXRoZW50aWNhdGlvbi9udWxsLWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuIl19
|
|
@@ -88,7 +88,7 @@ export class AbstractBreadcrumbsComponent {
|
|
|
88
88
|
this.nicePathSubscription = this.nicePath.subscribe(np => {
|
|
89
89
|
if (!!np) {
|
|
90
90
|
const path = np;
|
|
91
|
-
if (path?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.
|
|
91
|
+
if (path?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.uriPath.length > this.lengthOfPath && !this._showPaths) {
|
|
92
92
|
const newPath = [path[0], AbstractBreadcrumbsComponent.DOTS];
|
|
93
93
|
for (let i = path.length - this.partsAfterDots; i < path.length; i++) {
|
|
94
94
|
newPath.push(path[i]);
|
|
@@ -104,7 +104,7 @@ export class AbstractBreadcrumbsComponent {
|
|
|
104
104
|
if (!this.redirectOnClick) {
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
|
-
this._router.navigate(this.redirectUrls.get(this._uriService.activeNode.
|
|
107
|
+
this._router.navigate(this.redirectUrls.get(this._uriService.activeNode.uriPath)).then(r => { });
|
|
108
108
|
}
|
|
109
109
|
reset() {
|
|
110
110
|
this.filterName = undefined;
|
|
@@ -135,7 +135,7 @@ export class AbstractBreadcrumbsComponent {
|
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
137
|
resultCounter(count, tmp) {
|
|
138
|
-
if (tmp?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.
|
|
138
|
+
if (tmp?.length > this.partsAfterDots + 1 && this._uriService.activeNode?.uriPath.length > this.lengthOfPath && !this._showPaths) {
|
|
139
139
|
return tmp.length - this.partsAfterDots + (count - 2);
|
|
140
140
|
}
|
|
141
141
|
return count;
|
|
@@ -174,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
174
174
|
}], partsAfterDots: [{
|
|
175
175
|
type: Input
|
|
176
176
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL2JyZWFkY3J1bWJzL2Fic3RyYWN0LWJyZWFkY3J1bWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFJekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFjbkQsTUFBTSxPQUFnQiw0QkFBNEI7SUFrQmQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF0QnZCLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFDekIsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixlQUFlLEdBQVksSUFBSSxDQUFDO0lBQ2hDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUNwQyxVQUFVLENBQVM7SUFDbkIsZ0JBQWdCLENBQWdCO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLEdBQVcsS0FBSyxDQUFDO0lBQzVCLE1BQU0sQ0FBQyxTQUFTLEdBQVcsR0FBRyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxTQUFTLEdBQVcsVUFBVSxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxhQUFhLEdBQVcsZUFBZSxDQUFDO0lBQy9DLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIs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aW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVcmlTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3VyaS5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZVJlc291cmNlU2VydmljZX0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlXCI7XG5pbXBvcnQge0Nhc2VTZWFyY2hSZXF1ZXN0Qm9keX0gZnJvbSBcIi4uLy4uL2ZpbHRlci9tb2RlbHMvY2FzZS1zZWFyY2gtcmVxdWVzdC1ib2R5XCI7XG5pbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHtQYWdpbmF0aW9uUGFyYW1zfSBmcm9tIFwiLi4vLi4vdXRpbGl0eS9wYWdpbmF0aW9uL3BhZ2luYXRpb24tcGFyYW1zXCI7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSBcIi4uLy4uL2ZpbHRlci9tb2RlbHMvc2ltcGxlLWZpbHRlclwiO1xuaW1wb3J0IHt0YWtlfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7XG4gICAgRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZVxufSBmcm9tIFwiLi4vLi4vcm91dGluZy9keW5hbWljLW5hdmlnYXRpb24tcm91dGUtcHJvdmlkZXIvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7Q2FzZX0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZVwiO1xuaW1wb3J0IHtJMThuRmllbGRWYWx1ZX0gZnJvbSBcIi4uLy4uL2RhdGEtZmllbGRzL2kxOG4tZmllbGQvbW9kZWxzL2kxOG4tZmllbGQtdmFsdWVcIjtcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSBcIi4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1icmVhZGNydW1icy1jb21wb25lbnQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICAgIEBJbnB1dCgpIHNob3dIb21lOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93RmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSByZWRpcmVjdE9uQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGxlbmd0aE9mUGF0aDogbnVtYmVyID0gMzA7XG4gICAgQElucHV0KCkgcGFydHNBZnRlckRvdHM6IG51bWJlciA9IDI7XG4gICAgZmlsdGVyTmFtZTogc3RyaW5nO1xuICAgIGJyZWFkY3J1bWJzUGFydHM6IEFycmF5PHN0cmluZz47XG4gICAgcHJpdmF0ZSBzdGF0aWMgRE9UUzogc3RyaW5nID0gJy4uLic7XG4gICAgcHJpdmF0ZSBzdGF0aWMgREVMSU1FVEVSOiBzdHJpbmcgPSAnLyc7XG4gICAgcHJpdmF0ZSBzdGF0aWMgTk9ERV9QQVRIOiBzdHJpbmcgPSAnbm9kZVBhdGgnO1xuICAgIHByaXZhdGUgc3RhdGljIElURU1fU0VUVElOR1M6IHN0cmluZyA9ICdpdGVtX3NldHRpbmdzJztcbiAgICBwcml2YXRlIF9zaG93UGF0aHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIG5pY2VQYXRoOiBCZWhhdmlvclN1YmplY3Q8QXJyYXk8c3RyaW5nPj47XG4gICAgcHJpdmF0ZSByZWRpcmVjdFVybHM6IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuICAgIHByaXZhdGUgbmljZVBhdGhTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZHluYW1pY1JvdXRpbmdTZXJ2aWNlOiBEeW5hbWljTmF2aWdhdGlvblJvdXRlUHJvdmlkZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubmljZVBhdGggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMucmVkaXJlY3RVcmxzID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+KCk7XG4gICAgICAgIHRoaXMuaW5pdE5pY2VQYXRoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnJlc29sdmVCcmVhZGNydW1icygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoISF0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZUJyZWFkY3J1bWJzKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcy5maWx0ZXJDYXNlSWRcbiAgICAgICAgaWYgKCFmaWx0ZXJJZCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKFwiTWlzc2luZyByZXF1aXJlZCBkYXRhIGZvciByZXNvbHZpbmcgYnJlYWRjcnVtYnMuXCIpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3BsaXRQYXRoID0gdGhpcy5fdXJpU2VydmljZS5zcGxpdE5vZGVQYXRoKHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSk7XG4gICAgICAgIGNvbnN0IGZ1bGxQYXRoID0gdGhpcy5jcmVhdGVGdWxsUGF0aChzcGxpdFBhdGgpO1xuICAgICAgICBjb25zdCBmdWxsUGF0aFF1ZXJpZXMgPSBmdWxsUGF0aC5tYXAocCA9PiAnKHByb2Nlc3NJZGVudGlmaWVyOnByZWZlcmVuY2VfaXRlbSBBTkQgZGF0YVNldC5ub2RlUGF0aC50ZXh0VmFsdWUua2V5d29yZDpcXFwiJyArIHAgKyAnXFxcIiknKVxuICAgICAgICBmdWxsUGF0aFF1ZXJpZXMucHVzaCgnKHRhc2tNb25nb0lkczpcXFwiJyArIGZpbHRlcklkICsgJ1xcXCIpJylcblxuICAgICAgICBjb25zdCBzZWFyY2hCb2R5OiBDYXNlU2VhcmNoUmVxdWVzdEJvZHkgPSB7XG4gICAgICAgICAgICBxdWVyeTogZnVsbFBhdGhRdWVyaWVzLmpvaW4oXCIgT1IgXCIpXG4gICAgICAgIH07XG4gICAgICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgMjUpXG4gICAgICAgICAgICAuc2V0KFBhZ2luYXRpb25QYXJhbXMuUEFHRV9OVU1CRVIsIDApO1xuXG4gICAgICAgIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2Uuc2VhcmNoQ2FzZXMoU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkoc2VhcmNoQm9keSksIGh0dHBQYXJhbXMpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXNlcyA9IHJlc3VsdC5jb250ZW50O1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyQ2FzZUluZGV4ID0gY2FzZXMuZmluZEluZGV4KGMgPT4gYy50YXNrcy5zb21lKHQgPT4gdC50YXNrID09PSBmaWx0ZXJJZCkgJiYgIWZ1bGxQYXRoLmluY2x1ZGVzKHRoaXMuaW1tZWRpYXRlVmFsdWUoYywgQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5OT0RFX1BBVEgpKSk7XG4gICAgICAgICAgICBpZiAoZmlsdGVyQ2FzZUluZGV4ID49IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJDYXNlID0gY2FzZXMuc3BsaWNlKGNhc2VzLmZpbmRJbmRleChjID0+IGMudGFza3Muc29tZSh0ID0+IHQudGFzayA9PT0gZmlsdGVySWQpICYmICFmdWxsUGF0aC5pbmNsdWRlcyh0aGlzLmltbWVkaWF0ZVZhbHVlKGMsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSkpLCAxKVswXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUgPSB0aGlzLmdldFRyYW5zbGF0aW9uKHRoaXMuaW1tZWRpYXRlVmFsdWUoZmlsdGVyQ2FzZSwgJ21lbnVfbmFtZScpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2VzLnNvcnQoKGEsIGIpID0+IGZ1bGxQYXRoLmluZGV4T2YodGhpcy5pbW1lZGlhdGVWYWx1ZShhLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50Lk5PREVfUEFUSCkpIC0gZnVsbFBhdGguaW5kZXhPZih0aGlzLmltbWVkaWF0ZVZhbHVlKGIsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSkpO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3RPbkNsaWNrKSB7XG4gICAgICAgICAgICAgICAgY2FzZXMuZm9yRWFjaChjID0+IHRoaXMucmVkaXJlY3RVcmxzLnNldCh0aGlzLmltbWVkaWF0ZVZhbHVlKGMsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSwgW3RoaXMuX2R5bmFtaWNSb3V0aW5nU2VydmljZS5yb3V0ZSwgYy50YXNrcy5maW5kKHQgPT4gdC50cmFuc2l0aW9uID09PSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LklURU1fU0VUVElOR1MpLnRhc2tdKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubmljZVBhdGgubmV4dChbXCJcIiwgLi4uY2FzZXMubWFwKGMgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbih0aGlzLmltbWVkaWF0ZVZhbHVlKGMsICdtZW51X25hbWUnKSkpXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0TmljZVBhdGgoKSB7XG4gICAgICAgIHRoaXMubmljZVBhdGhTdWJzY3JpcHRpb24gPSB0aGlzLm5pY2VQYXRoLnN1YnNjcmliZShucCA9PiB7XG4gICAgICAgICAgICBpZiAoISFucCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBucDtcbiAgICAgICAgICAgICAgICBpZiAocGF0aD8ubGVuZ3RoID4gdGhpcy5wYXJ0c0FmdGVyRG90cyArIDEgJiYgdGhpcy5fdXJpU2VydmljZS5hY3RpdmVOb2RlPy5wYXRoLmxlbmd0aCA+IHRoaXMubGVuZ3RoT2ZQYXRoICYmICF0aGlzLl9zaG93UGF0aHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UGF0aCA9IFtwYXRoWzBdLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRPVFNdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gcGF0aC5sZW5ndGggLSB0aGlzLnBhcnRzQWZ0ZXJEb3RzOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGF0aC5wdXNoKHBhdGhbaV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYnNQYXJ0cyA9IG5ld1BhdGg7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5icmVhZGNydW1ic1BhcnRzID0gcGF0aCA9PT0gdW5kZWZpbmVkID8gW10gOiBwYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVkaXJlY3QoKSB7XG4gICAgICAgIGlmICghdGhpcy5yZWRpcmVjdE9uQ2xpY2spIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUodGhpcy5yZWRpcmVjdFVybHMuZ2V0KHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZS5wYXRoKSkudGhlbihyID0+IHt9KVxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubmljZVBhdGgubmV4dChbXCJcIl0pXG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZVBhdGgocGF0aDogc3RyaW5nLCBjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChwYXRoID09PSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRPVFMgJiYgY291bnQgPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dQYXRocyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoLm5leHQodGhpcy5uaWNlUGF0aC52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZ1bGxQYXRoOiBzdHJpbmcgPSAnJztcbiAgICAgICAgY29uc3QgdG1wID0gdGhpcy5fdXJpU2VydmljZS5zcGxpdE5vZGVQYXRoKHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSk7XG4gICAgICAgIGlmICh0bXAgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5yZXN1bHRDb3VudGVyKGNvdW50LCB0bXApO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBjb250cm9sOyBpKyspIHtcbiAgICAgICAgICAgIGZ1bGxQYXRoICs9IHRtcFtpXTtcbiAgICAgICAgICAgIGlmIChpICE9PSBjb250cm9sKSBmdWxsUGF0aCArPSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRFTElNRVRFUjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLmdldE5vZGVCeVBhdGgoZnVsbFBhdGgpLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSA9IG5vZGU7XG4gICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoLm5leHQodGhpcy5uaWNlUGF0aC52YWx1ZS5zbGljZSgwLCBjb250cm9sICsgMSkpXG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0KCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN1bHRDb3VudGVyKGNvdW50OiBudW1iZXIsIHRtcDogc3RyaW5nW10pOiBudW1iZXIge1xuICAgICAgICBpZiAodG1wPy5sZW5ndGggPiB0aGlzLnBhcnRzQWZ0ZXJEb3RzICsgMSAmJiB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGU/LnBhdGgubGVuZ3RoID4gdGhpcy5sZW5ndGhPZlBhdGggJiYgIXRoaXMuX3Nob3dQYXRocykge1xuICAgICAgICAgICAgcmV0dXJuIHRtcC5sZW5ndGggLSB0aGlzLnBhcnRzQWZ0ZXJEb3RzICsgKGNvdW50IC0gMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRnVsbFBhdGgoc3BsaXRQYXRoOiBBcnJheTxzdHJpbmc+KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGxldCB0bXAgPSAnJztcbiAgICAgICAgcmV0dXJuIHNwbGl0UGF0aC5maWx0ZXIocyA9PiBzICE9PSBcIlwiKS5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0bXAgKz0gQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5ERUxJTUVURVIgKyB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiB0bXAucmVwbGFjZShcIi8vXCIsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuREVMSU1FVEVSKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGltbWVkaWF0ZVZhbHVlKGFDYXNlOiBDYXNlLCBmaWVsZElkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4gYUNhc2UuaW1tZWRpYXRlRGF0YS5maW5kKHMgPT4gcy5zdHJpbmdJZCA9PT0gZmllbGRJZCk/LnZhbHVlXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2xhdGlvbih2YWx1ZTogSTE4bkZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLnNwbGl0KCctJylbMF07XG4gICAgICAgIHJldHVybiBsb2NhbGUgaW4gdmFsdWUudHJhbnNsYXRpb25zID8gdmFsdWUudHJhbnNsYXRpb25zW2xvY2FsZV0gOiB2YWx1ZS5kZWZhdWx0VmFsdWU7XG4gICAgfVxufVxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL2JyZWFkY3J1bWJzL2Fic3RyYWN0LWJyZWFkY3J1bWJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFJekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFjbkQsTUFBTSxPQUFnQiw0QkFBNEI7SUFrQmQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUF0QnZCLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFDekIsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixlQUFlLEdBQVksSUFBSSxDQUFDO0lBQ2hDLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsY0FBYyxHQUFXLENBQUMsQ0FBQztJQUNwQyxVQUFVLENBQVM7SUFDbkIsZ0JBQWdCLENBQWdCO0lBQ3hCLE1BQU0sQ0FBQyxJQUFJLEdBQVcsS0FBSyxDQUFDO0lBQzVCLE1BQU0sQ0FBQyxTQUFTLEdBQVcsR0FBRyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxTQUFTLEdBQVcsVUFBVSxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxhQUFhLEdBQVcsZUFBZSxDQUFDO0lBQy9DLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIs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aW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVcmlTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3VyaS5zZXJ2aWNlJztcbmltcG9ydCB7Q2FzZVJlc291cmNlU2VydmljZX0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9lbmdpbmUtZW5kcG9pbnQvY2FzZS1yZXNvdXJjZS5zZXJ2aWNlXCI7XG5pbXBvcnQge0Nhc2VTZWFyY2hSZXF1ZXN0Qm9keX0gZnJvbSBcIi4uLy4uL2ZpbHRlci9tb2RlbHMvY2FzZS1zZWFyY2gtcmVxdWVzdC1ib2R5XCI7XG5pbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHtQYWdpbmF0aW9uUGFyYW1zfSBmcm9tIFwiLi4vLi4vdXRpbGl0eS9wYWdpbmF0aW9uL3BhZ2luYXRpb24tcGFyYW1zXCI7XG5pbXBvcnQge1NpbXBsZUZpbHRlcn0gZnJvbSBcIi4uLy4uL2ZpbHRlci9tb2RlbHMvc2ltcGxlLWZpbHRlclwiO1xuaW1wb3J0IHt0YWtlfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7XG4gICAgRHluYW1pY05hdmlnYXRpb25Sb3V0ZVByb3ZpZGVyU2VydmljZVxufSBmcm9tIFwiLi4vLi4vcm91dGluZy9keW5hbWljLW5hdmlnYXRpb24tcm91dGUtcHJvdmlkZXIvZHluYW1pYy1uYXZpZ2F0aW9uLXJvdXRlLXByb3ZpZGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7Q2FzZX0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9pbnRlcmZhY2UvY2FzZVwiO1xuaW1wb3J0IHtJMThuRmllbGRWYWx1ZX0gZnJvbSBcIi4uLy4uL2RhdGEtZmllbGRzL2kxOG4tZmllbGQvbW9kZWxzL2kxOG4tZmllbGQtdmFsdWVcIjtcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSBcIi4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1icmVhZGNydW1icy1jb21wb25lbnQnLFxuICAgIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcblxuICAgIEBJbnB1dCgpIHNob3dIb21lOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBzaG93RmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKSByZWRpcmVjdE9uQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGxlbmd0aE9mUGF0aDogbnVtYmVyID0gMzA7XG4gICAgQElucHV0KCkgcGFydHNBZnRlckRvdHM6IG51bWJlciA9IDI7XG4gICAgZmlsdGVyTmFtZTogc3RyaW5nO1xuICAgIGJyZWFkY3J1bWJzUGFydHM6IEFycmF5PHN0cmluZz47XG4gICAgcHJpdmF0ZSBzdGF0aWMgRE9UUzogc3RyaW5nID0gJy4uLic7XG4gICAgcHJpdmF0ZSBzdGF0aWMgREVMSU1FVEVSOiBzdHJpbmcgPSAnLyc7XG4gICAgcHJpdmF0ZSBzdGF0aWMgTk9ERV9QQVRIOiBzdHJpbmcgPSAnbm9kZVBhdGgnO1xuICAgIHByaXZhdGUgc3RhdGljIElURU1fU0VUVElOR1M6IHN0cmluZyA9ICdpdGVtX3NldHRpbmdzJztcbiAgICBwcml2YXRlIF9zaG93UGF0aHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIG5pY2VQYXRoOiBCZWhhdmlvclN1YmplY3Q8QXJyYXk8c3RyaW5nPj47XG4gICAgcHJpdmF0ZSByZWRpcmVjdFVybHM6IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuICAgIHByaXZhdGUgbmljZVBhdGhTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3VyaVNlcnZpY2U6IFVyaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfY2FzZVJlc291cmNlU2VydmljZTogQ2FzZVJlc291cmNlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfZHluYW1pY1JvdXRpbmdTZXJ2aWNlOiBEeW5hbWljTmF2aWdhdGlvblJvdXRlUHJvdmlkZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubmljZVBhdGggPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMucmVkaXJlY3RVcmxzID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PHN0cmluZz4+KCk7XG4gICAgICAgIHRoaXMuaW5pdE5pY2VQYXRoKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnJlc29sdmVCcmVhZGNydW1icygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoISF0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZUJyZWFkY3J1bWJzKCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJJZCA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtcy5maWx0ZXJDYXNlSWRcbiAgICAgICAgaWYgKCFmaWx0ZXJJZCkge1xuICAgICAgICAgICAgdGhpcy5fbG9nLmVycm9yKFwiTWlzc2luZyByZXF1aXJlZCBkYXRhIGZvciByZXNvbHZpbmcgYnJlYWRjcnVtYnMuXCIpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3BsaXRQYXRoID0gdGhpcy5fdXJpU2VydmljZS5zcGxpdE5vZGVQYXRoKHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSk7XG4gICAgICAgIGNvbnN0IGZ1bGxQYXRoID0gdGhpcy5jcmVhdGVGdWxsUGF0aChzcGxpdFBhdGgpO1xuICAgICAgICBjb25zdCBmdWxsUGF0aFF1ZXJpZXMgPSBmdWxsUGF0aC5tYXAocCA9PiAnKHByb2Nlc3NJZGVudGlmaWVyOnByZWZlcmVuY2VfaXRlbSBBTkQgZGF0YVNldC5ub2RlUGF0aC50ZXh0VmFsdWUua2V5d29yZDpcXFwiJyArIHAgKyAnXFxcIiknKVxuICAgICAgICBmdWxsUGF0aFF1ZXJpZXMucHVzaCgnKHRhc2tNb25nb0lkczpcXFwiJyArIGZpbHRlcklkICsgJ1xcXCIpJylcblxuICAgICAgICBjb25zdCBzZWFyY2hCb2R5OiBDYXNlU2VhcmNoUmVxdWVzdEJvZHkgPSB7XG4gICAgICAgICAgICBxdWVyeTogZnVsbFBhdGhRdWVyaWVzLmpvaW4oXCIgT1IgXCIpXG4gICAgICAgIH07XG4gICAgICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAgICAgLnNldChQYWdpbmF0aW9uUGFyYW1zLlBBR0VfU0laRSwgMjUpXG4gICAgICAgICAgICAuc2V0KFBhZ2luYXRpb25QYXJhbXMuUEFHRV9OVU1CRVIsIDApO1xuXG4gICAgICAgIHRoaXMuX2Nhc2VSZXNvdXJjZVNlcnZpY2Uuc2VhcmNoQ2FzZXMoU2ltcGxlRmlsdGVyLmZyb21DYXNlUXVlcnkoc2VhcmNoQm9keSksIGh0dHBQYXJhbXMpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXNlcyA9IHJlc3VsdC5jb250ZW50O1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyQ2FzZUluZGV4ID0gY2FzZXMuZmluZEluZGV4KGMgPT4gYy50YXNrcy5zb21lKHQgPT4gdC50YXNrID09PSBmaWx0ZXJJZCkgJiYgIWZ1bGxQYXRoLmluY2x1ZGVzKHRoaXMuaW1tZWRpYXRlVmFsdWUoYywgQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5OT0RFX1BBVEgpKSk7XG4gICAgICAgICAgICBpZiAoZmlsdGVyQ2FzZUluZGV4ID49IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJDYXNlID0gY2FzZXMuc3BsaWNlKGNhc2VzLmZpbmRJbmRleChjID0+IGMudGFza3Muc29tZSh0ID0+IHQudGFzayA9PT0gZmlsdGVySWQpICYmICFmdWxsUGF0aC5pbmNsdWRlcyh0aGlzLmltbWVkaWF0ZVZhbHVlKGMsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSkpLCAxKVswXTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUgPSB0aGlzLmdldFRyYW5zbGF0aW9uKHRoaXMuaW1tZWRpYXRlVmFsdWUoZmlsdGVyQ2FzZSwgJ21lbnVfbmFtZScpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2VzLnNvcnQoKGEsIGIpID0+IGZ1bGxQYXRoLmluZGV4T2YodGhpcy5pbW1lZGlhdGVWYWx1ZShhLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50Lk5PREVfUEFUSCkpIC0gZnVsbFBhdGguaW5kZXhPZih0aGlzLmltbWVkaWF0ZVZhbHVlKGIsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSkpO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVkaXJlY3RPbkNsaWNrKSB7XG4gICAgICAgICAgICAgICAgY2FzZXMuZm9yRWFjaChjID0+IHRoaXMucmVkaXJlY3RVcmxzLnNldCh0aGlzLmltbWVkaWF0ZVZhbHVlKGMsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuTk9ERV9QQVRIKSwgW3RoaXMuX2R5bmFtaWNSb3V0aW5nU2VydmljZS5yb3V0ZSwgYy50YXNrcy5maW5kKHQgPT4gdC50cmFuc2l0aW9uID09PSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LklURU1fU0VUVElOR1MpLnRhc2tdKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubmljZVBhdGgubmV4dChbXCJcIiwgLi4uY2FzZXMubWFwKGMgPT4gdGhpcy5nZXRUcmFuc2xhdGlvbih0aGlzLmltbWVkaWF0ZVZhbHVlKGMsICdtZW51X25hbWUnKSkpXSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0TmljZVBhdGgoKSB7XG4gICAgICAgIHRoaXMubmljZVBhdGhTdWJzY3JpcHRpb24gPSB0aGlzLm5pY2VQYXRoLnN1YnNjcmliZShucCA9PiB7XG4gICAgICAgICAgICBpZiAoISFucCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBucDtcbiAgICAgICAgICAgICAgICBpZiAocGF0aD8ubGVuZ3RoID4gdGhpcy5wYXJ0c0FmdGVyRG90cyArIDEgJiYgdGhpcy5fdXJpU2VydmljZS5hY3RpdmVOb2RlPy51cmlQYXRoLmxlbmd0aCA+IHRoaXMubGVuZ3RoT2ZQYXRoICYmICF0aGlzLl9zaG93UGF0aHMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UGF0aCA9IFtwYXRoWzBdLCBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRPVFNdO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gcGF0aC5sZW5ndGggLSB0aGlzLnBhcnRzQWZ0ZXJEb3RzOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGF0aC5wdXNoKHBhdGhbaV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYnNQYXJ0cyA9IG5ld1BhdGg7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5icmVhZGNydW1ic1BhcnRzID0gcGF0aCA9PT0gdW5kZWZpbmVkID8gW10gOiBwYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVkaXJlY3QoKSB7XG4gICAgICAgIGlmICghdGhpcy5yZWRpcmVjdE9uQ2xpY2spIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUodGhpcy5yZWRpcmVjdFVybHMuZ2V0KHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZS51cmlQYXRoKSkudGhlbihyID0+IHt9KVxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubmljZVBhdGgubmV4dChbXCJcIl0pXG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZVBhdGgocGF0aDogc3RyaW5nLCBjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChwYXRoID09PSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRPVFMgJiYgY291bnQgPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3dQYXRocyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoLm5leHQodGhpcy5uaWNlUGF0aC52YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGZ1bGxQYXRoOiBzdHJpbmcgPSAnJztcbiAgICAgICAgY29uc3QgdG1wID0gdGhpcy5fdXJpU2VydmljZS5zcGxpdE5vZGVQYXRoKHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSk7XG4gICAgICAgIGlmICh0bXAgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5yZXN1bHRDb3VudGVyKGNvdW50LCB0bXApO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBjb250cm9sOyBpKyspIHtcbiAgICAgICAgICAgIGZ1bGxQYXRoICs9IHRtcFtpXTtcbiAgICAgICAgICAgIGlmIChpICE9PSBjb250cm9sKSBmdWxsUGF0aCArPSBBYnN0cmFjdEJyZWFkY3J1bWJzQ29tcG9uZW50LkRFTElNRVRFUjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl91cmlTZXJ2aWNlLmdldE5vZGVCeVBhdGgoZnVsbFBhdGgpLnN1YnNjcmliZShub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VyaVNlcnZpY2UuYWN0aXZlTm9kZSA9IG5vZGU7XG4gICAgICAgICAgICB0aGlzLmZpbHRlck5hbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLm5pY2VQYXRoLm5leHQodGhpcy5uaWNlUGF0aC52YWx1ZS5zbGljZSgwLCBjb250cm9sICsgMSkpXG4gICAgICAgICAgICB0aGlzLnJlZGlyZWN0KCk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN1bHRDb3VudGVyKGNvdW50OiBudW1iZXIsIHRtcDogc3RyaW5nW10pOiBudW1iZXIge1xuICAgICAgICBpZiAodG1wPy5sZW5ndGggPiB0aGlzLnBhcnRzQWZ0ZXJEb3RzICsgMSAmJiB0aGlzLl91cmlTZXJ2aWNlLmFjdGl2ZU5vZGU/LnVyaVBhdGgubGVuZ3RoID4gdGhpcy5sZW5ndGhPZlBhdGggJiYgIXRoaXMuX3Nob3dQYXRocykge1xuICAgICAgICAgICAgcmV0dXJuIHRtcC5sZW5ndGggLSB0aGlzLnBhcnRzQWZ0ZXJEb3RzICsgKGNvdW50IC0gMik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRnVsbFBhdGgoc3BsaXRQYXRoOiBBcnJheTxzdHJpbmc+KTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICAgIGxldCB0bXAgPSAnJztcbiAgICAgICAgcmV0dXJuIHNwbGl0UGF0aC5maWx0ZXIocyA9PiBzICE9PSBcIlwiKS5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB0bXAgKz0gQWJzdHJhY3RCcmVhZGNydW1ic0NvbXBvbmVudC5ERUxJTUVURVIgKyB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiB0bXAucmVwbGFjZShcIi8vXCIsIEFic3RyYWN0QnJlYWRjcnVtYnNDb21wb25lbnQuREVMSU1FVEVSKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGltbWVkaWF0ZVZhbHVlKGFDYXNlOiBDYXNlLCBmaWVsZElkOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICByZXR1cm4gYUNhc2UuaW1tZWRpYXRlRGF0YS5maW5kKHMgPT4gcy5zdHJpbmdJZCA9PT0gZmllbGRJZCk/LnZhbHVlXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2xhdGlvbih2YWx1ZTogSTE4bkZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLnNwbGl0KCctJylbMF07XG4gICAgICAgIHJldHVybiBsb2NhbGUgaW4gdmFsdWUudHJhbnNsYXRpb25zID8gdmFsdWUudHJhbnNsYXRpb25zW2xvY2FsZV0gOiB2YWx1ZS5kZWZhdWx0VmFsdWU7XG4gICAgfVxufVxuIl19
|
|
@@ -3,4 +3,4 @@ export var UriContentType;
|
|
|
3
3
|
UriContentType[UriContentType["PROCESS"] = 0] = "PROCESS";
|
|
4
4
|
UriContentType[UriContentType["CASE"] = 1] = "CASE";
|
|
5
5
|
})(UriContentType || (UriContentType = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9uYXZpZ2F0aW9uL21vZGVsL3VyaS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLHlEQUFPLENBQUE7SUFDUCxtREFBSSxDQUFBO0FBQ1IsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgaW50ZXJmYWNlIFVyaU5vZGVSZXNvdXJjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB1cmlQYXRoOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHBhcmVudElkOiBzdHJpbmc7XG4gICAgcGFyZW50OiBVcmlOb2RlUmVzb3VyY2U7XG4gICAgY2hpbGRyZW5JZDogU2V0PHN0cmluZz47XG4gICAgY2hpbGRyZW46IFNldDxVcmlOb2RlUmVzb3VyY2U+O1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgY29udGVudFR5cGVzOiBTZXQ8VXJpQ29udGVudFR5cGU+XG59XG5cbmV4cG9ydCBlbnVtIFVyaUNvbnRlbnRUeXBlIHtcbiAgICBQUk9DRVNTLFxuICAgIENBU0Vcbn1cbiJdfQ==
|