@colijnit/sharedcomponents 256.2.3 → 256.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/colijnit-sharedcomponents.umd.js +52 -15
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/docsign/docsign.component.js +33 -12
- package/esm2015/lib/components/preferred-planning/preferred-planning.component.js +12 -4
- package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
- package/fesm2015/colijnit-sharedcomponents.js +45 -16
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/docsign/docsign.component.d.ts +9 -4
- package/lib/res/dictionary/dictionaries.d.ts +6 -51
- package/package.json +2 -2
- package/358.645812766f7a400d0d38.js +0 -1
- package/3rdpartylicenses.txt +0 -2219
- package/762.de7137adb145a849dcf7.js +0 -1
- package/977.bd6291f9ee6f6ddf91f1.js +0 -1
- package/favicon.ico +0 -0
- package/index.html +0 -12
- package/main.22d36feb19eb4279f65b.js +0 -1
- package/polyfills.907fe9d1887c5de17993.js +0 -1
- package/runtime.2ce74fec69845ef1e3ad.js +0 -1
- package/styles.fc08d8045bc786e9e35f.css +0 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from
|
|
2
|
+
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
4
4
|
import { PDFDocument } from "pdf-lib";
|
|
5
5
|
import * as PDFJS from "pdfjs-dist/legacy/build/pdf";
|
|
6
6
|
import pdfjsWorker from "pdfjs-dist/build/pdf.worker.entry";
|
|
7
7
|
export class DocsignComponent {
|
|
8
|
-
constructor() {
|
|
8
|
+
constructor(_changeDetector) {
|
|
9
|
+
this._changeDetector = _changeDetector;
|
|
9
10
|
this.saveButtonLabel = 'SAVE';
|
|
10
11
|
this.clearButtonLabel = 'CLEAR';
|
|
11
12
|
this.signDocumentButtonLabel = 'SIGN_DOCUMENT';
|
|
@@ -71,13 +72,32 @@ export class DocsignComponent {
|
|
|
71
72
|
*/
|
|
72
73
|
set pdf(value) {
|
|
73
74
|
if (value) {
|
|
74
|
-
|
|
75
|
+
if (typeof value === 'string') {
|
|
76
|
+
this._preparePDF(value);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this._pdf = value;
|
|
80
|
+
}
|
|
75
81
|
this._openPDF();
|
|
76
82
|
}
|
|
77
83
|
}
|
|
78
84
|
get pdf() {
|
|
79
85
|
return this._pdf;
|
|
80
86
|
}
|
|
87
|
+
set firstSignatureField(value) {
|
|
88
|
+
this._firstSignatureField = value;
|
|
89
|
+
this._checkSignatures();
|
|
90
|
+
}
|
|
91
|
+
get firstSignatureField() {
|
|
92
|
+
return this._firstSignatureField;
|
|
93
|
+
}
|
|
94
|
+
set secondSignatureField(value) {
|
|
95
|
+
this._secondSignatureField = value;
|
|
96
|
+
this._checkSignatures();
|
|
97
|
+
}
|
|
98
|
+
get secondSignatureField() {
|
|
99
|
+
return this._secondSignatureField;
|
|
100
|
+
}
|
|
81
101
|
showClass() {
|
|
82
102
|
return true;
|
|
83
103
|
}
|
|
@@ -100,6 +120,7 @@ export class DocsignComponent {
|
|
|
100
120
|
});
|
|
101
121
|
const pdfDataUri = yield this.pdfDoc.saveAsBase64({ dataUri: true });
|
|
102
122
|
this.iframe.nativeElement.src = pdfDataUri;
|
|
123
|
+
this._changeDetector.detectChanges();
|
|
103
124
|
});
|
|
104
125
|
}
|
|
105
126
|
_savePdf() {
|
|
@@ -113,6 +134,9 @@ export class DocsignComponent {
|
|
|
113
134
|
}
|
|
114
135
|
_checkSignatures() {
|
|
115
136
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
+
if (!this._pdf) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
116
140
|
let pdfWorkerSrc;
|
|
117
141
|
if (window.hasOwnProperty('pdfWorkerSrc') &&
|
|
118
142
|
typeof window.pdfWorkerSrc === 'string' &&
|
|
@@ -134,6 +158,7 @@ export class DocsignComponent {
|
|
|
134
158
|
if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {
|
|
135
159
|
this.sigBuyerPosition.page = i;
|
|
136
160
|
this.showSigBuyer = true;
|
|
161
|
+
this._changeDetector.detectChanges();
|
|
137
162
|
}
|
|
138
163
|
}
|
|
139
164
|
if (this.secondSignatureField) {
|
|
@@ -141,6 +166,7 @@ export class DocsignComponent {
|
|
|
141
166
|
if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {
|
|
142
167
|
this.sigSellerPosition.page = i;
|
|
143
168
|
this.showSigSeller = true;
|
|
169
|
+
this._changeDetector.detectChanges();
|
|
144
170
|
}
|
|
145
171
|
}
|
|
146
172
|
}
|
|
@@ -172,14 +198,6 @@ export class DocsignComponent {
|
|
|
172
198
|
});
|
|
173
199
|
});
|
|
174
200
|
}
|
|
175
|
-
_handlePdfData(pdfData) {
|
|
176
|
-
if (typeof pdfData === 'string') {
|
|
177
|
-
this._preparePDF(pdfData);
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
this._pdf = pdfData;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
201
|
_preparePDF(base64) {
|
|
184
202
|
var binary_string = window.atob(base64);
|
|
185
203
|
var len = binary_string.length;
|
|
@@ -224,6 +242,9 @@ DocsignComponent.decorators = [
|
|
|
224
242
|
encapsulation: ViewEncapsulation.None
|
|
225
243
|
},] }
|
|
226
244
|
];
|
|
245
|
+
DocsignComponent.ctorParameters = () => [
|
|
246
|
+
{ type: ChangeDetectorRef }
|
|
247
|
+
];
|
|
227
248
|
DocsignComponent.propDecorators = {
|
|
228
249
|
iframe: [{ type: ViewChild, args: ["iframe", { read: ElementRef },] }],
|
|
229
250
|
pdf: [{ type: Input }],
|
|
@@ -239,4 +260,4 @@ DocsignComponent.propDecorators = {
|
|
|
239
260
|
cancelClick: [{ type: Output }],
|
|
240
261
|
showClass: [{ type: HostBinding, args: ['class.co-docsign',] }]
|
|
241
262
|
};
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sV0FBVyxNQUFNLG1DQUFtQyxDQUFDO0FBMkM1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBaEM3QjtRQWlIUyxvQkFBZSxHQUFXLE1BQU0sQ0FBQztRQUdqQyxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFHbkMsNEJBQXVCLEdBQVcsZUFBZSxDQUFDO1FBR2xELHNCQUFpQixHQUFXLFFBQVEsQ0FBQztRQUdyQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHNUQsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQU92RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFrSHpDLENBQUM7SUExTkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1ERztJQUNI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Q0FZTCxLQUFLO2tDQUdMLEtBQUs7bUNBR0wsS0FBSzttQ0FHTCxLQUFLOzhCQUdMLEtBQUs7K0JBR0wsS0FBSztzQ0FHTCxLQUFLO2dDQUdMLEtBQUs7dUJBR0wsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7UERGRG9jdW1lbnR9IGZyb20gXCJwZGYtbGliXCI7XHJcbmltcG9ydCAqIGFzIFBERkpTIGZyb20gXCJwZGZqcy1kaXN0L2xlZ2FjeS9idWlsZC9wZGZcIjtcclxuaW1wb3J0IHBkZmpzV29ya2VyIGZyb20gXCJwZGZqcy1kaXN0L2J1aWxkL3BkZi53b3JrZXIuZW50cnlcIjtcclxuaW1wb3J0IHtUZXh0SXRlbX0gZnJvbSBcInBkZmpzLWRpc3QvdHlwZXMvc3JjL2Rpc3BsYXkvYXBpXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHREaW1lbnNpb24ge1xyXG4gIHg6IG51bWJlcixcclxuICB5OiBudW1iZXIsXHJcbiAgd2lkdGg6IG51bWJlcixcclxuICBoZWlnaHQ6IG51bWJlcixcclxuICBwYWdlOiBudW1iZXJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZG9jc2lnblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aWZyYW1lICNpZnJhbWU+PC9pZnJhbWU+XHJcbiAgICA8Y28tc2lnbmF0dXJlcyAqbmdJZj1cInNob3dTaWduYXR1cmVzXCIgQHNob3dIaWRlU2lnbmF0dXJlXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93Rmlyc3RTaWduYXR1cmVdPVwic2hvd1NpZ0J1eWVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ZpcnN0U2lnbmF0dXJlVGl0bGVdPVwiZmlyc3RTaWduYXR1cmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93U2Vjb25kU2lnbmF0dXJlXT1cInNob3dTaWdTZWxsZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2Vjb25kU2lnbmF0dXJlVGl0bGVdPVwic2Vjb25kU2lnbmF0dXJlTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2F2ZUJ1dHRvbkxhYmVsXT1cInNhdmVCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbkxhYmVsXT1cImNsZWFyQnV0dG9uTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZUZpcnN0U2lnbmF0dXJlKT1cInNhdmVGaXJzdFNpZ25hdHVyZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKHNhdmVTZWNvbmRTaWduYXR1cmUpPVwic2F2ZVNlY29uZFNpZ25hdHVyZSgkZXZlbnQpXCJcclxuICAgID48L2NvLXNpZ25hdHVyZXM+XHJcbiAgICA8aW5wdXQgdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiKHNob3dTaWdCdXllciB8fCBzaG93U2lnU2VsbGVyKSAmJiAhc2hvd1NpZ25hdHVyZXNcIiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2lnbi1kb2N1bWVudFwiXHJcbiAgICAgICAgICAgW3ZhbHVlXT1cInNpZ25Eb2N1bWVudEJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic2hvd1NpZ25hdHVyZXMgPSB0cnVlXCJcclxuICAgIC8+XHJcbiAgICA8aW5wdXQgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1jYW5jZWxcIlxyXG4gICAgICAgICAgIFt2YWx1ZV09XCJjYW5jZWxCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInNob3dIaWRlU2lnbmF0dXJlXCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApXCJ9KSksXHJcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKVwifSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA8PT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgXSlcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3NpZ25Db21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJpZnJhbWVcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXHJcbiAgcHVibGljIGlmcmFtZTogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogTG9hZCBhbiBleGlzdGluZyBbW1BERkRvY3VtZW50XV0uIFRoZSBpbnB1dCBkYXRhIGNhbiBiZSBwcm92aWRlZCBpblxyXG4gICAqIG11bHRpcGxlIGZvcm1hdHM6XHJcbiAgICpcclxuICAgKiB8IFR5cGUgICAgICAgICAgfCBDb250ZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gICAqIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8XHJcbiAgICogfCBgc3RyaW5nYCAgICAgIHwgQSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgKG9yIGRhdGEgVVJJKSBjb250YWluaW5nIGEgUERGIHxcclxuICAgKiB8IGBVaW50OEFycmF5YCAgfCBUaGUgcmF3IGJ5dGVzIG9mIGEgUERGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gICAqIHwgYEFycmF5QnVmZmVyYCB8IFRoZSByYXcgYnl0ZXMgb2YgYSBQREYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbiAgICpcclxuICAgKiBGb3IgZXhhbXBsZTpcclxuICAgKiBgYGBqc1xyXG4gICAqIGltcG9ydCB7IFBERkRvY3VtZW50IH0gZnJvbSAncGRmLWxpYidcclxuICAgKlxyXG4gICAqIC8vIHBkZj1zdHJpbmdcclxuICAgKiBjb25zdCBiYXNlNjQgPVxyXG4gICAqICAnSlZCRVJpMHhMamNLSllHQmdZRUtDalVnTUNCdlltb0tQRHdLTDBacGJIUmxjaUF2Um14aGRHVkVaV052WkdVS0wweGxibScgK1xyXG4gICAqICAnZDBhQ0F4TURRS1BqNEtjM1J5WldGdENuaWNjd3JoTWxBQXdhSjBMbjJQMUp5eTFKTE01RVJkYzBNakN3VWpFNFdRTkM0UScgK1xyXG4gICAqICAnNmNObENGWmtxR0NxWUdTcUVKTExaV051WUdaaVptYmtZdVpzWm1sbVpHUmdabWx1RENRTnpjM05UTTJOemR6TVhNeE1qUScgK1xyXG4gICAqICAnenRGRUt5dUVLMHVGeER1QUFPRVJkVkNtVnVaSE4wY21WaGJRcGxibVJ2WW1vS0NqWWdNQ0J2WW1vS1BEd0tMMFpwYkhSbCcgK1xyXG4gICAqICAnY2lBdlJteGhkR1ZFWldOdlpHVUtMMVI1Y0dVZ0wwOWlhbE4wYlFvdlRpQTBDaTlHYVhKemRDQXlNQW92VEdWdVozUm9JRCcgK1xyXG4gICAqICAnSXhOUW8rUGdwemRISmxZVzBLZUp4Vmo5R3F3akFNaHUvekZIa0J6VG8zbkNDQ2lpS0lIUEVJQ3VKRjNjS29TQ3UyRTgvYicgK1xyXG4gICAqICAnMjB3UElyMXA4djkvOGtWaGdpbG1HZmF3WDJDR2FWcmdjQWkwL2JzeTBsclg3SUdXcHZKNGlKWUVOM2dFbXJyR0JsUXdHcycgK1xyXG4gICAqICAnSEhPOVZCWDF3TnJ4QXFNWDg3UkJENXhwSnVkZHF3ZDgydGpBSHh6VjFVNUxQZ3k1MkRLWFducjFMaGVnK2ovYy9wekdWcicgK1xyXG4gICAqICAnaXFWMFZsd1pQWEdQQ0pqRWx3L3lia3dVbWVvV2d4ZXNEWEdoSEpDL0QvaWlrcDFBdjgwcHRLVTBGZEJFZTI1cFBpaEFNMScgK1xyXG4gICAqICAndTZ5dGdhYVdmczJIcnozNUNKVDErRVdtQUtaVzVrYzNSeVpXRnRDbVZ1Wkc5aWFnb0tOeUF3SUc5aWFnbzhQQW92VTJsNicgK1xyXG4gICAqICAnWlNBNENpOVNiMjkwSURJZ01DQlNDaTlHYVd4MFpYSWdMMFpzWVhSbFJHVmpiMlJsQ2k5VWVYQmxJQzlZVW1WbUNpOU1aVycgK1xyXG4gICAqICAnNW5kR2dnTXpnS0wxY2dXeUF4SURJZ01pQmRDaTlKYm1SbGVDQmJJREFnT0NCZENqNCtDbk4wY21WaGJRcDRuQlhFd1JFQScgK1xyXG4gICAqICAnRUJBRXNDd3ozdnJ2Um1PT3l5T29HaFpkdXRITjJNVDU1ZklBVm9jRCtBcGxibVJ6ZEhKbFlXMEtaVzVrYjJKcUNncHpkRycgK1xyXG4gICAqICAnRnlkSGh5WldZS05URXdDaVVsUlU5RydcclxuICAgKlxyXG4gICAqIGNvbnN0IGRhdGFVcmkgPSAnZGF0YTphcHBsaWNhdGlvbi9wZGY7YmFzZTY0LCcgKyBiYXNlNjRcclxuICAgKlxyXG4gICAqIGNvbnN0IHBkZkRvYzEgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKGJhc2U2NClcclxuICAgKiBjb25zdCBwZGZEb2MyID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZChkYXRhVXJpKVxyXG4gICAqXHJcbiAgICogLy8gcGRmPVVpbnQ4QXJyYXlcclxuICAgKiBpbXBvcnQgZnMgZnJvbSAnZnMnXHJcbiAgICogY29uc3QgdWludDhBcnJheSA9IGZzLnJlYWRGaWxlU3luYygnd2l0aF91cGRhdGVfc2VjdGlvbnMucGRmJylcclxuICAgKiBjb25zdCBwZGZEb2MzID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh1aW50OEFycmF5KVxyXG4gICAqXHJcbiAgICogLy8gcGRmPUFycmF5QnVmZmVyXHJcbiAgICogY29uc3QgdXJsID0gJ2h0dHBzOi8vcGRmLWxpYi5qcy5vcmcvYXNzZXRzL3dpdGhfdXBkYXRlX3NlY3Rpb25zLnBkZidcclxuICAgKiBjb25zdCBhcnJheUJ1ZmZlciA9IGF3YWl0IGZldGNoKHVybCkudGhlbihyZXMgPT4gcmVzLmFycmF5QnVmZmVyKCkpXHJcbiAgICogY29uc3QgcGRmRG9jNCA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQoYXJyYXlCdWZmZXIpXHJcbiAgICpcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqIEBwYXJhbSBwZGYgVGhlIGlucHV0IGRhdGEgY29udGFpbmluZyBhIFBERiBkb2N1bWVudC5cclxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBiZSB1c2VkIHdoZW4gbG9hZGluZyB0aGUgZG9jdW1lbnQuXHJcbiAgICogQHJldHVybnMgUmVzb2x2ZXMgd2l0aCBhIGRvY3VtZW50IGxvYWRlZCBmcm9tIHRoZSBpbnB1dC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcGRmKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9oYW5kbGVQZGZEYXRhKHZhbHVlKTtcclxuICAgICAgdGhpcy5fb3BlblBERigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwZGYoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9wZGY7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXJzdFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0U2lnbmF0dXJlRmllbGQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2Vjb25kU2lnbmF0dXJlTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2Vjb25kU2lnbmF0dXJlRmllbGQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2F2ZUJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnU0FWRSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNsZWFyQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdDTEVBUic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNpZ25Eb2N1bWVudEJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnU0lHTl9ET0NVTUVOVCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnQ0FOQ0VMJztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBkZlNhdmVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2FuY2VsQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1kb2NzaWduJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1NpZ25hdHVyZVBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTaWdCdXllcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWdCdXllclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnU2VsbGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZ1NlbGxlclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnbmF0dXJlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgcGRmRG9jOiBQREZEb2N1bWVudDtcclxuXHJcbiAgcHJpdmF0ZSBfcGRmOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBzYXZlRmlyc3RTaWduYXR1cmUoc2lnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NhdmVTaWduYXR1cmUoc2lnLCB0aGlzLnNpZ0J1eWVyUG9zaXRpb24pO1xyXG4gICAgdGhpcy5zaG93U2lnQnV5ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlU2Vjb25kU2lnbmF0dXJlKHNpZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zYXZlU2lnbmF0dXJlKHNpZywgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbik7XHJcbiAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX29wZW5QREYoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBmaXJzdCBjcmVhdGUgcmVhZGVyIHRvIGNoZWNrIHNpZ25hdHVyZXNcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG5cclxuICAgIHRoaXMucGRmRG9jID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh0aGlzLl9wZGYsIHtcclxuICAgICAgdXBkYXRlTWV0YWRhdGE6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBkZkRhdGFVcmkgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoeyBkYXRhVXJpOiB0cnVlIH0pO1xyXG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5zcmMgPSBwZGZEYXRhVXJpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVBkZigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zaG93U2lnQnV5ZXIgJiYgIXRoaXMuc2hvd1NpZ1NlbGxlcikge1xyXG4gICAgICAvLyByZWFkeSwgc2F2ZSB0aGUgcGRmIGFuZCBlbWl0IHJlc3VsdFxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoKTtcclxuICAgICAgdGhpcy5wZGZTYXZlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jaGVja1NpZ25hdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgcGRmV29ya2VyU3JjO1xyXG4gICAgaWYgKHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgncGRmV29ya2VyU3JjJykgJiZcclxuICAgICAgdHlwZW9mICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMpIHtcclxuICAgICAgcGRmV29ya2VyU3JjID0gKHdpbmRvdyBhcyBhbnkpLnBkZldvcmtlclNyYztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwZGZXb3JrZXJTcmMgPSBwZGZqc1dvcmtlcjtcclxuICAgIH1cclxuICAgIFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gcGRmV29ya2VyU3JjO1xyXG4gICAgY29uc3QgcGRmUmVhZGVyID0gYXdhaXQgUERGSlMuZ2V0RG9jdW1lbnQodGhpcy5fcGRmKS5wcm9taXNlO1xyXG4gICAgY29uc3QgbnVtUGFnZXMgPSBwZGZSZWFkZXIubnVtUGFnZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IHBkZlJlYWRlci5nZXRQYWdlKGkgKyAxKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHBhZ2UuZ2V0VGV4dENvbnRlbnQoKTtcclxuICAgICAgcGFnZS5jbGVhbnVwKCk7XHJcbiAgICAgIGlmICh0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpIHtcclxuICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblNpZ25hdHVyZSh0ZXh0LCB0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ0J1eWVyUG9zaXRpb24ud2lkdGggPiAwICYmIHRoaXMuc2lnQnV5ZXJQb3NpdGlvbi5oZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdCdXllciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlY29uZFNpZ25hdHVyZUZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU2lnbmF0dXJlKHRleHQsIHRoaXMuc2Vjb25kU2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLndpZHRoID4gMCAmJiB0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLmhlaWdodCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2lnU2VsbGVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TaWduYXR1cmUodGV4dEl0ZW06IGFueSwgc2lnbmF0dXJlRmllbGQ6IHN0cmluZyk6IFRleHREaW1lbnNpb24ge1xyXG4gICAgY29uc3Qgc2lnSXRlbTogVGV4dEl0ZW0gPSA8VGV4dEl0ZW0+dGV4dEl0ZW0uaXRlbXMuZmluZCgoaTogYW55KSA9PiBpLnN0ci50b0xvd2VyQ2FzZSgpID09PSBzaWduYXR1cmVGaWVsZC50b0xvd2VyQ2FzZSgpKTtcclxuICAgIGlmIChzaWdJdGVtKSB7XHJcbiAgICAgIHRleHRJdGVtLml0ZW1zLnNsaWNlKHRleHRJdGVtLml0ZW1zLmluZGV4T2Yoc2lnSXRlbSksIDEpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHg6IHNpZ0l0ZW0udHJhbnNmb3JtWzRdLFxyXG4gICAgICAgIHk6IHNpZ0l0ZW0udHJhbnNmb3JtWzVdLFxyXG4gICAgICAgIHdpZHRoOiBzaWdJdGVtLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogc2lnSXRlbS5oZWlnaHQsXHJcbiAgICAgICAgcGFnZTogMFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwYWdlOiAwfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVNpZ25hdHVyZShzaWc6IHN0cmluZywgZGltZW5zaW9uczogVGV4dERpbWVuc2lvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QganBnSW1hZ2UgPSBhd2FpdCB0aGlzLnBkZkRvYy5lbWJlZFBuZyhzaWcpO1xyXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXMucGRmRG9jLmdldFBhZ2UoZGltZW5zaW9ucy5wYWdlKTtcclxuICAgIHBhZ2UuZHJhd0ltYWdlKGpwZ0ltYWdlLCB7XHJcbiAgICAgIHg6ICgoZGltZW5zaW9ucy54ICsgKGRpbWVuc2lvbnMud2lkdGggLyAyKSkgLSAoMjAwIC8gMikpLFxyXG4gICAgICB5OiAoKGRpbWVuc2lvbnMueSArIChkaW1lbnNpb25zLmhlaWdodCAvIDIpKSAtICgxMDAgLyAyKSksXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIGhlaWdodDogMTAwXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVBkZkRhdGEocGRmRGF0YTogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHBkZkRhdGEgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVQREYocGRmRGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9wZGYgPSBwZGZEYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVBERihiYXNlNjQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdmFyIGJpbmFyeV9zdHJpbmcgPSB3aW5kb3cuYXRvYihiYXNlNjQpO1xyXG4gICAgdmFyIGxlbiA9IGJpbmFyeV9zdHJpbmcubGVuZ3RoO1xyXG4gICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuKTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgYnl0ZXNbaV0gPSBiaW5hcnlfc3RyaW5nLmNoYXJDb2RlQXQoaSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wZGYgPSBieXRlcztcclxuICB9XHJcbn1cclxuIl19
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZKLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sV0FBVyxNQUFNLG1DQUFtQyxDQUFDO0FBMkM1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBc0kzQixZQUNVLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQXBDckMsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFHakMscUJBQWdCLEdBQVcsT0FBTyxDQUFDO1FBR25DLDRCQUF1QixHQUFXLGVBQWUsQ0FBQztRQUdsRCxzQkFBaUIsR0FBVyxRQUFRLENBQUM7UUFHckMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzVELGdCQUFXLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFPdkUsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRS9CLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBV3ZDLENBQUM7SUFySUQ7Ozs7Ozs7Ozs7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QztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7OztZQXBSRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTt3QkFDM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0NBQWdDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBQyxDQUFDLENBQUM7d0JBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQ3ZELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTlDTyxpQkFBaUI7OztxQkFnRHRCLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2tCQXVEeEMsS0FBSztrQ0FnQkwsS0FBSztrQ0FHTCxLQUFLO21DQVVMLEtBQUs7bUNBR0wsS0FBSzs4QkFVTCxLQUFLOytCQUdMLEtBQUs7c0NBR0wsS0FBSztnQ0FHTCxLQUFLO3VCQUdMLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtQREZEb2N1bWVudH0gZnJvbSBcInBkZi1saWJcIjtcclxuaW1wb3J0ICogYXMgUERGSlMgZnJvbSBcInBkZmpzLWRpc3QvbGVnYWN5L2J1aWxkL3BkZlwiO1xyXG5pbXBvcnQgcGRmanNXb3JrZXIgZnJvbSBcInBkZmpzLWRpc3QvYnVpbGQvcGRmLndvcmtlci5lbnRyeVwiO1xyXG5pbXBvcnQge1RleHRJdGVtfSBmcm9tIFwicGRmanMtZGlzdC90eXBlcy9zcmMvZGlzcGxheS9hcGlcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dERpbWVuc2lvbiB7XHJcbiAgeDogbnVtYmVyLFxyXG4gIHk6IG51bWJlcixcclxuICB3aWR0aDogbnVtYmVyLFxyXG4gIGhlaWdodDogbnVtYmVyLFxyXG4gIHBhZ2U6IG51bWJlclxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1kb2NzaWduXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxpZnJhbWUgI2lmcmFtZT48L2lmcmFtZT5cclxuICAgIDxjby1zaWduYXR1cmVzICpuZ0lmPVwic2hvd1NpZ25hdHVyZXNcIiBAc2hvd0hpZGVTaWduYXR1cmVcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dGaXJzdFNpZ25hdHVyZV09XCJzaG93U2lnQnV5ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZmlyc3RTaWduYXR1cmVUaXRsZV09XCJmaXJzdFNpZ25hdHVyZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRTaWduYXR1cmVdPVwic2hvd1NpZ1NlbGxlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWNvbmRTaWduYXR1cmVUaXRsZV09XCJzZWNvbmRTaWduYXR1cmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzYXZlQnV0dG9uTGFiZWxdPVwic2F2ZUJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uTGFiZWxdPVwiY2xlYXJCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChzYXZlRmlyc3RTaWduYXR1cmUpPVwic2F2ZUZpcnN0U2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZVNlY29uZFNpZ25hdHVyZSk9XCJzYXZlU2Vjb25kU2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgPjwvY28tc2lnbmF0dXJlcz5cclxuICAgIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCIoc2hvd1NpZ0J1eWVyIHx8IHNob3dTaWdTZWxsZXIpICYmICFzaG93U2lnbmF0dXJlc1wiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zaWduLWRvY3VtZW50XCJcclxuICAgICAgICAgICBbdmFsdWVdPVwic2lnbkRvY3VtZW50QnV0dG9uTGFiZWxcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzaG93U2lnbmF0dXJlcyA9IHRydWVcIlxyXG4gICAgLz5cclxuICAgIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLWNhbmNlbFwiXHJcbiAgICAgICAgICAgW3ZhbHVlXT1cImNhbmNlbEJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVTaWduYXR1cmVcIiwgW1xyXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMClcIn0pKSxcclxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkIDw9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jc2lnbkNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImlmcmFtZVwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuICBwdWJsaWMgaWZyYW1lOiBFbGVtZW50UmVmO1xyXG5cclxuICAvKipcclxuICAgKiBMb2FkIGFuIGV4aXN0aW5nIFtbUERGRG9jdW1lbnRdXS4gVGhlIGlucHV0IGRhdGEgY2FuIGJlIHByb3ZpZGVkIGluXHJcbiAgICogbXVsdGlwbGUgZm9ybWF0czpcclxuICAgKlxyXG4gICAqIHwgVHlwZSAgICAgICAgICB8IENvbnRlbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbiAgICogfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHxcclxuICAgKiB8IGBzdHJpbmdgICAgICAgfCBBIGJhc2U2NCBlbmNvZGVkIHN0cmluZyAob3IgZGF0YSBVUkkpIGNvbnRhaW5pbmcgYSBQREYgfFxyXG4gICAqIHwgYFVpbnQ4QXJyYXlgICB8IFRoZSByYXcgYnl0ZXMgb2YgYSBQREYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbiAgICogfCBgQXJyYXlCdWZmZXJgIHwgVGhlIHJhdyBieXRlcyBvZiBhIFBERiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKlxyXG4gICAqIEZvciBleGFtcGxlOlxyXG4gICAqIGBgYGpzXHJcbiAgICogaW1wb3J0IHsgUERGRG9jdW1lbnQgfSBmcm9tICdwZGYtbGliJ1xyXG4gICAqXHJcbiAgICogLy8gcGRmPXN0cmluZ1xyXG4gICAqIGNvbnN0IGJhc2U2NCA9XHJcbiAgICogICdKVkJFUmkweExqY0tKWUdCZ1lFS0NqVWdNQ0J2WW1vS1BEd0tMMFpwYkhSbGNpQXZSbXhoZEdWRVpXTnZaR1VLTDB4bGJtJyArXHJcbiAgICogICdkMGFDQXhNRFFLUGo0S2MzUnlaV0Z0Q25pY2N3cmhNbEFBd2FKMExuMlAxSnl5MUpMTTVFUmRjME1qQ3dVakU0V1FOQzRRJyArXHJcbiAgICogICc2Y05sQ0Zaa3FHQ3FZR1NxRUpMTFpXTnVZR1ppWm1ia1l1WnNabWxtWkdSZ1ptbHVEQ1FOemMzTlRNMk56ZHpNWE14TWpRJyArXHJcbiAgICogICd6dEZFS3l1RUswdUZ4RHVBQU9FUmRWQ21WdVpITjBjbVZoYlFwbGJtUnZZbW9LQ2pZZ01DQnZZbW9LUER3S0wwWnBiSFJsJyArXHJcbiAgICogICdjaUF2Um14aGRHVkVaV052WkdVS0wxUjVjR1VnTDA5aWFsTjBiUW92VGlBMENpOUdhWEp6ZENBeU1Bb3ZUR1Z1WjNSb0lEJyArXHJcbiAgICogICdJeE5RbytQZ3B6ZEhKbFlXMEtlSnhWajlHcXdqQU1odS96RkhrQnpUbzNuQ0NDaWlLSUhQRUlDdUpGM2NLb1NDdTJFOC9iJyArXHJcbiAgICogICcyMHdQSXIxcDh2OS84a1ZoZ2lsbUdmYXdYMkNHYVZyZ2NBaTAvYnN5MGxyWDdJR1dwdko0aUpZRU4zZ0VtcnJHQmxRd0dzJyArXHJcbiAgICogICdISE85VkJYMXdOcnhBcU1YODdSQkQ1eHBKdWRkcXdkODJ0akFIeHpWMVU1TFBneTUyREtYV25yMUxoZWcrai9jL3B6R1ZyJyArXHJcbiAgICogICdpcVYwVmx3WlBYR1BDSmpFbHcveWJrd1VtZW9XZ3hlc0RYR2hISkMvRC9paWtwMUF2ODBwdEtVMEZkQkVlMjVwUGloQU0xJyArXHJcbiAgICogICd1Nnl0Z2FhV2ZzMkhyejM1Q0pUMStFV21BS1pXNWtjM1J5WldGdENtVnVaRzlpYWdvS055QXdJRzlpYWdvOFBBb3ZVMmw2JyArXHJcbiAgICogICdaU0E0Q2k5U2IyOTBJRElnTUNCU0NpOUdhV3gwWlhJZ0wwWnNZWFJsUkdWamIyUmxDaTlVZVhCbElDOVlVbVZtQ2k5TVpXJyArXHJcbiAgICogICc1bmRHZ2dNemdLTDFjZ1d5QXhJRElnTWlCZENpOUpibVJsZUNCYklEQWdPQ0JkQ2o0K0NuTjBjbVZoYlFwNG5CWEV3UkVBJyArXHJcbiAgICogICdFQkFFc0N3ejN2cnZSbU9PeXlPb0doWmR1dEhOMk1UNTVmSUFWb2NEK0FwbGJtUnpkSEpsWVcwS1pXNWtiMkpxQ2dwemRHJyArXHJcbiAgICogICdGeWRIaHlaV1lLTlRFd0NpVWxSVTlHJ1xyXG4gICAqXHJcbiAgICogY29uc3QgZGF0YVVyaSA9ICdkYXRhOmFwcGxpY2F0aW9uL3BkZjtiYXNlNjQsJyArIGJhc2U2NFxyXG4gICAqXHJcbiAgICogY29uc3QgcGRmRG9jMSA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQoYmFzZTY0KVxyXG4gICAqIGNvbnN0IHBkZkRvYzIgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKGRhdGFVcmkpXHJcbiAgICpcclxuICAgKiAvLyBwZGY9VWludDhBcnJheVxyXG4gICAqIGltcG9ydCBmcyBmcm9tICdmcydcclxuICAgKiBjb25zdCB1aW50OEFycmF5ID0gZnMucmVhZEZpbGVTeW5jKCd3aXRoX3VwZGF0ZV9zZWN0aW9ucy5wZGYnKVxyXG4gICAqIGNvbnN0IHBkZkRvYzMgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKHVpbnQ4QXJyYXkpXHJcbiAgICpcclxuICAgKiAvLyBwZGY9QXJyYXlCdWZmZXJcclxuICAgKiBjb25zdCB1cmwgPSAnaHR0cHM6Ly9wZGYtbGliLmpzLm9yZy9hc3NldHMvd2l0aF91cGRhdGVfc2VjdGlvbnMucGRmJ1xyXG4gICAqIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgZmV0Y2godXJsKS50aGVuKHJlcyA9PiByZXMuYXJyYXlCdWZmZXIoKSlcclxuICAgKiBjb25zdCBwZGZEb2M0ID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZChhcnJheUJ1ZmZlcilcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBkZiBUaGUgaW5wdXQgZGF0YSBjb250YWluaW5nIGEgUERGIGRvY3VtZW50LlxyXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHRvIGJlIHVzZWQgd2hlbiBsb2FkaW5nIHRoZSBkb2N1bWVudC5cclxuICAgKiBAcmV0dXJucyBSZXNvbHZlcyB3aXRoIGEgZG9jdW1lbnQgbG9hZGVkIGZyb20gdGhlIGlucHV0LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBwZGYodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZVBERih2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fcGRmID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fb3BlblBERigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwZGYoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9wZGY7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXJzdFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBmaXJzdFNpZ25hdHVyZUZpZWxkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2ZpcnN0U2lnbmF0dXJlRmllbGQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmaXJzdFNpZ25hdHVyZUZpZWxkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlyc3RTaWduYXR1cmVGaWVsZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzZWNvbmRTaWduYXR1cmVGaWVsZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zZWNvbmRTaWduYXR1cmVGaWVsZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fY2hlY2tTaWduYXR1cmVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNlY29uZFNpZ25hdHVyZUZpZWxkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kU2lnbmF0dXJlRmllbGQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzYXZlQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdTQVZFJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2xlYXJCdXR0b25MYWJlbDogc3RyaW5nID0gJ0NMRUFSJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2lnbkRvY3VtZW50QnV0dG9uTGFiZWw6IHN0cmluZyA9ICdTSUdOX0RPQ1VNRU5UJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdDQU5DRUwnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGRmU2F2ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWRvY3NpZ24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93U2lnbmF0dXJlUG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1NpZ0J1eWVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZ0J1eWVyUG9zaXRpb246IFRleHREaW1lbnNpb247XHJcbiAgcHVibGljIHNob3dTaWdTZWxsZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2lnU2VsbGVyUG9zaXRpb246IFRleHREaW1lbnNpb247XHJcbiAgcHVibGljIHNob3dTaWduYXR1cmVzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBwZGZEb2M6IFBERkRvY3VtZW50O1xyXG5cclxuICBwcml2YXRlIF9wZGY6IGFueTtcclxuICBwcml2YXRlIF9maXJzdFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfc2Vjb25kU2lnbmF0dXJlRmllbGQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlRmlyc3RTaWduYXR1cmUoc2lnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NhdmVTaWduYXR1cmUoc2lnLCB0aGlzLnNpZ0J1eWVyUG9zaXRpb24pO1xyXG4gICAgdGhpcy5zaG93U2lnQnV5ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlU2Vjb25kU2lnbmF0dXJlKHNpZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zYXZlU2lnbmF0dXJlKHNpZywgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbik7XHJcbiAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX29wZW5QREYoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBmaXJzdCBjcmVhdGUgcmVhZGVyIHRvIGNoZWNrIHNpZ25hdHVyZXNcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG5cclxuICAgIHRoaXMucGRmRG9jID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh0aGlzLl9wZGYsIHtcclxuICAgICAgdXBkYXRlTWV0YWRhdGE6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBkZkRhdGFVcmkgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoeyBkYXRhVXJpOiB0cnVlIH0pO1xyXG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5zcmMgPSBwZGZEYXRhVXJpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVBkZigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zaG93U2lnQnV5ZXIgJiYgIXRoaXMuc2hvd1NpZ1NlbGxlcikge1xyXG4gICAgICAvLyByZWFkeSwgc2F2ZSB0aGUgcGRmIGFuZCBlbWl0IHJlc3VsdFxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoKTtcclxuICAgICAgdGhpcy5wZGZTYXZlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jaGVja1NpZ25hdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuX3BkZikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgcGRmV29ya2VyU3JjO1xyXG4gICAgaWYgKHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgncGRmV29ya2VyU3JjJykgJiZcclxuICAgICAgdHlwZW9mICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMpIHtcclxuICAgICAgcGRmV29ya2VyU3JjID0gKHdpbmRvdyBhcyBhbnkpLnBkZldvcmtlclNyYztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwZGZXb3JrZXJTcmMgPSBwZGZqc1dvcmtlcjtcclxuICAgIH1cclxuICAgIFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gcGRmV29ya2VyU3JjO1xyXG4gICAgY29uc3QgcGRmUmVhZGVyID0gYXdhaXQgUERGSlMuZ2V0RG9jdW1lbnQodGhpcy5fcGRmKS5wcm9taXNlO1xyXG4gICAgY29uc3QgbnVtUGFnZXMgPSBwZGZSZWFkZXIubnVtUGFnZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IHBkZlJlYWRlci5nZXRQYWdlKGkgKyAxKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHBhZ2UuZ2V0VGV4dENvbnRlbnQoKTtcclxuICAgICAgcGFnZS5jbGVhbnVwKCk7XHJcbiAgICAgIGlmICh0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpIHtcclxuICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblNpZ25hdHVyZSh0ZXh0LCB0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ0J1eWVyUG9zaXRpb24ud2lkdGggPiAwICYmIHRoaXMuc2lnQnV5ZXJQb3NpdGlvbi5oZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdCdXllciA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlY29uZFNpZ25hdHVyZUZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU2lnbmF0dXJlKHRleHQsIHRoaXMuc2Vjb25kU2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLndpZHRoID4gMCAmJiB0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLmhlaWdodCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2lnU2VsbGVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TaWduYXR1cmUodGV4dEl0ZW06IGFueSwgc2lnbmF0dXJlRmllbGQ6IHN0cmluZyk6IFRleHREaW1lbnNpb24ge1xyXG4gICAgY29uc3Qgc2lnSXRlbTogVGV4dEl0ZW0gPSA8VGV4dEl0ZW0+dGV4dEl0ZW0uaXRlbXMuZmluZCgoaTogYW55KSA9PiBpLnN0ci50b0xvd2VyQ2FzZSgpID09PSBzaWduYXR1cmVGaWVsZC50b0xvd2VyQ2FzZSgpKTtcclxuICAgIGlmIChzaWdJdGVtKSB7XHJcbiAgICAgIHRleHRJdGVtLml0ZW1zLnNsaWNlKHRleHRJdGVtLml0ZW1zLmluZGV4T2Yoc2lnSXRlbSksIDEpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHg6IHNpZ0l0ZW0udHJhbnNmb3JtWzRdLFxyXG4gICAgICAgIHk6IHNpZ0l0ZW0udHJhbnNmb3JtWzVdLFxyXG4gICAgICAgIHdpZHRoOiBzaWdJdGVtLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogc2lnSXRlbS5oZWlnaHQsXHJcbiAgICAgICAgcGFnZTogMFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwYWdlOiAwfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVNpZ25hdHVyZShzaWc6IHN0cmluZywgZGltZW5zaW9uczogVGV4dERpbWVuc2lvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QganBnSW1hZ2UgPSBhd2FpdCB0aGlzLnBkZkRvYy5lbWJlZFBuZyhzaWcpO1xyXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXMucGRmRG9jLmdldFBhZ2UoZGltZW5zaW9ucy5wYWdlKTtcclxuICAgIHBhZ2UuZHJhd0ltYWdlKGpwZ0ltYWdlLCB7XHJcbiAgICAgIHg6ICgoZGltZW5zaW9ucy54ICsgKGRpbWVuc2lvbnMud2lkdGggLyAyKSkgLSAoMjAwIC8gMikpLFxyXG4gICAgICB5OiAoKGRpbWVuc2lvbnMueSArIChkaW1lbnNpb25zLmhlaWdodCAvIDIpKSAtICgxMDAgLyAyKSksXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIGhlaWdodDogMTAwXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVQREYoYmFzZTY0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHZhciBiaW5hcnlfc3RyaW5nID0gd2luZG93LmF0b2IoYmFzZTY0KTtcclxuICAgIHZhciBsZW4gPSBiaW5hcnlfc3RyaW5nLmxlbmd0aDtcclxuICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGxlbik7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGJ5dGVzW2ldID0gYmluYXJ5X3N0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcGRmID0gYnl0ZXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -104,20 +104,28 @@ export class PreferredPlanningComponent {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
handleOptionSelect(event, selectedOption, date, index) {
|
|
107
|
+
this.events.forEach(day => {
|
|
108
|
+
day.events.forEach(opt => opt.checked = false);
|
|
109
|
+
});
|
|
110
|
+
const target = document.getElementById('event-' + index);
|
|
107
111
|
const olderItems = document.getElementsByClassName('eventOption');
|
|
108
112
|
for (let i = 0; i < olderItems.length; i++) {
|
|
109
113
|
olderItems[i].classList.remove('day-selected');
|
|
110
114
|
}
|
|
111
115
|
if (event) {
|
|
116
|
+
selectedOption.checked = true;
|
|
112
117
|
this.selectedOption = selectedOption;
|
|
113
118
|
const agendaEventPerDay = new AgendaEventPerDay();
|
|
114
119
|
agendaEventPerDay.date = date;
|
|
115
120
|
agendaEventPerDay.events.push(selectedOption);
|
|
116
121
|
this.selected.emit(agendaEventPerDay);
|
|
117
|
-
|
|
118
|
-
target.classList.add('day-selected');
|
|
119
|
-
this.checkDisabled = true;
|
|
122
|
+
target === null || target === void 0 ? void 0 : target.classList.add('day-selected');
|
|
120
123
|
}
|
|
124
|
+
else {
|
|
125
|
+
this.selectedOption = null;
|
|
126
|
+
this.selected.emit(null);
|
|
127
|
+
}
|
|
128
|
+
this._changeDetector.detectChanges();
|
|
121
129
|
}
|
|
122
130
|
loadMore() {
|
|
123
131
|
this.limit = this.limit += 4;
|
|
@@ -207,4 +215,4 @@ PreferredPlanningComponent.propDecorators = {
|
|
|
207
215
|
selected: [{ type: Output }],
|
|
208
216
|
showClass: [{ type: HostBinding, args: ["class.co-preferred-planning",] }]
|
|
209
217
|
};
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVycmVkLXBsYW5uaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3ByZWZlcnJlZC1wbGFubmluZy9wcmVmZXJyZWQtcGxhbm5pbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUE2RDFDLE1BQU0sT0FBTywwQkFBMEI7SUFrRHJDLFlBQzRCLE1BQWMsRUFDakMsZ0JBQWtDLEVBQ2pDLGVBQWtDO1FBRmhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFqRDVCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFHeEIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRy9CLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUc5QiwwQkFBcUIsR0FBVyxFQUFFLENBQUM7UUFHbkMsdUJB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LGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7eUNBcURJLE1BQU0sU0FBQyxTQUFTO1lBakhiLGdCQUFnQjtZQWhCdEIsaUJBQWlCOzs7dUJBK0VoQixTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztpQ0FLcEMsS0FBSzswQkFHTCxLQUFLO3lCQUdMLEtBQUs7Z0NBR0wsS0FBSzsrQkFHTCxLQUFLO29DQUdMLEtBQUs7aUNBR0wsS0FBSzsyQkFHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsTUFBTTt1QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTE9DQUxFX0lELFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge0FnZW5kYUV2ZW50UGVyRGF5fSBmcm9tIFwiLi4vLi4vbW9kZWwvYWdlbmRhLWV2ZW50LXBlci1kYXkubW9kZWxcIjtcclxuaW1wb3J0IHtBZ2VuZGFFdmVudH0gZnJvbSBcIi4uLy4uL21vZGVsL2FnZW5kYS1ldmVudC5tb2RlbFwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tcHJlZmVycmVkLXBsYW5uaW5nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjby1wcmVmZXJyZWQtcGxhbm5pbmdcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxwIFt0ZXh0Q29udGVudF09XCJoZWFkZXJEZXNjcmlwdGlvblwiPjwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctb3B0aW9uc1wiICpuZ0lmPVwiZXZlbnRzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGV2ZW50IG9mIGV2ZW50cyB8IHNsaWNlOjA6bGltaXQ7IGxldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50T3B0aW9uXCIgaWQ9XCJldmVudC17e2l9fVwiPlxyXG4gICAgICAgICAgICAgICAgPHAgW3RleHRDb250ZW50XT1cImV2ZW50LmRhdGUgfCBkYXRlOidFRUVFIGRkIE1NTU0nOidubCdcIj48L3A+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZXZlbnQuZXZlbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjaGVja0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJvcHRpb24uY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVPcHRpb25TZWxlY3QoJGV2ZW50LCBvcHRpb24sIGV2ZW50LmRhdGUsIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1kaXNjbGFpbWVyXCI+XHJcbiAgICAgICAgICAgIDxoMiBbdGV4dENvbnRlbnRdPVwiZGlzY2xhaW1lckhlYWRlclwiPjwvaDI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1kaXNjbGFpbWVyLWNvbnRlbnRzXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJkaXNjbGFpbWVyLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrUm91bmQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDxwIFt0ZXh0Q29udGVudF09XCJkaXNjbGFpbWVyRGVzY3JpcHRpb25cIj48L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAoY2xpY2spPVwibG9hZE1vcmUoKVwiIGNsYXNzPVwibG9hZC1tb3JlLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCIhbW9yZUxvYWRhYmxlID8gJ2xvYWQtbW9yZS1jb250YWluZXItZGlzYWJsZWQnOicnXCI+XHJcbiAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd0ZhdFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxvYWRNb3JlQnV0dG9uVGV4dFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8Y28tYnV0dG9uIGNsYXNzPVwic3VibWl0LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIFtsYWJlbF09XCJidXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIj5cclxuICAgIDwvY28tYnV0dG9uPlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInNob3dIaWRlV2luZG93XCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwic2NhbGVZKDApXCJ9KSksXHJcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInNjYWxlWSgxKVwifSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyLCA6bGVhdmVcIiwgW1xyXG4gICAgICAgIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBQcmVmZXJyZWRQbGFubmluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChcImRheVN0YXJ0XCIsIHtzdGF0aWM6IHRydWV9KVxyXG4gIHB1YmxpYyBkYXlTdGFydDogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0QXZhaWxhYmxlRGF0ZTogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnV0dG9uTGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRleHQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlckRlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNjbGFpbWVySGVhZGVyOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNjbGFpbWVyRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxvYWRNb3JlQnV0dG9uVGV4dDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXZlbnRzUGVyRGF5OiBBZ2VuZGFFdmVudFBlckRheVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPEFnZW5kYUV2ZW50UGVyRGF5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWdlbmRhRXZlbnRQZXJEYXk+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXByZWZlcnJlZC1wbGFubmluZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZGF5czogRGF0ZVtdID0gW107XHJcbiAgcHVibGljIGV2ZW50czogQWdlbmRhRXZlbnRQZXJEYXlbXSA9IFtdO1xyXG4gIHB1YmxpYyBsaW1pdDogbnVtYmVyID0gNDtcclxuICBwdWJsaWMgc2VsZWN0ZWRPcHRpb246IEFnZW5kYUV2ZW50O1xyXG4gIHB1YmxpYyBtb3JlTG9hZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgY2hlY2tEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwdWJsaWMgbG9jYWxlOiBzdHJpbmcsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIC8vIGNvbnN0IGV2ZW50b25lID0gbmV3IEFnZW5kYUV2ZW50KCk7XHJcbiAgICAvLyBldmVudG9uZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAvLyBldmVudG9uZS5zaG93Q2hlY2tib3ggPSB0cnVlO1xyXG4gICAgLy8gZXZlbnRvbmUuZHJhZ2dhYmxlID0gZmFsc2U7XHJcbiAgICAvLyBldmVudG9uZS5pZCA9IDI7XHJcbiAgICAvLyBldmVudG9uZS5kYXlQYXJ0Tm8gPSAyO1xyXG4gICAgLy8gZXZlbnRvbmUuZGF0ZSA9IG5ldyBEYXRlKCcyMDI0LTEwLTIxVDAwOjAwOjAwJyk7XHJcbiAgICAvLyBldmVudG9uZS5mcm9tID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDk6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW50b25lLnRvID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMTI6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW50b25lLmZyb21TdHJpbmcgPSBcIjA5OjAwIEFNXCI7XHJcbiAgICAvLyBldmVudG9uZS50b1N0cmluZyA9IFwiMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW50b25lLmZyb21Ub1JlcHJlc2VudGF0aW9uID0gXCIwOTowMCBBTSAtIDEyOjAwIFBNXCI7XHJcbiAgICAvLyBldmVudG9uZS5kZXNjcmlwdGlvbiA9IFwiTW9yZ2VuIHZhbiA5LjAwLSAxMi4wMCB1dXJcIjtcclxuICAgIC8vXHJcbiAgICAvLyBjb25zdCBldmVudHdvID0gbmV3IEFnZW5kYUV2ZW50KCk7XHJcbiAgICAvLyBldmVudHdvLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgIC8vIGV2ZW50d28uc2hvd0NoZWNrYm94ID0gdHJ1ZTtcclxuICAgIC8vIGV2ZW50d28uZHJhZ2dhYmxlID0gZmFsc2U7XHJcbiAgICAvLyBldmVudHdvLmlkID0gMztcclxuICAgIC8vIGV2ZW50d28uZGF5UGFydE5vID0gMztcclxuICAgIC8vIGV2ZW50d28uZGF0ZSA9IG5ldyBEYXRlKCcyMDI0LTEwLTIxVDAwOjAwOjAwJyk7XHJcbiAgICAvLyBldmVudHdvLmZyb20gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxMjowMDowMCcpO1xyXG4gICAgLy8gZXZlbnR3by50byA9IG5ldyBEYXRlKCcyMDI0LTEwLTIxVDE1OjAwOjAwJyk7XHJcbiAgICAvLyBldmVudHdvLmZyb21TdHJpbmcgPSBcIjEyOjAwIFBNXCI7XHJcbiAgICAvLyBldmVudHdvLnRvU3RyaW5nID0gXCIwMzowMCBQTVwiO1xyXG4gICAgLy8gZXZlbnR3by5mcm9tVG9SZXByZXNlbnRhdGlvbiA9IFwiMTI6MDAgUE0gLSAwMzowMCBQTVwiO1xyXG4gICAgLy8gZXZlbnR3by5kZXNjcmlwdGlvbiA9IFwiSGVsZSBkYWdcIjtcclxuICAgIC8vXHJcbiAgICAvL1xyXG4gICAgLy8gY29uc3QgZXZlbnR0aHJlZSA9IG5ldyBBZ2VuZGFFdmVudCgpO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAvLyBldmVudHRocmVlLnNob3dDaGVja2JveCA9IHRydWU7XHJcbiAgICAvLyBldmVudHRocmVlLmRyYWdnYWJsZSA9IGZhbHNlO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5pZCA9IDc7XHJcbiAgICAvLyBldmVudHRocmVlLmRheVBhcnRObyA9IDE7XHJcbiAgICAvLyBldmVudHRocmVlLmRhdGUgPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQwMDowMDowMCcpO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5mcm9tID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDk6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW50dGhyZWUudG8gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxMjowMDowMCcpO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5mcm9tU3RyaW5nID0gXCIwOTowMCBBTVwiO1xyXG4gICAgLy8gZXZlbnR0aHJlZS50b1N0cmluZyA9IFwiMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW50dGhyZWUuZnJvbVRvUmVwcmVzZW50YXRpb24gPSBcIjA5OjAwIEFNIC0gMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW50dGhyZWUuZGVzY3JpcHRpb24gPSBcIk1vcmdlbiB2YW4gOS4wMC0gMTIuMDAgdXVyXCI7XHJcbiAgICAvL1xyXG4gICAgLy8gY29uc3QgZXZlbmZvdXIgPSBuZXcgQWdlbmRhRXZlbnQoKTtcclxuICAgIC8vIGV2ZW5mb3VyLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgIC8vIGV2ZW5mb3VyLnNob3dDaGVja2JveCA9IHRydWU7XHJcbiAgICAvLyBldmVuZm91ci5kcmFnZ2FibGUgPSBmYWxzZTtcclxuICAgIC8vIGV2ZW5mb3VyLmlkID0gODtcclxuICAgIC8vIGV2ZW5mb3VyLmRheVBhcnRObyA9IDI7XHJcbiAgICAvLyBldmVuZm91ci5kYXRlID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDA6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW5mb3VyLmZyb20gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxMjowMDowMCcpO1xyXG4gICAgLy8gZXZlbmZvdXIudG8gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxNTowMDowMCcpO1xyXG4gICAgLy8gZXZlbmZvdXIuZnJvbVN0cmluZyA9IFwiMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW5mb3VyLnRvU3RyaW5nID0gXCIwMzowMCBQTVwiO1xyXG4gICAgLy8gZXZlbmZvdXIuZnJvbVRvUmVwcmVzZW50YXRpb24gPSBcIjEyOjAwIFBNIC0gMDM6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW5mb3VyLmRlc2NyaXB0aW9uID0gXCJIZWxlIGRhZ1wiO1xyXG4gICAgLy9cclxuICAgIC8vIGNvbnN0IHRlc3REYXRhID0gbmV3IEFnZW5kYUV2ZW50UGVyRGF5KCk7XHJcbiAgICAvLyB0ZXN0RGF0YS5kYXRlID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDA6MDA6MDAnKTtcclxuICAgIC8vIHRlc3REYXRhLmV2ZW50cy5wdXNoKGV2ZW50b25lKTtcclxuICAgIC8vIHRlc3REYXRhLmV2ZW50cy5wdXNoKGV2ZW50d28pO1xyXG4gICAgLy9cclxuICAgIC8vIGNvbnN0IHRlc3REYXRhVHdvID0gbmV3IEFnZW5kYUV2ZW50UGVyRGF5KCk7XHJcbiAgICAvLyB0ZXN0RGF0YVR3by5kYXRlID0gbmV3IERhdGUoJzIwMjQtMTEtMjFUMDA6MDA6MDAnKTtcclxuICAgIC8vIHRlc3REYXRhVHdvLmV2ZW50cy5wdXNoKGV2ZW50dGhyZWUpO1xyXG4gICAgLy8gdGVzdERhdGFUd28uZXZlbnRzLnB1c2goZXZlbmZvdXIpO1xyXG4gICAgLy9cclxuICAgIC8vIHRoaXMuZXZlbnRzLnB1c2godGVzdERhdGEpO1xyXG4gICAgLy8gdGhpcy5ldmVudHMucHVzaCh0ZXN0RGF0YVR3byk7XHJcblxyXG4gICAgaWYgKHRoaXMuZXZlbnRzUGVyRGF5KSB7XHJcbiAgICAgIHRoaXMuZXZlbnRzID0gdGhpcy5ldmVudHNQZXJEYXk7XHJcbiAgICAgIGlmICh0aGlzLmV2ZW50c1BlckRheS5sZW5ndGggPD0gdGhpcy5saW1pdCkge1xyXG4gICAgICAgIHRoaXMubW9yZUxvYWRhYmxlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9wdGlvblNlbGVjdChldmVudDogYm9vbGVhbiwgc2VsZWN0ZWRPcHRpb246IEFnZW5kYUV2ZW50LCBkYXRlOiBEYXRlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBvbGRlckl0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZXZlbnRPcHRpb24nKTtcclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBvbGRlckl0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIG9sZGVySXRlbXNbaV0uY2xhc3NMaXN0LnJlbW92ZSgnZGF5LXNlbGVjdGVkJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IHNlbGVjdGVkT3B0aW9uO1xyXG4gICAgICBjb25zdCBhZ2VuZGFFdmVudFBlckRheTogQWdlbmRhRXZlbnRQZXJEYXkgPSBuZXcgQWdlbmRhRXZlbnRQZXJEYXkoKTtcclxuICAgICAgYWdlbmRhRXZlbnRQZXJEYXkuZGF0ZSA9IGRhdGU7XHJcbiAgICAgIGFnZW5kYUV2ZW50UGVyRGF5LmV2ZW50cy5wdXNoKHNlbGVjdGVkT3B0aW9uKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KGFnZW5kYUV2ZW50UGVyRGF5KTtcclxuICAgICAgY29uc3QgdGFyZ2V0OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmVudC0nICsgaW5kZXgpO1xyXG4gICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnZGF5LXNlbGVjdGVkJyk7XHJcbiAgICAgIHRoaXMuY2hlY2tEaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZE1vcmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxpbWl0ID0gdGhpcy5saW1pdCArPSA0O1xyXG4gICAgaWYgKHRoaXMuZXZlbnRzUGVyRGF5Lmxlbmd0aCA8PSB0aGlzLmxpbWl0KSB7XHJcbiAgICAgIHRoaXMubW9yZUxvYWRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVycmVkLXBsYW5uaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3ByZWZlcnJlZC1wbGFubmluZy9wcmVmZXJyZWQtcGxhbm5pbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUV6RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUE2RDFDLE1BQU0sT0FBTywwQkFBMEI7SUFrRHJDLFlBQzRCLE1BQWMsRUFDakMsZ0JBQWtDLEVBQ2pDLGVBQWtDO1FBRmhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFqRDVCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBR3pCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFHeEIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRy9CLHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUc5QiwwQkFBcUIsR0FBVyxFQUFFLENBQUM7UUFHbkMsdUJB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDVDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGdCQUFnQixFQUFFO3dCQUN4QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUM5QyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDO3dCQUMzQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7NEJBQzNCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDN0IsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7eUNBcURJLE1BQU0sU0FBQyxTQUFTO1lBakhiLGdCQUFnQjtZQWhCdEIsaUJBQWlCOzs7dUJBK0VoQixTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztpQ0FLcEMsS0FBSzswQkFHTCxLQUFLO3lCQUdMLEtBQUs7Z0NBR0wsS0FBSzsrQkFHTCxLQUFLO29DQUdMLEtBQUs7aUNBR0wsS0FBSzsyQkFHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsTUFBTTt1QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTE9DQUxFX0lELFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQge0FnZW5kYUV2ZW50UGVyRGF5fSBmcm9tIFwiLi4vLi4vbW9kZWwvYWdlbmRhLWV2ZW50LXBlci1kYXkubW9kZWxcIjtcclxuaW1wb3J0IHtBZ2VuZGFFdmVudH0gZnJvbSBcIi4uLy4uL21vZGVsL2FnZW5kYS1ldmVudC5tb2RlbFwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tcHJlZmVycmVkLXBsYW5uaW5nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjby1wcmVmZXJyZWQtcGxhbm5pbmdcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxwIFt0ZXh0Q29udGVudF09XCJoZWFkZXJEZXNjcmlwdGlvblwiPjwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctb3B0aW9uc1wiICpuZ0lmPVwiZXZlbnRzXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGV2ZW50IG9mIGV2ZW50cyB8IHNsaWNlOjA6bGltaXQ7IGxldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50T3B0aW9uXCIgaWQ9XCJldmVudC17e2l9fVwiPlxyXG4gICAgICAgICAgICAgICAgPHAgW3RleHRDb250ZW50XT1cImV2ZW50LmRhdGUgfCBkYXRlOidFRUVFIGRkIE1NTU0nOidubCdcIj48L3A+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZXZlbnQuZXZlbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1vcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjaGVja0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJvcHRpb24uY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVPcHRpb25TZWxlY3QoJGV2ZW50LCBvcHRpb24sIGV2ZW50LmRhdGUsIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1kaXNjbGFpbWVyXCI+XHJcbiAgICAgICAgICAgIDxoMiBbdGV4dENvbnRlbnRdPVwiZGlzY2xhaW1lckhlYWRlclwiPjwvaDI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1kaXNjbGFpbWVyLWNvbnRlbnRzXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJkaXNjbGFpbWVyLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrUm91bmQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDxwIFt0ZXh0Q29udGVudF09XCJkaXNjbGFpbWVyRGVzY3JpcHRpb25cIj48L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAoY2xpY2spPVwibG9hZE1vcmUoKVwiIGNsYXNzPVwibG9hZC1tb3JlLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCIhbW9yZUxvYWRhYmxlID8gJ2xvYWQtbW9yZS1jb250YWluZXItZGlzYWJsZWQnOicnXCI+XHJcbiAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd0ZhdFJpZ2h0KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxvYWRNb3JlQnV0dG9uVGV4dFwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8Y28tYnV0dG9uIGNsYXNzPVwic3VibWl0LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIFtsYWJlbF09XCJidXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b25DbGljay5lbWl0KCRldmVudClcIj5cclxuICAgIDwvY28tYnV0dG9uPlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInNob3dIaWRlV2luZG93XCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwic2NhbGVZKDApXCJ9KSksXHJcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInNjYWxlWSgxKVwifSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyLCA6bGVhdmVcIiwgW1xyXG4gICAgICAgIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBQcmVmZXJyZWRQbGFubmluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChcImRheVN0YXJ0XCIsIHtzdGF0aWM6IHRydWV9KVxyXG4gIHB1YmxpYyBkYXlTdGFydDogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0QXZhaWxhYmxlRGF0ZTogRGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnV0dG9uTGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlclRleHQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhlYWRlckRlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNjbGFpbWVySGVhZGVyOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNjbGFpbWVyRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxvYWRNb3JlQnV0dG9uVGV4dDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXZlbnRzUGVyRGF5OiBBZ2VuZGFFdmVudFBlckRheVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPEFnZW5kYUV2ZW50UGVyRGF5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWdlbmRhRXZlbnRQZXJEYXk+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXByZWZlcnJlZC1wbGFubmluZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZGF5czogRGF0ZVtdID0gW107XHJcbiAgcHVibGljIGV2ZW50czogQWdlbmRhRXZlbnRQZXJEYXlbXSA9IFtdO1xyXG4gIHB1YmxpYyBsaW1pdDogbnVtYmVyID0gNDtcclxuICBwdWJsaWMgc2VsZWN0ZWRPcHRpb246IEFnZW5kYUV2ZW50O1xyXG4gIHB1YmxpYyBtb3JlTG9hZGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgY2hlY2tEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwdWJsaWMgbG9jYWxlOiBzdHJpbmcsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIC8vIGNvbnN0IGV2ZW50b25lID0gbmV3IEFnZW5kYUV2ZW50KCk7XHJcbiAgICAvLyBldmVudG9uZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAvLyBldmVudG9uZS5zaG93Q2hlY2tib3ggPSB0cnVlO1xyXG4gICAgLy8gZXZlbnRvbmUuZHJhZ2dhYmxlID0gZmFsc2U7XHJcbiAgICAvLyBldmVudG9uZS5pZCA9IDI7XHJcbiAgICAvLyBldmVudG9uZS5kYXlQYXJ0Tm8gPSAyO1xyXG4gICAgLy8gZXZlbnRvbmUuZGF0ZSA9IG5ldyBEYXRlKCcyMDI0LTEwLTIxVDAwOjAwOjAwJyk7XHJcbiAgICAvLyBldmVudG9uZS5mcm9tID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDk6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW50b25lLnRvID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMTI6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW50b25lLmZyb21TdHJpbmcgPSBcIjA5OjAwIEFNXCI7XHJcbiAgICAvLyBldmVudG9uZS50b1N0cmluZyA9IFwiMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW50b25lLmZyb21Ub1JlcHJlc2VudGF0aW9uID0gXCIwOTowMCBBTSAtIDEyOjAwIFBNXCI7XHJcbiAgICAvLyBldmVudG9uZS5kZXNjcmlwdGlvbiA9IFwiTW9yZ2VuIHZhbiA5LjAwLSAxMi4wMCB1dXJcIjtcclxuICAgIC8vXHJcbiAgICAvLyBjb25zdCBldmVudHdvID0gbmV3IEFnZW5kYUV2ZW50KCk7XHJcbiAgICAvLyBldmVudHdvLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgIC8vIGV2ZW50d28uc2hvd0NoZWNrYm94ID0gdHJ1ZTtcclxuICAgIC8vIGV2ZW50d28uZHJhZ2dhYmxlID0gZmFsc2U7XHJcbiAgICAvLyBldmVudHdvLmlkID0gMztcclxuICAgIC8vIGV2ZW50d28uZGF5UGFydE5vID0gMztcclxuICAgIC8vIGV2ZW50d28uZGF0ZSA9IG5ldyBEYXRlKCcyMDI0LTEwLTIxVDAwOjAwOjAwJyk7XHJcbiAgICAvLyBldmVudHdvLmZyb20gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxMjowMDowMCcpO1xyXG4gICAgLy8gZXZlbnR3by50byA9IG5ldyBEYXRlKCcyMDI0LTEwLTIxVDE1OjAwOjAwJyk7XHJcbiAgICAvLyBldmVudHdvLmZyb21TdHJpbmcgPSBcIjEyOjAwIFBNXCI7XHJcbiAgICAvLyBldmVudHdvLnRvU3RyaW5nID0gXCIwMzowMCBQTVwiO1xyXG4gICAgLy8gZXZlbnR3by5mcm9tVG9SZXByZXNlbnRhdGlvbiA9IFwiMTI6MDAgUE0gLSAwMzowMCBQTVwiO1xyXG4gICAgLy8gZXZlbnR3by5kZXNjcmlwdGlvbiA9IFwiSGVsZSBkYWdcIjtcclxuICAgIC8vXHJcbiAgICAvL1xyXG4gICAgLy8gY29uc3QgZXZlbnR0aHJlZSA9IG5ldyBBZ2VuZGFFdmVudCgpO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAvLyBldmVudHRocmVlLnNob3dDaGVja2JveCA9IHRydWU7XHJcbiAgICAvLyBldmVudHRocmVlLmRyYWdnYWJsZSA9IGZhbHNlO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5pZCA9IDc7XHJcbiAgICAvLyBldmVudHRocmVlLmRheVBhcnRObyA9IDE7XHJcbiAgICAvLyBldmVudHRocmVlLmRhdGUgPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQwMDowMDowMCcpO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5mcm9tID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDk6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW50dGhyZWUudG8gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxMjowMDowMCcpO1xyXG4gICAgLy8gZXZlbnR0aHJlZS5mcm9tU3RyaW5nID0gXCIwOTowMCBBTVwiO1xyXG4gICAgLy8gZXZlbnR0aHJlZS50b1N0cmluZyA9IFwiMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW50dGhyZWUuZnJvbVRvUmVwcmVzZW50YXRpb24gPSBcIjA5OjAwIEFNIC0gMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW50dGhyZWUuZGVzY3JpcHRpb24gPSBcIk1vcmdlbiB2YW4gOS4wMC0gMTIuMDAgdXVyXCI7XHJcbiAgICAvL1xyXG4gICAgLy8gY29uc3QgZXZlbmZvdXIgPSBuZXcgQWdlbmRhRXZlbnQoKTtcclxuICAgIC8vIGV2ZW5mb3VyLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgIC8vIGV2ZW5mb3VyLnNob3dDaGVja2JveCA9IHRydWU7XHJcbiAgICAvLyBldmVuZm91ci5kcmFnZ2FibGUgPSBmYWxzZTtcclxuICAgIC8vIGV2ZW5mb3VyLmlkID0gODtcclxuICAgIC8vIGV2ZW5mb3VyLmRheVBhcnRObyA9IDI7XHJcbiAgICAvLyBldmVuZm91ci5kYXRlID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDA6MDA6MDAnKTtcclxuICAgIC8vIGV2ZW5mb3VyLmZyb20gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxMjowMDowMCcpO1xyXG4gICAgLy8gZXZlbmZvdXIudG8gPSBuZXcgRGF0ZSgnMjAyNC0xMC0yMVQxNTowMDowMCcpO1xyXG4gICAgLy8gZXZlbmZvdXIuZnJvbVN0cmluZyA9IFwiMTI6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW5mb3VyLnRvU3RyaW5nID0gXCIwMzowMCBQTVwiO1xyXG4gICAgLy8gZXZlbmZvdXIuZnJvbVRvUmVwcmVzZW50YXRpb24gPSBcIjEyOjAwIFBNIC0gMDM6MDAgUE1cIjtcclxuICAgIC8vIGV2ZW5mb3VyLmRlc2NyaXB0aW9uID0gXCJIZWxlIGRhZ1wiO1xyXG4gICAgLy9cclxuICAgIC8vIGNvbnN0IHRlc3REYXRhID0gbmV3IEFnZW5kYUV2ZW50UGVyRGF5KCk7XHJcbiAgICAvLyB0ZXN0RGF0YS5kYXRlID0gbmV3IERhdGUoJzIwMjQtMTAtMjFUMDA6MDA6MDAnKTtcclxuICAgIC8vIHRlc3REYXRhLmV2ZW50cy5wdXNoKGV2ZW50b25lKTtcclxuICAgIC8vIHRlc3REYXRhLmV2ZW50cy5wdXNoKGV2ZW50d28pO1xyXG4gICAgLy9cclxuICAgIC8vIGNvbnN0IHRlc3REYXRhVHdvID0gbmV3IEFnZW5kYUV2ZW50UGVyRGF5KCk7XHJcbiAgICAvLyB0ZXN0RGF0YVR3by5kYXRlID0gbmV3IERhdGUoJzIwMjQtMTEtMjFUMDA6MDA6MDAnKTtcclxuICAgIC8vIHRlc3REYXRhVHdvLmV2ZW50cy5wdXNoKGV2ZW50dGhyZWUpO1xyXG4gICAgLy8gdGVzdERhdGFUd28uZXZlbnRzLnB1c2goZXZlbmZvdXIpO1xyXG4gICAgLy9cclxuICAgIC8vIHRoaXMuZXZlbnRzLnB1c2godGVzdERhdGEpO1xyXG4gICAgLy8gdGhpcy5ldmVudHMucHVzaCh0ZXN0RGF0YVR3byk7XHJcblxyXG4gICAgaWYgKHRoaXMuZXZlbnRzUGVyRGF5KSB7XHJcbiAgICAgIHRoaXMuZXZlbnRzID0gdGhpcy5ldmVudHNQZXJEYXk7XHJcbiAgICAgIGlmICh0aGlzLmV2ZW50c1BlckRheS5sZW5ndGggPD0gdGhpcy5saW1pdCkge1xyXG4gICAgICAgIHRoaXMubW9yZUxvYWRhYmxlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9wdGlvblNlbGVjdChldmVudDogYm9vbGVhbiwgc2VsZWN0ZWRPcHRpb246IEFnZW5kYUV2ZW50LCBkYXRlOiBEYXRlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmV2ZW50cy5mb3JFYWNoKGRheSA9PiB7XHJcbiAgICAgIGRheS5ldmVudHMuZm9yRWFjaChvcHQgPT4gb3B0LmNoZWNrZWQgPSBmYWxzZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB0YXJnZXQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2ZW50LScgKyBpbmRleCk7XHJcbiAgICBjb25zdCBvbGRlckl0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZXZlbnRPcHRpb24nKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2xkZXJJdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBvbGRlckl0ZW1zW2ldLmNsYXNzTGlzdC5yZW1vdmUoJ2RheS1zZWxlY3RlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBzZWxlY3RlZE9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IHNlbGVjdGVkT3B0aW9uO1xyXG5cclxuICAgICAgY29uc3QgYWdlbmRhRXZlbnRQZXJEYXk6IEFnZW5kYUV2ZW50UGVyRGF5ID0gbmV3IEFnZW5kYUV2ZW50UGVyRGF5KCk7XHJcbiAgICAgIGFnZW5kYUV2ZW50UGVyRGF5LmRhdGUgPSBkYXRlO1xyXG4gICAgICBhZ2VuZGFFdmVudFBlckRheS5ldmVudHMucHVzaChzZWxlY3RlZE9wdGlvbik7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChhZ2VuZGFFdmVudFBlckRheSk7XHJcblxyXG4gICAgICB0YXJnZXQ/LmNsYXNzTGlzdC5hZGQoJ2RheS1zZWxlY3RlZCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IG51bGw7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChudWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkTW9yZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubGltaXQgPSB0aGlzLmxpbWl0ICs9IDQ7XHJcbiAgICBpZiAodGhpcy5ldmVudHNQZXJEYXkubGVuZ3RoIDw9IHRoaXMubGltaXQpIHtcclxuICAgICAgdGhpcy5tb3JlTG9hZGFibGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIl19
|