@hmcts/media-viewer 2.9.3 → 2.9.4-RC.8
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/assets/images/icon-bookmarks-custom.png +0 -0
- package/assets/images/icon-bookmarks-position.png +0 -0
- package/assets/images/toolbarButton-bookmarkDark.png +0 -0
- package/assets/sass/comment-set-panel.scss +1 -0
- package/assets/sass/comment.scss +4 -6
- package/assets/sass/image-viewer.scss +2 -1
- package/assets/sass/pdf-viewer.scss +4 -0
- package/assets/sass/toolbar/buttons.scss +24 -0
- package/assets/sass/toolbar/main-toolbar.scss +20 -7
- package/assets/sass/toolbar/side-bar.scss +17 -17
- package/bundles/hmcts-media-viewer.umd.js +744 -324
- package/bundles/hmcts-media-viewer.umd.js.map +1 -1
- package/bundles/hmcts-media-viewer.umd.min.js +1 -1
- package/bundles/hmcts-media-viewer.umd.min.js.map +1 -1
- package/esm2015/hmcts-media-viewer.js +53 -52
- package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +2 -2
- package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +2 -2
- package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +2 -2
- package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +1 -1
- package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +3 -2
- package/esm2015/lib/annotations/annotations.module.js +3 -1
- package/esm2015/lib/annotations/comment-set/comment/comment.component.js +3 -2
- package/esm2015/lib/annotations/comment-set/comment/comment.service.js +6 -2
- package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +13 -2
- package/esm2015/lib/media-viewer.component.js +4 -2
- package/esm2015/lib/print.service.js +4 -2
- package/esm2015/lib/redaction/components/redaction.component.js +2 -2
- package/esm2015/lib/redaction/services/redaction-api.service.js +7 -1
- package/esm2015/lib/redaction/services/redaction.model.js +1 -1
- package/esm2015/lib/store/actions/redaction.actions.js +22 -1
- package/esm2015/lib/store/effects/redaction.effects.js +18 -4
- package/esm2015/lib/store/reducers/bookmarks.reducer.js +3 -2
- package/esm2015/lib/store/reducers/redaction.reducer.js +9 -1
- package/esm2015/lib/store/selectors/bookmark.selectors.js +2 -2
- package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +19 -4
- package/esm2015/lib/toolbar/redaction-search-bar/redaction-search-bar.component.js +201 -0
- package/esm2015/lib/toolbar/redaction-search-bar/redaction-search.model.js +2 -0
- package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +18 -6
- package/esm2015/lib/toolbar/toolbar-event.service.js +9 -1
- package/esm2015/lib/toolbar/toolbar.module.js +6 -3
- package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +2 -2
- package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +15 -4
- package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +3 -2
- package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +70 -5
- package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +4 -1
- package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +24 -19
- package/fesm2015/hmcts-media-viewer.js +586 -204
- package/fesm2015/hmcts-media-viewer.js.map +1 -1
- package/hmcts-media-viewer.d.ts +56 -55
- package/hmcts-media-viewer.d.ts.map +1 -1
- package/hmcts-media-viewer.metadata.json +1 -1
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -1
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -1
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -1
- package/lib/annotations/annotations.module.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment/comment.component.d.ts +2 -0
- package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment/comment.service.d.ts +3 -1
- package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +4 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -1
- package/lib/media-viewer.component.d.ts +1 -0
- package/lib/media-viewer.component.d.ts.map +1 -1
- package/lib/media-viewer.module.ngfactory.d.ts.map +1 -1
- package/lib/print.service.d.ts.map +1 -1
- package/lib/redaction/components/redaction.component.d.ts.map +1 -1
- package/lib/redaction/services/redaction-api.service.d.ts +3 -1
- package/lib/redaction/services/redaction-api.service.d.ts.map +1 -1
- package/lib/redaction/services/redaction.model.d.ts +3 -0
- package/lib/redaction/services/redaction.model.d.ts.map +1 -1
- package/lib/store/actions/redaction.actions.d.ts +20 -2
- package/lib/store/actions/redaction.actions.d.ts.map +1 -1
- package/lib/store/effects/redaction.effects.d.ts +4 -1
- package/lib/store/effects/redaction.effects.d.ts.map +1 -1
- package/lib/store/reducers/bookmarks.reducer.d.ts.map +1 -1
- package/lib/store/reducers/redaction.reducer.d.ts.map +1 -1
- package/lib/store/selectors/annotation.selectors.d.ts +5 -5
- package/lib/store/selectors/redaction.selectors.d.ts +1 -1
- package/lib/store/selectors/tag.selectors.d.ts +2 -2
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +3 -1
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -1
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +51 -0
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -0
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.ngfactory.d.ts.map +1 -0
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts +12 -0
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts.map +1 -0
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +4 -2
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -1
- package/lib/toolbar/toolbar-event.service.d.ts +6 -0
- package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
- package/lib/toolbar/toolbar.module.d.ts.map +1 -1
- package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +1 -0
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -0
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +17 -4
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +7 -4
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -1
- package/package.json +5 -4
- package/hmcts-media-viewer-v2.9.3.tgz +0 -0
|
@@ -32,15 +32,26 @@ export class PdfJsWrapper {
|
|
|
32
32
|
this.pdfViewer.eventBus.on('scalechanging', (e) => this.emitDocumentInfo(e));
|
|
33
33
|
this.pdfViewer.eventBus.on('rotationchanging', (e) => this.emitDocumentInfo(e));
|
|
34
34
|
this.pdfViewer.eventBus.on('updatefindcontrolstate', event => {
|
|
35
|
-
|
|
36
|
-
this.toolbarEvents.searchResultsCountSubject.next(event.matchesCount);
|
|
37
|
-
}
|
|
35
|
+
this.sendSearchDetails(event);
|
|
38
36
|
});
|
|
39
37
|
this.pdfViewer.eventBus.on('updatefindmatchescount', event => {
|
|
40
38
|
this.toolbarEvents.searchResultsCountSubject.next(event.matchesCount);
|
|
41
39
|
});
|
|
42
40
|
this.zoomValue = 1;
|
|
43
41
|
}
|
|
42
|
+
sendSearchDetails(event) {
|
|
43
|
+
var _a, _b, _c, _d, _e, _f;
|
|
44
|
+
if (event.state !== FindState.PENDING) {
|
|
45
|
+
this.toolbarEvents.searchResultsCountSubject.next(event.matchesCount);
|
|
46
|
+
if (((_b = (_a = event === null || event === void 0 ? void 0 : event.source) === null || _a === void 0 ? void 0 : _a.selected) === null || _b === void 0 ? void 0 : _b.pageIdx) !== -1 && event.matchesCount.total > 0) {
|
|
47
|
+
this.toolbarEvents.redactionSerachSubject.next({
|
|
48
|
+
page: (_d = (_c = event === null || event === void 0 ? void 0 : event.source) === null || _c === void 0 ? void 0 : _c.selected) === null || _d === void 0 ? void 0 : _d.pageIdx,
|
|
49
|
+
matchedIndex: (_f = (_e = event === null || event === void 0 ? void 0 : event.source) === null || _e === void 0 ? void 0 : _e.selected) === null || _f === void 0 ? void 0 : _f.matchIdx,
|
|
50
|
+
matchesCount: event.matchesCount.total
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
44
55
|
emitDocumentInfo(e) {
|
|
45
56
|
const allPages = [...this.pdfViewer._pages].map(page => {
|
|
46
57
|
return {
|
|
@@ -189,4 +200,4 @@ export class PdfJsWrapper {
|
|
|
189
200
|
return this.documentTitle;
|
|
190
201
|
}
|
|
191
202
|
}
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssUUFBUSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLDZCQUE2QixDQUFDO0FBTXJDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7QUFFM0U7O0dBRUc7QUFDSCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsbURBQWEsQ0FBQTtJQUNiLCtDQUFXLENBQUE7SUFDWCwrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQU12QixZQUNtQixTQUFvQixFQUNwQixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxnQkFBaUMsRUFDakMsb0JBQW1ELEVBQ25ELGNBQTRCLEVBQzVCLGFBQStCLEVBQy9CLGtCQUFrQyxFQUNsQyxZQUFrQyxFQUNsQyxlQUFtRDtRQVRsRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBQ25ELG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0M7UUFFbkUsSUFBSSxDQUFDLFNBQVMsQ0FB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QjtRQUNwQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUFFO1FBQ2hELElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQUU7UUFDaEMsSUFBSSxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBQUUsT0FBTyxHQUFHLENBQUM7U0FBRTtRQUVwQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDeEYsQ0FBQztJQUVNLGFBQWEsQ0FBQyxRQUFnQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztJQUNqRCxDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDdEMsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDMUMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQWE7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGRmanNMaWIgZnJvbSAncGRmanMtZGlzdCc7XG5pbXBvcnQgeyBEb3dubG9hZE1hbmFnZXIsIFBERlZpZXdlciB9IGZyb20gJ3BkZmpzLWRpc3Qvd2ViL3BkZl92aWV3ZXInO1xuaW1wb3J0ICdwZGZqcy1kaXN0L2J1aWxkL3BkZi53b3JrZXInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoT3BlcmF0aW9uLCBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4uL3NpZGUtYmFyL291dGxpbmUtaXRlbS9vdXRsaW5lLm1vZGVsJztcbmltcG9ydCB7IFBkZlBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvZG9jdW1lbnQucmVkdWNlcic7XG5cbnBkZmpzTGliLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gJy9hc3NldHMvYnVpbGQvcGRmLndvcmtlci5taW4uanMnO1xuXG4vKipcbiAqIFZhbHVlcyBvZiB0aGUgc3RhdGUgZmllbGQgcmV0dXJuZWQgYnkgdGhlIGZpbmQgZXZlbnRzXG4gKi9cbmVudW0gRmluZFN0YXRlIHtcbiAgRk9VTkQgPSAwLFxuICBOT1RfRk9VTkQgPSAxLFxuICBXUkFQUEVEID0gMixcbiAgUEVORElORyA9IDMsXG59XG5cbmV4cG9ydCBjbGFzcyBQZGZKc1dyYXBwZXIge1xuXG4gIHByaXZhdGUgem9vbVZhbHVlOiBudW1iZXI7XG4gIHByaXZhdGUgZG9jdW1lbnRUaXRsZTogc3RyaW5nO1xuICBwcml2YXRlIGRvY3VtZW50T3V0bGluZTogT3V0bGluZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBkZlZpZXdlcjogUERGVmlld2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG93bmxvYWRNYW5hZ2VyOiBEb3dubG9hZE1hbmFnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRJbml0OiBTdWJqZWN0PHN0cmluZz4sXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZFByb2dyZXNzOiBTdWJqZWN0PERvY3VtZW50TG9hZFByb2dyZXNzPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkZWQ6IFN1YmplY3Q8YW55PixcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3V0bGluZUxvYWRlZDogU3ViamVjdDxPdXRsaW5lPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkRmFpbGVkOiBTdWJqZWN0PEVycm9yPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFnZVJlbmRlcmVkOiBTdWJqZWN0PFBhZ2VFdmVudFtdPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb25VcGRhdGVkOiBTdWJqZWN0PHsgbG9jYXRpb246IFBkZlBvc2l0aW9uIH0+LFxuICApIHtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRldmlld2FyZWEnLCBlID0+IHBvc2l0aW9uVXBkYXRlZC5uZXh0KGUpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZWNoYW5naW5nJywgZSA9PiB0aGlzLnRvb2xiYXJFdmVudHMuc2V0Q3VycmVudFBhZ2VJbnB1dFZhbHVlU3ViamVjdC5uZXh0KGUucGFnZU51bWJlcikpO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdwYWdlc2luaXQnLCAoKSA9PiB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSA9ICcxJyk7XG5cbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZXJlbmRlcmVkJywgZSA9PiB7fSk7IC8vIG5vdCB1c2VkIGxlZnQgZm9yIGZ1dHVyZSBjb252ZW5pZW5jZVxuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdwYWdlc2xvYWRlZCcsIChlKSA9PiB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdzY2FsZWNoYW5naW5nJywgKGUpID0+ICB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCdyb3RhdGlvbmNoYW5naW5nJywgKGUpID0+IHRoaXMuZW1pdERvY3VtZW50SW5mbyhlKSk7XG5cbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRlZmluZGNvbnRyb2xzdGF0ZScsIGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudC5zdGF0ZSAhPT0gRmluZFN0YXRlLlBFTkRJTkcpIHtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QubmV4dChldmVudC5tYXRjaGVzQ291bnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMucGRmVmlld2VyLmV2ZW50QnVzLm9uKCd1cGRhdGVmaW5kbWF0Y2hlc2NvdW50JywgZXZlbnQgPT4ge1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QubmV4dChldmVudC5tYXRjaGVzQ291bnQpO1xuICAgIH0pO1xuICAgIHRoaXMuem9vbVZhbHVlID0gMTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdERvY3VtZW50SW5mbyhlKSB7XG4gICAgY29uc3QgYWxsUGFnZXM6IFBhZ2VFdmVudFtdID0gWy4uLnRoaXMucGRmVmlld2VyLl9wYWdlc10ubWFwKHBhZ2UgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiBwYWdlLmRpdixcbiAgICAgICAgc2NhbGU6IHBhZ2Uuc2NhbGUsXG4gICAgICAgIHJvdGF0aW9uOiBwYWdlLnJvdGF0aW9uLFxuICAgICAgICBpZDogcGFnZS5pZCxcbiAgICAgICAgdmlld3BvcnRTY2FsZTogcGFnZS52aWV3cG9ydC5zY2FsZVxuICAgICAgfTtcbiAgICB9KTtcbiAgICB0aGlzLnBhZ2VSZW5kZXJlZC5uZXh0KGFsbFBhZ2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkRG9jdW1lbnQoZG9jdW1lbnRVcmw6IHN0cmluZykge1xuICAgIGNvbnN0IGxvYWRpbmdUYXNrID0gdGhpcy5jcmVhdGVMb2FkaW5nVGFzayhkb2N1bWVudFVybCk7XG5cbiAgICBsb2FkaW5nVGFzay5vblByb2dyZXNzID0gKHsgbG9hZGVkLCB0b3RhbCB9KSA9PiB7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZFByb2dyZXNzLm5leHQoeyBsb2FkZWQsIHRvdGFsIH0pO1xuICAgIH07XG5cbiAgICB0aGlzLmRvY3VtZW50TG9hZEluaXQubmV4dChkb2N1bWVudFVybCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGRmRG9jdW1lbnQgPSBhd2FpdCBsb2FkaW5nVGFzay5wcm9taXNlO1xuICAgICAgdGhpcy5kb2N1bWVudExvYWRlZC5uZXh0KHBkZkRvY3VtZW50KTtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5wYWdlQ291bnRTdWJqZWN0Lm5leHQocGRmRG9jdW1lbnQubnVtUGFnZXMpO1xuXG4gICAgICB0aGlzLnBkZlZpZXdlci5zZXREb2N1bWVudChwZGZEb2N1bWVudCk7XG4gICAgICB0aGlzLnBkZlZpZXdlci5saW5rU2VydmljZS5zZXREb2N1bWVudChwZGZEb2N1bWVudCwgbnVsbCk7XG5cbiAgICAgIGNvbnN0IG91dGxpbmUgPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRPdXRsaW5lKCk7XG5cbiAgICAgIGlmIChvdXRsaW5lKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2V0T3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kb2N1bWVudE91dGxpbmUgPSBvdXRsaW5lO1xuICAgICAgdGhpcy5vdXRsaW5lTG9hZGVkLm5leHQodGhpcy5kb2N1bWVudE91dGxpbmUpO1xuICAgICAgY29uc3QgcGRmTWV0YURhdGEgPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRNZXRhZGF0YSgpO1xuICAgICAgdGhpcy5zZXRDdXJyZW50UERGVGl0bGUocGRmTWV0YURhdGEuaW5mby5UaXRsZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5kb2N1bWVudExvYWRGYWlsZWQubmV4dChlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUxvYWRpbmdUYXNrKGRvY3VtZW50VXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcGRmanNMaWIuZ2V0RG9jdW1lbnQoe1xuICAgICAgdXJsOiBkb2N1bWVudFVybCxcbiAgICAgIGNNYXBVcmw6ICdhc3NldHMvbWluaWZpZWQvY21hcHMnLFxuICAgICAgY01hcFBhY2tlZDogdHJ1ZSxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmVBcnJheTogT3V0bGluZVtdKSB7XG4gICAgb3V0bGluZUFycmF5LmZvckVhY2ggKCBhc3luYyAob3V0bGluZTogT3V0bGluZSkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5zZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmU6IE91dGxpbmUpIHtcbiAgICBvdXRsaW5lLnBhZ2VOdW1iZXIgPSBhd2FpdCB0aGlzLmdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lKTtcbiAgICBvdXRsaW5lLml0ZW1zLmZvckVhY2goIGFzeW5jIChvdXRsaW5lSXRlbTogT3V0bGluZSkgPT4ge1xuICAgICAgb3V0bGluZUl0ZW0ucGFnZU51bWJlciA9IGF3YWl0IHRoaXMuZ2V0T3V0bGluZVBhZ2VOdW1iZXIocGRmRG9jdW1lbnQsIG91dGxpbmVJdGVtKTtcbiAgICAgIHRoaXMuc2V0TmVzdGVkT3V0bGluZVBhZ2VOdW1iZXJzKHBkZkRvY3VtZW50LCBvdXRsaW5lSXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lOiBPdXRsaW5lKTogUHJvbWlzZSA8bnVtYmVyPiB7XG4gICAgY29uc3QgZGVzdCA9IG91dGxpbmUuZGVzdDtcbiAgICBjb25zdCBwYWdlSW5kZXggPSBhd2FpdCBwZGZEb2N1bWVudC5nZXRQYWdlSW5kZXgoZGVzdFswXSk7XG4gICAgcmV0dXJuIE51bWJlcihwYWdlSW5kZXgpICsgMTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvd25sb2FkTWFuYWdlci5kb3dubG9hZFVybCh1cmwsIGZpbGVuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyID0gcGFnZU51bWJlcjtcbiAgfVxuICBwdWJsaWMgZ2V0UGFnZU51bWJlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5jdXJyZW50UGFnZU51bWJlcjtcbiAgfVxuICBwdWJsaWMgY2hhbmdlUGFnZU51bWJlcihudW1QYWdlczogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXIgKz0gbnVtUGFnZXM7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKG9wZXJhdGlvbjogU2VhcmNoT3BlcmF0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgY29tbWFuZCA9IG9wZXJhdGlvbi5yZXNldCA/ICdmaW5kJyA6ICdmaW5kYWdhaW4nO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZmluZENvbnRyb2xsZXIuZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCwge1xuICAgICAgcXVlcnk6IG9wZXJhdGlvbi5zZWFyY2hUZXJtLFxuICAgICAgcGhyYXNlU2VhcmNoOiB0cnVlLFxuICAgICAgY2FzZVNlbnNpdGl2ZTogb3BlcmF0aW9uLm1hdGNoQ2FzZSxcbiAgICAgIGVudGlyZVdvcmQ6IG9wZXJhdGlvbi53aG9sZVdvcmQsXG4gICAgICBoaWdobGlnaHRBbGw6IG9wZXJhdGlvbi5oaWdobGlnaHRBbGwsXG4gICAgICBmaW5kUHJldmlvdXM6IG9wZXJhdGlvbi5wcmV2aW91cyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5kaXNwYXRjaCgnZmluZGJhcmNsb3NlJyk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUbyhkZXN0aW5hdGlvbjogb2JqZWN0IHwgbnVtYmVyKSB7XG4gICAgaWYgKGRlc3RpbmF0aW9uIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICBpZiAoIWRlc3RpbmF0aW9uWzFdLm5hbWUuaW5jbHVkZXMoJ1hZWicpKSB7XG4gICAgICAgIGRlc3RpbmF0aW9uWzFdID0geyBuYW1lOiAnWFlaJyB9O1xuICAgICAgICBkZXN0aW5hdGlvblsyXSA9IGRlc3RpbmF0aW9uWzJdIHx8IG51bGw7XG4gICAgICAgIGRlc3RpbmF0aW9uWzNdID0gZGVzdGluYXRpb25bM10gfHwgbnVsbDtcbiAgICAgIH1cbiAgICAgIGRlc3RpbmF0aW9uWzRdID0gdGhpcy56b29tVmFsdWU7XG4gICAgfVxuICAgIHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlLm5hdmlnYXRlVG8oZGVzdGluYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHNldFpvb20oem9vbVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSA9IHRoaXMuZ2V0Wm9vbVZhbHVlKHpvb21WYWx1ZSk7XG4gICAgdGhpcy56b29tVmFsdWUgPSB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVZhbHVlU3ViamVjdC5uZXh0KHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGVwWm9vbSh6b29tVmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlID0gK3RoaXMuZ2V0Wm9vbVZhbHVlKCgrdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUpICsgem9vbVZhbHVlKTtcbiAgICB0aGlzLnpvb21WYWx1ZSA9IHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy56b29tVmFsdWVTdWJqZWN0Lm5leHQodGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRab29tVmFsdWUoem9vbVZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChpc05hTih6b29tVmFsdWUpKSB7IHJldHVybiB0aGlzLnpvb21WYWx1ZTsgfVxuICAgIGlmICh6b29tVmFsdWUgPiA1KSB7IHJldHVybiA1OyB9XG4gICAgaWYgKHpvb21WYWx1ZSA8IDAuMSkgeyByZXR1cm4gMC4xOyB9XG5cbiAgICByZXR1cm4gK3pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgcHVibGljIHJvdGF0ZShyb3RhdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbiA9ICh0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uICsgcm90YXRpb24pICUgMzYwO1xuICB9XG5cbiAgcHVibGljIHJlc2V0Um90YXRpb24ocm90YXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb24gPSByb3RhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb3JtYWxpc2VkUGFnZXNSb3RhdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldEN1cnJlbnRQREZab29tVmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc2V0Q3VycmVudFBERlRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSB0aXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UERGVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudFRpdGxlO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRMb2FkUHJvZ3Jlc3Mge1xuICBsb2FkZWQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdlRXZlbnQge1xuICBkaXY6IG9iamVjdDtcbiAgc2NhbGU6IG51bWJlcjtcbiAgcm90YXRpb246IG51bWJlcjtcbiAgaWQ6IHN0cmluZztcbiAgdmlld3BvcnRTY2FsZTogbnVtYmVyO1xufVxuIl19
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWpzLXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEtBQUssUUFBUSxNQUFNLFlBQVksQ0FBQztBQUV2QyxPQUFPLDZCQUE2QixDQUFDO0FBTXJDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsaUNBQWlDLENBQUM7QUFFM0U7O0dBRUc7QUFDSCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsbURBQWEsQ0FBQTtJQUNiLCtDQUFXLENBQUE7SUFDWCwrQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2I7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQU12QixZQUNtQixTQUFvQixFQUNwQixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxnQkFBaUMsRUFDakMsb0JBQW1ELEVBQ25ELGNBQTRCLEVBQzVCLGFBQStCLEVBQy9CLGtCQUFrQyxFQUNsQyxZQUFrQyxFQUNsQyxlQUFtRDtRQVRsRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQStCO1FBQ25ELG1CQUFjLEdBQWQsY0FBYyxDQUFjO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0M7UUFFbkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2SCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFFdEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1FBQzdGLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTs7UUFDMUIsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RFLElBQUksYUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSwwQ0FBRSxRQUFRLDBDQUFFLE9BQU8sTUFBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQzNFLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDO29CQUM3QyxJQUFJLGNBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sMENBQUUsUUFBUSwwQ0FBRSxPQUFPO29CQUN0QyxZQUFZLGNBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sMENBQUUsUUFBUSwwQ0FBRSxRQUFRO29CQUMvQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLO2lCQUNwQixDQUNuQixDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sUUFBUSxHQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEUsT0FBTztnQkFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO2FBQ25DLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFWSxZQUFZLENBQUMsV0FBbUI7O1lBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV4RCxXQUFXLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQztZQUVGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFeEMsSUFBSTtnQkFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRS9ELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUUxRCxNQUFNLE9BQU8sR0FBRyxNQUFNLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFFL0MsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2lCQUN4RDtnQkFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDakQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pDO1FBQ0gsQ0FBQztLQUFBO0lBRU8saUJBQWlCLENBQUMsV0FBbUI7UUFDM0MsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQzFCLEdBQUcsRUFBRSxXQUFXO1lBQ2hCLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsVUFBVSxFQUFFLElBQUk7WUFDaEIsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVhLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxZQUF1Qjs7WUFDdEUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFPLE9BQWdCLEVBQUUsRUFBRTtnQkFDOUMsTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQSxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFYSwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsT0FBZ0I7O1lBQ3JFLE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzNFLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQU8sV0FBb0IsRUFBRSxFQUFFO2dCQUNuRCxXQUFXLENBQUMsVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRWEsb0JBQW9CLENBQUMsV0FBVyxFQUFFLE9BQWdCOztZQUM5RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQzFCLE1BQU0sU0FBUyxHQUFHLE1BQU0sV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsQ0FBQztLQUFBO0lBRU0sWUFBWSxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUNoRCxDQUFDO0lBQ00sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDMUMsQ0FBQztJQUNNLGdCQUFnQixDQUFDLFFBQWdCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLElBQUksUUFBUSxDQUFDO0lBQy9DLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBMEI7UUFDdEMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtZQUNwRCxLQUFLLEVBQUUsU0FBUyxDQUFDLFVBQVU7WUFDM0IsWUFBWSxFQUFFLElBQUk7WUFDbEIsYUFBYSxFQUFFLFNBQVMsQ0FBQyxTQUFTO1lBQ2xDLFVBQVUsRUFBRSxTQUFTLENBQUMsU0FBUztZQUMvQixZQUFZLEVBQUUsU0FBUyxDQUFDLFlBQVk7WUFDcEMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sVUFBVSxDQUFDLFdBQTRCO1FBQzVDLElBQUksV0FBVyxZQUFZLE1BQU0sRUFBRTtZQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDakMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBQ3hDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2FBQ3pDO1lBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDakM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxTQUFpQjtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU0sUUFBUSxDQUFDLFNBQWlCO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU8sWUFBWSxDQUFDLFNBQWlCO1FBQ3BDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUU7UUFDaEQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQUUsT0FBTyxDQUFDLENBQUM7U0FBRTtRQUNoQyxJQUFJLFNBQVMsR0FBRyxHQUFHLEVBQUU7WUFBRSxPQUFPLEdBQUcsQ0FBQztTQUFFO1FBRXBDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBZ0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN4RixDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO0lBQ2pELENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUMxQyxDQUFDO0lBRU0sa0JBQWtCLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWRhY3Rpb25TZWFyY2ggfSBmcm9tICcuLy4uLy4uLy4uL3Rvb2xiYXIvcmVkYWN0aW9uLXNlYXJjaC1iYXIvcmVkYWN0aW9uLXNlYXJjaC5tb2RlbCc7XG5pbXBvcnQgKiBhcyBwZGZqc0xpYiBmcm9tICdwZGZqcy1kaXN0JztcbmltcG9ydCB7IERvd25sb2FkTWFuYWdlciwgUERGVmlld2VyIH0gZnJvbSAncGRmanMtZGlzdC93ZWIvcGRmX3ZpZXdlcic7XG5pbXBvcnQgJ3BkZmpzLWRpc3QvYnVpbGQvcGRmLndvcmtlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWFyY2hPcGVyYXRpb24sIFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi4vc2lkZS1iYXIvb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0IHsgUGRmUG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9kb2N1bWVudC5yZWR1Y2VyJztcblxucGRmanNMaWIuR2xvYmFsV29ya2VyT3B0aW9ucy53b3JrZXJTcmMgPSAnL2Fzc2V0cy9idWlsZC9wZGYud29ya2VyLm1pbi5qcyc7XG5cbi8qKlxuICogVmFsdWVzIG9mIHRoZSBzdGF0ZSBmaWVsZCByZXR1cm5lZCBieSB0aGUgZmluZCBldmVudHNcbiAqL1xuZW51bSBGaW5kU3RhdGUge1xuICBGT1VORCA9IDAsXG4gIE5PVF9GT1VORCA9IDEsXG4gIFdSQVBQRUQgPSAyLFxuICBQRU5ESU5HID0gMyxcbn1cblxuZXhwb3J0IGNsYXNzIFBkZkpzV3JhcHBlciB7XG5cbiAgcHJpdmF0ZSB6b29tVmFsdWU6IG51bWJlcjtcbiAgcHJpdmF0ZSBkb2N1bWVudFRpdGxlOiBzdHJpbmc7XG4gIHByaXZhdGUgZG9jdW1lbnRPdXRsaW5lOiBPdXRsaW5lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGRmVmlld2VyOiBQREZWaWV3ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3dubG9hZE1hbmFnZXI6IERvd25sb2FkTWFuYWdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50TG9hZEluaXQ6IFN1YmplY3Q8c3RyaW5nPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRMb2FkUHJvZ3Jlc3M6IFN1YmplY3Q8RG9jdW1lbnRMb2FkUHJvZ3Jlc3M+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRlZDogU3ViamVjdDxhbnk+LFxuICAgIHB1YmxpYyByZWFkb25seSBvdXRsaW5lTG9hZGVkOiBTdWJqZWN0PE91dGxpbmU+LFxuICAgIHB1YmxpYyByZWFkb25seSBkb2N1bWVudExvYWRGYWlsZWQ6IFN1YmplY3Q8RXJyb3I+LFxuICAgIHB1YmxpYyByZWFkb25seSBwYWdlUmVuZGVyZWQ6IFN1YmplY3Q8UGFnZUV2ZW50W10+LFxuICAgIHB1YmxpYyByZWFkb25seSBwb3NpdGlvblVwZGF0ZWQ6IFN1YmplY3Q8eyBsb2NhdGlvbjogUGRmUG9zaXRpb24gfT5cbiAgKSB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZXZpZXdhcmVhJywgZSA9PiBwb3NpdGlvblVwZGF0ZWQubmV4dChlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VjaGFuZ2luZycsIGUgPT4gdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlSW5wdXRWYWx1ZVN1YmplY3QubmV4dChlLnBhZ2VOdW1iZXIpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncGFnZXNpbml0JywgKCkgPT4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSAnMScpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VyZW5kZXJlZCcsIGUgPT4geyB9KTsgLy8gbm90IHVzZWQgbGVmdCBmb3IgZnV0dXJlIGNvbnZlbmllbmNlXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3BhZ2VzbG9hZGVkJywgKGUpID0+IHRoaXMuZW1pdERvY3VtZW50SW5mbyhlKSk7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3NjYWxlY2hhbmdpbmcnLCAoZSkgPT4gdGhpcy5lbWl0RG9jdW1lbnRJbmZvKGUpKTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigncm90YXRpb25jaGFuZ2luZycsIChlKSA9PiB0aGlzLmVtaXREb2N1bWVudEluZm8oZSkpO1xuXG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMub24oJ3VwZGF0ZWZpbmRjb250cm9sc3RhdGUnLCBldmVudCA9PiB7XG4gICAgICB0aGlzLnNlbmRTZWFyY2hEZXRhaWxzKGV2ZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnBkZlZpZXdlci5ldmVudEJ1cy5vbigndXBkYXRlZmluZG1hdGNoZXNjb3VudCcsIGV2ZW50ID0+IHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hSZXN1bHRzQ291bnRTdWJqZWN0Lm5leHQoZXZlbnQubWF0Y2hlc0NvdW50KTtcbiAgICB9KTtcbiAgICB0aGlzLnpvb21WYWx1ZSA9IDE7XG4gIH1cblxuICBzZW5kU2VhcmNoRGV0YWlscyhldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50LnN0YXRlICE9PSBGaW5kU3RhdGUuUEVORElORykge1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QubmV4dChldmVudC5tYXRjaGVzQ291bnQpO1xuICAgICAgaWYgKGV2ZW50Py5zb3VyY2U/LnNlbGVjdGVkPy5wYWdlSWR4ICE9PSAtMSAmJiBldmVudC5tYXRjaGVzQ291bnQudG90YWwgPiAwKSB7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25TZXJhY2hTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgIHBhZ2U6IGV2ZW50Py5zb3VyY2U/LnNlbGVjdGVkPy5wYWdlSWR4LFxuICAgICAgICAgIG1hdGNoZWRJbmRleDogZXZlbnQ/LnNvdXJjZT8uc2VsZWN0ZWQ/Lm1hdGNoSWR4LFxuICAgICAgICAgIG1hdGNoZXNDb3VudDogZXZlbnQubWF0Y2hlc0NvdW50LnRvdGFsXG4gICAgICAgIH0gYXMgUmVkYWN0aW9uU2VhcmNoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RG9jdW1lbnRJbmZvKGUpIHtcbiAgICBjb25zdCBhbGxQYWdlczogUGFnZUV2ZW50W10gPSBbLi4udGhpcy5wZGZWaWV3ZXIuX3BhZ2VzXS5tYXAocGFnZSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkaXY6IHBhZ2UuZGl2LFxuICAgICAgICBzY2FsZTogcGFnZS5zY2FsZSxcbiAgICAgICAgcm90YXRpb246IHBhZ2Uucm90YXRpb24sXG4gICAgICAgIGlkOiBwYWdlLmlkLFxuICAgICAgICB2aWV3cG9ydFNjYWxlOiBwYWdlLnZpZXdwb3J0LnNjYWxlXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMucGFnZVJlbmRlcmVkLm5leHQoYWxsUGFnZXMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvYWREb2N1bWVudChkb2N1bWVudFVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgbG9hZGluZ1Rhc2sgPSB0aGlzLmNyZWF0ZUxvYWRpbmdUYXNrKGRvY3VtZW50VXJsKTtcblxuICAgIGxvYWRpbmdUYXNrLm9uUHJvZ3Jlc3MgPSAoeyBsb2FkZWQsIHRvdGFsIH0pID0+IHtcbiAgICAgIHRoaXMuZG9jdW1lbnRMb2FkUHJvZ3Jlc3MubmV4dCh7IGxvYWRlZCwgdG90YWwgfSk7XG4gICAgfTtcblxuICAgIHRoaXMuZG9jdW1lbnRMb2FkSW5pdC5uZXh0KGRvY3VtZW50VXJsKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwZGZEb2N1bWVudCA9IGF3YWl0IGxvYWRpbmdUYXNrLnByb21pc2U7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZGVkLm5leHQocGRmRG9jdW1lbnQpO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnBhZ2VDb3VudFN1YmplY3QubmV4dChwZGZEb2N1bWVudC5udW1QYWdlcyk7XG5cbiAgICAgIHRoaXMucGRmVmlld2VyLnNldERvY3VtZW50KHBkZkRvY3VtZW50KTtcbiAgICAgIHRoaXMucGRmVmlld2VyLmxpbmtTZXJ2aWNlLnNldERvY3VtZW50KHBkZkRvY3VtZW50LCBudWxsKTtcblxuICAgICAgY29uc3Qgb3V0bGluZSA9IGF3YWl0IHBkZkRvY3VtZW50LmdldE91dGxpbmUoKTtcblxuICAgICAgaWYgKG91dGxpbmUpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRvY3VtZW50T3V0bGluZSA9IG91dGxpbmU7XG4gICAgICB0aGlzLm91dGxpbmVMb2FkZWQubmV4dCh0aGlzLmRvY3VtZW50T3V0bGluZSk7XG4gICAgICBjb25zdCBwZGZNZXRhRGF0YSA9IGF3YWl0IHBkZkRvY3VtZW50LmdldE1ldGFkYXRhKCk7XG4gICAgICB0aGlzLnNldEN1cnJlbnRQREZUaXRsZShwZGZNZXRhRGF0YS5pbmZvLlRpdGxlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmRvY3VtZW50TG9hZEZhaWxlZC5uZXh0KGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTG9hZGluZ1Rhc2soZG9jdW1lbnRVcmw6IHN0cmluZykge1xuICAgIHJldHVybiBwZGZqc0xpYi5nZXREb2N1bWVudCh7XG4gICAgICB1cmw6IGRvY3VtZW50VXJsLFxuICAgICAgY01hcFVybDogJ2Fzc2V0cy9taW5pZmllZC9jbWFwcycsXG4gICAgICBjTWFwUGFja2VkOiB0cnVlLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldE91dGxpbmVQYWdlTnVtYmVycyhwZGZEb2N1bWVudCwgb3V0bGluZUFycmF5OiBPdXRsaW5lW10pIHtcbiAgICBvdXRsaW5lQXJyYXkuZm9yRWFjaChhc3luYyAob3V0bGluZTogT3V0bGluZSkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5zZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmU6IE91dGxpbmUpIHtcbiAgICBvdXRsaW5lLnBhZ2VOdW1iZXIgPSBhd2FpdCB0aGlzLmdldE91dGxpbmVQYWdlTnVtYmVyKHBkZkRvY3VtZW50LCBvdXRsaW5lKTtcbiAgICBvdXRsaW5lLml0ZW1zLmZvckVhY2goYXN5bmMgKG91dGxpbmVJdGVtOiBPdXRsaW5lKSA9PiB7XG4gICAgICBvdXRsaW5lSXRlbS5wYWdlTnVtYmVyID0gYXdhaXQgdGhpcy5nZXRPdXRsaW5lUGFnZU51bWJlcihwZGZEb2N1bWVudCwgb3V0bGluZUl0ZW0pO1xuICAgICAgdGhpcy5zZXROZXN0ZWRPdXRsaW5lUGFnZU51bWJlcnMocGRmRG9jdW1lbnQsIG91dGxpbmVJdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0T3V0bGluZVBhZ2VOdW1iZXIocGRmRG9jdW1lbnQsIG91dGxpbmU6IE91dGxpbmUpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IGRlc3QgPSBvdXRsaW5lLmRlc3Q7XG4gICAgY29uc3QgcGFnZUluZGV4ID0gYXdhaXQgcGRmRG9jdW1lbnQuZ2V0UGFnZUluZGV4KGRlc3RbMF0pO1xuICAgIHJldHVybiBOdW1iZXIocGFnZUluZGV4KSArIDE7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRGaWxlKHVybDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kb3dubG9hZE1hbmFnZXIuZG93bmxvYWRVcmwodXJsLCBmaWxlbmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50UGFnZU51bWJlciA9IHBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGdldFBhZ2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFBhZ2VOdW1iZXI7XG4gIH1cbiAgcHVibGljIGNoYW5nZVBhZ2VOdW1iZXIobnVtUGFnZXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGRmVmlld2VyLmN1cnJlbnRQYWdlTnVtYmVyICs9IG51bVBhZ2VzO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaChvcGVyYXRpb246IFNlYXJjaE9wZXJhdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGNvbW1hbmQgPSBvcGVyYXRpb24ucmVzZXQgPyAnZmluZCcgOiAnZmluZGFnYWluJztcblxuICAgIHRoaXMucGRmVmlld2VyLmZpbmRDb250cm9sbGVyLmV4ZWN1dGVDb21tYW5kKGNvbW1hbmQsIHtcbiAgICAgIHF1ZXJ5OiBvcGVyYXRpb24uc2VhcmNoVGVybSxcbiAgICAgIHBocmFzZVNlYXJjaDogdHJ1ZSxcbiAgICAgIGNhc2VTZW5zaXRpdmU6IG9wZXJhdGlvbi5tYXRjaENhc2UsXG4gICAgICBlbnRpcmVXb3JkOiBvcGVyYXRpb24ud2hvbGVXb3JkLFxuICAgICAgaGlnaGxpZ2h0QWxsOiBvcGVyYXRpb24uaGlnaGxpZ2h0QWxsLFxuICAgICAgZmluZFByZXZpb3VzOiBvcGVyYXRpb24ucHJldmlvdXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuZXZlbnRCdXMuZGlzcGF0Y2goJ2ZpbmRiYXJjbG9zZScpO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG8oZGVzdGluYXRpb246IG9iamVjdCB8IG51bWJlcikge1xuICAgIGlmIChkZXN0aW5hdGlvbiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgaWYgKCFkZXN0aW5hdGlvblsxXS5uYW1lLmluY2x1ZGVzKCdYWVonKSkge1xuICAgICAgICBkZXN0aW5hdGlvblsxXSA9IHsgbmFtZTogJ1hZWicgfTtcbiAgICAgICAgZGVzdGluYXRpb25bMl0gPSBkZXN0aW5hdGlvblsyXSB8fCBudWxsO1xuICAgICAgICBkZXN0aW5hdGlvblszXSA9IGRlc3RpbmF0aW9uWzNdIHx8IG51bGw7XG4gICAgICB9XG4gICAgICBkZXN0aW5hdGlvbls0XSA9IHRoaXMuem9vbVZhbHVlO1xuICAgIH1cbiAgICB0aGlzLnBkZlZpZXdlci5saW5rU2VydmljZS5uYXZpZ2F0ZVRvKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRab29tKHpvb21WYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWUgPSB0aGlzLmdldFpvb21WYWx1ZSh6b29tVmFsdWUpO1xuICAgIHRoaXMuem9vbVZhbHVlID0gdGhpcy5wZGZWaWV3ZXIuY3VycmVudFNjYWxlVmFsdWU7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgc3RlcFpvb20oem9vbVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZSA9ICt0aGlzLmdldFpvb21WYWx1ZSgoK3RoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlKSArIHpvb21WYWx1ZSk7XG4gICAgdGhpcy56b29tVmFsdWUgPSB0aGlzLnBkZlZpZXdlci5jdXJyZW50U2NhbGVWYWx1ZTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMuem9vbVZhbHVlU3ViamVjdC5uZXh0KHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Wm9vbVZhbHVlKHpvb21WYWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaXNOYU4oem9vbVZhbHVlKSkgeyByZXR1cm4gdGhpcy56b29tVmFsdWU7IH1cbiAgICBpZiAoem9vbVZhbHVlID4gNSkgeyByZXR1cm4gNTsgfVxuICAgIGlmICh6b29tVmFsdWUgPCAwLjEpIHsgcmV0dXJuIDAuMTsgfVxuXG4gICAgcmV0dXJuICt6b29tVmFsdWUudG9GaXhlZCgyKTtcbiAgfVxuXG4gIHB1YmxpYyByb3RhdGUocm90YXRpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLnBhZ2VzUm90YXRpb24gPSAodGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbiArIHJvdGF0aW9uKSAlIDM2MDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFJvdGF0aW9uKHJvdGF0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBkZlZpZXdlci5wYWdlc1JvdGF0aW9uID0gcm90YXRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9ybWFsaXNlZFBhZ2VzUm90YXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZWaWV3ZXIucGFnZXNSb3RhdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UERGWm9vbVZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmVmlld2VyLmN1cnJlbnRTY2FsZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIHNldEN1cnJlbnRQREZUaXRsZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kb2N1bWVudFRpdGxlID0gdGl0bGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudFBERlRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRUaXRsZTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50TG9hZFByb2dyZXNzIHtcbiAgbG9hZGVkOiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUV2ZW50IHtcbiAgZGl2OiBvYmplY3Q7XG4gIHNjYWxlOiBudW1iZXI7XG4gIHJvdGF0aW9uOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG4gIHZpZXdwb3J0U2NhbGU6IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -184,7 +184,7 @@ export class PdfViewerComponent {
|
|
|
184
184
|
PdfViewerComponent.decorators = [
|
|
185
185
|
{ type: Component, args: [{
|
|
186
186
|
selector: 'mv-pdf-viewer',
|
|
187
|
-
template: "<mv-side-bar
|
|
187
|
+
template: "<mv-side-bar\n *ngIf=\"toolbarEvents.sidebarOpen\"\n id=\"sidebarContainer\"\n [url]=\"url\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [outline]=\"documentOutline\"\n [annotationsEnabled]=\"enableAnnotations\"\n [currentPageNumber]=\"getCurrentPageNumber()\"\n>\n</mv-side-bar>\n<mv-comment-set-header\n *ngIf=\"enableAnnotations\"\n [ngClass]=\"{ 'show-comments-panel': showCommentsPanel }\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\"\n>\n</mv-comment-set-header>\n<mv-participants-list></mv-participants-list>\n<div\n class=\"pdfContainer\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ pdfContainer: true, hidden: errorMessage }\"\n>\n <mv-redaction-search-bar></mv-redaction-search-bar>\n <div\n #viewerContainer\n mvGrabNDrag\n [dragX]=\"viewerContainer\"\n [dragEnabled]=\"enableGrabNDrag\"\n id=\"viewerContainer\"\n class=\"viewer-container\"\n [class.annotations]=\"enableAnnotations\"\n [class.show-comments-panel]=\"\n (showCommentsPanel || showIcpParticipantsList) &&\n !(toolbarEvents.redactionMode | async)\n \"\n [class.grabNDrag]=\"enableGrabNDrag\"\n >\n <div\n #pdfViewer\n class=\"pdfViewer\"\n mvCreateTextHighlight\n [ngClass]=\"{\n hidden: loadingDocument,\n highlightMode: highlightMode | async,\n drawMode: drawMode | async\n }\"\n ></div>\n <mv-redactions\n *ngIf=\"toolbarEvents.redactionMode | async; else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer\n *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n >\n </mv-metadata-layer>\n <mv-bookmark-icons [zoom]=\"zoom\" [rotate]=\"rotation\"> </mv-bookmark-icons>\n </ng-template>\n </div>\n <mv-comment-set\n [contentScrollTop]=\"viewerContainer.scrollTop\"\n *ngIf=\"\n enableAnnotations &&\n annotationSet &&\n !(toolbarEvents.redactionMode | async)\n \"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"pdfViewer.offsetHeight\"\n [pageHeights]=\"pageHeights\"\n >\n </mv-comment-set>\n <div class=\"loadingMessage\" *ngIf=\"loadingDocument\">\n <h3 class=\"govuk-heading-m\">\n Loading...{{\n loadingDocumentProgress ? loadingDocumentProgress + \"%\" : \"\"\n }}\n </h3>\n </div>\n</div>\n",
|
|
188
188
|
encapsulation: ViewEncapsulation.None
|
|
189
189
|
},] }
|
|
190
190
|
];
|
|
@@ -210,10 +210,11 @@ PdfViewerComponent.propDecorators = {
|
|
|
210
210
|
enableRedactions: [{ type: Input }],
|
|
211
211
|
enableICP: [{ type: Input }],
|
|
212
212
|
annotationSet: [{ type: Input }],
|
|
213
|
+
enableRedactSearch: [{ type: Input }],
|
|
213
214
|
height: [{ type: Input }],
|
|
214
215
|
caseId: [{ type: Input }],
|
|
215
216
|
viewerContainer: [{ type: ViewChild, args: ['viewerContainer', { static: true },] }],
|
|
216
217
|
pdfViewer: [{ type: ViewChild, args: ['pdfViewer', { static: false },] }],
|
|
217
218
|
searchBarHidden: [{ type: Input }]
|
|
218
219
|
};
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBNkMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFJakcsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxjQUFjLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxxQkFBcUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVB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QUNsRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDNUcsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDbEgsQ0FBQztZ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QUM7U0FDVjtRQUNELElBQUksWUFBWSxHQUFHLEdBQUcsRUFBRTtZQUN0QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxXQUFrQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzs7WUFuT0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qiw2aUZBQTBDO2dCQUMxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OztZQXpCZ0IsS0FBSztZQUFMLEtBQUs7WUFHYixtQkFBbUI7WUFHbkIsWUFBWTtZQURaLG1CQUFtQjtZQWFuQixrQkFBa0I7WUFDbEIsVUFBVTtZQVhWLDhCQUE4Qjs7OzhCQW9CcEMsTUFBTTtpQ0FDTixNQUFNOzRCQUNOLE1BQU07MEJBRU4sS0FBSztrQkFDTCxLQUFLOytCQUNMLEtBQUs7Z0NBRUwsS0FBSzsrQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBQ0wsS0FBSztxQkFFTCxLQUFLO3FCQUtMLEtBQUs7OEJBV0wsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzt3QkFDM0MsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7OEJBMkh0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgRG9jdW1lbnRMb2FkUHJvZ3Jlc3MsIFBhZ2VFdmVudCwgUGRmSnNXcmFwcGVyIH0gZnJvbSAnLi9wZGYtanMvcGRmLWpzLXdyYXBwZXInO1xuaW1wb3J0IHsgUGRmSnNXcmFwcGVyRmFjdG9yeSB9IGZyb20gJy4vcGRmLWpzL3BkZi1qcy13cmFwcGVyLnByb3ZpZGVyJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWJ1dHRvbi12aXNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbWVudFNldENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS5tb2RlbCc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi4vLi4vc3RvcmUvcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50QWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGRmUG9zaXRpb25VcGRhdGUgfSBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVRhZ0FjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy90YWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXRDYXNlSWQgfSBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2ljcC5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHNTZWxlY3RvciBmcm9tICcuLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEljcFN0YXRlIH0gZnJvbSAnLi4vLi4vaWNwL2ljcC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9pY3AvaWNwLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1wZGYtdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFBkZlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSBwZGZWaWV3ZXJFeGNlcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdlckV4Y2VwdGlvbj4oKTtcbiAgQE91dHB1dCgpIGRvY3VtZW50VGl0bGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBASW5wdXQoKSBkb3dubG9hZFVybDogc3RyaW5nO1xuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBlbmFibGVSZWRhY3Rpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBlbmFibGVJQ1A6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFubm90YXRpb25TZXQ6IEFubm90YXRpb25TZXQgfCBudWxsO1xuXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nO1xuICBwYWdlSGVpZ2h0cyA9IFtdO1xuICByb3RhdGlvbiA9IDA7XG4gIHpvb20gPSAxO1xuXG4gIEBJbnB1dCgpIGNhc2VJZDogc3RyaW5nO1xuXG4gIGhpZ2hsaWdodE1vZGU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGRyYXdNb2RlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgZG9jdW1lbnRPdXRsaW5lOiBPdXRsaW5lO1xuICBsb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgbG9hZGluZ0RvY3VtZW50UHJvZ3Jlc3M6IG51bWJlcjtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndmlld2VyQ29udGFpbmVyJywge3N0YXRpYzogdHJ1ZX0pIHZpZXdlckNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ3BkZlZpZXdlcicsIHtzdGF0aWM6IGZhbHNlfSkgcGRmVmlld2VyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIHBkZldyYXBwZXI6IFBkZkpzV3JhcHBlcjtcbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgdmlld2VyRXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb247XG4gIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuICBzaG93SWNwUGFydGljaXBhbnRzTGlzdDogYm9vbGVhbjtcbiAgZW5hYmxlR3JhYk5EcmFnID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHJpdmF0ZSBpY3BTdG9yZTogU3RvcmU8SWNwU3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGRmSnNXcmFwcGVyRmFjdG9yeTogUGRmSnNXcmFwcGVyRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpY3BTZXJ2aWNlOiBJY3BTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmhpZ2hsaWdodE1vZGUgPSB0b29sYmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0LnBpcGUodGFwKCgpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21UYWdBY3Rpb25zLkNsZWFyRmlsdGVyVGFncygpKTtcbiAgICB9KSk7XG4gICAgdGhpcy5kcmF3TW9kZSA9IHRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0O1xuICB9XG5cbiAgYXN5bmMgbmdBZnRlckNvbnRlbnRJbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRQcm9ncmVzcy5zdWJzY3JpYmUodiA9PiB0aGlzLm9uRG9jdW1lbnRMb2FkUHJvZ3Jlc3ModikpO1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkRvY3VtZW50TG9hZGVkKCkpO1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRGYWlsZWQuc3Vic2NyaWJlKChlcnJvcikgPT4gdGhpcy5vbkRvY3VtZW50TG9hZEZhaWxlZChlcnJvcikpO1xuICAgIHRoaXMucGRmV3JhcHBlci5vdXRsaW5lTG9hZGVkLnN1YnNjcmliZShvdXRsaW5lID0+IHRoaXMuZG9jdW1lbnRPdXRsaW5lID0gb3V0bGluZSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLnBhZ2VSZW5kZXJlZC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLnVwZGF0ZVBhZ2VzKGV2ZW50KSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy50b29sYmFyRXZlbnRzLnByaW50U3ViamVjdFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByaW50U2VydmljZS5wcmludERvY3VtZW50TmF0aXZlbHkodGhpcy51cmwpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3Quc3Vic2NyaWJlKCgpID0+XG4gICAgICB0aGlzLnBkZldyYXBwZXIuZG93bmxvYWRGaWxlKHRoaXMuZG93bmxvYWRVcmwgfHwgdGhpcy51cmwsIHRoaXMuZG93bmxvYWRGaWxlTmFtZSlcbiAgICApKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5yb3RhdGVTdWJqZWN0LnN1YnNjcmliZShyb3RhdGUgPT4gdGhpcy5yb3RhdGVEb2N1bWVudChyb3RhdGUpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuem9vbVN1YmplY3Quc3Vic2NyaWJlKHpvb20gPT4gdGhpcy5zZXRab29tKHpvb20pKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuc3RlcFpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc3RlcFpvb20oem9vbSkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hTdWJqZWN0LnN1YnNjcmliZShzZWFyY2ggPT4gdGhpcy5wZGZXcmFwcGVyLnNlYXJjaChzZWFyY2gpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZXRDdXJyZW50UGFnZVN1YmplY3Quc3Vic2NyaWJlKHBhZ2VOdW1iZXIgPT4gdGhpcy5wZGZXcmFwcGVyLnNldFBhZ2VOdW1iZXIocGFnZU51bWJlcikpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmNoYW5nZVBhZ2VCeURlbHRhU3ViamVjdC5zdWJzY3JpYmUocGFnZU51bWJlciA9PiB0aGlzLnBkZldyYXBwZXIuY2hhbmdlUGFnZU51bWJlcihwYWdlTnVtYmVyKSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdyYWJORHJhZy5zdWJzY3JpYmUoZ3JhYk5EcmFnID0+IHRoaXMuZW5hYmxlR3JhYk5EcmFnID0gZ3JhYk5EcmFnKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuY29tbWVudHNQYW5lbFZpc2libGUuc3Vic2NyaWJlKHRvZ2dsZSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd0NvbW1lbnRzUGFuZWwgPSB0b2dnbGU7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnZpZXdlckV2ZW50cy5uYXZpZ2F0aW9uRXZlbnQuc3Vic2NyaWJlKGRlc3QgPT4gdGhpcy5nb1RvRGVzdGluYXRpb24oZGVzdCkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmljcC5wYXJ0aWNpcGFudHNMaXN0VmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHRoaXMuc2hvd0ljcFBhcnRpY2lwYW50c0xpc3QgPSB0b2dnbGUpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMucGRmV3JhcHBlci5wb3NpdGlvblVwZGF0ZWQuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKHRocm90dGxlVGltZSg1MDAsIGFzeW5jU2NoZWR1bGVyLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBQZGZQb3NpdGlvblVwZGF0ZShldmVudC5sb2NhdGlvbikpKVxuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCF0aGlzLnBkZldyYXBwZXIpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlciA9IHRoaXMucGRmSnNXcmFwcGVyRmFjdG9yeS5jcmVhdGUodGhpcy52aWV3ZXJDb250YWluZXIpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy51cmwgJiYgdGhpcy5wZGZXcmFwcGVyKSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWREb2N1bWVudCgpO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlUmVkYWN0aW9ucykge1xuICAgICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVkYWN0aW9uTW9kZS5waXBlKGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRSb3RhdGlvbigpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuY2FzZUlkKSB7XG4gICAgICB0aGlzLmljcFN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDYXNlSWQodGhpcy5jYXNlSWQpKTtcbiAgICB9XG4gIH1cblxuICByZXNldFJvdGF0aW9uKCkge1xuICAgIGlmICh0aGlzLmhhc0RpZmZlcmVudFBhZ2VTaXplKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIucmVzZXRSb3RhdGlvbigwKTtcbiAgICAgIHRoaXMucm90YXRpb24gPSAwO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRG9jdW1lbnQoKSB7XG4gICAgdGhpcy5pbml0RG9jdW1lbnRQcm9ncmVzcygpO1xuICAgIGF3YWl0IHRoaXMucGRmV3JhcHBlci5sb2FkRG9jdW1lbnQodGhpcy51cmwpO1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZS5lbWl0KHRoaXMucGRmV3JhcHBlci5nZXRDdXJyZW50UERGVGl0bGUoKSk7XG4gICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnRzU2VsZWN0b3IuZ2V0UGFnZURpZmZlcmVuY2UpKVxuICAgICAgLnN1YnNjcmliZShoYXNEaWZmZXJlbnRQYWdlU2llID0+IHRoaXMuaGFzRGlmZmVyZW50UGFnZVNpemUgPSBoYXNEaWZmZXJlbnRQYWdlU2llKSk7XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkUHJvZ3Jlc3MocHJvZ3Jlc3M6IERvY3VtZW50TG9hZFByb2dyZXNzKSB7XG4gICAgaWYgKHByb2dyZXNzLnRvdGFsKSB7XG4gICAgICB0aGlzLmxvYWRpbmdEb2N1bWVudFByb2dyZXNzID0gTWF0aC5taW4oMTAwLCBNYXRoLmNlaWwocHJvZ3Jlc3MubG9hZGVkIC8gcHJvZ3Jlc3MudG90YWwgKiAxMDApKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkZWQoKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgICB0aGlzLm1lZGlhTG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5TVUNDRVNTKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudExvYWRGYWlsZWQoZXJyb3I6IEVycm9yKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbiA9IG5ldyBWaWV3ZXJFeGNlcHRpb24oZXJyb3IubmFtZSwgeyBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gYENvdWxkIG5vdCBsb2FkIHRoZSBkb2N1bWVudCBcIiR7dGhpcy51cmx9XCJgO1xuXG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuRkFJTFVSRSk7XG4gICAgdGhpcy5wZGZWaWV3ZXJFeGNlcHRpb24uZW1pdCh0aGlzLnZpZXdlckV4Y2VwdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVBhZ2VzKGV2ZW50OiBQYWdlRXZlbnRbXSkge1xuICAgIGlmICh0aGlzLmVuYWJsZUFubm90YXRpb25zKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tRG9jdW1lbnRBY3Rpb25zLkFkZFBhZ2VzKGV2ZW50KSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaEJhckhpZGRlbihoaWRkZW46IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5wZGZXcmFwcGVyICYmIGhpZGRlbikge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLmNsZWFyU2VhcmNoKCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQ29tbWVudHNTdW1tYXJ5KCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVDb21tZW50c1N1bW1hcnkoIXRoaXMudG9vbGJhckV2ZW50cy5zaG93Q29tbWVudFN1bW1hcnkuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZURvY3VtZW50KHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gdGhpcy5wZGZXcmFwcGVyLmdldFBhZ2VOdW1iZXIoKTtcbiAgICB0aGlzLnBkZldyYXBwZXIucm90YXRlKHJvdGF0aW9uKTtcbiAgICB0aGlzLnBkZldyYXBwZXIuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG5cbiAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXREb2N1bWVudFByb2dyZXNzKCkge1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50ID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudFByb2dyZXNzID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNldFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLnNldFpvb20oem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnpvb20gPSB0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0ZXBab29tKHpvb21GYWN0b3I6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4oem9vbUZhY3RvcikpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5zdGVwWm9vbSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuem9vbSA9IHRoaXMuY2FsY3VsYXRlWm9vbVZhbHVlKHRoaXMuem9vbSwgem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UGFnZUhlaWdodHMoKSB7XG4gICAgdGhpcy5wYWdlSGVpZ2h0cyA9IFtdO1xuICAgIGNvbnN0IHBkZlZpZXdlckNoaWxkcmVuID0gdGhpcy5wZGZWaWV3ZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlbjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBkZlZpZXdlckNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLnBhZ2VIZWlnaHRzLnB1c2gocGRmVmlld2VyQ2hpbGRyZW5baV0uY2xpZW50SGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVab29tVmFsdWUoem9vbVZhbHVlLCBpbmNyZW1lbnQgPSAwKSB7XG4gICAgY29uc3QgbmV3Wm9vbVZhbHVlID0gem9vbVZhbHVlICsgaW5jcmVtZW50O1xuICAgIGlmIChuZXdab29tVmFsdWUgPiA1KSB7XG4gICAgICByZXR1cm4gNTtcbiAgICB9XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA8IDAuMSkge1xuICAgICAgcmV0dXJuIDAuMTtcbiAgICB9XG4gICAgcmV0dXJuICtuZXdab29tVmFsdWUudG9GaXhlZCgyKTtcbiAgfVxuXG4gIHByaXZhdGUgZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMucGRmV3JhcHBlci5uYXZpZ2F0ZVRvKGRlc3RpbmF0aW9uKTtcbiAgfVxuXG4gIGdldEN1cnJlbnRQYWdlTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucGRmV3JhcHBlci5nZXRQYWdlTnVtYmVyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBNkMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFJakcsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxjQUFjLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxxQkFBcUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVB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QUNsRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDNUcsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDbEgsQ0FBQztZ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QUM7U0FDVjtRQUNELElBQUksWUFBWSxHQUFHLEdBQUcsRUFBRTtZQUN0QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxXQUFrQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzs7WUFwT0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixxaEZBQTBDO2dCQUMxQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OztZQXpCZ0IsS0FBSztZQUFMLEtBQUs7WUFHYixtQkFBbUI7WUFHbkIsWUFBWTtZQURaLG1CQUFtQjtZQWFuQixrQkFBa0I7WUFDbEIsVUFBVTtZQVhWLDhCQUE4Qjs7OzhCQW9CcEMsTUFBTTtpQ0FDTixNQUFNOzRCQUNOLE1BQU07MEJBRU4sS0FBSztrQkFDTCxLQUFLOytCQUNMLEtBQUs7Z0NBRUwsS0FBSzsrQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBQ0wsS0FBSztpQ0FDTCxLQUFLO3FCQUVMLEtBQUs7cUJBS0wsS0FBSzs4QkFXTCxTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO3dCQUMzQyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQzs4QkEySHRDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgeyBEb2N1bWVudExvYWRQcm9ncmVzcywgUGFnZUV2ZW50LCBQZGZKc1dyYXBwZXIgfSBmcm9tICcuL3BkZi1qcy9wZGYtanMtd3JhcHBlcic7XG5pbXBvcnQgeyBQZGZKc1dyYXBwZXJGYWN0b3J5IH0gZnJvbSAnLi9wZGYtanMvcGRmLWpzLXdyYXBwZXIucHJvdmlkZXInO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSwgVmlld2VyRXhjZXB0aW9uIH0gZnJvbSAnLi4vdmlld2VyLWV4Y2VwdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tZW50U2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC1zZXQuY29tcG9uZW50JztcbmltcG9ydCB7IE91dGxpbmUgfSBmcm9tICcuL3NpZGUtYmFyL291dGxpbmUtaXRlbS9vdXRsaW5lLm1vZGVsJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRBY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvZG9jdW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBQZGZQb3NpdGlvblVwZGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvZG9jdW1lbnQuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tVGFnQWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL3RhZy5hY3Rpb25zJztcbmltcG9ydCB7IFNldENhc2VJZCB9IGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvaWNwLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50c1NlbGVjdG9yIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSWNwU3RhdGUgfSBmcm9tICcuLi8uLi9pY3AvaWNwLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgVmlld2VyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlld2VyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwU2VydmljZSB9IGZyb20gJy4uLy4uL2ljcC9pY3Auc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LXBkZi12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUGRmVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKSBtZWRpYUxvYWRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc3BvbnNlVHlwZT4oKTtcbiAgQE91dHB1dCgpIHBkZlZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuICBAT3V0cHV0KCkgZG9jdW1lbnRUaXRsZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpIGRvd25sb2FkVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVybDogc3RyaW5nO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZUlDUDogYm9vbGVhbjtcbiAgQElucHV0KCkgYW5ub3RhdGlvblNldDogQW5ub3RhdGlvblNldCB8IG51bGw7XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdFNlYXJjaDogQW5ub3RhdGlvblNldCB8IG51bGw7XG5cbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG4gIHBhZ2VIZWlnaHRzID0gW107XG4gIHJvdGF0aW9uID0gMDtcbiAgem9vbSA9IDE7XG5cbiAgQElucHV0KCkgY2FzZUlkOiBzdHJpbmc7XG5cbiAgaGlnaGxpZ2h0TW9kZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZHJhd01vZGU6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBkb2N1bWVudE91dGxpbmU6IE91dGxpbmU7XG4gIGxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICBsb2FkaW5nRG9jdW1lbnRQcm9ncmVzczogbnVtYmVyO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgaGFzRGlmZmVyZW50UGFnZVNpemUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd2aWV3ZXJDb250YWluZXInLCB7c3RhdGljOiB0cnVlfSkgdmlld2VyQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgncGRmVmlld2VyJywge3N0YXRpYzogZmFsc2V9KSBwZGZWaWV3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgcGRmV3JhcHBlcjogUGRmSnNXcmFwcGVyO1xuICBwcml2YXRlICRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgc2hvd0NvbW1lbnRzUGFuZWw6IGJvb2xlYW47XG4gIHNob3dJY3BQYXJ0aWNpcGFudHNMaXN0OiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIGljcFN0b3JlOiBTdG9yZTxJY3BTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZGZKc1dyYXBwZXJGYWN0b3J5OiBQZGZKc1dyYXBwZXJGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3ZXJFdmVudHM6IFZpZXdlckV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGljcFNlcnZpY2U6IEljcFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuaGlnaGxpZ2h0TW9kZSA9IHRvb2xiYXJFdmVudHMuaGlnaGxpZ2h0TW9kZVN1YmplY3QucGlwZSh0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVRhZ0FjdGlvbnMuQ2xlYXJGaWx0ZXJUYWdzKCkpO1xuICAgIH0pKTtcbiAgICB0aGlzLmRyYXdNb2RlID0gdG9vbGJhckV2ZW50cy5kcmF3TW9kZVN1YmplY3Q7XG4gIH1cblxuICBhc3luYyBuZ0FmdGVyQ29udGVudEluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5wZGZXcmFwcGVyLmRvY3VtZW50TG9hZFByb2dyZXNzLnN1YnNjcmliZSh2ID0+IHRoaXMub25Eb2N1bWVudExvYWRQcm9ncmVzcyh2KSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLmRvY3VtZW50TG9hZGVkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRG9jdW1lbnRMb2FkZWQoKSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLmRvY3VtZW50TG9hZEZhaWxlZC5zdWJzY3JpYmUoKGVycm9yKSA9PiB0aGlzLm9uRG9jdW1lbnRMb2FkRmFpbGVkKGVycm9yKSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLm91dGxpbmVMb2FkZWQuc3Vic2NyaWJlKG91dGxpbmUgPT4gdGhpcy5kb2N1bWVudE91dGxpbmUgPSBvdXRsaW5lKTtcbiAgICB0aGlzLnBkZldyYXBwZXIucGFnZVJlbmRlcmVkLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMudXBkYXRlUGFnZXMoZXZlbnQpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24gPSB0aGlzLnRvb2xiYXJFdmVudHMucHJpbnRTdWJqZWN0XG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJpbnRTZXJ2aWNlLnByaW50RG9jdW1lbnROYXRpdmVseSh0aGlzLnVybCkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLmRvd25sb2FkU3ViamVjdC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMucGRmV3JhcHBlci5kb3dubG9hZEZpbGUodGhpcy5kb3dubG9hZFVybCB8fCB0aGlzLnVybCwgdGhpcy5kb3dubG9hZEZpbGVOYW1lKVxuICAgICkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnJvdGF0ZVN1YmplY3Quc3Vic2NyaWJlKHJvdGF0ZSA9PiB0aGlzLnJvdGF0ZURvY3VtZW50KHJvdGF0ZSkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy56b29tU3ViamVjdC5zdWJzY3JpYmUoem9vbSA9PiB0aGlzLnNldFpvb20oem9vbSkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5zdGVwWm9vbVN1YmplY3Quc3Vic2NyaWJlKHpvb20gPT4gdGhpcy5zdGVwWm9vbSh6b29tKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaFN1YmplY3Quc3Vic2NyaWJlKHNlYXJjaCA9PiB0aGlzLnBkZldyYXBwZXIuc2VhcmNoKHNlYXJjaCkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNldEN1cnJlbnRQYWdlU3ViamVjdC5zdWJzY3JpYmUocGFnZU51bWJlciA9PiB0aGlzLnBkZldyYXBwZXIuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuY2hhbmdlUGFnZUJ5RGVsdGFTdWJqZWN0LnN1YnNjcmliZShwYWdlTnVtYmVyID0+IHRoaXMucGRmV3JhcHBlci5jaGFuZ2VQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpKVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuZ3JhYk5EcmFnLnN1YnNjcmliZShncmFiTkRyYWcgPT4gdGhpcy5lbmFibGVHcmFiTkRyYWcgPSBncmFiTkRyYWcpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5jb21tZW50c1BhbmVsVmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHtcbiAgICAgICAgdGhpcy5zaG93Q29tbWVudHNQYW5lbCA9IHRvZ2dsZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudmlld2VyRXZlbnRzLm5hdmlnYXRpb25FdmVudC5zdWJzY3JpYmUoZGVzdCA9PiB0aGlzLmdvVG9EZXN0aW5hdGlvbihkZXN0KSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuaWNwLnBhcnRpY2lwYW50c0xpc3RWaXNpYmxlLnN1YnNjcmliZSh0b2dnbGUgPT4gdGhpcy5zaG93SWNwUGFydGljaXBhbnRzTGlzdCA9IHRvZ2dsZSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy5wZGZXcmFwcGVyLnBvc2l0aW9uVXBkYXRlZC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUodGhyb3R0bGVUaW1lKDUwMCwgYXN5bmNTY2hlZHVsZXIsIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IHRydWUgfSkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFBkZlBvc2l0aW9uVXBkYXRlKGV2ZW50LmxvY2F0aW9uKSkpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIXRoaXMucGRmV3JhcHBlcikge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyID0gdGhpcy5wZGZKc1dyYXBwZXJGYWN0b3J5LmNyZWF0ZSh0aGlzLnZpZXdlckNvbnRhaW5lcik7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnVybCAmJiB0aGlzLnBkZldyYXBwZXIpIHtcbiAgICAgIGF3YWl0IHRoaXMubG9hZERvY3VtZW50KCk7XG4gICAgICBpZiAodGhpcy5lbmFibGVSZWRhY3Rpb25zKSB7XG4gICAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25Nb2RlLnBpcGUoZmlsdGVyKHZhbHVlID0+ICEhdmFsdWUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldFJvdGF0aW9uKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5jYXNlSWQpIHtcbiAgICAgIHRoaXMuaWNwU3RvcmUuZGlzcGF0Y2gobmV3IFNldENhc2VJZCh0aGlzLmNhc2VJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0Um90YXRpb24oKSB7XG4gICAgaWYgKHRoaXMuaGFzRGlmZmVyZW50UGFnZVNpemUpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5yZXNldFJvdGF0aW9uKDApO1xuICAgICAgdGhpcy5yb3RhdGlvbiA9IDA7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWREb2N1bWVudCgpIHtcbiAgICB0aGlzLmluaXREb2N1bWVudFByb2dyZXNzKCk7XG4gICAgYXdhaXQgdGhpcy5wZGZXcmFwcGVyLmxvYWREb2N1bWVudCh0aGlzLnVybCk7XG4gICAgdGhpcy5kb2N1bWVudFRpdGxlLmVtaXQodGhpcy5wZGZXcmFwcGVyLmdldEN1cnJlbnRQREZUaXRsZSgpKTtcbiAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHNTZWxlY3Rvci5nZXRQYWdlRGlmZmVyZW5jZSkpXG4gICAgICAuc3Vic2NyaWJlKGhhc0RpZmZlcmVudFBhZ2VTaWUgPT4gdGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSA9IGhhc0RpZmZlcmVudFBhZ2VTaWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudExvYWRQcm9ncmVzcyhwcm9ncmVzczogRG9jdW1lbnRMb2FkUHJvZ3Jlc3MpIHtcbiAgICBpZiAocHJvZ3Jlc3MudG90YWwpIHtcbiAgICAgIHRoaXMubG9hZGluZ0RvY3VtZW50UHJvZ3Jlc3MgPSBNYXRoLm1pbigxMDAsIE1hdGguY2VpbChwcm9ncmVzcy5sb2FkZWQgLyBwcm9ncmVzcy50b3RhbCAqIDEwMCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudExvYWRlZCgpIHtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLlNVQ0NFU1MpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkRvY3VtZW50TG9hZEZhaWxlZChlcnJvcjogRXJyb3IpIHtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICAgIHRoaXMudmlld2VyRXhjZXB0aW9uID0gbmV3IFZpZXdlckV4Y2VwdGlvbihlcnJvci5uYW1lLCB7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgQ291bGQgbm90IGxvYWQgdGhlIGRvY3VtZW50IFwiJHt0aGlzLnVybH1cImA7XG5cbiAgICB0aGlzLm1lZGlhTG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5GQUlMVVJFKTtcbiAgICB0aGlzLnBkZlZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUGFnZXMoZXZlbnQ6IFBhZ2VFdmVudFtdKSB7XG4gICAgaWYgKHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudEFjdGlvbnMuQWRkUGFnZXMoZXZlbnQpKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2VhcmNoQmFySGlkZGVuKGhpZGRlbjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLnBkZldyYXBwZXIgJiYgaGlkZGVuKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIuY2xlYXJTZWFyY2goKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDb21tZW50c1N1bW1hcnkoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzU3VtbWFyeSghdGhpcy50b29sYmFyRXZlbnRzLnNob3dDb21tZW50U3VtbWFyeS5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcm90YXRlRG9jdW1lbnQocm90YXRpb246IG51bWJlcikge1xuICAgIGNvbnN0IHBhZ2VOdW1iZXIgPSB0aGlzLnBkZldyYXBwZXIuZ2V0UGFnZU51bWJlcigpO1xuICAgIHRoaXMucGRmV3JhcHBlci5yb3RhdGUocm90YXRpb24pO1xuICAgIHRoaXMucGRmV3JhcHBlci5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuICAgIHRoaXMucm90YXRpb24gPSAodGhpcy5yb3RhdGlvbiArIHJvdGF0aW9uKSAlIDM2MDtcblxuICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdERvY3VtZW50UHJvZ3Jlc3MoKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSB0cnVlO1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50UHJvZ3Jlc3MgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Wm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIuc2V0Wm9vbSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuem9vbSA9IHRoaXMuY2FsY3VsYXRlWm9vbVZhbHVlKHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RlcFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLnN0ZXBab29tKHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy56b29tID0gdGhpcy5jYWxjdWxhdGVab29tVmFsdWUodGhpcy56b29tLCB6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgICB9XG4gIH1cblxuICBzZXRQYWdlSGVpZ2h0cygpIHtcbiAgICB0aGlzLnBhZ2VIZWlnaHRzID0gW107XG4gICAgY29uc3QgcGRmVmlld2VyQ2hpbGRyZW4gPSB0aGlzLnBkZlZpZXdlci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGRmVmlld2VyQ2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMucGFnZUhlaWdodHMucHVzaChwZGZWaWV3ZXJDaGlsZHJlbltpXS5jbGllbnRIZWlnaHQpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tVmFsdWUsIGluY3JlbWVudCA9IDApIHtcbiAgICBjb25zdCBuZXdab29tVmFsdWUgPSB6b29tVmFsdWUgKyBpbmNyZW1lbnQ7XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA+IDUpIHtcbiAgICAgIHJldHVybiA1O1xuICAgIH1cbiAgICBpZiAobmV3Wm9vbVZhbHVlIDwgMC4xKSB7XG4gICAgICByZXR1cm4gMC4xO1xuICAgIH1cbiAgICByZXR1cm4gK25ld1pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueVtdKSB7XG4gICAgdGhpcy5wZGZXcmFwcGVyLm5hdmlnYXRlVG8oZGVzdGluYXRpb24pO1xuICB9XG5cbiAgZ2V0Q3VycmVudFBhZ2VOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wZGZXcmFwcGVyLmdldFBhZ2VOdW1iZXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { select, Store } from '@ngrx/store';
|
|
3
|
-
import {
|
|
3
|
+
import { TreeComponent } from '@circlon/angular-tree-component';
|
|
4
|
+
import { CreateBookmark, DeleteBookmark, MoveBookmark, UpdateBookmark } from '../../../../store/actions/bookmark.actions';
|
|
4
5
|
import * as bookmarksSelectors from '../../../../store/selectors/bookmark.selectors';
|
|
5
6
|
import * as fromDocument from '../../../../store/selectors/document.selectors';
|
|
6
7
|
import { getBookmarkChildren } from '../../../../store/bookmarks-store-utils';
|
|
8
|
+
import { take } from 'rxjs/operators';
|
|
9
|
+
import uuid from 'uuid';
|
|
7
10
|
export class BookmarksComponent {
|
|
8
11
|
constructor(store) {
|
|
9
12
|
this.store = store;
|
|
@@ -14,8 +17,11 @@ export class BookmarksComponent {
|
|
|
14
17
|
allowDrag: true,
|
|
15
18
|
allowDrop: true
|
|
16
19
|
};
|
|
20
|
+
this._customSort = 'CUSTOM';
|
|
21
|
+
this._positionSort = 'POSITION';
|
|
17
22
|
}
|
|
18
23
|
ngOnInit() {
|
|
24
|
+
this.sortMode = this.customSort;
|
|
19
25
|
this.$subscription = this.store.pipe(select(bookmarksSelectors.getEditableBookmark))
|
|
20
26
|
.subscribe(editableId => this.editableBookmark = editableId);
|
|
21
27
|
this.$subscription.add(this.store.select(fromDocument.getPages)
|
|
@@ -25,12 +31,23 @@ export class BookmarksComponent {
|
|
|
25
31
|
});
|
|
26
32
|
}));
|
|
27
33
|
}
|
|
34
|
+
ngOnChanges(changes) {
|
|
35
|
+
if (changes.bookmarkNodes && this.sortMode !== this.customSort) {
|
|
36
|
+
this.sortBookmarks();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
28
39
|
ngOnDestroy() {
|
|
29
40
|
this.$subscription.unsubscribe();
|
|
30
41
|
}
|
|
31
42
|
editBookmark(id) {
|
|
32
43
|
this.editableBookmark = id;
|
|
33
44
|
}
|
|
45
|
+
onAddBookmarkClick() {
|
|
46
|
+
this.store.pipe(select(bookmarksSelectors.getBookmarkInfo), take(1))
|
|
47
|
+
.subscribe((bookmarkInfo) => {
|
|
48
|
+
this.store.dispatch(new CreateBookmark(Object.assign(Object.assign({}, bookmarkInfo), { name: '', id: uuid() })));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
34
51
|
onBookmarkMove({ node, from, to }) {
|
|
35
52
|
let movedBookmarks = [Object.assign(Object.assign({}, node), { previous: to.index > 0 ? to.parent.children[to.index - 1].id : undefined, parent: to.parent.documentId ? to.parent.id : undefined })];
|
|
36
53
|
let fromNext = this.getSibling(from, from.index);
|
|
@@ -45,7 +62,12 @@ export class BookmarksComponent {
|
|
|
45
62
|
this.store.dispatch(new MoveBookmark(movedBookmarks));
|
|
46
63
|
}
|
|
47
64
|
deleteBookmark(node) {
|
|
65
|
+
this.customSortBookmarks();
|
|
48
66
|
let next;
|
|
67
|
+
node = this.tree.treeModel.getNodeById(node.id);
|
|
68
|
+
if (!node.parent) {
|
|
69
|
+
node.parent = this.tree.treeModel.virtualRoot;
|
|
70
|
+
}
|
|
49
71
|
const siblings = node.parent.children;
|
|
50
72
|
if (siblings.length > node.index + 1) {
|
|
51
73
|
next = siblings[node.index + 1].data;
|
|
@@ -87,6 +109,48 @@ export class BookmarksComponent {
|
|
|
87
109
|
top
|
|
88
110
|
]);
|
|
89
111
|
}
|
|
112
|
+
get customSort() {
|
|
113
|
+
return this._customSort;
|
|
114
|
+
}
|
|
115
|
+
get positionSort() {
|
|
116
|
+
return this._positionSort;
|
|
117
|
+
}
|
|
118
|
+
sort(mode) {
|
|
119
|
+
this.sortMode = mode;
|
|
120
|
+
this.sortBookmarks();
|
|
121
|
+
}
|
|
122
|
+
sortBookmarks() {
|
|
123
|
+
switch (this.sortMode) {
|
|
124
|
+
case this.customSort: {
|
|
125
|
+
this.customSortBookmarks();
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case this.positionSort: {
|
|
129
|
+
this.positionSortBookmarks();
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
default: {
|
|
133
|
+
this.customSortBookmarks();
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
positionSortBookmarks() {
|
|
139
|
+
this.bookmarkNodes.sort((a, b) => a.pageNumber === b.pageNumber ? a.yCoordinate - b.yCoordinate : a.pageNumber - b.pageNumber);
|
|
140
|
+
this.tree.treeModel.update();
|
|
141
|
+
this.setDragNDrop(false);
|
|
142
|
+
}
|
|
143
|
+
customSortBookmarks() {
|
|
144
|
+
this.bookmarkNodes.sort((a, b) => a.index - b.index);
|
|
145
|
+
this.tree.treeModel.update();
|
|
146
|
+
this.setDragNDrop(true);
|
|
147
|
+
}
|
|
148
|
+
setDragNDrop(enabled) {
|
|
149
|
+
this.options = {
|
|
150
|
+
allowDrag: enabled,
|
|
151
|
+
allowDrop: enabled
|
|
152
|
+
};
|
|
153
|
+
}
|
|
90
154
|
getSibling(node, index) {
|
|
91
155
|
return node.parent.children.length > index ? node.parent.children[index] : undefined;
|
|
92
156
|
}
|
|
@@ -98,7 +162,7 @@ export class BookmarksComponent {
|
|
|
98
162
|
BookmarksComponent.decorators = [
|
|
99
163
|
{ type: Component, args: [{
|
|
100
164
|
selector: 'mv-bookmarks',
|
|
101
|
-
template: "<tree-root [nodes]=\"bookmarkNodes\"
|
|
165
|
+
template: "<a *ngIf=\"bookmarkNodes?.length === 0\" class=\"highlightedOutlineItem\">No bookmarks created yet</a>\n<tree-root [nodes]=\"bookmarkNodes\" class=\"bookmarks-tree\" [options]=\"options\" (moveNode)=\"onBookmarkMove($event)\">\n <ng-template #treeNodeTemplate let-node let-index=\"index\">\n <div class=\"outlineItem\" *ngIf=\"node.data.id !== editableBookmark; else inputBookmark\">\n <a (click)=\"goToBookmark(node.data)\">\n {{ node.data.name }}\n </a>\n <button class=\"bookmark__rename\" (click)=\"editBookmark(node.data.id)\"></button>\n <button class=\"bookmark__delete\" (click)=\"deleteBookmark(node)\"></button>\n </div>\n <ng-template #inputBookmark>\n <input #bookmarkName class=\"bookmark__input\" [value]=\"node.data.name\" [maxLength]=\"BOOKMARK_CHAR_LIMIT\">\n <button class=\"bookmark__save\" (click)=\"updateBookmark(node.data, bookmarkName.value)\"></button>\n </ng-template>\n </ng-template>\n</tree-root>\n"
|
|
102
166
|
},] }
|
|
103
167
|
];
|
|
104
168
|
/** @nocollapse */
|
|
@@ -109,6 +173,7 @@ BookmarksComponent.propDecorators = {
|
|
|
109
173
|
bookmarkNodes: [{ type: Input }],
|
|
110
174
|
zoom: [{ type: Input }],
|
|
111
175
|
rotate: [{ type: Input }],
|
|
112
|
-
goToDestination: [{ type: Output }]
|
|
176
|
+
goToDestination: [{ type: Output }],
|
|
177
|
+
tree: [{ type: ViewChild, args: [TreeComponent,] }]
|
|
113
178
|
};
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUk1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUUxRyxPQUFPLEtBQUssa0JBQWtCLE1BQU0sZ0RBQWdELENBQUM7QUFHckYsT0FBTyxLQUFLLFlBQVksTUFBTSxnREFBZ0QsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU05RSxNQUFNLE9BQU8sa0JBQWtCO0lBa0I3QixZQUFvQixLQUErRDtRQUEvRCxVQUFLLEdBQUwsS0FBSyxDQUEwRDtRQWJ6RSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFFdEQsZUFBVSxHQUF3QyxFQUFFLENBQUM7UUFFckQsd0JBQW1CLEdBQUcsRUFBRSxDQUFDO1FBRXpCLFlBQU8sR0FBRztZQUNSLFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQztJQUlxRixDQUFDO0lBRXhGLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ2pGLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFD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SSxHQUFHLGFBQWEsQ0FBQztnQkFDckIsTUFBTTtZQUNSO2dCQUNFLEdBQUcsR0FBRyxhQUFhLENBQUM7U0FDdkI7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixRQUFRLENBQUMsVUFBVTtZQUNuQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDakIsSUFBSTtZQUNKLEdBQUc7U0FDSixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RixDQUFDO0lBRU8sT0FBTyxDQUFDLFdBQW1CLEVBQUUsTUFBYyxFQUFFLElBQW1CO1FBQ3RFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyRCxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUM5RCxDQUFDOzs7WUF6SEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4Qiw0L0JBQXlDO2FBQzFDOzs7O1lBaEJnQixLQUFLOzs7NEJBbUJuQixLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSzs4QkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBEZWxldGVCb29rbWFyaywgTW92ZUJvb2ttYXJrLCBVcGRhdGVCb29rbWFyayB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYm9va21hcmsuYWN0aW9ucyc7XG5pbXBvcnQgeyBCb29rbWFyaywgQm9va21hcmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvbW9kZWxzL2Jvb2ttYXJrcy5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgYm9va21hcmtzU2VsZWN0b3JzIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9ib29rbWFyay5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvYW5ub3RhdGlvbnMucmVkdWNlcic7XG5pbXBvcnQgeyBEb2N1bWVudFBhZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvcmVkdWNlcnMvZG9jdW1lbnQucmVkdWNlcic7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnQgZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tQm9va21hcmtzIGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2Jvb2ttYXJrcy5yZWR1Y2VyJztcbmltcG9ydCB7IGdldEJvb2ttYXJrQ2hpbGRyZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9ib29rbWFya3Mtc3RvcmUtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1ib29rbWFya3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYm9va21hcmtzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCb29rbWFya3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgYm9va21hcmtOb2RlczogQm9va21hcmtOb2RlW107XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBnb1RvRGVzdGluYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIHBhZ2VMb29rdXA6IHsgW3BhZ2VJZDogbnVtYmVyXTogRG9jdW1lbnRQYWdlcyB9ID0ge307XG4gIGVkaXRhYmxlQm9va21hcms6IHN0cmluZztcbiAgQk9PS01BUktfQ0hBUl9MSU1JVCA9IDMwO1xuXG4gIG9wdGlvbnMgPSB7XG4gICAgYWxsb3dEcmFnOiB0cnVlLFxuICAgIGFsbG93RHJvcDogdHJ1ZVxuICB9O1xuXG4gICRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tQm9va21hcmtzLkJvb2ttYXJrc1N0YXRlIHwgQW5ub3RhdGlvblNldFN0YXRlPikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChib29rbWFya3NTZWxlY3RvcnMuZ2V0RWRpdGFibGVCb29rbWFyaykpXG4gICAgICAuc3Vic2NyaWJlKGVkaXRhYmxlSWQgPT4gdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gZWRpdGFibGVJZCk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0UGFnZXMpXG4gICAgICAuc3Vic2NyaWJlKHBhZ2VzID0+IHtcblxuICAgICAgICBPYmplY3Qua2V5cyhwYWdlcykubWFwKGtleSA9PiB7XG4gICAgICAgICAgdGhpcy5wYWdlTG9va3VwW2tleV0gPSBwYWdlc1trZXldO1xuICAgICAgICB9KTtcblxuICAgICAgfSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBlZGl0Qm9va21hcmsoaWQpIHtcbiAgICB0aGlzLmVkaXRhYmxlQm9va21hcmsgPSBpZDtcbiAgfVxuXG4gIG9uQm9va21hcmtNb3ZlKHsgbm9kZSwgZnJvbSwgdG8gfTogYW55KSB7XG4gICAgbGV0IG1vdmVkQm9va21hcmtzID0gW3tcbiAgICAgIC4uLm5vZGUsXG4gICAgICBwcmV2aW91czogdG8uaW5kZXggPiAwID8gdG8ucGFyZW50LmNoaWxkcmVuW3RvLmluZGV4IC0gMV0uaWQgOiB1bmRlZmluZWQsXG4gICAgICBwYXJlbnQ6IHRvLnBhcmVudC5kb2N1bWVudElkID8gdG8ucGFyZW50LmlkIDogdW5kZWZpbmVkXG4gICAgfV07XG4gICAgbGV0IGZyb21OZXh0ID0gdGhpcy5nZXRTaWJsaW5nKGZyb20sIGZyb20uaW5kZXgpO1xuICAgIGZyb21OZXh0ID0gZnJvbU5leHQgJiYgZnJvbU5leHQuaWQgPT09IG5vZGUucHJldmlvdXMgPyB0aGlzLmdldFNpYmxpbmcoZnJvbSwgZnJvbS5pbmRleCArIDEpIDogZnJvbU5leHQ7XG4gICAgaWYgKGZyb21OZXh0KSB7XG4gICAgICBtb3ZlZEJvb2ttYXJrcyA9IFsuLi5tb3ZlZEJvb2ttYXJrcywgeyAuLi5mcm9tTmV4dCwgcHJldmlvdXM6IG5vZGUucHJldmlvdXMgfV07XG4gICAgfVxuICAgIGNvbnN0IHRvTmV4dCA9IHRoaXMuZ2V0U2libGluZyh0bywgdG8uaW5kZXggKyAxKTtcbiAgICBpZiAodG9OZXh0KSB7XG4gICAgICBtb3ZlZEJvb2ttYXJrcyA9IFsuLi5tb3ZlZEJvb2ttYXJrcywgeyAuLi50b05leHQsIHByZXZpb3VzOiBub2RlLmlkIH1dO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBNb3ZlQm9va21hcmsobW92ZWRCb29rbWFya3MpKTtcbiAgfVxuXG4gIGRlbGV0ZUJvb2ttYXJrKG5vZGU6IFRyZWVOb2RlKSB7XG4gICAgbGV0IG5leHQ6IEJvb2ttYXJrO1xuICAgIGNvbnN0IHNpYmxpbmdzID0gbm9kZS5wYXJlbnQuY2hpbGRyZW47XG4gICAgaWYgKHNpYmxpbmdzLmxlbmd0aCA+IG5vZGUuaW5kZXggKyAxKSB7XG4gICAgICBuZXh0ID0gc2libGluZ3Nbbm9kZS5pbmRleCArIDFdLmRhdGE7XG4gICAgICBuZXh0LnByZXZpb3VzID0gbm9kZS5kYXRhLnByZXZpb3VzO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVCb29rbWFyayh7XG4gICAgICBkZWxldGVkOiBbbm9kZS5kYXRhLmlkLCAuLi5nZXRCb29rbWFya0NoaWxkcmVuKG5vZGUuZGF0YS5jaGlsZHJlbildLCB1cGRhdGVkOiBuZXh0XG4gICAgfSkpO1xuICB9XG5cbiAgdXBkYXRlQm9va21hcmsoYm9va21hcms6IEJvb2ttYXJrLCBuYW1lKSB7XG4gICAgY29uc3QgZWRpdGVkQm9va21hcmsgPSB7XG4gICAgICAuLi5ib29rbWFyayxcbiAgICAgIG5hbWVcbiAgICB9O1xuICAgIGlmIChuYW1lKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVCb29rbWFyayhlZGl0ZWRCb29rbWFyaykpO1xuICAgICAgdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGdvVG9Cb29rbWFyayhib29rbWFyazogQm9va21hcmspIHtcbiAgICBjb25zdCB0aGlzUGFnZSA9IHRoaXMucGFnZUxvb2t1cFtib29rbWFyay5wYWdlTnVtYmVyICsgMV07XG4gICAgY29uc3QgZGVmYXVsdEhlaWdodCA9IHRoaXNQYWdlLnN0eWxlcy5oZWlnaHQ7XG4gICAgY29uc3QgZGVmYXVsdFNjYWxlWSA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgZGVmYXVsdEhlaWdodCwgdGhpc1BhZ2UpO1xuXG4gICAgbGV0IHRvcCA9IDAsIGxlZnQgPSAwO1xuICAgIHN3aXRjaCAodGhpcy5yb3RhdGUpIHtcbiAgICAgIGNhc2UgOTA6XG4gICAgICAgIGxlZnQgPSAtIGRlZmF1bHRTY2FsZVk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxODA6XG4gICAgICAgIHRvcCA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgKGRlZmF1bHRIZWlnaHQgLSAoMjQgKiB0aGlzLnpvb20pKSwgdGhpc1BhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICBsZWZ0ID0gZGVmYXVsdFNjYWxlWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0b3AgPSBkZWZhdWx0U2NhbGVZO1xuICAgIH1cblxuICAgIHRoaXMuZ29Ub0Rlc3RpbmF0aW9uLmVtaXQoW1xuICAgICAgYm9va21hcmsucGFnZU51bWJlcixcbiAgICAgIHsgJ25hbWUnOiAnWFlaJyB9LFxuICAgICAgbGVmdCxcbiAgICAgIHRvcFxuICAgIF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaWJsaW5nKG5vZGUsIGluZGV4KSB7XG4gICAgcmV0dXJuIG5vZGUucGFyZW50LmNoaWxkcmVuLmxlbmd0aCA+IGluZGV4ID8gbm9kZS5wYXJlbnQuY2hpbGRyZW5baW5kZXhdIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBzY2FsZWRZKHlDb29yZGluYXRlOiBudW1iZXIsIGhlaWdodDogbnVtYmVyLCBwYWdlOiBEb2N1bWVudFBhZ2VzKTogbnVtYmVyIHtcbiAgICBjb25zdCB2aWV3cG9ydFNjYWxlID0gcGFnZS52aWV3cG9ydFNjYWxlIC8gdGhpcy56b29tO1xuICAgIHJldHVybiAoKGhlaWdodCAvIHRoaXMuem9vbSkgLSB5Q29vcmRpbmF0ZSkgLyB2aWV3cG9ydFNjYWxlO1xuICB9XG59XG4iXX0=
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQVksTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFMUgsT0FBTyxLQUFLLGtCQUFrQixNQUFNLGdEQUFnRCxDQUFDO0FBR3JGLE9BQU8sS0FBSyxZQUFZLE1BQU0sZ0RBQWdELENBQUM7QUFFL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQU14QixNQUFNLE9BQU8sa0JBQWtCO0lBMEI3QixZQUFvQixLQUErRDtRQUEvRCxVQUFLLEdBQUwsS0FBSyxDQUEwRDtRQXJCekUsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBRXRELGVBQVUsR0FBd0MsRUFBRSxDQUFDO1FBRXJELHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUV6QixZQUFPLEdBQUc7WUFDUixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUM7UUFTZSxnQkFBVyxHQUFHLFFBQVEsQ0FBQztRQUN2QixrQkFBYSxHQUFHLFVBQVUsQ0FBQztJQUUyQyxDQUFDO0lBRXhGLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUNqRixTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQzthQUM1RCxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFFakIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUwsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM5RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFFO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakUsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxjQUFjLENBQUMsZ0NBQ2xDLFlBQVksS0FBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FDL0IsQ0FBQyxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBTztRQUNwQyxJQUFJLGNBQWMsR0FBRyxpQ0FDaEIsSUFBSSxLQUNQLFFBQVEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDeEUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUN2RCxDQUFDO1FBQ0gsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELFFBQVEsR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDeEcsSUFBSSxRQUFRLEVBQUU7WUFDWixjQUFjLEdBQUcsQ0FBQyxHQUFHLGNBQWMsa0NBQU8sUUFBUSxLQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFHLENBQUM7U0FDaEY7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pELElBQUksTUFBTSxFQUFFO1lBQ1YsY0FBYyxHQUFHLENBQUMsR0FBRyxjQUFjLGtDQUFPLE1BQU0sS0FBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBRyxDQUFDO1NBQ3hFO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFjLENBQUM7UUFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7U0FDL0M7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUN0QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxjQUFjLENBQUM7WUFDckMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUk7U0FDbkYsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQWtCLEVBQUUsSUFBSTtRQUNyQyxNQUFNLGNBQWMsbUNBQ2YsUUFBUSxLQUNYLElBQUksR0FDTCxDQUFDO1FBQ0YsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWtCO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM3QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRWxGLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxHQUFHLENBQUUsYUFBYSxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZGLE1BQU07WUFDUixLQUFLLEdBQUc7Z0JBQ04sSUFBSSxHQUFHLGFBQWEsQ0FBQztnQkFDckIsTUFBTTtZQUNSO2dCQUNFLEdBQUcsR0FBRyxhQUFhLENBQUM7U0FDdkI7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixRQUFRLENBQUMsVUFBVTtZQUNuQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDakIsSUFBSTtZQUNKLEdBQUc7U0FDSixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFZO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ25CLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNyQixLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzNCLE1BQU07YUFDUjtZQUNELEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDNUIsTUFBTTthQUNSO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQzNCLE1BQU07YUFDUjtTQUNIO0lBQ0YsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvSCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTyxZQUFZLENBQUMsT0FBZ0I7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFNBQVMsRUFBRSxPQUFPO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBR08sVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN2RixDQUFDO0lBRU8sT0FBTyxDQUFDLFdBQW1CLEVBQUUsTUFBYyxFQUFFLElBQW1CO1FBQ3RFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyRCxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUM5RCxDQUFDOzs7WUF4TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4Qiw4OUJBQXlDO2FBQzFDOzs7O1lBbEJnQixLQUFLOzs7NEJBcUJuQixLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSzs4QkFDTCxNQUFNO21CQWFOLFNBQVMsU0FBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyZWVDb21wb25lbnQsIFRyZWVOb2RlIH0gZnJvbSAnQGNpcmNsb24vYW5ndWxhci10cmVlLWNvbXBvbmVudCc7XG5cbmltcG9ydCB7IENyZWF0ZUJvb2ttYXJrLCBEZWxldGVCb29rbWFyaywgTW92ZUJvb2ttYXJrLCBVcGRhdGVCb29rbWFyayB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FjdGlvbnMvYm9va21hcmsuYWN0aW9ucyc7XG5pbXBvcnQgeyBCb29rbWFyayB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL21vZGVscy9ib29rbWFya3MuaW50ZXJmYWNlJztcbmltcG9ydCAqIGFzIGJvb2ttYXJrc1NlbGVjdG9ycyBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9zZWxlY3RvcnMvYm9va21hcmsuc2VsZWN0b3JzJztcbmltcG9ydCB7IEFubm90YXRpb25TZXRTdGF0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2Fubm90YXRpb25zLnJlZHVjZXInO1xuaW1wb3J0IHsgRG9jdW1lbnRQYWdlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXInO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0ICogYXMgZnJvbUJvb2ttYXJrcyBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlcic7XG5pbXBvcnQgeyBnZXRCb29rbWFya0NoaWxkcmVuIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvYm9va21hcmtzLXN0b3JlLXV0aWxzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdXVpZCBmcm9tICd1dWlkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtYm9va21hcmtzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb2ttYXJrcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQm9va21hcmtzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGJvb2ttYXJrTm9kZXM6IEJvb2ttYXJrW107XG4gIEBJbnB1dCgpIHpvb206IG51bWJlcjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBnb1RvRGVzdGluYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuXG4gIHBhZ2VMb29rdXA6IHsgW3BhZ2VJZDogbnVtYmVyXTogRG9jdW1lbnRQYWdlcyB9ID0ge307XG4gIGVkaXRhYmxlQm9va21hcms6IHN0cmluZztcbiAgQk9PS01BUktfQ0hBUl9MSU1JVCA9IDMwO1xuXG4gIG9wdGlvbnMgPSB7XG4gICAgYWxsb3dEcmFnOiB0cnVlLFxuICAgIGFsbG93RHJvcDogdHJ1ZVxuICB9O1xuXG4gICRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBAVmlld0NoaWxkKFRyZWVDb21wb25lbnQpXG4gIHRyZWU6IFRyZWVDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBzb3J0TW9kZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1c3RvbVNvcnQgPSAnQ1VTVE9NJztcbiAgcHJpdmF0ZSByZWFkb25seSBfcG9zaXRpb25Tb3J0ID0gJ1BPU0lUSU9OJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tQm9va21hcmtzLkJvb2ttYXJrc1N0YXRlIHwgQW5ub3RhdGlvblNldFN0YXRlPikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0TW9kZSA9IHRoaXMuY3VzdG9tU29ydDtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24gPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGJvb2ttYXJrc1NlbGVjdG9ycy5nZXRFZGl0YWJsZUJvb2ttYXJrKSlcbiAgICAgIC5zdWJzY3JpYmUoZWRpdGFibGVJZCA9PiB0aGlzLmVkaXRhYmxlQm9va21hcmsgPSBlZGl0YWJsZUlkKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMuc3RvcmUuc2VsZWN0KGZyb21Eb2N1bWVudC5nZXRQYWdlcylcbiAgICAgIC5zdWJzY3JpYmUocGFnZXMgPT4ge1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHBhZ2VzKS5tYXAoa2V5ID0+IHtcbiAgICAgICAgICB0aGlzLnBhZ2VMb29rdXBba2V5XSA9IHBhZ2VzW2tleV07XG4gICAgICAgIH0pO1xuXG4gICAgICB9KSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYm9va21hcmtOb2RlcyAmJiB0aGlzLnNvcnRNb2RlICE9PSB0aGlzLmN1c3RvbVNvcnQpIHtcbiAgICAgIHRoaXMuc29ydEJvb2ttYXJrcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZWRpdEJvb2ttYXJrKGlkKSB7XG4gICAgdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gaWQ7XG4gIH1cblxuICBvbkFkZEJvb2ttYXJrQ2xpY2soKSB7XG4gICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChib29rbWFya3NTZWxlY3RvcnMuZ2V0Qm9va21hcmtJbmZvKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGJvb2ttYXJrSW5mbykgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBDcmVhdGVCb29rbWFyayh7XG4gICAgICAgICAgLi4uYm9va21hcmtJbmZvLCBuYW1lOiAnJywgaWQ6IHV1aWQoKVxuICAgICAgICB9IGFzIGFueSkpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkJvb2ttYXJrTW92ZSh7IG5vZGUsIGZyb20sIHRvIH06IGFueSkge1xuICAgIGxldCBtb3ZlZEJvb2ttYXJrcyA9IFt7XG4gICAgICAuLi5ub2RlLFxuICAgICAgcHJldmlvdXM6IHRvLmluZGV4ID4gMCA/IHRvLnBhcmVudC5jaGlsZHJlblt0by5pbmRleCAtIDFdLmlkIDogdW5kZWZpbmVkLFxuICAgICAgcGFyZW50OiB0by5wYXJlbnQuZG9jdW1lbnRJZCA/IHRvLnBhcmVudC5pZCA6IHVuZGVmaW5lZFxuICAgIH1dO1xuICAgIGxldCBmcm9tTmV4dCA9IHRoaXMuZ2V0U2libGluZyhmcm9tLCBmcm9tLmluZGV4KTtcbiAgICBmcm9tTmV4dCA9IGZyb21OZXh0ICYmIGZyb21OZXh0LmlkID09PSBub2RlLnByZXZpb3VzID8gdGhpcy5nZXRTaWJsaW5nKGZyb20sIGZyb20uaW5kZXggKyAxKSA6IGZyb21OZXh0O1xuICAgIGlmIChmcm9tTmV4dCkge1xuICAgICAgbW92ZWRCb29rbWFya3MgPSBbLi4ubW92ZWRCb29rbWFya3MsIHsgLi4uZnJvbU5leHQsIHByZXZpb3VzOiBub2RlLnByZXZpb3VzIH1dO1xuICAgIH1cbiAgICBjb25zdCB0b05leHQgPSB0aGlzLmdldFNpYmxpbmcodG8sIHRvLmluZGV4ICsgMSk7XG4gICAgaWYgKHRvTmV4dCkge1xuICAgICAgbW92ZWRCb29rbWFya3MgPSBbLi4ubW92ZWRCb29rbWFya3MsIHsgLi4udG9OZXh0LCBwcmV2aW91czogbm9kZS5pZCB9XTtcbiAgICB9XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTW92ZUJvb2ttYXJrKG1vdmVkQm9va21hcmtzKSk7XG4gIH1cblxuICBkZWxldGVCb29rbWFyayhub2RlOiBUcmVlTm9kZSkge1xuICAgIHRoaXMuY3VzdG9tU29ydEJvb2ttYXJrcygpO1xuICAgIGxldCBuZXh0OiBCb29rbWFyaztcbiAgICBub2RlID0gdGhpcy50cmVlLnRyZWVNb2RlbC5nZXROb2RlQnlJZChub2RlLmlkKTtcbiAgICBpZiAoIW5vZGUucGFyZW50KSB7XG4gICAgICBub2RlLnBhcmVudCA9IHRoaXMudHJlZS50cmVlTW9kZWwudmlydHVhbFJvb3Q7XG4gICAgfVxuICAgIGNvbnN0IHNpYmxpbmdzID0gbm9kZS5wYXJlbnQuY2hpbGRyZW47XG4gICAgaWYgKHNpYmxpbmdzLmxlbmd0aCA+IG5vZGUuaW5kZXggKyAxKSB7XG4gICAgICBuZXh0ID0gc2libGluZ3Nbbm9kZS5pbmRleCArIDFdLmRhdGE7XG4gICAgICBuZXh0LnByZXZpb3VzID0gbm9kZS5kYXRhLnByZXZpb3VzO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVCb29rbWFyayh7XG4gICAgICBkZWxldGVkOiBbbm9kZS5kYXRhLmlkLCAuLi5nZXRCb29rbWFya0NoaWxkcmVuKG5vZGUuZGF0YS5jaGlsZHJlbildLCB1cGRhdGVkOiBuZXh0XG4gICAgfSkpO1xuICB9XG5cbiAgdXBkYXRlQm9va21hcmsoYm9va21hcms6IEJvb2ttYXJrLCBuYW1lKSB7XG4gICAgY29uc3QgZWRpdGVkQm9va21hcmsgPSB7XG4gICAgICAuLi5ib29rbWFyayxcbiAgICAgIG5hbWVcbiAgICB9O1xuICAgIGlmIChuYW1lKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVCb29rbWFyayhlZGl0ZWRCb29rbWFyaykpO1xuICAgICAgdGhpcy5lZGl0YWJsZUJvb2ttYXJrID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGdvVG9Cb29rbWFyayhib29rbWFyazogQm9va21hcmspIHtcbiAgICBjb25zdCB0aGlzUGFnZSA9IHRoaXMucGFnZUxvb2t1cFtib29rbWFyay5wYWdlTnVtYmVyICsgMV07XG4gICAgY29uc3QgZGVmYXVsdEhlaWdodCA9IHRoaXNQYWdlLnN0eWxlcy5oZWlnaHQ7XG4gICAgY29uc3QgZGVmYXVsdFNjYWxlWSA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgZGVmYXVsdEhlaWdodCwgdGhpc1BhZ2UpO1xuXG4gICAgbGV0IHRvcCA9IDAsIGxlZnQgPSAwO1xuICAgIHN3aXRjaCAodGhpcy5yb3RhdGUpIHtcbiAgICAgIGNhc2UgOTA6XG4gICAgICAgIGxlZnQgPSAtIGRlZmF1bHRTY2FsZVk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxODA6XG4gICAgICAgIHRvcCA9IHRoaXMuc2NhbGVkWShib29rbWFyay55Q29vcmRpbmF0ZSwgKGRlZmF1bHRIZWlnaHQgLSAoMjQgKiB0aGlzLnpvb20pKSwgdGhpc1BhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjcwOlxuICAgICAgICBsZWZ0ID0gZGVmYXVsdFNjYWxlWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0b3AgPSBkZWZhdWx0U2NhbGVZO1xuICAgIH1cblxuICAgIHRoaXMuZ29Ub0Rlc3RpbmF0aW9uLmVtaXQoW1xuICAgICAgYm9va21hcmsucGFnZU51bWJlcixcbiAgICAgIHsgJ25hbWUnOiAnWFlaJyB9LFxuICAgICAgbGVmdCxcbiAgICAgIHRvcFxuICAgIF0pO1xuICB9XG5cbiAgZ2V0IGN1c3RvbVNvcnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1c3RvbVNvcnQ7XG4gIH1cblxuICBnZXQgcG9zaXRpb25Tb3J0KCkge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvblNvcnQ7XG4gIH1cblxuICBzb3J0KG1vZGU6IHN0cmluZykge1xuICAgIHRoaXMuc29ydE1vZGUgPSBtb2RlO1xuICAgIHRoaXMuc29ydEJvb2ttYXJrcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0Qm9va21hcmtzKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0TW9kZSkge1xuICAgICAgY2FzZSB0aGlzLmN1c3RvbVNvcnQ6IHtcbiAgICAgICAgIHRoaXMuY3VzdG9tU29ydEJvb2ttYXJrcygpO1xuICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIHRoaXMucG9zaXRpb25Tb3J0OiB7XG4gICAgICAgIHRoaXMucG9zaXRpb25Tb3J0Qm9va21hcmtzKCk7XG4gICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgIHRoaXMuY3VzdG9tU29ydEJvb2ttYXJrcygpO1xuICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICB9XG4gIH1cblxuICBwcml2YXRlIHBvc2l0aW9uU29ydEJvb2ttYXJrcygpIHtcbiAgICB0aGlzLmJvb2ttYXJrTm9kZXMuc29ydCgoYSwgYikgPT4gYS5wYWdlTnVtYmVyID09PSBiLnBhZ2VOdW1iZXIgPyBhLnlDb29yZGluYXRlIC0gYi55Q29vcmRpbmF0ZSA6IGEucGFnZU51bWJlciAtIGIucGFnZU51bWJlcik7XG4gICAgdGhpcy50cmVlLnRyZWVNb2RlbC51cGRhdGUoKTtcbiAgICB0aGlzLnNldERyYWdORHJvcChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGN1c3RvbVNvcnRCb29rbWFya3MoKSB7XG4gICAgdGhpcy5ib29rbWFya05vZGVzLnNvcnQoKGEsIGIpID0+IGEuaW5kZXggLSBiLmluZGV4KTtcbiAgICB0aGlzLnRyZWUudHJlZU1vZGVsLnVwZGF0ZSgpO1xuICAgIHRoaXMuc2V0RHJhZ05Ecm9wKHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREcmFnTkRyb3AoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgIGFsbG93RHJhZzogZW5hYmxlZCxcbiAgICAgIGFsbG93RHJvcDogZW5hYmxlZFxuICAgIH07XG4gIH1cblxuXG4gIHByaXZhdGUgZ2V0U2libGluZyhub2RlLCBpbmRleCkge1xuICAgIHJldHVybiBub2RlLnBhcmVudC5jaGlsZHJlbi5sZW5ndGggPiBpbmRleCA/IG5vZGUucGFyZW50LmNoaWxkcmVuW2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2NhbGVkWSh5Q29vcmRpbmF0ZTogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgcGFnZTogRG9jdW1lbnRQYWdlcyk6IG51bWJlciB7XG4gICAgY29uc3Qgdmlld3BvcnRTY2FsZSA9IHBhZ2Uudmlld3BvcnRTY2FsZSAvIHRoaXMuem9vbTtcbiAgICByZXR1cm4gKChoZWlnaHQgLyB0aGlzLnpvb20pIC0geUNvb3JkaW5hdGUpIC8gdmlld3BvcnRTY2FsZTtcbiAgfVxufVxuIl19
|
|
@@ -15,6 +15,9 @@ export class OutlineItemComponent {
|
|
|
15
15
|
this.showOutlineItems = !this.showOutlineItems;
|
|
16
16
|
}
|
|
17
17
|
isViewedItem(current, next) {
|
|
18
|
+
if (current.pageNumber === this.currentPageNumber) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
18
21
|
return next === undefined ? current.pageNumber <= this.currentPageNumber && this.endPage > this.currentPageNumber :
|
|
19
22
|
current.pageNumber <= this.currentPageNumber && (next.pageNumber > this.currentPageNumber);
|
|
20
23
|
}
|
|
@@ -38,4 +41,4 @@ OutlineItemComponent.propDecorators = {
|
|
|
38
41
|
endPage: [{ type: Input }],
|
|
39
42
|
navigationEvent: [{ type: Output }]
|
|
40
43
|
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0bGluZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTy9FLE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFVWSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFpQ2pELENBQUM7SUE3QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxXQUFnQjtRQUM5QixJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFnQixFQUFFLElBQWE7UUFDMUMsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pILE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWE7UUFDdkIsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEUsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUMxRSxDQUFDOzs7WUExQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDZ2Q0FBNEM7YUFDN0M7OztzQkFHRSxLQUFLO2dDQUNMLEtBQUs7K0JBQ0wsS0FBSztzQkFDTCxLQUFLOzhCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi9vdXRsaW5lLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtb3V0bGluZS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL291dGxpbmUtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT3V0bGluZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG91dGxpbmU6IE91dGxpbmU7XG4gIEBJbnB1dCgpIGN1cnJlbnRQYWdlTnVtYmVyOiBOdW1iZXI7XG4gIEBJbnB1dCgpIGlzQ3VycmVudFNlY3Rpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuZFBhZ2U6IE51bWJlcjtcbiAgQE91dHB1dCgpIG5hdmlnYXRpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzaG93T3V0bGluZUl0ZW1zOiBib29sZWFuO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hvd091dGxpbmVJdGVtcyA9IHRydWU7XG4gIH1cblxuICBnb1RvRGVzdGluYXRpb24oZGVzdGluYXRpb246IGFueSkge1xuICAgIGlmIChkZXN0aW5hdGlvbikge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uRXZlbnQuZW1pdChkZXN0aW5hdGlvbik7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlT3V0bGluZSgpIHtcbiAgICB0aGlzLnNob3dPdXRsaW5lSXRlbXMgPSAhdGhpcy5zaG93T3V0bGluZUl0ZW1zO1xuICB9XG5cbiAgaXNWaWV3ZWRJdGVtKGN1cnJlbnQ6IE91dGxpbmUsIG5leHQ6IE91dGxpbmUpOiBib29sZWFuIHtcbiAgICBpZiAoY3VycmVudC5wYWdlTnVtYmVyID09PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQgPT09IHVuZGVmaW5lZCA/IGN1cnJlbnQucGFnZU51bWJlciA8PSB0aGlzLmN1cnJlbnRQYWdlTnVtYmVyICYmIHRoaXMuZW5kUGFnZSA+IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgOlxuICAgICAgY3VycmVudC5wYWdlTnVtYmVyIDw9IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgJiYgKG5leHQucGFnZU51bWJlciA+IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIpO1xuICB9XG5cbiAgZmluZEVuZFBhZ2UobmV4dDogT3V0bGluZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5leHQgPT09IHVuZGVmaW5lZCA/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSIDogbmV4dC5wYWdlTnVtYmVyO1xuICB9XG5cbiAgc2hvd0hpZ2hsaWdodE91dGxpbmVDc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNDdXJyZW50U2VjdGlvbiA/ICdoaWdobGlnaHRlZE91dGxpbmVJdGVtJyA6ICdvdXRsaW5lSXRlbSc7XG4gIH1cbn1cbiJdfQ==
|