@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
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { Component, ElementRef, HostListener, ViewChild } from '@angular/core';
|
|
2
|
+
import { ToolbarButtonVisibilityService } from '../toolbar-button-visibility.service';
|
|
3
|
+
import { ToolbarEventService } from '../toolbar-event.service';
|
|
4
|
+
import { Store, select } from '@ngrx/store';
|
|
5
|
+
import * as fromDocument from '../../store/selectors/document.selectors';
|
|
6
|
+
import * as fromRedactionActions from '../../store/actions/redaction.actions';
|
|
7
|
+
import uuid from 'uuid';
|
|
8
|
+
import { HighlightCreateService } from '../../annotations/annotation-set/annotation-create/highlight-create/highlight-create.service';
|
|
9
|
+
export class RedactionSearchBarComponent {
|
|
10
|
+
constructor(store, toolbarButtons, toolbarEvents, highlightService) {
|
|
11
|
+
this.store = store;
|
|
12
|
+
this.toolbarButtons = toolbarButtons;
|
|
13
|
+
this.toolbarEvents = toolbarEvents;
|
|
14
|
+
this.highlightService = highlightService;
|
|
15
|
+
this.highlightAll = true;
|
|
16
|
+
this.matchCase = false;
|
|
17
|
+
this.wholeWord = false;
|
|
18
|
+
this.resultsText = '';
|
|
19
|
+
this.searchText = '';
|
|
20
|
+
this.resultCount = 0;
|
|
21
|
+
this.redactElements = [];
|
|
22
|
+
this.advancedSearchVisible = false;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.subscription = this.toolbarEvents.redactionSerachSubject.subscribe((results) => this.redactAllSearched(results));
|
|
26
|
+
this.subscription.add(this.store.pipe(select(fromDocument.getDocumentId)).subscribe(docId => this.documentId = docId));
|
|
27
|
+
this.subscription.add(this.store.pipe(select(fromDocument.getPages)).subscribe((pages) => {
|
|
28
|
+
if (pages[1]) {
|
|
29
|
+
this.allPages = pages;
|
|
30
|
+
}
|
|
31
|
+
}));
|
|
32
|
+
this.subscription.add(this.toolbarEvents.searchResultsCountSubject.subscribe(results => this.setSearchResultsCount(results)));
|
|
33
|
+
this.subscription.add(this.toolbarEvents.openRedactionSearch.subscribe(isOpen => this.openSearchModal = isOpen));
|
|
34
|
+
this.subscription.add(this.toolbarEvents.redactAllInProgressSubject
|
|
35
|
+
.subscribe(inProgress => this.redactAllInProgress = inProgress));
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this.subscription.unsubscribe();
|
|
39
|
+
}
|
|
40
|
+
onWindowKeyDown(e) {
|
|
41
|
+
if (e.code === 'F3' || (e.ctrlKey && e.code === 'KeyF')) {
|
|
42
|
+
e.preventDefault();
|
|
43
|
+
this.toolbarEvents.searchBarHidden.next(false);
|
|
44
|
+
setTimeout(() => this.findInput.nativeElement.focus(), 200);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
search(reset = true) {
|
|
48
|
+
this.redactAll = !reset;
|
|
49
|
+
if (this.redactAll) {
|
|
50
|
+
this.toolbarEvents.redactAllInProgressSubject.next(true);
|
|
51
|
+
}
|
|
52
|
+
if (reset) {
|
|
53
|
+
this.redactElements = [];
|
|
54
|
+
}
|
|
55
|
+
this.toolbarEvents.search({
|
|
56
|
+
searchTerm: this.searchText,
|
|
57
|
+
highlightAll: this.highlightAll,
|
|
58
|
+
matchCase: this.matchCase,
|
|
59
|
+
wholeWord: this.wholeWord,
|
|
60
|
+
previous: false,
|
|
61
|
+
reset
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
saveRedaction(redactRectangle) {
|
|
65
|
+
const redaction = redactRectangle.map(ele => {
|
|
66
|
+
return { page: ele.page, rectangles: ele.rectangles, redactionId: uuid(), documentId: this.documentId };
|
|
67
|
+
});
|
|
68
|
+
this.store.dispatch(new fromRedactionActions.SaveBulkRedaction({ searchRedactions: redaction }));
|
|
69
|
+
}
|
|
70
|
+
existInRedactElements(pageNumber, matechedIndex, rectangles) {
|
|
71
|
+
if (this.redactElements && this.redactElements.length > 0) {
|
|
72
|
+
const pagesFound = this.redactElements.find(re => re.page === pageNumber && re.matchedIndex === matechedIndex);
|
|
73
|
+
const pageRectangles = pagesFound === null || pagesFound === void 0 ? void 0 : pagesFound.rectangles;
|
|
74
|
+
if (!pageRectangles || pageRectangles.length <= 0) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
let matchesRectangles = 0;
|
|
78
|
+
for (let rectIndx = 0; rectIndx < pageRectangles.length; rectIndx++) {
|
|
79
|
+
const rectangle = pageRectangles[rectIndx];
|
|
80
|
+
const foundRectangle = rectangles.find(re => re.width === rectangle.width &&
|
|
81
|
+
re.height === rectangle.height && re.x === rectangle.x && re.y === rectangle.y);
|
|
82
|
+
if (foundRectangle) {
|
|
83
|
+
matchesRectangles++;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return pageRectangles.length === matchesRectangles;
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
onCloseSearchModal() {
|
|
91
|
+
this.toolbarEvents.openRedactionSearch.next(false);
|
|
92
|
+
}
|
|
93
|
+
setSearchResultsCount(results) {
|
|
94
|
+
this.resultCount = results.total;
|
|
95
|
+
this.resultsText = this.resultCount > 0
|
|
96
|
+
? `${results.total} results founds`
|
|
97
|
+
: 'No results found';
|
|
98
|
+
}
|
|
99
|
+
redactAllSearched(results) {
|
|
100
|
+
const $this = this;
|
|
101
|
+
const intervalId = setInterval(() => {
|
|
102
|
+
const highlightElement = document.getElementsByClassName('highlight selected');
|
|
103
|
+
if (highlightElement && highlightElement.length > 0) {
|
|
104
|
+
clearInterval(intervalId);
|
|
105
|
+
$this.redactAllSearchedTick(results);
|
|
106
|
+
}
|
|
107
|
+
}, 100);
|
|
108
|
+
}
|
|
109
|
+
redactAllSearchedTick(results) {
|
|
110
|
+
const highlightElement = document.getElementsByClassName('highlight selected');
|
|
111
|
+
if (highlightElement && highlightElement.length > 0) {
|
|
112
|
+
this.resultCount = results.matchesCount;
|
|
113
|
+
const pageNumber = results.page + 1;
|
|
114
|
+
const rectangles = this.getRectangles(pageNumber);
|
|
115
|
+
if (rectangles && this.redactElements.length <= this.resultCount
|
|
116
|
+
&& !this.existInRedactElements(pageNumber, results.matchedIndex, rectangles)) {
|
|
117
|
+
this.redactElements.push({ page: pageNumber, matchedIndex: results === null || results === void 0 ? void 0 : results.matchedIndex, rectangles });
|
|
118
|
+
this.CreateRedactAllText();
|
|
119
|
+
}
|
|
120
|
+
if (this.redactAll && this.resultCount && this.resultCount > 0
|
|
121
|
+
&& rectangles && this.redactElements.length < this.resultCount) {
|
|
122
|
+
this.search(false);
|
|
123
|
+
}
|
|
124
|
+
if (this.redactAll && this.resultCount && this.redactElements.length === this.resultCount) {
|
|
125
|
+
this.redactAll = false;
|
|
126
|
+
this.redactAllText = null;
|
|
127
|
+
this.saveRedaction(this.redactElements);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
CreateRedactAllText() {
|
|
132
|
+
this.redactAllText = `${this.redactElements.length} of ${this.resultCount}`;
|
|
133
|
+
}
|
|
134
|
+
onEscapeKeyPress(e) {
|
|
135
|
+
this.toolbarEvents.searchBarHidden.next(true);
|
|
136
|
+
}
|
|
137
|
+
onEnterKeyPress(e) {
|
|
138
|
+
this.search();
|
|
139
|
+
}
|
|
140
|
+
toggleSearchBar() {
|
|
141
|
+
this.toolbarEvents.searchBarHidden.next(!this.toolbarEvents.searchBarHidden.getValue());
|
|
142
|
+
}
|
|
143
|
+
getRectangles(page) {
|
|
144
|
+
this.pageHeight = this.allPages[page].styles.height;
|
|
145
|
+
this.pageWidth = this.allPages[page].styles.width;
|
|
146
|
+
this.zoom = parseFloat(this.allPages[page].scaleRotation.scale);
|
|
147
|
+
this.rotate = parseInt(this.allPages[page].scaleRotation.rotation, 10);
|
|
148
|
+
const selectedHighLightedElements = document.getElementsByClassName('highlight selected');
|
|
149
|
+
if (selectedHighLightedElements && selectedHighLightedElements.length > 0) {
|
|
150
|
+
const docRange = document.createRange();
|
|
151
|
+
docRange.selectNodeContents(selectedHighLightedElements[0]);
|
|
152
|
+
const selection = window.getSelection();
|
|
153
|
+
selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
|
|
154
|
+
selection === null || selection === void 0 ? void 0 : selection.addRange(docRange);
|
|
155
|
+
if (selection.rangeCount && !selection.isCollapsed) {
|
|
156
|
+
const range = selection.getRangeAt(0).cloneRange();
|
|
157
|
+
const clientRects = range.getClientRects();
|
|
158
|
+
if (clientRects) {
|
|
159
|
+
const parentRect = selectedHighLightedElements[0].parentElement.parentElement.getBoundingClientRect();
|
|
160
|
+
const selectionRectangles = [];
|
|
161
|
+
for (let i = 0; i < clientRects.length; i++) {
|
|
162
|
+
const selectionRectangle = this.createTextRectangle(clientRects[i], parentRect);
|
|
163
|
+
const findSelecttionRectangle = selectionRectangles.find((rect) => rect.width === selectionRectangle.width && rect.x === selectionRectangle.x);
|
|
164
|
+
if (!findSelecttionRectangle) {
|
|
165
|
+
selectionRectangles.push(selectionRectangle);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return selectionRectangles;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
createTextRectangle(rect, parentRect) {
|
|
174
|
+
const height = rect.bottom - rect.top;
|
|
175
|
+
const width = rect.right - rect.left;
|
|
176
|
+
const top = rect.top - parentRect.top;
|
|
177
|
+
const left = rect.left - parentRect.left;
|
|
178
|
+
let rectangle = this.highlightService.applyRotation(this.pageHeight, this.pageWidth, height, width, top, left, this.rotate, this.zoom);
|
|
179
|
+
rectangle = Object.assign({ id: uuid() }, rectangle);
|
|
180
|
+
return rectangle;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
RedactionSearchBarComponent.decorators = [
|
|
184
|
+
{ type: Component, args: [{
|
|
185
|
+
selector: 'mv-redaction-search-bar',
|
|
186
|
+
template: "<div\n *ngIf=\"openSearchModal\"\n class=\"searchbar redaction-search-bar govuk-!-padding-3\"\n>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full govuk-!-padding-right-0\">\n <div class=\"redaction-search-buttons-area\">\n <button\n id=\"mvCloseBtn\"\n #mvCloseBtn\n class=\"mv-button searchbar-button--close\"\n title=\"Close Search\"\n data-l10n-id=\"mvRedactBtn\"\n (click)=\"onCloseSearchModal()\"\n ></button>\n </div>\n <input\n id=\"search_input\"\n class=\"govuk-input govuk-!-width-three-quarters govuk-!-display-inline-block govuk-!-margin-top-5\"\n type=\"text\"\n aria-label=\"Find in document\"\n #findInput\n title=\"Find in document\"\n placeholder=\"Redact from search...\"\n tabindex=\"0\"\n data-l10n-id=\"search_input\"\n [(ngModel)]=\"searchText\"\n (keydown.escape)=\"onEscapeKeyPress($event)\"\n (keydown.enter)=\"onEnterKeyPress($event)\"\n />\n <div class=\"redaction-search-buttons-area\">\n <button\n id=\"mvSearchAllBtn\"\n class=\"govuk-button govuk-!-margin-bottom-0\"\n data-module=\"govuk-button\"\n (click)=\"search()\"\n [disabled]=\"redactAllInProgress\"\n >\n Search\n </button>\n <button\n id=\"mvRedactAllBtn\"\n class=\"govuk-button govuk-!-margin-left-2 govuk-!-margin-bottom-0\"\n data-module=\"govuk-button\"\n (click)=\"search(false)\"\n [disabled]=\"redactAllInProgress\"\n >\n Redact all\n </button>\n </div>\n <div\n class=\"govuk-grid-column-three-quarters govuk-!-padding-left-0 govuk-!-padding-top-2 redaction-status-text\"\n >\n <span\n id=\"findRedactResultsCount\"\n class=\"govuk-grid-column-full govuk-!-margin-right-4 govuk-!-margin-left-0 govuk-!-padding-left-0\"\n ><h4\n class=\"govuk-!-display-inline-block govuk-!-margin-top-0 govuk-!-margin-bottom-1\"\n *ngIf=\"redactAllInProgress\"\n >\n Redacting in progress\n </h4>\n {{ redactAllInProgress ? \"\" : resultsText }}</span\n >\n <span>\n <h5\n id=\"redactAllInProgressCount\"\n class=\"govuk-!-display-inline-block govuk-!-margin-top-0 govuk-!-margin-bottom-1\"\n >\n {{ redactAllInProgress ? redactAllText : \"\" }}\n </h5>\n </span>\n </div>\n </div>\n </div>\n</div>\n",
|
|
187
|
+
styles: [".redaction-search-buttons-area{display:flex;flex-direction:row;padding-top:.5rem}.redaction-search-bar{width:20rem;left:73%;top:2%}.redaction-status-text{height:2.6rem}"]
|
|
188
|
+
},] }
|
|
189
|
+
];
|
|
190
|
+
/** @nocollapse */
|
|
191
|
+
RedactionSearchBarComponent.ctorParameters = () => [
|
|
192
|
+
{ type: Store },
|
|
193
|
+
{ type: ToolbarButtonVisibilityService },
|
|
194
|
+
{ type: ToolbarEventService },
|
|
195
|
+
{ type: HighlightCreateService }
|
|
196
|
+
];
|
|
197
|
+
RedactionSearchBarComponent.propDecorators = {
|
|
198
|
+
findInput: [{ type: ViewChild, args: ['findInput', { static: true },] }],
|
|
199
|
+
onWindowKeyDown: [{ type: HostListener, args: ['window:keydown', ['$event'],] }]
|
|
200
|
+
};
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLXNlYXJjaC1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci9yZWRhY3Rpb24tc2VhcmNoLWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFrQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxLQUFLLFlBQVksTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxPQUFPLEtBQUssb0JBQW9CLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBT3RJLE1BQU0sT0FBTywyQkFBMkI7SUEwQnRDLFlBQ1UsS0FBNkIsRUFDckIsY0FBOEMsRUFDOUMsYUFBa0MsRUFDbEMsZ0JBQXdDO1FBSGhELFVBQUssR0FBTCxLQUFLLENBQXdCO1FBQ3JCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQztRQUM5QyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQTFCMUQsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FB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SCxJQUFJLEVBQ0osSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsSUFBSSxDQUNWLENBQUM7UUFDRixTQUFTLG1CQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSyxTQUFTLENBQUUsQ0FBQztRQUV6QyxPQUFPLFNBQXNCLENBQUM7SUFDaEMsQ0FBQzs7O1lBdk9GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxnbUZBQW9EOzthQUVyRDs7OztZQVpRLEtBQUs7WUFGTCw4QkFBOEI7WUFDOUIsbUJBQW1CO1lBT25CLHNCQUFzQjs7O3dCQVM1QixTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs4QkFtRHZDLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1bGtSZWRhY3Rpb24sIFJlZGFjdGlvbiB9IGZyb20gJy4vLi4vLi4vcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzQ291bnQgfSBmcm9tICcuLy4uL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZWRhY3Rpb25TZWFyY2gsIFJlZGFjdFJlY3RhbmdsZSB9IGZyb20gJy4vcmVkYWN0aW9uLXNlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi90b29sYmFyLWJ1dHRvbi12aXNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZSwgc2VsZWN0IH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCB7IFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVjdGFuZ2xlLm1vZGVsJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21SZWRhY3Rpb25BY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvcmVkYWN0aW9uLmFjdGlvbnMnO1xuaW1wb3J0IHV1aWQgZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS9oaWdobGlnaHQtY3JlYXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1yZWRhY3Rpb24tc2VhcmNoLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWRhY3Rpb24tc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZGFjdGlvbi1zZWFyY2gtYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVkYWN0aW9uU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKCdmaW5kSW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaW5kSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgaGlnaGxpZ2h0QWxsID0gdHJ1ZTtcbiAgbWF0Y2hDYXNlID0gZmFsc2U7XG4gIHdob2xlV29yZCA9IGZhbHNlO1xuICByZXN1bHRzVGV4dCA9ICcnO1xuICBzZWFyY2hUZXh0ID0gJyc7XG4gIHJlc3VsdENvdW50ID0gMDtcbiAgcmVkYWN0RWxlbWVudHM6IFJlZGFjdFJlY3RhbmdsZVtdID0gW107XG4gIHBhZ2VIZWlnaHQ6IG51bWJlcjtcbiAgcGFnZVdpZHRoOiBudW1iZXI7XG4gIHpvb206IG51bWJlcjtcbiAgcm90YXRlOiBudW1iZXI7XG4gIGFsbFBhZ2VzOiBvYmplY3Q7XG4gIHJlZGFjdEFsbDogYm9vbGVhbjtcbiAgb3BlblNlYXJjaE1vZGFsOiBib29sZWFuO1xuICByZWRhY3RBbGxJblByb2dyZXNzOiBib29sZWFuO1xuICByZWRhY3RBbGxUZXh0Pzogc3RyaW5nO1xuXG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBkb2N1bWVudElkOiBzdHJpbmc7XG4gIHB1YmxpYyBhZHZhbmNlZFNlYXJjaFZpc2libGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuU3RhdGU+LFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBoaWdobGlnaHRTZXJ2aWNlOiBIaWdobGlnaHRDcmVhdGVTZXJ2aWNlLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3Rpb25TZXJhY2hTdWJqZWN0LnN1YnNjcmliZSgocmVzdWx0czogUmVkYWN0aW9uU2VhcmNoKSA9PiB0aGlzLnJlZGFjdEFsbFNlYXJjaGVkKHJlc3VsdHMpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnQuZ2V0RG9jdW1lbnRJZCkpLnN1YnNjcmliZShkb2NJZCA9PiB0aGlzLmRvY3VtZW50SWQgPSBkb2NJZCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudC5nZXRQYWdlcykpLnN1YnNjcmliZSgocGFnZXMpID0+IHtcbiAgICAgIGlmIChwYWdlc1sxXSkge1xuICAgICAgICB0aGlzLmFsbFBhZ2VzID0gcGFnZXM7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hSZXN1bHRzQ291bnRTdWJqZWN0LnN1YnNjcmliZShyZXN1bHRzID0+IHRoaXMuc2V0U2VhcmNoUmVzdWx0c0NvdW50KHJlc3VsdHMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5vcGVuUmVkYWN0aW9uU2VhcmNoLnN1YnNjcmliZShpc09wZW4gPT4gdGhpcy5vcGVuU2VhcmNoTW9kYWwgPSBpc09wZW4pKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdEFsbEluUHJvZ3Jlc3NTdWJqZWN0XG4gICAgICAuc3Vic2NyaWJlKGluUHJvZ3Jlc3MgPT4gdGhpcy5yZWRhY3RBbGxJblByb2dyZXNzID0gaW5Qcm9ncmVzcykpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93S2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGUuY29kZSA9PT0gJ0YzJyB8fCAoZS5jdHJsS2V5ICYmIGUuY29kZSA9PT0gJ0tleUYnKSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5uZXh0KGZhbHNlKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maW5kSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpLCAyMDApO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaChyZXNldDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnJlZGFjdEFsbCA9ICFyZXNldDtcbiAgICBpZiAodGhpcy5yZWRhY3RBbGwpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZWRhY3RBbGxJblByb2dyZXNzU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH1cbiAgICBpZiAocmVzZXQpIHtcbiAgICAgIHRoaXMucmVkYWN0RWxlbWVudHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaCh7XG4gICAgICBzZWFyY2hUZXJtOiB0aGlzLnNlYXJjaFRleHQsXG4gICAgICBoaWdobGlnaHRBbGw6IHRoaXMuaGlnaGxpZ2h0QWxsLFxuICAgICAgbWF0Y2hDYXNlOiB0aGlzLm1hdGNoQ2FzZSxcbiAgICAgIHdob2xlV29yZDogdGhpcy53aG9sZVdvcmQsXG4gICAgICBwcmV2aW91czogZmFsc2UsXG4gICAgICByZXNldFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUmVkYWN0aW9uKHJlZGFjdFJlY3RhbmdsZTogUmVkYWN0UmVjdGFuZ2xlW10pIHtcbiAgICBjb25zdCByZWRhY3Rpb24gPSByZWRhY3RSZWN0YW5nbGUubWFwKGVsZSA9PiB7XG4gICAgICByZXR1cm4geyBwYWdlOiBlbGUucGFnZSwgcmVjdGFuZ2xlczogZWxlLnJlY3RhbmdsZXMsIHJlZGFjdGlvbklkOiB1dWlkKCksIGRvY3VtZW50SWQ6IHRoaXMuZG9jdW1lbnRJZCB9IGFzIFJlZGFjdGlvbjtcbiAgICB9KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tUmVkYWN0aW9uQWN0aW9ucy5TYXZlQnVsa1JlZGFjdGlvbih7IHNlYXJjaFJlZGFjdGlvbnM6IHJlZGFjdGlvbiB9IGFzIEJ1bGtSZWRhY3Rpb24pKTtcbiAgfVxuXG4gIHByaXZhdGUgZXhpc3RJblJlZGFjdEVsZW1lbnRzKHBhZ2VOdW1iZXI6IG51bWJlciwgbWF0ZWNoZWRJbmRleDogbnVtYmVyLCByZWN0YW5nbGVzOiBSZWN0YW5nbGVbXSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnJlZGFjdEVsZW1lbnRzICYmIHRoaXMucmVkYWN0RWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcGFnZXNGb3VuZCA9IHRoaXMucmVkYWN0RWxlbWVudHMuZmluZChyZSA9PiByZS5wYWdlID09PSBwYWdlTnVtYmVyICYmIHJlLm1hdGNoZWRJbmRleCA9PT0gbWF0ZWNoZWRJbmRleCk7XG4gICAgICBjb25zdCBwYWdlUmVjdGFuZ2xlcyA9IHBhZ2VzRm91bmQ/LnJlY3RhbmdsZXM7XG4gICAgICBpZiAoIXBhZ2VSZWN0YW5nbGVzIHx8IHBhZ2VSZWN0YW5nbGVzLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGxldCBtYXRjaGVzUmVjdGFuZ2xlcyA9IDA7XG4gICAgICBmb3IgKGxldCByZWN0SW5keCA9IDA7IHJlY3RJbmR4IDwgcGFnZVJlY3RhbmdsZXMubGVuZ3RoOyByZWN0SW5keCsrKSB7XG4gICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IHBhZ2VSZWN0YW5nbGVzW3JlY3RJbmR4XTtcbiAgICAgICAgY29uc3QgZm91bmRSZWN0YW5nbGUgPSByZWN0YW5nbGVzLmZpbmQocmUgPT4gcmUud2lkdGggPT09IHJlY3RhbmdsZS53aWR0aCAmJlxuICAgICAgICAgIHJlLmhlaWdodCA9PT0gcmVjdGFuZ2xlLmhlaWdodCAmJiByZS54ID09PSByZWN0YW5nbGUueCAmJiByZS55ID09PSByZWN0YW5nbGUueSk7XG4gICAgICAgIGlmIChmb3VuZFJlY3RhbmdsZSkge1xuICAgICAgICAgIG1hdGNoZXNSZWN0YW5nbGVzKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwYWdlUmVjdGFuZ2xlcy5sZW5ndGggPT09IG1hdGNoZXNSZWN0YW5nbGVzO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbkNsb3NlU2VhcmNoTW9kYWwoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLm9wZW5SZWRhY3Rpb25TZWFyY2gubmV4dChmYWxzZSk7XG4gIH1cblxuXG4gIHByaXZhdGUgc2V0U2VhcmNoUmVzdWx0c0NvdW50KHJlc3VsdHM6IFNlYXJjaFJlc3VsdHNDb3VudCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0Q291bnQgPSByZXN1bHRzLnRvdGFsO1xuICAgIHRoaXMucmVzdWx0c1RleHQgPSB0aGlzLnJlc3VsdENvdW50ID4gMFxuICAgICAgPyBgJHtyZXN1bHRzLnRvdGFsfSByZXN1bHRzIGZvdW5kc2BcbiAgICAgIDogJ05vIHJlc3VsdHMgZm91bmQnO1xuICB9XG5cbiAgcHJpdmF0ZSByZWRhY3RBbGxTZWFyY2hlZChyZXN1bHRzOiBSZWRhY3Rpb25TZWFyY2gpOiB2b2lkIHtcbiAgICBjb25zdCAkdGhpcyA9IHRoaXM7XG4gICAgY29uc3QgaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGNvbnN0IGhpZ2hsaWdodEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoaWdobGlnaHQgc2VsZWN0ZWQnKTtcbiAgICAgIGlmIChoaWdobGlnaHRFbGVtZW50ICYmIGhpZ2hsaWdodEVsZW1lbnQubGVuZ3RoID4gMCkge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsSWQpO1xuICAgICAgICAkdGhpcy5yZWRhY3RBbGxTZWFyY2hlZFRpY2socmVzdWx0cyk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSByZWRhY3RBbGxTZWFyY2hlZFRpY2socmVzdWx0czogUmVkYWN0aW9uU2VhcmNoKTogdm9pZCB7XG4gICAgY29uc3QgaGlnaGxpZ2h0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hpZ2hsaWdodCBzZWxlY3RlZCcpO1xuICAgIGlmIChoaWdobGlnaHRFbGVtZW50ICYmIGhpZ2hsaWdodEVsZW1lbnQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yZXN1bHRDb3VudCA9IHJlc3VsdHMubWF0Y2hlc0NvdW50O1xuICAgICAgY29uc3QgcGFnZU51bWJlciA9IHJlc3VsdHMucGFnZSArIDE7XG4gICAgICBjb25zdCByZWN0YW5nbGVzID0gdGhpcy5nZXRSZWN0YW5nbGVzKHBhZ2VOdW1iZXIpO1xuICAgICAgaWYgKHJlY3RhbmdsZXMgJiYgdGhpcy5yZWRhY3RFbGVtZW50cy5sZW5ndGggPD0gdGhpcy5yZXN1bHRDb3VudFxuICAgICAgICAmJiAhdGhpcy5leGlzdEluUmVkYWN0RWxlbWVudHMocGFnZU51bWJlciwgcmVzdWx0cy5tYXRjaGVkSW5kZXgsIHJlY3RhbmdsZXMpKSB7XG4gICAgICAgIHRoaXMucmVkYWN0RWxlbWVudHMucHVzaCh7IHBhZ2U6IHBhZ2VOdW1iZXIsIG1hdGNoZWRJbmRleDogcmVzdWx0cz8ubWF0Y2hlZEluZGV4LCByZWN0YW5nbGVzIH0gYXMgUmVkYWN0UmVjdGFuZ2xlKTtcbiAgICAgICAgdGhpcy5DcmVhdGVSZWRhY3RBbGxUZXh0KCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5yZWRhY3RBbGwgJiYgdGhpcy5yZXN1bHRDb3VudCAmJiB0aGlzLnJlc3VsdENvdW50ID4gMFxuICAgICAgICAmJiByZWN0YW5nbGVzICYmIHRoaXMucmVkYWN0RWxlbWVudHMubGVuZ3RoIDwgdGhpcy5yZXN1bHRDb3VudCkge1xuICAgICAgICB0aGlzLnNlYXJjaChmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnJlZGFjdEFsbCAmJiB0aGlzLnJlc3VsdENvdW50ICYmIHRoaXMucmVkYWN0RWxlbWVudHMubGVuZ3RoID09PSB0aGlzLnJlc3VsdENvdW50KSB7XG4gICAgICAgIHRoaXMucmVkYWN0QWxsID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVkYWN0QWxsVGV4dCA9IG51bGw7XG4gICAgICAgIHRoaXMuc2F2ZVJlZGFjdGlvbih0aGlzLnJlZGFjdEVsZW1lbnRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIENyZWF0ZVJlZGFjdEFsbFRleHQoKSB7XG4gICAgdGhpcy5yZWRhY3RBbGxUZXh0ID0gYCR7dGhpcy5yZWRhY3RFbGVtZW50cy5sZW5ndGh9IG9mICR7dGhpcy5yZXN1bHRDb3VudH1gO1xuICB9XG5cbiAgcHVibGljIG9uRXNjYXBlS2V5UHJlc3MoZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hCYXJIaWRkZW4ubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkVudGVyS2V5UHJlc3MoZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2VhcmNoQmFyKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hCYXJIaWRkZW4ubmV4dCghdGhpcy50b29sYmFyRXZlbnRzLnNlYXJjaEJhckhpZGRlbi5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVjdGFuZ2xlcyhwYWdlOiBudW1iZXIpOiBSZWN0YW5nbGVbXSB7XG4gICAgdGhpcy5wYWdlSGVpZ2h0ID0gdGhpcy5hbGxQYWdlc1twYWdlXS5zdHlsZXMuaGVpZ2h0O1xuICAgIHRoaXMucGFnZVdpZHRoID0gdGhpcy5hbGxQYWdlc1twYWdlXS5zdHlsZXMud2lkdGg7XG4gICAgdGhpcy56b29tID0gcGFyc2VGbG9hdCh0aGlzLmFsbFBhZ2VzW3BhZ2VdLnNjYWxlUm90YXRpb24uc2NhbGUpO1xuICAgIHRoaXMucm90YXRlID0gcGFyc2VJbnQodGhpcy5hbGxQYWdlc1twYWdlXS5zY2FsZVJvdGF0aW9uLnJvdGF0aW9uLCAxMCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRIaWdoTGlnaHRlZEVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGlnaGxpZ2h0IHNlbGVjdGVkJyk7XG4gICAgaWYgKHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50cyAmJiBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZG9jUmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgZG9jUmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHNlbGVjdGVkSGlnaExpZ2h0ZWRFbGVtZW50c1swXSBhcyBIVE1MRWxlbWVudCk7XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICBzZWxlY3Rpb24/LnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgc2VsZWN0aW9uPy5hZGRSYW5nZShkb2NSYW5nZSk7XG4gICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgJiYgIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCkge1xuICAgICAgICBjb25zdCByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmNsb25lUmFuZ2UoKTtcbiAgICAgICAgY29uc3QgY2xpZW50UmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpO1xuXG4gICAgICAgIGlmIChjbGllbnRSZWN0cykge1xuICAgICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSBzZWxlY3RlZEhpZ2hMaWdodGVkRWxlbWVudHNbMF0ucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHNlbGVjdGlvblJlY3RhbmdsZXM6IFJlY3RhbmdsZVtdID0gW107XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGllbnRSZWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmVjdGFuZ2xlID0gdGhpcy5jcmVhdGVUZXh0UmVjdGFuZ2xlKGNsaWVudFJlY3RzW2ldLCBwYXJlbnRSZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlID0gc2VsZWN0aW9uUmVjdGFuZ2xlcy5maW5kKFxuICAgICAgICAgICAgICAocmVjdCkgPT4gcmVjdC53aWR0aCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLndpZHRoICYmIHJlY3QueCA9PT0gc2VsZWN0aW9uUmVjdGFuZ2xlLnhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIWZpbmRTZWxlY3R0aW9uUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGlvblJlY3RhbmdsZXMucHVzaChzZWxlY3Rpb25SZWN0YW5nbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBzZWxlY3Rpb25SZWN0YW5nbGVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUZXh0UmVjdGFuZ2xlKHJlY3Q6IERPTVJlY3QsIHBhcmVudFJlY3Q6IGFueSk6IFJlY3RhbmdsZSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcDtcbiAgICBjb25zdCB3aWR0aCA9IHJlY3QucmlnaHQgLSByZWN0LmxlZnQ7XG4gICAgY29uc3QgdG9wID0gcmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcDtcbiAgICBjb25zdCBsZWZ0ID0gcmVjdC5sZWZ0IC0gcGFyZW50UmVjdC5sZWZ0O1xuXG4gICAgbGV0IHJlY3RhbmdsZSA9IHRoaXMuaGlnaGxpZ2h0U2VydmljZS5hcHBseVJvdGF0aW9uKFxuICAgICAgdGhpcy5wYWdlSGVpZ2h0LFxuICAgICAgdGhpcy5wYWdlV2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICB3aWR0aCxcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICB0aGlzLnJvdGF0ZSxcbiAgICAgIHRoaXMuem9vbVxuICAgICk7XG4gICAgcmVjdGFuZ2xlID0geyBpZDogdXVpZCgpLCAuLi5yZWN0YW5nbGUgfTtcblxuICAgIHJldHVybiByZWN0YW5nbGUgYXMgUmVjdGFuZ2xlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLXNlYXJjaC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcmVkYWN0aW9uLXNlYXJjaC1iYXIvcmVkYWN0aW9uLXNlYXJjaC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L3JlY3RhbmdsZS9yZWN0YW5nbGUubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGFjdGlvblNlYXJjaCB7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIG1hdGNoZWRJbmRleD86IG51bWJlcjtcbiAgbWF0Y2hlc0NvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGFjdFJlY3RhbmdsZSB7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIG1hdGNoZWRJbmRleD86IG51bWJlcjtcbiAgcmVjdGFuZ2xlcz86IFJlY3RhbmdsZVtdO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { ToolbarEventService } from '../toolbar-event.service';
|
|
3
3
|
import { select, Store } from '@ngrx/store';
|
|
4
4
|
import * as fromRedactSelectors from '../../store/selectors/redaction.selectors';
|
|
@@ -10,11 +10,18 @@ export class RedactionToolbarComponent {
|
|
|
10
10
|
this.store = store;
|
|
11
11
|
this.preview = false;
|
|
12
12
|
this.hasRedactions = false;
|
|
13
|
+
this.subscriptions = [];
|
|
13
14
|
}
|
|
14
15
|
ngOnInit() {
|
|
15
|
-
this
|
|
16
|
+
this.subscriptions.push(this.store.pipe(select(fromRedactSelectors.getRedactionArray)).subscribe(redactions => {
|
|
16
17
|
this.hasRedactions = !!redactions.redactions.length;
|
|
17
|
-
});
|
|
18
|
+
}));
|
|
19
|
+
this.subscriptions.push(this.toolbarEventService.redactAllInProgressSubject.subscribe(inprogress => {
|
|
20
|
+
this.redactionAllInProgress = inprogress;
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
onRedactAllSearch() {
|
|
24
|
+
this.toolbarEventService.openRedactionSearch.next(true);
|
|
18
25
|
}
|
|
19
26
|
toggleTextRedactionMode() {
|
|
20
27
|
this.toolbarEventService.highlightModeSubject.next(true);
|
|
@@ -40,13 +47,15 @@ export class RedactionToolbarComponent {
|
|
|
40
47
|
this.toolbarEventService.redactPage();
|
|
41
48
|
}
|
|
42
49
|
ngOnDestroy() {
|
|
43
|
-
this
|
|
50
|
+
for (const subscription of this.subscriptions) {
|
|
51
|
+
subscription.unsubscribe();
|
|
52
|
+
}
|
|
44
53
|
}
|
|
45
54
|
}
|
|
46
55
|
RedactionToolbarComponent.decorators = [
|
|
47
56
|
{ type: Component, args: [{
|
|
48
57
|
selector: 'mv-redaction-toolbar',
|
|
49
|
-
template: "<div class=\"redaction\">\n <label class=\"govuk-label redaction-title\" data-l10n-id=\"redaction_options\">Redaction options</label>\n <button
|
|
58
|
+
template: "<div class=\"redaction\">\n <label class=\"govuk-label redaction-title\" data-l10n-id=\"redaction_options\"\n >Redaction options</label\n >\n <button\n id=\"toggleDrawButton\"\n class=\"mv-button redaction-button--draw\"\n title=\"Draw a box\"\n data-l10n-id=\"toggleDrawButton\"\n (click)=\"toggleDrawMode()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"toggleDrawButton_label\">Draw a box</span>\n </button>\n\n <button\n id=\"redactPageButton\"\n class=\"mv-button redaction-button--redact-page\"\n title=\"Redact Page\"\n data-l10n-id=\"redactPageButton\"\n (click)=\"redactPage()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"redactPageButton_label\">Redact page</span>\n </button>\n <button\n *ngIf=\"showRedactSearch\"\n id=\"mvRedactFromSearchBtn\"\n title=\"From search\"\n data-l10n-id=\"fromSearchButton\"\n class=\"mv-button redaction-button--search\"\n (click)=\"onRedactAllSearch()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span style=\"width: 5rem\" data-l10n-id=\"fromSearchButton_label\"\n >From search</span\n >\n </button>\n\n <button\n *ngIf=\"toolbarButtons.showHighlightButton\"\n id=\"toggleHighlightButton\"\n class=\"mv-button redaction-button--redact\"\n aria-pressed=\"false\"\n title=\"Redact text\"\n data-l10n-id=\"toggleTextRedactionButton\"\n (click)=\"toggleTextRedactionMode()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"toggleTextRedactionButton_label\">Redact text</span>\n </button>\n\n <button\n [disabled]=\"!hasRedactions || redactionAllInProgress\"\n id=\"mvClearBtn\"\n #mvClearBtn\n class=\"mv-button redaction-button--clear\"\n aria-pressed=\"false\"\n title=\"Clear all\"\n data-l10n-id=\"toggleClearAllButton\"\n (click)=\"unmarkAll()\"\n >\n <span data-l10n-id=\"Clear all\">Clear all</span>\n </button>\n\n <button\n [disabled]=\"!hasRedactions || redactionAllInProgress\"\n id=\"mvPreviewBtn\"\n class=\"mv-button\"\n [class.redaction-button--preview]=\"!preview\"\n [class.redaction-button--hide-preview]=\"preview\"\n redaction-button--preview\n aria-pressed=\"false\"\n title=\"Preview\"\n data-l10n-id=\"togglePreviewButton\"\n (click)=\"togglePreview()\"\n >\n <span *ngIf=\"!preview\" data-l10n-id=\"redaction-preview_label\">Preview</span>\n <span *ngIf=\"preview\" data-l10n-id=\"redaction-hide-preview_label\"\n >Hide preview</span\n >\n </button>\n\n <button\n [disabled]=\"!hasRedactions || redactionAllInProgress\"\n id=\"mvRedactBtn\"\n class=\"mv-button redaction-button--download\"\n aria-pressed=\"false\"\n title=\"Redact\"\n data-l10n-id=\"mvRedactBtn\"\n (click)=\"redact()\"\n >\n <span data-l10n-id=\"Save Document\">Save document</span>\n </button>\n\n <button\n id=\"mvCloseBtn\"\n #mvCloseBtn\n class=\"mv-button redaction-button--close\"\n title=\"Close Redaction\"\n data-l10n-id=\"mvRedactBtn\"\n (click)=\"toggleRedactBar()\"\n [disabled]=\"redactionAllInProgress\"\n >\n <span data-l10n-id=\"Close Redaction\">Close Redaction</span>\n </button>\n</div>\n"
|
|
50
59
|
},] }
|
|
51
60
|
];
|
|
52
61
|
/** @nocollapse */
|
|
@@ -55,4 +64,7 @@ RedactionToolbarComponent.ctorParameters = () => [
|
|
|
55
64
|
{ type: ToolbarButtonVisibilityService },
|
|
56
65
|
{ type: Store }
|
|
57
66
|
];
|
|
58
|
-
|
|
67
|
+
RedactionToolbarComponent.propDecorators = {
|
|
68
|
+
showRedactSearch: [{ type: Input }]
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci9yZWRhY3Rpb24tdG9vbGJhci9yZWRhY3Rpb24tdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUdqRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQU90RixNQUFNLE9BQU8seUJBQXlCO0lBVXBDLFlBQTRCLG1CQUF3QyxFQUNsRCxjQUE4QyxFQUN0RCxLQUEwQztRQUZ4Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ2xELG1CQUFjLEdBQWQsY0FBYyxDQUFnQztRQUN0RCxVQUFLLEdBQUwsS0FBSyxDQUFxQztRQVJwRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRWQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBS2EsQ0FBQztJQUV6RCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDNUcsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDakcsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssTUFBTSxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM3QyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzs7WUFqRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLHVzR0FBaUQ7YUFDbEQ7Ozs7WUFYUSxtQkFBbUI7WUFLbkIsOEJBQThCO1lBSnRCLEtBQUs7OzsrQkFhbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgKiBhcyBmcm9tUmVkYWN0U2VsZWN0b3JzIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9yZWRhY3Rpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBUaGlzUmVjZWl2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LXJlZGFjdGlvbi10b29sYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZGFjdGlvbi10b29sYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWRhY3Rpb25Ub29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHNob3dSZWRhY3RTZWFyY2g6IGJvb2xlYW47XG5cbiAgcHJldmlldyA9IGZhbHNlO1xuICBoYXNSZWRhY3Rpb25zID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICByZWRhY3Rpb25BbGxJblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRTZXJ2aWNlOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+KSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21SZWRhY3RTZWxlY3RvcnMuZ2V0UmVkYWN0aW9uQXJyYXkpKS5zdWJzY3JpYmUocmVkYWN0aW9ucyA9PiB7XG4gICAgICB0aGlzLmhhc1JlZGFjdGlvbnMgPSAhIXJlZGFjdGlvbnMucmVkYWN0aW9ucy5sZW5ndGg7XG4gICAgfSkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5yZWRhY3RBbGxJblByb2dyZXNzU3ViamVjdC5zdWJzY3JpYmUoaW5wcm9ncmVzcyA9PiB7XG4gICAgICB0aGlzLnJlZGFjdGlvbkFsbEluUHJvZ3Jlc3MgPSBpbnByb2dyZXNzO1xuICAgIH0pKTtcbiAgfVxuXG4gIG9uUmVkYWN0QWxsU2VhcmNoKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5vcGVuUmVkYWN0aW9uU2VhcmNoLm5leHQodHJ1ZSk7XG4gIH1cblxuICB0b2dnbGVUZXh0UmVkYWN0aW9uTW9kZSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudFNlcnZpY2UuaGlnaGxpZ2h0TW9kZVN1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHRvZ2dsZURyYXdNb2RlKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5kcmF3TW9kZVN1YmplY3QubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHRvZ2dsZVByZXZpZXcoKSB7XG4gICAgdGhpcy5wcmV2aWV3ID0gIXRoaXMucHJldmlldztcbiAgICB0aGlzLnRvb2xiYXJFdmVudFNlcnZpY2UudG9nZ2xlUmVkYWN0aW9uUHJldmlldyh0aGlzLnByZXZpZXcpO1xuICB9XG5cbiAgdW5tYXJrQWxsKCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS51bm1hcmtBbGwoKTtcbiAgfVxuXG4gIHJlZGFjdCgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudFNlcnZpY2UuYXBwbHlSZWRhY3Rpb25Ub0RvY3VtZW50KCk7XG4gIH1cblxuICB0b2dnbGVSZWRhY3RCYXIoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLnRvZ2dsZVJlZGFjdGlvbk1vZGUoKTtcbiAgfVxuXG4gIHJlZGFjdFBhZ2UoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRTZXJ2aWNlLmRyYXdNb2RlU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIHRoaXMudG9vbGJhckV2ZW50U2VydmljZS5yZWRhY3RQYWdlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -26,7 +26,11 @@ export class ToolbarEventService {
|
|
|
26
26
|
this.applyRedactToDocument = new Subject();
|
|
27
27
|
this.clearAllRedactMarkers = new Subject();
|
|
28
28
|
this.redactWholePage = new Subject();
|
|
29
|
+
this.redactionSerachSubject = new Subject();
|
|
30
|
+
this.redactAllInProgressSubject = new BehaviorSubject(false);
|
|
31
|
+
this.openRedactionSearch = new Subject();
|
|
29
32
|
this.sidebarOpen = new BehaviorSubject(false);
|
|
33
|
+
this.sidebarOutlineView = new BehaviorSubject(true);
|
|
30
34
|
this.searchBarHidden = new BehaviorSubject(true);
|
|
31
35
|
this.commentsPanelVisible = new BehaviorSubject(false);
|
|
32
36
|
this.icp = icpEvents;
|
|
@@ -116,6 +120,9 @@ export class ToolbarEventService {
|
|
|
116
120
|
toggleSideBar(toggle) {
|
|
117
121
|
this.sidebarOpen.next(toggle);
|
|
118
122
|
}
|
|
123
|
+
toggleSideBarView(toggle) {
|
|
124
|
+
this.sidebarOutlineView.next(toggle);
|
|
125
|
+
}
|
|
119
126
|
toggleRedactionMode() {
|
|
120
127
|
if (this.redactionMode.getValue() === false) {
|
|
121
128
|
this.drawModeSubject.next(false);
|
|
@@ -125,6 +132,7 @@ export class ToolbarEventService {
|
|
|
125
132
|
else {
|
|
126
133
|
this.redactionMode.next(false);
|
|
127
134
|
}
|
|
135
|
+
this.openRedactionSearch.next(false);
|
|
128
136
|
}
|
|
129
137
|
toggleRedactionPreview(viewMode) {
|
|
130
138
|
this.redactionPreview.next(viewMode);
|
|
@@ -155,4 +163,4 @@ export class ToolbarEventService {
|
|
|
155
163
|
ToolbarEventService.decorators = [
|
|
156
164
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
157
165
|
];
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1ldmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDOztBQW9CakQsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUdrQix5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsS0FBSyxDQUFDLENBQUM7UUFDakUsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVyxLQUFLLENBQUMsQ0FBQztRQUN2RCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDdEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUMvQyw4QkFBeUIsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUM5RCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDcEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3hDLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2xELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDekMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNoQywwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzlDLG9DQUErQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDeEQsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNq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QUMsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7O1lBL0tGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIGljcEV2ZW50cyBmcm9tICcuL2ljcC1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHBhcnRpY2lwYW50c0xpc3RWaXNpYmxlIH0gZnJvbSAnLi9pY3AtZXZlbnQuc2VydmljZSc7XG5cbi8vIFRvb2xiYXIgQ3VzdG9tLUV2ZW50IFR5cGVzXG5leHBvcnQgdHlwZSBIaWdobGlnaHRNb2RlID0gYm9vbGVhbjtcbmV4cG9ydCB0eXBlIERyYXdNb2RlID0gYm9vbGVhbjtcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoT3BlcmF0aW9uIHtcbiAgc2VhcmNoVGVybTogc3RyaW5nO1xuICBoaWdobGlnaHRBbGw6IGJvb2xlYW47XG4gIG1hdGNoQ2FzZTogYm9vbGVhbjtcbiAgd2hvbGVXb3JkOiBib29sZWFuO1xuICBwcmV2aW91czogYm9vbGVhbjtcbiAgcmVzZXQ6IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNDb3VudCB7XG4gIGN1cnJlbnQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUb29sYmFyRXZlbnRTZXJ2aWNlIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgaGlnaGxpZ2h0TW9kZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhpZ2hsaWdodE1vZGU+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRyYXdNb2RlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHJhd01vZGU+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHJvdGF0ZVN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2VhcmNoT3BlcmF0aW9uPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoUmVzdWx0c0NvdW50U3ViamVjdCA9IG5ldyBTdWJqZWN0PFNlYXJjaFJlc3VsdHNDb3VudD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHpvb21TdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RlcFpvb21TdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgem9vbVZhbHVlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxKTtcbiAgcHVibGljIHJlYWRvbmx5IHBhZ2VDb3VudFN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBwcmludFN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgZG93bmxvYWRTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHJlYWRvbmx5IHNldEN1cnJlbnRQYWdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNldEN1cnJlbnRQYWdlSW5wdXRWYWx1ZVN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBjaGFuZ2VQYWdlQnlEZWx0YVN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzaG93Q29tbWVudFN1bW1hcnkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGdyYWJORHJhZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2F2ZVJvdGF0aW9uU3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlZGFjdGlvbk1vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlZGFjdGlvblByZXZpZXcgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbHlSZWRhY3RUb0RvY3VtZW50ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHJlYWRvbmx5IGNsZWFyQWxsUmVkYWN0TWFya2VycyA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyByZWFkb25seSByZWRhY3RXaG9sZVBhZ2UgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaWRlYmFyT3BlbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoQmFySGlkZGVuID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbW1lbnRzUGFuZWxWaXNpYmxlID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGljcCA9IGljcEV2ZW50cztcblxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgc3RhdGVmdWwgYmVoYXZpb3VyIHN1YmplY3RzXG4gICAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDdXJyZW50UGFnZVN1YmplY3QubmV4dCgxKTtcbiAgICB0aGlzLnpvb21WYWx1ZVN1YmplY3QubmV4dCgxKTtcbiAgICB0aGlzLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIHRoaXMuZHJhd01vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIHRoaXMuc2hvd0NvbW1lbnRTdW1tYXJ5Lm5leHQoZmFsc2UpO1xuICAgIHRoaXMuZ3JhYk5EcmFnLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgLy8gRnVuY3Rpb24gdG8gaW5mb3JtIE9ic2VydmVycyB0aGF0IGhpZ2hsaWdodE1vZGUgaGFzIGJlZW4gZW5hYmxlZFxuICBwdWJsaWMgdG9nZ2xlSGlnaGxpZ2h0TW9kZSgpOiB2b2lkIHtcbiAgICAvLyBIaWdobGlnaHQgYW5kIERyYXcgc3RhdGVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmVcbiAgICBpZiAodGhpcy5oaWdobGlnaHRNb2RlU3ViamVjdC5nZXRWYWx1ZSgpID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5kcmF3TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLmdyYWJORHJhZy5uZXh0KGZhbHNlKTtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0TW9kZVN1YmplY3QubmV4dCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oaWdobGlnaHRNb2RlU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBGdW5jdGlvbiB0byBpbmZvcm0gT2JzZXJ2ZXJzIHRoYXQgVG9nZ2xlTW9kZSBoYXMgYmVlbiBlbmFibGVkXG4gIHB1YmxpYyB0b2dnbGVEcmF3TW9kZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcmF3TW9kZVN1YmplY3QuZ2V0VmFsdWUoKSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLmdyYWJORHJhZy5uZXh0KGZhbHNlKTtcbiAgICAgIHRoaXMuZHJhd01vZGVTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJhd01vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByb3RhdGUoYW5nbGU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucm90YXRlU3ViamVjdC5uZXh0KGFuZ2xlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2gocGhyYXNlOiBTZWFyY2hPcGVyYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFN1YmplY3QubmV4dChwaHJhc2UpO1xuICB9XG5cbiAgcHVibGljIGdldFNlYXJjaFJlc3VsdHNDb3VudCgpOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdHNDb3VudD4ge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgem9vbSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy56b29tU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGVwWm9vbSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zdGVwWm9vbVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Wm9vbVZhbHVlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuem9vbVZhbHVlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYWdlQ291bnQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5wYWdlQ291bnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHByaW50KCk6IHZvaWQge1xuICAgIHRoaXMucHJpbnRTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmRvd25sb2FkU3ViamVjdC5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDdXJyZW50UGFnZVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgaW5jcmVtZW50UGFnZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VQYWdlQnlEZWx0YVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudFBhZ2VOdW1iZXIoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5zZXRDdXJyZW50UGFnZUlucHV0VmFsdWVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldFNob3dDb21tZW50U3VtbWFyeSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93Q29tbWVudFN1bW1hcnkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ29tbWVudHNTdW1tYXJ5KHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zaG93Q29tbWVudFN1bW1hcnkubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVJvdGF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVJvdGF0aW9uU3ViamVjdC5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlR3JhYk5EcmFnKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JhYk5EcmFnLm5leHQoIXRoaXMuZ3JhYk5EcmFnLmdldFZhbHVlKCkpO1xuICB9XG5cbiAgdG9nZ2xlU2lkZUJhcih0b2dnbGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNpZGViYXJPcGVuLm5leHQodG9nZ2xlKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSZWRhY3Rpb25Nb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlZGFjdGlvbk1vZGUuZ2V0VmFsdWUoKSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuZHJhd01vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgdGhpcy5ncmFiTkRyYWcubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLnJlZGFjdGlvbk1vZGUubmV4dCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWRhY3Rpb25Nb2RlLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSZWRhY3Rpb25QcmV2aWV3KHZpZXdNb2RlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5yZWRhY3Rpb25QcmV2aWV3Lm5leHQodmlld01vZGUpO1xuICB9XG5cbiAgcHVibGljIHVubWFya0FsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyQWxsUmVkYWN0TWFya2Vycy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlSZWRhY3Rpb25Ub0RvY3VtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlSZWRhY3RUb0RvY3VtZW50Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRhY3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMucmVkYWN0V2hvbGVQYWdlLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDb21tZW50c1BhbmVsKGlzVmlzaWJsZTogYm9vbGVhbikge1xuICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgIHRoaXMudG9nZ2xlUGFydGljaXBhbnRzTGlzdCghaXNWaXNpYmxlKTtcbiAgICB9XG4gICAgdGhpcy5jb21tZW50c1BhbmVsVmlzaWJsZS5uZXh0KGlzVmlzaWJsZSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUGFydGljaXBhbnRzTGlzdChpc1Zpc2libGU6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICB0aGlzLnRvZ2dsZUNvbW1lbnRzUGFuZWwoIWlzVmlzaWJsZSk7XG4gICAgfVxuICAgIHRoaXMuaWNwLnBhcnRpY2lwYW50c0xpc3RWaXNpYmxlLm5leHQoaXNWaXNpYmxlKTtcbiAgfVxufVxuIl19
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1ldmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDOztBQXFCakQsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUdrQix5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsS0FBSyxDQUFDLENBQUM7UUFDakUsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVyxLQUFLLENBQUMsQ0FBQztRQUN2RCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDdEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUMvQyw4QkFBeUIsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUM5RCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDcEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3hDLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2xELHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDekMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNoQywwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzlDLG9DQUErQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDeEQsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUNq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RSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sbUJBQW1CLENBQUMsU0FBa0I7UUFDM0MsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN6QztRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLHNCQUFzQixDQUFDLFNBQWtCO1FBQzlDLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7O1lBekxGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIGljcEV2ZW50cyBmcm9tICcuL2ljcC1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHBhcnRpY2lwYW50c0xpc3RWaXNpYmxlIH0gZnJvbSAnLi9pY3AtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZWRhY3Rpb25TZWFyY2ggfSBmcm9tICcuL3JlZGFjdGlvbi1zZWFyY2gtYmFyL3JlZGFjdGlvbi1zZWFyY2gubW9kZWwnO1xuXG4vLyBUb29sYmFyIEN1c3RvbS1FdmVudCBUeXBlc1xuZXhwb3J0IHR5cGUgSGlnaGxpZ2h0TW9kZSA9IGJvb2xlYW47XG5leHBvcnQgdHlwZSBEcmF3TW9kZSA9IGJvb2xlYW47XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaE9wZXJhdGlvbiB7XG4gIHNlYXJjaFRlcm06IHN0cmluZztcbiAgaGlnaGxpZ2h0QWxsOiBib29sZWFuO1xuICBtYXRjaENhc2U6IGJvb2xlYW47XG4gIHdob2xlV29yZDogYm9vbGVhbjtcbiAgcHJldmlvdXM6IGJvb2xlYW47XG4gIHJlc2V0OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHRzQ291bnQge1xuICBjdXJyZW50OiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVG9vbGJhckV2ZW50U2VydmljZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGhpZ2hsaWdodE1vZGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIaWdobGlnaHRNb2RlPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBkcmF3TW9kZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERyYXdNb2RlPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSByb3RhdGVTdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PFNlYXJjaE9wZXJhdGlvbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlYXJjaFJlc3VsdHNDb3VudFN1YmplY3QgPSBuZXcgU3ViamVjdDxTZWFyY2hSZXN1bHRzQ291bnQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSB6b29tU3ViamVjdCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHN0ZXBab29tU3ViamVjdCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHpvb21WYWx1ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMSk7XG4gIHB1YmxpYyByZWFkb25seSBwYWdlQ291bnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJpbnRTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHJlYWRvbmx5IGRvd25sb2FkU3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyByZWFkb25seSBzZXRDdXJyZW50UGFnZVN1YmplY3QgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHB1YmxpYyByZWFkb25seSBzZXRDdXJyZW50UGFnZUlucHV0VmFsdWVTdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlUGFnZUJ5RGVsdGFTdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0NvbW1lbnRTdW1tYXJ5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBncmFiTkRyYWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IHNhdmVSb3RhdGlvblN1YmplY3QgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyByZWFkb25seSByZWRhY3Rpb25Nb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSByZWRhY3Rpb25QcmV2aWV3ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFwcGx5UmVkYWN0VG9Eb2N1bWVudCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyByZWFkb25seSBjbGVhckFsbFJlZGFjdE1hcmtlcnMgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVkYWN0V2hvbGVQYWdlID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlZGFjdGlvblNlcmFjaFN1YmplY3QgPSBuZXcgU3ViamVjdDxSZWRhY3Rpb25TZWFyY2g+KCk7XG4gIHB1YmxpYyByZWFkb25seSByZWRhY3RBbGxJblByb2dyZXNzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlblJlZGFjdGlvblNlYXJjaCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNpZGViYXJPcGVuID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBzaWRlYmFyT3V0bGluZVZpZXcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hCYXJIaWRkZW4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tbWVudHNQYW5lbFZpc2libGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaWNwID0gaWNwRXZlbnRzO1xuXG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBzdGF0ZWZ1bCBiZWhhdmlvdXIgc3ViamVjdHNcbiAgICovXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldEN1cnJlbnRQYWdlU3ViamVjdC5uZXh0KDEpO1xuICAgIHRoaXMuem9vbVZhbHVlU3ViamVjdC5uZXh0KDEpO1xuICAgIHRoaXMuaGlnaGxpZ2h0TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgdGhpcy5kcmF3TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgdGhpcy5zaG93Q29tbWVudFN1bW1hcnkubmV4dChmYWxzZSk7XG4gICAgdGhpcy5ncmFiTkRyYWcubmV4dChmYWxzZSk7XG4gIH1cblxuICAvLyBGdW5jdGlvbiB0byBpbmZvcm0gT2JzZXJ2ZXJzIHRoYXQgaGlnaGxpZ2h0TW9kZSBoYXMgYmVlbiBlbmFibGVkXG4gIHB1YmxpYyB0b2dnbGVIaWdobGlnaHRNb2RlKCk6IHZvaWQge1xuICAgIC8vIEhpZ2hsaWdodCBhbmQgRHJhdyBzdGF0ZXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuICAgIGlmICh0aGlzLmhpZ2hsaWdodE1vZGVTdWJqZWN0LmdldFZhbHVlKCkgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmRyYXdNb2RlU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgIHRoaXMuZ3JhYk5EcmFnLm5leHQoZmFsc2UpO1xuICAgICAgdGhpcy5oaWdobGlnaHRNb2RlU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhpZ2hsaWdodE1vZGVTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZ1bmN0aW9uIHRvIGluZm9ybSBPYnNlcnZlcnMgdGhhdCBUb2dnbGVNb2RlIGhhcyBiZWVuIGVuYWJsZWRcbiAgcHVibGljIHRvZ2dsZURyYXdNb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyYXdNb2RlU3ViamVjdC5nZXRWYWx1ZSgpID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5oaWdobGlnaHRNb2RlU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgIHRoaXMuZ3JhYk5EcmFnLm5leHQoZmFsc2UpO1xuICAgICAgdGhpcy5kcmF3TW9kZVN1YmplY3QubmV4dCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kcmF3TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJvdGF0ZShhbmdsZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yb3RhdGVTdWJqZWN0Lm5leHQoYW5nbGUpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaChwaHJhc2U6IFNlYXJjaE9wZXJhdGlvbik6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoU3ViamVjdC5uZXh0KHBocmFzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VhcmNoUmVzdWx0c0NvdW50KCk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0c0NvdW50PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoUmVzdWx0c0NvdW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB6b29tKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnpvb21TdWJqZWN0Lm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHN0ZXBab29tKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnN0ZXBab29tU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRab29tVmFsdWUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy56b29tVmFsdWVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldFBhZ2VDb3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnBhZ2VDb3VudFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgcHJpbnQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmludFN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIGRvd25sb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuZG93bmxvYWRTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYWdlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNldEN1cnJlbnRQYWdlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBpbmNyZW1lbnRQYWdlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZVBhZ2VCeURlbHRhU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50UGFnZU51bWJlcigpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnNldEN1cnJlbnRQYWdlSW5wdXRWYWx1ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2hvd0NvbW1lbnRTdW1tYXJ5KCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3dDb21tZW50U3VtbWFyeS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDb21tZW50c1N1bW1hcnkodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNob3dDb21tZW50U3VtbWFyeS5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlUm90YXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlUm90YXRpb25TdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVHcmFiTkRyYWcoKTogdm9pZCB7XG4gICAgdGhpcy5ncmFiTkRyYWcubmV4dCghdGhpcy5ncmFiTkRyYWcuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICB0b2dnbGVTaWRlQmFyKHRvZ2dsZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2lkZWJhck9wZW4ubmV4dCh0b2dnbGUpO1xuICB9XG5cbiAgdG9nZ2xlU2lkZUJhclZpZXcodG9nZ2xlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zaWRlYmFyT3V0bGluZVZpZXcubmV4dCh0b2dnbGUpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVJlZGFjdGlvbk1vZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVkYWN0aW9uTW9kZS5nZXRWYWx1ZSgpID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5kcmF3TW9kZVN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLmdyYWJORHJhZy5uZXh0KGZhbHNlKTtcbiAgICAgIHRoaXMucmVkYWN0aW9uTW9kZS5uZXh0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlZGFjdGlvbk1vZGUubmV4dChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMub3BlblJlZGFjdGlvblNlYXJjaC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVSZWRhY3Rpb25QcmV2aWV3KHZpZXdNb2RlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5yZWRhY3Rpb25QcmV2aWV3Lm5leHQodmlld01vZGUpO1xuICB9XG5cbiAgcHVibGljIHVubWFya0FsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyQWxsUmVkYWN0TWFya2Vycy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlSZWRhY3Rpb25Ub0RvY3VtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuYXBwbHlSZWRhY3RUb0RvY3VtZW50Lm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRhY3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMucmVkYWN0V2hvbGVQYWdlLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDb21tZW50c1BhbmVsKGlzVmlzaWJsZTogYm9vbGVhbikge1xuICAgIGlmIChpc1Zpc2libGUpIHtcbiAgICAgIHRoaXMudG9nZ2xlUGFydGljaXBhbnRzTGlzdCghaXNWaXNpYmxlKTtcbiAgICB9XG4gICAgdGhpcy5jb21tZW50c1BhbmVsVmlzaWJsZS5uZXh0KGlzVmlzaWJsZSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUGFydGljaXBhbnRzTGlzdChpc1Zpc2libGU6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICB0aGlzLnRvZ2dsZUNvbW1lbnRzUGFuZWwoIWlzVmlzaWJsZSk7XG4gICAgfVxuICAgIHRoaXMuaWNwLnBhcnRpY2lwYW50c0xpc3RWaXNpYmxlLm5leHQoaXNWaXNpYmxlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RedactionSearchBarComponent } from './redaction-search-bar/redaction-search-bar.component';
|
|
1
2
|
import { NgModule } from '@angular/core';
|
|
2
3
|
import { CommonModule } from '@angular/common';
|
|
3
4
|
import { MainToolbarComponent } from './main-toolbar/main-toolbar.component';
|
|
@@ -19,7 +20,8 @@ ToolbarModule.decorators = [
|
|
|
19
20
|
SearchBarComponent,
|
|
20
21
|
MainToolbarComponent,
|
|
21
22
|
RedactionToolbarComponent,
|
|
22
|
-
IcpToolbarComponent
|
|
23
|
+
IcpToolbarComponent,
|
|
24
|
+
RedactionSearchBarComponent
|
|
23
25
|
],
|
|
24
26
|
providers: [
|
|
25
27
|
ToolbarButtonVisibilityService,
|
|
@@ -29,7 +31,8 @@ ToolbarModule.decorators = [
|
|
|
29
31
|
MainToolbarComponent,
|
|
30
32
|
SearchBarComponent,
|
|
31
33
|
RedactionToolbarComponent,
|
|
32
|
-
IcpToolbarComponent
|
|
34
|
+
IcpToolbarComponent,
|
|
35
|
+
RedactionSearchBarComponent
|
|
33
36
|
],
|
|
34
37
|
imports: [
|
|
35
38
|
CommonModule,
|
|
@@ -39,4 +42,4 @@ ToolbarModule.decorators = [
|
|
|
39
42
|
]
|
|
40
43
|
},] }
|
|
41
44
|
];
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBNkIvQyxNQUFNLE9BQU8sYUFBYTs7O1lBMUJ6QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQix5QkFBeUI7b0JBQ3pCLG1CQUFtQjtvQkFDbkIsMkJBQTJCO2lCQUM1QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsOEJBQThCO29CQUM5QixtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7b0JBQ3BCLGtCQUFrQjtvQkFDbEIseUJBQXlCO29CQUN6QixtQkFBbUI7b0JBQ25CLDJCQUEyQjtpQkFDNUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxhQUFhO29CQUNiLFlBQVk7aUJBQ2I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZGFjdGlvblNlYXJjaEJhckNvbXBvbmVudCB9IGZyb20gJy4vcmVkYWN0aW9uLXNlYXJjaC1iYXIvcmVkYWN0aW9uLXNlYXJjaC1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWFpblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL21haW4tdG9vbGJhci9tYWluLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEJhckNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4vdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZWRhY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9yZWRhY3Rpb24tdG9vbGJhci9yZWRhY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNwVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vaWNwLXRvb2xiYXIvaWNwLXRvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4vdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmV4cG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gICAgTWFpblRvb2xiYXJDb21wb25lbnQsXG4gICAgUmVkYWN0aW9uVG9vbGJhckNvbXBvbmVudCxcbiAgICBJY3BUb29sYmFyQ29tcG9uZW50LFxuICAgIFJlZGFjdGlvblNlYXJjaEJhckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgVG9vbGJhckV2ZW50U2VydmljZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTWFpblRvb2xiYXJDb21wb25lbnQsXG4gICAgU2VhcmNoQmFyQ29tcG9uZW50LFxuICAgIFJlZGFjdGlvblRvb2xiYXJDb21wb25lbnQsXG4gICAgSWNwVG9vbGJhckNvbXBvbmVudCxcbiAgICBSZWRhY3Rpb25TZWFyY2hCYXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -138,7 +138,7 @@ export class ImageViewerComponent {
|
|
|
138
138
|
ImageViewerComponent.decorators = [
|
|
139
139
|
{ type: Component, args: [{
|
|
140
140
|
selector: 'mv-image-viewer',
|
|
141
|
-
template: "<mv-comment-set-header [ngClass]=\"{'show-comments-panel': showCommentsPanel}\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\">\n</mv-comment-set-header>\n<div
|
|
141
|
+
template: "<mv-comment-set-header [ngClass]=\"{'show-comments-panel': showCommentsPanel}\"\n [showCommentSummary]=\"toolbarButtons.showCommentSummary\"\n (showCommentSummaryDialog)=\"toggleCommentsSummary()\">\n</mv-comment-set-header>\n<div id=\"viewer-wrapper\"\n [ngStyle]=\"{ height: height }\"\n [ngClass]=\"{ 'grabNDrag': enableGrabNDrag }\"\n *ngIf=\"url && !errorMessage\">\n <div #imageContainer id=\"image-container\"\n mvGrabNDrag [dragX]=\"imageContainer\" [dragEnabled]=\"enableGrabNDrag\"\n (scroll)=\"$event\"\n [ngClass]=\"{ 'image-container': true, 'annotations': enableAnnotations, 'show-comments-panel': showCommentsPanel }\">\n <img #img\n [src]=\"url\"\n [ngClass]=\"'rot' + rotation\"\n (error)=\"onLoadError(url)\"\n (load)=\"onLoad(img)\"/>\n <mv-redactions *ngIf=\"(toolbarEvents.redactionMode | async);else annotationTemplate\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n ></mv-redactions>\n <ng-template #annotationTemplate>\n <mv-metadata-layer *ngIf=\"enableAnnotations && annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\">\n </mv-metadata-layer>\n </ng-template>\n </div>\n\n <mv-comment-set [contentScrollTop]=\"imageContainer.scrollTop\"\n *ngIf=\"enableAnnotations && annotationSet && !(toolbarEvents.redactionMode | async)\"\n [annotationSet]=\"annotationSet\"\n [zoom]=\"zoom\"\n [rotate]=\"rotation\"\n [height]=\"imageHeight\">\n </mv-comment-set>\n</div>\n"
|
|
142
142
|
},] }
|
|
143
143
|
];
|
|
144
144
|
/** @nocollapse */
|
|
@@ -161,4 +161,4 @@ ImageViewerComponent.propDecorators = {
|
|
|
161
161
|
img: [{ type: ViewChild, args: ['img', { static: false },] }],
|
|
162
162
|
onImageViewerClick: [{ type: HostListener, args: ['mousedown', ['$event'],] }]
|
|
163
163
|
};
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEtBQUssWUFBWSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU03RCxNQUFNLE9BQU8sb0JBQW9CO0lBOEIvQixZQUNVLEtBQTBDLEVBQ2pDLFlBQTBCLEVBQzFCLGlCQUFvQyxFQUNyQyxhQUFrQyxFQUNsQyxjQUE4QyxFQUN0RCxZQUFnQztRQUxoQyxVQUFLLEdBQUwsS0FBSyxDQUFxQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0M7UUFDdEQsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBMUJoQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQ25ELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBS3JFLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRUQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBSzNDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBYXBCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDbEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNwRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3pFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLEVBQ3JGLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxDQUM3RixDQUFDO0lBQ0osQ0FBQztJQUdELGtCQUFrQixDQUFDLEtBQWlCO1FBQ2xDLE1BQU0sUUFBUSxHQUFJLEtBQUssQ0FBQyxNQUFrQixDQUFDLFNBQVMsQ0FBQztRQUNyRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLElBQUkscUJBQXFCLENBQUMsa0JBQWtCLENBQUM7Z0JBQzNDLFlBQVksRUFBRSxFQUFFO2dCQUNoQixRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO2FBQzVELE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFYSxPQUFPLENBQUMsVUFBa0I7O1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDM0M7UUFDSCxDQUFDO0tBQUE7SUFFYSxRQUFRLENBQUMsVUFBa0I7O1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMzQztRQUNILENBQUM7S0FBQTtJQUVPLFFBQVE7UUFDZCxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQixDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNuQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDVixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDYixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLFlBQVksQ0FBQyxTQUFTO1FBQ3BCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxDQUFDO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0MsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQUUsT0FBTyxDQUFDLENBQUM7U0FBRTtRQUNuQyxJQUFJLFlBQVksR0FBRyxHQUFHLEVBQUU7WUFBRSxPQUFPLEdBQUcsQ0FBQztTQUFFO1FBQ3ZDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBRztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7YUFDckQsU0FBUyxDQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUNaLEtBQUssQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUNuRCxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLFlBQVksR0FBRyw2QkFBNkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVE7UUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVE7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDbEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDakYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDM0UsTUFBTSxPQUFPLEdBQVEsQ0FBQztnQkFDcEIsR0FBRyxFQUFFO29CQUNILFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDOUIsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVO29CQUM1QixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQzNCO2dCQUNELFVBQVUsRUFBRSxDQUFDO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixFQUFFLEVBQUUsQ0FBQzthQUNOLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDOzs7WUE3S0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLHdzREFBNEM7YUFDN0M7Ozs7WUFUUSxLQUFLO1lBTkwsWUFBWTtZQUlaLGlCQUFpQjtZQUZqQixtQkFBbUI7WUFHbkIsOEJBQThCO1lBSzlCLGtCQUFrQjs7O2tCQVF4QixLQUFLOytCQUNMLEtBQUs7Z0NBRUwsS0FBSzs0QkFDTCxLQUFLO3FCQUVMLEtBQUs7OEJBRUwsTUFBTTttQ0FDTixNQUFNO2tCQUlOLFNBQVMsU0FBQyxLQUFLLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2lDQW9DaEMsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVmlld2VyVXRpbFNlcnZpY2UgfSBmcm9tICcuLi92aWV3ZXItdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25BY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtaW1hZ2Utdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBhbm5vdGF0aW9uU2V0OiBBbm5vdGF0aW9uU2V0IHwgbnVsbDtcblxuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSBpbWFnZVZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2ltZycsIHtzdGF0aWM6IGZhbHNlfSkgaW1nOiBFbGVtZW50UmVmO1xuICByb3RhdGlvbiA9IDA7XG4gIHpvb20gPSAxO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgcHJpdmF0ZSByZXNwb25zZTogU3Vic2NyaXB0aW9uO1xuXG4gIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcbiAgaW1hZ2VIZWlnaHQ6IG51bWJlcjtcbiAgaW1hZ2VXaWR0aDogbnVtYmVyO1xuICBpbWFnZUxlZnQ6IG51bWJlcjtcbiAgaW1hZ2VUb3A6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld2VyVXRpbFNlcnZpY2U6IFZpZXdlclV0aWxTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucm90YXRlU3ViamVjdC5zdWJzY3JpYmUocm90YXRpb24gPT4gdGhpcy5yb3RhdGVJbWFnZShyb3RhdGlvbikpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc2V0Wm9vbSh6b29tKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc3RlcFpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc3RlcFpvb20oem9vbSkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnByaW50U3ViamVjdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wcmludFNlcnZpY2UucHJpbnREb2N1bWVudE5hdGl2ZWx5KHRoaXMudXJsKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuZG93bmxvYWRTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB0aGlzLmRvd25sb2FkKCkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmdyYWJORHJhZy5zdWJzY3JpYmUoZ3JhYk5EcmFnID0+IHRoaXMuZW5hYmxlR3JhYk5EcmFnID0gZ3JhYk5EcmFnKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5jb21tZW50c1BhbmVsVmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHRoaXMuc2hvd0NvbW1lbnRzUGFuZWwgPSB0b2dnbGUpXG4gICAgKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uSW1hZ2VWaWV3ZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGNsYXNzTm1lID0gKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5jbGFzc05hbWU7XG4gICAgaWYgKGNsYXNzTm1lLnN0YXJ0c1dpdGgoJ3BhZ2VDb250YWluZXInKSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgbmV3IGZyb21Bbm5vdGF0aW9uQWN0aW9ucy5TZWxlY3RlZEFubm90YXRpb24oe1xuICAgICAgICAgIGFubm90YXRpb25JZDogJycsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnZpZXdlckV2ZW50cy5jbGVhckN0eFRvb2xiYXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZmlsdGVyKHN1YnNjcmlwdGlvbiA9PiAhc3Vic2NyaXB0aW9uLmNsb3NlZClcbiAgICAgIC5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudXJsKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZUltYWdlKHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG4gICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRab29tVmFsdWUodGhpcy5jYWxjdWxhdGVab29tVmFsdWUoem9vbUZhY3RvcikpO1xuICAgICAgdGhpcy5pbWcubmF0aXZlRWxlbWVudC53aWR0aCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQubmF0dXJhbFdpZHRoICogdGhpcy56b29tO1xuICAgICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGVwWm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldFpvb21WYWx1ZSh0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh0aGlzLnpvb20sIHpvb21GYWN0b3IpKTtcbiAgICAgIHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQud2lkdGggPSB0aGlzLmltZy5uYXRpdmVFbGVtZW50Lm5hdHVyYWxXaWR0aCAqIHRoaXMuem9vbTtcbiAgICAgIHRoaXMuaW5pdEFubm9QYWdlKHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZG93bmxvYWQoKSB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgYS5ocmVmID0gdGhpcy51cmw7XG4gICAgYS5kb3dubG9hZCA9IHRoaXMuZG93bmxvYWRGaWxlTmFtZTtcbiAgICBhLmNsaWNrKCk7XG4gICAgYS5yZW1vdmUoKTtcbiAgfVxuXG4gIC8vIHRoZSByZXR1cm5lZCBwcm9taXNlIGlzIGEgd29yay1hcm91bmRcbiAgc2V0Wm9vbVZhbHVlKHpvb21WYWx1ZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy56b29tID0gem9vbVZhbHVlO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh6b29tVmFsdWUpO1xuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tVmFsdWUsIGluY3JlbWVudCA9IDApIHtcbiAgICBjb25zdCBuZXdab29tVmFsdWUgPSB6b29tVmFsdWUgKyBpbmNyZW1lbnQ7XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA+IDUpIHsgcmV0dXJuIDU7IH1cbiAgICBpZiAobmV3Wm9vbVZhbHVlIDwgMC4xKSB7IHJldHVybiAwLjE7IH1cbiAgICByZXR1cm4gK25ld1pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgb25Mb2FkRXJyb3IodXJsKSB7XG4gICAgdGhpcy5yZXNwb25zZSA9IHRoaXMudmlld2VyVXRpbFNlcnZpY2UudmFsaWRhdGVGaWxlKHVybClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIG5leHQgPT4gbmV4dCxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMudmlld2VyRXhjZXB0aW9uID0gbmV3IFZpZXdlckV4Y2VwdGlvbihlcnJvci5uYW1lLFxuICAgICAgICAgICAgeyBodHRwUmVzcG9uc2VDb2RlOiBlcnJvci5zdGF0dXMsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgQ291bGQgbm90IGxvYWQgdGhlIGltYWdlIFwiJHt0aGlzLnVybH1cImA7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuRkFJTFVSRSk7XG4gICAgdGhpcy5pbWFnZVZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgfVxuXG4gIG9uTG9hZChpbWc6IGFueSkge1xuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLlNVQ0NFU1MpO1xuICAgIHRoaXMuaW5pdEFubm9QYWdlKGltZyk7XG4gIH1cblxuICBpbml0QW5ub1BhZ2UoaW1nOiBhbnkpIHtcbiAgICB0aGlzLmltYWdlSGVpZ2h0ID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRXaWR0aCA6IGltZy5vZmZzZXRIZWlnaHQ7XG4gICAgdGhpcy5pbWFnZVdpZHRoID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRIZWlnaHQgOiBpbWcub2Zmc2V0V2lkdGg7XG4gICAgdGhpcy5pbWFnZUxlZnQgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldFRvcCA6IGltZy5vZmZzZXRMZWZ0O1xuICAgIHRoaXMuaW1hZ2VUb3AgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldExlZnQgOiBpbWcub2Zmc2V0VG9wO1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IFt7XG4gICAgICBkaXY6IHtcbiAgICAgICAgc2Nyb2xsSGVpZ2h0OiB0aGlzLmltYWdlSGVpZ2h0LFxuICAgICAgICBzY3JvbGxXaWR0aDogdGhpcy5pbWFnZVdpZHRoLFxuICAgICAgICBvZmZzZXRMZWZ0OiB0aGlzLmltYWdlTGVmdCxcbiAgICAgIH0sXG4gICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgc2NhbGU6IHRoaXMuem9vbSxcbiAgICAgIHJvdGF0aW9uOiB0aGlzLnJvdGF0aW9uLFxuICAgICAgaWQ6IDFcbiAgICB9XTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudC5BZGRQYWdlcyhwYXlsb2FkKSk7XG4gIH1cblxuICB0b2dnbGVDb21tZW50c1N1bW1hcnkoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzU3VtbWFyeSghdGhpcy50b29sYmFyRXZlbnRzLnNob3dDb21tZW50U3VtbWFyeS5nZXRWYWx1ZSgpKTtcbiAgfVxufVxuIl19
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ZpZXdlcnMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEtBQUssWUFBWSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU03RCxNQUFNLE9BQU8sb0JBQW9CO0lBOEIvQixZQUNVLEtBQTBDLEVBQ2pDLFlBQTBCLEVBQzFCLGlCQUFvQyxFQUNyQyxhQUFrQyxFQUNsQyxjQUE4QyxFQUN0RCxZQUFnQztRQUxoQyxVQUFLLEdBQUwsS0FBSyxDQUFxQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JDLGtCQUFhLEdBQWIsYUFB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bWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVmlld2VyVXRpbFNlcnZpY2UgfSBmcm9tICcuLi92aWV3ZXItdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudCBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25BY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXYtaW1hZ2Utdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBhbm5vdGF0aW9uU2V0OiBBbm5vdGF0aW9uU2V0IHwgbnVsbDtcblxuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZztcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSBpbWFnZVZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ2ltZycsIHtzdGF0aWM6IGZhbHNlfSkgaW1nOiBFbGVtZW50UmVmO1xuICByb3RhdGlvbiA9IDA7XG4gIHpvb20gPSAxO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgcHJpdmF0ZSByZXNwb25zZTogU3Vic2NyaXB0aW9uO1xuXG4gIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcbiAgaW1hZ2VIZWlnaHQ6IG51bWJlcjtcbiAgaW1hZ2VXaWR0aDogbnVtYmVyO1xuICBpbWFnZUxlZnQ6IG51bWJlcjtcbiAgaW1hZ2VUb3A6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld2VyVXRpbFNlcnZpY2U6IFZpZXdlclV0aWxTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucm90YXRlU3ViamVjdC5zdWJzY3JpYmUocm90YXRpb24gPT4gdGhpcy5yb3RhdGVJbWFnZShyb3RhdGlvbikpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc2V0Wm9vbSh6b29tKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc3RlcFpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc3RlcFpvb20oem9vbSkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnByaW50U3ViamVjdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wcmludFNlcnZpY2UucHJpbnREb2N1bWVudE5hdGl2ZWx5KHRoaXMudXJsKSksXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuZG93bmxvYWRTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB0aGlzLmRvd25sb2FkKCkpLFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmdyYWJORHJhZy5zdWJzY3JpYmUoZ3JhYk5EcmFnID0+IHRoaXMuZW5hYmxlR3JhYk5EcmFnID0gZ3JhYk5EcmFnKSxcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5jb21tZW50c1BhbmVsVmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHRoaXMuc2hvd0NvbW1lbnRzUGFuZWwgPSB0b2dnbGUpXG4gICAgKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uSW1hZ2VWaWV3ZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGNsYXNzTm1lID0gKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5jbGFzc05hbWU7XG4gICAgaWYgKGNsYXNzTm1lLnN0YXJ0c1dpdGgoJ3BhZ2VDb250YWluZXInKSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgbmV3IGZyb21Bbm5vdGF0aW9uQWN0aW9ucy5TZWxlY3RlZEFubm90YXRpb24oe1xuICAgICAgICAgIGFubm90YXRpb25JZDogJycsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnZpZXdlckV2ZW50cy5jbGVhckN0eFRvb2xiYXIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZmlsdGVyKHN1YnNjcmlwdGlvbiA9PiAhc3Vic2NyaXB0aW9uLmNsb3NlZClcbiAgICAgIC5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudXJsKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZUltYWdlKHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG4gICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRab29tVmFsdWUodGhpcy5jYWxjdWxhdGVab29tVmFsdWUoem9vbUZhY3RvcikpO1xuICAgICAgdGhpcy5pbWcubmF0aXZlRWxlbWVudC53aWR0aCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQubmF0dXJhbFdpZHRoICogdGhpcy56b29tO1xuICAgICAgdGhpcy5pbml0QW5ub1BhZ2UodGhpcy5pbWcubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGVwWm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldFpvb21WYWx1ZSh0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh0aGlzLnpvb20sIHpvb21GYWN0b3IpKTtcbiAgICAgIHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQud2lkdGggPSB0aGlzLmltZy5uYXRpdmVFbGVtZW50Lm5hdHVyYWxXaWR0aCAqIHRoaXMuem9vbTtcbiAgICAgIHRoaXMuaW5pdEFubm9QYWdlKHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZG93bmxvYWQoKSB7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgYS5ocmVmID0gdGhpcy51cmw7XG4gICAgYS5kb3dubG9hZCA9IHRoaXMuZG93bmxvYWRGaWxlTmFtZTtcbiAgICBhLmNsaWNrKCk7XG4gICAgYS5yZW1vdmUoKTtcbiAgfVxuXG4gIC8vIHRoZSByZXR1cm5lZCBwcm9taXNlIGlzIGEgd29yay1hcm91bmRcbiAgc2V0Wm9vbVZhbHVlKHpvb21WYWx1ZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy56b29tID0gem9vbVZhbHVlO1xuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnpvb21WYWx1ZVN1YmplY3QubmV4dCh6b29tVmFsdWUpO1xuICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tVmFsdWUsIGluY3JlbWVudCA9IDApIHtcbiAgICBjb25zdCBuZXdab29tVmFsdWUgPSB6b29tVmFsdWUgKyBpbmNyZW1lbnQ7XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA+IDUpIHsgcmV0dXJuIDU7IH1cbiAgICBpZiAobmV3Wm9vbVZhbHVlIDwgMC4xKSB7IHJldHVybiAwLjE7IH1cbiAgICByZXR1cm4gK25ld1pvb21WYWx1ZS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgb25Mb2FkRXJyb3IodXJsKSB7XG4gICAgdGhpcy5yZXNwb25zZSA9IHRoaXMudmlld2VyVXRpbFNlcnZpY2UudmFsaWRhdGVGaWxlKHVybClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIG5leHQgPT4gbmV4dCxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMudmlld2VyRXhjZXB0aW9uID0gbmV3IFZpZXdlckV4Y2VwdGlvbihlcnJvci5uYW1lLFxuICAgICAgICAgICAgeyBodHRwUmVzcG9uc2VDb2RlOiBlcnJvci5zdGF0dXMsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBgQ291bGQgbm90IGxvYWQgdGhlIGltYWdlIFwiJHt0aGlzLnVybH1cImA7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuRkFJTFVSRSk7XG4gICAgdGhpcy5pbWFnZVZpZXdlckV4Y2VwdGlvbi5lbWl0KHRoaXMudmlld2VyRXhjZXB0aW9uKTtcbiAgfVxuXG4gIG9uTG9hZChpbWc6IGFueSkge1xuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLlNVQ0NFU1MpO1xuICAgIHRoaXMuaW5pdEFubm9QYWdlKGltZyk7XG4gIH1cblxuICBpbml0QW5ub1BhZ2UoaW1nOiBhbnkpIHtcbiAgICB0aGlzLmltYWdlSGVpZ2h0ID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRXaWR0aCA6IGltZy5vZmZzZXRIZWlnaHQ7XG4gICAgdGhpcy5pbWFnZVdpZHRoID0gdGhpcy5yb3RhdGlvbiAlIDE4MCAhPT0gMCA/IGltZy5vZmZzZXRIZWlnaHQgOiBpbWcub2Zmc2V0V2lkdGg7XG4gICAgdGhpcy5pbWFnZUxlZnQgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldFRvcCA6IGltZy5vZmZzZXRMZWZ0O1xuICAgIHRoaXMuaW1hZ2VUb3AgPSB0aGlzLnJvdGF0aW9uICUgMTgwICE9PSAwID8gaW1nLm9mZnNldExlZnQgOiBpbWcub2Zmc2V0VG9wO1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IFt7XG4gICAgICBkaXY6IHtcbiAgICAgICAgc2Nyb2xsSGVpZ2h0OiB0aGlzLmltYWdlSGVpZ2h0LFxuICAgICAgICBzY3JvbGxXaWR0aDogdGhpcy5pbWFnZVdpZHRoLFxuICAgICAgICBvZmZzZXRMZWZ0OiB0aGlzLmltYWdlTGVmdCxcbiAgICAgIH0sXG4gICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgc2NhbGU6IHRoaXMuem9vbSxcbiAgICAgIHJvdGF0aW9uOiB0aGlzLnJvdGF0aW9uLFxuICAgICAgaWQ6IDFcbiAgICB9XTtcblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Eb2N1bWVudC5BZGRQYWdlcyhwYXlsb2FkKSk7XG4gIH1cblxuICB0b2dnbGVDb21tZW50c1N1bW1hcnkoKSB7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzU3VtbWFyeSghdGhpcy50b29sYmFyRXZlbnRzLnNob3dDb21tZW50U3VtbWFyeS5nZXRWYWx1ZSgpKTtcbiAgfVxufVxuIl19
|