slick-components 4.4.17 → 4.4.18
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/slick-calendar/slick-calendar.component.mjs +3 -2
- package/esm2020/slick-date-picker/slick-date-picker.component.mjs +3 -2
- package/esm2020/slick-file-list/slick-file-list-item.component.mjs +3 -2
- package/esm2020/utils/slick-init.service.mjs +2 -2
- package/fesm2015/slick-components.mjs +36 -33
- package/fesm2015/slick-components.mjs.map +1 -1
- package/fesm2020/slick-components.mjs +36 -33
- package/fesm2020/slick-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Component, forwardRef, Input, Output, EventEmitter, HostListener } from "@angular/core";
|
|
2
2
|
import { SlickUtilsService } from "../utils/slick-utils.service";
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
|
-
import * as
|
|
4
|
+
import * as _moment from "moment";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
|
+
const moment = _moment;
|
|
7
8
|
class DayModel {
|
|
8
9
|
}
|
|
9
10
|
class WeekModel {
|
|
@@ -243,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
243
244
|
type: HostListener,
|
|
244
245
|
args: ['click', ['$event', '$event.target']]
|
|
245
246
|
}] } });
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQW9DLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQUdqQyxNQUFNLFFBQVE7Q0FNYjtBQUVELE1BQU0sU0FBUztDQUVkO0FBRUQsTUFBTSxVQUFVO0NBR2Y7QUFZRCxNQUFNLE9BQU8sc0JBQXNCO0lBMEJsQztRQXpCUyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFNUIsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUUsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1RCxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVELGtCQUFhLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDN0Qsc0JB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QVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcclxuXHJcblxyXG5jbGFzcyBEYXlNb2RlbCB7XHJcblx0ZGF0ZTogRGF0ZTtcclxuXHRpc1NlbGVjdGVkOiBib29sZWFuO1xyXG5cdGlzVG9kYXk6IGJvb2xlYW47XHJcblx0aXNJbkN1cnJlbnRNb250aDogYm9vbGVhbjtcclxuXHRpc0FjdGl2ZTogYm9vbGVhbjtcclxufVxyXG5cclxuY2xhc3MgV2Vla01vZGVsIHtcclxuXHRkYXlzOiBEYXlNb2RlbFtdO1xyXG59XHJcblxyXG5jbGFzcyBNb250aE1vZGVsIHtcclxuXHRtb250aERpc3BsYXk6IHN0cmluZztcclxuXHR3ZWVrczogV2Vla01vZGVsW11cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay1jYWxlbmRhcicsXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0NhbGVuZGFyQ29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHR9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2xpY2tDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblx0QElucHV0KCkgY29uZGVuc2VkOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgbW9udGhzVG9TaG93OiBudW1iZXIgPSAxO1xyXG5cdEBJbnB1dCgpIGluYWN0aXZlRGF0ZXM6IERhdGVbXSA9IFtdO1xyXG5cdEBJbnB1dCgpIGluYWN0aXZlV2Vla2VuZHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93RGF5c05vdEluTW9udGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBtdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIG11bHRpU2VsZWN0RGF0ZXM6IERhdGVbXTtcclxuXHRAT3V0cHV0KCkgbXVsdGlTZWxlY3REYXRlc0NoYW5nZTogRXZlbnRFbWl0dGVyPERhdGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXT4oKTtcclxuXHRAT3V0cHV0KCkgb25EYXRlU2VsZWN0OiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblx0QE91dHB1dCgpIG9uRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cdEBPdXRwdXQoKSBvbk1vbnRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblx0QE91dHB1dCgpIG9uTXVsdGlEYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xyXG5cclxuXHRASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50JywgJyRldmVudC50YXJnZXQnXSlcclxuXHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0YXJnZXRFbGVtZW50IHx8IFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHModGFyZ2V0RWxlbWVudCwgXCJzbGlja0NhbGVuZGFyX21vbnRoXCIpKVxyXG5cdFx0XHRyZXR1cm47XHJcblx0fVxyXG5cclxuXHR1dWlkOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHR2aXNpYmxlRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblx0bW9udGhzOiBNb250aE1vZGVsW107XHJcblx0bWluV2lkdGg6IG51bWJlcjtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLnV1aWQgPSBTbGlja1V0aWxzU2VydmljZS5uZXdHdWlkKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMucmVjYWxjKCk7XHJcblx0fVxyXG5cclxuXHRhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcblx0XHRpZiAoY2hhbmdlcy5jb25kZW5zZWQpXHJcblx0XHRcdHRoaXMuY29uZGVuc2VkID0gKHRoaXMuY29uZGVuc2VkIHx8ICdmYWxzZScpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuXHRcdGlmIChjaGFuZ2VzLmluYWN0aXZlV2Vla2VuZHMpXHJcblx0XHRcdHRoaXMuaW5hY3RpdmVXZWVrZW5kcyA9ICh0aGlzLmluYWN0aXZlV2Vla2VuZHMgfHwgJ3RydWUnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScgPyBmYWxzZSA6IHRydWU7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuc2hvd0RheXNOb3RJbk1vbnRoKVxyXG5cdFx0XHR0aGlzLnNob3dEYXlzTm90SW5Nb250aCA9ICh0aGlzLnNob3dEYXlzTm90SW5Nb250aCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5tdWx0aVNlbGVjdClcclxuXHRcdFx0dGhpcy5tdWx0aVNlbGVjdCA9ICh0aGlzLm11bHRpU2VsZWN0IHx8ICdmYWxzZScpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuXHRcdGNvbnN0IHdpZHRoUGVyQ2FsZW5kYXIgPSAodGhpcy5jb25kZW5zZWQpID8gMTgwIDogMjUwO1xyXG5cdFx0dGhpcy5taW5XaWR0aCA9IHRoaXMubW9udGhzVG9TaG93ICogd2lkdGhQZXJDYWxlbmRhcjtcclxuXHJcblx0XHR0aGlzLnJlY2FsYygpO1xyXG5cclxuXHR9XHJcblxyXG5cdHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHdyaXRlVmFsdWUob2JqOiBhbnkpIHtcclxuXHRcdGlmIChvYmopIHtcclxuXHRcdFx0aWYgKG1vbWVudChvYmopLmlzVmFsaWQoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gb2JqO1xyXG5cdFx0XHRcdHRoaXMudmlzaWJsZURhdGUgPSBvYmo7XHJcblx0XHRcdFx0dGhpcy5yZWNhbGMoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG51bGw7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGVsc2Uge1xyXG5cdFx0XHRpZiAoIXRoaXMuc2VsZWN0ZWREYXRlICYmIHRoaXMub25EYXRlQ2hhbmdlKVxyXG5cdFx0XHRcdHRoaXMub25EYXRlQ2hhbmdlLmVtaXQobnVsbCk7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIHJlZ2lzdGVycyAnZm4nIHRoYXQgd2lsbCBiZSBmaXJlZCB3aGVuIGNoYW5nZXMgYXJlIG1hZGVcclxuXHQvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cclxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuXHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcblx0fVxyXG5cclxuXHQvLyBub3QgdXNlZCwgdXNlZCBmb3IgdG91Y2ggaW5wdXRcclxuXHRyZWdpc3Rlck9uVG91Y2hlZCgpIHsgfVxyXG5cclxuXHRwcmV2TW9udGgoKSB7XHJcblx0XHR0aGlzLnZpc2libGVEYXRlID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpLnN1YnRyYWN0KHRoaXMubW9udGhzVG9TaG93LCBcIm1vbnRoc1wiKS50b0RhdGUoKTtcclxuXHRcdHRoaXMucmVjYWxjKCk7XHJcblxyXG5cdFx0aWYgKHRoaXMub25Nb250aENoYW5nZSkge1xyXG5cdFx0XHRsZXQgbW9udGhTdGFydCA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKS5zdGFydE9mKFwibW9udGhcIik7XHJcblx0XHRcdGlmICh0aGlzLnNob3dEYXlzTm90SW5Nb250aCA9PT0gdHJ1ZSlcclxuXHRcdFx0XHRtb250aFN0YXJ0ID0gbW9udGhTdGFydC5zdGFydE9mKFwid2Vla1wiKTtcclxuXHJcblx0XHRcdHRoaXMub25Nb250aENoYW5nZS5lbWl0KG1vbnRoU3RhcnQudG9EYXRlKCkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmV4dE1vbnRoKCkge1xyXG5cdFx0dGhpcy52aXNpYmxlRGF0ZSA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKS5hZGQodGhpcy5tb250aHNUb1Nob3csIFwibW9udGhzXCIpLnRvRGF0ZSgpO1xyXG5cdFx0dGhpcy5yZWNhbGMoKTtcclxuXHJcblx0XHRpZiAodGhpcy5vbk1vbnRoQ2hhbmdlKSB7XHJcblx0XHRcdGxldCBtb250aFN0YXJ0ID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpLnN0YXJ0T2YoXCJtb250aFwiKTtcclxuXHRcdFx0aWYgKHRoaXMuc2hvd0RheXNOb3RJbk1vbnRoID09PSB0cnVlKVxyXG5cdFx0XHRcdG1vbnRoU3RhcnQgPSBtb250aFN0YXJ0LnN0YXJ0T2YoXCJ3ZWVrXCIpO1xyXG5cclxuXHRcdFx0dGhpcy5vbk1vbnRoQ2hhbmdlLmVtaXQobW9udGhTdGFydC50b0RhdGUoKSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzZWxlY3RNb250aChtb250aElkeCkge1xyXG5cdFx0Y29uc3QgbW9udGggPSB0aGlzLm1vbnRoc1ttb250aElkeF07XHJcblx0XHRsZXQgdmlzaWJsZURhdGUgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSk7XHJcblx0XHRsZXQgZGF0ZVN0cmluZyA9IG1vbnRoICsgdmlzaWJsZURhdGUuZm9ybWF0KFwiIDEsIFlZWVlcIik7XHJcblxyXG5cdFx0dGhpcy52aXNpYmxlRGF0ZSA9IG1vbWVudChkYXRlU3RyaW5nLCBcIk1NTU0gREQsIFlZWVlcIikudG9EYXRlKCk7XHJcblx0XHR0aGlzLnJlY2FsYygpO1xyXG5cdH1cclxuXHJcblx0c2V0RGF0ZShkYXlNb2RlbDogRGF5TW9kZWwpIHtcclxuXHRcdGlmICh0aGlzLnNob3dEYXlzTm90SW5Nb250aCA9PT0gZmFsc2UgJiYgZGF5TW9kZWwuaXNJbkN1cnJlbnRNb250aCA9PT0gZmFsc2UpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRpZiAoZGF5TW9kZWwuaXNBY3RpdmUgPT09IGZhbHNlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKHRoaXMubXVsdGlTZWxlY3QgPT09IGZhbHNlKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gZGF5TW9kZWwuZGF0ZTtcclxuXHRcdFx0dGhpcy52aXNpYmxlRGF0ZSA9IGRheU1vZGVsLmRhdGU7XHJcblxyXG5cdFx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcblxyXG5cdFx0XHRpZiAodGhpcy5vbkRhdGVDaGFuZ2UpXHJcblx0XHRcdFx0dGhpcy5vbkRhdGVDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcblxyXG5cdFx0XHRpZiAodGhpcy5vbkRhdGVTZWxlY3QpXHJcblx0XHRcdFx0dGhpcy5vbkRhdGVTZWxlY3QuZW1pdCh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcblxyXG5cdFx0XHQvLyBTYXkgd2UgaGF2ZSAzIG1vbnRocyBzaG93aW5nIGFuZCB0aGV5IHNlbGVjdCBhIGRhdGUgb24gdGhlIDNyZCBtb250aFxyXG5cdFx0XHQvLyBSZWNhbGMgd2lsbCByZS1kcmF3IHRoZSAzcmQgbW9udGggYXMgdGhlIGZpcnN0IG1vbnRoIGluc3RlYWQgb2YganVzdCBcclxuXHRcdFx0Ly8gaGlnbGlnaHRpbmcgdGhlIGRhdGUgb24gdGhlIDNyZCBtb250aC4gIEhpZ2hsaWdodCBpbnN0ZWFkLlxyXG5cdFx0XHRsZXQgZGF0ZUZvdW5kID0gZmFsc2U7XHJcblx0XHRcdGZvciAobGV0IG1vbnRoIG9mIHRoaXMubW9udGhzKSB7XHJcblx0XHRcdFx0Zm9yIChsZXQgd2VlayBvZiBtb250aC53ZWVrcykge1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgZGF5IG9mIHdlZWsuZGF5cykge1xyXG5cdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRpZiAoZGF5LmlzSW5DdXJyZW50TW9udGggPT09IHRydWUgJiYgbW9tZW50KGRheS5kYXRlKS5pc1NhbWUodGhpcy5zZWxlY3RlZERhdGUsIFwiZGF0ZVwiKSkge1xyXG5cdFx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHRkYXRlRm91bmQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvLyBCdXQgaWYgdGhleSd2ZSBcclxuXHRcdFx0aWYgKGRhdGVGb3VuZCA9PT0gZmFsc2UpXHJcblx0XHRcdFx0dGhpcy5yZWNhbGMoKTtcclxuXHRcdH1cclxuXHRcdGVsc2Uge1xyXG5cdFx0XHQvLyBUaGlzIHdpbGwgYmUgcmV2ZXJzZWQgc2luY2Ugd2UgaGF2ZW4ndCByZS1jYWxjZWQgdGhlIGRhdGVzIHlldC5cclxuXHRcdFx0aWYgKCFkYXlNb2RlbC5pc1NlbGVjdGVkKVxyXG5cdFx0XHRcdHRoaXMubXVsdGlTZWxlY3REYXRlcy5wdXNoKGRheU1vZGVsLmRhdGUpO1xyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRsZXQgZGF0ZUlkeCA9IHRoaXMubXVsdGlTZWxlY3REYXRlcy5maW5kSW5kZXgoZCA9PiBtb21lbnQoZCkuc3RhcnRPZihcImRhdGVcIikuaXNTYW1lKG1vbWVudChkYXlNb2RlbC5kYXRlKS5zdGFydE9mKFwiZGF0ZVwiKSkpO1xyXG5cdFx0XHRcdHRoaXMubXVsdGlTZWxlY3REYXRlcy5zcGxpY2UoZGF0ZUlkeCwgMSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICh0aGlzLm9uTXVsdGlEYXRlQ2hhbmdlKVxyXG5cdFx0XHRcdHRoaXMub25NdWx0aURhdGVDaGFuZ2UuZW1pdCh0aGlzLm11bHRpU2VsZWN0RGF0ZXMpXHJcblxyXG5cdFx0XHRmb3IgKGxldCBtb250aCBvZiB0aGlzLm1vbnRocykge1xyXG5cdFx0XHRcdGZvciAobGV0IHdlZWsgb2YgbW9udGgud2Vla3MpIHtcclxuXHRcdFx0XHRcdGZvciAobGV0IGRheSBvZiB3ZWVrLmRheXMpIHtcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0aWYgKGRheS5pc0luQ3VycmVudE1vbnRoID09PSB0cnVlICYmICh0aGlzLm11bHRpU2VsZWN0RGF0ZXMuZmluZEluZGV4KHggPT4gbW9tZW50KHgpLmlzU2FtZShtb21lbnQoZGF5LmRhdGUpLCBcImRhdGVcIikpID49IDApKSB7XHJcblx0XHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSByZWNhbGMoKSB7XHJcblx0XHR0aGlzLm1vbnRocyA9IFtdO1xyXG5cclxuXHRcdGZvciAobGV0IG1vbnRoQ291bnQgPSAwOyBtb250aENvdW50IDwgdGhpcy5tb250aHNUb1Nob3c7IG1vbnRoQ291bnQrKykge1xyXG5cdFx0XHRsZXQgY3VycmVudERhdGUgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSkuc3RhcnRPZihcIm1vbnRoXCIpO1xyXG5cdFx0XHRjdXJyZW50RGF0ZSA9IG1vbWVudChjdXJyZW50RGF0ZSkuYWRkKG1vbnRoQ291bnQsIFwibW9udGhzXCIpXHJcblx0XHRcdGN1cnJlbnREYXRlID0gbW9tZW50KGN1cnJlbnREYXRlKS5zdGFydE9mKFwid2Vla1wiKS5zdGFydE9mKFwiZGF0ZVwiKTtcclxuXHJcblx0XHRcdGNvbnN0IG1vbnRoID0gbmV3IE1vbnRoTW9kZWwoKTtcclxuXHRcdFx0bW9udGgud2Vla3MgPSBbXTtcclxuXHJcblx0XHRcdC8vIEN1cnJlbnREYXRlIGlzIG1vc3QgbGlrZWx5IGdvaW5nIHRvIGJlIHRoZSBtb250aCBiZWZvcmUsIHNvIGFkZCAxNSBkYXlzIHRvIGdldCB0byB0aGUgbWlkZGxlIG9mIHRoZSBjdXJyZW50IG1vbnRoXHJcblx0XHRcdGNvbnN0IG1vbnRoVG9EaXNwbGF5ID0gbW9tZW50KGN1cnJlbnREYXRlKS5hZGQoMTUsIFwiZGF5c1wiKTtcclxuXHRcdFx0bW9udGgubW9udGhEaXNwbGF5ID0gKHRoaXMuY29uZGVuc2VkID09PSB0cnVlKSA/IG1vbnRoVG9EaXNwbGF5LmZvcm1hdChcIk1NTSBZWVlZXCIpIDogbW9udGhUb0Rpc3BsYXkuZm9ybWF0KFwiTU1NIFlZWVlcIik7XHJcblxyXG5cdFx0XHRmb3IgKGxldCB3ZWVrQ291bnQgPSAwOyB3ZWVrQ291bnQgPCA2OyB3ZWVrQ291bnQrKykge1xyXG5cdFx0XHRcdGNvbnN0IHdlZWsgPSBuZXcgV2Vla01vZGVsKCk7XHJcblx0XHRcdFx0d2Vlay5kYXlzID0gW107XHJcblxyXG5cdFx0XHRcdGZvciAobGV0IGRheUNvdW50ID0gMDsgZGF5Q291bnQgPCA3OyBkYXlDb3VudCsrKSB7XHJcblx0XHRcdFx0XHRjb25zdCBkYXkgPSBuZXcgRGF5TW9kZWwoKTtcclxuXHRcdFx0XHRcdGRheS5kYXRlID0gY3VycmVudERhdGUudG9EYXRlKCk7XHJcblx0XHRcdFx0XHRkYXkuaXNUb2RheSA9IG1vbWVudCgpLmlzU2FtZShjdXJyZW50RGF0ZSwgXCJkYXRlXCIpO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMubXVsdGlTZWxlY3QgJiYgdGhpcy5tdWx0aVNlbGVjdERhdGVzKVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9ICh0aGlzLm11bHRpU2VsZWN0RGF0ZXMuZmluZEluZGV4KHggPT4gbW9tZW50KHgpLmlzU2FtZShtb21lbnQoZGF5LmRhdGUpLCBcImRhdGVcIikpID49IDApO1xyXG5cdFx0XHRcdFx0ZWxzZVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IG1vbWVudCh0aGlzLnNlbGVjdGVkRGF0ZSkuaXNTYW1lKGN1cnJlbnREYXRlLCBcImRhdGVcIik7XHJcblxyXG5cdFx0XHRcdFx0ZGF5LmlzSW5DdXJyZW50TW9udGggPSAoY3VycmVudERhdGUubW9udGgoKSA9PT0gbW9udGhUb0Rpc3BsYXkubW9udGgoKSk7XHJcblxyXG5cdFx0XHRcdFx0ZGF5LmlzQWN0aXZlID0gdHJ1ZTtcclxuXHJcblx0XHRcdFx0XHRpZiAodGhpcy5pbmFjdGl2ZVdlZWtlbmRzICYmIGN1cnJlbnREYXRlLmRheSgpID09PSA2IHx8IGN1cnJlbnREYXRlLmRheSgpID09PSA3KVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNBY3RpdmUgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHRpZiAodGhpcy5pbmFjdGl2ZURhdGVzICYmIHRoaXMuaW5hY3RpdmVEYXRlcy5maW5kSW5kZXgoeCA9PiBtb21lbnQoeCkuaXNTYW1lKGN1cnJlbnREYXRlLCBcImRhdGVcIikpID49IDApXHJcblx0XHRcdFx0XHRcdGRheS5pc0FjdGl2ZSA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdGlmICh0aGlzLnNob3dEYXlzTm90SW5Nb250aCA9PT0gZmFsc2UgJiYgZGF5LmlzSW5DdXJyZW50TW9udGggPT09IGZhbHNlKVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNBY3RpdmUgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHQvLyBJdCdzIHBvc3NpYmxlIGZvciB0aGUgZGF5IHRvIGJlIGluIHRoZSBtb250aCBkaXNwbGF5LCBidXQgaGlkZGVuLCBidXQgYWN0aXZlXHJcblx0XHRcdFx0XHRpZiAoZGF5LmlzQWN0aXZlID09PSBmYWxzZSlcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHRpZiAoZGF5LmlzSW5DdXJyZW50TW9udGggPT09IGZhbHNlKVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdHdlZWsuZGF5cy5wdXNoKGRheSk7XHJcblxyXG5cdFx0XHRcdFx0Y3VycmVudERhdGUgPSBtb21lbnQoY3VycmVudERhdGUpLmFkZCgxLCBcImRheXNcIik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRtb250aC53ZWVrcy5wdXNoKHdlZWspO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0aGlzLm1vbnRocy5wdXNoKG1vbnRoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59IiwiPGRpdiBjbGFzcz1cInNsaWNrLWNhbGVuZGFyIGRlZmF1bHQtd2lkdGggY2FyZFwiIGlkPVwic2xpY2stY2FsZW5kYXJfe3t1dWlkfX1cIiBbc3R5bGUubWluV2lkdGgucHhdPVwibWluV2lkdGhcIiBbbmdDbGFzc109XCJ7J3NsaWNrLWNhbGVuZGFyX2NvbmRlbnNlZCc6IGNvbmRlbnNlZCA9PT0gdHJ1ZSwgJ3NsaWNrLWNhbGVuZGFyX3NpbmdsZSc6IG1vbnRoc1RvU2hvdyA9PT0gMSB9XCI+XHJcblx0PGRpdiBjbGFzcz1cInNsaWNrLWNhbGVuZGFyX3ByZXYtbW9udGhcIiAoY2xpY2spPVwicHJldk1vbnRoKClcIj48aSBjbGFzcz1cImZhciBmYS1jaGV2cm9uLWxlZnRcIj48L2k+PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cInNsaWNrLWNhbGVuZGFyX25leHQtbW9udGhcIiAoY2xpY2spPVwibmV4dE1vbnRoKClcIj48aSBjbGFzcz1cImZhciBmYS1jaGV2cm9uLXJpZ2h0XCI+PC9pPjwvZGl2PlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1hcm91bmQgcHQtMlwiIFtuZ0NsYXNzXT1cInsgJ214LTMnOiBtb250aHNUb1Nob3cgPiAxLCAnbXgtMSc6IG1vbnRoc1RvU2hvdyA9PT0gMSB9XCI+XHJcblx0XHQ8ZGl2ICpuZ0Zvcj1cImxldCBtb250aCBvZiBtb250aHNcIiBjbGFzcz1cImZsZXgtZmlsbCBteC0yXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7bWF4LXdpZHRoOiAyMjBweDtcIj5cclxuXHJcblx0XHRcdDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXNtIHRhYmxlLWJvcmRlcmxlc3NcIiBzdHlsZT1cInRhYmxlLWxheW91dDogZml4ZWQ7IFwiPlxyXG5cdFx0XHRcdDx0aGVhZD5cclxuXHRcdFx0XHRcdDx0ciBjbGFzcz1cInNsaWNrLWNhbGVuZGFyX21vbnRoLWRpc3BsYXlcIj5cclxuXHRcdFx0XHRcdFx0PHRkIGNvbHNwYW49XCI3XCI+PGI+e3ttb250aC5tb250aERpc3BsYXl9fTwvYj48L3RkPlxyXG5cdFx0XHRcdFx0PC90cj5cclxuXHRcdFx0XHRcdDx0ciBjbGFzcz1cInNsaWNrLWNhbGVuZGFyX2RheXMtb2Ytd2Vla1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPlN1bjwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5TPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+TW9uPC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPk08L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5UdWU8L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+VDwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPldlZDwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5XPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+VGh1PC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPlRoPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+RnJpPC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPkY8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5TYXQ8L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+Uzwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0PC90cj5cclxuXHRcdFx0XHQ8L3RoZWFkPlxyXG5cclxuXHRcdFx0XHQ8dGJvZHk+XHJcblx0XHRcdFx0XHQ8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgbW9udGgud2Vla3NcIj5cclxuXHRcdFx0XHRcdFx0PHRkICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vlay5kYXlzXCIgKGNsaWNrKT1cInNldERhdGUoZGF5KVwiIGNsYXNzPVwic2xpY2stY2FsZW5kYXJfZGF0ZVwiIFtuZ0NsYXNzXT1cInsgJ3NsaWNrLWNhbGVuZGFyX2lzLXRvZGF5JzogZGF5LmlzVG9kYXksICdiZy1zdWNjZXNzIHRleHQtd2hpdGUnOiBkYXkuaXNTZWxlY3RlZCwgJ3NsaWNrLWNhbGVuZGFyX25vdF9pbl9tb250aCc6IGRheS5pc0luQ3VycmVudE1vbnRoID09PSBmYWxzZSwgJ3NsaWNrLWNhbGVuZGFyX2luYWN0aXZlJzogZGF5LmlzQWN0aXZlID09PSBmYWxzZSB9XCI+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gKm5nSWY9XCJzaG93RGF5c05vdEluTW9udGggPT09IHRydWUgfHwgKHNob3dEYXlzTm90SW5Nb250aCA9PT0gZmFsc2UgJiYgZGF5LmlzSW5DdXJyZW50TW9udGggPT09IHRydWUpXCI+e3tkYXkuZGF0ZSB8IGRhdGU6J2QnfX08L3NwYW4+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gKm5nSWY9XCJtb250aHNUb1Nob3cgPiAxICYmIChzaG93RGF5c05vdEluTW9udGggPT09IGZhbHNlICYmIGRheS5pc0luQ3VycmVudE1vbnRoID09PSBmYWxzZSlcIj4mbmJzcDs8L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0XHQ8L3RyPlxyXG5cdFx0XHRcdDwvdGJvZHk+XHJcblx0XHRcdDwvdGFibGU+XHJcblxyXG5cclxuXHRcdDwvZGl2PlxyXG5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+Il19
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQW9DLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7OztBQUFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUcxRCxNQUFNLFFBQVE7Q0FNYjtBQUVELE1BQU0sU0FBUztDQUVkO0FBRUQsTUFBTSxVQUFVO0NBR2Y7QUFZRCxNQUFNLE9BQU8sc0JBQXNCO0lBMEJsQztRQXpCUyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFNUIsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUUsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1RCxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVELGtCQUFhLEdBQXVC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QkFBMUIsTUFBTTtnQkFHUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0ICogYXMgX21vbWVudCBmcm9tIFwibW9tZW50XCI7IGNvbnN0IG1vbWVudCA9IF9tb21lbnQ7XHJcblxyXG5cclxuY2xhc3MgRGF5TW9kZWwge1xyXG5cdGRhdGU6IERhdGU7XHJcblx0aXNTZWxlY3RlZDogYm9vbGVhbjtcclxuXHRpc1RvZGF5OiBib29sZWFuO1xyXG5cdGlzSW5DdXJyZW50TW9udGg6IGJvb2xlYW47XHJcblx0aXNBY3RpdmU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmNsYXNzIFdlZWtNb2RlbCB7XHJcblx0ZGF5czogRGF5TW9kZWxbXTtcclxufVxyXG5cclxuY2xhc3MgTW9udGhNb2RlbCB7XHJcblx0bW9udGhEaXNwbGF5OiBzdHJpbmc7XHJcblx0d2Vla3M6IFdlZWtNb2RlbFtdXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnc2xpY2stY2FsZW5kYXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tDYWxlbmRhckNvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlLFxyXG5cdFx0fV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cdEBJbnB1dCgpIGNvbmRlbnNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIG1vbnRoc1RvU2hvdzogbnVtYmVyID0gMTtcclxuXHRASW5wdXQoKSBpbmFjdGl2ZURhdGVzOiBEYXRlW10gPSBbXTtcclxuXHRASW5wdXQoKSBpbmFjdGl2ZVdlZWtlbmRzOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0RheXNOb3RJbk1vbnRoOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgbXVsdGlTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBtdWx0aVNlbGVjdERhdGVzOiBEYXRlW107XHJcblx0QE91dHB1dCgpIG11bHRpU2VsZWN0RGF0ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XHJcblx0QE91dHB1dCgpIG9uRGF0ZVNlbGVjdDogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cdEBPdXRwdXQoKSBvbkRhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHRAT3V0cHV0KCkgb25Nb250aENoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cdEBPdXRwdXQoKSBvbk11bHRpRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXT4oKTtcclxuXHJcblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICckZXZlbnQudGFyZ2V0J10pXHJcblx0b25DbGljayhldmVudDogTW91c2VFdmVudCwgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuXHRcdGlmICghdGFyZ2V0RWxlbWVudCB8fCBTbGlja1V0aWxzU2VydmljZS5jaGVja1BhcmVudENsYXNzRXhpc3RzKHRhcmdldEVsZW1lbnQsIFwic2xpY2tDYWxlbmRhcl9tb250aFwiKSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cdH1cclxuXHJcblx0dXVpZDogc3RyaW5nO1xyXG5cdHNlbGVjdGVkRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblx0dmlzaWJsZURhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cdG1vbnRoczogTW9udGhNb2RlbFtdO1xyXG5cdG1pbldpZHRoOiBudW1iZXI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy51dWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLnJlY2FsYygpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0aWYgKGNoYW5nZXMuY29uZGVuc2VkKVxyXG5cdFx0XHR0aGlzLmNvbmRlbnNlZCA9ICh0aGlzLmNvbmRlbnNlZCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5pbmFjdGl2ZVdlZWtlbmRzKVxyXG5cdFx0XHR0aGlzLmluYWN0aXZlV2Vla2VuZHMgPSAodGhpcy5pbmFjdGl2ZVdlZWtlbmRzIHx8ICd0cnVlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlO1xyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnNob3dEYXlzTm90SW5Nb250aClcclxuXHRcdFx0dGhpcy5zaG93RGF5c05vdEluTW9udGggPSAodGhpcy5zaG93RGF5c05vdEluTW9udGggfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMubXVsdGlTZWxlY3QpXHJcblx0XHRcdHRoaXMubXVsdGlTZWxlY3QgPSAodGhpcy5tdWx0aVNlbGVjdCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHRjb25zdCB3aWR0aFBlckNhbGVuZGFyID0gKHRoaXMuY29uZGVuc2VkKSA/IDE4MCA6IDI1MDtcclxuXHRcdHRoaXMubWluV2lkdGggPSB0aGlzLm1vbnRoc1RvU2hvdyAqIHdpZHRoUGVyQ2FsZW5kYXI7XHJcblxyXG5cdFx0dGhpcy5yZWNhbGMoKTtcclxuXHJcblx0fVxyXG5cclxuXHRwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcblxyXG5cdC8vIHRoaXMgaXMgdGhlIGluaXRpYWwgdmFsdWUgc2V0IHRvIHRoZSBjb21wb25lbnRcclxuXHR3cml0ZVZhbHVlKG9iajogYW55KSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGlmIChtb21lbnQob2JqKS5pc1ZhbGlkKCkpIHtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG9iajtcclxuXHRcdFx0XHR0aGlzLnZpc2libGVEYXRlID0gb2JqO1xyXG5cdFx0XHRcdHRoaXMucmVjYWxjKCk7XHJcblx0XHRcdH1cclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0aWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLm9uRGF0ZUNoYW5nZSlcclxuXHRcdFx0XHR0aGlzLm9uRGF0ZUNoYW5nZS5lbWl0KG51bGwpO1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG51bGw7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXHJcblx0Ly8gdGhpcyBpcyBob3cgd2UgZW1pdCB0aGUgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0Ly8gbm90IHVzZWQsIHVzZWQgZm9yIHRvdWNoIGlucHV0XHJcblx0cmVnaXN0ZXJPblRvdWNoZWQoKSB7IH1cclxuXHJcblx0cHJldk1vbnRoKCkge1xyXG5cdFx0dGhpcy52aXNpYmxlRGF0ZSA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKS5zdWJ0cmFjdCh0aGlzLm1vbnRoc1RvU2hvdywgXCJtb250aHNcIikudG9EYXRlKCk7XHJcblx0XHR0aGlzLnJlY2FsYygpO1xyXG5cclxuXHRcdGlmICh0aGlzLm9uTW9udGhDaGFuZ2UpIHtcclxuXHRcdFx0bGV0IG1vbnRoU3RhcnQgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSkuc3RhcnRPZihcIm1vbnRoXCIpO1xyXG5cdFx0XHRpZiAodGhpcy5zaG93RGF5c05vdEluTW9udGggPT09IHRydWUpXHJcblx0XHRcdFx0bW9udGhTdGFydCA9IG1vbnRoU3RhcnQuc3RhcnRPZihcIndlZWtcIik7XHJcblxyXG5cdFx0XHR0aGlzLm9uTW9udGhDaGFuZ2UuZW1pdChtb250aFN0YXJ0LnRvRGF0ZSgpKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5leHRNb250aCgpIHtcclxuXHRcdHRoaXMudmlzaWJsZURhdGUgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSkuYWRkKHRoaXMubW9udGhzVG9TaG93LCBcIm1vbnRoc1wiKS50b0RhdGUoKTtcclxuXHRcdHRoaXMucmVjYWxjKCk7XHJcblxyXG5cdFx0aWYgKHRoaXMub25Nb250aENoYW5nZSkge1xyXG5cdFx0XHRsZXQgbW9udGhTdGFydCA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKS5zdGFydE9mKFwibW9udGhcIik7XHJcblx0XHRcdGlmICh0aGlzLnNob3dEYXlzTm90SW5Nb250aCA9PT0gdHJ1ZSlcclxuXHRcdFx0XHRtb250aFN0YXJ0ID0gbW9udGhTdGFydC5zdGFydE9mKFwid2Vla1wiKTtcclxuXHJcblx0XHRcdHRoaXMub25Nb250aENoYW5nZS5lbWl0KG1vbnRoU3RhcnQudG9EYXRlKCkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2VsZWN0TW9udGgobW9udGhJZHgpIHtcclxuXHRcdGNvbnN0IG1vbnRoID0gdGhpcy5tb250aHNbbW9udGhJZHhdO1xyXG5cdFx0bGV0IHZpc2libGVEYXRlID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpO1xyXG5cdFx0bGV0IGRhdGVTdHJpbmcgPSBtb250aCArIHZpc2libGVEYXRlLmZvcm1hdChcIiAxLCBZWVlZXCIpO1xyXG5cclxuXHRcdHRoaXMudmlzaWJsZURhdGUgPSBtb21lbnQoZGF0ZVN0cmluZywgXCJNTU1NIERELCBZWVlZXCIpLnRvRGF0ZSgpO1xyXG5cdFx0dGhpcy5yZWNhbGMoKTtcclxuXHR9XHJcblxyXG5cdHNldERhdGUoZGF5TW9kZWw6IERheU1vZGVsKSB7XHJcblx0XHRpZiAodGhpcy5zaG93RGF5c05vdEluTW9udGggPT09IGZhbHNlICYmIGRheU1vZGVsLmlzSW5DdXJyZW50TW9udGggPT09IGZhbHNlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKGRheU1vZGVsLmlzQWN0aXZlID09PSBmYWxzZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGlmICh0aGlzLm11bHRpU2VsZWN0ID09PSBmYWxzZSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IGRheU1vZGVsLmRhdGU7XHJcblx0XHRcdHRoaXMudmlzaWJsZURhdGUgPSBkYXlNb2RlbC5kYXRlO1xyXG5cclxuXHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMub25EYXRlQ2hhbmdlKVxyXG5cdFx0XHRcdHRoaXMub25EYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMub25EYXRlU2VsZWN0KVxyXG5cdFx0XHRcdHRoaXMub25EYXRlU2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuXHRcdFx0Ly8gU2F5IHdlIGhhdmUgMyBtb250aHMgc2hvd2luZyBhbmQgdGhleSBzZWxlY3QgYSBkYXRlIG9uIHRoZSAzcmQgbW9udGhcclxuXHRcdFx0Ly8gUmVjYWxjIHdpbGwgcmUtZHJhdyB0aGUgM3JkIG1vbnRoIGFzIHRoZSBmaXJzdCBtb250aCBpbnN0ZWFkIG9mIGp1c3QgXHJcblx0XHRcdC8vIGhpZ2xpZ2h0aW5nIHRoZSBkYXRlIG9uIHRoZSAzcmQgbW9udGguICBIaWdobGlnaHQgaW5zdGVhZC5cclxuXHRcdFx0bGV0IGRhdGVGb3VuZCA9IGZhbHNlO1xyXG5cdFx0XHRmb3IgKGxldCBtb250aCBvZiB0aGlzLm1vbnRocykge1xyXG5cdFx0XHRcdGZvciAobGV0IHdlZWsgb2YgbW9udGgud2Vla3MpIHtcclxuXHRcdFx0XHRcdGZvciAobGV0IGRheSBvZiB3ZWVrLmRheXMpIHtcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0aWYgKGRheS5pc0luQ3VycmVudE1vbnRoID09PSB0cnVlICYmIG1vbWVudChkYXkuZGF0ZSkuaXNTYW1lKHRoaXMuc2VsZWN0ZWREYXRlLCBcImRhdGVcIikpIHtcclxuXHRcdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0ZGF0ZUZvdW5kID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gQnV0IGlmIHRoZXkndmUgXHJcblx0XHRcdGlmIChkYXRlRm91bmQgPT09IGZhbHNlKVxyXG5cdFx0XHRcdHRoaXMucmVjYWxjKCk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Ly8gVGhpcyB3aWxsIGJlIHJldmVyc2VkIHNpbmNlIHdlIGhhdmVuJ3QgcmUtY2FsY2VkIHRoZSBkYXRlcyB5ZXQuXHJcblx0XHRcdGlmICghZGF5TW9kZWwuaXNTZWxlY3RlZClcclxuXHRcdFx0XHR0aGlzLm11bHRpU2VsZWN0RGF0ZXMucHVzaChkYXlNb2RlbC5kYXRlKTtcclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0bGV0IGRhdGVJZHggPSB0aGlzLm11bHRpU2VsZWN0RGF0ZXMuZmluZEluZGV4KGQgPT4gbW9tZW50KGQpLnN0YXJ0T2YoXCJkYXRlXCIpLmlzU2FtZShtb21lbnQoZGF5TW9kZWwuZGF0ZSkuc3RhcnRPZihcImRhdGVcIikpKTtcclxuXHRcdFx0XHR0aGlzLm11bHRpU2VsZWN0RGF0ZXMuc3BsaWNlKGRhdGVJZHgsIDEpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAodGhpcy5vbk11bHRpRGF0ZUNoYW5nZSlcclxuXHRcdFx0XHR0aGlzLm9uTXVsdGlEYXRlQ2hhbmdlLmVtaXQodGhpcy5tdWx0aVNlbGVjdERhdGVzKVxyXG5cclxuXHRcdFx0Zm9yIChsZXQgbW9udGggb2YgdGhpcy5tb250aHMpIHtcclxuXHRcdFx0XHRmb3IgKGxldCB3ZWVrIG9mIG1vbnRoLndlZWtzKSB7XHJcblx0XHRcdFx0XHRmb3IgKGxldCBkYXkgb2Ygd2Vlay5kYXlzKSB7XHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdGlmIChkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gdHJ1ZSAmJiAodGhpcy5tdWx0aVNlbGVjdERhdGVzLmZpbmRJbmRleCh4ID0+IG1vbWVudCh4KS5pc1NhbWUobW9tZW50KGRheS5kYXRlKSwgXCJkYXRlXCIpKSA+PSAwKSkge1xyXG5cdFx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcmVjYWxjKCkge1xyXG5cdFx0dGhpcy5tb250aHMgPSBbXTtcclxuXHJcblx0XHRmb3IgKGxldCBtb250aENvdW50ID0gMDsgbW9udGhDb3VudCA8IHRoaXMubW9udGhzVG9TaG93OyBtb250aENvdW50KyspIHtcclxuXHRcdFx0bGV0IGN1cnJlbnREYXRlID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpLnN0YXJ0T2YoXCJtb250aFwiKTtcclxuXHRcdFx0Y3VycmVudERhdGUgPSBtb21lbnQoY3VycmVudERhdGUpLmFkZChtb250aENvdW50LCBcIm1vbnRoc1wiKVxyXG5cdFx0XHRjdXJyZW50RGF0ZSA9IG1vbWVudChjdXJyZW50RGF0ZSkuc3RhcnRPZihcIndlZWtcIikuc3RhcnRPZihcImRhdGVcIik7XHJcblxyXG5cdFx0XHRjb25zdCBtb250aCA9IG5ldyBNb250aE1vZGVsKCk7XHJcblx0XHRcdG1vbnRoLndlZWtzID0gW107XHJcblxyXG5cdFx0XHQvLyBDdXJyZW50RGF0ZSBpcyBtb3N0IGxpa2VseSBnb2luZyB0byBiZSB0aGUgbW9udGggYmVmb3JlLCBzbyBhZGQgMTUgZGF5cyB0byBnZXQgdG8gdGhlIG1pZGRsZSBvZiB0aGUgY3VycmVudCBtb250aFxyXG5cdFx0XHRjb25zdCBtb250aFRvRGlzcGxheSA9IG1vbWVudChjdXJyZW50RGF0ZSkuYWRkKDE1LCBcImRheXNcIik7XHJcblx0XHRcdG1vbnRoLm1vbnRoRGlzcGxheSA9ICh0aGlzLmNvbmRlbnNlZCA9PT0gdHJ1ZSkgPyBtb250aFRvRGlzcGxheS5mb3JtYXQoXCJNTU0gWVlZWVwiKSA6IG1vbnRoVG9EaXNwbGF5LmZvcm1hdChcIk1NTSBZWVlZXCIpO1xyXG5cclxuXHRcdFx0Zm9yIChsZXQgd2Vla0NvdW50ID0gMDsgd2Vla0NvdW50IDwgNjsgd2Vla0NvdW50KyspIHtcclxuXHRcdFx0XHRjb25zdCB3ZWVrID0gbmV3IFdlZWtNb2RlbCgpO1xyXG5cdFx0XHRcdHdlZWsuZGF5cyA9IFtdO1xyXG5cclxuXHRcdFx0XHRmb3IgKGxldCBkYXlDb3VudCA9IDA7IGRheUNvdW50IDwgNzsgZGF5Q291bnQrKykge1xyXG5cdFx0XHRcdFx0Y29uc3QgZGF5ID0gbmV3IERheU1vZGVsKCk7XHJcblx0XHRcdFx0XHRkYXkuZGF0ZSA9IGN1cnJlbnREYXRlLnRvRGF0ZSgpO1xyXG5cdFx0XHRcdFx0ZGF5LmlzVG9kYXkgPSBtb21lbnQoKS5pc1NhbWUoY3VycmVudERhdGUsIFwiZGF0ZVwiKTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLm11bHRpU2VsZWN0ICYmIHRoaXMubXVsdGlTZWxlY3REYXRlcylcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSAodGhpcy5tdWx0aVNlbGVjdERhdGVzLmZpbmRJbmRleCh4ID0+IG1vbWVudCh4KS5pc1NhbWUobW9tZW50KGRheS5kYXRlKSwgXCJkYXRlXCIpKSA+PSAwKTtcclxuXHRcdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBtb21lbnQodGhpcy5zZWxlY3RlZERhdGUpLmlzU2FtZShjdXJyZW50RGF0ZSwgXCJkYXRlXCIpO1xyXG5cclxuXHRcdFx0XHRcdGRheS5pc0luQ3VycmVudE1vbnRoID0gKGN1cnJlbnREYXRlLm1vbnRoKCkgPT09IG1vbnRoVG9EaXNwbGF5Lm1vbnRoKCkpO1xyXG5cclxuXHRcdFx0XHRcdGRheS5pc0FjdGl2ZSA9IHRydWU7XHJcblxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuaW5hY3RpdmVXZWVrZW5kcyAmJiBjdXJyZW50RGF0ZS5kYXkoKSA9PT0gNiB8fCBjdXJyZW50RGF0ZS5kYXkoKSA9PT0gNylcclxuXHRcdFx0XHRcdFx0ZGF5LmlzQWN0aXZlID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuaW5hY3RpdmVEYXRlcyAmJiB0aGlzLmluYWN0aXZlRGF0ZXMuZmluZEluZGV4KHggPT4gbW9tZW50KHgpLmlzU2FtZShjdXJyZW50RGF0ZSwgXCJkYXRlXCIpKSA+PSAwKVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNBY3RpdmUgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHRpZiAodGhpcy5zaG93RGF5c05vdEluTW9udGggPT09IGZhbHNlICYmIGRheS5pc0luQ3VycmVudE1vbnRoID09PSBmYWxzZSlcclxuXHRcdFx0XHRcdFx0ZGF5LmlzQWN0aXZlID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0Ly8gSXQncyBwb3NzaWJsZSBmb3IgdGhlIGRheSB0byBiZSBpbiB0aGUgbW9udGggZGlzcGxheSwgYnV0IGhpZGRlbiwgYnV0IGFjdGl2ZVxyXG5cdFx0XHRcdFx0aWYgKGRheS5pc0FjdGl2ZSA9PT0gZmFsc2UpXHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0aWYgKGRheS5pc0luQ3VycmVudE1vbnRoID09PSBmYWxzZSlcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHR3ZWVrLmRheXMucHVzaChkYXkpO1xyXG5cclxuXHRcdFx0XHRcdGN1cnJlbnREYXRlID0gbW9tZW50KGN1cnJlbnREYXRlKS5hZGQoMSwgXCJkYXlzXCIpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0bW9udGgud2Vla3MucHVzaCh3ZWVrKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5tb250aHMucHVzaChtb250aCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufSIsIjxkaXYgY2xhc3M9XCJzbGljay1jYWxlbmRhciBkZWZhdWx0LXdpZHRoIGNhcmRcIiBpZD1cInNsaWNrLWNhbGVuZGFyX3t7dXVpZH19XCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIm1pbldpZHRoXCIgW25nQ2xhc3NdPVwieydzbGljay1jYWxlbmRhcl9jb25kZW5zZWQnOiBjb25kZW5zZWQgPT09IHRydWUsICdzbGljay1jYWxlbmRhcl9zaW5nbGUnOiBtb250aHNUb1Nob3cgPT09IDEgfVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9wcmV2LW1vbnRoXCIgKGNsaWNrKT1cInByZXZNb250aCgpXCI+PGkgY2xhc3M9XCJmYXIgZmEtY2hldnJvbi1sZWZ0XCI+PC9pPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9uZXh0LW1vbnRoXCIgKGNsaWNrKT1cIm5leHRNb250aCgpXCI+PGkgY2xhc3M9XCJmYXIgZmEtY2hldnJvbi1yaWdodFwiPjwvaT48L2Rpdj5cclxuXHJcblx0PGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHB0LTJcIiBbbmdDbGFzc109XCJ7ICdteC0zJzogbW9udGhzVG9TaG93ID4gMSwgJ214LTEnOiBtb250aHNUb1Nob3cgPT09IDEgfVwiPlxyXG5cdFx0PGRpdiAqbmdGb3I9XCJsZXQgbW9udGggb2YgbW9udGhzXCIgY2xhc3M9XCJmbGV4LWZpbGwgbXgtMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO21heC13aWR0aDogMjIwcHg7XCI+XHJcblxyXG5cdFx0XHQ8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zbSB0YWJsZS1ib3JkZXJsZXNzXCIgc3R5bGU9XCJ0YWJsZS1sYXlvdXQ6IGZpeGVkOyBcIj5cclxuXHRcdFx0XHQ8dGhlYWQ+XHJcblx0XHRcdFx0XHQ8dHIgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9tb250aC1kaXNwbGF5XCI+XHJcblx0XHRcdFx0XHRcdDx0ZCBjb2xzcGFuPVwiN1wiPjxiPnt7bW9udGgubW9udGhEaXNwbGF5fX08L2I+PC90ZD5cclxuXHRcdFx0XHRcdDwvdHI+XHJcblx0XHRcdFx0XHQ8dHIgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9kYXlzLW9mLXdlZWtcIj5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5TdW48L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+Uzwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPk1vbjwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5NPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+VHVlPC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPlQ8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5XZWQ8L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+Vzwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPlRodTwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5UaDwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPkZyaTwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5GPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+U2F0PC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPlM8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdDwvdHI+XHJcblx0XHRcdFx0PC90aGVhZD5cclxuXHJcblx0XHRcdFx0PHRib2R5PlxyXG5cdFx0XHRcdFx0PHRyICpuZ0Zvcj1cImxldCB3ZWVrIG9mIG1vbnRoLndlZWtzXCI+XHJcblx0XHRcdFx0XHRcdDx0ZCAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWsuZGF5c1wiIChjbGljayk9XCJzZXREYXRlKGRheSlcIiBjbGFzcz1cInNsaWNrLWNhbGVuZGFyX2RhdGVcIiBbbmdDbGFzc109XCJ7ICdzbGljay1jYWxlbmRhcl9pcy10b2RheSc6IGRheS5pc1RvZGF5LCAnYmctc3VjY2VzcyB0ZXh0LXdoaXRlJzogZGF5LmlzU2VsZWN0ZWQsICdzbGljay1jYWxlbmRhcl9ub3RfaW5fbW9udGgnOiBkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gZmFsc2UsICdzbGljay1jYWxlbmRhcl9pbmFjdGl2ZSc6IGRheS5pc0FjdGl2ZSA9PT0gZmFsc2UgfVwiPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuICpuZ0lmPVwic2hvd0RheXNOb3RJbk1vbnRoID09PSB0cnVlIHx8IChzaG93RGF5c05vdEluTW9udGggPT09IGZhbHNlICYmIGRheS5pc0luQ3VycmVudE1vbnRoID09PSB0cnVlKVwiPnt7ZGF5LmRhdGUgfCBkYXRlOidkJ319PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuICpuZ0lmPVwibW9udGhzVG9TaG93ID4gMSAmJiAoc2hvd0RheXNOb3RJbk1vbnRoID09PSBmYWxzZSAmJiBkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gZmFsc2UpXCI+Jm5ic3A7PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdFx0PC90cj5cclxuXHRcdFx0XHQ8L3Rib2R5PlxyXG5cdFx0XHQ8L3RhYmxlPlxyXG5cclxuXHJcblx0XHQ8L2Rpdj5cclxuXHJcblx0PC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -2,11 +2,12 @@ import { Component, ViewChild, Input, HostListener, forwardRef, EventEmitter, Ou
|
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
3
|
import { SlickSleepService } from "../utils/slick-sleep.service";
|
|
4
4
|
import { SlickUtilsService } from "../utils/slick-utils.service";
|
|
5
|
-
import * as
|
|
5
|
+
import * as _moment from "moment";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../slick-calendar/slick-calendar.component";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
9
|
import * as i3 from "@angular/forms";
|
|
10
|
+
const moment = _moment;
|
|
10
11
|
export class SlickDatePickerComponent {
|
|
11
12
|
constructor(el) {
|
|
12
13
|
this.el = el;
|
|
@@ -275,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
275
276
|
type: HostListener,
|
|
276
277
|
args: ['blur', ['$event', '$event.target']]
|
|
277
278
|
}] } });
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7OztBQVlqQyxNQUFNLE9BQU8sd0JBQXdCO0lBaUZwQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQS9FQyxXQUFNLEdBQVcsVUFBVSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEUsb0JBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyx3QkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBNER2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QUFFLENBQUMsUUFBUSxDQUFDO2dCQTZCbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPM0IsTUFBTTtzQkFEWCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgZm9yd2FyZFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFNsaWNrU2xlZXBTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnW3NsaWNrLWRhdGUtcGlja2VyXScsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fV0sXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXJcIikgc2xpY2tEYXRlUGlja2VyOiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQ7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXItZm9ybWF0XCIpIGZvcm1hdDogc3RyaW5nID0gXCJNL0QvWVlZWVwiO1xyXG5cdEBJbnB1dChcInNsaWNrLWRhdGUtcGlja2VyLWNvbmRlbnNlZFwiKSBjb25kZW5zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGVcIikgbW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblx0QE91dHB1dChcIm9uRGF0ZUNoYW5nZVwiKSBvbkRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblx0QFZpZXdDaGlsZChcImNvbnRhaW5lclJlZlwiKSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG5cdGZuRG9jdW1lbnRDbGljayA9IChlKSA9PiB0aGlzLmRvY3VtZW50Q2xpY2soZSk7XHJcblx0Zm5Eb2N1bWVudE1vdXNlRG93biA9IChlKSA9PiB0aGlzLmRvY3VtZW50TW91c2VEb3duKGUpO1xyXG5cclxuXHQvLyBNYWtlIHN1cmUgdGhleSBvbmx5IHByZXNzIHZhbGlkIGtleXNcclxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuXHRhc3luYyBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcdFx0XHJcblx0XHRpZiAoZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Ly8gQWxsb3c6IGJhY2tzcGFjZSwgZGVsZXRlLCB0YWIsIGVzY2FwZSwgZW50ZXJcclxuXHRcdGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNDYgfHwgZXZlbnQua2V5Q29kZSA9PT0gOCkgfHxcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPT09IDkgfHwgZXZlbnQua2V5Q29kZSA9PT0gMjcgfHwgZXZlbnQua2V5Q29kZSA9PT0gMTMpIHx8XHJcblx0XHRcdC8vIEFsbG93IEYxLUYxMiBrZXlzXHJcblx0XHRcdCgoZXZlbnQua2V5Q29kZSA+PSAxMTIgJiYgZXZlbnQua2V5Q29kZSA8PSAxMjMpKSB8fFxyXG5cdFx0XHQvLyBBbGxvdzogaG9tZSwgZW5kLCBsZWZ0LCByaWdodCwgZG93biwgdXBcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPj0gMzUgJiYgZXZlbnQua2V5Q29kZSA8PSA0MCkpIHtcclxuXHRcdFx0Ly8gbGV0IGl0IGhhcHBlbiwgZG9uJ3QgZG8gYW55dGhpbmdcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xyXG5cdFx0aWYgKChldmVudC5zaGlmdEtleSB8fCBldmVudC5hbHRLZXkgfHwgZXZlbnQua2V5IDwgJzAnIHx8IGV2ZW50LmtleSA+ICc5JykgJiZcclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLycgJiYgIC8vIEFsbG93IC9cclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLScpIHsgIC8vIEFsbG93IC1cdFx0XHJcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFdoZW4gd2UgZmlyc3QgZm9jdXMsIHNob3cgdGhlIGRhdGUgcGlja2VyXHJcblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG5cdG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG5cclxuXHQvLyBXaGVuIHdlIGJsdXIsIHVwZGF0ZSB0aGUgbW9kZWxcclxuXHRASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnLCAnJGV2ZW50LnRhcmdldCddKVxyXG5cdGFzeW5jIG9uQmx1cihldmVudDogRm9jdXNFdmVudCwgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuXHRcdC8vIElmIHRoZSB1c2VyIGNsaWNrZWQgb24gdGhlIGNhbGVuZGFyLCBpdCB3aWxsIHRyaWdnZXIgYSBtb3VzZSBkb3duIGV2ZW50IGJlZm9yZSB0aGUgYmx1ciBldmVudC4gIERvbid0IGJsdXJcclxuXHRcdC8vIGlmIHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIuXHJcblx0XHRpZiAodGhpcy5pZ25vcmVCbHVyID09PSB0cnVlKSB7XHJcblx0XHRcdHRoaXMuaWdub3JlQmx1ciA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgdGV4dFZhbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuXHJcblx0XHRpZiAoIXRleHRWYWwpIHtcclxuXHRcdFx0dGhpcy5kb1Byb3BhZ2F0ZShudWxsKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChtb21lbnQodGV4dFZhbCwgdGhpcy5mb3JtYXQpLmlzVmFsaWQoKSkge1xyXG5cdFx0XHR2YXIgbmV3RGF0ZSA9IG1vbWVudCh0ZXh0VmFsLCB0aGlzLmZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZG9Qcm9wYWdhdGUobmV3RGF0ZS50b0RhdGUoKSlcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3RGF0ZS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dXVpZDogc3RyaW5nID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdGlnbm9yZUJsdXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRzaG93RGF0ZVBpY2tlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdGRhdGVQaWNrZXJWaXNpYmxpdHk6IHN0cmluZyA9IFwiaGlkZGVuXCI7XHJcblx0ZGF0ZVBpY2tlck9wYWNpdHk6IHN0cmluZyA9ICcwJztcclxuXHRsZWZ0OiBzdHJpbmc7XHJcblx0dG9wOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWREYXRlOiBEYXRlID0gbnVsbDtcclxuXHRpc0luaXRpYWwgPSB0cnVlO1xyXG5cclxuXHRwcml2YXRlIGlucHV0R3JvdXBQcmVwZW5kOiBIVE1MRWxlbWVudDtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdPbkluaXQoKSB7XHJcblxyXG5cdFx0dGhpcy5tb2JpbGUgPSAodGhpcy5tb2JpbGUgfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblx0XHR0aGlzLmNvbmRlbnNlZCA9ICh0aGlzLmNvbmRlbnNlZCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHQvLyBTaW5jZSB0aGlzLm1vYmlsZSBpc24ndCBuZWNlc3NhcmlseSBkZWZpbmVkIHlldCwgd2UgbmVlZCB0byBzbGVlcCB0byBhbGxvdyB0aGUgbmdJZidzIHRvIGRvIHRoZWlyIHRoaW5nXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Ly8gUmVtb3ZlIHRoaXMgZnJvbSB0aGUgaW5saW5lIHZlcnNpb24gYW5kIHB1dCBpdCBvbiB0aGUgYm9keSBzbyB0aGF0IGl0IGRvZXNuJ3QgaGlkZSBiZWhpbmQgdGhlIGJvdHRvbVxyXG5cdFx0Ly8gb2YgYSBkaXYgd2hlbiBpdCBleHBhbmRzIGJleW9uZCB0aGUgYm90dG9tLlxyXG5cdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5yZW1vdmUodGhpcy5jb250YWluZXJSZWYpO1xyXG5cdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5pbnB1dEdyb3VwUHJlcGVuZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLmdldENsb3Nlc3RTaWJsaW5nKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgXCJpbnB1dC1ncm91cC1wcmVwZW5kXCIpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuZm5Eb2N1bWVudE1vdXNlRG93biwgdHJ1ZSk7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0Ly8gSXMgb2theSBpZiB0aGlzIGZhaWxzLiAgSXQganVzdCBtZWFucyBpdCB3YXMgYWxyZWFkeSByZW1vdmVkLlxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHRcdH1cclxuXHRcdGNhdGNoIHsgfVxyXG5cdH1cclxuXHJcblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIHByaXZhdGUgZG9Qcm9wYWdhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIC8vIFdlIGRvbid0IGFsd2F5cyBnbyB0aHJvdWdoIHRoZSBlbWl0IG9uIHRoZSBmaXJzdCBjYWxsLCBzbyBtYWtlIHN1cmUgdGhpcyBpc24ndCB0aGUgZmlyc3QgY2hhbmdlXHJcbiAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuXHJcblx0XHRpZiAoIWRhdGUpIHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcblx0XHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UobnVsbCk7XHJcblx0XHRcdFx0dGhpcy5lbWl0RGF0ZUNoYW5nZShudWxsKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudChkYXRlKTtcclxuXHRcdFx0Ly8gSWYgdGhlIGRhdGUgaXMgbm90IHZhbGlkLCByZXR1cm5cclxuXHRcdFx0aWYgKG5ld0RhdGUuaXNWYWxpZCgpID09PSBmYWxzZSlcclxuXHRcdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0XHQvLyBEb24ndCBwcm9wb2dhdGUgaWYgdGhlIGRhdGVzIGFyZSB0aGUgc2FtZVxyXG5cdFx0XHRpZiAobW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5pc1NhbWUobmV3RGF0ZSkpXHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cclxuXHJcblx0XHRcdC8vIFNldHRpbmcgdGhpcyBzZWxlY3RlZERhdGUgd2lsbCB0cmlnZ2VyIHRoZSBuZ01vZGVsQ2hhbmdlIG9mIHRoZSBjYWxlbmRhci4gIElnbm9yZSB0aGlzLlxyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudChkYXRlKS5zdGFydE9mKFwiZGF0ZVwiKS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cdFx0XHR0aGlzLmVtaXREYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZW1pdERhdGVDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG5cdFx0aWYgKHRoaXMub25EYXRlQ2hhbmdlICYmICF0aGlzLmlzSW5pdGlhbClcclxuXHRcdFx0dGhpcy5vbkRhdGVDaGFuZ2UuZW1pdChkYXRlKTtcclxuXHJcblx0XHR0aGlzLmlzSW5pdGlhbCA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHB1YmxpYyB3cml0ZVZhbHVlKG9iajogYW55KSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGlmIChtb21lbnQob2JqKS5pc1ZhbGlkKCkgPT09IGZhbHNlKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJJbnZhbGlkIERhdGVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsZXQgdXBkYXRlZERhdGU6IG1vbWVudC5Nb21lbnQ7XHJcblx0XHRcdGlmIChvYmogaW5zdGFuY2VvZiBEYXRlIHx8IG9iai5pbmRleE9mKFwiWlwiKSA+PSAwKVxyXG5cdFx0XHRcdHVwZGF0ZWREYXRlID0gbW9tZW50KG9iaikuc3RhcnRPZihcImRhdGVcIik7XHJcblx0XHRcdGVsc2VcclxuXHRcdFx0XHR1cGRhdGVkRGF0ZSA9IG1vbWVudChvYmosIHRoaXMuZm9ybWF0KS5zdGFydE9mKFwiZGF0ZVwiKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtb21lbnQodGhpcy5zZWxlY3RlZERhdGUgfHwgbmV3IERhdGUoKSkuaXNTYW1lKHVwZGF0ZWREYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSB1cGRhdGVkRGF0ZS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUgJiYgIW9iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIHJlZ2lzdGVycyAnZm4nIHRoYXQgd2lsbCBiZSBmaXJlZCB3aGVuIGNoYW5nZXMgYXJlIG1hZGVcclxuXHQvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cclxuXHRwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0Ly8gbm90IHVzZWQsIHVzZWQgZm9yIHRvdWNoIGlucHV0XHJcblx0cHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkgeyB9XHJcblxyXG5cdHByaXZhdGUgZG9jdW1lbnRNb3VzZURvd24oZTogTW91c2VFdmVudCkge1xyXG5cdFx0Ly8gVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gY2FwdHVyZSB0aGF0IHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIgYmVmb3JlIHRoZSBibHVyIGV2ZW50XHJcblx0XHQvLyBmaXJlcy4gIFxyXG5cdFx0aWYgKFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHR0aGlzLmlnbm9yZUJsdXIgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBkb2N1bWVudENsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuXHRcdGlmICghZS50YXJnZXQpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRsZXQgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoPEhUTUxFbGVtZW50PmUudGFyZ2V0KTtcclxuXHJcblx0XHRpZiAoU2xpY2tVdGlsc1NlcnZpY2UuY2hlY2tQYXJlbnRDbGFzc0V4aXN0cyh0YXJnZXRFbGVtZW50LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKHRoaXMuaW5wdXRHcm91cFByZXBlbmQgJiYgKCh0YXJnZXRFbGVtZW50ID09PSB0aGlzLmlucHV0R3JvdXBQcmVwZW5kKVxyXG5cdFx0XHR8fCAodGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIHRhcmdldEVsZW1lbnQucGFyZW50RWxlbWVudCA9PT0gdGhpcy5pbnB1dEdyb3VwUHJlcGVuZCkpXHJcblx0XHRcdHx8ICh0YXJnZXRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgPT09IHRoaXMuaW5wdXRHcm91cFByZXBlbmQpKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlQ2FsZW5kYXIoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XHJcblx0XHRpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuXHRcdFx0dGhpcy5oaWRlQ2FsZW5kYXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uRGF0ZVNlbGVjdChkYXRlKSB7XHJcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUsIHRoaXMuZm9ybWF0KS50b0RhdGUoKTtcclxuXHJcblx0XHR0aGlzLmRvUHJvcGFnYXRlKG5ld0RhdGUpO1x0XHRcclxuXHR9XHJcblxyXG5cdGFzeW5jIHNob3dDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IHRydWU7XHJcblxyXG5cdFx0aWYgKCF0aGlzLm1vYmlsZSkge1xyXG5cdFx0XHR0aGlzLnJlcG9zaXRpb24oKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzEnO1xyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ3Zpc2libGUnO1xyXG5cclxuXHRcdC8vIE5vdCBzdXJlIHdoeSwgYnV0IHRoZSBjbGljayBldmVudCBpcyBjYWxsZWQgaW1tZWRpYXRlbHksIHdoaWNoIGhpZGVzIHRoZSBjYWxlbmRhclxyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH0sIDM1MClcclxuXHR9XHJcblxyXG5cdGhpZGVDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ2hpZGRlbic7XHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzAnO1xyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSByZXBvc2l0aW9uKCkge1xyXG5cdFx0aWYgKHRoaXMubW9iaWxlID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Ly8gUmVwb3NpdGlvbiB0aGUgZWxlbWVudCB0byBiZSB3aGVyZSB0aGUgdGV4dGJveCBpcywgZWl0aGVyIGJlbG93IG9yIGFib3ZlIGlmIHRoZXJlIGlzbid0IGVub3VnaCByb29tXHJcblx0XHRjb25zdCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuXHRcdGNvbnN0IHJlY3QgPSBpbnB1dEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cdFx0Y29uc3QgdGV4dGJveExlZnQgPSByZWN0LmxlZnQ7XHJcblx0XHRjb25zdCB0ZXh0Ym94VG9wID0gcmVjdC50b3A7XHJcblx0XHRjb25zdCB0ZXh0Ym94SGVpZ2h0ID0gaW5wdXRFbC5vZmZzZXRIZWlnaHQ7XHJcblx0XHRjb25zdCBjb250YWluZXJIZWlnaHQgPSAoPEhUTUxEaXZFbGVtZW50PnRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLm9mZnNldEhlaWdodDtcclxuXHJcblx0XHR0aGlzLmxlZnQgPSB0ZXh0Ym94TGVmdCArIFwicHhcIjtcclxuXHRcdHRoaXMudG9wID0gKHRleHRib3hUb3AgKyB0ZXh0Ym94SGVpZ2h0KSArIFwicHhcIjtcclxuXHJcblx0XHRpZiAodGV4dGJveFRvcCArIHRleHRib3hIZWlnaHQgKyBjb250YWluZXJIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuXHRcdFx0dGhpcy50b3AgPSAodGV4dGJveFRvcCAtIGNvbnRhaW5lckhlaWdodCAtIDIpICsgXCJweFwiO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdHRvZ2dsZUNhbGVuZGFyKCkge1xyXG5cdFx0KHRoaXMuc2hvd0RhdGVQaWNrZXIgPT09IHRydWUpID8gdGhpcy5oaWRlQ2FsZW5kYXIoKSA6IHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG59IiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48ZGl2ICpuZ0lmPVwibW9iaWxlID09PSBmYWxzZVwiICNjb250YWluZXJSZWYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1jb250YWluZXJcIiBbc3R5bGUubGVmdF09XCJsZWZ0XCIgW3N0eWxlLnRvcF09XCJ0b3BcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJkYXRlUGlja2VyVmlzaWJsaXR5XCIgW3N0eWxlLm9wYWNpdHldPVwiZGF0ZVBpY2tlck9wYWNpdHlcIj5cclxuXHQ8c2xpY2stY2FsZW5kYXIgW25nTW9kZWxdPVwic2VsZWN0ZWREYXRlXCIgW2NvbmRlbnNlZF09XCJjb25kZW5zZWRcIiAob25EYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpXCI+PC9zbGljay1jYWxlbmRhcj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJtb2JpbGUgPT09IHRydWVcIiAjY29udGFpbmVyUmVmIGNsYXNzPVwic2xpY2stZGF0ZS1waWNrZXItbW9iaWxlLWNvbnRhaW5lclwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImRhdGVQaWNrZXJWaXNpYmxpdHlcIiBbc3R5bGUub3BhY2l0eV09XCJkYXRlUGlja2VyT3BhY2l0eVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGUtY2FsZW5kYXJcIj5cclxuXHRcdDxzbGljay1jYWxlbmRhciBbbmdNb2RlbF09XCJzZWxlY3RlZERhdGVcIiBbY29uZGVuc2VkXT1cImNvbmRlbnNlZFwiIChvbkRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0KCRldmVudClcIj48L3NsaWNrLWNhbGVuZGFyPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
279
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDOzs7OztBQUFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQVkxRCxNQUFNLE9BQU8sd0JBQXdCO0lBaUZwQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQS9FQyxXQUFNLEdBQVcsVUFBVSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEUsb0JBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyx3QkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlC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QixTQUFTO3NCQURkLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTZCbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPM0IsTUFBTTtzQkFEWCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgZm9yd2FyZFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFNsaWNrU2xlZXBTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBfbW9tZW50IGZyb20gXCJtb21lbnRcIjsgY29uc3QgbW9tZW50ID0gX21vbWVudDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnW3NsaWNrLWRhdGUtcGlja2VyXScsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fV0sXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXJcIikgc2xpY2tEYXRlUGlja2VyOiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQ7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXItZm9ybWF0XCIpIGZvcm1hdDogc3RyaW5nID0gXCJNL0QvWVlZWVwiO1xyXG5cdEBJbnB1dChcInNsaWNrLWRhdGUtcGlja2VyLWNvbmRlbnNlZFwiKSBjb25kZW5zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGVcIikgbW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblx0QE91dHB1dChcIm9uRGF0ZUNoYW5nZVwiKSBvbkRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblx0QFZpZXdDaGlsZChcImNvbnRhaW5lclJlZlwiKSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG5cdGZuRG9jdW1lbnRDbGljayA9IChlKSA9PiB0aGlzLmRvY3VtZW50Q2xpY2soZSk7XHJcblx0Zm5Eb2N1bWVudE1vdXNlRG93biA9IChlKSA9PiB0aGlzLmRvY3VtZW50TW91c2VEb3duKGUpO1xyXG5cclxuXHQvLyBNYWtlIHN1cmUgdGhleSBvbmx5IHByZXNzIHZhbGlkIGtleXNcclxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuXHRhc3luYyBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcdFx0XHJcblx0XHRpZiAoZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Ly8gQWxsb3c6IGJhY2tzcGFjZSwgZGVsZXRlLCB0YWIsIGVzY2FwZSwgZW50ZXJcclxuXHRcdGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNDYgfHwgZXZlbnQua2V5Q29kZSA9PT0gOCkgfHxcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPT09IDkgfHwgZXZlbnQua2V5Q29kZSA9PT0gMjcgfHwgZXZlbnQua2V5Q29kZSA9PT0gMTMpIHx8XHJcblx0XHRcdC8vIEFsbG93IEYxLUYxMiBrZXlzXHJcblx0XHRcdCgoZXZlbnQua2V5Q29kZSA+PSAxMTIgJiYgZXZlbnQua2V5Q29kZSA8PSAxMjMpKSB8fFxyXG5cdFx0XHQvLyBBbGxvdzogaG9tZSwgZW5kLCBsZWZ0LCByaWdodCwgZG93biwgdXBcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPj0gMzUgJiYgZXZlbnQua2V5Q29kZSA8PSA0MCkpIHtcclxuXHRcdFx0Ly8gbGV0IGl0IGhhcHBlbiwgZG9uJ3QgZG8gYW55dGhpbmdcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xyXG5cdFx0aWYgKChldmVudC5zaGlmdEtleSB8fCBldmVudC5hbHRLZXkgfHwgZXZlbnQua2V5IDwgJzAnIHx8IGV2ZW50LmtleSA+ICc5JykgJiZcclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLycgJiYgIC8vIEFsbG93IC9cclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLScpIHsgIC8vIEFsbG93IC1cdFx0XHJcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFdoZW4gd2UgZmlyc3QgZm9jdXMsIHNob3cgdGhlIGRhdGUgcGlja2VyXHJcblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG5cdG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG5cclxuXHQvLyBXaGVuIHdlIGJsdXIsIHVwZGF0ZSB0aGUgbW9kZWxcclxuXHRASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnLCAnJGV2ZW50LnRhcmdldCddKVxyXG5cdGFzeW5jIG9uQmx1cihldmVudDogRm9jdXNFdmVudCwgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuXHRcdC8vIElmIHRoZSB1c2VyIGNsaWNrZWQgb24gdGhlIGNhbGVuZGFyLCBpdCB3aWxsIHRyaWdnZXIgYSBtb3VzZSBkb3duIGV2ZW50IGJlZm9yZSB0aGUgYmx1ciBldmVudC4gIERvbid0IGJsdXJcclxuXHRcdC8vIGlmIHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIuXHJcblx0XHRpZiAodGhpcy5pZ25vcmVCbHVyID09PSB0cnVlKSB7XHJcblx0XHRcdHRoaXMuaWdub3JlQmx1ciA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgdGV4dFZhbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuXHJcblx0XHRpZiAoIXRleHRWYWwpIHtcclxuXHRcdFx0dGhpcy5kb1Byb3BhZ2F0ZShudWxsKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChtb21lbnQodGV4dFZhbCwgdGhpcy5mb3JtYXQpLmlzVmFsaWQoKSkge1xyXG5cdFx0XHR2YXIgbmV3RGF0ZSA9IG1vbWVudCh0ZXh0VmFsLCB0aGlzLmZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZG9Qcm9wYWdhdGUobmV3RGF0ZS50b0RhdGUoKSlcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3RGF0ZS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dXVpZDogc3RyaW5nID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdGlnbm9yZUJsdXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRzaG93RGF0ZVBpY2tlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdGRhdGVQaWNrZXJWaXNpYmxpdHk6IHN0cmluZyA9IFwiaGlkZGVuXCI7XHJcblx0ZGF0ZVBpY2tlck9wYWNpdHk6IHN0cmluZyA9ICcwJztcclxuXHRsZWZ0OiBzdHJpbmc7XHJcblx0dG9wOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWREYXRlOiBEYXRlID0gbnVsbDtcclxuXHRpc0luaXRpYWwgPSB0cnVlO1xyXG5cclxuXHRwcml2YXRlIGlucHV0R3JvdXBQcmVwZW5kOiBIVE1MRWxlbWVudDtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdPbkluaXQoKSB7XHJcblxyXG5cdFx0dGhpcy5tb2JpbGUgPSAodGhpcy5tb2JpbGUgfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblx0XHR0aGlzLmNvbmRlbnNlZCA9ICh0aGlzLmNvbmRlbnNlZCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHQvLyBTaW5jZSB0aGlzLm1vYmlsZSBpc24ndCBuZWNlc3NhcmlseSBkZWZpbmVkIHlldCwgd2UgbmVlZCB0byBzbGVlcCB0byBhbGxvdyB0aGUgbmdJZidzIHRvIGRvIHRoZWlyIHRoaW5nXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Ly8gUmVtb3ZlIHRoaXMgZnJvbSB0aGUgaW5saW5lIHZlcnNpb24gYW5kIHB1dCBpdCBvbiB0aGUgYm9keSBzbyB0aGF0IGl0IGRvZXNuJ3QgaGlkZSBiZWhpbmQgdGhlIGJvdHRvbVxyXG5cdFx0Ly8gb2YgYSBkaXYgd2hlbiBpdCBleHBhbmRzIGJleW9uZCB0aGUgYm90dG9tLlxyXG5cdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5yZW1vdmUodGhpcy5jb250YWluZXJSZWYpO1xyXG5cdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5pbnB1dEdyb3VwUHJlcGVuZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLmdldENsb3Nlc3RTaWJsaW5nKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgXCJpbnB1dC1ncm91cC1wcmVwZW5kXCIpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuZm5Eb2N1bWVudE1vdXNlRG93biwgdHJ1ZSk7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0Ly8gSXMgb2theSBpZiB0aGlzIGZhaWxzLiAgSXQganVzdCBtZWFucyBpdCB3YXMgYWxyZWFkeSByZW1vdmVkLlxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHRcdH1cclxuXHRcdGNhdGNoIHsgfVxyXG5cdH1cclxuXHJcblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIHByaXZhdGUgZG9Qcm9wYWdhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIC8vIFdlIGRvbid0IGFsd2F5cyBnbyB0aHJvdWdoIHRoZSBlbWl0IG9uIHRoZSBmaXJzdCBjYWxsLCBzbyBtYWtlIHN1cmUgdGhpcyBpc24ndCB0aGUgZmlyc3QgY2hhbmdlXHJcbiAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuXHJcblx0XHRpZiAoIWRhdGUpIHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcblx0XHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UobnVsbCk7XHJcblx0XHRcdFx0dGhpcy5lbWl0RGF0ZUNoYW5nZShudWxsKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudChkYXRlKTtcclxuXHRcdFx0Ly8gSWYgdGhlIGRhdGUgaXMgbm90IHZhbGlkLCByZXR1cm5cclxuXHRcdFx0aWYgKG5ld0RhdGUuaXNWYWxpZCgpID09PSBmYWxzZSlcclxuXHRcdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0XHQvLyBEb24ndCBwcm9wb2dhdGUgaWYgdGhlIGRhdGVzIGFyZSB0aGUgc2FtZVxyXG5cdFx0XHRpZiAobW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5pc1NhbWUobmV3RGF0ZSkpXHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cclxuXHJcblx0XHRcdC8vIFNldHRpbmcgdGhpcyBzZWxlY3RlZERhdGUgd2lsbCB0cmlnZ2VyIHRoZSBuZ01vZGVsQ2hhbmdlIG9mIHRoZSBjYWxlbmRhci4gIElnbm9yZSB0aGlzLlxyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudChkYXRlKS5zdGFydE9mKFwiZGF0ZVwiKS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cdFx0XHR0aGlzLmVtaXREYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZW1pdERhdGVDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG5cdFx0aWYgKHRoaXMub25EYXRlQ2hhbmdlICYmICF0aGlzLmlzSW5pdGlhbClcclxuXHRcdFx0dGhpcy5vbkRhdGVDaGFuZ2UuZW1pdChkYXRlKTtcclxuXHJcblx0XHR0aGlzLmlzSW5pdGlhbCA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHB1YmxpYyB3cml0ZVZhbHVlKG9iajogYW55KSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGlmIChtb21lbnQob2JqKS5pc1ZhbGlkKCkgPT09IGZhbHNlKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJJbnZhbGlkIERhdGVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsZXQgdXBkYXRlZERhdGU6IG1vbWVudC5Nb21lbnQ7XHJcblx0XHRcdGlmIChvYmogaW5zdGFuY2VvZiBEYXRlIHx8IG9iai5pbmRleE9mKFwiWlwiKSA+PSAwKVxyXG5cdFx0XHRcdHVwZGF0ZWREYXRlID0gbW9tZW50KG9iaikuc3RhcnRPZihcImRhdGVcIik7XHJcblx0XHRcdGVsc2VcclxuXHRcdFx0XHR1cGRhdGVkRGF0ZSA9IG1vbWVudChvYmosIHRoaXMuZm9ybWF0KS5zdGFydE9mKFwiZGF0ZVwiKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtb21lbnQodGhpcy5zZWxlY3RlZERhdGUgfHwgbmV3IERhdGUoKSkuaXNTYW1lKHVwZGF0ZWREYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSB1cGRhdGVkRGF0ZS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUgJiYgIW9iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIHJlZ2lzdGVycyAnZm4nIHRoYXQgd2lsbCBiZSBmaXJlZCB3aGVuIGNoYW5nZXMgYXJlIG1hZGVcclxuXHQvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cclxuXHRwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0Ly8gbm90IHVzZWQsIHVzZWQgZm9yIHRvdWNoIGlucHV0XHJcblx0cHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkgeyB9XHJcblxyXG5cdHByaXZhdGUgZG9jdW1lbnRNb3VzZURvd24oZTogTW91c2VFdmVudCkge1xyXG5cdFx0Ly8gVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gY2FwdHVyZSB0aGF0IHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIgYmVmb3JlIHRoZSBibHVyIGV2ZW50XHJcblx0XHQvLyBmaXJlcy4gIFxyXG5cdFx0aWYgKFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHR0aGlzLmlnbm9yZUJsdXIgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBkb2N1bWVudENsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuXHRcdGlmICghZS50YXJnZXQpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRsZXQgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoPEhUTUxFbGVtZW50PmUudGFyZ2V0KTtcclxuXHJcblx0XHRpZiAoU2xpY2tVdGlsc1NlcnZpY2UuY2hlY2tQYXJlbnRDbGFzc0V4aXN0cyh0YXJnZXRFbGVtZW50LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKHRoaXMuaW5wdXRHcm91cFByZXBlbmQgJiYgKCh0YXJnZXRFbGVtZW50ID09PSB0aGlzLmlucHV0R3JvdXBQcmVwZW5kKVxyXG5cdFx0XHR8fCAodGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIHRhcmdldEVsZW1lbnQucGFyZW50RWxlbWVudCA9PT0gdGhpcy5pbnB1dEdyb3VwUHJlcGVuZCkpXHJcblx0XHRcdHx8ICh0YXJnZXRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgPT09IHRoaXMuaW5wdXRHcm91cFByZXBlbmQpKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlQ2FsZW5kYXIoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XHJcblx0XHRpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuXHRcdFx0dGhpcy5oaWRlQ2FsZW5kYXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uRGF0ZVNlbGVjdChkYXRlKSB7XHJcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUsIHRoaXMuZm9ybWF0KS50b0RhdGUoKTtcclxuXHJcblx0XHR0aGlzLmRvUHJvcGFnYXRlKG5ld0RhdGUpO1x0XHRcclxuXHR9XHJcblxyXG5cdGFzeW5jIHNob3dDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IHRydWU7XHJcblxyXG5cdFx0aWYgKCF0aGlzLm1vYmlsZSkge1xyXG5cdFx0XHR0aGlzLnJlcG9zaXRpb24oKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzEnO1xyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ3Zpc2libGUnO1xyXG5cclxuXHRcdC8vIE5vdCBzdXJlIHdoeSwgYnV0IHRoZSBjbGljayBldmVudCBpcyBjYWxsZWQgaW1tZWRpYXRlbHksIHdoaWNoIGhpZGVzIHRoZSBjYWxlbmRhclxyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH0sIDM1MClcclxuXHR9XHJcblxyXG5cdGhpZGVDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ2hpZGRlbic7XHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzAnO1xyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSByZXBvc2l0aW9uKCkge1xyXG5cdFx0aWYgKHRoaXMubW9iaWxlID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Ly8gUmVwb3NpdGlvbiB0aGUgZWxlbWVudCB0byBiZSB3aGVyZSB0aGUgdGV4dGJveCBpcywgZWl0aGVyIGJlbG93IG9yIGFib3ZlIGlmIHRoZXJlIGlzbid0IGVub3VnaCByb29tXHJcblx0XHRjb25zdCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuXHRcdGNvbnN0IHJlY3QgPSBpbnB1dEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cdFx0Y29uc3QgdGV4dGJveExlZnQgPSByZWN0LmxlZnQ7XHJcblx0XHRjb25zdCB0ZXh0Ym94VG9wID0gcmVjdC50b3A7XHJcblx0XHRjb25zdCB0ZXh0Ym94SGVpZ2h0ID0gaW5wdXRFbC5vZmZzZXRIZWlnaHQ7XHJcblx0XHRjb25zdCBjb250YWluZXJIZWlnaHQgPSAoPEhUTUxEaXZFbGVtZW50PnRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLm9mZnNldEhlaWdodDtcclxuXHJcblx0XHR0aGlzLmxlZnQgPSB0ZXh0Ym94TGVmdCArIFwicHhcIjtcclxuXHRcdHRoaXMudG9wID0gKHRleHRib3hUb3AgKyB0ZXh0Ym94SGVpZ2h0KSArIFwicHhcIjtcclxuXHJcblx0XHRpZiAodGV4dGJveFRvcCArIHRleHRib3hIZWlnaHQgKyBjb250YWluZXJIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuXHRcdFx0dGhpcy50b3AgPSAodGV4dGJveFRvcCAtIGNvbnRhaW5lckhlaWdodCAtIDIpICsgXCJweFwiO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdHRvZ2dsZUNhbGVuZGFyKCkge1xyXG5cdFx0KHRoaXMuc2hvd0RhdGVQaWNrZXIgPT09IHRydWUpID8gdGhpcy5oaWRlQ2FsZW5kYXIoKSA6IHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG59IiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48ZGl2ICpuZ0lmPVwibW9iaWxlID09PSBmYWxzZVwiICNjb250YWluZXJSZWYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1jb250YWluZXJcIiBbc3R5bGUubGVmdF09XCJsZWZ0XCIgW3N0eWxlLnRvcF09XCJ0b3BcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJkYXRlUGlja2VyVmlzaWJsaXR5XCIgW3N0eWxlLm9wYWNpdHldPVwiZGF0ZVBpY2tlck9wYWNpdHlcIj5cclxuXHQ8c2xpY2stY2FsZW5kYXIgW25nTW9kZWxdPVwic2VsZWN0ZWREYXRlXCIgW2NvbmRlbnNlZF09XCJjb25kZW5zZWRcIiAob25EYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpXCI+PC9zbGljay1jYWxlbmRhcj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJtb2JpbGUgPT09IHRydWVcIiAjY29udGFpbmVyUmVmIGNsYXNzPVwic2xpY2stZGF0ZS1waWNrZXItbW9iaWxlLWNvbnRhaW5lclwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImRhdGVQaWNrZXJWaXNpYmxpdHlcIiBbc3R5bGUub3BhY2l0eV09XCJkYXRlUGlja2VyT3BhY2l0eVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGUtY2FsZW5kYXJcIj5cclxuXHRcdDxzbGljay1jYWxlbmRhciBbbmdNb2RlbF09XCJzZWxlY3RlZERhdGVcIiBbY29uZGVuc2VkXT1cImNvbmRlbnNlZFwiIChvbkRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0KCRldmVudClcIj48L3NsaWNrLWNhbGVuZGFyPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|