ngx-techlify-core 14.9.4 → 14.9.6
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/base-model/techlify-listing-component.class.mjs +9 -4
- package/esm2020/lib/user/user-type.enum.mjs +7 -0
- package/esm2020/lib/user/users-view-all.component.mjs +9 -5
- package/fesm2015/ngx-techlify-core.mjs +21 -8
- package/fesm2015/ngx-techlify-core.mjs.map +1 -1
- package/fesm2020/ngx-techlify-core.mjs +20 -7
- package/fesm2020/ngx-techlify-core.mjs.map +1 -1
- package/lib/user/user-type.enum.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
1
2
|
import { debounceTime } from 'rxjs/operators';
|
|
2
|
-
import { untilDestroyed } from '@ngneat/until-destroy';
|
|
3
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
3
4
|
/**
|
|
4
5
|
* Interface used to ensure we have a consistent structure across our listing pages
|
|
5
6
|
*
|
|
@@ -11,7 +12,7 @@ import { untilDestroyed } from '@ngneat/until-destroy';
|
|
|
11
12
|
* - comments on more code
|
|
12
13
|
* - save time, save energy
|
|
13
14
|
*/
|
|
14
|
-
|
|
15
|
+
let TechlifyListingControllerInterface = class TechlifyListingControllerInterface {
|
|
15
16
|
constructor() {
|
|
16
17
|
this.models = [];
|
|
17
18
|
this.page = 1;
|
|
@@ -56,5 +57,9 @@ export class TechlifyListingControllerInterface {
|
|
|
56
57
|
resetFilter(field) {
|
|
57
58
|
this.filterForm.get(field).reset('');
|
|
58
59
|
}
|
|
59
|
-
}
|
|
60
|
-
|
|
60
|
+
};
|
|
61
|
+
TechlifyListingControllerInterface = __decorate([
|
|
62
|
+
UntilDestroy()
|
|
63
|
+
], TechlifyListingControllerInterface);
|
|
64
|
+
export { TechlifyListingControllerInterface };
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbGlzdGluZy1jb21wb25lbnQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2Jhc2UtbW9kZWwvdGVjaGxpZnktbGlzdGluZy1jb21wb25lbnQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJFOzs7Ozs7Ozs7O0dBVUc7QUFFSCxJQUFzQixrQ0FBa0MsR0FBeEQsTUFBc0Isa0NBQWtDO0lBQXhEO1FBRUUsV0FBTSxHQUFVLEVBQUUsQ0FBQztRQUNuQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsYUFBUSxHQUFXLEdBQUcsQ0FBQztRQUN2QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBaUQ3QixDQUFDO0lBOUNDOztPQUVHO0lBQ0gsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkUsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFPRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUVGLENBQUE7QUF2RHFCLGtDQUFrQztJQUR2RCxZQUFZLEVBQUU7R0FDTyxrQ0FBa0MsQ0F1RHZEO1NBdkRxQixrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcblxuLyoqXG4gKiBJbnRlcmZhY2UgdXNlZCB0byBlbnN1cmUgd2UgaGF2ZSBhIGNvbnNpc3RlbnQgc3RydWN0dXJlIGFjcm9zcyBvdXIgbGlzdGluZyBwYWdlc1xuICpcbiAqIEB0b2RvIFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIG5neC10ZWNobGlmeS1jb3JlXG4gKlxuICogQWR2YW50YWdlcyBvZiB0aGlzIGFic3RyYWN0IGNsYXNzXG4gKiAtIExlc3MgY29kZSwgbGVzcyBtYWludGVuYW5jZSwgbGVzcyBidWdzXG4gKiAtIG1vcmUgY29uc2lzdGVudCBjb2RlXG4gKiAtIGNvbW1lbnRzIG9uIG1vcmUgY29kZVxuICogLSBzYXZlIHRpbWUsIHNhdmUgZW5lcmd5XG4gKi9cbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRlY2hsaWZ5TGlzdGluZ0NvbnRyb2xsZXJJbnRlcmZhY2Uge1xuXG4gIG1vZGVsczogYW55W10gPSBbXTtcbiAgcGFnZTogbnVtYmVyID0gMTtcbiAgcGVyUGFnZTogbnVtYmVyID0gMjU7XG4gIGxhc3RQYWdlOiBudW1iZXIgPSA1MDA7XG4gIGlzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBmaWx0ZXJGb3JtOiBhbnk7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRoYXQgbGlzdGVucyBmb3IgYW55IGNoYW5nZXMgaW4gdGhlIGZvcm0gZ3JvdXAgdG8gYXBwbHkgdGhlIGZpbHRlcnNcbiAgICovXG4gIGxpc3RlbkZvckNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApLCB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdGhhdCBsb2FkcyB0aGUgbWFpbiBtb2RlbHMgb2YgdGhlIGFwcGxpY2F0aW9uXG4gICAqL1xuICBhYnN0cmFjdCBsb2FkRGF0YSgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWxvYWQgYWxsIGRhdGEgZnJvbSBwYWdlIDFcbiAgICovXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLm1vZGVscyA9IFtdO1xuICAgIHRoaXMucGFnZSA9IDE7XG4gICAgaWYgKCF0aGlzLmlzV29ya2luZykge1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYW4gYmUgY2FsbGVkIHdoZW4gdGhlIHVzZXIgaXMgc2Nyb2xsaW5nLFxuICAgKiB0byB0cmlnZ2VyIGxvYWRpbmcgYSBuZXcgcGFnZSBvZiBkYXRhXG4gICAqL1xuICBvblNjcm9sbCgpIHtcbiAgICBpZiAoIXRoaXMuaXNXb3JraW5nICYmIHRoaXMucGFnZSA8IHRoaXMubGFzdFBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZSArPSAxO1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gZmllbGRcbiAgICovXG4gIHJlc2V0RmlsdGVyKGZpZWxkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpZWxkKS5yZXNldCgnJyk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var UserTypeEnum;
|
|
2
|
+
(function (UserTypeEnum) {
|
|
3
|
+
UserTypeEnum[UserTypeEnum["ADMIN"] = 1] = "ADMIN";
|
|
4
|
+
UserTypeEnum[UserTypeEnum["CLIENT_ADMIN"] = 2] = "CLIENT_ADMIN";
|
|
5
|
+
UserTypeEnum[UserTypeEnum["CLIENT_USER"] = 3] = "CLIENT_USER";
|
|
6
|
+
})(UserTypeEnum || (UserTypeEnum = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvdXNlci10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUNwQixpREFBUyxDQUFBO0lBQ1QsK0RBQWdCLENBQUE7SUFDaEIsNkRBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBVc2VyVHlwZUVudW0ge1xuICAgIEFETUlOID0gMSxcbiAgICBDTElFTlRfQURNSU4gPSAyLFxuICAgIENMSUVOVF9VU0VSID0gM1xufSJdfQ==
|
|
@@ -5,6 +5,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
|
5
5
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
6
6
|
import { MatTableDataSource } from '@angular/material/table';
|
|
7
7
|
import { ActionPopupComponent } from '../action-popup';
|
|
8
|
+
import { UserTypeEnum } from './user-type.enum';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "../core";
|
|
10
11
|
import * as i2 from "./current-user.service";
|
|
@@ -190,11 +191,14 @@ let UsersViewAllComponent = class UsersViewAllComponent {
|
|
|
190
191
|
* @param user User
|
|
191
192
|
*/
|
|
192
193
|
getUserType(user) {
|
|
193
|
-
|
|
194
|
-
if (
|
|
195
|
-
|
|
194
|
+
let userClient;
|
|
195
|
+
if (this.currentUserService.getUser()?.user_type_id === UserTypeEnum.ADMIN && !!this.clientId) {
|
|
196
|
+
userClient = user?.user_clients.find((item) => item?.client_id === this.clientId);
|
|
196
197
|
}
|
|
197
|
-
|
|
198
|
+
else {
|
|
199
|
+
userClient = user?.user_clients.find((item) => item?.client_id === this.currentUser?.client_id);
|
|
200
|
+
}
|
|
201
|
+
return userClient?.type?.title || '';
|
|
198
202
|
}
|
|
199
203
|
};
|
|
200
204
|
UsersViewAllComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UsersViewAllComponent, deps: [{ token: i1.HttpService }, { token: i1.AlertService }, { token: i2.CurrentUserService }, { token: i3.UserConfigService }, { token: i4.MatDialog }, { token: i5.UserService }, { token: i6.UntypedFormBuilder }, { token: i7.RequestHelperService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -217,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
217
221
|
}], title: [{
|
|
218
222
|
type: Input
|
|
219
223
|
}] } });
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtdmlldy1hbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi91c2VyL3VzZXJzLXZpZXctYWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci91c2Vycy12aWV3LWFsbC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU16RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUs3RCxPQUFPLEVBQWMsb0JBQW9CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFhckQscUJBQXFCLFNBQXJCLHFCQUFxQjtJQTJCaEMsWUFDVSxJQUFpQixFQUNqQixZQUEwQixFQUMzQixrQkFBc0MsRUFDdEMsaUJBQW9DLEVBQ25DLE1BQWlCLEVBQ2pCLFdBQXdCLEVBQ3hCLEVBQXNCLEVBQ3RCLG9CQUEwQztRQVAxQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzNCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLE9BQUUsR0FBRixF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S0c7R0FLVSxxQkFBcUIsQ0EwTWpDO1NBMU1ZLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG9CQUFvQjtvVEFNckIsUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UgfSBmcm9tICcuL2N1cnJlbnQtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpVXNlckNvbmZpZywgVXNlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi91c2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuLi9kYXRhLXRhYmxlJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlLCBIdHRwU2VydmljZX0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQge1JlcXVlc3RIZWxwZXJTZXJ2aWNlfSBmcm9tICcuLi9yZXF1ZXN0LWhlbHBlci9yZXF1ZXN0LWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7QWN0aW9uUG9wdXAsIEFjdGlvblBvcHVwQ29tcG9uZW50fSBmcm9tICcuLi9hY3Rpb24tcG9wdXAnO1xuXG5AVW50aWxEZXN0cm95KClcbi8qKlxuICogQ29tcG9uZW50IHRvIHZpZXcgdGhlIHNldCBvZiB1c2Vyc1xuICpcbiAqIEBhdXRob3IgSm9zaHVhIEtpc3Nvb25cbiAqIEBzaW5jZSAyMDE3MDcxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdXNlcnMtdmlldy1hbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMtdmlldy1hbGwuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlcnNWaWV3QWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvLyBGb3IgYWRtaW4gcGFnZSB3ZSBuZWVkIHRvIHBhc3MgdGhlIGNsaWVudCBJZFxuICBASW5wdXQoKSBjbGllbnRJZDogbnVtYmVyO1xuXG4gIGN1cnJlbnRVc2VyOiBVc2VyO1xuICBpc1dvcmtpbmcgPSBmYWxzZTtcbiAgZGlzcGxheUl0ZW1BZGREaWFsb2cgPSBmYWxzZTtcbiAgY29uZmlnOiBNdWx0aVVzZXJDb25maWc7XG4gIHVzZXI6IFVzZXI7XG4gIEBJbnB1dCgpIHRpdGxlID0gJ1VzZXIgTWFuYWdlbWVudCc7XG4gIHVzZXJGaWx0ZXJGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwYWdlRXZlbnQ6IFBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gIHVzZXJzRGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFVzZXI+ID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxVc2VyPigpO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICduYW1lJyxcbiAgICAnZW1haWwnLFxuICAgICd0eXBlJyxcbiAgICAncm9sZXMnLFxuICAgICdsYXN0X2xvZ2luJyxcbiAgICAnYWRkZWRfYnknLFxuICAgICdhY3Rpb25zJ1xuICBdO1xuXG4gIHNjcm9sbENvbnRhaW5lciA9ICcubWF0LXNpZGVuYXYtY29udGVudCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjdXJyZW50VXNlclNlcnZpY2U6IEN1cnJlbnRVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdXNlckNvbmZpZ1NlcnZpY2U6IFVzZXJDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVxdWVzdEhlbHBlclNlcnZpY2U6IFJlcXVlc3RIZWxwZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0gdGhpcy51c2VyQ29uZmlnU2VydmljZS5nZXRDb25maWcoKTtcblxuXG4gICAgaWYgKHRoaXMuY29uZmlnPy5zY3JvbGxDb250YWluZXIpIHtcbiAgICAgIC8vIFNldCB0byBudWxsIGlmIHNjcm9sbCBoYXMgdG8gYmUgZG9uZSBmcm9tIHJvb3RcbiAgICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVyID0gdGhpcy5jb25maWc/LnNjcm9sbENvbnRhaW5lciA9PSAncm9vdCcgPyBudWxsIDogdGhpcy5jb25maWc/LnNjcm9sbENvbnRhaW5lcjtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBjcmVhdGUgdGhlIGZpbHRlciBmb3JtXG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmdldFVzZXIoKTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG5cbiAgICB0aGlzLnVzZXJGaWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbG9hZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xuICAgIHRoaXMudXNlckZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNlYXJjaDogWycnXSxcbiAgICAgIHJvbGVfaWRzOiBbJyddLFxuICAgICAgZW5hYmxlZDogW3RydWVdLFxuICAgICAgc29ydF9ieTogWydpZHxBU0MnXSxcbiAgICAgIHJlbGF0aW9uczogWydyb2xlcyx0eXBlLHVzZXJDbGllbnRzLnR5cGUsY3JlYXRvcix1c2VyQ2xpZW50J10sXG4gICAgICBhcHBlbmRzOiBbJ2xhc3RfbG9naW4nXSxcbiAgICAgIGNsaWVudF9pZDogW3RoaXMuY2xpZW50SWRdXG4gICAgfSk7XG4gIH1cblxuICBsb2FkRGF0YSgpIHtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgbGV0IGRhdGE6IGFueSA9IHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2UuY29udmVydFRvRm9ybURhdGEodGhpcy51c2VyRmlsdGVyRm9ybS52YWx1ZSk7XG4gICAgY29uc3QgY2xpZW50SWQgPSB0aGlzLmNsaWVudElkID8/IHRoaXMuY3VycmVudFVzZXI/LmNsaWVudF9pZDtcbiAgICBkYXRhID0geyAuLi5kYXRhLCBudW1faXRlbXM6IGAke3RoaXMucGFnZUV2ZW50LnBlclBhZ2V9fCR7dGhpcy5wYWdlRXZlbnQucGFnZX1gIH07XG4gICAgdGhpcy5odHRwLmdldCgnYXBpL3VzZXJzJywgeyBwYXJhbXM6IGRhdGEgfSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgICBjb25zdCB1c2VyczogYW55W10gPSB0aGlzLnVzZXJzRGF0YVNvdXJjZS5kYXRhPy5jb25jYXQocmVzdWx0Py5kYXRhKTtcbiAgICAgICAgdGhpcy5wYWdlRXZlbnQucGFnZSA9IHJlc3VsdC5jdXJyZW50X3BhZ2U7XG4gICAgICAgIHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlID0gcmVzdWx0Lmxhc3RfcGFnZTtcbiAgICAgICAgdXNlcnMuZm9yRWFjaCgodXNlckRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNsaWVudDogYW55ID0gKHVzZXJEYXRhPy51c2VyX2NsaWVudHMgYXMgYW55W10gfHwgW10pXG4gICAgICAgICAgICAuZmluZChjbGllbnQgPT4gY2xpZW50LmNsaWVudF9pZCA9PSBjbGllbnRJZCAmJiBjbGllbnQudXNlcl9pZCA9PSB1c2VyRGF0YS5pZCk7XG4gICAgICAgICAgaWYgKGNsaWVudCkge1xuICAgICAgICAgICAgdXNlckRhdGEudXNlcl90eXBlX2lkID0gY2xpZW50LnVzZXJfdHlwZV9pZDtcbiAgICAgICAgICAgIHVzZXJEYXRhLmNsaWVudF9pZCA9IGNsaWVudC5jbGllbnRfaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51c2Vyc0RhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFVzZXI+KHVzZXJzKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5pc1dvcmtpbmcgPSBmYWxzZVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcmVzZXRQYXNzd29yZChldmVudDogYW55KSB7XG4gICAgaWYgKCFldmVudC51c2VyLmVtYWlsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuaHR0cC5wb3N0KCdhcGkvZm9yZ290LXBhc3N3b3JkJywgeyBlbWFpbDogZXZlbnQudXNlci5lbWFpbCB9KS50b1Byb21pc2UoKTtcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnU3VjY2Vzc2Z1bGx5IHJlc2V0IHRoZSBwYXNzd29yZC4nLCAnc3VjY2VzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHRoZSB1c2VyLlxuICAgKiBAcGFyYW0gZXZlbnQgRXZlbnQgZGF0YSB0byBpZGVudGlmeSB0aGUgYWN0aW9uIGFuZCB1c2VyLlxuICAgKi9cbiAgZW5hYmxlT3JEaXNhYmxlVXNlcihldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFVzZXIuaWQgIT09IGV2ZW50Py51c2VyPy5pZCkge1xuICAgICAgdGhpcy5odHRwLnBhdGNoKCdhcGkvdXNlcnMvJyArIGV2ZW50LnVzZXIuaWQgKyAnLycgKyBldmVudC5hY3Rpb24sIGV2ZW50LnVzZXIpLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnQ3VycmVudCB1c2VyIGNhbm5vdCBiZSBjaGFuZ2VkJywgJ3dhcm4nKTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVPckVkaXRVc2VyKHVzZXI/OiBhbnkpIHtcbiAgICB1c2VyID0gdXNlciA/IHVzZXIgOiB7fTtcbiAgICB1c2VyLmNsaWVudF9pZCA9IHRoaXMuY2xpZW50SWQgPz8gdGhpcy5jdXJyZW50VXNlcj8uY2xpZW50X2lkO1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oVXNlckZvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNzAwcHgnLFxuICAgICAgZGF0YTogdXNlcixcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICByZXN0b3JlRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgcmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZVVzZXIodXNlcjogYW55KSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFVzZXIuaWQgIT09IHVzZXIhLmlkKSB7XG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFjdGlvblBvcHVwQ29tcG9uZW50LCB7XG4gICAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgdGl0bGU6ICdEZWxldGluZyBVc2VyJyxcbiAgICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHRvIHByb2NlZWQgZGVsZXRpbmcgdGhlIHVzZXIgJHt1c2VyLm5hbWV9P2BcbiAgICAgICAgfSBhcyBBY3Rpb25Qb3B1cCxcbiAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgICAgfSk7XG5cbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhc3luYyByZXN1bHQgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgLy8gQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICAgIGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZGVsZXRlVXNlcihcbiAgICAgICAgICAgIHVzZXIuaWQsXG4gICAgICAgICAgICB7IGNsaWVudF9pZDogdXNlci5jbGllbnRfaWQgfVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ0N1cnJlbnQgdXNlciBjYW5ub3QgYmUgZGVsZXRlZCcsICd3YXJuJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSB0aGUgc29ydCBjaGFuZ2UgZXZlbnQuXG4gICAqIEBwYXJhbSBzb3J0IFNvcnRcbiAgICovXG4gIG9uU29ydENoYW5nZShzb3J0OiBTb3J0KTogdm9pZCB7XG4gICAgY29uc3QgZGlyZWN0aW9uOiBzdHJpbmcgPSBzb3J0LmRpcmVjdGlvbiA/IHNvcnQuZGlyZWN0aW9uIDogJ2FzYyc7XG4gICAgY29uc3QgY29sdW1uOiBzdHJpbmcgPSBzb3J0LmFjdGl2ZSA/IHNvcnQuYWN0aXZlIDogJ2lkJztcbiAgICB0aGlzLnVzZXJGaWx0ZXJGb3JtLmdldCgnc29ydF9ieScpLnNldFZhbHVlKGNvbHVtbiArICd8JyArIGRpcmVjdGlvbik7XG4gIH1cblxuICByZWxvYWQoKSB7XG4gICAgdGhpcy51c2Vyc0RhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFVzZXI+KFtdKTtcbiAgICB0aGlzLnBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG5cbiAgb25TY3JvbGwoKSB7XG4gICAgaWYgKHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlID4gdGhpcy5wYWdlRXZlbnQucGFnZSkge1xuICAgICAgdGhpcy5wYWdlRXZlbnQucGFnZSArPSAxO1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVzZXIgdHlwZSBmb3IgdGhlIGN1cnJlbnQgY2xpZW50LlxuICAgKlxuICAgKiBAcGFyYW0gdXNlciBVc2VyXG4gICAqL1xuICBnZXRVc2VyVHlwZSh1c2VyOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHVzZXJDbGllbnQ6IGFueSA9ICh1c2VyPy51c2VyX2NsaWVudHMgYXMgW10pLmZpbmQoKGl0ZW06IGFueSkgPT4gaXRlbT8uY2xpZW50X2lkID09PSB0aGlzLmN1cnJlbnRVc2VyPy5jbGllbnRfaWQpO1xuICAgIGlmICh1c2VyQ2xpZW50KSB7XG4gICAgICByZXR1cm4gdXNlckNsaWVudD8udHlwZT8udGl0bGU7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxufVxuXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsnbS00Jzpjb25maWc/LnVzZXJDb25maWc/LnNob3dEZWZhdWx0TWFyZ2lufVwiPlxuICA8c2VjdGlvbiBmeExheW91dCBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGNsYXNzPVwibWItMlwiPlxuICAgIDxoMyBjbGFzcz1cIm1iLTBcIj5cbiAgICAgIHt7IHRpdGxlIH19XG4gICAgPC9oMz5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIG1hdFRvb2x0aXA9XCJOZXcgVXNlclwiXG4gICAgICAqbmdJZj1cImNvbmZpZz8udXNlckNvbmZpZz8uc2hvd0FkZFVzZXIgJiYgY3VycmVudFVzZXJTZXJ2aWNlPy5oYXNQZXJtaXNzaW9uKCd1c2VyX2NyZWF0ZScpXCJcbiAgICAgIChjbGljayk9XCJjcmVhdGVPckVkaXRVc2VyKClcIj5hZGQ8L21hdC1pY29uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnLi4vaW1wb3J0J11cIiAqbmdJZj1cImNvbmZpZz8udXNlckNvbmZpZz8uc2hvd0ltcG9ydEJ1dHRvblwiPlxuICAgICAgSW1wb3J0IFVzZXJcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbcm91dGVyTGlua109XCJbJy4uL3JvbGVzJ11cIiAqbmdJZj1cImNvbmZpZz8udXNlckNvbmZpZz8uc2hvd1JvbGVzXCI+XG4gICAgICA8bWF0LWljb24+cGVvcGxlPC9tYXQtaWNvbj5cbiAgICAgIE1hbmFnZSBSb2xlc1xuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnLi4vcm9sZS1wZXJtaXNzaW9ucyddXCJcbiAgICAgICpuZ0lmPVwiY29uZmlnPy51c2VyQ29uZmlnPy5zaG93UGVybWlzc2lvbnNcIj5cbiAgICAgIDxtYXQtaWNvbj5sb2NrPC9tYXQtaWNvbj5cbiAgICAgIFJvbGUgUGVybWlzc2lvbnNcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbcm91dGVyTGlua109XCJbJy4uL2NvbmZpZ3VyYXRpb25zJ11cIlxuICAgICAgKm5nSWY9XCJjb25maWc/LnVzZXJDb25maWc/LnNob3dDb25maWd1cmF0aW9ucyAmJiBjdXJyZW50VXNlcj8udXNlcl90eXBlX2lkID09PSAyXCI+XG4gICAgICA8bWF0LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICB0b2dnbGVfb25cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIENvbmZpZ3VyYXRpb25zXG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3JvdXRlckxpbmtdPVwiWycuLi9yZXN0cmljdG9ycyddXCJcbiAgICAgICpuZ0lmPVwiY29uZmlnPy51c2VyQ29uZmlnPy5zaG93UmVzdHJpY3RvcnMgJiYgY3VycmVudFVzZXI/LnVzZXJfdHlwZV9pZCA9PT0gMlwiPlxuICAgICAgPG1hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XG4gICAgICAgICAgdnBuX2xvY2tcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIFJlc3RyaWN0b3JzXG4gICAgPC9idXR0b24+XG4gIDwvc2VjdGlvbj5cbiAgPG1hdC1jYXJkIGNsYXNzPVwibWItMlwiPlxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJ1c2VyRmlsdGVyRm9ybVwiIGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+U2VhcmNoPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIGJ5IG5hbWUsIGVtYWlsXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoXCI+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWxhYmVsPlJvbGU8L21hdC1sYWJlbD5cbiAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgYXBpVXJsPVwiYXBpL3JvbGVzXCIgW211bHRpcGxlXT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJyb2xlX2lkc1wiXG4gICAgICAgICAgICB0aXRsZUZpZWxkPVwibGFiZWxcIj48L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwiZW5hYmxlZFwiPlxuICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwidHJ1ZVwiPkVuYWJsZWQgVXNlcnM8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZmFsc2VcIj5BbGwgVXNlcnM8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgPC9mb3JtPlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPC9tYXQtY2FyZD5cbiAgPG1hdC1jYXJkIGNsYXNzPVwibXQtMiBwLTBcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwidXNlcnNEYXRhU291cmNlXCIgY2xhc3M9XCJ3LTEwMFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJVc2Vyc1wiIGluZmluaXRlU2Nyb2xsXG4gICAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIFtpbmZpbml0ZVNjcm9sbENvbnRhaW5lcl09XCJzY3JvbGxDb250YWluZXJcIlxuICAgICAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCIgbWF0U29ydCAobWF0U29ydENoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8IS0tIEluZGV4IENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbmRleFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBpbmRleDtcIj4ge3sgaSArIDEgfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBOYW1lIENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCBtYXQtc29ydC1oZWFkZXI9XCJuYW1lXCIgKm1hdEhlYWRlckNlbGxEZWY+IE5hbWUgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiW2VsZW1lbnQ/LmlkXVwiIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmVcIj5cbiAgICAgICAgICAgICAge3sgZWxlbWVudC5uYW1lIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTAgdGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAge3sgZWxlbWVudD8udXNlcl9jbGllbnQ/LmlzX2VuYWJsZWQgPyAnRW5hYmxlZCcgOiAnRGlzYWJsZWQnIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBFbWFpbCBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZW1haWxcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsIG1hdC1zb3J0LWhlYWRlcj1cImVtYWlsXCIgKm1hdEhlYWRlckNlbGxEZWY+IEVtYWlsIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmVtYWlsfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBUeXBlIENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0eXBlXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCBtYXQtc29ydC1oZWFkZXI9XCJ1c2VyX3R5cGVfaWRcIiAqbWF0SGVhZGVyQ2VsbERlZj4gVXNlciBUeXBlIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3sgZ2V0VXNlclR5cGUoZWxlbWVudCkgfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBSb2xlcyBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicm9sZXNcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBSb2xlIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgIDxtYXQtY2hpcC1saXN0IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0XCIgZnhMYXlvdXRHYXA9XCI1cHhcIj5cbiAgICAgICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCByb2xlIG9mIGVsZW1lbnQ/LnJvbGVzXCI+e3tyb2xlPy5sYWJlbH19PC9tYXQtY2hpcD5cbiAgICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdD5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIExhc3QgTG9naW4gQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImxhc3RfbG9naW5cIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBMYXN0IExvZ2luIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj57eyBlbGVtZW50Py5sYXN0X2xvZ2luIHwgZGF0ZTonbWVkaXVtJyB9fTwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQWRkZWQgQnkgQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFkZGVkX2J5XCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWRkZWQgQnkgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+e3sgZWxlbWVudD8uY3JlYXRvcj8ubmFtZSB9fTwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj57eyBlbGVtZW50Py5jcmVhdGVkX2F0IHwgZGF0ZSB9fTwvcD5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEFjdGlvbnMgQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb24gPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dCBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCI1cHhcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIFtyb3V0ZXJMaW5rXT1cIltlbGVtZW50LmlkXVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj52aXNpYmlsaXR5PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKCd1c2VyX3VwZGF0ZScpXCIgdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVPckVkaXRVc2VyKGVsZW1lbnQpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24oJ3VzZXJfZGVsZXRlJylcIiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVVzZXIoZWxlbWVudClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwid2FyblwiICpuZ0lmPVwiZWxlbWVudD8udXNlcl9jbGllbnQ/LmlzX2VuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgJiYgZWxlbWVudC5pZCAhPT0gY3VycmVudFVzZXI/LmlkXG4gICAgICAgICAgICAgICAgICAgICYmIGNvbmZpZz8udXNlckNvbmZpZz8uc2hvd0VuYWJsZURpc2FibGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgJiYgY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24oJ3VzZXJfZGlzYWJsZScpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW5hYmxlT3JEaXNhYmxlVXNlcih7IHVzZXI6IGVsZW1lbnQsIGFjdGlvbjogJ2Rpc2FibGUnIH0pXCI+XG4gICAgICAgICAgICAgICAgRGlzYWJsZVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cIiFlbGVtZW50Py51c2VyX2NsaWVudD8uaXNfZW5hYmxlZFxuICAgICAgICAgICAgICAgICAgJiYgZWxlbWVudC5pZCAhPT0gY3VycmVudFVzZXI/LmlkXG4gICAgICAgICAgICAgICAgICAmJiBjb25maWcudXNlckNvbmZpZz8uc2hvd0VuYWJsZURpc2FibGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICYmIGN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKCd1c2VyX2VuYWJsZScpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW5hYmxlT3JEaXNhYmxlVXNlcih7IHVzZXI6IGVsZW1lbnQsIGFjdGlvbjogJ2VuYWJsZScgfSlcIj5cbiAgICAgICAgICAgICAgICBFbmFibGVcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwiaXNXb3JraW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8L21hdC1jYXJkPlxuPC9kaXY+XG4iXX0=
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtdmlldy1hbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi91c2VyL3VzZXJzLXZpZXctYWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci91c2Vycy12aWV3LWFsbC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU16RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUs3RCxPQUFPLEVBQWUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBYW5DLHFCQUFxQixTQUFyQixxQkFBcUI7SUEyQmhDLFlBQ1UsSUFBaUIsRUFDakIsWUFBMEIsRUFDM0Isa0JBQXNDLEVBQ3RDLGlCQUFvQyxFQUNuQyxNQUFpQixFQUNqQixXQUF3QixFQUN4QixFQUFzQixFQUN0QixvQkFBMEM7UUFQMUMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBVztR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RSxZQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVMsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzlHO1FBQ0QsT0FBTyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztDQUNGLENBQUE7a0hBNU1ZLHFCQUFxQjtzR0FBckIscUJBQXFCLDRHQzlCbEMsdzlPQWtLQTtBRHBJYSxxQkFBcUI7SUFYakMsWUFBWSxFQUFFO0lBQ2Y7Ozs7O09BS0c7R0FLVSxxQkFBcUIsQ0E0TWpDO1NBNU1ZLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG9CQUFvQjtvVEFNckIsUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UgfSBmcm9tICcuL2N1cnJlbnQtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpVXNlckNvbmZpZywgVXNlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi91c2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuLi9kYXRhLXRhYmxlJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IFJlcXVlc3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25Qb3B1cCwgQWN0aW9uUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tcG9wdXAnO1xuaW1wb3J0IHsgVXNlclR5cGVFbnVtIH0gZnJvbSAnLi91c2VyLXR5cGUuZW51bSc7XG5cbkBVbnRpbERlc3Ryb3koKVxuLyoqXG4gKiBDb21wb25lbnQgdG8gdmlldyB0aGUgc2V0IG9mIHVzZXJzXG4gKlxuICogQGF1dGhvciBKb3NodWEgS2lzc29vblxuICogQHNpbmNlIDIwMTcwNzEwXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC11c2Vycy12aWV3LWFsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2Vycy12aWV3LWFsbC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2Vyc1ZpZXdBbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8vIEZvciBhZG1pbiBwYWdlIHdlIG5lZWQgdG8gcGFzcyB0aGUgY2xpZW50IElkXG4gIEBJbnB1dCgpIGNsaWVudElkOiBudW1iZXI7XG5cbiAgY3VycmVudFVzZXI6IFVzZXI7XG4gIGlzV29ya2luZyA9IGZhbHNlO1xuICBkaXNwbGF5SXRlbUFkZERpYWxvZyA9IGZhbHNlO1xuICBjb25maWc6IE11bHRpVXNlckNvbmZpZztcbiAgdXNlcjogVXNlcjtcbiAgQElucHV0KCkgdGl0bGUgPSAnVXNlciBNYW5hZ2VtZW50JztcbiAgdXNlckZpbHRlckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHBhZ2VFdmVudDogUGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcbiAgdXNlcnNEYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8VXNlcj4gPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFVzZXI+KCk7XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdpbmRleCcsXG4gICAgJ25hbWUnLFxuICAgICdlbWFpbCcsXG4gICAgJ3R5cGUnLFxuICAgICdyb2xlcycsXG4gICAgJ2xhc3RfbG9naW4nLFxuICAgICdhZGRlZF9ieScsXG4gICAgJ2FjdGlvbnMnXG4gIF07XG5cbiAgc2Nyb2xsQ29udGFpbmVyID0gJy5tYXQtc2lkZW5hdi1jb250ZW50JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHVibGljIGN1cnJlbnRVc2VyU2VydmljZTogQ3VycmVudFVzZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyQ29uZmlnU2VydmljZTogVXNlckNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZXF1ZXN0SGVscGVyU2VydmljZTogUmVxdWVzdEhlbHBlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLnVzZXJDb25maWdTZXJ2aWNlLmdldENvbmZpZygpO1xuXG5cbiAgICBpZiAodGhpcy5jb25maWc/LnNjcm9sbENvbnRhaW5lcikge1xuICAgICAgLy8gU2V0IHRvIG51bGwgaWYgc2Nyb2xsIGhhcyB0byBiZSBkb25lIGZyb20gcm9vdFxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmNvbmZpZz8uc2Nyb2xsQ29udGFpbmVyID09ICdyb290JyA/IG51bGwgOiB0aGlzLmNvbmZpZz8uc2Nyb2xsQ29udGFpbmVyO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIGNyZWF0ZSB0aGUgZmlsdGVyIGZvcm1cbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gdGhpcy5jdXJyZW50VXNlclNlcnZpY2UuZ2V0VXNlcigpO1xuICAgIHRoaXMubG9hZERhdGEoKTtcblxuICAgIHRoaXMudXNlckZpbHRlckZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy51c2VyRmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgcm9sZV9pZHM6IFsnJ10sXG4gICAgICBlbmFibGVkOiBbdHJ1ZV0sXG4gICAgICBzb3J0X2J5OiBbJ2lkfEFTQyddLFxuICAgICAgcmVsYXRpb25zOiBbJ3JvbGVzLHR5cGUsdXNlckNsaWVudHMudHlwZSxjcmVhdG9yLHVzZXJDbGllbnQnXSxcbiAgICAgIGFwcGVuZHM6IFsnbGFzdF9sb2dpbiddLFxuICAgICAgY2xpZW50X2lkOiBbdGhpcy5jbGllbnRJZF1cbiAgICB9KTtcbiAgfVxuXG4gIGxvYWREYXRhKCkge1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICBsZXQgZGF0YTogYW55ID0gdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZS5jb252ZXJ0VG9Gb3JtRGF0YSh0aGlzLnVzZXJGaWx0ZXJGb3JtLnZhbHVlKTtcbiAgICBjb25zdCBjbGllbnRJZCA9IHRoaXMuY2xpZW50SWQgPz8gdGhpcy5jdXJyZW50VXNlcj8uY2xpZW50X2lkO1xuICAgIGRhdGEgPSB7IC4uLmRhdGEsIG51bV9pdGVtczogYCR7dGhpcy5wYWdlRXZlbnQucGVyUGFnZX18JHt0aGlzLnBhZ2VFdmVudC5wYWdlfWAgfTtcbiAgICB0aGlzLmh0dHAuZ2V0KCdhcGkvdXNlcnMnLCB7IHBhcmFtczogZGF0YSB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHVzZXJzOiBhbnlbXSA9IHRoaXMudXNlcnNEYXRhU291cmNlLmRhdGE/LmNvbmNhdChyZXN1bHQ/LmRhdGEpO1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlID0gcmVzdWx0LmN1cnJlbnRfcGFnZTtcbiAgICAgICAgdGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlO1xuICAgICAgICB1c2Vycy5mb3JFYWNoKCh1c2VyRGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgY2xpZW50OiBhbnkgPSAodXNlckRhdGE/LnVzZXJfY2xpZW50cyBhcyBhbnlbXSB8fCBbXSlcbiAgICAgICAgICAgIC5maW5kKGNsaWVudCA9PiBjbGllbnQuY2xpZW50X2lkID09IGNsaWVudElkICYmIGNsaWVudC51c2VyX2lkID09IHVzZXJEYXRhLmlkKTtcbiAgICAgICAgICBpZiAoY2xpZW50KSB7XG4gICAgICAgICAgICB1c2VyRGF0YS51c2VyX3R5cGVfaWQgPSBjbGllbnQudXNlcl90eXBlX2lkO1xuICAgICAgICAgICAgdXNlckRhdGEuY2xpZW50X2lkID0gY2xpZW50LmNsaWVudF9pZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVzZXJzRGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8VXNlcj4odXNlcnMpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZXNldFBhc3N3b3JkKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIWV2ZW50LnVzZXIuZW1haWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5odHRwLnBvc3QoJ2FwaS9mb3Jnb3QtcGFzc3dvcmQnLCB7IGVtYWlsOiBldmVudC51c2VyLmVtYWlsIH0pLnRvUHJvbWlzZSgpO1xuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdTdWNjZXNzZnVsbHkgcmVzZXQgdGhlIHBhc3N3b3JkLicsICdzdWNjZXNzJyk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHVzZXIuXG4gICAqIEBwYXJhbSBldmVudCBFdmVudCBkYXRhIHRvIGlkZW50aWZ5IHRoZSBhY3Rpb24gYW5kIHVzZXIuXG4gICAqL1xuICBlbmFibGVPckRpc2FibGVVc2VyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VXNlci5pZCAhPT0gZXZlbnQ/LnVzZXI/LmlkKSB7XG4gICAgICB0aGlzLmh0dHAucGF0Y2goJ2FwaS91c2Vycy8nICsgZXZlbnQudXNlci5pZCArICcvJyArIGV2ZW50LmFjdGlvbiwgZXZlbnQudXNlcikudG9Qcm9taXNlKCkudGhlbihcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdDdXJyZW50IHVzZXIgY2Fubm90IGJlIGNoYW5nZWQnLCAnd2FybicpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZU9yRWRpdFVzZXIodXNlcj86IGFueSkge1xuICAgIHVzZXIgPSB1c2VyID8gdXNlciA6IHt9O1xuICAgIHVzZXIuY2xpZW50X2lkID0gdGhpcy5jbGllbnRJZCA/PyB0aGlzLmN1cnJlbnRVc2VyPy5jbGllbnRfaWQ7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihVc2VyRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc3MDBweCcsXG4gICAgICBkYXRhOiB1c2VyLFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2VcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShhc3luYyByZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlVXNlcih1c2VyOiBhbnkpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VXNlci5pZCAhPT0gdXNlciEuaWQpIHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uUG9wdXBDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICB0aXRsZTogJ0RlbGV0aW5nIFVzZXInLFxuICAgICAgICAgIG1lc3NhZ2U6IGBBcmUgeW91IHN1cmUgdG8gcHJvY2VlZCBkZWxldGluZyB0aGUgdXNlciAke3VzZXIubmFtZX0/YFxuICAgICAgICB9IGFzIEFjdGlvblBvcHVwLFxuICAgICAgICBhdXRvRm9jdXM6IGZhbHNlXG4gICAgICB9KTtcblxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAvLyBBY3Rpb24gY29uZmlybWVkXG4gICAgICAgICAgYXdhaXQgdGhpcy51c2VyU2VydmljZS5kZWxldGVVc2VyKFxuICAgICAgICAgICAgdXNlci5pZCxcbiAgICAgICAgICAgIHsgY2xpZW50X2lkOiB1c2VyLmNsaWVudF9pZCB9XG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnQ3VycmVudCB1c2VyIGNhbm5vdCBiZSBkZWxldGVkJywgJ3dhcm4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHRoZSBzb3J0IGNoYW5nZSBldmVudC5cbiAgICogQHBhcmFtIHNvcnQgU29ydFxuICAgKi9cbiAgb25Tb3J0Q2hhbmdlKHNvcnQ6IFNvcnQpOiB2b2lkIHtcbiAgICBjb25zdCBkaXJlY3Rpb246IHN0cmluZyA9IHNvcnQuZGlyZWN0aW9uID8gc29ydC5kaXJlY3Rpb24gOiAnYXNjJztcbiAgICBjb25zdCBjb2x1bW46IHN0cmluZyA9IHNvcnQuYWN0aXZlID8gc29ydC5hY3RpdmUgOiAnaWQnO1xuICAgIHRoaXMudXNlckZpbHRlckZvcm0uZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoY29sdW1uICsgJ3wnICsgZGlyZWN0aW9uKTtcbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLnVzZXJzRGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8VXNlcj4oW10pO1xuICAgIHRoaXMucGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPiB0aGlzLnBhZ2VFdmVudC5wYWdlKSB7XG4gICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlICs9IDE7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdXNlciB0eXBlIGZvciB0aGUgY3VycmVudCBjbGllbnQuXG4gICAqXG4gICAqIEBwYXJhbSB1c2VyIFVzZXJcbiAgICovXG4gIGdldFVzZXJUeXBlKHVzZXI6IGFueSk6IHN0cmluZyB7XG4gICAgbGV0IHVzZXJDbGllbnQ6IGFueTtcbiAgICBpZiAodGhpcy5jdXJyZW50VXNlclNlcnZpY2UuZ2V0VXNlcigpPy51c2VyX3R5cGVfaWQgPT09IFVzZXJUeXBlRW51bS5BRE1JTiAmJiAhIXRoaXMuY2xpZW50SWQpIHtcbiAgICAgIHVzZXJDbGllbnQgPSAodXNlcj8udXNlcl9jbGllbnRzIGFzIFtdKS5maW5kKChpdGVtOiBhbnkpID0+IGl0ZW0/LmNsaWVudF9pZCA9PT0gdGhpcy5jbGllbnRJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVzZXJDbGllbnQgPSAodXNlcj8udXNlcl9jbGllbnRzIGFzIFtdKS5maW5kKChpdGVtOiBhbnkpID0+IGl0ZW0/LmNsaWVudF9pZCA9PT0gdGhpcy5jdXJyZW50VXNlcj8uY2xpZW50X2lkKTtcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJDbGllbnQ/LnR5cGU/LnRpdGxlIHx8ICcnO1xuICB9XG59XG5cbiIsIjxkaXYgW25nQ2xhc3NdPVwieydtLTQnOmNvbmZpZz8udXNlckNvbmZpZz8uc2hvd0RlZmF1bHRNYXJnaW59XCI+XG4gIDxzZWN0aW9uIGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCIgY2xhc3M9XCJtYi0yXCI+XG4gICAgPGgzIGNsYXNzPVwibWItMFwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2gzPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgbWF0VG9vbHRpcD1cIk5ldyBVc2VyXCJcbiAgICAgICpuZ0lmPVwiY29uZmlnPy51c2VyQ29uZmlnPy5zaG93QWRkVXNlciAmJiBjdXJyZW50VXNlclNlcnZpY2U/Lmhhc1Blcm1pc3Npb24oJ3VzZXJfY3JlYXRlJylcIlxuICAgICAgKGNsaWNrKT1cImNyZWF0ZU9yRWRpdFVzZXIoKVwiPmFkZDwvbWF0LWljb24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3JvdXRlckxpbmtdPVwiWycuLi9pbXBvcnQnXVwiICpuZ0lmPVwiY29uZmlnPy51c2VyQ29uZmlnPy5zaG93SW1wb3J0QnV0dG9uXCI+XG4gICAgICBJbXBvcnQgVXNlclxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnLi4vcm9sZXMnXVwiICpuZ0lmPVwiY29uZmlnPy51c2VyQ29uZmlnPy5zaG93Um9sZXNcIj5cbiAgICAgIDxtYXQtaWNvbj5wZW9wbGU8L21hdC1pY29uPlxuICAgICAgTWFuYWdlIFJvbGVzXG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW3JvdXRlckxpbmtdPVwiWycuLi9yb2xlLXBlcm1pc3Npb25zJ11cIlxuICAgICAgKm5nSWY9XCJjb25maWc/LnVzZXJDb25maWc/LnNob3dQZXJtaXNzaW9uc1wiPlxuICAgICAgPG1hdC1pY29uPmxvY2s8L21hdC1pY29uPlxuICAgICAgUm9sZSBQZXJtaXNzaW9uc1xuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnLi4vY29uZmlndXJhdGlvbnMnXVwiXG4gICAgICAqbmdJZj1cImNvbmZpZz8udXNlckNvbmZpZz8uc2hvd0NvbmZpZ3VyYXRpb25zICYmIGN1cnJlbnRVc2VyPy51c2VyX3R5cGVfaWQgPT09IDJcIj5cbiAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxuICAgICAgICAgIHRvZ2dsZV9vblxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L21hdC1pY29uPlxuICAgICAgQ29uZmlndXJhdGlvbnNcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbcm91dGVyTGlua109XCJbJy4uL3Jlc3RyaWN0b3JzJ11cIlxuICAgICAgKm5nSWY9XCJjb25maWc/LnVzZXJDb25maWc/LnNob3dSZXN0cmljdG9ycyAmJiBjdXJyZW50VXNlcj8udXNlcl90eXBlX2lkID09PSAyXCI+XG4gICAgICA8bWF0LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICB2cG5fbG9ja1xuICAgICAgICA8L3NwYW4+XG4gICAgICA8L21hdC1pY29uPlxuICAgICAgUmVzdHJpY3RvcnNcbiAgICA8L2J1dHRvbj5cbiAgPC9zZWN0aW9uPlxuICA8bWF0LWNhcmQgY2xhc3M9XCJtYi0yXCI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInVzZXJGaWx0ZXJGb3JtXCIgZnhMYXlvdXQgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1sYWJlbD5TZWFyY2g8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwic2VhcmNoXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgbmFtZSwgZW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDxtYXQtbGFiZWw+Um9sZTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxhcHAtc2VhcmNoYWJsZS1zZWxlY3RvciBhcGlVcmw9XCJhcGkvcm9sZXNcIiBbbXVsdGlwbGVdPVwidHJ1ZVwiIGZvcm1Db250cm9sTmFtZT1cInJvbGVfaWRzXCJcbiAgICAgICAgICAgIHRpdGxlRmllbGQ9XCJsYWJlbFwiPjwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJlbmFibGVkXCI+XG4gICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJ0cnVlXCI+RW5hYmxlZCBVc2VyczwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJmYWxzZVwiPkFsbCBVc2VyczwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICA8L21hdC1jYXJkPlxuICA8bWF0LWNhcmQgY2xhc3M9XCJtdC0yIHAtMFwiPlxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJ1c2Vyc0RhdGFTb3VyY2VcIiBjbGFzcz1cInctMTAwXCIgYXJpYS1kZXNjcmliZWRieT1cIlVzZXJzXCIgaW5maW5pdGVTY3JvbGxcbiAgICAgICAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwiMlwiIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCIgW2luZmluaXRlU2Nyb2xsQ29udGFpbmVyXT1cInNjcm9sbENvbnRhaW5lclwiXG4gICAgICAgIFtmcm9tUm9vdF09XCJ0cnVlXCIgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIiBtYXRTb3J0IChtYXRTb3J0Q2hhbmdlKT1cIm9uU29ydENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImluZGV4XCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGluZGV4O1wiPiB7eyBpICsgMSB9fSA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIE5hbWUgQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5hbWVcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsIG1hdC1zb3J0LWhlYWRlcj1cIm5hbWVcIiAqbWF0SGVhZGVyQ2VsbERlZj4gTmFtZSA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbZWxlbWVudD8uaWRdXCIgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZVwiPlxuICAgICAgICAgICAgICB7eyBlbGVtZW50Lm5hbWUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMCB0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICB7eyBlbGVtZW50Py51c2VyX2NsaWVudD8uaXNfZW5hYmxlZCA/ICdFbmFibGVkJyA6ICdEaXNhYmxlZCcgfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEVtYWlsIENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJlbWFpbFwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgbWF0LXNvcnQtaGVhZGVyPVwiZW1haWxcIiAqbWF0SGVhZGVyQ2VsbERlZj4gRW1haWwgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuZW1haWx9fSA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFR5cGUgQ29sdW1uIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInR5cGVcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsIG1hdC1zb3J0LWhlYWRlcj1cInVzZXJfdHlwZV9pZFwiICptYXRIZWFkZXJDZWxsRGVmPiBVc2VyIFR5cGUgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7eyBnZXRVc2VyVHlwZShlbGVtZW50KSB9fSA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIFJvbGVzIENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJyb2xlc1wiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFJvbGUgPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgPG1hdC1jaGlwLWxpc3QgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeExheW91dEdhcD1cIjVweFwiPlxuICAgICAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IHJvbGUgb2YgZWxlbWVudD8ucm9sZXNcIj57e3JvbGU/LmxhYmVsfX08L21hdC1jaGlwPlxuICAgICAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gTGFzdCBMb2dpbiBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibGFzdF9sb2dpblwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IExhc3QgTG9naW4gPC90aD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPnt7IGVsZW1lbnQ/Lmxhc3RfbG9naW4gfCBkYXRlOidtZWRpdW0nIH19PC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBBZGRlZCBCeSBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWRkZWRfYnlcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBZGRlZCBCeSA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj57eyBlbGVtZW50Py5jcmVhdG9yPy5uYW1lIH19PC9wPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPnt7IGVsZW1lbnQ/LmNyZWF0ZWRfYXQgfCBkYXRlIH19PC9wPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbiA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeExheW91dEdhcD1cIjVweFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gW3JvdXRlckxpbmtdPVwiW2VsZW1lbnQuaWRdXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnZpc2liaWxpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24oJ3VzZXJfdXBkYXRlJylcIiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZU9yRWRpdFVzZXIoZWxlbWVudClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjdXJyZW50VXNlclNlcnZpY2UuaGFzUGVybWlzc2lvbigndXNlcl9kZWxldGUnKVwiIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlVXNlcihlbGVtZW50KVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJ3YXJuXCIgKm5nSWY9XCJlbGVtZW50Py51c2VyX2NsaWVudD8uaXNfZW5hYmxlZFxuICAgICAgICAgICAgICAgICAgICAmJiBlbGVtZW50LmlkICE9PSBjdXJyZW50VXNlcj8uaWRcbiAgICAgICAgICAgICAgICAgICAgJiYgY29uZmlnPy51c2VyQ29uZmlnPy5zaG93RW5hYmxlRGlzYWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAmJiBjdXJyZW50VXNlclNlcnZpY2UuaGFzUGVybWlzc2lvbigndXNlcl9kaXNhYmxlJylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlbmFibGVPckRpc2FibGVVc2VyKHsgdXNlcjogZWxlbWVudCwgYWN0aW9uOiAnZGlzYWJsZScgfSlcIj5cbiAgICAgICAgICAgICAgICBEaXNhYmxlXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiICpuZ0lmPVwiIWVsZW1lbnQ/LnVzZXJfY2xpZW50Py5pc19lbmFibGVkXG4gICAgICAgICAgICAgICAgICAmJiBlbGVtZW50LmlkICE9PSBjdXJyZW50VXNlcj8uaWRcbiAgICAgICAgICAgICAgICAgICYmIGNvbmZpZy51c2VyQ29uZmlnPy5zaG93RW5hYmxlRGlzYWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgJiYgY3VycmVudFVzZXJTZXJ2aWNlLmhhc1Blcm1pc3Npb24oJ3VzZXJfZW5hYmxlJylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlbmFibGVPckRpc2FibGVVc2VyKHsgdXNlcjogZWxlbWVudCwgYWN0aW9uOiAnZW5hYmxlJyB9KVwiPlxuICAgICAgICAgICAgICAgIEVuYWJsZVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJpc1dvcmtpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDwvbWF0LWNhcmQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -5,9 +5,9 @@ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
|
5
5
|
import * as i7 from '@angular/flex-layout/flex';
|
|
6
6
|
import * as i7$1 from '@angular/material/button';
|
|
7
7
|
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
+
import { __decorate, __awaiter } from 'tslib';
|
|
8
9
|
import { debounceTime, catchError, takeUntil, tap, distinctUntilChanged, startWith, switchMap, finalize, map as map$1, filter } from 'rxjs/operators';
|
|
9
10
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
|
10
|
-
import { __decorate, __awaiter } from 'tslib';
|
|
11
11
|
import * as i11 from '@angular/material/table';
|
|
12
12
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
13
13
|
import * as i10 from '@angular/material/sort';
|
|
@@ -175,7 +175,7 @@ class TechlifyFormComponentInterface {
|
|
|
175
175
|
* - comments on more code
|
|
176
176
|
* - save time, save energy
|
|
177
177
|
*/
|
|
178
|
-
class TechlifyListingControllerInterface {
|
|
178
|
+
let TechlifyListingControllerInterface = class TechlifyListingControllerInterface {
|
|
179
179
|
constructor() {
|
|
180
180
|
this.models = [];
|
|
181
181
|
this.page = 1;
|
|
@@ -220,7 +220,10 @@ class TechlifyListingControllerInterface {
|
|
|
220
220
|
resetFilter(field) {
|
|
221
221
|
this.filterForm.get(field).reset('');
|
|
222
222
|
}
|
|
223
|
-
}
|
|
223
|
+
};
|
|
224
|
+
TechlifyListingControllerInterface = __decorate([
|
|
225
|
+
UntilDestroy()
|
|
226
|
+
], TechlifyListingControllerInterface);
|
|
224
227
|
|
|
225
228
|
/**
|
|
226
229
|
* Interface used to ensure we have a consistent structure across our listing pages
|
|
@@ -4012,6 +4015,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
4012
4015
|
type: Output
|
|
4013
4016
|
}] } });
|
|
4014
4017
|
|
|
4018
|
+
var UserTypeEnum;
|
|
4019
|
+
(function (UserTypeEnum) {
|
|
4020
|
+
UserTypeEnum[UserTypeEnum["ADMIN"] = 1] = "ADMIN";
|
|
4021
|
+
UserTypeEnum[UserTypeEnum["CLIENT_ADMIN"] = 2] = "CLIENT_ADMIN";
|
|
4022
|
+
UserTypeEnum[UserTypeEnum["CLIENT_USER"] = 3] = "CLIENT_USER";
|
|
4023
|
+
})(UserTypeEnum || (UserTypeEnum = {}));
|
|
4024
|
+
|
|
4015
4025
|
/* tslint:disable:radix */
|
|
4016
4026
|
class RequestHelperService {
|
|
4017
4027
|
constructor(router, activatedRoute) {
|
|
@@ -4280,12 +4290,15 @@ let UsersViewAllComponent = class UsersViewAllComponent {
|
|
|
4280
4290
|
* @param user User
|
|
4281
4291
|
*/
|
|
4282
4292
|
getUserType(user) {
|
|
4283
|
-
var _a;
|
|
4284
|
-
|
|
4285
|
-
if (
|
|
4286
|
-
|
|
4293
|
+
var _a, _b;
|
|
4294
|
+
let userClient;
|
|
4295
|
+
if (((_a = this.currentUserService.getUser()) === null || _a === void 0 ? void 0 : _a.user_type_id) === UserTypeEnum.ADMIN && !!this.clientId) {
|
|
4296
|
+
userClient = user === null || user === void 0 ? void 0 : user.user_clients.find((item) => (item === null || item === void 0 ? void 0 : item.client_id) === this.clientId);
|
|
4287
4297
|
}
|
|
4288
|
-
|
|
4298
|
+
else {
|
|
4299
|
+
userClient = user === null || user === void 0 ? void 0 : user.user_clients.find((item) => { var _a; return (item === null || item === void 0 ? void 0 : item.client_id) === ((_a = this.currentUser) === null || _a === void 0 ? void 0 : _a.client_id); });
|
|
4300
|
+
}
|
|
4301
|
+
return ((_b = userClient === null || userClient === void 0 ? void 0 : userClient.type) === null || _b === void 0 ? void 0 : _b.title) || '';
|
|
4289
4302
|
}
|
|
4290
4303
|
};
|
|
4291
4304
|
UsersViewAllComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UsersViewAllComponent, deps: [{ token: HttpService }, { token: AlertService }, { token: CurrentUserService }, { token: UserConfigService }, { token: i1.MatDialog }, { token: UserService }, { token: i1$4.UntypedFormBuilder }, { token: RequestHelperService }], target: i0.ɵɵFactoryTarget.Component });
|