@net7/components 3.0.2-rc.2 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/advanced-autocomplete/advanced-autocomplete.mjs +3 -3
- package/esm2020/lib/components/alert/alert.mjs +3 -3
- package/esm2020/lib/components/anchor-wrapper/anchor-wrapper.mjs +3 -3
- package/esm2020/lib/components/breadcrumbs/breadcrumbs.mjs +3 -3
- package/esm2020/lib/components/bubble-chart/bubble-chart.mjs +179 -134
- package/esm2020/lib/components/carousel/carousel.mjs +3 -3
- package/esm2020/lib/components/chart/chart.mjs +3 -3
- package/esm2020/lib/components/content-placeholder/content-placeholder.mjs +3 -3
- package/esm2020/lib/components/data-widget/data-widget.mjs +3 -3
- package/esm2020/lib/components/datepicker/datepicker.mjs +3 -3
- package/esm2020/lib/components/facet/facet.mjs +3 -3
- package/esm2020/lib/components/facet-header/facet-header.mjs +3 -3
- package/esm2020/lib/components/facet-year-range/facet-year-range.mjs +3 -3
- package/esm2020/lib/components/footer/footer.mjs +3 -3
- package/esm2020/lib/components/header/header.mjs +3 -3
- package/esm2020/lib/components/hero/hero.mjs +3 -3
- package/esm2020/lib/components/histogram-range/histogram-range.mjs +27 -13
- package/esm2020/lib/components/histogram-range/histogram-range.mock.mjs +3 -3
- package/esm2020/lib/components/image-viewer/image-viewer.mjs +3 -3
- package/esm2020/lib/components/image-viewer-tools/image-viewer-tools.mjs +5 -5
- package/esm2020/lib/components/inner-title/inner-title.mjs +3 -3
- package/esm2020/lib/components/input-checkbox/input-checkbox.mjs +5 -5
- package/esm2020/lib/components/input-link/input-link.mjs +3 -3
- package/esm2020/lib/components/input-select/input-select.mjs +5 -5
- package/esm2020/lib/components/input-text/input-text.mjs +5 -5
- package/esm2020/lib/components/item-preview/item-preview.mjs +3 -3
- package/esm2020/lib/components/loader/loader.mjs +3 -3
- package/esm2020/lib/components/map/map.mjs +3 -3
- package/esm2020/lib/components/metadata-viewer/metadata-viewer.mjs +3 -3
- package/esm2020/lib/components/nav/nav.mjs +3 -3
- package/esm2020/lib/components/pagination/pagination.mjs +3 -3
- package/esm2020/lib/components/progress-line/progress-line.mjs +3 -3
- package/esm2020/lib/components/sidebar-header/sidebar-header.mjs +3 -3
- package/esm2020/lib/components/signup/signup.mjs +3 -3
- package/esm2020/lib/components/simple-autocomplete/simple-autocomplete.mjs +3 -3
- package/esm2020/lib/components/table/table.mjs +3 -3
- package/esm2020/lib/components/tag/tag.mjs +3 -3
- package/esm2020/lib/components/text-viewer/text-viewer.mjs +15 -5
- package/esm2020/lib/components/text-viewer/text-viewer.mock.mjs +29 -26
- package/esm2020/lib/components/timeline/timeline.mjs +3 -3
- package/esm2020/lib/components/toast/toast.mjs +3 -3
- package/esm2020/lib/components/tooltip-content/tooltip-content.mjs +3 -3
- package/esm2020/lib/components/tree/tree.mjs +3 -3
- package/esm2020/lib/components/wizard/wizard.mjs +3 -3
- package/esm2020/lib/dv-components-lib.module.mjs +4 -4
- package/fesm2015/net7-components.mjs +374 -301
- package/fesm2015/net7-components.mjs.map +1 -1
- package/fesm2020/net7-components.mjs +373 -301
- package/fesm2020/net7-components.mjs.map +1 -1
- package/lib/components/bubble-chart/bubble-chart.d.ts +36 -17
- package/lib/components/histogram-range/histogram-range.d.ts +11 -1
- package/lib/components/text-viewer/text-viewer.d.ts +2 -0
- package/package.json +1 -1
- package/src/lib/styles/components/_text-viewer.scss +7 -1
|
@@ -70,6 +70,7 @@ export class HistogramRangeComponent {
|
|
|
70
70
|
const svg = d3
|
|
71
71
|
.select(`#${containerId}`)
|
|
72
72
|
.attr('viewBox', `0 0 ${width + margin.left + margin.right} ${height + margin.top + margin.bottom}`);
|
|
73
|
+
this.svg = svg;
|
|
73
74
|
const scaleHeight = d3
|
|
74
75
|
.scaleSymlog() // most similar scale to the original
|
|
75
76
|
.domain([0, d3.max(items, (d) => d.value)])
|
|
@@ -118,7 +119,7 @@ export class HistogramRangeComponent {
|
|
|
118
119
|
.attr('fill', 'url(#gradient)');
|
|
119
120
|
barsLayer // catch bar events
|
|
120
121
|
.on('mousemove', (event) => {
|
|
121
|
-
const year = XtoLABEL(event.
|
|
122
|
+
const year = XtoLABEL(this.getEventCoords(event).x);
|
|
122
123
|
d3.selectAll('rect.bars').attr('fill', (d) => {
|
|
123
124
|
if (year === d.label)
|
|
124
125
|
return '#B0CCF8';
|
|
@@ -129,7 +130,7 @@ export class HistogramRangeComponent {
|
|
|
129
130
|
d3.selectAll('rect.bars').attr('fill', (d) => colourBars(d));
|
|
130
131
|
})
|
|
131
132
|
.on('click', (event) => {
|
|
132
|
-
const label = XtoLABEL(event.
|
|
133
|
+
const label = XtoLABEL(this.getEventCoords(event).x);
|
|
133
134
|
const xAxisValue = LABELtoX(label) + LABELtoX.bandwidth() / 2;
|
|
134
135
|
const newValue = {
|
|
135
136
|
x: xAxisValue,
|
|
@@ -195,8 +196,8 @@ export class HistogramRangeComponent {
|
|
|
195
196
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
196
197
|
const self = this; // FIXME: Allow use of class "this" inside dragging update;
|
|
197
198
|
/**
|
|
198
|
-
|
|
199
|
-
|
|
199
|
+
* Animate the elements while the user is dragging one of the range selectors
|
|
200
|
+
*/
|
|
200
201
|
function draggingUpdate(event, data) {
|
|
201
202
|
const label = XtoLABEL(event.x);
|
|
202
203
|
const xAxisValue = LABELtoX(label) + LABELtoX.bandwidth() / 2;
|
|
@@ -308,20 +309,22 @@ export class HistogramRangeComponent {
|
|
|
308
309
|
this.d3.selectAll('rect.bars').attr('fill', (d) => this.colourBars(d));
|
|
309
310
|
};
|
|
310
311
|
/** Public api that allows to dinamically change the slider position */
|
|
311
|
-
this.setSliders = ([startLabel, endLabel]) => {
|
|
312
|
+
this.setSliders = ([startLabel, endLabel], emit = true) => {
|
|
313
|
+
// setSliders([1450, 1575])
|
|
312
314
|
this.data.setSliders = [`${startLabel}`, `${endLabel}`];
|
|
313
315
|
this.draw();
|
|
314
316
|
this.d3.selectAll('rect.bars').attr('fill', (d) => this.colourBars(d));
|
|
315
317
|
const range = this.getSelectedRange();
|
|
316
|
-
|
|
318
|
+
if (emit)
|
|
319
|
+
this.emit('rangeselected', range);
|
|
317
320
|
this.textCollision(this.sliders);
|
|
318
321
|
return range;
|
|
319
322
|
};
|
|
320
323
|
}
|
|
321
324
|
ngAfterContentChecked() {
|
|
322
325
|
/*
|
|
323
|
-
|
|
324
|
-
|
|
326
|
+
Waits for the dom to be loaded, then fires the draw function
|
|
327
|
+
that renders the chart.
|
|
325
328
|
*/
|
|
326
329
|
if (this.data) {
|
|
327
330
|
if (this._loaded)
|
|
@@ -342,7 +345,7 @@ export class HistogramRangeComponent {
|
|
|
342
345
|
});
|
|
343
346
|
}
|
|
344
347
|
// eslint-disable-next-line dot-notation
|
|
345
|
-
window['setSliders'] = this.setSliders;
|
|
348
|
+
// window['setSliders'] = this.setSliders;
|
|
346
349
|
});
|
|
347
350
|
});
|
|
348
351
|
}
|
|
@@ -356,6 +359,17 @@ export class HistogramRangeComponent {
|
|
|
356
359
|
.paddingInner(0.17)
|
|
357
360
|
.paddingOuter(1);
|
|
358
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Get an event with viewBox coordinates and
|
|
364
|
+
* parse them in absolute coordinates
|
|
365
|
+
*/
|
|
366
|
+
getEventCoords(event) {
|
|
367
|
+
const m = event.target.getScreenCTM();
|
|
368
|
+
const point = this.svg.node().createSVGPoint();
|
|
369
|
+
point.x = event.clientX;
|
|
370
|
+
point.y = event.clientY;
|
|
371
|
+
return point.matrixTransform(m.inverse());
|
|
372
|
+
}
|
|
359
373
|
/** Emits an event when the component has loaded */
|
|
360
374
|
emitLoaded(payload) {
|
|
361
375
|
if (!this.emit)
|
|
@@ -363,9 +377,9 @@ export class HistogramRangeComponent {
|
|
|
363
377
|
this.emit('loaded', payload);
|
|
364
378
|
}
|
|
365
379
|
}
|
|
366
|
-
HistogramRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
367
|
-
HistogramRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
380
|
+
HistogramRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: HistogramRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
381
|
+
HistogramRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: HistogramRangeComponent, selector: "n7-histogram-range", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-histogram-range\">\n <svg #histogramRange [id]=\"data.containerId\"></svg>\n</div>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: HistogramRangeComponent, decorators: [{
|
|
369
383
|
type: Component,
|
|
370
384
|
args: [{ selector: 'n7-histogram-range', template: "<div *ngIf=\"data\" class=\"n7-histogram-range\">\n <svg #histogramRange [id]=\"data.containerId\"></svg>\n</div>\n" }]
|
|
371
385
|
}], propDecorators: { data: [{
|
|
@@ -373,4 +387,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
373
387
|
}], emit: [{
|
|
374
388
|
type: Input
|
|
375
389
|
}] } });
|
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdZLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFFdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNSLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNGLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUNyQixLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFDM0IsSUFBSSxFQUFFLFVBQVUsRUFDbkIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQyxNQUFNLEtBQUssQ0FBQyww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RCxtREFBbUQ7SUFDbkQsVUFBVSxDQUFDLE9BQU87UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O29IQXRZUSx1QkFBdUI7d0dBQXZCLHVCQUF1QixrR0NoR3BDLHdIQUdBOzJGRDZGYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0ksb0JBQW9COzhCQUlyQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBISVNUT0dSQU0tUkFOR0UudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8qKlxuICogSW50ZXJmYWNlIGZvciBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGlzdG9ncmFtUmFuZ2VEYXRhIHtcbiAgICAvKipcbiAgICAgKiB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGhpc3RvZ3JhbS1yYW5nZSBzdmdcbiAgICAgKi9cbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIHRvdGFsIHdpZHRoIGZvciB0aGUgc3ZnIGVsZW1lbnRcbiAgICAgKi9cbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIHRvdGFsIGhlaWdodCBmb3IgdGhlIHN2ZyBlbGVtZW50XG4gICAgICovXG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgbWFyZ2lucyBvZiB0aGUgc3ZnXG4gICAgICovXG4gICAgbWFyZ2luOiB7XG4gICAgICAgIGxlZnQ6IG51bWJlcjtcbiAgICAgICAgcmlnaHQ6IG51bWJlcjtcbiAgICAgICAgdG9wOiBudW1iZXI7XG4gICAgICAgIGJvdHRvbTogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogVGhlbWUgb2YgdGhlIGhpc3RvZ3JhbVxuICAgICAqL1xuICAgIGNvbG91cnM6IHtcbiAgICAgICAgdG9wOiBzdHJpbmc7XG4gICAgICAgIGJvdHRvbTogc3RyaW5nO1xuICAgICAgICBhY2NlbnQ6IHN0cmluZztcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIERhdGEgZm9yIHRoZSBoaXN0b2dyYW0gYmFyc1xuICAgICAqL1xuICAgIGl0ZW1zOiB7XG4gICAgICAgIC8qKiBkZWZhdWx0IGxhYmVsIG9mIHRoZSBpdGVtICovXG4gICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgIC8qKiB5LWF4aXMgdmFsdWUgb2YgdGhlIGJhciAoaGVpZ2h0KSAqL1xuICAgICAgICB2YWx1ZTogbnVtYmVyO1xuICAgICAgICAvKiogcGF5bG9hZCB0aGF0IHRoZSBpdGVtIHNob3VsZCBlbWl0IHdoZW4gc2VsZWN0ZWQgKi9cbiAgICAgICAgcGF5bG9hZDogYW55O1xuICAgICAgICAvKipcbiAgICAgICAgICogJ3VwcGVyJyB2YWx1ZXMgb2YgdGhlIHJhbmdlLlxuICAgICAgICAgKiBvbmx5IHVzZWQgd2hlbiBlYWNoIGJhciByZXByZXNlbnRzIGEgcmFuZ2UuXG4gICAgICAgICAqL1xuICAgICAgICByYW5nZT86IHtcbiAgICAgICAgICAgIC8qKiBsYWJlbCBsb2FkZWQgd2hlbiBzZWxlY3RlZCBieSB0aGUgcmlnaHQtbW9zdCBwb2ludGVyICovXG4gICAgICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICAgICAgLyoqIHBheWxvYWQgZW1pdHRlZCB3aGVuIHNlbGVjdGVkIGJ5IHRoZSByaWdodC1tb3N0IHBvaW50ZXIgKi9cbiAgICAgICAgICAgIHBheWxvYWQ6IGFueTtcbiAgICAgICAgfTtcbiAgICB9W107XG4gICAgLyoqXG4gICAgICogQXhpcyBzZXR0aW5nc1xuICAgICAqL1xuICAgIGF4aXM/OiB7XG4gICAgICAgIC8qKiBZIEF4aXMgc2V0dGluZ3MgKi9cbiAgICAgICAgeUF4aXM/OiB7XG4gICAgICAgICAgICAvKiogVHVybiBvbiBhbmQgb2ZmIHRoZSBheGlzICovXG4gICAgICAgICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgICAgICAgIC8qKiBNYW51YWxseSBzZXQgdGhlIGF4aXMgdmFsdWVzIHRvIHNob3cgKi9cbiAgICAgICAgICAgIHZhbHVlcz86IG51bWJlcltdO1xuICAgICAgICAgICAgLyoqIEhvdyBtYW55IHRpY2tzIGRvIHlvdSB3YW50IHRvIHNlZSAqL1xuICAgICAgICAgICAgdGlja0Ftb3VudD86IG51bWJlcjtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIGV4cG9zZSB0aGUgZHJhdyBmdW5jdGlvbiBvdXRzaWRlIG9mIG43LWZyb250ZW5kL2NvbXBvbmVudHMgbGlicmFyeVxuICAgICAqIHRoaXMgaXMgbmVlZGVkIHRvIHJlZHJhdyBidWJibGUtY2hhcnQtY29tcG9uZW50IG9uIGNvbW1hbmRcbiAgICAgKi9cbiAgICBzZXREcmF3PzogYW55O1xuICAgIC8qKlxuICAgICAqIHNldFNsaWRlcnNcbiAgICAgKi9cbiAgICBzZXRTbGlkZXJzPzogTGFiZWxDb3VwbGU7XG4gICAgLyoqXG4gICAgICogUHVibGljIGFwaVxuICAgICAqL1xuICAgIHNldEFwaT86IGFueTtcbn1cblxudHlwZSBTbGlkZXJzID0geyB4OiBudW1iZXI7IHk6IG51bWJlciB9W107XG50eXBlIExhYmVsQ291cGxlID0gW3N0cmluZywgc3RyaW5nXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduNy1oaXN0b2dyYW0tcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oaXN0b2dyYW0tcmFuZ2UuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSGlzdG9ncmFtUmFuZ2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgICBASW5wdXQoKSBkYXRhOiBIaXN0b2dyYW1SYW5nZURhdGE7XG5cbiAgICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgICBwcml2YXRlIGQzO1xuXG4gICAgcHJpdmF0ZSBzbGlkZXJzOiBTbGlkZXJzID0gW107XG5cbiAgICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgY29sb3VyQmFycztcblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRSYW5nZTtcblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgLypcbiAgICAgICAgIFdhaXRzIGZvciB0aGUgZG9tIHRvIGJlIGxvYWRlZCwgdGhlbiBmaXJlcyB0aGUgZHJhdyBmdW5jdGlvblxuICAgICAgICAgdGhhdCByZW5kZXJzIHRoZSBjaGFydC5cbiAgICAgICAgKi9cbiAgICAgICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2xvYWRlZCkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGltcG9ydCgnZDMnKS50aGVuKChtb2R1bGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kMyA9IG1vZHVsZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmF3KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdExvYWRlZCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuc2V0RHJhdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLnNldERyYXcodGhpcy5kcmF3KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhLnNldEFwaSkgeyAvLyBleHBvc2UgdGhlIGNvbXBvbmVudCBhcGlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5zZXRBcGkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNsaWRlcnM6IHRoaXMuc2V0U2xpZGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRCYXJzOiB0aGlzLnNldEJhcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZG90LW5vdGF0aW9uXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvd1snc2V0U2xpZGVycyddID0gdGhpcy5zZXRTbGlkZXJzO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkcmF3ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGQzIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB3aWR0aCwgbWFyZ2luLCBoZWlnaHQsXG4gICAgICAgICAgICBpdGVtcywgY29sb3VycywgY29udGFpbmVySWQsXG4gICAgICAgICAgICBheGlzLCBzZXRTbGlkZXJzXG4gICAgICAgIH0gPSB0aGlzLmRhdGE7XG5cbiAgICAgICAgLy8gZGF0YSB2YWxpZGF0aW9uXG4gICAgICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICAgICAgaWYgKCFyYW5nZU1vZGUgJiYgaXRlbXMuc29tZSgoZCkgPT4gIWQucmFuZ2UpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignQWxsIGl0ZW1zIG11c3QgaGF2ZSB0aGUgXCJyYW5nZVwiIHByb3BlcnR5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIZWxwZXJzIC0gU3RhcnQ6XG4gICAgICAgIGNvbnN0IExBQkVMdG9YID0gZDNcbiAgICAgICAgICAgIC5zY2FsZUJhbmQoKVxuICAgICAgICAgICAgLmRvbWFpbihpdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgICAgICAgLnJhbmdlKFswLCB3aWR0aF0pXG4gICAgICAgICAgICAucGFkZGluZ0lubmVyKDAuMTcpXG4gICAgICAgICAgICAucGFkZGluZ091dGVyKDEpO1xuXG4gICAgICAgIGNvbnN0IFh0b0xBQkVMID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkb21haW4gPSBMQUJFTHRvWC5kb21haW4oKTtcbiAgICAgICAgICAgIGNvbnN0IHBhZGRpbmdPdXRlciA9IExBQkVMdG9YKGRvbWFpblswXSk7XG4gICAgICAgICAgICBjb25zdCBlYWNoQmFuZCA9IExBQkVMdG9YLnN0ZXAoKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gTWF0aC5mbG9vcigoKHZhbHVlIC0gcGFkZGluZ091dGVyKSAvIGVhY2hCYW5kKSk7XG4gICAgICAgICAgICByZXR1cm4gZG9tYWluW01hdGgubWF4KDAsIE1hdGgubWluKGluZGV4LCBkb21haW4ubGVuZ3RoIC0gMSkpXTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBZRUFSIFNFTEVDVElPTiBDSVJDTEVTXG4gICAgICAgIC8vIGxldCBzbGlkZXJzO1xuICAgICAgICBpZiAoc2V0U2xpZGVycyAmJiB0aGlzLnNsaWRlcnMpIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVycyA9IHNldFNsaWRlcnNcbiAgICAgICAgICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChkKSArIExBQkVMdG9YLmJhbmR3aWR0aCgpIC8gMiwgeTogaGVpZ2h0IH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVycyA9IGQzXG4gICAgICAgICAgICAgICAgLmV4dGVudChpdGVtcywgKGQpID0+IGQubGFiZWwpXG4gICAgICAgICAgICAgICAgLm1hcCgoZCkgPT4gKHsgeDogTEFCRUx0b1goZCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDIsIHk6IGhlaWdodCB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc0luUmFuZ2UgPSAoeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWxsSXRlbXMgPSB0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBYdG9MQUJFTChkLngpKTtcbiAgICAgICAgICAgIGlmICh5ID49IGQzLm1pbihhbGxJdGVtcykgJiYgeSA8PSBkMy5tYXgoYWxsSXRlbXMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfTtcblxuICAgICAgICBmdW5jdGlvbiBjb2xvdXJCYXJzKGQpIHtcbiAgICAgICAgICAgIGlmIChpc0luUmFuZ2UoZC5sYWJlbCkpIHJldHVybiAndXJsKCNncmFkaWVudCknO1xuICAgICAgICAgICAgcmV0dXJuICcjZTNlM2UzJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbG91ckJhcnMgPSBjb2xvdXJCYXJzO1xuXG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlU3RhcnQgPSBpdGVtcy5maW5kKChpdCkgPT4gaXQubGFiZWwgPT09IFh0b0xBQkVMKHRoaXMuc2xpZGVyc1swXS54KSk7XG4gICAgICAgICAgICBjb25zdCByYW5nZUVuZCA9IGl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5sYWJlbCA9PT0gWHRvTEFCRUwodGhpcy5zbGlkZXJzWzFdLngpKTtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgcmFuZ2VTdGFydC5wYXlsb2FkLFxuICAgICAgICAgICAgICAgIHJhbmdlTW9kZVxuICAgICAgICAgICAgICAgICAgICA/IHJhbmdlRW5kLnJhbmdlLnBheWxvYWRcbiAgICAgICAgICAgICAgICAgICAgOiByYW5nZUVuZC5wYXlsb2FkXG4gICAgICAgICAgICBdO1xuICAgICAgICB9O1xuICAgICAgICAvLyBIZWxwZXJzIC0gRW5kLlxuXG4gICAgICAgIC8vIGNsZWFyIEhUTUwgY29udGVudHNcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpLmlubmVySFRNTCA9ICcnO1xuICAgICAgICBjb25zdCBzdmcgPSBkM1xuICAgICAgICAgICAgLnNlbGVjdChgIyR7Y29udGFpbmVySWR9YClcbiAgICAgICAgICAgIC5hdHRyKCd2aWV3Qm94JywgYDAgMCAke3dpZHRoICsgbWFyZ2luLmxlZnQgKyBtYXJnaW4ucmlnaHR9ICR7aGVpZ2h0ICsgbWFyZ2luLnRvcCArIG1hcmdpbi5ib3R0b219YCk7XG5cbiAgICAgICAgY29uc3Qgc2NhbGVIZWlnaHQgPSBkM1xuICAgICAgICAgICAgLnNjYWxlU3ltbG9nKCkgLy8gbW9zdCBzaW1pbGFyIHNjYWxlIHRvIHRoZSBvcmlnaW5hbFxuICAgICAgICAgICAgLmRvbWFpbihbMCwgZDMubWF4KGl0ZW1zLCAoZCkgPT4gZC52YWx1ZSldKVxuICAgICAgICAgICAgLnJhbmdlKFtoZWlnaHQsIDBdKTtcblxuICAgICAgICAvLyBHUkFESUVOVFxuICAgICAgICBjb25zdCBkZWZzID0gc3ZnLmFwcGVuZCgnZGVmcycpOyAvLyBkZWZpbml0aW9uc1xuICAgICAgICBjb25zdCBncmFkaWVudCA9IGRlZnNcbiAgICAgICAgICAgIC5hcHBlbmQoJ2xpbmVhckdyYWRpZW50JylcbiAgICAgICAgICAgIC5hdHRyKCdpZCcsICdncmFkaWVudCcpXG4gICAgICAgICAgICAuYXR0cignZ3JhZGllbnRVbml0cycsICd1c2VyU3BhY2VPblVzZScpXG4gICAgICAgICAgICAuYXR0cigneDEnLCAwKVxuICAgICAgICAgICAgLmF0dHIoJ3kxJywgaGVpZ2h0KVxuICAgICAgICAgICAgLmF0dHIoJ3gyJywgMClcbiAgICAgICAgICAgIC5hdHRyKCd5MicsIG1hcmdpbi50b3ApO1xuICAgICAgICBncmFkaWVudFxuICAgICAgICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAgICAgICAuYXR0cignY2xhc3MnLCAnc3RhcnQnKVxuICAgICAgICAgICAgLmF0dHIoJ29mZnNldCcsICcwJScpXG4gICAgICAgICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMuYm90dG9tKSAvLyBib3R0b20gZ3JhZGllbnRcbiAgICAgICAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcbiAgICAgICAgZ3JhZGllbnRcbiAgICAgICAgICAgIC5hcHBlbmQoJ3N0b3AnKVxuICAgICAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2VuZCcpXG4gICAgICAgICAgICAuYXR0cignb2Zmc2V0JywgJzEwMCUnKVxuICAgICAgICAgICAgLmF0dHIoJ3N0b3AtY29sb3InLCBjb2xvdXJzLnRvcCkgLy8gdG9wIGdyYWRpZW50XG4gICAgICAgICAgICAuYXR0cignc3RvcC1vcGFjaXR5JywgMSk7XG5cbiAgICAgICAgLy8gRFJBVyBJTlNJREUgTUFSR0lOU1xuICAgICAgICBjb25zdCBnID0gc3ZnXG4gICAgICAgICAgICAuYXBwZW5kKCdnJylcbiAgICAgICAgICAgIC5hdHRyKCdjbGFzcycsICdjaGFydCcpXG4gICAgICAgICAgICAuYXR0cigndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke21hcmdpbi5sZWZ0fSwke21hcmdpbi50b3B9KWApO1xuXG4gICAgICAgIGNvbnN0IGJhcnNMYXllciA9IGcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnYmFycycpO1xuICAgICAgICBjb25zdCBjb250cm9sc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdjb250cm9scycpO1xuXG4gICAgICAgIC8vIEJBUiBDSEFSVFxuICAgICAgICBiYXJzTGF5ZXIgLy8gYmFyc1xuICAgICAgICAgICAgLnNlbGVjdEFsbCgncmVjdC5iYXJzJylcbiAgICAgICAgICAgIC5kYXRhKGl0ZW1zKVxuICAgICAgICAgICAgLmpvaW4oJ3JlY3QnKVxuICAgICAgICAgICAgLmF0dHIoJ2NsYXNzJywgJ2JhcnMnKVxuICAgICAgICAgICAgLmF0dHIoJ3dpZHRoJywgTEFCRUx0b1guYmFuZHdpZHRoKVxuICAgICAgICAgICAgLmF0dHIoJ2hlaWdodCcsIChkKSA9PiBoZWlnaHQgLSBzY2FsZUhlaWdodChkLnZhbHVlKSlcbiAgICAgICAgICAgIC5hdHRyKCd5JywgKGQpID0+IHNjYWxlSGVpZ2h0KGQudmFsdWUpKVxuICAgICAgICAgICAgLmF0dHIoJ3gnLCAoZCkgPT4gTEFCRUx0b1goZC5sYWJlbCkpXG4gICAgICAgICAgICAuYXR0cignZGF0YS1zdGFydCcsIChkKSA9PiBkLnBheWxvYWQpIC8vIG1ha2UgdGhlIGRhdGEgZWFzaWx5IGFjY2Vzc2libGVcbiAgICAgICAgICAgIC5hdHRyKCdkYXRhLWVuZCcsIChkKSA9PiAoZC5yYW5nZSA/IGQucmFuZ2UucGF5bG9hZCA6IGQucGF5bG9hZCkpXG4gICAgICAgICAgICAuYXR0cignZmlsbCcsICd1cmwoI2dyYWRpZW50KScpO1xuXG4gICAgICAgIGJhcnNMYXllciAvLyBjYXRjaCBiYXIgZXZlbnRzXG4gICAgICAgICAgICAub24oJ21vdXNlbW92ZScsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHllYXIgPSBYdG9MQUJFTChldmVudC5vZmZzZXRYIC0gbWFyZ2luLmxlZnQpO1xuICAgICAgICAgICAgICAgIGQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh5ZWFyID09PSBkLmxhYmVsKSByZXR1cm4gJyNCMENDRjgnO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29sb3VyQmFycyhkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAub24oJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBYdG9MQUJFTChldmVudC5vZmZzZXRYIC0gbWFyZ2luLmxlZnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHhBeGlzVmFsdWUgPSBMQUJFTHRvWChsYWJlbCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDI7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgIHg6IHhBeGlzVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHk6IGhlaWdodFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5zbGlkZXJzID0gW1xuICAgICAgICAgICAgICAgICAgICAvLyBhdm9pZCBqb2luaW5nIHRoZSB0d28gb2JqZWN0cyFcbiAgICAgICAgICAgICAgICAgICAgeyAuLi5uZXdWYWx1ZSB9LFxuICAgICAgICAgICAgICAgICAgICB7IC4uLm5ld1ZhbHVlIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIHJhbmdlUGlja2VyXG4gICAgICAgICAgICAgICAgICAgIC5kYXRhKHRoaXMuc2xpZGVycylcbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdCgnY2lyY2xlJylcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAgICAgICAgICAgLmR1cmF0aW9uKDU1MClcbiAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueCk7XG4gICAgICAgICAgICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0KCdwYXRoLmJsdWVsaW5lJylcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgICAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAgICAgICAgICAgLmR1cmF0aW9uKDU1MClcbiAgICAgICAgICAgICAgICAgICAgLmF0dHIoJ2QnLCBkMy5saW5lKCkodGhpcy5zbGlkZXJzLm1hcCgoZCkgPT4gW2QueCwgZC55XSkpKTtcbiAgICAgICAgICAgICAgICBjb250cm9sc0xheWVyXG4gICAgICAgICAgICAgICAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgICAgICAgICAgICAgICAudHJhbnNpdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgICAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgICAgICAgICAgICAuYXR0cigneCcsICgpID0+IHhBeGlzVmFsdWUpXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJhbmdlTW9kZSkgcmV0dXJuIGxhYmVsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zLmZpbmQoKGl0KSA9PiBpdC5sYWJlbCA9PT0gbGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiAwKSByZXR1cm4gaXRlbS5yYW5nZS5sYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRleHRDb2xsaXNpb24odGhpcy5zbGlkZXJzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb250cm9sc0xheWVyIC8vIGdyYXkgbGluZVxuICAgICAgICAgICAgLmFwcGVuZCgncGF0aCcpXG4gICAgICAgICAgICAuYXR0cignY2xhc3MnLCAnZ3JheWxpbmUnKVxuICAgICAgICAgICAgLmF0dHIoXG4gICAgICAgICAgICAgICAgJ2QnLFxuICAgICAgICAgICAgICAgIGQzLmxpbmUoKShbXG4gICAgICAgICAgICAgICAgICAgIFswLCBoZWlnaHRdLFxuICAgICAgICAgICAgICAgICAgICBbd2lkdGgsIGhlaWdodF1cbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAgICAgICAuYXR0cignb3BhY2l0eScsIDEpXG4gICAgICAgICAgICAuYXR0cignc3Ryb2tlJywgJyNDMUM1QzcnKTtcblxuICAgICAgICBjb250cm9sc0xheWVyIC8vIGJsdWUgbGluZVxuICAgICAgICAgICAgLmFwcGVuZCgncGF0aCcpXG4gICAgICAgICAgICAuYXR0cignY2xhc3MnLCAnYmx1ZWxpbmUnKVxuICAgICAgICAgICAgLmF0dHIoJ2QnLCBkMy5saW5lKCkodGhpcy5zbGlkZXJzLm1hcCgoZCkgPT4gW2QueCwgZC55XSkpKVxuICAgICAgICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAgICAgICAuYXR0cignc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpO1xuXG4gICAgICAgIGNvbnN0IHJhbmdlUGlja2VyID0gY29udHJvbHNMYXllclxuICAgICAgICAgICAgLnNlbGVjdEFsbCgnZy5yYW5nZXBpY2tlcicpXG4gICAgICAgICAgICAuZGF0YSh0aGlzLnNsaWRlcnMuc29ydCgoYSwgYikgPT4gZDMuYXNjZW5kaW5nKGEueCwgYi54KSkpXG4gICAgICAgICAgICAuam9pbignZycpXG4gICAgICAgICAgICAuYXR0cignY2xhc3MnLCAncmFuZ2VwaWNrZXInKTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7IC8vIEZJWE1FOiBBbGxvdyB1c2Ugb2YgY2xhc3MgXCJ0aGlzXCIgaW5zaWRlIGRyYWdnaW5nIHVwZGF0ZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEFuaW1hdGUgdGhlIGVsZW1lbnRzIHdoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nIG9uZSBvZiB0aGUgcmFuZ2Ugc2VsZWN0b3JzXG4gICAgICAgICAqL1xuICAgICAgICBmdW5jdGlvbiBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSkge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBYdG9MQUJFTChldmVudC54KTtcbiAgICAgICAgICAgIGNvbnN0IHhBeGlzVmFsdWUgPSBMQUJFTHRvWChsYWJlbCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDI7XG4gICAgICAgICAgICBjb25zdCB5YiA9IFtdO1xuICAgICAgICAgICAgZy5zZWxlY3RBbGwoJ2NpcmNsZScpLmVhY2goZnVuY3Rpb24gc2V0QmFsbFBvc2l0aW9uKCkge1xuICAgICAgICAgICAgICAgIHliLnB1c2goeyB4OiArZDMuc2VsZWN0KHRoaXMpLmF0dHIoJ2N4JyksIHk6IGhlaWdodCB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc2VsZi5zbGlkZXJzID0geWIuc29ydCgoYSwgYikgPT4gZDMuYXNjZW5kaW5nKGEueCwgYi54KSk7XG4gICAgICAgICAgICAvLyBtb3ZlIHRoZSBjaXJjbGVcbiAgICAgICAgICAgIGQzLnNlbGVjdCh0aGlzKVxuICAgICAgICAgICAgICAgIC5zZWxlY3QoJ2NpcmNsZScpXG4gICAgICAgICAgICAgICAgLmF0dHIoJ2N4JywgZGF0YS54ID0geEF4aXNWYWx1ZSk7XG4gICAgICAgICAgICAvLyBtb3ZlIHRoZSBibHVlIGxpbmVcbiAgICAgICAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgICAgICAgICAuc2VsZWN0KCdwYXRoLmJsdWVsaW5lJylcbiAgICAgICAgICAgICAgICAuYXR0cignZCcsIGQzLmxpbmUoKShzZWxmLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpO1xuICAgICAgICAgICAgLy8gY2hhbmdlIHRoZSB0ZXh0IHBvc2l0aW9uXG4gICAgICAgICAgICBkMy5zZWxlY3QodGhpcylcbiAgICAgICAgICAgICAgICAuc2VsZWN0KCd0ZXh0JylcbiAgICAgICAgICAgICAgICAuYXR0cigneCcsICgpID0+IHhBeGlzVmFsdWUpO1xuICAgICAgICAgICAgLy8gY2hhbmdlIHRoZSB0ZXh0IHZhbHVlc1xuICAgICAgICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAgICAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgICAgICAgICAgIC50ZXh0KChkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGwgPSBYdG9MQUJFTChkLngpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJhbmdlTW9kZSkgcmV0dXJuIGw7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gc2VsZi5zbGlkZXJzLmZpbmRJbmRleCgoc2xpZGVyKSA9PiBzbGlkZXIueCA9PT0gZC54KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmFuZ2UgPSBzZWxmLmdldFNlbGVjdGVkUmFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvc2l0aW9uID09PSAxKSByZXR1cm4gcmFuZ2VbMV07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByYW5nZVswXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNlbGYudGV4dENvbGxpc2lvbihzZWxmLnNsaWRlcnMpO1xuICAgICAgICAgICAgLy8gY29sb3VyIHRoZSBiYXJzXG4gICAgICAgICAgICBnLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiBjb2xvdXJCYXJzKGQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJhbmdlUGlja2VyIC8vIGRyYWcgaGFuZGxlclxuICAgICAgICAgICAgLmNhbGwoZDMuZHJhZygpXG4gICAgICAgICAgICAgICAgLm9uKCdkcmFnJywgZHJhZ2dpbmdVcGRhdGUpXG4gICAgICAgICAgICAgICAgLm9uKCdlbmQnLCAoZXZlbnQsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIG9uZSBsYXN0IHRpbWUgdG8gcHJldmVudCBkZXN5bmNpbmdcbiAgICAgICAgICAgICAgICAgICAgZHJhZ2dpbmdVcGRhdGUoZXZlbnQsIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICAvLyBlbWl0IHRoZSBzZWxlY3RlZCByYW5nZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgIHJhbmdlUGlja2VyXG4gICAgICAgICAgICAuYXBwZW5kKCdjaXJjbGUnKVxuICAgICAgICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueClcbiAgICAgICAgICAgIC5hdHRyKCdjeScsIChkKSA9PiBkLnkpXG4gICAgICAgICAgICAuYXR0cigncicsIDkpXG4gICAgICAgICAgICAuYXR0cignZmlsbCcsICd3aGl0ZScpXG4gICAgICAgICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgICAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgICAgICAgIC5hdHRyKCdzdHlsZScsICdjdXJzb3I6IHBvaW50ZXInKTtcblxuICAgICAgICByYW5nZVBpY2tlclxuICAgICAgICAgICAgLmF0dHIoJ3RleHQtYW5jaG9yJywgJ21pZGRsZScpXG4gICAgICAgICAgICAuYXR0cignZm9udC1mYW1pbHknLCAnUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZicpXG4gICAgICAgICAgICAuYXR0cignZm9udC1zaXplJywgJzEycHgnKVxuICAgICAgICAgICAgLmFwcGVuZCgndGV4dCcpXG4gICAgICAgICAgICAuYXR0cigneScsIChkKSA9PiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMilcbiAgICAgICAgICAgIC5hdHRyKCd4JywgKGQpID0+IGQueClcbiAgICAgICAgICAgIC5hdHRyKCdmaWxsJywgY29sb3Vycy5hY2NlbnQpXG4gICAgICAgICAgICAudGV4dCgoZCwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGwgPSBYdG9MQUJFTChkLngpO1xuICAgICAgICAgICAgICAgIGlmIChyYW5nZU1vZGUgJiYgaSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5sYWJlbCA9PT0gbCkucmFuZ2UubGFiZWw7XG4gICAgICAgICAgICAgICAgfSByZXR1cm4gbDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChheGlzPy55QXhpcz8uc2hvdykge1xuICAgICAgICAgICAgY29uc3QgeUF4aXMgPSBkMy5heGlzTGVmdChzY2FsZUhlaWdodClcbiAgICAgICAgICAgICAgICAudGlja3MoYXhpcy55QXhpcy50aWNrQW1vdW50ID8/IDIpXG4gICAgICAgICAgICAgICAgLnRpY2tWYWx1ZXMoYXhpcy55QXhpcy52YWx1ZXMgPyBheGlzLnlBeGlzLnZhbHVlcyA6IG51bGwpO1xuICAgICAgICAgICAgY29uc3QgeUF4aXNHcm91cCA9IHN2Zy5hcHBlbmQoJ2cnKVxuICAgICAgICAgICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCAke21hcmdpbi50b3B9KWApXG4gICAgICAgICAgICAgICAgLmNhbGwoeUF4aXMpO1xuXG4gICAgICAgICAgICB5QXhpc0dyb3VwLnNlbGVjdEFsbCgncGF0aCwgbGluZScpLnN0eWxlKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG4gICAgICAgICAgICB5QXhpc0dyb3VwLnNlbGVjdEFsbCgndGV4dCcpLnN0eWxlKCdmaWxsJywgY29sb3Vycy5hY2NlbnQpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKiBBdm9pZCBjb2xsaXNpb24gb2YgdGhlIHNsaWRlciBsYWJlbHMgKi9cbiAgICB0ZXh0Q29sbGlzaW9uID0gKHNsaWRlcnM6IFNsaWRlcnMpID0+IHtcbiAgICAgICAgLy8gcHJlLXJlcXVpc2l0ZXNcbiAgICAgICAgY29uc3QgY29udHJvbHNMYXllciA9IHRoaXMuZDMuc2VsZWN0KCdnLmNoYXJ0Jykuc2VsZWN0KCdnLmNvbnRyb2xzJyk7XG4gICAgICAgIGNvbnN0IHsgaXRlbXMsIG1hcmdpbiB9ID0gdGhpcy5kYXRhO1xuICAgICAgICBjb25zdCByYW5nZU1vZGUgPSBpdGVtcy5ldmVyeSgoZCkgPT4gZC5yYW5nZSk7XG4gICAgICAgIC8vIHJ1biBjb2xsaXNpb24gZGV0ZWN0aW9uXG4gICAgICAgIGNvbnN0IGlzQ29sbGlkaW5nID0gc2xpZGVyc1swXS54ID09PSBzbGlkZXJzWzFdLng7XG4gICAgICAgIGlmIChyYW5nZU1vZGUgJiYgaXNDb2xsaWRpbmcpIHtcbiAgICAgICAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgICAgICAgICAuYXR0cigneScsIChkLCBpKSA9PiAoaSA+IDAgPyBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMiArIDEyIDogZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIpKVxuICAgICAgICAgICAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByYW5nZVtpXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgICAgICAgICAuYXR0cigneScsIChkKSA9PiBkLnkgKyBtYXJnaW4uYm90dG9tIC8gMik7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIEdldCB4LWF4aXMgcG9zaXRpb24gZnJvbSBsYWJlbCAqL1xuICAgIGxhYmVsVG9YKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kM1xuICAgICAgICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAgICAgICAuZG9tYWluKHRoaXMuZGF0YS5pdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgICAgICAgLnJhbmdlKFswLCB0aGlzLmRhdGEud2lkdGhdKVxuICAgICAgICAgICAgLnBhZGRpbmdJbm5lcigwLjE3KVxuICAgICAgICAgICAgLnBhZGRpbmdPdXRlcigxKTtcbiAgICB9XG5cbiAgICAvKiogUHVibGljIGFwaSB0aGF0IGFsbG93cyB0byBkaW5hbWljYWxseSBjaGFuZ2UgdGhlIGJhcnMgKi9cbiAgICBzZXRCYXJzID0gKG5ld0JhcnMpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhLml0ZW1zID0gbmV3QmFycztcbiAgICAgICAgdGhpcy5kcmF3KCk7XG4gICAgICAgIHRoaXMuZDMuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKS5hdHRyKCdmaWxsJywgKGQpID0+IHRoaXMuY29sb3VyQmFycyhkKSk7XG4gICAgfTtcblxuICAgIC8qKiBQdWJsaWMgYXBpIHRoYXQgYWxsb3dzIHRvIGRpbmFtaWNhbGx5IGNoYW5nZSB0aGUgc2xpZGVyIHBvc2l0aW9uICovXG4gICAgc2V0U2xpZGVycyA9IChbc3RhcnRMYWJlbCwgZW5kTGFiZWxdKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YS5zZXRTbGlkZXJzID0gW2Ake3N0YXJ0TGFiZWx9YCwgYCR7ZW5kTGFiZWx9YF07XG4gICAgICAgIHRoaXMuZHJhdygpO1xuICAgICAgICB0aGlzLmQzLnNlbGVjdEFsbCgncmVjdC5iYXJzJykuYXR0cignZmlsbCcsIChkKSA9PiB0aGlzLmNvbG91ckJhcnMoZCkpO1xuICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCByYW5nZSk7XG4gICAgICAgIHRoaXMudGV4dENvbGxpc2lvbih0aGlzLnNsaWRlcnMpO1xuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfTtcblxuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGxvYWRlZCAqL1xuICAgIGVtaXRMb2FkZWQocGF5bG9hZCkge1xuICAgICAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgICAgICB0aGlzLmVtaXQoJ2xvYWRlZCcsIHBheWxvYWQpO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkYXRhXCIgY2xhc3M9XCJuNy1oaXN0b2dyYW0tcmFuZ2VcIj5cbiAgICA8c3ZnICNoaXN0b2dyYW1SYW5nZSBbaWRdPVwiZGF0YS5jb250YWluZXJJZFwiPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
|
|
390
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hpc3RvZ3JhbS1yYW5nZS9oaXN0b2dyYW0tcmFuZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IscUJBQXFCO0FBQ3JCLDZCQUE2QjtBQUU3QixPQUFPLEVBQXVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJGdEUsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQVdVLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFLdEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQW1DeEIsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNWLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxFQUNKLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUNyQixLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFDM0IsSUFBSSxFQUFFLFVBQVUsRUFDakIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWQsa0JBQWtCO1lBQ2xCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLEtBQUssQ0FBQyww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QUFJLENBQUM7YUFDbEIsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsS0FBSztRQUNsQixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0MsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQXFCRCxtREFBbUQ7SUFDbkQsVUFBVSxDQUFDLE9BQU87UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDOztvSEF2WlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsa0dDaEdwQyx3SEFHQTsyRkQ2RmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFJckIsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSElTVE9HUkFNLVJBTkdFLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKipcbiAqIEludGVyZmFjZSBmb3IgSGlzdG9ncmFtUmFuZ2VDb21wb25lbnQncyBcImRhdGFcIlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhpc3RvZ3JhbVJhbmdlRGF0YSB7XG4gIC8qKlxuICAgKiB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGhpc3RvZ3JhbS1yYW5nZSBzdmdcbiAgICovXG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiB0b3RhbCB3aWR0aCBmb3IgdGhlIHN2ZyBlbGVtZW50XG4gICAqL1xuICB3aWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogdG90YWwgaGVpZ2h0IGZvciB0aGUgc3ZnIGVsZW1lbnRcbiAgICovXG4gIGhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogSW50ZXJuYWwgbWFyZ2lucyBvZiB0aGUgc3ZnXG4gICAqL1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgcmlnaHQ6IG51bWJlcjtcbiAgICB0b3A6IG51bWJlcjtcbiAgICBib3R0b206IG51bWJlcjtcbiAgfTtcbiAgLyoqXG4gICAqIFRoZW1lIG9mIHRoZSBoaXN0b2dyYW1cbiAgICovXG4gIGNvbG91cnM6IHtcbiAgICB0b3A6IHN0cmluZztcbiAgICBib3R0b206IHN0cmluZztcbiAgICBhY2NlbnQ6IHN0cmluZztcbiAgfTtcbiAgLyoqXG4gICAqIERhdGEgZm9yIHRoZSBoaXN0b2dyYW0gYmFyc1xuICAgKi9cbiAgaXRlbXM6IHtcbiAgICAvKiogZGVmYXVsdCBsYWJlbCBvZiB0aGUgaXRlbSAqL1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgLyoqIHktYXhpcyB2YWx1ZSBvZiB0aGUgYmFyIChoZWlnaHQpICovXG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICAvKiogcGF5bG9hZCB0aGF0IHRoZSBpdGVtIHNob3VsZCBlbWl0IHdoZW4gc2VsZWN0ZWQgKi9cbiAgICBwYXlsb2FkOiBhbnk7XG4gICAgLyoqXG4gICAgICogJ3VwcGVyJyB2YWx1ZXMgb2YgdGhlIHJhbmdlLlxuICAgICAqIG9ubHkgdXNlZCB3aGVuIGVhY2ggYmFyIHJlcHJlc2VudHMgYSByYW5nZS5cbiAgICAgKi9cbiAgICByYW5nZT86IHtcbiAgICAgIC8qKiBsYWJlbCBsb2FkZWQgd2hlbiBzZWxlY3RlZCBieSB0aGUgcmlnaHQtbW9zdCBwb2ludGVyICovXG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgLyoqIHBheWxvYWQgZW1pdHRlZCB3aGVuIHNlbGVjdGVkIGJ5IHRoZSByaWdodC1tb3N0IHBvaW50ZXIgKi9cbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICB9O1xuICB9W107XG4gIC8qKlxuICAgKiBBeGlzIHNldHRpbmdzXG4gICAqL1xuICBheGlzPzoge1xuICAgIC8qKiBZIEF4aXMgc2V0dGluZ3MgKi9cbiAgICB5QXhpcz86IHtcbiAgICAgIC8qKiBUdXJuIG9uIGFuZCBvZmYgdGhlIGF4aXMgKi9cbiAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgLyoqIE1hbnVhbGx5IHNldCB0aGUgYXhpcyB2YWx1ZXMgdG8gc2hvdyAqL1xuICAgICAgdmFsdWVzPzogbnVtYmVyW107XG4gICAgICAvKiogSG93IG1hbnkgdGlja3MgZG8geW91IHdhbnQgdG8gc2VlICovXG4gICAgICB0aWNrQW1vdW50PzogbnVtYmVyO1xuICAgIH07XG4gIH07XG4gIC8qKlxuICAgKiBleHBvc2UgdGhlIGRyYXcgZnVuY3Rpb24gb3V0c2lkZSBvZiBuNy1mcm9udGVuZC9jb21wb25lbnRzIGxpYnJhcnlcbiAgICogdGhpcyBpcyBuZWVkZWQgdG8gcmVkcmF3IGJ1YmJsZS1jaGFydC1jb21wb25lbnQgb24gY29tbWFuZFxuICAgKi9cbiAgc2V0RHJhdz86IGFueTtcbiAgLyoqXG4gICAqIHNldFNsaWRlcnNcbiAgICovXG4gIHNldFNsaWRlcnM/OiBMYWJlbENvdXBsZTtcbiAgLyoqXG4gICAqIFB1YmxpYyBhcGlcbiAgICovXG4gIHNldEFwaT86IGFueTtcbn1cblxudHlwZSBTbGlkZXJzID0geyB4OiBudW1iZXI7IHk6IG51bWJlciB9W107XG50eXBlIExhYmVsQ291cGxlID0gW3N0cmluZywgc3RyaW5nXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGlzdG9ncmFtLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpc3RvZ3JhbS1yYW5nZS5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIaXN0b2dyYW1SYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuICBASW5wdXQoKSBkYXRhOiBIaXN0b2dyYW1SYW5nZURhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIHByaXZhdGUgZDM7XG5cbiAgcHJpdmF0ZSBzbGlkZXJzOiBTbGlkZXJzID0gW107XG5cbiAgLyoqIGQzIHNlbGVjdGlvbiBzdmcgcm9vdCAqL1xuICBwcml2YXRlIHN2ZztcblxuICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbG91ckJhcnM7XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZFJhbmdlO1xuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAvKlxuICAgICAgICAgV2FpdHMgZm9yIHRoZSBkb20gdG8gYmUgbG9hZGVkLCB0aGVuIGZpcmVzIHRoZSBkcmF3IGZ1bmN0aW9uXG4gICAgICAgICB0aGF0IHJlbmRlcnMgdGhlIGNoYXJ0LlxuICAgICovXG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgaWYgKHRoaXMuX2xvYWRlZCkgcmV0dXJuO1xuICAgICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpbXBvcnQoJ2QzJykudGhlbigobW9kdWxlKSA9PiB7XG4gICAgICAgICAgdGhpcy5kMyA9IG1vZHVsZTtcbiAgICAgICAgICB0aGlzLmRyYXcoKTtcbiAgICAgICAgICB0aGlzLmVtaXRMb2FkZWQodHJ1ZSk7XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuc2V0RHJhdykge1xuICAgICAgICAgICAgdGhpcy5kYXRhLnNldERyYXcodGhpcy5kcmF3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZGF0YS5zZXRBcGkpIHsgLy8gZXhwb3NlIHRoZSBjb21wb25lbnQgYXBpXG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0QXBpKHtcbiAgICAgICAgICAgICAgc2V0U2xpZGVyczogdGhpcy5zZXRTbGlkZXJzLFxuICAgICAgICAgICAgICBzZXRCYXJzOiB0aGlzLnNldEJhcnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxuICAgICAgICAgIC8vIHdpbmRvd1snc2V0U2xpZGVycyddID0gdGhpcy5zZXRTbGlkZXJzO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRyYXcgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBkMyB9ID0gdGhpcztcbiAgICBjb25zdCB7XG4gICAgICB3aWR0aCwgbWFyZ2luLCBoZWlnaHQsXG4gICAgICBpdGVtcywgY29sb3VycywgY29udGFpbmVySWQsXG4gICAgICBheGlzLCBzZXRTbGlkZXJzXG4gICAgfSA9IHRoaXMuZGF0YTtcblxuICAgIC8vIGRhdGEgdmFsaWRhdGlvblxuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICBpZiAoIXJhbmdlTW9kZSAmJiBpdGVtcy5zb21lKChkKSA9PiAhZC5yYW5nZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdBbGwgaXRlbXMgbXVzdCBoYXZlIHRoZSBcInJhbmdlXCIgcHJvcGVydHknKTtcbiAgICB9XG5cbiAgICAvLyBIZWxwZXJzIC0gU3RhcnQ6XG4gICAgY29uc3QgTEFCRUx0b1ggPSBkM1xuICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAuZG9tYWluKGl0ZW1zLm1hcCgoZCkgPT4gZC5sYWJlbCkpXG4gICAgICAucmFuZ2UoWzAsIHdpZHRoXSlcbiAgICAgIC5wYWRkaW5nSW5uZXIoMC4xNylcbiAgICAgIC5wYWRkaW5nT3V0ZXIoMSk7XG5cbiAgICBjb25zdCBYdG9MQUJFTCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgZG9tYWluID0gTEFCRUx0b1guZG9tYWluKCk7XG4gICAgICBjb25zdCBwYWRkaW5nT3V0ZXIgPSBMQUJFTHRvWChkb21haW5bMF0pO1xuICAgICAgY29uc3QgZWFjaEJhbmQgPSBMQUJFTHRvWC5zdGVwKCk7XG4gICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IoKCh2YWx1ZSAtIHBhZGRpbmdPdXRlcikgLyBlYWNoQmFuZCkpO1xuICAgICAgcmV0dXJuIGRvbWFpbltNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgZG9tYWluLmxlbmd0aCAtIDEpKV07XG4gICAgfTtcblxuICAgIC8vIFlFQVIgU0VMRUNUSU9OIENJUkNMRVNcbiAgICAvLyBsZXQgc2xpZGVycztcbiAgICBpZiAoc2V0U2xpZGVycyAmJiB0aGlzLnNsaWRlcnMpIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IHNldFNsaWRlcnNcbiAgICAgICAgLm1hcCgoZCkgPT4gKHsgeDogTEFCRUx0b1goZCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDIsIHk6IGhlaWdodCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2xpZGVycyA9IGQzXG4gICAgICAgIC5leHRlbnQoaXRlbXMsIChkKSA9PiBkLmxhYmVsKVxuICAgICAgICAubWFwKChkKSA9PiAoeyB4OiBMQUJFTHRvWChkKSArIExBQkVMdG9YLmJhbmR3aWR0aCgpIC8gMiwgeTogaGVpZ2h0IH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0luUmFuZ2UgPSAoeSkgPT4ge1xuICAgICAgY29uc3QgYWxsSXRlbXMgPSB0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBYdG9MQUJFTChkLngpKTtcbiAgICAgIGlmICh5ID49IGQzLm1pbihhbGxJdGVtcykgJiYgeSA8PSBkMy5tYXgoYWxsSXRlbXMpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gY29sb3VyQmFycyhkKSB7XG4gICAgICBpZiAoaXNJblJhbmdlKGQubGFiZWwpKSByZXR1cm4gJ3VybCgjZ3JhZGllbnQpJztcbiAgICAgIHJldHVybiAnI2UzZTNlMyc7XG4gICAgfVxuICAgIHRoaXMuY29sb3VyQmFycyA9IGNvbG91ckJhcnM7XG5cbiAgICB0aGlzLmdldFNlbGVjdGVkUmFuZ2UgPSAoKSA9PiB7XG4gICAgICBjb25zdCByYW5nZVN0YXJ0ID0gaXRlbXMuZmluZCgoaXQpID0+IGl0LmxhYmVsID09PSBYdG9MQUJFTCh0aGlzLnNsaWRlcnNbMF0ueCkpO1xuICAgICAgY29uc3QgcmFuZ2VFbmQgPSBpdGVtcy5maW5kKChpdCkgPT4gaXQubGFiZWwgPT09IFh0b0xBQkVMKHRoaXMuc2xpZGVyc1sxXS54KSk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICByYW5nZVN0YXJ0LnBheWxvYWQsXG4gICAgICAgIHJhbmdlTW9kZVxuICAgICAgICAgID8gcmFuZ2VFbmQucmFuZ2UucGF5bG9hZFxuICAgICAgICAgIDogcmFuZ2VFbmQucGF5bG9hZFxuICAgICAgXTtcbiAgICB9O1xuICAgIC8vIEhlbHBlcnMgLSBFbmQuXG5cbiAgICAvLyBjbGVhciBIVE1MIGNvbnRlbnRzXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQpLmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IHN2ZyA9IGQzXG4gICAgICAuc2VsZWN0KGAjJHtjb250YWluZXJJZH1gKVxuICAgICAgLmF0dHIoJ3ZpZXdCb3gnLCBgMCAwICR7d2lkdGggKyBtYXJnaW4ubGVmdCArIG1hcmdpbi5yaWdodH0gJHtoZWlnaHQgKyBtYXJnaW4udG9wICsgbWFyZ2luLmJvdHRvbX1gKTtcbiAgICB0aGlzLnN2ZyA9IHN2ZztcblxuICAgIGNvbnN0IHNjYWxlSGVpZ2h0ID0gZDNcbiAgICAgIC5zY2FsZVN5bWxvZygpIC8vIG1vc3Qgc2ltaWxhciBzY2FsZSB0byB0aGUgb3JpZ2luYWxcbiAgICAgIC5kb21haW4oWzAsIGQzLm1heChpdGVtcywgKGQpID0+IGQudmFsdWUpXSlcbiAgICAgIC5yYW5nZShbaGVpZ2h0LCAwXSk7XG5cbiAgICAvLyBHUkFESUVOVFxuICAgIGNvbnN0IGRlZnMgPSBzdmcuYXBwZW5kKCdkZWZzJyk7IC8vIGRlZmluaXRpb25zXG4gICAgY29uc3QgZ3JhZGllbnQgPSBkZWZzXG4gICAgICAuYXBwZW5kKCdsaW5lYXJHcmFkaWVudCcpXG4gICAgICAuYXR0cignaWQnLCAnZ3JhZGllbnQnKVxuICAgICAgLmF0dHIoJ2dyYWRpZW50VW5pdHMnLCAndXNlclNwYWNlT25Vc2UnKVxuICAgICAgLmF0dHIoJ3gxJywgMClcbiAgICAgIC5hdHRyKCd5MScsIGhlaWdodClcbiAgICAgIC5hdHRyKCd4MicsIDApXG4gICAgICAuYXR0cigneTInLCBtYXJnaW4udG9wKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnc3RhcnQnKVxuICAgICAgLmF0dHIoJ29mZnNldCcsICcwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMuYm90dG9tKSAvLyBib3R0b20gZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcbiAgICBncmFkaWVudFxuICAgICAgLmFwcGVuZCgnc3RvcCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnZW5kJylcbiAgICAgIC5hdHRyKCdvZmZzZXQnLCAnMTAwJScpXG4gICAgICAuYXR0cignc3RvcC1jb2xvcicsIGNvbG91cnMudG9wKSAvLyB0b3AgZ3JhZGllbnRcbiAgICAgIC5hdHRyKCdzdG9wLW9wYWNpdHknLCAxKTtcblxuICAgIC8vIERSQVcgSU5TSURFIE1BUkdJTlNcbiAgICBjb25zdCBnID0gc3ZnXG4gICAgICAuYXBwZW5kKCdnJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdjaGFydCcpXG4gICAgICAuYXR0cigndHJhbnNmb3JtJywgYHRyYW5zbGF0ZSgke21hcmdpbi5sZWZ0fSwke21hcmdpbi50b3B9KWApO1xuXG4gICAgY29uc3QgYmFyc0xheWVyID0gZy5hcHBlbmQoJ2cnKS5hdHRyKCdjbGFzcycsICdiYXJzJyk7XG4gICAgY29uc3QgY29udHJvbHNMYXllciA9IGcuYXBwZW5kKCdnJykuYXR0cignY2xhc3MnLCAnY29udHJvbHMnKTtcblxuICAgIC8vIEJBUiBDSEFSVFxuICAgIGJhcnNMYXllciAvLyBiYXJzXG4gICAgICAuc2VsZWN0QWxsKCdyZWN0LmJhcnMnKVxuICAgICAgLmRhdGEoaXRlbXMpXG4gICAgICAuam9pbigncmVjdCcpXG4gICAgICAuYXR0cignY2xhc3MnLCAnYmFycycpXG4gICAgICAuYXR0cignd2lkdGgnLCBMQUJFTHRvWC5iYW5kd2lkdGgpXG4gICAgICAuYXR0cignaGVpZ2h0JywgKGQpID0+IGhlaWdodCAtIHNjYWxlSGVpZ2h0KGQudmFsdWUpKVxuICAgICAgLmF0dHIoJ3knLCAoZCkgPT4gc2NhbGVIZWlnaHQoZC52YWx1ZSkpXG4gICAgICAuYXR0cigneCcsIChkKSA9PiBMQUJFTHRvWChkLmxhYmVsKSlcbiAgICAgIC5hdHRyKCdkYXRhLXN0YXJ0JywgKGQpID0+IGQucGF5bG9hZCkgLy8gbWFrZSB0aGUgZGF0YSBlYXNpbHkgYWNjZXNzaWJsZVxuICAgICAgLmF0dHIoJ2RhdGEtZW5kJywgKGQpID0+IChkLnJhbmdlID8gZC5yYW5nZS5wYXlsb2FkIDogZC5wYXlsb2FkKSlcbiAgICAgIC5hdHRyKCdmaWxsJywgJ3VybCgjZ3JhZGllbnQpJyk7XG5cbiAgICBiYXJzTGF5ZXIgLy8gY2F0Y2ggYmFyIGV2ZW50c1xuICAgICAgLm9uKCdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgeWVhciA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4ge1xuICAgICAgICAgIGlmICh5ZWFyID09PSBkLmxhYmVsKSByZXR1cm4gJyNCMENDRjgnO1xuICAgICAgICAgIHJldHVybiBjb2xvdXJCYXJzKGQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICBkMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBsYWJlbCA9IFh0b0xBQkVMKHRoaXMuZ2V0RXZlbnRDb29yZHMoZXZlbnQpLngpO1xuICAgICAgICBjb25zdCB4QXhpc1ZhbHVlID0gTEFCRUx0b1gobGFiZWwpICsgTEFCRUx0b1guYmFuZHdpZHRoKCkgLyAyO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHtcbiAgICAgICAgICB4OiB4QXhpc1ZhbHVlLFxuICAgICAgICAgIHk6IGhlaWdodFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNsaWRlcnMgPSBbXG4gICAgICAgICAgLy8gYXZvaWQgam9pbmluZyB0aGUgdHdvIG9iamVjdHMhXG4gICAgICAgICAgeyAuLi5uZXdWYWx1ZSB9LFxuICAgICAgICAgIHsgLi4ubmV3VmFsdWUgfVxuICAgICAgICBdO1xuICAgICAgICByYW5nZVBpY2tlclxuICAgICAgICAgIC5kYXRhKHRoaXMuc2xpZGVycylcbiAgICAgICAgICAuc2VsZWN0KCdjaXJjbGUnKVxuICAgICAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgIC5hdHRyKCdjeCcsIChkKSA9PiBkLngpO1xuICAgICAgICBjb250cm9sc0xheWVyXG4gICAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgICAgLnRyYW5zaXRpb24oKVxuICAgICAgICAgIC5lYXNlKGQzLmVhc2VRdWFkT3V0KVxuICAgICAgICAgIC5kdXJhdGlvbig1NTApXG4gICAgICAgICAgLmF0dHIoJ2QnLCBkMy5saW5lKCkodGhpcy5zbGlkZXJzLm1hcCgoZCkgPT4gW2QueCwgZC55XSkpKTtcbiAgICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAgIC5zZWxlY3RBbGwoJ3RleHQnKVxuICAgICAgICAgIC50cmFuc2l0aW9uKClcbiAgICAgICAgICAuZWFzZShkMy5lYXNlUXVhZE91dClcbiAgICAgICAgICAuZHVyYXRpb24oNTUwKVxuICAgICAgICAgIC5hdHRyKCd4JywgKCkgPT4geEF4aXNWYWx1ZSlcbiAgICAgICAgICAudGV4dCgoZCwgaSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsYWJlbDtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBpdGVtcy5maW5kKChpdCkgPT4gaXQubGFiZWwgPT09IGxhYmVsKTtcbiAgICAgICAgICAgIGlmIChpID4gMCkgcmV0dXJuIGl0ZW0ucmFuZ2UubGFiZWw7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgZy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgICAgIHRoaXMudGV4dENvbGxpc2lvbih0aGlzLnNsaWRlcnMpO1xuICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICB9KTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gZ3JheSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdncmF5bGluZScpXG4gICAgICAuYXR0cihcbiAgICAgICAgJ2QnLFxuICAgICAgICBkMy5saW5lKCkoW1xuICAgICAgICAgIFswLCBoZWlnaHRdLFxuICAgICAgICAgIFt3aWR0aCwgaGVpZ2h0XVxuICAgICAgICBdKVxuICAgICAgKVxuICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIDIpXG4gICAgICAuYXR0cignb3BhY2l0eScsIDEpXG4gICAgICAuYXR0cignc3Ryb2tlJywgJyNDMUM1QzcnKTtcblxuICAgIGNvbnRyb2xzTGF5ZXIgLy8gYmx1ZSBsaW5lXG4gICAgICAuYXBwZW5kKCdwYXRoJylcbiAgICAgIC5hdHRyKCdjbGFzcycsICdibHVlbGluZScpXG4gICAgICAuYXR0cignZCcsIGQzLmxpbmUoKSh0aGlzLnNsaWRlcnMubWFwKChkKSA9PiBbZC54LCBkLnldKSkpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudCk7XG5cbiAgICBjb25zdCByYW5nZVBpY2tlciA9IGNvbnRyb2xzTGF5ZXJcbiAgICAgIC5zZWxlY3RBbGwoJ2cucmFuZ2VwaWNrZXInKVxuICAgICAgLmRhdGEodGhpcy5zbGlkZXJzLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpKVxuICAgICAgLmpvaW4oJ2cnKVxuICAgICAgLmF0dHIoJ2NsYXNzJywgJ3JhbmdlcGlja2VyJyk7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpczsgLy8gRklYTUU6IEFsbG93IHVzZSBvZiBjbGFzcyBcInRoaXNcIiBpbnNpZGUgZHJhZ2dpbmcgdXBkYXRlO1xuICAgIC8qKlxuICAgKiBBbmltYXRlIHRoZSBlbGVtZW50cyB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZyBvbmUgb2YgdGhlIHJhbmdlIHNlbGVjdG9yc1xuICAgKi9cbiAgICBmdW5jdGlvbiBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSkge1xuICAgICAgY29uc3QgbGFiZWwgPSBYdG9MQUJFTChldmVudC54KTtcbiAgICAgIGNvbnN0IHhBeGlzVmFsdWUgPSBMQUJFTHRvWChsYWJlbCkgKyBMQUJFTHRvWC5iYW5kd2lkdGgoKSAvIDI7XG4gICAgICBjb25zdCB5YiA9IFtdO1xuICAgICAgZy5zZWxlY3RBbGwoJ2NpcmNsZScpLmVhY2goZnVuY3Rpb24gc2V0QmFsbFBvc2l0aW9uKCkge1xuICAgICAgICB5Yi5wdXNoKHsgeDogK2QzLnNlbGVjdCh0aGlzKS5hdHRyKCdjeCcpLCB5OiBoZWlnaHQgfSk7XG4gICAgICB9KTtcbiAgICAgIHNlbGYuc2xpZGVycyA9IHliLnNvcnQoKGEsIGIpID0+IGQzLmFzY2VuZGluZyhhLngsIGIueCkpO1xuICAgICAgLy8gbW92ZSB0aGUgY2lyY2xlXG4gICAgICBkMy5zZWxlY3QodGhpcylcbiAgICAgICAgLnNlbGVjdCgnY2lyY2xlJylcbiAgICAgICAgLmF0dHIoJ2N4JywgZGF0YS54ID0geEF4aXNWYWx1ZSk7XG4gICAgICAvLyBtb3ZlIHRoZSBibHVlIGxpbmVcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdCgncGF0aC5ibHVlbGluZScpXG4gICAgICAgIC5hdHRyKCdkJywgZDMubGluZSgpKHNlbGYuc2xpZGVycy5tYXAoKGQpID0+IFtkLngsIGQueV0pKSk7XG4gICAgICAvLyBjaGFuZ2UgdGhlIHRleHQgcG9zaXRpb25cbiAgICAgIGQzLnNlbGVjdCh0aGlzKVxuICAgICAgICAuc2VsZWN0KCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3gnLCAoKSA9PiB4QXhpc1ZhbHVlKTtcbiAgICAgIC8vIGNoYW5nZSB0aGUgdGV4dCB2YWx1ZXNcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgIC50ZXh0KChkKSA9PiB7XG4gICAgICAgICAgY29uc3QgbCA9IFh0b0xBQkVMKGQueCk7XG4gICAgICAgICAgaWYgKCFyYW5nZU1vZGUpIHJldHVybiBsO1xuICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gc2VsZi5zbGlkZXJzLmZpbmRJbmRleCgoc2xpZGVyKSA9PiBzbGlkZXIueCA9PT0gZC54KTtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IHNlbGYuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMSkgcmV0dXJuIHJhbmdlWzFdO1xuICAgICAgICAgIHJldHVybiByYW5nZVswXTtcbiAgICAgICAgfSk7XG4gICAgICBzZWxmLnRleHRDb2xsaXNpb24oc2VsZi5zbGlkZXJzKTtcbiAgICAgIC8vIGNvbG91ciB0aGUgYmFyc1xuICAgICAgZy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gY29sb3VyQmFycyhkKSk7XG4gICAgfVxuXG4gICAgcmFuZ2VQaWNrZXIgLy8gZHJhZyBoYW5kbGVyXG4gICAgICAuY2FsbChkMy5kcmFnKClcbiAgICAgICAgLm9uKCdkcmFnJywgZHJhZ2dpbmdVcGRhdGUpXG4gICAgICAgIC5vbignZW5kJywgKGV2ZW50LCBkYXRhKSA9PiB7XG4gICAgICAgICAgLy8gdXBkYXRlIG9uZSBsYXN0IHRpbWUgdG8gcHJldmVudCBkZXN5bmNpbmdcbiAgICAgICAgICBkcmFnZ2luZ1VwZGF0ZShldmVudCwgZGF0YSk7XG4gICAgICAgICAgLy8gZW1pdCB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCB0aGlzLmdldFNlbGVjdGVkUmFuZ2UoKSk7XG4gICAgICAgIH0pKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXBwZW5kKCdjaXJjbGUnKVxuICAgICAgLmF0dHIoJ2N4JywgKGQpID0+IGQueClcbiAgICAgIC5hdHRyKCdjeScsIChkKSA9PiBkLnkpXG4gICAgICAuYXR0cigncicsIDkpXG4gICAgICAuYXR0cignZmlsbCcsICd3aGl0ZScpXG4gICAgICAuYXR0cignc3Ryb2tlLXdpZHRoJywgMilcbiAgICAgIC5hdHRyKCdzdHJva2UnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC5hdHRyKCdzdHlsZScsICdjdXJzb3I6IHBvaW50ZXInKTtcblxuICAgIHJhbmdlUGlja2VyXG4gICAgICAuYXR0cigndGV4dC1hbmNob3InLCAnbWlkZGxlJylcbiAgICAgIC5hdHRyKCdmb250LWZhbWlseScsICdSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmJylcbiAgICAgIC5hdHRyKCdmb250LXNpemUnLCAnMTJweCcpXG4gICAgICAuYXBwZW5kKCd0ZXh0JylcbiAgICAgIC5hdHRyKCd5JywgKGQpID0+IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKVxuICAgICAgLmF0dHIoJ3gnLCAoZCkgPT4gZC54KVxuICAgICAgLmF0dHIoJ2ZpbGwnLCBjb2xvdXJzLmFjY2VudClcbiAgICAgIC50ZXh0KChkLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGwgPSBYdG9MQUJFTChkLngpO1xuICAgICAgICBpZiAocmFuZ2VNb2RlICYmIGkgPT09IDEpIHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5sYWJlbCA9PT0gbCkucmFuZ2UubGFiZWw7XG4gICAgICAgIH0gcmV0dXJuIGw7XG4gICAgICB9KTtcblxuICAgIGlmIChheGlzPy55QXhpcz8uc2hvdykge1xuICAgICAgY29uc3QgeUF4aXMgPSBkMy5heGlzTGVmdChzY2FsZUhlaWdodClcbiAgICAgICAgLnRpY2tzKGF4aXMueUF4aXMudGlja0Ftb3VudCA/PyAyKVxuICAgICAgICAudGlja1ZhbHVlcyhheGlzLnlBeGlzLnZhbHVlcyA/IGF4aXMueUF4aXMudmFsdWVzIDogbnVsbCk7XG4gICAgICBjb25zdCB5QXhpc0dyb3VwID0gc3ZnLmFwcGVuZCgnZycpXG4gICAgICAgIC5hdHRyKCd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlKCR7bWFyZ2luLmxlZnR9LCAke21hcmdpbi50b3B9KWApXG4gICAgICAgIC5jYWxsKHlBeGlzKTtcblxuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3BhdGgsIGxpbmUnKS5zdHlsZSgnc3Ryb2tlJywgY29sb3Vycy5hY2NlbnQpO1xuICAgICAgeUF4aXNHcm91cC5zZWxlY3RBbGwoJ3RleHQnKS5zdHlsZSgnZmlsbCcsIGNvbG91cnMuYWNjZW50KTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEF2b2lkIGNvbGxpc2lvbiBvZiB0aGUgc2xpZGVyIGxhYmVscyAqL1xuICB0ZXh0Q29sbGlzaW9uID0gKHNsaWRlcnM6IFNsaWRlcnMpID0+IHtcbiAgICAvLyBwcmUtcmVxdWlzaXRlc1xuICAgIGNvbnN0IGNvbnRyb2xzTGF5ZXIgPSB0aGlzLmQzLnNlbGVjdCgnZy5jaGFydCcpLnNlbGVjdCgnZy5jb250cm9scycpO1xuICAgIGNvbnN0IHsgaXRlbXMsIG1hcmdpbiB9ID0gdGhpcy5kYXRhO1xuICAgIGNvbnN0IHJhbmdlTW9kZSA9IGl0ZW1zLmV2ZXJ5KChkKSA9PiBkLnJhbmdlKTtcbiAgICAvLyBydW4gY29sbGlzaW9uIGRldGVjdGlvblxuICAgIGNvbnN0IGlzQ29sbGlkaW5nID0gc2xpZGVyc1swXS54ID09PSBzbGlkZXJzWzFdLng7XG4gICAgaWYgKHJhbmdlTW9kZSAmJiBpc0NvbGxpZGluZykge1xuICAgICAgY29udHJvbHNMYXllclxuICAgICAgICAuc2VsZWN0QWxsKCd0ZXh0JylcbiAgICAgICAgLmF0dHIoJ3knLCAoZCwgaSkgPT4gKGkgPiAwID8gZC55ICsgbWFyZ2luLmJvdHRvbSAvIDIgKyAxMiA6IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKSlcbiAgICAgICAgLnRleHQoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgICAgICAgIHJldHVybiByYW5nZVtpXTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRyb2xzTGF5ZXJcbiAgICAgICAgLnNlbGVjdEFsbCgndGV4dCcpXG4gICAgICAgIC5hdHRyKCd5JywgKGQpID0+IGQueSArIG1hcmdpbi5ib3R0b20gLyAyKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIEdldCB4LWF4aXMgcG9zaXRpb24gZnJvbSBsYWJlbCAqL1xuICBsYWJlbFRvWCgpIHtcbiAgICByZXR1cm4gdGhpcy5kM1xuICAgICAgLnNjYWxlQmFuZCgpXG4gICAgICAuZG9tYWluKHRoaXMuZGF0YS5pdGVtcy5tYXAoKGQpID0+IGQubGFiZWwpKVxuICAgICAgLnJhbmdlKFswLCB0aGlzLmRhdGEud2lkdGhdKVxuICAgICAgLnBhZGRpbmdJbm5lcigwLjE3KVxuICAgICAgLnBhZGRpbmdPdXRlcigxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gZXZlbnQgd2l0aCB2aWV3Qm94IGNvb3JkaW5hdGVzIGFuZFxuICAgKiBwYXJzZSB0aGVtIGluIGFic29sdXRlIGNvb3JkaW5hdGVzXG4gICAqL1xuICBnZXRFdmVudENvb3JkcyhldmVudCk6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSB7XG4gICAgY29uc3QgbSA9IGV2ZW50LnRhcmdldC5nZXRTY3JlZW5DVE0oKTtcbiAgICBjb25zdCBwb2ludCA9IHRoaXMuc3ZnLm5vZGUoKS5jcmVhdGVTVkdQb2ludCgpO1xuICAgIHBvaW50LnggPSBldmVudC5jbGllbnRYO1xuICAgIHBvaW50LnkgPSBldmVudC5jbGllbnRZO1xuICAgIHJldHVybiBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obS5pbnZlcnNlKCkpO1xuICB9XG5cbiAgLyoqIFB1YmxpYyBhcGkgdGhhdCBhbGxvd3MgdG8gZGluYW1pY2FsbHkgY2hhbmdlIHRoZSBiYXJzICovXG4gIHNldEJhcnMgPSAobmV3QmFycykgPT4ge1xuICAgIHRoaXMuZGF0YS5pdGVtcyA9IG5ld0JhcnM7XG4gICAgdGhpcy5kcmF3KCk7XG4gICAgdGhpcy5kMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gdGhpcy5jb2xvdXJCYXJzKGQpKTtcbiAgfTtcblxuICAvKiogUHVibGljIGFwaSB0aGF0IGFsbG93cyB0byBkaW5hbWljYWxseSBjaGFuZ2UgdGhlIHNsaWRlciBwb3NpdGlvbiAqL1xuICBzZXRTbGlkZXJzID0gKFtzdGFydExhYmVsLCBlbmRMYWJlbF06IExhYmVsQ291cGxlLCBlbWl0ID0gdHJ1ZSkgPT4ge1xuICAgIC8vIHNldFNsaWRlcnMoWzE0NTAsIDE1NzVdKVxuICAgIHRoaXMuZGF0YS5zZXRTbGlkZXJzID0gW2Ake3N0YXJ0TGFiZWx9YCwgYCR7ZW5kTGFiZWx9YF07XG4gICAgdGhpcy5kcmF3KCk7XG4gICAgdGhpcy5kMy5zZWxlY3RBbGwoJ3JlY3QuYmFycycpLmF0dHIoJ2ZpbGwnLCAoZCkgPT4gdGhpcy5jb2xvdXJCYXJzKGQpKTtcbiAgICBjb25zdCByYW5nZSA9IHRoaXMuZ2V0U2VsZWN0ZWRSYW5nZSgpO1xuICAgIGlmIChlbWl0KSB0aGlzLmVtaXQoJ3Jhbmdlc2VsZWN0ZWQnLCByYW5nZSk7XG4gICAgdGhpcy50ZXh0Q29sbGlzaW9uKHRoaXMuc2xpZGVycyk7XG4gICAgcmV0dXJuIHJhbmdlO1xuICB9O1xuXG4gIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBjb21wb25lbnQgaGFzIGxvYWRlZCAqL1xuICBlbWl0TG9hZGVkKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIHRoaXMuZW1pdCgnbG9hZGVkJywgcGF5bG9hZCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkYXRhXCIgY2xhc3M9XCJuNy1oaXN0b2dyYW0tcmFuZ2VcIj5cbiAgICA8c3ZnICNoaXN0b2dyYW1SYW5nZSBbaWRdPVwiZGF0YS5jb250YWluZXJJZFwiPjwvc3ZnPlxuPC9kaXY+XG4iXX0=
|
|
@@ -8,8 +8,8 @@ export const HISTOGRAM_RANGE_MOCK = {
|
|
|
8
8
|
accent: '#2F528B',
|
|
9
9
|
},
|
|
10
10
|
margin: {
|
|
11
|
-
left:
|
|
12
|
-
right:
|
|
11
|
+
left: 25,
|
|
12
|
+
right: 5,
|
|
13
13
|
top: 10,
|
|
14
14
|
bottom: 45
|
|
15
15
|
},
|
|
@@ -240,4 +240,4 @@ export const HISTOGRAM_RANGE_MOCK = {
|
|
|
240
240
|
},
|
|
241
241
|
]
|
|
242
242
|
};
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUF1QjtJQUN0RCxXQUFXLEVBQUUseUJBQXlCO0lBQ3RDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7SUFDVixPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsU0FBUztRQUNkLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxTQUFTO0tBQ2xCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxFQUFFO1FBQ1AsTUFBTSxFQUFFLEVBQUU7S0FDWDtJQUNELElBQUksRUFBRTtRQUNKLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbkIsZ0JBQWdCO1NBQ2pCO0tBQ0Y7SUFDRCxnQ0FBZ0M7SUFDaEMsS0FBSyxFQUFFO1FBQ0w7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlzdG9ncmFtUmFuZ2VEYXRhIH0gZnJvbSAnLi9oaXN0b2dyYW0tcmFuZ2UnO1xuXG5leHBvcnQgY29uc3QgSElTVE9HUkFNX1JBTkdFX01PQ0s6IEhpc3RvZ3JhbVJhbmdlRGF0YSA9IHtcbiAgY29udGFpbmVySWQ6ICdjb250YWluZXItZm9yLWhpc3RvZ3JhbScsXG4gIHdpZHRoOiA0MDAsXG4gIGhlaWdodDogNTAsXG4gIGNvbG91cnM6IHtcbiAgICB0b3A6ICcjNzA5MUIzJyxcbiAgICBib3R0b206ICcjOTZjMmYyJyxcbiAgICBhY2NlbnQ6ICcjMkY1MjhCJyxcbiAgfSxcbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogMzAsXG4gICAgcmlnaHQ6IDAsXG4gICAgdG9wOiAxMCxcbiAgICBib3R0b206IDQ1XG4gIH0sXG4gIGF4aXM6IHtcbiAgICB5QXhpczoge1xuICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgIHZhbHVlczogWzAsIDEwLCA1Nl0sXG4gICAgICAvLyB0aWNrQW1vdW50OiAyXG4gICAgfVxuICB9LFxuICAvLyBzZXRTbGlkZXJzOiBbJzEyMDAnLCAnMTI1MCddLFxuICBpdGVtczogW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnMTIwMCcsXG4gICAgICB2YWx1ZTogMSxcbiAgICAgIHBheWxvYWQ6IDEyMDAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMjI1LFxuICAgICAgICBsYWJlbDogJzEyMjUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTIyNScsXG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHBheWxvYWQ6IDEyMjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMjUwLFxuICAgICAgICBsYWJlbDogJzEyNTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTI1MCcsXG4gICAgICB2YWx1ZTogMixcbiAgICAgIHBheWxvYWQ6IDEyNTAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMjc1LFxuICAgICAgICBsYWJlbDogJzEyNzUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTI3NScsXG4gICAgICB2YWx1ZTogMixcbiAgICAgIHBheWxvYWQ6IDEyNzUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMzAwLFxuICAgICAgICBsYWJlbDogJzEzMDAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTMwMCcsXG4gICAgICB2YWx1ZTogNixcbiAgICAgIHBheWxvYWQ6IDEzMDAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMzI1LFxuICAgICAgICBsYWJlbDogJzEzMjUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTMyNScsXG4gICAgICB2YWx1ZTogNSxcbiAgICAgIHBheWxvYWQ6IDEzMjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMzUwLFxuICAgICAgICBsYWJlbDogJzEzNTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTM1MCcsXG4gICAgICB2YWx1ZTogMTAsXG4gICAgICBwYXlsb2FkOiAxMzUwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTM3NSxcbiAgICAgICAgbGFiZWw6ICcxMzc1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzEzNzUnLFxuICAgICAgdmFsdWU6IDYsXG4gICAgICBwYXlsb2FkOiAxMzc1LFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTQwMCxcbiAgICAgICAgbGFiZWw6ICcxNDAwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE0MDAnLFxuICAgICAgdmFsdWU6IDEwLFxuICAgICAgcGF5bG9hZDogMTQwMCxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE0MjUsXG4gICAgICAgIGxhYmVsOiAnMTQyNScsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNDI1JyxcbiAgICAgIHZhbHVlOiAxMSxcbiAgICAgIHBheWxvYWQ6IDE0MjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNDUwLFxuICAgICAgICBsYWJlbDogJzE0NTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTQ1MCcsXG4gICAgICB2YWx1ZTogMTgsXG4gICAgICBwYXlsb2FkOiAxNDUwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTQ3NSxcbiAgICAgICAgbGFiZWw6ICcxNDc1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE0NzUnLFxuICAgICAgdmFsdWU6IDMyLFxuICAgICAgcGF5bG9hZDogMTQ3NSxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE1MDAsXG4gICAgICAgIGxhYmVsOiAnMTUwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNTAwJyxcbiAgICAgIHZhbHVlOiAyOSxcbiAgICAgIHBheWxvYWQ6IDE1MDAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNTI1LFxuICAgICAgICBsYWJlbDogJzE1MjUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTUyNScsXG4gICAgICB2YWx1ZTogMjYsXG4gICAgICBwYXlsb2FkOiAxNTI1LFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTU1MCxcbiAgICAgICAgbGFiZWw6ICcxNTUwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE1NTAnLFxuICAgICAgdmFsdWU6IDI1LFxuICAgICAgcGF5bG9hZDogMTU1MCxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE1NzUsXG4gICAgICAgIGxhYmVsOiAnMTU3NScsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNTc1JyxcbiAgICAgIHZhbHVlOiA1NixcbiAgICAgIHBheWxvYWQ6IDE1NzUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNjAwLFxuICAgICAgICBsYWJlbDogJzE2MDAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTYwMCcsXG4gICAgICB2YWx1ZTogMjcsXG4gICAgICBwYXlsb2FkOiAxNjAwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTYyNSxcbiAgICAgICAgbGFiZWw6ICcxNjI1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE2MjUnLFxuICAgICAgdmFsdWU6IDIwLFxuICAgICAgcGF5bG9hZDogMTYyNSxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE2NTAsXG4gICAgICAgIGxhYmVsOiAnMTY1MCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNjUwJyxcbiAgICAgIHZhbHVlOiAxNSxcbiAgICAgIHBheWxvYWQ6IDE2NTAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNjc1LFxuICAgICAgICBsYWJlbDogJzE2NzUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTY3NScsXG4gICAgICB2YWx1ZTogMTcsXG4gICAgICBwYXlsb2FkOiAxNjc1LFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTcwMCxcbiAgICAgICAgbGFiZWw6ICcxNzAwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE3MDAnLFxuICAgICAgdmFsdWU6IDEzLFxuICAgICAgcGF5bG9hZDogMTcwMCxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE3MjUsXG4gICAgICAgIGxhYmVsOiAnMTcyNScsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNzI1JyxcbiAgICAgIHZhbHVlOiAyMSxcbiAgICAgIHBheWxvYWQ6IDE3MjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNzUwLFxuICAgICAgICBsYWJlbDogJzE3NTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTc1MCcsXG4gICAgICB2YWx1ZTogMzMsXG4gICAgICBwYXlsb2FkOiAxNzUwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTc3NSxcbiAgICAgICAgbGFiZWw6ICcxNzc1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE3NzUnLFxuICAgICAgdmFsdWU6IDM4LFxuICAgICAgcGF5bG9hZDogMTc3NSxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE4MDAsXG4gICAgICAgIGxhYmVsOiAnMTgwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIF1cbn07XG4iXX0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9ncmFtLXJhbmdlLm1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGlzdG9ncmFtLXJhbmdlL2hpc3RvZ3JhbS1yYW5nZS5tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUF1QjtJQUN0RCxXQUFXLEVBQUUseUJBQXlCO0lBQ3RDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7SUFDVixPQUFPLEVBQUU7UUFDUCxHQUFHLEVBQUUsU0FBUztRQUNkLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxTQUFTO0tBQ2xCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztRQUNSLEdBQUcsRUFBRSxFQUFFO1FBQ1AsTUFBTSxFQUFFLEVBQUU7S0FDWDtJQUNELElBQUksRUFBRTtRQUNKLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbkIsZ0JBQWdCO1NBQ2pCO0tBQ0Y7SUFDRCxnQ0FBZ0M7SUFDaEMsS0FBSyxFQUFFO1FBQ0w7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsS0FBSyxFQUFFLE1BQU07YUFDZDtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlzdG9ncmFtUmFuZ2VEYXRhIH0gZnJvbSAnLi9oaXN0b2dyYW0tcmFuZ2UnO1xuXG5leHBvcnQgY29uc3QgSElTVE9HUkFNX1JBTkdFX01PQ0s6IEhpc3RvZ3JhbVJhbmdlRGF0YSA9IHtcbiAgY29udGFpbmVySWQ6ICdjb250YWluZXItZm9yLWhpc3RvZ3JhbScsXG4gIHdpZHRoOiA0MDAsXG4gIGhlaWdodDogNTAsXG4gIGNvbG91cnM6IHtcbiAgICB0b3A6ICcjNzA5MUIzJyxcbiAgICBib3R0b206ICcjOTZjMmYyJyxcbiAgICBhY2NlbnQ6ICcjMkY1MjhCJyxcbiAgfSxcbiAgbWFyZ2luOiB7XG4gICAgbGVmdDogMjUsXG4gICAgcmlnaHQ6IDUsXG4gICAgdG9wOiAxMCxcbiAgICBib3R0b206IDQ1XG4gIH0sXG4gIGF4aXM6IHtcbiAgICB5QXhpczoge1xuICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgIHZhbHVlczogWzAsIDEwLCA1Nl0sXG4gICAgICAvLyB0aWNrQW1vdW50OiAyXG4gICAgfVxuICB9LFxuICAvLyBzZXRTbGlkZXJzOiBbJzEyMDAnLCAnMTI1MCddLFxuICBpdGVtczogW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnMTIwMCcsXG4gICAgICB2YWx1ZTogMSxcbiAgICAgIHBheWxvYWQ6IDEyMDAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMjI1LFxuICAgICAgICBsYWJlbDogJzEyMjUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTIyNScsXG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHBheWxvYWQ6IDEyMjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMjUwLFxuICAgICAgICBsYWJlbDogJzEyNTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTI1MCcsXG4gICAgICB2YWx1ZTogMixcbiAgICAgIHBheWxvYWQ6IDEyNTAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMjc1LFxuICAgICAgICBsYWJlbDogJzEyNzUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTI3NScsXG4gICAgICB2YWx1ZTogMixcbiAgICAgIHBheWxvYWQ6IDEyNzUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMzAwLFxuICAgICAgICBsYWJlbDogJzEzMDAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTMwMCcsXG4gICAgICB2YWx1ZTogNixcbiAgICAgIHBheWxvYWQ6IDEzMDAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMzI1LFxuICAgICAgICBsYWJlbDogJzEzMjUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTMyNScsXG4gICAgICB2YWx1ZTogNSxcbiAgICAgIHBheWxvYWQ6IDEzMjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxMzUwLFxuICAgICAgICBsYWJlbDogJzEzNTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTM1MCcsXG4gICAgICB2YWx1ZTogMTAsXG4gICAgICBwYXlsb2FkOiAxMzUwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTM3NSxcbiAgICAgICAgbGFiZWw6ICcxMzc1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzEzNzUnLFxuICAgICAgdmFsdWU6IDYsXG4gICAgICBwYXlsb2FkOiAxMzc1LFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTQwMCxcbiAgICAgICAgbGFiZWw6ICcxNDAwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE0MDAnLFxuICAgICAgdmFsdWU6IDEwLFxuICAgICAgcGF5bG9hZDogMTQwMCxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE0MjUsXG4gICAgICAgIGxhYmVsOiAnMTQyNScsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNDI1JyxcbiAgICAgIHZhbHVlOiAxMSxcbiAgICAgIHBheWxvYWQ6IDE0MjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNDUwLFxuICAgICAgICBsYWJlbDogJzE0NTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTQ1MCcsXG4gICAgICB2YWx1ZTogMTgsXG4gICAgICBwYXlsb2FkOiAxNDUwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTQ3NSxcbiAgICAgICAgbGFiZWw6ICcxNDc1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE0NzUnLFxuICAgICAgdmFsdWU6IDMyLFxuICAgICAgcGF5bG9hZDogMTQ3NSxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE1MDAsXG4gICAgICAgIGxhYmVsOiAnMTUwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNTAwJyxcbiAgICAgIHZhbHVlOiAyOSxcbiAgICAgIHBheWxvYWQ6IDE1MDAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNTI1LFxuICAgICAgICBsYWJlbDogJzE1MjUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTUyNScsXG4gICAgICB2YWx1ZTogMjYsXG4gICAgICBwYXlsb2FkOiAxNTI1LFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTU1MCxcbiAgICAgICAgbGFiZWw6ICcxNTUwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE1NTAnLFxuICAgICAgdmFsdWU6IDI1LFxuICAgICAgcGF5bG9hZDogMTU1MCxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE1NzUsXG4gICAgICAgIGxhYmVsOiAnMTU3NScsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNTc1JyxcbiAgICAgIHZhbHVlOiA1NixcbiAgICAgIHBheWxvYWQ6IDE1NzUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNjAwLFxuICAgICAgICBsYWJlbDogJzE2MDAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTYwMCcsXG4gICAgICB2YWx1ZTogMjcsXG4gICAgICBwYXlsb2FkOiAxNjAwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTYyNSxcbiAgICAgICAgbGFiZWw6ICcxNjI1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE2MjUnLFxuICAgICAgdmFsdWU6IDIwLFxuICAgICAgcGF5bG9hZDogMTYyNSxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE2NTAsXG4gICAgICAgIGxhYmVsOiAnMTY1MCcsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNjUwJyxcbiAgICAgIHZhbHVlOiAxNSxcbiAgICAgIHBheWxvYWQ6IDE2NTAsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNjc1LFxuICAgICAgICBsYWJlbDogJzE2NzUnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTY3NScsXG4gICAgICB2YWx1ZTogMTcsXG4gICAgICBwYXlsb2FkOiAxNjc1LFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTcwMCxcbiAgICAgICAgbGFiZWw6ICcxNzAwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE3MDAnLFxuICAgICAgdmFsdWU6IDEzLFxuICAgICAgcGF5bG9hZDogMTcwMCxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE3MjUsXG4gICAgICAgIGxhYmVsOiAnMTcyNScsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICcxNzI1JyxcbiAgICAgIHZhbHVlOiAyMSxcbiAgICAgIHBheWxvYWQ6IDE3MjUsXG4gICAgICByYW5nZToge1xuICAgICAgICBwYXlsb2FkOiAxNzUwLFxuICAgICAgICBsYWJlbDogJzE3NTAnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnMTc1MCcsXG4gICAgICB2YWx1ZTogMzMsXG4gICAgICBwYXlsb2FkOiAxNzUwLFxuICAgICAgcmFuZ2U6IHtcbiAgICAgICAgcGF5bG9hZDogMTc3NSxcbiAgICAgICAgbGFiZWw6ICcxNzc1JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJzE3NzUnLFxuICAgICAgdmFsdWU6IDM4LFxuICAgICAgcGF5bG9hZDogMTc3NSxcbiAgICAgIHJhbmdlOiB7XG4gICAgICAgIHBheWxvYWQ6IDE4MDAsXG4gICAgICAgIGxhYmVsOiAnMTgwMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIF1cbn07XG4iXX0=
|
|
@@ -42,9 +42,9 @@ export class ImageViewerComponent {
|
|
|
42
42
|
this.emit('thumbclick', payload);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
ImageViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
46
|
-
ImageViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
45
|
+
ImageViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ImageViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
+
ImageViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ImageViewerComponent, selector: "n7-image-viewer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\" class=\"n7-image-viewer {{data.classes || ''}}\">\n <!-- OSD viewer -->\n <div id=\"{{data.viewerId}}\" class=\"n7-image-viewer__viewer\">\n </div>\n\n <!-- Zoom controls -->\n <div class=\"n7-image-viewer__controls\">\n <ul class=\"n7-image-viewer__controls-list\">\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-in\">\n <span class=\"n7-icon-search-plus\"></span>\n </li>\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-out\">\n <span class=\"n7-icon-search-minus\"></span>\n </li>\n <!--\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-full-screen\">\n <span class=\"n7-icon-expand-arrows\"></span>\n </li>\n -->\n </ul>\n </div>\n\n <!-- Navigation -->\n <div *ngIf=\"!data.hideNavigation\" class=\"n7-image-viewer__prev\" id=\"n7-image-viewer-nav-prev\">\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n\n <div *ngIf=\"!data.hideNavigation\" class=\"n7-image-viewer__next\" id=\"n7-image-viewer-nav-next\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n</div>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ImageViewerComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
49
|
args: [{ selector: 'n7-image-viewer', template: "<div *ngIf=\"data\" class=\"n7-image-viewer {{data.classes || ''}}\">\n <!-- OSD viewer -->\n <div id=\"{{data.viewerId}}\" class=\"n7-image-viewer__viewer\">\n </div>\n\n <!-- Zoom controls -->\n <div class=\"n7-image-viewer__controls\">\n <ul class=\"n7-image-viewer__controls-list\">\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-in\">\n <span class=\"n7-icon-search-plus\"></span>\n </li>\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-zoom-out\">\n <span class=\"n7-icon-search-minus\"></span>\n </li>\n <!--\n <li class=\"n7-image-viewer__controls-item\" id=\"n7-image-viewer-full-screen\">\n <span class=\"n7-icon-expand-arrows\"></span>\n </li>\n -->\n </ul>\n </div>\n\n <!-- Navigation -->\n <div *ngIf=\"!data.hideNavigation\" class=\"n7-image-viewer__prev\" id=\"n7-image-viewer-nav-prev\">\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n\n <div *ngIf=\"!data.hideNavigation\" class=\"n7-image-viewer__next\" id=\"n7-image-viewer-nav-next\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n</div>" }]
|
|
50
50
|
}], propDecorators: { data: [{
|
|
@@ -15,14 +15,14 @@ export class ImageViewerToolsComponent {
|
|
|
15
15
|
this.emit('click', payload); // click
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
ImageViewerToolsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.
|
|
19
|
-
ImageViewerToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.
|
|
18
|
+
ImageViewerToolsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ImageViewerToolsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
ImageViewerToolsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ImageViewerToolsComponent, selector: "n7-image-viewer-tools", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<!-- <div *ngIf=\"data\" class=\"n7-image-viewer-tools\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__btn-container\">\n <ng-container *ngIf=\"data.controls.description\">\n <n7-anchor-wrapper \n class=\"n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnDescription {{data.classes.description.className || ''}}\"\n [data]=\"data.controls.description.anchor\"\n (clicked)=\"onClick($event)\">\n <span class=\"{{data.controls.description.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__btn-container\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper \n class=\"n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnThumbs {{data.classes.thumbs.className || ''}}\"\n [data]=\"data.controls.thumbs.anchor\"\n (clicked)=\"onClick($event)\">\n <span class=\"{{data.controls.thumbs.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs\" \n *ngIf=\"data.isVisible.thumbnails && data.images\" >\n <div *ngFor=\"let img of data.images; let imgIndex = index\" \n class=\"n7-image-viewer-tools__thumb-container\"\n [class.active]=\"imgIndex == data.initial\">\n <img\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\" >\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__description\" \n *ngIf=\"data.isVisible.description\" >\n <div [innerHTML]=\"data.description\"></div>\n <div class=\"n7-image-viewer-tools__description-closebtn\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\">\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n </div>\n </div>\n</div> -->\n\n<!-- n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnDescription -->\n<!-- n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnThumbs -->\n\n<div *ngIf=\"data\" class=\"n7-image-viewer-tools {{data.classes || ''}}\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.description && data.description\">\n <n7-anchor-wrapper \n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.description.isActive\n }\"\n [data]=\"data.controls.description.anchor\"\n (click)=\"onClick($event)\">\n <!-- $event -->\n <span class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.description.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper \n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.thumbs.isActive\n }\"\n [data]=\"data.controls.thumbs.anchor\"\n (click)=\"onClick($event)\">\n <!-- $event -->\n <span class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.thumbs.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs-description\">\n <div class=\"n7-image-viewer-tools__thumbs\" \n *ngIf=\"data.isVisible.thumbnails && data.images\" >\n <div class=\"n7-image-viewer-tools__thumbs-strip\">\n <div *ngFor=\"let img of data.images; let imgIndex = index\" \n class=\"n7-image-viewer-tools__thumb\"\n [class.active]=\"imgIndex == data.initial\">\n <img\n class=\"n7-image-viewer-tools__thumb-image\"\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\" >\n </div>\n </div> \n \n <ng-container *ngIf=\"data.navigation\">\n <div\n class=\"{{ data.navigation.prev.classes || '' }}\"\n (click)=\"onClick(data.navigation.prev.payload)\">\n <!-- (click)=\"\" -->\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div\n class=\"{{ data.navigation.next.classes || '' }}\"\n (click)=\"onClick(data.navigation.next.payload)\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"data.navigation as nav\">\n <div \n classes=\"{{ nav.prev.classes || '' }}\" \n (click)=\"onClick(nav.prev.payload)\">\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div \n classes=\"{{ nav.next.classes || '' }}\" \n (click)=\"onClick(nav.next.payload)\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container> -->\n\n <!-- <ng-container *ngIf=\"data.navigation as nav\">\n <div \n classes=\"{{ nav.prev.classes || '' }}\" \n (click)=\"onClick(nav.prev.payload)\">\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div \n classes=\"{{ nav.next.classes || '' }}\" \n (click)=\"onClick(nav.next.payload)\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container> -->\n </div>\n\n <div class=\"n7-image-viewer-tools__description\" \n *ngIf=\"data.isVisible.description\" >\n <div class=\"n7-image-viewer-tools__description-close\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\">\n <!-- data.controls.closedescription.anchor.payload -->\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n <div class=\"n7-image-viewer-tools__description-text-wrapper\">\n <div class=\"n7-image-viewer-tools__description-text\" [innerHTML]=\"data.description\"></div>\n </div>\n \n </div>\n </div> \n </div>\n</div>\n", components: [{ type: i1.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ImageViewerToolsComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
|
-
args: [{ selector: 'n7-image-viewer-tools', template: "<!-- <div *ngIf=\"data\" class=\"n7-image-viewer-tools\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__btn-container\">\n <ng-container *ngIf=\"data.controls.description\">\n <n7-anchor-wrapper \n class=\"n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnDescription {{data.classes.description.className || ''}}\"\n [data]=\"data.controls.description.anchor\"\n (clicked)=\"onClick($event)\">\n <span class=\"{{data.controls.description.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__btn-container\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper \n class=\"n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnThumbs {{data.classes.thumbs.className || ''}}\"\n [data]=\"data.controls.thumbs.anchor\"\n (clicked)=\"onClick($event)\">\n <span class=\"{{data.controls.thumbs.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs\" \n *ngIf=\"data.isVisible.thumbnails && data.images\" >\n <div *ngFor=\"let img of data.images; let imgIndex = index\" \n class=\"n7-image-viewer-tools__thumb-container\"\n [class.active]=\"imgIndex == data.initial\">\n <img\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\" >\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__description\" \n *ngIf=\"data.isVisible.description\" >\n <div [innerHTML]=\"data.description\"></div>\n <div class=\"n7-image-viewer-tools__description-closebtn\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\">\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n </div>\n </div>\n</div> -->\n\n<!-- n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnDescription -->\n<!-- n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnThumbs -->\n\n<div *ngIf=\"data\" class=\"n7-image-viewer-tools {{data.classes || ''}}\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.description && data.description\">\n <n7-anchor-wrapper \n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.description.isActive\n }\"\n [data]=\"data.controls.description.anchor\"\n (
|
|
22
|
+
args: [{ selector: 'n7-image-viewer-tools', template: "<!-- <div *ngIf=\"data\" class=\"n7-image-viewer-tools\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__btn-container\">\n <ng-container *ngIf=\"data.controls.description\">\n <n7-anchor-wrapper \n class=\"n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnDescription {{data.classes.description.className || ''}}\"\n [data]=\"data.controls.description.anchor\"\n (clicked)=\"onClick($event)\">\n <span class=\"{{data.controls.description.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__btn-container\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper \n class=\"n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnThumbs {{data.classes.thumbs.className || ''}}\"\n [data]=\"data.controls.thumbs.anchor\"\n (clicked)=\"onClick($event)\">\n <span class=\"{{data.controls.thumbs.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs\" \n *ngIf=\"data.isVisible.thumbnails && data.images\" >\n <div *ngFor=\"let img of data.images; let imgIndex = index\" \n class=\"n7-image-viewer-tools__thumb-container\"\n [class.active]=\"imgIndex == data.initial\">\n <img\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\" >\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__description\" \n *ngIf=\"data.isVisible.description\" >\n <div [innerHTML]=\"data.description\"></div>\n <div class=\"n7-image-viewer-tools__description-closebtn\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\">\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n </div>\n </div>\n</div> -->\n\n<!-- n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnDescription -->\n<!-- n7-hero__btn n7-btn n7-btn-cta n7-btn-l n7-image-viewer-tools__btnThumbs -->\n\n<div *ngIf=\"data\" class=\"n7-image-viewer-tools {{data.classes || ''}}\">\n <div class=\"n7-image-viewer-tools__bar\">\n <div class=\"n7-image-viewer-tools__controls\">\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.description && data.description\">\n <n7-anchor-wrapper \n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.description.isActive\n }\"\n [data]=\"data.controls.description.anchor\"\n (click)=\"onClick($event)\">\n <!-- $event -->\n <span class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.description.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n\n <div class=\"n7-image-viewer-tools__control-wrapper\">\n <ng-container *ngIf=\"data.controls.thumbs\">\n <n7-anchor-wrapper \n class=\"n7-image-viewer-tools__control-btn\"\n [ngClass]=\"{\n 'is-active': data.controls.thumbs.isActive\n }\"\n [data]=\"data.controls.thumbs.anchor\"\n (click)=\"onClick($event)\">\n <!-- $event -->\n <span class=\"n7-image-viewer-tools__control-btn-icon {{data.controls.thumbs.icon}}\"></span>\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n\n <div class=\"n7-image-viewer-tools__thumbs-description\">\n <div class=\"n7-image-viewer-tools__thumbs\" \n *ngIf=\"data.isVisible.thumbnails && data.images\" >\n <div class=\"n7-image-viewer-tools__thumbs-strip\">\n <div *ngFor=\"let img of data.images; let imgIndex = index\" \n class=\"n7-image-viewer-tools__thumb\"\n [class.active]=\"imgIndex == data.initial\">\n <img\n class=\"n7-image-viewer-tools__thumb-image\"\n src=\"{{img.thumb}}\"\n (click)=\"onClick(img.payload)\" >\n </div>\n </div> \n \n <ng-container *ngIf=\"data.navigation\">\n <div\n class=\"{{ data.navigation.prev.classes || '' }}\"\n (click)=\"onClick(data.navigation.prev.payload)\">\n <!-- (click)=\"\" -->\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div\n class=\"{{ data.navigation.next.classes || '' }}\"\n (click)=\"onClick(data.navigation.next.payload)\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container>\n\n <!-- <ng-container *ngIf=\"data.navigation as nav\">\n <div \n classes=\"{{ nav.prev.classes || '' }}\" \n (click)=\"onClick(nav.prev.payload)\">\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div \n classes=\"{{ nav.next.classes || '' }}\" \n (click)=\"onClick(nav.next.payload)\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container> -->\n\n <!-- <ng-container *ngIf=\"data.navigation as nav\">\n <div \n classes=\"{{ nav.prev.classes || '' }}\" \n (click)=\"onClick(nav.prev.payload)\">\n <span class=\"n7-icon-angle-left\"></span>\n </div>\n <div \n classes=\"{{ nav.next.classes || '' }}\" \n (click)=\"onClick(nav.next.payload)\">\n <span class=\"n7-icon-angle-right\"></span>\n </div>\n </ng-container> -->\n </div>\n\n <div class=\"n7-image-viewer-tools__description\" \n *ngIf=\"data.isVisible.description\" >\n <div class=\"n7-image-viewer-tools__description-close\"\n (click)=\"onClick(data.controls.closedescription.anchor.payload)\">\n <!-- data.controls.closedescription.anchor.payload -->\n <span class=\"{{data.controls.closedescription.icon}}\"></span>\n </div>\n <div class=\"n7-image-viewer-tools__description-text-wrapper\">\n <div class=\"n7-image-viewer-tools__description-text\" [innerHTML]=\"data.description\"></div>\n </div>\n \n </div>\n </div> \n </div>\n</div>\n" }]
|
|
23
23
|
}], propDecorators: { data: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}], emit: [{
|
|
26
26
|
type: Input
|
|
27
27
|
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXZpZXdlci10b29scy9pbWFnZS12aWV3ZXItdG9vbHMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2Utdmlld2VyLXRvb2xzL2ltYWdlLXZpZXdlci10b29scy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3Qix3QkFBd0I7QUFDeEIsNkJBQTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBOEdqRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsT0FBTyxDQUFDLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUTtJQUN2QyxDQUFDOztzSEFSVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixxR0MxSHRDLGkvT0EySkE7MkZEakNhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBSXhCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU1BR0UtVklFV0VSLVRPT0xTLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbWFnZVZpZXdlckJ1dHRvbnNEYXRhLCBkZWZpbmVzIHRoZSB0aHVtYm5haWxcbiAqIHVybCBhbmQgaXRzIHJlbGF0aXZlIHBheWxvYWRcbiAqIEBwcm9wZXJ0eSB0aHVtYlxuICogQHByb3BlcnR5IHBheWxvYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVZpZXdlclRodW1iRGF0YSB7XG4gIC8qKlxuICAgKiBUaHVtYm5haWwgVVJMXG4gICAqL1xuICB0aHVtYjogc3RyaW5nO1xuICAvKipcbiAgICogUGF5bG9hZCBvbiB0aHVtYm5haWwgY2xpY2tcbiAgICovXG4gIHBheWxvYWQ6IGFueTtcbiAgLyoqXG4gICAqIFRodW1ibmFpbCBjYXB0aW9uXG4gICAqL1xuICBjYXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJCdXR0b25zRGF0YSwgZGVmaW5lcyB0aGUgbG9vayBhbmRcbiAqIHBheWxvYWQgb2YgdGhlIGNvbnRyb2xzIGJ1dHRvbnNcbiAqIEBwcm9wZXJ0eSBpY29uXG4gKiBAcHJvcGVydHkgcGF5bG9hZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyQnV0dG9uRGF0YSB7XG4gIC8qKlxuICAgKiBDU1MgY2xhc3Mgb2YgdGhlIGljb24uIFVzdWFsbHkgZnJvbSBuNyBpY29uIHBhY2tcbiAgICovXG4gIGljb246IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1dHRvbiBBbmNob3JcbiAgICovXG4gIGFuY2hvcj86IEFuY2hvcjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJUb29sc0NvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBAcHJvcGVydHkgaW1hZ2VzXG4gKiBAcHJvcGVydHkgZGVzY3JpcHRpb25cbiAqIEBwcm9wZXJ0eSBjb250cm9sc1xuICogQHByb3BlcnR5IHNob3dEZXNjcmlwdGlvblxuICogQHByb3BlcnR5IHNob3dUaHVtYm5haWxzXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyVG9vbHNEYXRhIHtcbiAgLyoqXG4gICAqIGxpc3Qgb2YgaW1hZ2UncyB0aHVtYm5haWxzXG4gICAqL1xuICBpbWFnZXM6IEltYWdlVmlld2VyVGh1bWJEYXRhW107XG4gIC8qKlxuICAgKiBkZXNjcmlwdGlvbiB0byBiZSBzaG93biBpbiB0aGUgYm94XG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIGRlc2NyaXB0aW9uL3RodW1ibmFpbHMgdmlzaWJpbGl0eSBjb250cm9sc1xuICAgKi9cbiAgY29udHJvbHM6IHtcbiAgICBkZXNjcmlwdGlvbjogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIHRodW1iczogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIGNsb3NlZGVzY3JpcHRpb246IEltYWdlVmlld2VyQnV0dG9uRGF0YTtcbiAgfTtcbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIC8gdGh1bWJuYWlsIHRvZ2dsZXJzXG4gICAqL1xuICBpc1Zpc2libGU6IHtcbiAgICAvKiogVG9nZ2xlIGRlc2NyaXB0aW9uIGJveCB2aXNpYmlsaXR5ICovXG4gICAgZGVzY3JpcHRpb246IGJvb2xlYW47XG4gICAgLyoqIFRvZ2dsZSB0aHVtYm5haWxzIHN0cmlwIHZpc2liaWxpdHkgKi9cbiAgICB0aHVtYm5haWxzOiBib29sZWFuO1xuICB9O1xuICAvKipcbiAgICogZGVzY3JpcHRpb24gb3ZlcmxheSBuYXZpZ2F0aW9uXG4gICAqL1xuICBuYXZpZ2F0aW9uPzoge1xuICAgIHByZXY6IHtcbiAgICAgIHBheWxvYWQ6IGFueTsgLy8gJ3ByZXYnXG4gICAgICBjbGFzc2VzPzogYW55O1xuICAgIH07XG4gICAgbmV4dDoge1xuICAgICAgcGF5bG9hZDogYW55OyAvLyAnbmV4dCdcbiAgICAgIGNsYXNzZXM/OiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIEluaXRpYWwgaW1hZ2UgaW4gYXJyYXkgKHByb2dyZXNzaXZlIG51bWJlciBmcm9tIDApXG4gICAqL1xuICBpbml0aWFsOiBudW1iZXI7XG4gIC8qKlxuICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICAqL1xuICBwYXlsb2FkPzogYW55O1xuICAvKipcbiAgICogYWRkaXRpb25hbCBpbmZvXG4gICAqL1xuICBfbWV0YT86IGFueTtcbn1cblxuLyoqXG4gKiBJbWFnZVZpZXdlclRvb2xzQ29tcG9uZW50IDxuNy1pbWFnZS12aWV3ZXItdG9vbHM+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW1hZ2Utdmlld2VyLXRvb2xzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci10b29scy5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVZpZXdlclRvb2xzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YTogSW1hZ2VWaWV3ZXJUb29sc0RhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpOyAvLyBjbGlja1xuICB9XG59XG4iLCI8IS0tIDxkaXYgKm5nSWY9XCJkYXRhXCIgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19iYXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2J0bi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVyb19fYnRuIG43LWJ0biBuNy1idG4tY3RhIG43LWJ0bi1sIG43LWltYWdlLXZpZXdlci10b29sc19fYnRuRGVzY3JpcHRpb24ge3tkYXRhLmNsYXNzZXMuZGVzY3JpcHRpb24uY2xhc3NOYW1lIHx8ICcnfX1cIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ7e2RhdGEuY29udHJvbHMuZGVzY3JpcHRpb24uaWNvbn19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2J0bi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy50aHVtYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm43LWhlcm9fX2J0biBuNy1idG4gbjctYnRuLWN0YSBuNy1idG4tbCBuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2J0blRodW1icyB7e2RhdGEuY2xhc3Nlcy50aHVtYnMuY2xhc3NOYW1lIHx8ICcnfX1cIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLnRodW1icy5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3tkYXRhLmNvbnRyb2xzLnRodW1icy5pY29ufX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzXCIgXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEuaXNWaXNpYmxlLnRodW1ibmFpbHMgJiYgZGF0YS5pbWFnZXNcIiA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWcgb2YgZGF0YS5pbWFnZXM7IGxldCBpbWdJbmRleCA9IGluZGV4XCIgXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1iLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbWdJbmRleCA9PSBkYXRhLmluaXRpYWxcIj5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cInt7aW1nLnRodW1ifX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhpbWcucGF5bG9hZClcIiA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb25cIiBcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pc1Zpc2libGUuZGVzY3JpcHRpb25cIiA+XG4gICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZGF0YS5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb24tY2xvc2VidG5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEuY29udHJvbHMuY2xvc2VkZXNjcmlwdGlvbi5hbmNob3IucGF5bG9hZClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInt7ZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmljb259fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiAtLT5cblxuPCEtLSBuNy1oZXJvX19idG4gbjctYnRuIG43LWJ0bi1jdGEgbjctYnRuLWwgbjctaW1hZ2Utdmlld2VyLXRvb2xzX19idG5EZXNjcmlwdGlvbiAtLT5cbjwhLS0gbjctaGVyb19fYnRuIG43LWJ0biBuNy1idG4tY3RhIG43LWJ0bi1sIG43LWltYWdlLXZpZXdlci10b29sc19fYnRuVGh1bWJzIC0tPlxuXG48ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19iYXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uICYmIGRhdGEuZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbC1idG5cIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnaXMtYWN0aXZlJzogZGF0YS5jb250cm9scy5kZXNjcmlwdGlvbi5pc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YS5jb250cm9scy5kZXNjcmlwdGlvbi5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSAkZXZlbnQgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbC1idG4taWNvbiB7e2RhdGEuY29udHJvbHMuZGVzY3JpcHRpb24uaWNvbn19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmNvbnRyb2xzLnRodW1ic1wiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19jb250cm9sLWJ0blwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdpcy1hY3RpdmUnOiBkYXRhLmNvbnRyb2xzLnRodW1icy5pc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YS5jb250cm9scy50aHVtYnMuYW5jaG9yXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gJGV2ZW50IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtYnRuLWljb24ge3tkYXRhLmNvbnRyb2xzLnRodW1icy5pY29ufX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX190aHVtYnNcIiBcbiAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuaXNWaXNpYmxlLnRodW1ibmFpbHMgJiYgZGF0YS5pbWFnZXNcIiA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzLXN0cmlwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBkYXRhLmltYWdlczsgbGV0IGltZ0luZGV4ID0gaW5kZXhcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX190aHVtYlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImltZ0luZGV4ID09IGRhdGEuaW5pdGlhbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX190aHVtYi1pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwie3tpbWcudGh1bWJ9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soaW1nLnBheWxvYWQpXCIgPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgZGF0YS5uYXZpZ2F0aW9uLnByZXYuY2xhc3NlcyB8fCAnJyB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEubmF2aWdhdGlvbi5wcmV2LnBheWxvYWQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gKGNsaWNrKT1cIlwiIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pY29uLWFuZ2xlLWxlZnRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgZGF0YS5uYXZpZ2F0aW9uLm5leHQuY2xhc3NlcyB8fCAnJyB9fVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEubmF2aWdhdGlvbi5uZXh0LnBheWxvYWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtcmlnaHRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5uYXZpZ2F0aW9uIGFzIG5hdlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPVwie3sgbmF2LnByZXYuY2xhc3NlcyB8fCAnJyB9fVwiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhuYXYucHJldi5wYXlsb2FkKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pY29uLWFuZ2xlLWxlZnRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFxuICAgICAgICAgICAgICAgICAgICBjbGFzc2VzPVwie3sgbmF2Lm5leHQuY2xhc3NlcyB8fCAnJyB9fVwiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhuYXYubmV4dC5wYXlsb2FkKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pY29uLWFuZ2xlLXJpZ2h0XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG5cbiAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLm5hdmlnYXRpb24gYXMgbmF2XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJ7eyBuYXYucHJldi5jbGFzc2VzIHx8ICcnIH19XCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKG5hdi5wcmV2LnBheWxvYWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtbGVmdFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJ7eyBuYXYubmV4dC5jbGFzc2VzIHx8ICcnIH19XCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKG5hdi5uZXh0LnBheWxvYWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtcmlnaHRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvblwiIFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pc1Zpc2libGUuZGVzY3JpcHRpb25cIiA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb24tY2xvc2VcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLmNvbnRyb2xzLmNsb3NlZGVzY3JpcHRpb24uYW5jaG9yLnBheWxvYWQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmFuY2hvci5wYXlsb2FkIC0tPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInt7ZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmljb259fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvbi10ZXh0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb24tdGV4dFwiIFtpbm5lckhUTUxdPVwiZGF0YS5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PiBcbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utdmlld2VyLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLXZpZXdlci10b29scy9pbWFnZS12aWV3ZXItdG9vbHMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW1hZ2Utdmlld2VyLXRvb2xzL2ltYWdlLXZpZXdlci10b29scy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3Qix3QkFBd0I7QUFDeEIsNkJBQTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBOEdqRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsT0FBTyxDQUFDLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUTtJQUN2QyxDQUFDOztzSEFSVSx5QkFBeUI7MEdBQXpCLHlCQUF5QixxR0MxSHRDLDYrT0EySkE7MkZEakNhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBSXhCLElBQUk7c0JBQVosS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSU1BR0UtVklFV0VSLVRPT0xTLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBJbWFnZVZpZXdlckJ1dHRvbnNEYXRhLCBkZWZpbmVzIHRoZSB0aHVtYm5haWxcbiAqIHVybCBhbmQgaXRzIHJlbGF0aXZlIHBheWxvYWRcbiAqIEBwcm9wZXJ0eSB0aHVtYlxuICogQHByb3BlcnR5IHBheWxvYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVZpZXdlclRodW1iRGF0YSB7XG4gIC8qKlxuICAgKiBUaHVtYm5haWwgVVJMXG4gICAqL1xuICB0aHVtYjogc3RyaW5nO1xuICAvKipcbiAgICogUGF5bG9hZCBvbiB0aHVtYm5haWwgY2xpY2tcbiAgICovXG4gIHBheWxvYWQ6IGFueTtcbiAgLyoqXG4gICAqIFRodW1ibmFpbCBjYXB0aW9uXG4gICAqL1xuICBjYXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJCdXR0b25zRGF0YSwgZGVmaW5lcyB0aGUgbG9vayBhbmRcbiAqIHBheWxvYWQgb2YgdGhlIGNvbnRyb2xzIGJ1dHRvbnNcbiAqIEBwcm9wZXJ0eSBpY29uXG4gKiBAcHJvcGVydHkgcGF5bG9hZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyQnV0dG9uRGF0YSB7XG4gIC8qKlxuICAgKiBDU1MgY2xhc3Mgb2YgdGhlIGljb24uIFVzdWFsbHkgZnJvbSBuNyBpY29uIHBhY2tcbiAgICovXG4gIGljb246IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1dHRvbiBBbmNob3JcbiAgICovXG4gIGFuY2hvcj86IEFuY2hvcjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSW1hZ2VWaWV3ZXJUb29sc0NvbXBvbmVudCdzIFwiZGF0YVwiXG4gKiBAcHJvcGVydHkgaW1hZ2VzXG4gKiBAcHJvcGVydHkgZGVzY3JpcHRpb25cbiAqIEBwcm9wZXJ0eSBjb250cm9sc1xuICogQHByb3BlcnR5IHNob3dEZXNjcmlwdGlvblxuICogQHByb3BlcnR5IHNob3dUaHVtYm5haWxzXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVmlld2VyVG9vbHNEYXRhIHtcbiAgLyoqXG4gICAqIGxpc3Qgb2YgaW1hZ2UncyB0aHVtYm5haWxzXG4gICAqL1xuICBpbWFnZXM6IEltYWdlVmlld2VyVGh1bWJEYXRhW107XG4gIC8qKlxuICAgKiBkZXNjcmlwdGlvbiB0byBiZSBzaG93biBpbiB0aGUgYm94XG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIGRlc2NyaXB0aW9uL3RodW1ibmFpbHMgdmlzaWJpbGl0eSBjb250cm9sc1xuICAgKi9cbiAgY29udHJvbHM6IHtcbiAgICBkZXNjcmlwdGlvbjogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIHRodW1iczogSW1hZ2VWaWV3ZXJCdXR0b25EYXRhO1xuICAgIGNsb3NlZGVzY3JpcHRpb246IEltYWdlVmlld2VyQnV0dG9uRGF0YTtcbiAgfTtcbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIC8gdGh1bWJuYWlsIHRvZ2dsZXJzXG4gICAqL1xuICBpc1Zpc2libGU6IHtcbiAgICAvKiogVG9nZ2xlIGRlc2NyaXB0aW9uIGJveCB2aXNpYmlsaXR5ICovXG4gICAgZGVzY3JpcHRpb246IGJvb2xlYW47XG4gICAgLyoqIFRvZ2dsZSB0aHVtYm5haWxzIHN0cmlwIHZpc2liaWxpdHkgKi9cbiAgICB0aHVtYm5haWxzOiBib29sZWFuO1xuICB9O1xuICAvKipcbiAgICogZGVzY3JpcHRpb24gb3ZlcmxheSBuYXZpZ2F0aW9uXG4gICAqL1xuICBuYXZpZ2F0aW9uPzoge1xuICAgIHByZXY6IHtcbiAgICAgIHBheWxvYWQ6IGFueTsgLy8gJ3ByZXYnXG4gICAgICBjbGFzc2VzPzogYW55O1xuICAgIH07XG4gICAgbmV4dDoge1xuICAgICAgcGF5bG9hZDogYW55OyAvLyAnbmV4dCdcbiAgICAgIGNsYXNzZXM/OiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIEluaXRpYWwgaW1hZ2UgaW4gYXJyYXkgKHByb2dyZXNzaXZlIG51bWJlciBmcm9tIDApXG4gICAqL1xuICBpbml0aWFsOiBudW1iZXI7XG4gIC8qKlxuICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICAqL1xuICBwYXlsb2FkPzogYW55O1xuICAvKipcbiAgICogYWRkaXRpb25hbCBpbmZvXG4gICAqL1xuICBfbWV0YT86IGFueTtcbn1cblxuLyoqXG4gKiBJbWFnZVZpZXdlclRvb2xzQ29tcG9uZW50IDxuNy1pbWFnZS12aWV3ZXItdG9vbHM+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaW1hZ2Utdmlld2VyLXRvb2xzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXZpZXdlci10b29scy5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVZpZXdlclRvb2xzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YTogSW1hZ2VWaWV3ZXJUb29sc0RhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpOyAvLyBjbGlja1xuICB9XG59XG4iLCI8IS0tIDxkaXYgKm5nSWY9XCJkYXRhXCIgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19iYXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2J0bi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVyb19fYnRuIG43LWJ0biBuNy1idG4tY3RhIG43LWJ0bi1sIG43LWltYWdlLXZpZXdlci10b29sc19fYnRuRGVzY3JpcHRpb24ge3tkYXRhLmNsYXNzZXMuZGVzY3JpcHRpb24uY2xhc3NOYW1lIHx8ICcnfX1cIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ7e2RhdGEuY29udHJvbHMuZGVzY3JpcHRpb24uaWNvbn19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2J0bi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy50aHVtYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm43LWhlcm9fX2J0biBuNy1idG4gbjctYnRuLWN0YSBuNy1idG4tbCBuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2J0blRodW1icyB7e2RhdGEuY2xhc3Nlcy50aHVtYnMuY2xhc3NOYW1lIHx8ICcnfX1cIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmNvbnRyb2xzLnRodW1icy5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3tkYXRhLmNvbnRyb2xzLnRodW1icy5pY29ufX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fdGh1bWJzXCIgXG4gICAgICAgICAgICAqbmdJZj1cImRhdGEuaXNWaXNpYmxlLnRodW1ibmFpbHMgJiYgZGF0YS5pbWFnZXNcIiA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWcgb2YgZGF0YS5pbWFnZXM7IGxldCBpbWdJbmRleCA9IGluZGV4XCIgXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1iLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpbWdJbmRleCA9PSBkYXRhLmluaXRpYWxcIj5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cInt7aW1nLnRodW1ifX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhpbWcucGF5bG9hZClcIiA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb25cIiBcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pc1Zpc2libGUuZGVzY3JpcHRpb25cIiA+XG4gICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZGF0YS5kZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fZGVzY3JpcHRpb24tY2xvc2VidG5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEuY29udHJvbHMuY2xvc2VkZXNjcmlwdGlvbi5hbmNob3IucGF5bG9hZClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInt7ZGF0YS5jb250cm9scy5jbG9zZWRlc2NyaXB0aW9uLmljb259fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PiAtLT5cblxuPCEtLSBuNy1oZXJvX19idG4gbjctYnRuIG43LWJ0bi1jdGEgbjctYnRuLWwgbjctaW1hZ2Utdmlld2VyLXRvb2xzX19idG5EZXNjcmlwdGlvbiAtLT5cbjwhLS0gbjctaGVyb19fYnRuIG43LWJ0biBuNy1idG4tY3RhIG43LWJ0bi1sIG43LWltYWdlLXZpZXdlci10b29sc19fYnRuVGh1bWJzIC0tPlxuXG48ZGl2ICpuZ0lmPVwiZGF0YVwiIGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19iYXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uICYmIGRhdGEuZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbC1idG5cIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnaXMtYWN0aXZlJzogZGF0YS5jb250cm9scy5kZXNjcmlwdGlvbi5pc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiZGF0YS5jb250cm9scy5kZXNjcmlwdGlvbi5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gJGV2ZW50IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2NvbnRyb2wtYnRuLWljb24ge3tkYXRhLmNvbnRyb2xzLmRlc2NyaXB0aW9uLmljb259fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19jb250cm9sLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5jb250cm9scy50aHVtYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbC1idG5cIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnaXMtYWN0aXZlJzogZGF0YS5jb250cm9scy50aHVtYnMuaXNBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRhdGEuY29udHJvbHMudGh1bWJzLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSAkZXZlbnQgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWltYWdlLXZpZXdlci10b29sc19fY29udHJvbC1idG4taWNvbiB7e2RhdGEuY29udHJvbHMudGh1bWJzLmljb259fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX190aHVtYnMtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1ic1wiIFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pc1Zpc2libGUudGh1bWJuYWlscyAmJiBkYXRhLmltYWdlc1wiID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX190aHVtYnMtc3RyaXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIGRhdGEuaW1hZ2VzOyBsZXQgaW1nSW5kZXggPSBpbmRleFwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1iXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaW1nSW5kZXggPT0gZGF0YS5pbml0aWFsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX3RodW1iLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7e2ltZy50aHVtYn19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhpbWcucGF5bG9hZClcIiA+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5uYXZpZ2F0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBkYXRhLm5hdmlnYXRpb24ucHJldi5jbGFzc2VzIHx8ICcnIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soZGF0YS5uYXZpZ2F0aW9uLnByZXYucGF5bG9hZClcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSAoY2xpY2spPVwiXCIgLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtbGVmdFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBkYXRhLm5hdmlnYXRpb24ubmV4dC5jbGFzc2VzIHx8ICcnIH19XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soZGF0YS5uYXZpZ2F0aW9uLm5leHQucGF5bG9hZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1hbmdsZS1yaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLm5hdmlnYXRpb24gYXMgbmF2XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJ7eyBuYXYucHJldi5jbGFzc2VzIHx8ICcnIH19XCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKG5hdi5wcmV2LnBheWxvYWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtbGVmdFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXM9XCJ7eyBuYXYubmV4dC5jbGFzc2VzIHx8ICcnIH19XCIgXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKG5hdi5uZXh0LnBheWxvYWQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWljb24tYW5nbGUtcmlnaHRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cblxuICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEubmF2aWdhdGlvbiBhcyBuYXZcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcz1cInt7IG5hdi5wcmV2LmNsYXNzZXMgfHwgJycgfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2sobmF2LnByZXYucGF5bG9hZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1hbmdsZS1sZWZ0XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcz1cInt7IG5hdi5uZXh0LmNsYXNzZXMgfHwgJycgfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2sobmF2Lm5leHQucGF5bG9hZClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaWNvbi1hbmdsZS1yaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2Rlc2NyaXB0aW9uXCIgXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhLmlzVmlzaWJsZS5kZXNjcmlwdGlvblwiID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvbi1jbG9zZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEuY29udHJvbHMuY2xvc2VkZXNjcmlwdGlvbi5hbmNob3IucGF5bG9hZClcIj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSBkYXRhLmNvbnRyb2xzLmNsb3NlZGVzY3JpcHRpb24uYW5jaG9yLnBheWxvYWQgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3tkYXRhLmNvbnRyb2xzLmNsb3NlZGVzY3JpcHRpb24uaWNvbn19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1pbWFnZS12aWV3ZXItdG9vbHNfX2Rlc2NyaXB0aW9uLXRleHQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaW1hZ2Utdmlld2VyLXRvb2xzX19kZXNjcmlwdGlvbi10ZXh0XCIgW2lubmVySFRNTF09XCJkYXRhLmRlc2NyaXB0aW9uXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+IFxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|