master-control 0.3.90 → 0.3.92
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/esm2022/lib/amount-textbox/amount-textbox.component.mjs +22 -17
- package/esm2022/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/lib/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/master-control.component.mjs +2 -2
- package/esm2022/lib/medial-questions/medial-questions.component.mjs +26 -4
- package/esm2022/lib/mob-number/mob-number.component.mjs +38 -7
- package/esm2022/lib/multiple-select/multiple-select.component.mjs +3 -3
- package/esm2022/lib/upload/upload.component.mjs +3 -3
- package/fesm2022/master-control.mjs +100 -44
- package/fesm2022/master-control.mjs.map +1 -1
- package/lib/amount-textbox/amount-textbox.component.d.ts +0 -1
- package/lib/medial-questions/medial-questions.component.d.ts +3 -2
- package/lib/mob-number/mob-number.component.d.ts +7 -0
- package/master-control-0.3.92.tgz +0 -0
- package/package.json +1 -1
- package/master-control-0.3.90.tgz +0 -0
|
@@ -126,7 +126,7 @@ export class UploadComponent {
|
|
|
126
126
|
useExisting: UploadComponent,
|
|
127
127
|
multi: true
|
|
128
128
|
}
|
|
129
|
-
], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"
|
|
129
|
+
], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n />\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn\"\r\n (click)=\"triggerFileInput()\"\r\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [disabled]=\"field()?.isDisable\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <ng-container *ngIf=\"field()?.label && !hasFiles(); else fileUploadedTemplate\">\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.placeHolder }}</span>\r\n </span>\r\n </ng-container>\r\n <ng-template #fileUploadedTemplate>\r\n <div *ngFor=\"let file of uploadedFiles; let i = index\" class=\"uploaded-file d-flex gap-4\" style=\"transform: translate(0px, -3px);\">\r\n <span class=\"mt-2 right-icon\" style=\" white-space: nowrap !important;\r\n overflow: hidden !important;\r\n text-overflow: ellipsis !important;\">\r\n <span><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span [title]=\"file.name\">{{ file.name }}</span>\r\n </span>\r\n <div class=\"mt-2 left-icon\">\r\n <span (click)=\"previewFile(file, i);$event.stopPropagation()\"><img src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\" alt=\"\"/></span>\r\n <span (click)=\"removeFile(i, $event);$event.stopPropagation()\" style=\"cursor: pointer;\">\r\n <img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"/>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </button>\r\n <div class=\"upload-info\" *ngIf=\"field() && field()?.isVisible && field()?.configData?.subText\">{{field()?.configData?.subText}}</div>\r\n", styles: ["*{font-family:mulish!important}.field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.upload-label{opacity:1}.upload-btn{width:100%!important;height:48px!important;padding:10px;border-radius:.5rem}.upload-btn{width:var(--upload-width , 100%)!important;border-radius:var(--upload-border-radius , 8px)!important}.lightbackground{border-color:#999;border-width:1px;border-style:dashed;background:#fff;color:#444;font-size:14px;font-weight:700}.lightbackground{border-color:var(--upload-border-color , #999)!important;border-width:var(--upload-border-width , 1px)!important;border-style:var(--upload-border-style , dashed)!important;background:var(--upload-background-color , #ffffff)!important}.successBackground{border-color:var(--upload-focus-border-color , #ddd)!important;background:var(--upload-focus-background-color , #fafafa)!important;color:var(--upload-focus-font-color , #444)!important}.successBackground{border:1px dashed #ddd;background:#fafafa;color:#444;display:flex;justify-content:space-between}.upload-icon{display:flex;justify-content:center;gap:7px}.upload-text{color:#444!important;font-weight:700!important;font-size:14px!important}.upload-text{color:var(--upload-font-color , #444)!important;font-size:var( --upload-font-size , 14px)!important;font-weight:var(--upload-font-weight , 700)!important}.right-icon{display:flex;gap:10px;margin-left:.5em}.left-icon{display:flex;gap:15px;margin-right:1em}.upload-info{font-size:10px;font-weight:500;font-family:Mulish!important;letter-spacing:0px;color:#444}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
130
130
|
}
|
|
131
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadComponent, decorators: [{
|
|
132
132
|
type: Component,
|
|
@@ -140,7 +140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
140
140
|
useExisting: UploadComponent,
|
|
141
141
|
multi: true
|
|
142
142
|
}
|
|
143
|
-
], template: "<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"
|
|
143
|
+
], template: "<label class=\"field-lable upload-label\" *ngIf=\"field() && field()?.isVisible && field()?.isShowLabel\">{{field()?.label}}<span style=\"color: red\" *ngIf=\"field() && field()?.validators?.isRequired\">*</span></label>\r\n @if(reactiveFormControlobject()) {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n [formControl]=\"reactiveFormControlobject()\"\r\n />\r\n }@else {\r\n <input\r\n hidden\r\n [type]=\"field()?.controlType\"\r\n [name]=\"field()?.fieldName\"\r\n [id]=\"field()?.fieldName\"\r\n [multiple]=\"field()?.configData?.multiple\"\r\n [accept]=\"field()?.configData?.accept\"\r\n #fileInput\r\n (change)=\"onFileSelected($event)\"\r\n (click)=\"fileInput.value = ''\"\r\n [required]=\"field()?.validators?.isRequired\"\r\n [disabled]=\"field()?.isDisable\"\r\n />\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"upload-btn\"\r\n (click)=\"triggerFileInput()\"\r\n [ngClass]=\"field()?.label ? 'lightbackground' : 'successBackground'\"\r\n *ngIf=\"field() && field()?.isVisible\"\r\n [disabled]=\"field()?.isDisable\"\r\n [ngStyle]=\"{\r\n'--upload-width': field()?.controlStyle?.width ,\r\n'--upload-border-radius': field()?.controlStyle?.borderRadius ,\r\n'--upload-border-color': field()?.controlStyle?.borderColor ,\r\n'--upload-border-width': field()?.controlStyle?.borderWidth ,\r\n'--upload-border-style': field()?.controlStyle?.borderStyle ,\r\n'--upload-background-color': field()?.controlStyle?.background ,\r\n'--upload-focus-border-color': field()?.controlStyle?.focusBorderColor ,\r\n'--upload-focus-background-color': field()?.controlStyle?.focusBackground ,\r\n}\"\r\n >\r\n <ng-container *ngIf=\"field()?.label && !hasFiles(); else fileUploadedTemplate\">\r\n <span class=\"upload-icon\">\r\n <span\r\n ><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span class=\"upload-text\" [ngStyle]=\"{\r\n'--upload-font-color': field()?.controlStyle?.color ,\r\n'--upload-font-size': field()?.controlStyle?.fontSize ,\r\n'--upload-font-weight': field()?.controlStyle?.fontWeight,\r\n'--upload-focus-font-color': field()?.controlStyle?.focusColor ,\r\n}\">{{ field()?.placeHolder }}</span>\r\n </span>\r\n </ng-container>\r\n <ng-template #fileUploadedTemplate>\r\n <div *ngFor=\"let file of uploadedFiles; let i = index\" class=\"uploaded-file d-flex gap-4\" style=\"transform: translate(0px, -3px);\">\r\n <span class=\"mt-2 right-icon\" style=\" white-space: nowrap !important;\r\n overflow: hidden !important;\r\n text-overflow: ellipsis !important;\">\r\n <span><img [src]=\"field()?.imageUrl\" alt=\"\"/></span>\r\n <span [title]=\"file.name\">{{ file.name }}</span>\r\n </span>\r\n <div class=\"mt-2 left-icon\">\r\n <span (click)=\"previewFile(file, i);$event.stopPropagation()\"><img src=\"https://cdn.godigit.com/retail-life/visibility-oui.svg\" alt=\"\"/></span>\r\n <span (click)=\"removeFile(i, $event);$event.stopPropagation()\" style=\"cursor: pointer;\">\r\n <img src=\"https://cdn.godigit.com/retail-life/delete-oui.svg\" alt=\"\"/>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </button>\r\n <div class=\"upload-info\" *ngIf=\"field() && field()?.isVisible && field()?.configData?.subText\">{{field()?.configData?.subText}}</div>\r\n", styles: ["*{font-family:mulish!important}.field-lable{font-size:12px!important;font-weight:700!important;color:#444!important;margin-bottom:0!important}.upload-label{opacity:1}.upload-btn{width:100%!important;height:48px!important;padding:10px;border-radius:.5rem}.upload-btn{width:var(--upload-width , 100%)!important;border-radius:var(--upload-border-radius , 8px)!important}.lightbackground{border-color:#999;border-width:1px;border-style:dashed;background:#fff;color:#444;font-size:14px;font-weight:700}.lightbackground{border-color:var(--upload-border-color , #999)!important;border-width:var(--upload-border-width , 1px)!important;border-style:var(--upload-border-style , dashed)!important;background:var(--upload-background-color , #ffffff)!important}.successBackground{border-color:var(--upload-focus-border-color , #ddd)!important;background:var(--upload-focus-background-color , #fafafa)!important;color:var(--upload-focus-font-color , #444)!important}.successBackground{border:1px dashed #ddd;background:#fafafa;color:#444;display:flex;justify-content:space-between}.upload-icon{display:flex;justify-content:center;gap:7px}.upload-text{color:#444!important;font-weight:700!important;font-size:14px!important}.upload-text{color:var(--upload-font-color , #444)!important;font-size:var( --upload-font-size , 14px)!important;font-weight:var(--upload-font-weight , 700)!important}.right-icon{display:flex;gap:10px;margin-left:.5em}.left-icon{display:flex;gap:15px;margin-right:1em}.upload-info{font-size:10px;font-weight:500;font-family:Mulish!important;letter-spacing:0px;color:#444}\n"] }]
|
|
144
144
|
}], ctorParameters: () => [{ type: i1.MasterControlService }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }], propDecorators: { fileInput: [{
|
|
145
145
|
type: ViewChild,
|
|
146
146
|
args: ['fileInput']
|
|
@@ -151,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
151
151
|
}], filePreview: [{
|
|
152
152
|
type: Output
|
|
153
153
|
}] } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsWUFBWSxFQUFxRCxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEssT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFvQjlFLE1BQU0sT0FBTyxlQUFlO0lBRVA7SUFBNkM7SUFDekQ7SUFGUCxxQkFBcUIsR0FBRyxLQUFLLEVBQU8sQ0FBQztJQUNyQyxZQUFtQixhQUFvQyxFQUFTLE1BQXNCLEVBQy9FLFFBQTZCO1FBRGpCLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQy9FLGFBQVEsR0FBUixRQUFRLENBQXFCO0lBQUUsQ0FBQztJQUN2QyxLQUFLLEdBQVMsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ3BDLHlCQUF5QixHQUFTLEtBQUssRUFBTyxDQUFDO0lBRXZCLFNBQVMsQ0FBZ0M7SUFFdkQsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDMUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFpQyxDQUFDO0lBQ2hFLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FB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LFNBQVM7dUJBQUMsV0FBVztnQkFFWixZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudFJlZiwgRW52aXJvbm1lbnRJbmplY3RvciwgQXBwbGljYXRpb25SZWYsIGNyZWF0ZUNvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXN0ZXJDb250cm9sU2VydmljZSB9IGZyb20gJy4uL21hc3Rlci1jb250cm9sLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGaWxlUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2ZpbGUtcHJldmlldy9maWxlLXByZXZpZXcuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXVwbG9hZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi91cGxvYWQuY29tcG9uZW50LmNzcycsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBkb2N1bWVudFVwbG9hZGVyRmllbGQgPSBpbnB1dDxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IocHVibGljIG1hc3RlclNlcnZpY2UgOiBNYXN0ZXJDb250cm9sU2VydmljZSwgcHVibGljIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgcHVibGljIGluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yKXt9XHJcbiAgZmllbGQgOiBhbnkgPSBpbnB1dC5yZXF1aXJlZDxhbnk+KCk7XHJcbiAgcmVhY3RpdmVGb3JtQ29udHJvbG9iamVjdCA6IGFueSA9IGlucHV0PGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgQE91dHB1dCgpIGZpbGVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xyXG4gIEBPdXRwdXQoKSBmaWxlUmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBmaWxlOiBGaWxlLCBpbmRleDogbnVtYmVyIH0+KCk7XHJcbiAgQE91dHB1dCgpIGZpbGVQcmV2aWV3ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGZpbGU6IEZpbGUsIGluZGV4OiBudW1iZXIgfT4oKTtcclxuICBwdWJsaWMgZmlsZVByZXZpZXdSZWY6IENvbXBvbmVudFJlZjxGaWxlUHJldmlld0NvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBwcm9wZXJ0aWVzXHJcbiAgdXBsb2FkZWRGaWxlczogRmlsZVtdID0gW107XHJcbiAgdmFsdWU6IGFueSA9IG51bGw7XHJcbiAgX29uQ2hhbmdlOiBhbnkgPSAodmFsdWU6IGFueSkgPT4ge307XHJcbiAgX29uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XHJcbiAgZGlzYWJsZWQ6IGFueSA9IGZhbHNlO1xyXG5cclxuICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRhdGlvblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgICBpZiAob2JqICYmIEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSBvYmo7XHJcbiAgICB9IGVsc2UgaWYgKG9iaikge1xyXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSBbb2JqXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGFueSkge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBGaWxlIHVwbG9hZCBoYW5kbGluZ1xyXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGZpbGVzID0gZXZlbnQudGFyZ2V0LmZpbGVzO1xyXG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHRoaXMuZmllbGQoKT8ubXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSBBcnJheS5mcm9tKGZpbGVzKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy51cGxvYWRlZEZpbGVzO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtmaWxlc1swXV07XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGZpbGVzWzBdO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy51cGxvYWRlZEZpbGVzKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUZpbGUoaW5kZXg6IGFueSwgZXZlbnQ/OiBFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gICAgY29uc3QgcmVtb3ZlZEZpbGUgPSB0aGlzLnVwbG9hZGVkRmlsZXNbaW5kZXhdO1xyXG4gICAgdGhpcy51cGxvYWRlZEZpbGVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICBpZiAodGhpcy5maWVsZCgpPy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gWy4uLnRoaXMudXBsb2FkZWRGaWxlc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy51cGxvYWRlZEZpbGVzLmxlbmd0aCA+IDAgPyB0aGlzLnVwbG9hZGVkRmlsZXNbMF0gOiBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmZpbGVSZW1vdmVkLmVtaXQoeyBmaWxlOiByZW1vdmVkRmlsZSwgaW5kZXggfSk7XHJcbiAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHRoaXMudXBsb2FkZWRGaWxlcyk7XHJcbiAgfVxyXG5cclxuICBoYXNGaWxlcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMudXBsb2FkZWRGaWxlcy5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlckZpbGVJbnB1dCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbGVJbnB1dCkge1xyXG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxucHJldmlld0ZpbGUoZmlsZTogRmlsZSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlUHJldmlld1JlZiA9IGNyZWF0ZUNvbXBvbmVudChGaWxlUHJldmlld0NvbXBvbmVudCwge1xyXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiB0aGlzLmluamVjdG9yXHJcbiAgICB9KTtcclxuICAgIHRoaXMuZmlsZVByZXZpZXdSZWYuc2V0SW5wdXQoJ2ZpZWxkJywgdGhpcy5maWVsZCgpKTtcclxuICAgIHRoaXMuZmlsZVByZXZpZXdSZWYuc2V0SW5wdXQoJ2ZpbGUnLCBmaWxlKTtcclxuICAgIHRoaXMuZmlsZVByZXZpZXdSZWYuaW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VGaWxlUHJldmlldygpO1xyXG4gICAgfSk7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuZmlsZVByZXZpZXdSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuZmlsZVByZXZpZXdSZWYuaG9zdFZpZXcpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VGaWxlUHJldmlldygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbGVQcmV2aWV3UmVmKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmZpbGVQcmV2aWV3UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHtcclxuICAgICAgICBlbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmZpbGVQcmV2aWV3UmVmLmhvc3RWaWV3KTtcclxuICAgICAgdGhpcy5maWxlUHJldmlld1JlZi5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuZmlsZVByZXZpZXdSZWYgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlRmlsZVByZXZpZXcoKTtcclxuICB9XHJcbn1cclxuIiwiPGxhYmVsIGNsYXNzPVwiZmllbGQtbGFibGUgdXBsb2FkLWxhYmVsXCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZSAmJiBmaWVsZCgpPy5pc1Nob3dMYWJlbFwiPnt7ZmllbGQoKT8ubGFiZWx9fTxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZFwiICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gIEBpZihyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KCkpIHtcclxuICA8aW5wdXRcclxuICAgIGhpZGRlblxyXG4gICAgW3R5cGVdPVwiZmllbGQoKT8uY29udHJvbFR5cGVcIlxyXG4gICAgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcclxuICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxyXG4gICAgW211bHRpcGxlXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/Lm11bHRpcGxlXCJcclxuICAgIFthY2NlcHRdPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uYWNjZXB0XCJcclxuICAgICNmaWxlSW5wdXRcclxuICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAoY2xpY2spPVwiZmlsZUlucHV0LnZhbHVlID0gJydcIlxyXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIlxyXG4gIC8+XHJcbiAgfUBlbHNlIHtcclxuICA8aW5wdXRcclxuICAgIGhpZGRlblxyXG4gICAgW3R5cGVdPVwiZmllbGQoKT8uY29udHJvbFR5cGVcIlxyXG4gICAgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcclxuICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxyXG4gICAgW211bHRpcGxlXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/Lm11bHRpcGxlXCJcclxuICAgIFthY2NlcHRdPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uYWNjZXB0XCJcclxuICAgICNmaWxlSW5wdXRcclxuICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAoY2xpY2spPVwiZmlsZUlucHV0LnZhbHVlID0gJydcIlxyXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAvPlxyXG4gIH1cclxuICA8YnV0dG9uXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwidXBsb2FkLWJ0blwiXHJcbiAgICAoY2xpY2spPVwidHJpZ2dlckZpbGVJbnB1dCgpXCJcclxuICAgIFtuZ0NsYXNzXT1cImZpZWxkKCk/LmxhYmVsID8gJ2xpZ2h0YmFja2dyb3VuZCcgOiAnc3VjY2Vzc0JhY2tncm91bmQnXCJcclxuICAgICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICBbbmdTdHlsZV09XCJ7XHJcbictLXVwbG9hZC13aWR0aCc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8ud2lkdGggLFxyXG4nLS11cGxvYWQtYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzICxcclxuJy0tdXBsb2FkLWJvcmRlci1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyQ29sb3IgLFxyXG4nLS11cGxvYWQtYm9yZGVyLXdpZHRoJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJXaWR0aCAsXHJcbictLXVwbG9hZC1ib3JkZXItc3R5bGUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlclN0eWxlICxcclxuJy0tdXBsb2FkLWJhY2tncm91bmQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJhY2tncm91bmQgLFxyXG4nLS11cGxvYWQtZm9jdXMtYm9yZGVyLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlckNvbG9yICxcclxuJy0tdXBsb2FkLWZvY3VzLWJhY2tncm91bmQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQmFja2dyb3VuZCAsXHJcbn1cIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZCgpPy5sYWJlbCAmJiAhaGFzRmlsZXMoKTsgZWxzZSBmaWxlVXBsb2FkZWRUZW1wbGF0ZVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1pY29uXCI+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgID48aW1nIFtzcmNdPVwiZmllbGQoKT8uaW1hZ2VVcmxcIiBhbHQ9XCJcIi8+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidXBsb2FkLXRleHRcIiBbbmdTdHlsZV09XCJ7XHJcbictLXVwbG9hZC1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvciAsXHJcbictLXVwbG9hZC1mb250LXNpemUnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRTaXplICxcclxuJy0tdXBsb2FkLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0LFxyXG4nLS11cGxvYWQtZm9jdXMtZm9udC1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNDb2xvciAsXHJcbn1cIj57eyBmaWVsZCgpPy5wbGFjZUhvbGRlciB9fTwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2ZpbGVVcGxvYWRlZFRlbXBsYXRlPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWxlIG9mIHVwbG9hZGVkRmlsZXM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInVwbG9hZGVkLWZpbGUgZC1mbGV4IGdhcC00XCIgc3R5bGU9XCJ0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC0zcHgpO1wiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMiByaWdodC1pY29uXCIgc3R5bGU9XCIgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcIj5cclxuICAgICAgICAgIDxzcGFuPjxpbWcgW3NyY109XCJmaWVsZCgpPy5pbWFnZVVybFwiIGFsdD1cIlwiLz48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwiZmlsZS5uYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMiBsZWZ0LWljb25cIj5cclxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJwcmV2aWV3RmlsZShmaWxlLCBpKTskZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj48aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL3Zpc2liaWxpdHktb3VpLnN2Z1wiIGFsdD1cIlwiLz48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAoY2xpY2spPVwicmVtb3ZlRmlsZShpLCAkZXZlbnQpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL2RlbGV0ZS1vdWkuc3ZnXCIgYWx0PVwiXCIvPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9idXR0b24+XHJcbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1pbmZvXCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LmlzVmlzaWJsZSAmJiBmaWVsZCgpPy5jb25maWdEYXRhPy5zdWJUZXh0XCI+e3tmaWVsZCgpPy5jb25maWdEYXRhPy5zdWJUZXh0fX08L2Rpdj5cclxuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsWUFBWSxFQUFxRCxlQUFlLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFMUssT0FBTyxFQUF3QixXQUFXLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFvQjlFLE1BQU0sT0FBTyxlQUFlO0lBRVA7SUFBNkM7SUFDekQ7SUFGUCxxQkFBcUIsR0FBRyxLQUFLLEVBQU8sQ0FBQztJQUNyQyxZQUFtQixhQUFvQyxFQUFTLE1BQXNCLEVBQy9FLFFBQTZCO1FBRGpCLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQy9FLGFBQVEsR0FBUixRQUFRLENBQXFCO0lBQUUsQ0FBQztJQUN2QyxLQUFLLEdBQVMsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBQ3BDLHlCQUF5QixHQUFTLEtBQUssRUFBTyxDQUFDO0lBRXZCLFNBQVMsQ0FBZ0M7SUFFdkQsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDMUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFpQyxDQUFDO0lBQ2hFLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FB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LFNBQVM7dUJBQUMsV0FBVztnQkFFWixZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudFJlZiwgRW52aXJvbm1lbnRJbmplY3RvciwgQXBwbGljYXRpb25SZWYsIGNyZWF0ZUNvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpbGVQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vZmlsZS1wcmV2aWV3L2ZpbGUtcHJldmlldy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdXBsb2FkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3VwbG9hZC5jb21wb25lbnQuY3NzJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBVcGxvYWRDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIGRvY3VtZW50VXBsb2FkZXJGaWVsZCA9IGlucHV0PGFueT4oKTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFzdGVyU2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlLCBwdWJsaWMgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICBwdWJsaWMgaW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3Ipe31cclxuICBmaWVsZCA6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuICByZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0IDogYW55ID0gaW5wdXQ8YW55PigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG5cclxuICBAT3V0cHV0KCkgZmlsZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10+KCk7XHJcbiAgQE91dHB1dCgpIGZpbGVSZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGZpbGU6IEZpbGUsIGluZGV4OiBudW1iZXIgfT4oKTtcclxuICBAT3V0cHV0KCkgZmlsZVByZXZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZmlsZTogRmlsZSwgaW5kZXg6IG51bWJlciB9PigpO1xyXG4gIHB1YmxpYyBmaWxlUHJldmlld1JlZjogQ29tcG9uZW50UmVmPEZpbGVQcmV2aWV3Q29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xyXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHByb3BlcnRpZXNcclxuICB1cGxvYWRlZEZpbGVzOiBGaWxlW10gPSBbXTtcclxuICB2YWx1ZTogYW55ID0gbnVsbDtcclxuICBfb25DaGFuZ2U6IGFueSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBfb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuICBkaXNhYmxlZDogYW55ID0gZmFsc2U7XHJcblxyXG4gIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IG9iajtcclxuICAgIGlmIChvYmogJiYgQXJyYXkuaXNBcnJheShvYmopKSB7XHJcbiAgICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IG9iajtcclxuICAgIH0gZWxzZSBpZiAob2JqKSB7XHJcbiAgICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtvYmpdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51cGxvYWRlZEZpbGVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYW55KSB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8vIEZpbGUgdXBsb2FkIGhhbmRsaW5nXHJcbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgZmlsZXMgPSBldmVudC50YXJnZXQuZmlsZXM7XHJcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBpZiAodGhpcy5maWVsZCgpPy5tdWx0aXBsZSkge1xyXG4gICAgICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IEFycmF5LmZyb20oZmlsZXMpO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnVwbG9hZGVkRmlsZXM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVzID0gW2ZpbGVzWzBdXTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZmlsZXNbMF07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWxlc0NoYW5nZWQuZW1pdCh0aGlzLnVwbG9hZGVkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmlsZShpbmRleDogYW55LCBldmVudD86IEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcbiAgICBjb25zdCByZW1vdmVkRmlsZSA9IHRoaXMudXBsb2FkZWRGaWxlc1tpbmRleF07XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIGlmICh0aGlzLmZpZWxkKCk/Lm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBbLi4udGhpcy51cGxvYWRlZEZpbGVzXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnVwbG9hZGVkRmlsZXMubGVuZ3RoID4gMCA/IHRoaXMudXBsb2FkZWRGaWxlc1swXSA6IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuZmlsZVJlbW92ZWQuZW1pdCh7IGZpbGU6IHJlbW92ZWRGaWxlLCBpbmRleCB9KTtcclxuICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy51cGxvYWRlZEZpbGVzKTtcclxuICB9XHJcblxyXG4gIGhhc0ZpbGVzKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy51cGxvYWRlZEZpbGVzLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICB0cmlnZ2VyRmlsZUlucHV0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB7XHJcbiAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5wcmV2aWV3RmlsZShmaWxlOiBGaWxlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVQcmV2aWV3UmVmID0gY3JlYXRlQ29tcG9uZW50KEZpbGVQcmV2aWV3Q29tcG9uZW50LCB7XHJcbiAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuaW5qZWN0b3JcclxuICAgIH0pO1xyXG4gICAgdGhpcy5maWxlUHJldmlld1JlZi5zZXRJbnB1dCgnZmllbGQnLCB0aGlzLmZpZWxkKCkpO1xyXG4gICAgdGhpcy5maWxlUHJldmlld1JlZi5zZXRJbnB1dCgnZmlsZScsIGZpbGUpO1xyXG4gICAgdGhpcy5maWxlUHJldmlld1JlZi5pbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZUZpbGVQcmV2aWV3KCk7XHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5maWxlUHJldmlld1JlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5maWxlUHJldmlld1JlZi5ob3N0Vmlldyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUZpbGVQcmV2aWV3KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsZVByZXZpZXdSZWYpIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZmlsZVByZXZpZXdSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgICAgaWYgKGVsZW1lbnQucGFyZW50Tm9kZSkge1xyXG4gICAgICAgIGVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFwcFJlZi5kZXRhY2hWaWV3KHRoaXMuZmlsZVByZXZpZXdSZWYuaG9zdFZpZXcpO1xyXG4gICAgICB0aGlzLmZpbGVQcmV2aWV3UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5maWxlUHJldmlld1JlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VGaWxlUHJldmlldygpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgY2xhc3M9XCJmaWVsZC1sYWJsZSB1cGxvYWQtbGFiZWxcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlICYmIGZpZWxkKCk/LmlzU2hvd0xhYmVsXCI+e3tmaWVsZCgpPy5sYWJlbH19PHNwYW4gc3R5bGU9XCJjb2xvcjogcmVkXCIgKm5nSWY9XCJmaWVsZCgpICYmIGZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgQGlmKHJlYWN0aXZlRm9ybUNvbnRyb2xvYmplY3QoKSkge1xyXG4gIDxpbnB1dFxyXG4gICAgaGlkZGVuXHJcbiAgICBbdHlwZV09XCJmaWVsZCgpPy5jb250cm9sVHlwZVwiXHJcbiAgICBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxyXG4gICAgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXHJcbiAgICBbbXVsdGlwbGVdPVwiZmllbGQoKT8uY29uZmlnRGF0YT8ubXVsdGlwbGVcIlxyXG4gICAgW2FjY2VwdF09XCJmaWVsZCgpPy5jb25maWdEYXRhPy5hY2NlcHRcIlxyXG4gICAgI2ZpbGVJbnB1dFxyXG4gICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgIChjbGljayk9XCJmaWxlSW5wdXQudmFsdWUgPSAnJ1wiXHJcbiAgICBbcmVxdWlyZWRdPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZmllbGQoKT8uaXNEaXNhYmxlXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIlxyXG4gIC8+XHJcbiAgfUBlbHNlIHtcclxuICA8aW5wdXRcclxuICAgIGhpZGRlblxyXG4gICAgW3R5cGVdPVwiZmllbGQoKT8uY29udHJvbFR5cGVcIlxyXG4gICAgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcclxuICAgIFtpZF09XCJmaWVsZCgpPy5maWVsZE5hbWVcIlxyXG4gICAgW211bHRpcGxlXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/Lm11bHRpcGxlXCJcclxuICAgIFthY2NlcHRdPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uYWNjZXB0XCJcclxuICAgICNmaWxlSW5wdXRcclxuICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAoY2xpY2spPVwiZmlsZUlucHV0LnZhbHVlID0gJydcIlxyXG4gICAgW3JlcXVpcmVkXT1cImZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cImZpZWxkKCk/LmlzRGlzYWJsZVwiXHJcbiAgLz5cclxuICB9XHJcbiAgPGJ1dHRvblxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICBjbGFzcz1cInVwbG9hZC1idG5cIlxyXG4gICAgKGNsaWNrKT1cInRyaWdnZXJGaWxlSW5wdXQoKVwiXHJcbiAgICBbbmdDbGFzc109XCJmaWVsZCgpPy5sYWJlbCA/ICdsaWdodGJhY2tncm91bmQnIDogJ3N1Y2Nlc3NCYWNrZ3JvdW5kJ1wiXHJcbiAgICAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCJcclxuICAgIFtkaXNhYmxlZF09XCJmaWVsZCgpPy5pc0Rpc2FibGVcIlxyXG4gICAgIFtuZ1N0eWxlXT1cIntcclxuJy0tdXBsb2FkLXdpZHRoJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy53aWR0aCAsXHJcbictLXVwbG9hZC1ib3JkZXItcmFkaXVzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMgLFxyXG4nLS11cGxvYWQtYm9yZGVyLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvciAsXHJcbictLXVwbG9hZC1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoICxcclxuJy0tdXBsb2FkLWJvcmRlci1zdHlsZSc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyU3R5bGUgLFxyXG4nLS11cGxvYWQtYmFja2dyb3VuZC1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCAsXHJcbictLXVwbG9hZC1mb2N1cy1ib3JkZXItY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvY3VzQm9yZGVyQ29sb3IgLFxyXG4nLS11cGxvYWQtZm9jdXMtYmFja2dyb3VuZC1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCYWNrZ3JvdW5kICxcclxufVwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkKCk/LmxhYmVsICYmICFoYXNGaWxlcygpOyBlbHNlIGZpbGVVcGxvYWRlZFRlbXBsYXRlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidXBsb2FkLWljb25cIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgPjxpbWcgW3NyY109XCJmaWVsZCgpPy5pbWFnZVVybFwiIGFsdD1cIlwiLz48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cGxvYWQtdGV4dFwiIFtuZ1N0eWxlXT1cIntcclxuJy0tdXBsb2FkLWZvbnQtY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmNvbG9yICxcclxuJy0tdXBsb2FkLWZvbnQtc2l6ZSc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9udFNpemUgLFxyXG4nLS11cGxvYWQtZm9udC13ZWlnaHQnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRXZWlnaHQsXHJcbictLXVwbG9hZC1mb2N1cy1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0NvbG9yICxcclxufVwiPnt7IGZpZWxkKCk/LnBsYWNlSG9sZGVyIH19PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZmlsZVVwbG9hZGVkVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpbGUgb2YgdXBsb2FkZWRGaWxlczsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwidXBsb2FkZWQtZmlsZSBkLWZsZXggZ2FwLTRcIiBzdHlsZT1cInRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTNweCk7XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0yIHJpZ2h0LWljb25cIiBzdHlsZT1cIiB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1wiPlxyXG4gICAgICAgICAgPHNwYW4+PGltZyBbc3JjXT1cImZpZWxkKCk/LmltYWdlVXJsXCIgYWx0PVwiXCIvPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIFt0aXRsZV09XCJmaWxlLm5hbWVcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGxlZnQtaWNvblwiPlxyXG4gICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInByZXZpZXdGaWxlKGZpbGUsIGkpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvdmlzaWJpbGl0eS1vdWkuc3ZnXCIgYWx0PVwiXCIvPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIChjbGljayk9XCJyZW1vdmVGaWxlKGksICRldmVudCk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXI7XCI+XHJcbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvZGVsZXRlLW91aS5zdmdcIiBhbHQ9XCJcIi8+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2J1dHRvbj5cclxuICA8ZGl2IGNsYXNzPVwidXBsb2FkLWluZm9cIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlICYmIGZpZWxkKCk/LmNvbmZpZ0RhdGE/LnN1YlRleHRcIj57e2ZpZWxkKCk/LmNvbmZpZ0RhdGE/LnN1YlRleHR9fTwvZGl2PlxyXG4iXX0=
|