nuxeo-development-framework 3.9.4 → 3.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +345 -214
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +4 -3
- package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +28 -18
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +49 -16
- package/esm2015/lib/components/notifications/models/index.js +2 -1
- package/esm2015/lib/components/notifications/models/notification-message.mode.js +2 -0
- package/esm2015/lib/components/notifications/services/notifications.service.js +26 -11
- package/esm2015/lib/components/notifications/services/socket.service.js +71 -0
- package/fesm2015/nuxeo-development-framework.js +202 -78
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.d.ts +2 -1
- package/lib/components/custom-toastr/services/custom-toastr.service.d.ts +13 -5
- package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +11 -6
- package/lib/components/notifications/models/index.d.ts +1 -0
- package/lib/components/notifications/models/notification-message.mode.d.ts +13 -0
- package/lib/components/notifications/services/notifications.service.d.ts +12 -8
- package/lib/components/notifications/services/socket.service.d.ts +26 -0
- package/package.json +1 -1
|
@@ -1,19 +1,34 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
2
|
import { from, Subject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
3
|
+
import { map, switchMap, takeUntil } from 'rxjs/operators';
|
|
4
4
|
import { NOTIFICATION_STATUS } from '../constants';
|
|
5
5
|
import { mapNotificationsToPagingResponse } from '../utilities';
|
|
6
|
+
import { SocketService } from './socket.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../core/services/
|
|
8
|
-
import * as i2 from "../../../core/services/
|
|
8
|
+
import * as i1 from "../../../core/services/nuxeo/nuxeo.service";
|
|
9
|
+
import * as i2 from "../../../core/services/callApi/call-api.service";
|
|
9
10
|
import * as i3 from "@angular/common/http";
|
|
10
|
-
export class NotificationsService {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
export class NotificationsService extends SocketService {
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
constructor(_environment, _nuxeoService, _callApi, _http) {
|
|
16
|
+
super(_environment, _nuxeoService);
|
|
17
|
+
this._environment = _environment;
|
|
13
18
|
this._nuxeoService = _nuxeoService;
|
|
19
|
+
this._callApi = _callApi;
|
|
14
20
|
this._http = _http;
|
|
15
|
-
this._environment = _environment;
|
|
16
21
|
this.listenerObserver = new Subject();
|
|
22
|
+
this._nuxeoService.init().then((client) => {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
if ((_b = (_a = this._nuxeoService.nuxeoClient) === null || _a === void 0 ? void 0 : _a.user) === null || _b === void 0 ? void 0 : _b.id) {
|
|
25
|
+
this.socketConnect()
|
|
26
|
+
.pipe(switchMap(() => this.onMessage$), takeUntil(this._destroy$))
|
|
27
|
+
.subscribe((res) => {
|
|
28
|
+
this.listenerObserver.next(res);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
});
|
|
17
32
|
}
|
|
18
33
|
get _tenantId() {
|
|
19
34
|
return this._nuxeoService.nuxeoClient.user.properties.tenantId;
|
|
@@ -145,12 +160,12 @@ NotificationsService.operations = {
|
|
|
145
160
|
reset: 'AC_UA_NotfNotification_ResetSubscription',
|
|
146
161
|
markAllAsUnread: 'AC_UA_NotfNotification_UnreadAll',
|
|
147
162
|
};
|
|
148
|
-
NotificationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsService, deps: [{ token:
|
|
163
|
+
NotificationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsService, deps: [{ token: 'environment' }, { token: i1.NuxeoService }, { token: i2.CallApiService }, { token: i3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
149
164
|
NotificationsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsService });
|
|
150
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationsService, decorators: [{
|
|
151
166
|
type: Injectable
|
|
152
|
-
}], ctorParameters: function () { return [{ type:
|
|
167
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
153
168
|
type: Inject,
|
|
154
169
|
args: ['environment']
|
|
155
|
-
}] }]; } });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUW5ELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFFaEUsTUFBTSxPQUFPLG9CQUFvQjtJQStCL0IsWUFDVSxRQUF3QixFQUN4QixhQUEyQixFQUMzQixLQUFpQixFQUNNLFlBQWlDO1FBSHhELGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDTSxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFsQ2xFLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFtQzlCLENBQUM7SUFiSixJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBWSxPQUFPOztRQUNqQixPQUFPLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFTRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUTth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TUFBTSxDQUFDLEVBQUU7WUFDbEQsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtTQUN2RSxDQUFDO2FBQ0QsTUFBTSxpQkFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFDM0IsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQ3pCLE1BQU0sRUFDVDthQUNELE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FDa0QsQ0FBQztJQUNyRSxDQUFDOztBQTdOZSwrQkFBVSxHQUFHLHdDQUF3QyxDQUFDO0FBQ3RELDZCQUFRLEdBQUcsaURBQWlELENBQUM7QUFFN0QsOEJBQVMsR0FBRztJQUMxQixhQUFhLEVBQUUsNEJBQTRCO0lBQzNDLGtCQUFrQixFQUFFLGtDQUFrQztJQUN0RCxZQUFZLEVBQUUsMkJBQTJCO0lBQ3pDLFVBQVUsRUFBRSxxQ0FBcUM7Q0FDbEQsQ0FBQztBQUVjLCtCQUFVLEdBQUc7SUFDM0IsYUFBYSxFQUFFLGdDQUFnQztJQUMvQyxVQUFVLEVBQUUsNkJBQTZCO0lBQ3pDLFlBQVksRUFBRSwrQkFBK0I7SUFDN0MsYUFBYSxFQUFFLGtDQUFrQztJQUNqRCxXQUFXLEVBQUUsb0NBQW9DO0lBQ2pELFNBQVMsRUFBRSxrQ0FBa0M7SUFDN0MsS0FBSyxFQUFFLDBDQUEwQztJQUNqRCxlQUFlLEVBQUUsa0NBQWtDO0NBQ3BELENBQUM7a0hBckJTLG9CQUFvQixzR0FtQ3JCLGFBQWE7c0hBbkNaLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFvQ04sTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2VNb2RlbCwgQXV0b21hdGlvblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOT1RJRklDQVRJT05fU1RBVFVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHtcclxuICBOb3RpZmljYXRpb25EZWZpbml0aW9uTW9kZWwsXHJcbiAgTm90aWZpY2F0aW9uTW9kZWwsXHJcbiAgTm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uTW9kZWwsXHJcbiAgUGF5bG9hZFBhcmFtc01vZGVsLFxyXG4gIFZvY2FidWxhcnlUeXBlLFxyXG59IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IG1hcE5vdGlmaWNhdGlvbnNUb1BhZ2luZ1Jlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbGl0aWVzJztcclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1NlcnZpY2Uge1xyXG4gIGxpc3RlbmVyT2JzZXJ2ZXIgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHN0YXRpYyByZWFkb25seSBzb3VyY2VUeXBlID0gJy9hcGkvdjEvZGlyZWN0b3J5L1ZPQ19Ob3RmX1NvdXJjZVR5cGVzJztcclxuICBzdGF0aWMgcmVhZG9ubHkgY2hhbm5lbHMgPSAnL2FwaS92MS9kaXJlY3RvcnkvVk9DX05vdGZfTm90aWZpY2F0aW9uQ2hhbm5lbHMnO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgcHJvdmlkZXJzID0ge1xyXG4gICAgbm90aWZpY2F0aW9uczogJ1BQX05vdGZOb3RpZmljYXRpb25Db250ZW50JyxcclxuICAgIG5vdGlmaWNhdGlvbnNNYW5nbzogJ1BQX05vdGZOb3RpZmljYXRpb25Db250ZW50X01vbmdvJyxcclxuICAgIHN1YnNjcmlwdGlvbjogJ1BQX05vdGZTdWJzY3JpcHRpb25fTW9uZ28nLFxyXG4gICAgZGVmaW5pdGlvbjogJ1BQX05vdGZOb3RpZmljYXRpb25EZWZpbml0aW9uX01vbmdvJyxcclxuICB9O1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgb3BlcmF0aW9ucyA9IHtcclxuICAgIG1hcmtBbGxBc1JlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1JlYWRBbGwnLFxyXG4gICAgbWFya0FzUmVhZDogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fUmVhZCcsXHJcbiAgICBtYXJrQXNVbnJlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1VucmVhZCcsXHJcbiAgICBtYXJrQXNEZWxldGVkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9Ub0RlbGV0ZWQnLFxyXG4gICAgdW5zdWJzY3JpYmU6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1Vuc3Vic2NyaWJlJyxcclxuICAgIHN1YnNjcmliZTogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fU3Vic2NyaWJlJyxcclxuICAgIHJlc2V0OiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9SZXNldFN1YnNjcmlwdGlvbicsXHJcbiAgICBtYXJrQWxsQXNVbnJlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1VucmVhZEFsbCcsXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBnZXQgX3RlbmFudElkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX251eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBfYXBwS2V5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vudmlyb25tZW50Py5hcHBLZXk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2NhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIF9lbnZpcm9ubWVudDogUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICkge31cclxuXHJcbiAgZ2V0VW5SZWFkQ291bnQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5ub3RpZmljYXRpb25zTWFuZ28sXHJcbiAgICAgICAgICBwYWdlU2l6ZTogMSxcclxuICAgICAgICAgIG5vdGZub3RpZmljYXRpb25jb250ZW50X2NvbXBhbnk6IHRoaXMuX3RlbmFudElkLFxyXG4gICAgICAgICAgbm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfYXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleSxcclxuICAgICAgICAgIG5vdGZub3RpZmljYXRpb25jb250ZW50X3N0YXR1czogTk9USUZJQ0FUSU9OX1NUQVRVUy5uZXcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7fVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKG1hcCgoZGF0YTogQXBpUmVzcG9uc2VNb2RlbDxOb3RpZmljYXRpb25Nb2RlbD4pID0+IGRhdGEudG90YWxTaXplID8/IDApKTtcclxuICB9XHJcblxyXG4gIGdldE5vdGlmaWNhdGlvbnNNb25nbyhwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldE5vdGlmaWNhdGlvbnMoXHJcbiAgICAgIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5ub3RpZmljYXRpb25zTWFuZ28sXHJcbiAgICAgIHBheWxvYWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXROb3RpZmljYXRpb25zKHBheWxvYWQ6IFBheWxvYWRQYXJhbXNNb2RlbCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Tm90aWZpY2F0aW9ucyhOb3RpZmljYXRpb25zU2VydmljZS5wcm92aWRlcnMubm90aWZpY2F0aW9ucywgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBtYXJrQWxsQXNSZWFkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dsb2JhbE9wZXJhdGlvbignbWFya0FsbEFzUmVhZCcpO1xyXG4gIH1cclxuXHJcbiAgbWFya0FsbE5ld0FzVW5yZWFkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dsb2JhbE9wZXJhdGlvbignbWFya0FsbEFzVW5yZWFkJyk7XHJcbiAgfVxyXG5cclxuICBtYXJrQXNSZWFkKGlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcGVyYXRpb24oaWQsICdtYXJrQXNSZWFkJyk7XHJcbiAgfVxyXG5cclxuICBtYXJrQXNVbnJlYWQoaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ21hcmtBc1VucmVhZCcpO1xyXG4gIH1cclxuXHJcbiAgbWFya0FzRGVsZXRlZChpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAnbWFya0FzRGVsZXRlZCcpO1xyXG4gIH1cclxuXHJcbiAgdW5zdWJzY3JpYmUoaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ3Vuc3Vic2NyaWJlJyk7XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmUoaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ3N1YnNjcmliZScsIHtcclxuICAgICAgY29tcGFueU5hbWU6IHRoaXMuX3RlbmFudElkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldFN1YnNjcmlwdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5fbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zLnJlc2V0LCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuX2Vudmlyb25tZW50Lm51eGVvfSR7dGhpcy5fZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICBjb21wYW55TmFtZTogdGhpcy5fdGVuYW50SWQsXHJcbiAgICAgICAgICBhcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKSBhcyBPYnNlcnZhYmxlPEF1dG9tYXRpb25SZXNwb25zZU1vZGVsPFJlY29yZDxQcm9wZXJ0eUtleSwgYW55Pj4+O1xyXG4gIH1cclxuXHJcbiAgZ2V0U291cmNlVHlwZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Vm9jYWJ1bGFyeShcclxuICAgICAgYCR7dGhpcy5fZW52aXJvbm1lbnQubnV4ZW99JHtOb3RpZmljYXRpb25zU2VydmljZS5zb3VyY2VUeXBlfWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDaGFubmVscygpIHtcclxuICAgIHJldHVybiB0aGlzLl9nZXRWb2NhYnVsYXJ5KFxyXG4gICAgICBgJHt0aGlzLl9lbnZpcm9ubWVudC5udXhlb30ke05vdGlmaWNhdGlvbnNTZXJ2aWNlLmNoYW5uZWxzfWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREZWZpbml0aW9ucyhwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UucHJvdmlkZXJzLmRlZmluaXRpb24sXHJcbiAgICAgICAgICBub3Rmbm90aWZpY2F0aW9uZGVmX2FwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXksXHJcbiAgICAgICAgICBwYWdlU2l6ZTogMTAwMCxcclxuICAgICAgICAgIC4uLnBheWxvYWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIHByb3BlcnRpZXM6ICcqJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKG1hcCgoZGF0YTogQXBpUmVzcG9uc2VNb2RlbDxOb3RpZmljYXRpb25EZWZpbml0aW9uTW9kZWw+KSA9PiBkYXRhLmVudHJpZXMpKTtcclxuICB9XHJcblxyXG4gIGdldFN1YnNjcmlwdGlvbnMocGF5bG9hZDogUGF5bG9hZFBhcmFtc01vZGVsID0ge30pIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5zdWJzY3JpcHRpb24sXHJcbiAgICAgICAgICBub3Rmc3Vic2NyaXB0aW9uX2NvbXBhbnlOYW1lOiB0aGlzLl90ZW5hbnRJZCxcclxuICAgICAgICAgIG5vdGZzdWJzY3JpcHRpb25fYXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxMDAwLFxyXG4gICAgICAgICAgLi4ucGF5bG9hZCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUobWFwKChkYXRhOiBBcGlSZXNwb25zZU1vZGVsPE5vdGlmaWNhdGlvblN1YnNjcmlwdGlvbk1vZGVsPikgPT4gZGF0YS5lbnRyaWVzKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXROb3RpZmljYXRpb25zKHBhZ2VQcm92aWRlcjogc3RyaW5nLCBwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogcGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgbm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfY29tcGFueTogdGhpcy5fdGVuYW50SWQsXHJcbiAgICAgICAgICBub3Rmbm90aWZpY2F0aW9uY29udGVudF9hcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG4gICAgICAgICAgLi4ucGF5bG9hZCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhOiBBcGlSZXNwb25zZU1vZGVsPE5vdGlmaWNhdGlvbk1vZGVsPikgPT5cclxuICAgICAgICAgIG1hcE5vdGlmaWNhdGlvbnNUb1BhZ2luZ1Jlc3BvbnNlKGRhdGEpXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Vm9jYWJ1bGFyeSh1cmw6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEFwaVJlc3BvbnNlTW9kZWw8Vm9jYWJ1bGFyeVR5cGU+Pih1cmwpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLmVudHJpZXMpLFxyXG4gICAgICBtYXAoKGRhdGEpID0+XHJcbiAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PlxyXG4gICAgICAgICAgYi5wcm9wZXJ0aWVzWydvcmRlcmluZyddIDwgYS5wcm9wZXJ0aWVzWydvcmRlcmluZyddID8gMSA6IC0xXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlcmF0aW9uPFRSZXNwb25zZSA9IFJlY29yZDxQcm9wZXJ0eUtleSwgYW55Pj4oXHJcbiAgICBpZDogc3RyaW5nLFxyXG4gICAgb3B0aW9uOiBrZXlvZiB0eXBlb2YgTm90aWZpY2F0aW9uc1NlcnZpY2Uub3BlcmF0aW9ucyxcclxuICAgIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5fbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zW29wdGlvbl0sIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5fZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLl9lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGFyYW1zKHBhcmFtcylcclxuICAgICAgICAuaW5wdXQoaWQpXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKSBhcyBPYnNlcnZhYmxlPEF1dG9tYXRpb25SZXNwb25zZU1vZGVsPFRSZXNwb25zZT4+O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2xvYmFsT3BlcmF0aW9uKFxyXG4gICAgb3B0aW9uOiBrZXlvZiB0eXBlb2YgTm90aWZpY2F0aW9uc1NlcnZpY2Uub3BlcmF0aW9ucyxcclxuICAgIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG4gICAgaGVhZGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5fbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zW29wdGlvbl0sIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5fZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLl9lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIGNvbXBhbnlOYW1lOiB0aGlzLl90ZW5hbnRJZCxcclxuICAgICAgICAgIGFwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXksXHJcbiAgICAgICAgICAuLi5wYXJhbXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSh7fSlcclxuICAgICkgYXMgT2JzZXJ2YWJsZTxBdXRvbWF0aW9uUmVzcG9uc2VNb2RlbDxSZWNvcmQ8UHJvcGVydHlLZXksIGFueT4+PjtcclxuICB9XHJcbn1cclxuIl19
|
|
170
|
+
}] }, { type: i1.NuxeoService }, { type: i2.CallApiService }, { type: i3.HttpClient }]; } });
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFTbkQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFFakQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGFBQWE7SUErQnJEOztPQUVHO0lBQ0gsWUFDbUMsWUFBaUMsRUFDeEQsYUFBMkIsRUFDM0IsUUFBd0IsRUFDeEIsS0FBaUI7UUFFM0IsS0FBSyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUxGLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUN4RCxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBckM3QixxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztRQXlDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTs7WUFDeEMsSUFBSSxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLDBDQUFFLElBQUksMENBQUUsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsYUFBYSxFQUFFO3FCQUNqQixJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDaEMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7cUJBQ0EsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUEvQkQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVksT0FBTzs7UUFDakIsT0FBTyxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBMkJELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLEtBQUssQ0FDSjtZQUNFLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsa0JBQWtCO1lBQy9ELFFBQVEsRUFBRSxDQUFDO1lBQ1gsK0JBQStCLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDL0Msc0NBQXNDLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEQsOEJBQThCLEVBQUUsbUJBQW1CLENBQUMsR0FBRztTQUN4RCxFQUNELEVBQUUsQ0FDSDthQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUF5QyxFQUFFLEVBQUUsV0FBQyxPQUFBLE1BQUEsSUFBSSxDQUFDLFNBQVMsbUNBQUksQ0FBQyxDQUFBLEVBQUEsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELHFCQUFxQixDQUFDLFVBQThCLEVBQUU7UUFDcEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQzNCLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFDakQsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBOEIsRUFBRTtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsRUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBVTtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRTtZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVc7YUFDM0IsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDaEQsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtTQUN2RSxDQUFDO2FBQ0QsTUFBTSxDQUFDO1lBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzNCLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTztTQUM3QixDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQ29ELENBQUM7SUFDckUsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxjQUFjLENBQ3hCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxFQUFFLENBQy9ELENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FDeEIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FDN0QsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsVUFBOEIsRUFBRTtRQUM3QyxPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLEtBQUssaUJBRUYsWUFBWSxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQ3ZELGtDQUFrQyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQ2hELFFBQVEsRUFBRSxJQUFJLElBQ1gsT0FBTyxHQUVaO1lBQ0UsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxHQUFHO2FBQ2hCO1NBQ0YsQ0FDRjthQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFtRCxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBOEIsRUFBRTtRQUMvQyxPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLEtBQUssaUJBRUYsWUFBWSxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQ3pELDRCQUE0QixFQUFFLElBQUksQ0FBQyxTQUFTLEVBQzVDLCtCQUErQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQzdDLFFBQVEsRUFBRSxJQUFJLElBQ1gsT0FBTyxHQUVaO1lBQ0UsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxHQUFHO2FBQ2hCO1NBQ0YsQ0FDRjthQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFxRCxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU8saUJBQWlCLENBQUMsWUFBb0IsRUFBRSxVQUE4QixFQUFFO1FBQzlFLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDakIsS0FBSyxpQkFFRixZQUFZLEVBQUUsWUFBWSxFQUMxQiwrQkFBK0IsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUMvQyxzQ0FBc0MsRUFBRSxJQUFJLENBQUMsT0FBTyxJQUNqRCxPQUFPLEdBRVo7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsVUFBVSxFQUFFLEdBQUc7YUFDaEI7U0FDRixDQUNGO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQXlDLEVBQUUsRUFBRSxDQUNoRCxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FDdkMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQW1DLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQ25DLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNqQixDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzdELENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FDaEIsRUFBVSxFQUNWLE1BQW9ELEVBQ3BELFNBQThCLEVBQUU7UUFFaEMsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXO2FBQzNCLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEQsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtTQUN2RSxDQUFDO2FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUNkLEtBQUssQ0FBQyxFQUFFLENBQUM7YUFDVCxPQUFPLEVBQUUsQ0FDcUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLE1BQW9ELEVBQ3BELFNBQThCLEVBQUUsRUFDaEMsVUFBK0IsRUFBRTtRQUVqQyxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVc7YUFDM0IsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsRCxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFO1NBQ3ZFLENBQUM7YUFDRCxNQUFNLGlCQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUMzQixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFDekIsTUFBTSxFQUNUO2FBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUNrRCxDQUFDO0lBQ3JFLENBQUM7O0FBL09lLCtCQUFVLEdBQUcsd0NBQXdDLENBQUM7QUFDdEQsNkJBQVEsR0FBRyxpREFBaUQsQ0FBQztBQUU3RCw4QkFBUyxHQUFHO0lBQzFCLGFBQWEsRUFBRSw0QkFBNEI7SUFDM0Msa0JBQWtCLEVBQUUsa0NBQWtDO0lBQ3RELFlBQVksRUFBRSwyQkFBMkI7SUFDekMsVUFBVSxFQUFFLHFDQUFxQztDQUNsRCxDQUFDO0FBRWMsK0JBQVUsR0FBRztJQUMzQixhQUFhLEVBQUUsZ0NBQWdDO0lBQy9DLFVBQVUsRUFBRSw2QkFBNkI7SUFDekMsWUFBWSxFQUFFLCtCQUErQjtJQUM3QyxhQUFhLEVBQUUsa0NBQWtDO0lBQ2pELFdBQVcsRUFBRSxvQ0FBb0M7SUFDakQsU0FBUyxFQUFFLGtDQUFrQztJQUM3QyxLQUFLLEVBQUUsMENBQTBDO0lBQ2pELGVBQWUsRUFBRSxrQ0FBa0M7Q0FDcEQsQ0FBQztrSEFyQlMsb0JBQW9CLGtCQW1DckIsYUFBYTtzSEFuQ1osb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQW9DTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXBpUmVzcG9uc2VNb2RlbCwgQXV0b21hdGlvblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTk9USUZJQ0FUSU9OX1NUQVRVUyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7XHJcbiAgTm90aWZpY2F0aW9uRGVmaW5pdGlvbk1vZGVsLFxyXG4gIE5vdGlmaWNhdGlvbk1lc3NhZ2VNb2RlbCxcclxuICBOb3RpZmljYXRpb25Nb2RlbCxcclxuICBOb3RpZmljYXRpb25TdWJzY3JpcHRpb25Nb2RlbCxcclxuICBQYXlsb2FkUGFyYW1zTW9kZWwsXHJcbiAgVm9jYWJ1bGFyeVR5cGUsXHJcbn0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgbWFwTm90aWZpY2F0aW9uc1RvUGFnaW5nUmVzcG9uc2UgfSBmcm9tICcuLi91dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBTb2NrZXRTZXJ2aWNlIH0gZnJvbSAnLi9zb2NrZXQuc2VydmljZSc7XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNTZXJ2aWNlIGV4dGVuZHMgU29ja2V0U2VydmljZSB7XHJcbiAgbGlzdGVuZXJPYnNlcnZlciA9IG5ldyBTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2VNb2RlbD4oKTtcclxuICBzdGF0aWMgcmVhZG9ubHkgc291cmNlVHlwZSA9ICcvYXBpL3YxL2RpcmVjdG9yeS9WT0NfTm90Zl9Tb3VyY2VUeXBlcyc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IGNoYW5uZWxzID0gJy9hcGkvdjEvZGlyZWN0b3J5L1ZPQ19Ob3RmX05vdGlmaWNhdGlvbkNoYW5uZWxzJztcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IHByb3ZpZGVycyA9IHtcclxuICAgIG5vdGlmaWNhdGlvbnM6ICdQUF9Ob3RmTm90aWZpY2F0aW9uQ29udGVudCcsXHJcbiAgICBub3RpZmljYXRpb25zTWFuZ286ICdQUF9Ob3RmTm90aWZpY2F0aW9uQ29udGVudF9Nb25nbycsXHJcbiAgICBzdWJzY3JpcHRpb246ICdQUF9Ob3RmU3Vic2NyaXB0aW9uX01vbmdvJyxcclxuICAgIGRlZmluaXRpb246ICdQUF9Ob3RmTm90aWZpY2F0aW9uRGVmaW5pdGlvbl9Nb25nbycsXHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IG9wZXJhdGlvbnMgPSB7XHJcbiAgICBtYXJrQWxsQXNSZWFkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9SZWFkQWxsJyxcclxuICAgIG1hcmtBc1JlYWQ6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1JlYWQnLFxyXG4gICAgbWFya0FzVW5yZWFkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9VbnJlYWQnLFxyXG4gICAgbWFya0FzRGVsZXRlZDogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fVG9EZWxldGVkJyxcclxuICAgIHVuc3Vic2NyaWJlOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9VbnN1YnNjcmliZScsXHJcbiAgICBzdWJzY3JpYmU6ICdBQ19VQV9Ob3RmTm90aWZpY2F0aW9uX1N1YnNjcmliZScsXHJcbiAgICByZXNldDogJ0FDX1VBX05vdGZOb3RpZmljYXRpb25fUmVzZXRTdWJzY3JpcHRpb24nLFxyXG4gICAgbWFya0FsbEFzVW5yZWFkOiAnQUNfVUFfTm90Zk5vdGlmaWNhdGlvbl9VbnJlYWRBbGwnLFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZ2V0IF90ZW5hbnRJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgX2FwcEtleSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9lbnZpcm9ubWVudD8uYXBwS2V5O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIF9lbnZpcm9ubWVudDogUmVjb3JkPHN0cmluZywgYW55PixcclxuICAgIHByb3RlY3RlZCBfbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgX2NhbGxBcGk6IENhbGxBcGlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9odHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgICBzdXBlcihfZW52aXJvbm1lbnQsIF9udXhlb1NlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMuX251eGVvU2VydmljZS5pbml0KCkudGhlbigoY2xpZW50KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQ/LnVzZXI/LmlkKSB7XHJcbiAgICAgICAgdGhpcy5zb2NrZXRDb25uZWN0KClcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5vbk1lc3NhZ2UkKSxcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJPYnNlcnZlci5uZXh0KHJlcyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVblJlYWRDb3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UucHJvdmlkZXJzLm5vdGlmaWNhdGlvbnNNYW5nbyxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxLFxyXG4gICAgICAgICAgbm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfY29tcGFueTogdGhpcy5fdGVuYW50SWQsXHJcbiAgICAgICAgICBub3Rmbm90aWZpY2F0aW9uY29udGVudF9hcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG4gICAgICAgICAgbm90Zm5vdGlmaWNhdGlvbmNvbnRlbnRfc3RhdHVzOiBOT1RJRklDQVRJT05fU1RBVFVTLm5ldyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHt9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUobWFwKChkYXRhOiBBcGlSZXNwb25zZU1vZGVsPE5vdGlmaWNhdGlvbk1vZGVsPikgPT4gZGF0YS50b3RhbFNpemUgPz8gMCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Tm90aWZpY2F0aW9uc01vbmdvKHBheWxvYWQ6IFBheWxvYWRQYXJhbXNNb2RlbCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2V0Tm90aWZpY2F0aW9ucyhcclxuICAgICAgTm90aWZpY2F0aW9uc1NlcnZpY2UucHJvdmlkZXJzLm5vdGlmaWNhdGlvbnNNYW5nbyxcclxuICAgICAgcGF5bG9hZFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldE5vdGlmaWNhdGlvbnMocGF5bG9hZDogUGF5bG9hZFBhcmFtc01vZGVsID0ge30pIHtcclxuICAgIHJldHVybiB0aGlzLl9nZXROb3RpZmljYXRpb25zKE5vdGlmaWNhdGlvbnNTZXJ2aWNlLnByb3ZpZGVycy5ub3RpZmljYXRpb25zLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIG1hcmtBbGxBc1JlYWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2xvYmFsT3BlcmF0aW9uKCdtYXJrQWxsQXNSZWFkJyk7XHJcbiAgfVxyXG5cclxuICBtYXJrQWxsTmV3QXNVbnJlYWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2xvYmFsT3BlcmF0aW9uKCdtYXJrQWxsQXNVbnJlYWQnKTtcclxuICB9XHJcblxyXG4gIG1hcmtBc1JlYWQoaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wZXJhdGlvbihpZCwgJ21hcmtBc1JlYWQnKTtcclxuICB9XHJcblxyXG4gIG1hcmtBc1VucmVhZChpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAnbWFya0FzVW5yZWFkJyk7XHJcbiAgfVxyXG5cclxuICBtYXJrQXNEZWxldGVkKGlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcGVyYXRpb24oaWQsICdtYXJrQXNEZWxldGVkJyk7XHJcbiAgfVxyXG5cclxuICB1bnN1YnNjcmliZShpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAndW5zdWJzY3JpYmUnKTtcclxuICB9XHJcblxyXG4gIHN1YnNjcmliZShpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3BlcmF0aW9uKGlkLCAnc3Vic2NyaWJlJywge1xyXG4gICAgICBjb21wYW55TmFtZTogdGhpcy5fdGVuYW50SWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlc2V0U3Vic2NyaXB0aW9ucygpIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLl9udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKE5vdGlmaWNhdGlvbnNTZXJ2aWNlLm9wZXJhdGlvbnMucmVzZXQsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5fZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLl9lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIGNvbXBhbnlOYW1lOiB0aGlzLl90ZW5hbnRJZCxcclxuICAgICAgICAgIGFwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXksXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApIGFzIE9ic2VydmFibGU8QXV0b21hdGlvblJlc3BvbnNlTW9kZWw8UmVjb3JkPFByb3BlcnR5S2V5LCBhbnk+Pj47XHJcbiAgfVxyXG5cclxuICBnZXRTb3VyY2VUeXBlcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9nZXRWb2NhYnVsYXJ5KFxyXG4gICAgICBgJHt0aGlzLl9lbnZpcm9ubWVudC5udXhlb30ke05vdGlmaWNhdGlvbnNTZXJ2aWNlLnNvdXJjZVR5cGV9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldENoYW5uZWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldFZvY2FidWxhcnkoXHJcbiAgICAgIGAke3RoaXMuX2Vudmlyb25tZW50Lm51eGVvfSR7Tm90aWZpY2F0aW9uc1NlcnZpY2UuY2hhbm5lbHN9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldERlZmluaXRpb25zKHBheWxvYWQ6IFBheWxvYWRQYXJhbXNNb2RlbCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FsbEFwaVxyXG4gICAgICAucXVlcnkoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGFnZVByb3ZpZGVyOiBOb3RpZmljYXRpb25zU2VydmljZS5wcm92aWRlcnMuZGVmaW5pdGlvbixcclxuICAgICAgICAgIG5vdGZub3RpZmljYXRpb25kZWZfYXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleSxcclxuICAgICAgICAgIHBhZ2VTaXplOiAxMDAwLFxyXG4gICAgICAgICAgLi4ucGF5bG9hZCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgcHJvcGVydGllczogJyonLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUobWFwKChkYXRhOiBBcGlSZXNwb25zZU1vZGVsPE5vdGlmaWNhdGlvbkRlZmluaXRpb25Nb2RlbD4pID0+IGRhdGEuZW50cmllcykpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3Vic2NyaXB0aW9ucyhwYXlsb2FkOiBQYXlsb2FkUGFyYW1zTW9kZWwgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhbGxBcGlcclxuICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UucHJvdmlkZXJzLnN1YnNjcmlwdGlvbixcclxuICAgICAgICAgIG5vdGZzdWJzY3JpcHRpb25fY29tcGFueU5hbWU6IHRoaXMuX3RlbmFudElkLFxyXG4gICAgICAgICAgbm90ZnN1YnNjcmlwdGlvbl9hcHBsaWNhdGlvbktleTogdGhpcy5fYXBwS2V5LFxyXG4gICAgICAgICAgcGFnZVNpemU6IDEwMDAsXHJcbiAgICAgICAgICAuLi5wYXlsb2FkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiAnKicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShtYXAoKGRhdGE6IEFwaVJlc3BvbnNlTW9kZWw8Tm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uTW9kZWw+KSA9PiBkYXRhLmVudHJpZXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE5vdGlmaWNhdGlvbnMocGFnZVByb3ZpZGVyOiBzdHJpbmcsIHBheWxvYWQ6IFBheWxvYWRQYXJhbXNNb2RlbCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FsbEFwaVxyXG4gICAgICAucXVlcnkoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGFnZVByb3ZpZGVyOiBwYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICBub3Rmbm90aWZpY2F0aW9uY29udGVudF9jb21wYW55OiB0aGlzLl90ZW5hbnRJZCxcclxuICAgICAgICAgIG5vdGZub3RpZmljYXRpb25jb250ZW50X2FwcGxpY2F0aW9uS2V5OiB0aGlzLl9hcHBLZXksXHJcbiAgICAgICAgICAuLi5wYXlsb2FkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiAnKicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IEFwaVJlc3BvbnNlTW9kZWw8Tm90aWZpY2F0aW9uTW9kZWw+KSA9PlxyXG4gICAgICAgICAgbWFwTm90aWZpY2F0aW9uc1RvUGFnaW5nUmVzcG9uc2UoZGF0YSlcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRWb2NhYnVsYXJ5KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8QXBpUmVzcG9uc2VNb2RlbDxWb2NhYnVsYXJ5VHlwZT4+KHVybCkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZW50cmllcyksXHJcbiAgICAgIG1hcCgoZGF0YSkgPT5cclxuICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+XHJcbiAgICAgICAgICBiLnByb3BlcnRpZXNbJ29yZGVyaW5nJ10gPCBhLnByb3BlcnRpZXNbJ29yZGVyaW5nJ10gPyAxIDogLTFcclxuICAgICAgICApXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVyYXRpb248VFJlc3BvbnNlID0gUmVjb3JkPFByb3BlcnR5S2V5LCBhbnk+PihcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICBvcHRpb246IGtleW9mIHR5cGVvZiBOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zLFxyXG4gICAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLl9udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKE5vdGlmaWNhdGlvbnNTZXJ2aWNlLm9wZXJhdGlvbnNbb3B0aW9uXSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLl9lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuX2Vudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5wYXJhbXMocGFyYW1zKVxyXG4gICAgICAgIC5pbnB1dChpZClcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApIGFzIE9ic2VydmFibGU8QXV0b21hdGlvblJlc3BvbnNlTW9kZWw8VFJlc3BvbnNlPj47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nbG9iYWxPcGVyYXRpb24oXHJcbiAgICBvcHRpb246IGtleW9mIHR5cGVvZiBOb3RpZmljYXRpb25zU2VydmljZS5vcGVyYXRpb25zLFxyXG4gICAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXHJcbiAgICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLl9udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKE5vdGlmaWNhdGlvbnNTZXJ2aWNlLm9wZXJhdGlvbnNbb3B0aW9uXSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLl9lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuX2Vudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgY29tcGFueU5hbWU6IHRoaXMuX3RlbmFudElkLFxyXG4gICAgICAgICAgYXBwbGljYXRpb25LZXk6IHRoaXMuX2FwcEtleSxcclxuICAgICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKHt9KVxyXG4gICAgKSBhcyBPYnNlcnZhYmxlPEF1dG9tYXRpb25SZXNwb25zZU1vZGVsPFJlY29yZDxQcm9wZXJ0eUtleSwgYW55Pj4+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../core/services/nuxeo/nuxeo.service";
|
|
5
|
+
export class SocketService {
|
|
6
|
+
constructor(_environment, _nuxeoService) {
|
|
7
|
+
this._environment = _environment;
|
|
8
|
+
this._nuxeoService = _nuxeoService;
|
|
9
|
+
this._destroy$ = new Subject();
|
|
10
|
+
this._messageSub = new ReplaySubject();
|
|
11
|
+
this._connecting = false;
|
|
12
|
+
this._connectionSource = new BehaviorSubject(false);
|
|
13
|
+
this.onMessage$ = this._messageSub.asObservable();
|
|
14
|
+
}
|
|
15
|
+
_isConnected() {
|
|
16
|
+
return this._socket && this._socket.readyState === WebSocket.OPEN;
|
|
17
|
+
}
|
|
18
|
+
socketConnect() {
|
|
19
|
+
if (!this._connecting && !this._isConnected()) {
|
|
20
|
+
this._connecting = true;
|
|
21
|
+
this._prepareConnection();
|
|
22
|
+
}
|
|
23
|
+
return this._connectionSource.asObservable();
|
|
24
|
+
}
|
|
25
|
+
disconnect() {
|
|
26
|
+
if (this._isConnected()) {
|
|
27
|
+
this._socket.close();
|
|
28
|
+
this._connectionSource.next(false);
|
|
29
|
+
this.ngOnDestroy();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
_prepareConnection() {
|
|
33
|
+
var _a;
|
|
34
|
+
const socket = new WebSocket((_a = this._environment) === null || _a === void 0 ? void 0 : _a.socketUrl);
|
|
35
|
+
socket.onopen = (event) => this._handleSocketConnection(true, event);
|
|
36
|
+
socket.onclose = (event) => this._handleSocketConnection(false, event);
|
|
37
|
+
socket.onerror = (event) => this._handleSocketError(event);
|
|
38
|
+
socket.onmessage = (event) => this._handleSocketMessage(event);
|
|
39
|
+
this._socket = socket;
|
|
40
|
+
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
this._destroy$.next();
|
|
43
|
+
this._destroy$.complete();
|
|
44
|
+
}
|
|
45
|
+
_handleSocketMessage(event) {
|
|
46
|
+
const notificationData = JSON.parse(event.data);
|
|
47
|
+
this._messageSub.next(notificationData);
|
|
48
|
+
}
|
|
49
|
+
_handleSocketConnection(isConnected, event) {
|
|
50
|
+
this._connectionSource.next(isConnected);
|
|
51
|
+
this._connecting = false;
|
|
52
|
+
console.log(isConnected ? 'WebSocket connected' : 'WebSocket disconnected', event);
|
|
53
|
+
}
|
|
54
|
+
_handleSocketError(event) {
|
|
55
|
+
this._connectionSource.next(false);
|
|
56
|
+
this._connecting = false;
|
|
57
|
+
console.log('WebSocket Error', event);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
SocketService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SocketService, deps: [{ token: 'environment' }, { token: i1.NuxeoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
+
SocketService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SocketService, providedIn: 'root' });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SocketService, decorators: [{
|
|
63
|
+
type: Injectable,
|
|
64
|
+
args: [{
|
|
65
|
+
providedIn: 'root',
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
68
|
+
type: Inject,
|
|
69
|
+
args: ['environment']
|
|
70
|
+
}] }, { type: i1.NuxeoService }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvc2VydmljZXMvc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFPM0UsTUFBTSxPQUFPLGFBQWE7SUFTeEIsWUFDbUMsWUFBaUMsRUFDeEQsYUFBMkI7UUFESixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDeEQsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFWN0IsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFMUIsZ0JBQVcsR0FBRyxJQUFJLGFBQWEsRUFBNEIsQ0FBQztRQUM1RCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUN0QixzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVoRSxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUsxQyxDQUFDO0lBRU0sWUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjs7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxTQUFTLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkUsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sb0JBQW9CLENBQUMsS0FBbUI7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFjLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxXQUFvQixFQUFFLEtBQWE7UUFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFZO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDOzsyR0EvRFUsYUFBYSxrQkFVZCxhQUFhOytHQVZaLGFBQWEsY0FGWixNQUFNOzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFXSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2VNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb2NrZXRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcm90ZWN0ZWQgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICBwcm90ZWN0ZWQgX3NvY2tldDogV2ViU29ja2V0O1xyXG4gIHByb3RlY3RlZCBfbWVzc2FnZVN1YiA9IG5ldyBSZXBsYXlTdWJqZWN0PE5vdGlmaWNhdGlvbk1lc3NhZ2VNb2RlbD4oKTtcclxuICBwcm90ZWN0ZWQgX2Nvbm5lY3RpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIF9jb25uZWN0aW9uU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIG9uTWVzc2FnZSQgPSB0aGlzLl9tZXNzYWdlU3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIF9lbnZpcm9ubWVudDogUmVjb3JkPHN0cmluZywgYW55PixcclxuICAgIHByb3RlY3RlZCBfbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHByb3RlY3RlZCBfaXNDb25uZWN0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc29ja2V0ICYmIHRoaXMuX3NvY2tldC5yZWFkeVN0YXRlID09PSBXZWJTb2NrZXQuT1BFTjtcclxuICB9XHJcblxyXG4gIHNvY2tldENvbm5lY3QoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICBpZiAoIXRoaXMuX2Nvbm5lY3RpbmcgJiYgIXRoaXMuX2lzQ29ubmVjdGVkKCkpIHtcclxuICAgICAgdGhpcy5fY29ubmVjdGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVDb25uZWN0aW9uKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvblNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGRpc2Nvbm5lY3QoKSB7XHJcbiAgICBpZiAodGhpcy5faXNDb25uZWN0ZWQoKSkge1xyXG4gICAgICB0aGlzLl9zb2NrZXQuY2xvc2UoKTtcclxuICAgICAgdGhpcy5fY29ubmVjdGlvblNvdXJjZS5uZXh0KGZhbHNlKTtcclxuICAgICAgdGhpcy5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUNvbm5lY3Rpb24oKSB7XHJcbiAgICBjb25zdCBzb2NrZXQgPSBuZXcgV2ViU29ja2V0KHRoaXMuX2Vudmlyb25tZW50Py5zb2NrZXRVcmwpO1xyXG4gICAgc29ja2V0Lm9ub3BlbiA9IChldmVudCkgPT4gdGhpcy5faGFuZGxlU29ja2V0Q29ubmVjdGlvbih0cnVlLCBldmVudCk7XHJcbiAgICBzb2NrZXQub25jbG9zZSA9IChldmVudCkgPT4gdGhpcy5faGFuZGxlU29ja2V0Q29ubmVjdGlvbihmYWxzZSwgZXZlbnQpO1xyXG4gICAgc29ja2V0Lm9uZXJyb3IgPSAoZXZlbnQpID0+IHRoaXMuX2hhbmRsZVNvY2tldEVycm9yKGV2ZW50KTtcclxuICAgIHNvY2tldC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHRoaXMuX2hhbmRsZVNvY2tldE1lc3NhZ2UoZXZlbnQpO1xyXG4gICAgdGhpcy5fc29ja2V0ID0gc29ja2V0O1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlU29ja2V0TWVzc2FnZShldmVudDogTWVzc2FnZUV2ZW50KSB7XHJcbiAgICBjb25zdCBub3RpZmljYXRpb25EYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhIGFzIHN0cmluZyk7XHJcbiAgICB0aGlzLl9tZXNzYWdlU3ViLm5leHQobm90aWZpY2F0aW9uRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVTb2NrZXRDb25uZWN0aW9uKGlzQ29ubmVjdGVkOiBib29sZWFuLCBldmVudD86IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25uZWN0aW9uU291cmNlLm5leHQoaXNDb25uZWN0ZWQpO1xyXG4gICAgdGhpcy5fY29ubmVjdGluZyA9IGZhbHNlO1xyXG4gICAgY29uc29sZS5sb2coaXNDb25uZWN0ZWQgPyAnV2ViU29ja2V0IGNvbm5lY3RlZCcgOiAnV2ViU29ja2V0IGRpc2Nvbm5lY3RlZCcsIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVNvY2tldEVycm9yKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5fY29ubmVjdGlvblNvdXJjZS5uZXh0KGZhbHNlKTtcclxuICAgIHRoaXMuX2Nvbm5lY3RpbmcgPSBmYWxzZTtcclxuICAgIGNvbnNvbGUubG9nKCdXZWJTb2NrZXQgRXJyb3InLCBldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|