ng-zorro-antd-extension 17.2.0 → 17.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -11
- package/configurable-query/configurable-query.component.d.ts +4 -5
- package/esm2022/acl/nzx-acl.directive.mjs +4 -4
- package/esm2022/acl/nzx-acl.module.mjs +5 -5
- package/esm2022/acl/nzx-acl.service.mjs +4 -4
- package/esm2022/blank-field/blank-field.component.mjs +4 -4
- package/esm2022/blank-field/blank-field.module.mjs +5 -5
- package/esm2022/checkbox/checkbox-group.component.mjs +4 -4
- package/esm2022/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/configurable-query/configurable-query-item/configurable-query-item.component.mjs +4 -4
- package/esm2022/configurable-query/configurable-query.component.mjs +33 -37
- package/esm2022/configurable-query/configurable-query.module.mjs +5 -5
- package/esm2022/configurable-query/control.directive.mjs +4 -4
- package/esm2022/configurable-query/controls/abstract.control.mjs +4 -4
- package/esm2022/configurable-query/controls/date-picker.control.mjs +4 -4
- package/esm2022/configurable-query/controls/input.control.mjs +4 -4
- package/esm2022/configurable-query/controls/range-picker.control.mjs +4 -4
- package/esm2022/configurable-query/controls/select.control.mjs +4 -4
- package/esm2022/configurable-query/controls/template.control.mjs +6 -6
- package/esm2022/configurable-query/query-config.service.mjs +4 -4
- package/esm2022/core/config/config.service.mjs +4 -4
- package/esm2022/editable/editable.component.mjs +4 -4
- package/esm2022/editable/editable.module.mjs +5 -5
- package/esm2022/jigsaw/jigsaw.component.mjs +4 -4
- package/esm2022/jigsaw/jigsaw.module.mjs +5 -5
- package/esm2022/pipes/map.pipe.mjs +4 -4
- package/esm2022/pipes/pipes.module.mjs +5 -5
- package/esm2022/pipes/safe-html.pipe.mjs +4 -4
- package/esm2022/pipes/safe-null.pipe.mjs +4 -4
- package/esm2022/pipes/safe-resource-url.pipe.mjs +4 -4
- package/esm2022/pipes/safe-script.pipe.mjs +4 -4
- package/esm2022/pipes/safe-style.pipe.mjs +4 -4
- package/esm2022/pipes/safe-url.pipe.mjs +4 -4
- package/esm2022/print/nzx-print-content.directive.mjs +4 -4
- package/esm2022/print/nzx-print-v.component.mjs +36 -35
- package/esm2022/print/nzx-print.component.mjs +12 -11
- package/esm2022/print/nzx-print.directive.mjs +6 -5
- package/esm2022/print/nzx-print.module.mjs +5 -5
- package/esm2022/simple-table/directive/expand.directive.mjs +4 -4
- package/esm2022/simple-table/directive/td.directive.mjs +4 -4
- package/esm2022/simple-table/directive/th.directive.mjs +4 -4
- package/esm2022/simple-table/simple-table.component.mjs +4 -4
- package/esm2022/simple-table/simple-table.module.mjs +5 -5
- package/esm2022/table-adaptor/page-table-basic.mjs +4 -4
- package/esm2022/table-adaptor/table-adaptor.directive.mjs +4 -4
- package/esm2022/table-adaptor/table-adaptor.module.mjs +5 -5
- package/esm2022/table-form/directive/table-expand.directive.mjs +4 -4
- package/esm2022/table-form/directive/table-td.directive.mjs +4 -4
- package/esm2022/table-form/directive/table-th.directive.mjs +4 -4
- package/esm2022/table-form/table-form.component.mjs +5 -5
- package/esm2022/table-form/table-form.module.mjs +5 -5
- package/esm2022/table-select/abstract-table-select.mjs +4 -4
- package/esm2022/table-select/key.directive.mjs +4 -4
- package/esm2022/table-select/nzx-table-select.module.mjs +5 -5
- package/esm2022/table-select/page-table-select/page-table-select.component.mjs +4 -4
- package/esm2022/table-select/table-select/table-select.component.mjs +4 -4
- package/esm2022/timer-button/timer-button.directive.mjs +4 -4
- package/esm2022/timer-button/timer-button.module.mjs +5 -5
- package/esm2022/trim/trim.directive.mjs +4 -4
- package/esm2022/trim/trim.module.mjs +5 -5
- package/esm2022/wang-editor/wang-editor.component.mjs +4 -4
- package/esm2022/wang-editor/wang-editor.module.mjs +5 -5
- package/esm2022/wang-editor/wang-toolbar.component.mjs +4 -4
- package/fesm2022/ng-zorro-antd-extension-acl.mjs +10 -10
- package/fesm2022/ng-zorro-antd-extension-acl.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-blank-field.mjs +7 -7
- package/fesm2022/ng-zorro-antd-extension-blank-field.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-checkbox.mjs +7 -7
- package/fesm2022/ng-zorro-antd-extension-checkbox.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs +65 -69
- package/fesm2022/ng-zorro-antd-extension-configurable-query.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-core-config.mjs +3 -3
- package/fesm2022/ng-zorro-antd-extension-core-config.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-editable.mjs +7 -7
- package/fesm2022/ng-zorro-antd-extension-editable.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-jigsaw.mjs +7 -7
- package/fesm2022/ng-zorro-antd-extension-jigsaw.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-pipes.mjs +25 -25
- package/fesm2022/ng-zorro-antd-extension-pipes.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-print.mjs +59 -56
- package/fesm2022/ng-zorro-antd-extension-print.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-simple-table.mjs +16 -16
- package/fesm2022/ng-zorro-antd-extension-simple-table.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-table-adaptor.mjs +10 -10
- package/fesm2022/ng-zorro-antd-extension-table-adaptor.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-table-form.mjs +17 -17
- package/fesm2022/ng-zorro-antd-extension-table-form.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-table-select.mjs +17 -17
- package/fesm2022/ng-zorro-antd-extension-table-select.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-timer-button.mjs +8 -8
- package/fesm2022/ng-zorro-antd-extension-timer-button.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-trim.mjs +9 -9
- package/fesm2022/ng-zorro-antd-extension-trim.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-util.mjs +1 -1
- package/fesm2022/ng-zorro-antd-extension-util.mjs.map +1 -1
- package/fesm2022/ng-zorro-antd-extension-wang-editor.mjs +10 -10
- package/fesm2022/ng-zorro-antd-extension-wang-editor.mjs.map +1 -1
- package/package.json +7 -7
- package/table-select/abstract-table-select.d.ts +1 -1
|
@@ -303,17 +303,17 @@ export class NzxTableFormComponent {
|
|
|
303
303
|
format: item?.format,
|
|
304
304
|
}));
|
|
305
305
|
}
|
|
306
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
307
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
306
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableFormComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
307
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NzxTableFormComponent, selector: "nzx-table-form", inputs: { tableLayout: "tableLayout", tableAlign: "tableAlign", enableExpand: "enableExpand", nzxBordered: "nzxBordered", nzxSize: "nzxSize", enableLimit: "enableLimit", maxLimit: "maxLimit", minLimit: "minLimit", nzxFooter: "nzxFooter", nzxFrontPagination: "nzxFrontPagination", errorTemplate: "errorTemplate", enableNo: "enableNo", serialNumberWidth: "serialNumberWidth", serialNumberTemplate: "serialNumberTemplate", tableValidatorFn: "tableValidatorFn", tableFormConfig: "tableFormConfig" }, outputs: { limitMessage: "limitMessage" }, providers: [
|
|
308
308
|
{
|
|
309
309
|
provide: NG_VALUE_ACCESSOR,
|
|
310
310
|
useExisting: forwardRef(() => NzxTableFormComponent),
|
|
311
311
|
multi: true,
|
|
312
312
|
},
|
|
313
313
|
{ provide: NG_VALIDATORS, useExisting: NzxTableFormComponent, multi: true },
|
|
314
|
-
], queries: [{ propertyName: "tableExpandDirective", first: true, predicate: NzxTableFormExpandDirective, descendants: true }, { propertyName: "tableTdDirectiveList", predicate: NzxTableFormTdDirective }, { propertyName: "tableThDirectiveList", predicate: NzxTableFormThDirective }], exportAs: ["NzxTableForm"], ngImport: i0, template: "<nz-table\n #basicTable\n [formGroup]=\"form\"\n [nzData]=\"formGroupList\"\n [nzTableLayout]=\"tableLayout\"\n [nzFooter]=\"nzxFooter!\"\n [nzBordered]=\"nzxBordered\"\n [nzSize]=\"nzxSize\"\n [nzFrontPagination]=\"nzxFrontPagination\"\n nzHideOnSinglePage\n>\n <thead>\n <ng-content></ng-content>\n <tr>\n <!-- \u5E8F\u53F7\u5217\u6807\u9898 -->\n <th *ngIf=\"enableNo\" [nzAlign]=\"tableAlign\" [nzWidth]=\"serialNumberWidth\">\n <span *ngIf=\"!serialNumberTemplate\"> \u5E8F\u53F7 </span>\n <ng-container *ngIf=\"serialNumberTemplate\">\n <ng-container *ngTemplateOutlet=\"serialNumberTemplate\"></ng-container>\n </ng-container>\n </th>\n <!-- \u8868\u5355\u5217form header -->\n <ng-container *ngFor=\"let item of headerConfig; let index = index\">\n <ng-container *ngIf=\"item.isShow\">\n <th\n *ngIf=\"!item.templateRef\"\n [nzAlign]=\"tableAlign\"\n [nzWidth]=\"item.width!\"\n >\n <label *ngIf=\"item.showRequiredTip\" [ngStyle]=\"{ color: 'red' }\">\n *\n </label>\n {{ item.header }}\n </th>\n <th\n *ngIf=\"item.templateRef\"\n [nzAlign]=\"tableAlign\"\n [nzWidth]=\"item.width!\"\n >\n <ng-container\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index }\"\n >\n </ng-container>\n </th>\n </ng-container>\n </ng-container>\n <!-- \u81EA\u5B9A\u4E49\u5C55\u793A\u5217header -->\n <th\n *ngFor=\"let item of thTemplateOfNullInForm; let i = index\"\n [nzAlign]=\"tableAlign\"\n [nzWidth]=\"item.width!\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: form, index: i, disabled: isDisabled }\n \"\n >\n </ng-container>\n </th>\n </tr>\n </thead>\n\n <tbody formArrayName=\"formArray\">\n <ng-container *ngFor=\"let fg of basicTable.data; let i = index\">\n <tr>\n <!-- \u5E8F\u53F7\u5217 -->\n <td *ngIf=\"enableNo\" [nzAlign]=\"tableAlign\">\n {{ i + 1 }}\n </td>\n <!-- \u8868\u5355\u5217\u5C06\u653E\u8FDBform -->\n <ng-container [formGroup]=\"fg\">\n <ng-container *ngFor=\"let item of tdConfig\">\n <ng-container *ngIf=\"item.isShow\">\n <td *ngIf=\"!item.templateRef\" [nzAlign]=\"tableAlign\">\n <nz-form-item [ngStyle]=\"{ 'margin-bottom': 0 }\">\n <nz-form-control [nzErrorTip]=\"item.errorTip\">\n <input\n *ngIf=\"\n item.type === 'input' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n nz-input\n [placeholder]=\"item.placeholder || '\u8BF7\u8F93\u5165'\"\n [formControlName]=\"item.controlName\"\n [maxlength]=\"item.maxLength!\"\n />\n\n <textarea\n *ngIf=\"\n item.type === 'textarea' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n nz-input\n [nzAutosize]=\"{ minRows: 3 }\"\n [placeholder]=\"item.placeholder || '\u8BF7\u8F93\u5165'\"\n [formControlName]=\"item.controlName\"\n [maxlength]=\"item.maxLength!\"\n ></textarea>\n\n <nz-input-number\n *ngIf=\"\n item.type === 'number' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n [ngStyle]=\"{ width: 'auto' }\"\n [formControlName]=\"item.controlName\"\n [nzMin]=\"1\"\n [nzStep]=\"1\"\n [nzMax]=\"item.max!\"\n [nzPlaceHolder]=\"item.placeholder || '\u8F93\u5165\u6570\u5B57'\"\n >\n </nz-input-number>\n\n <nz-date-picker\n *ngIf=\"\n item.type === 'date' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n [formControlName]=\"item.controlName\"\n >\n </nz-date-picker>\n\n <nz-select\n *ngIf=\"\n item.type === 'select' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n nzShowSearch=\"true\"\n [nzAllowClear]=\"item.allowClear\"\n [formControlName]=\"item.controlName\"\n [nzPlaceHolder]=\"item.placeholder || '\u8BF7\u9009\u62E9'\"\n >\n <nz-option\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n *ngFor=\"let option of item.options\"\n >\n </nz-option>\n </nz-select>\n\n <nz-radio-group\n *ngIf=\"\n item.type === 'radio' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n [formControlName]=\"item.controlName\"\n >\n <label\n *ngFor=\"let option of item.options\"\n nz-radio\n [nzValue]=\"option.value\"\n >\n {{ option.label }}\n </label>\n </nz-radio-group>\n\n <span *ngIf=\"item.controlMode === 'readonly'\">\n <ng-container *ngIf=\"item.format\">\n {{ item.format(fg.get(item.controlName)?.value) }}\n </ng-container>\n <ng-container *ngIf=\"!item.format\">\n {{ fg.get(item.controlName)?.value }}\n </ng-container>\n </span>\n </nz-form-control>\n </nz-form-item>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"item.templateRef\">\n <td *ngIf=\"item.isShow\" [nzAlign]=\"tableAlign\">\n <ng-container\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: fg,\n config: item,\n formControl: fg.get(item.controlName),\n errorTip: item.errorTip,\n index: i,\n disabled: isDisabled\n }\"\n >\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n <!-- \u81EA\u5B9A\u4E49\u5C55\u793A\u5217 -->\n <td *ngFor=\"let item of tdTemplateOfNullInForm\" [nzAlign]=\"tableAlign\">\n <ng-container\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: fg,\n index: i,\n disabled: isDisabled\n }\"\n ></ng-container>\n </td>\n </tr>\n <tr *ngIf=\"enableExpand\" [nzExpand]=\"fg.value.expand\">\n <ng-container\n [ngTemplateOutlet]=\"tableExpandDirective?.templateRef!\"\n [ngTemplateOutletContext]=\"{\n $implicit: fg,\n index: i,\n disabled: isDisabled\n }\"\n >\n </ng-container>\n </tr>\n </ng-container>\n\n <tr *ngIf=\"form.get('formArray')?.errors\" [nzExpand]=\"true\">\n <ng-container\n [ngTemplateOutlet]=\"errorTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: form.get('formArray') }\"\n >\n </ng-container>\n </tr>\n </tbody>\n</nz-table>\n", styles: [""], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i4.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i4.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "component", type: i5.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i5.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i5.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i5.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i5.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i5.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i5.NzTrExpandDirective, selector: "tr[nzExpand]", inputs: ["nzExpand"] }, { kind: "directive", type: i5.NzCellAlignDirective, selector: "th[nzAlign],td[nzAlign]", inputs: ["nzAlign"] }, { kind: "component", type: i5.NzTableFixedRowComponent, selector: "tr[nz-table-fixed-row], tr[nzExpand]" }, { kind: "component", type: i6.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { kind: "component", type: i6.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "directive", type: i7.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i7.NzAutosizeDirective, selector: "textarea[nzAutosize]", inputs: ["nzAutosize"], exportAs: ["nzAutosize"] }, { kind: "component", type: i8.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i8.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: i9.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "component", type: i10.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }] }); }
|
|
314
|
+
], queries: [{ propertyName: "tableExpandDirective", first: true, predicate: NzxTableFormExpandDirective, descendants: true }, { propertyName: "tableTdDirectiveList", predicate: NzxTableFormTdDirective }, { propertyName: "tableThDirectiveList", predicate: NzxTableFormThDirective }], exportAs: ["NzxTableForm"], ngImport: i0, template: "<nz-table\n #basicTable\n [formGroup]=\"form\"\n [nzData]=\"formGroupList\"\n [nzTableLayout]=\"tableLayout\"\n [nzFooter]=\"nzxFooter!\"\n [nzBordered]=\"nzxBordered\"\n [nzSize]=\"nzxSize\"\n [nzFrontPagination]=\"nzxFrontPagination\"\n nzHideOnSinglePage\n>\n <thead>\n <ng-content></ng-content>\n <tr>\n <!-- \u5E8F\u53F7\u5217\u6807\u9898 -->\n <th *ngIf=\"enableNo\" [nzAlign]=\"tableAlign\" [nzWidth]=\"serialNumberWidth\">\n <span *ngIf=\"!serialNumberTemplate\"> \u5E8F\u53F7 </span>\n <ng-container *ngIf=\"serialNumberTemplate\">\n <ng-container *ngTemplateOutlet=\"serialNumberTemplate\"></ng-container>\n </ng-container>\n </th>\n <!-- \u8868\u5355\u5217form header -->\n <ng-container *ngFor=\"let item of headerConfig; let index = index\">\n <ng-container *ngIf=\"item.isShow\">\n <th\n *ngIf=\"!item.templateRef\"\n [nzAlign]=\"tableAlign\"\n [nzWidth]=\"item.width!\"\n >\n <label *ngIf=\"item.showRequiredTip\" [ngStyle]=\"{ color: 'red' }\">\n *\n </label>\n {{ item.header }}\n </th>\n <th\n *ngIf=\"item.templateRef\"\n [nzAlign]=\"tableAlign\"\n [nzWidth]=\"item.width!\"\n >\n <ng-container\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index }\"\n >\n </ng-container>\n </th>\n </ng-container>\n </ng-container>\n <!-- \u81EA\u5B9A\u4E49\u5C55\u793A\u5217header -->\n <th\n *ngFor=\"let item of thTemplateOfNullInForm; let i = index\"\n [nzAlign]=\"tableAlign\"\n [nzWidth]=\"item.width!\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: form, index: i, disabled: isDisabled }\n \"\n >\n </ng-container>\n </th>\n </tr>\n </thead>\n\n <tbody formArrayName=\"formArray\">\n <ng-container *ngFor=\"let fg of basicTable.data; let i = index\">\n <tr>\n <!-- \u5E8F\u53F7\u5217 -->\n <td *ngIf=\"enableNo\" [nzAlign]=\"tableAlign\">\n {{ i + 1 }}\n </td>\n <!-- \u8868\u5355\u5217\u5C06\u653E\u8FDBform -->\n <ng-container [formGroup]=\"fg\">\n <ng-container *ngFor=\"let item of tdConfig\">\n <ng-container *ngIf=\"item.isShow\">\n <td *ngIf=\"!item.templateRef\" [nzAlign]=\"tableAlign\">\n <nz-form-item [ngStyle]=\"{ 'margin-bottom': 0 }\">\n <nz-form-control [nzErrorTip]=\"item.errorTip\">\n <input\n *ngIf=\"\n item.type === 'input' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n nz-input\n [placeholder]=\"item.placeholder || '\u8BF7\u8F93\u5165'\"\n [formControlName]=\"item.controlName\"\n [maxlength]=\"item.maxLength!\"\n />\n\n <textarea\n *ngIf=\"\n item.type === 'textarea' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n nz-input\n [nzAutosize]=\"{ minRows: 3 }\"\n [placeholder]=\"item.placeholder || '\u8BF7\u8F93\u5165'\"\n [formControlName]=\"item.controlName\"\n [maxlength]=\"item.maxLength!\"\n ></textarea>\n\n <nz-input-number\n *ngIf=\"\n item.type === 'number' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n [ngStyle]=\"{ width: 'auto' }\"\n [formControlName]=\"item.controlName\"\n [nzMin]=\"1\"\n [nzStep]=\"1\"\n [nzMax]=\"item.max!\"\n [nzPlaceHolder]=\"item.placeholder || '\u8F93\u5165\u6570\u5B57'\"\n >\n </nz-input-number>\n\n <nz-date-picker\n *ngIf=\"\n item.type === 'date' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n [formControlName]=\"item.controlName\"\n >\n </nz-date-picker>\n\n <nz-select\n *ngIf=\"\n item.type === 'select' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n nzShowSearch=\"true\"\n [nzAllowClear]=\"item.allowClear\"\n [formControlName]=\"item.controlName\"\n [nzPlaceHolder]=\"item.placeholder || '\u8BF7\u9009\u62E9'\"\n >\n <nz-option\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.label\"\n *ngFor=\"let option of item.options\"\n >\n </nz-option>\n </nz-select>\n\n <nz-radio-group\n *ngIf=\"\n item.type === 'radio' &&\n item.controlMode !== 'readonly' &&\n !!item.controlName\n \"\n [formControlName]=\"item.controlName\"\n >\n <label\n *ngFor=\"let option of item.options\"\n nz-radio\n [nzValue]=\"option.value\"\n >\n {{ option.label }}\n </label>\n </nz-radio-group>\n\n <span *ngIf=\"item.controlMode === 'readonly'\">\n <ng-container *ngIf=\"item.format\">\n {{ item.format(fg.get(item.controlName)?.value) }}\n </ng-container>\n <ng-container *ngIf=\"!item.format\">\n {{ fg.get(item.controlName)?.value }}\n </ng-container>\n </span>\n </nz-form-control>\n </nz-form-item>\n </td>\n </ng-container>\n\n <ng-container *ngIf=\"item.templateRef\">\n <td *ngIf=\"item.isShow\" [nzAlign]=\"tableAlign\">\n <ng-container\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: fg,\n config: item,\n formControl: fg.get(item.controlName),\n errorTip: item.errorTip,\n index: i,\n disabled: isDisabled\n }\"\n >\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n <!-- \u81EA\u5B9A\u4E49\u5C55\u793A\u5217 -->\n <td *ngFor=\"let item of tdTemplateOfNullInForm\" [nzAlign]=\"tableAlign\">\n <ng-container\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: fg,\n index: i,\n disabled: isDisabled\n }\"\n ></ng-container>\n </td>\n </tr>\n <tr *ngIf=\"enableExpand\" [nzExpand]=\"fg.value.expand\">\n <ng-container\n [ngTemplateOutlet]=\"tableExpandDirective?.templateRef!\"\n [ngTemplateOutletContext]=\"{\n $implicit: fg,\n index: i,\n disabled: isDisabled\n }\"\n >\n </ng-container>\n </tr>\n </ng-container>\n\n <tr *ngIf=\"form.get('formArray')?.errors\" [nzExpand]=\"true\">\n <ng-container\n [ngTemplateOutlet]=\"errorTemplate!\"\n [ngTemplateOutletContext]=\"{ $implicit: form.get('formArray') }\"\n >\n </ng-container>\n </tr>\n </tbody>\n</nz-table>\n", styles: [""], dependencies: [{ 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i3.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i4.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i4.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "component", type: i5.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i5.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i5.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i5.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i5.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i5.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i5.NzTrExpandDirective, selector: "tr[nzExpand]", inputs: ["nzExpand"] }, { kind: "directive", type: i5.NzCellAlignDirective, selector: "th[nzAlign],td[nzAlign]", inputs: ["nzAlign"] }, { kind: "component", type: i5.NzTableFixedRowComponent, selector: "tr[nz-table-fixed-row], tr[nzExpand]" }, { kind: "component", type: i6.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i6.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "directive", type: i7.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "directive", type: i7.NzAutosizeDirective, selector: "textarea[nzAutosize]", inputs: ["nzAutosize"], exportAs: ["nzAutosize"] }, { kind: "component", type: i8.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i8.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: i9.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "component", type: i10.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }] }); }
|
|
315
315
|
}
|
|
316
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableFormComponent, decorators: [{
|
|
317
317
|
type: Component,
|
|
318
318
|
args: [{ selector: 'nzx-table-form', exportAs: 'NzxTableForm', providers: [
|
|
319
319
|
{
|
|
@@ -367,4 +367,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
367
367
|
type: ContentChild,
|
|
368
368
|
args: [NzxTableFormExpandDirective]
|
|
369
369
|
}] } });
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RhYmxlLWZvcm0vdGFibGUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RhYmxlLWZvcm0vdGFibGUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFNTCxhQUFhLEVBQ2IsaUJBQWlCLEdBSWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7OztBQXVCekUsTUFBTSxPQUFPLHFCQUFxQjtJQStEaEMsaURBQWlEO0lBQ2pELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBeUIsQ0FBQztJQUM1RCxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMs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b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQXJyYXksXG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE56VGFibGVMYXlvdXQsIE56VGFibGVTaXplIH0gZnJvbSAnbmctem9ycm8tYW50ZC90YWJsZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHVwZGF0ZUNvbnRyb2xTdGF0dXMgfSBmcm9tICduZy16b3Jyby1hbnRkLWV4dGVuc2lvbi91dGlsJztcbmltcG9ydCB7IE56eFRhYmxlRm9ybUV4cGFuZERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL3RhYmxlLWV4cGFuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTnp4VGFibGVGb3JtVGREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS90YWJsZS10ZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTnp4VGFibGVGb3JtVGhEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS90YWJsZS10aC5kaXJlY3RpdmUnO1xuXG5pbXBvcnQge1xuICBOenhMaW1pdE1lc3NhZ2UsXG4gIE56eFRhYmxlRm9ybUNvbmZpZyxcbiAgTnp4VGFibGVGb3JtSGVhZGVyQ29uZmlnLFxuICBOenhUYWJsZUZvcm1UZENvbmZpZyxcbn0gZnJvbSAnLi90eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnp4LXRhYmxlLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWZvcm0uY29tcG9uZW50Lmxlc3MnXSxcbiAgZXhwb3J0QXM6ICdOenhUYWJsZUZvcm0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE56eFRhYmxlRm9ybUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IE56eFRhYmxlRm9ybUNvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnp4VGFibGVGb3JtQ29tcG9uZW50XG4gIGltcGxlbWVudHNcbiAgICBPbkluaXQsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBWYWxpZGF0b3IsXG4gICAgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHRhYmxlTGF5b3V0OiBOelRhYmxlTGF5b3V0ID0gJ2ZpeGVkJztcbiAgQElucHV0KCkgdGFibGVBbGlnbjogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInIHwgbnVsbCA9ICdjZW50ZXInO1xuICAvKiogdGFibGUg5ZCv55So5omp5bGV6KGMICovXG4gIEBJbnB1dCgpIGVuYWJsZUV4cGFuZCA9IGZhbHNlO1xuICAvKiogdGFibGUgYm9yZGVyICovXG4gIEBJbnB1dCgpIG56eEJvcmRlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiB0YWJsZSBzaXplICovXG4gIEBJbnB1dCgpIG56eFNpemU6IE56VGFibGVTaXplID0gJ2RlZmF1bHQnO1xuICAvKiog5ZCv55So5pWw6YeP6ZmQ5Yi2ICovXG4gIEBJbnB1dCgpIGVuYWJsZUxpbWl0ID0gZmFsc2U7XG4gIC8qKiDmnIDlpKfmlbDph48gKi9cbiAgQElucHV0KCkgbWF4TGltaXQ6IG51bWJlciA9IDA7XG4gIC8qKiDmnIDlsJHmlbDph48gKi9cbiAgQElucHV0KCkgbWluTGltaXQ6IG51bWJlciA9IDA7XG4gIC8qKiDoh6rlrprkuYlmb290ZXIgKi9cbiAgQElucHV0KCkgbnp4Rm9vdGVyPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIC8qKuaYr+WQpuWcqOWJjeerr+WvueaVsOaNrui/m+ihjOWIhumhte+8jOWmguaenOWcqOacjeWKoeWZqOWIhumhteaVsOaNruaIluiAhemcgOimgeWcqOWJjeerr+aYvuekuuWFqOmDqOaVsOaNruaXtuS8oOWFpSBmYWxzZSAqL1xuICBASW5wdXQoKSBuenhGcm9udFBhZ2luYXRpb24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiDmoKHpqozmlbTkuKp0YWJsZeeahOmUmeivr+aPkOekuuiHquWumuS5ieaooeadv1xuICAgKi9cbiAgQElucHV0KCkgZXJyb3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKiDlkK/nlKjluo/lj7cgKi9cbiAgQElucHV0KCkgZW5hYmxlTm8gPSBmYWxzZTtcblxuICAvKiog5bqP5Y+35a695bqmICovXG4gIEBJbnB1dCgpIHNlcmlhbE51bWJlcldpZHRoOiBzdHJpbmcgPSAnNjBweCc7XG4gIC8qKiDluo/lj7foh6rlrprkuYnmqKHmnb8gKi9cbiAgQElucHV0KCkgc2VyaWFsTnVtYmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgLyoqXG4gICAqIOagoemqjHRhYmxl55qE5Ye95pWwXG4gICAqL1xuICBASW5wdXQoKSB0YWJsZVZhbGlkYXRvckZuOiBWYWxpZGF0b3JGbiA9IChcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xcbiAgKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4gbnVsbDtcblxuICAvKiogdGFibGUgY29uZmlnICovXG4gIEBJbnB1dCgpIHRhYmxlRm9ybUNvbmZpZzogTnp4VGFibGVGb3JtQ29uZmlnW10gPSBbXTtcblxuICAvKiog5pWw6YeP6ZmQ5Yi25Zue6LCDICovXG4gIEBPdXRwdXQoKSBsaW1pdE1lc3NhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE56eExpbWl0TWVzc2FnZT4oKTtcblxuICBoZWFkZXJDb25maWchOiBBcnJheTxOenhUYWJsZUZvcm1IZWFkZXJDb25maWc+O1xuICB0ZENvbmZpZyE6IEFycmF5PE56eFRhYmxlRm9ybVRkQ29uZmlnPjtcblxuICB0aFRlbXBsYXRlT2ZOdWxsSW5Gb3JtOiB7XG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIHdpZHRoPzogc3RyaW5nO1xuICB9W10gPSBbXTtcbiAgdGRUZW1wbGF0ZU9mTnVsbEluRm9ybTogeyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfVtdID0gW107XG4gIC8qKiDmlbTkuKp0YWJsZS1mb3JtICovXG4gIGZvcm0hOiBGb3JtR3JvdXA7XG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKiogZm9ybUdyb3Vw5LiL55qEZm9ybUFycmF5LGZvcm1BcnJheeS4reaYr+WkmuihjGZvcm1Hcm91cCovXG4gIGdldCB0YWJsZUZvcm1BcnJheSgpOiBGb3JtQXJyYXk8Rm9ybUdyb3VwPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2Zvcm1BcnJheScpIGFzIEZvcm1BcnJheTxGb3JtR3JvdXA+O1xuICB9XG5cbiAgLyoqIHRhYmxlIGZvcm1Hcm91cHPpm4blkIggKi9cbiAgZ2V0IGZvcm1Hcm91cExpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVGb3JtQXJyYXkuY29udHJvbHMuY29uY2F0KFtdKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uaW52YWxpZDtcbiAgfVxuXG4gIC8qKiDkuIDooYznmoRmb3Jt6YWN572uICovXG4gIHByaXZhdGUgY29udHJvbHNDb25maWchOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIHByaXZhdGUgZGVzdHJveWVkJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihOenhUYWJsZUZvcm1UZERpcmVjdGl2ZSlcbiAgcHJpdmF0ZSB0YWJsZVRkRGlyZWN0aXZlTGlzdCE6IFF1ZXJ5TGlzdDxOenhUYWJsZUZvcm1UZERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihOenhUYWJsZUZvcm1UaERpcmVjdGl2ZSlcbiAgcHJpdmF0ZSB0YWJsZVRoRGlyZWN0aXZlTGlzdCE6IFF1ZXJ5TGlzdDxOenhUYWJsZUZvcm1UaERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChOenhUYWJsZUZvcm1FeHBhbmREaXJlY3RpdmUpXG4gIHRhYmxlRXhwYW5kRGlyZWN0aXZlITogTnp4VGFibGVGb3JtRXhwYW5kRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgZm9ybUFycmF5OiB0aGlzLmZiLmFycmF5KFtdLCBbdGhpcy50YWJsZVZhbGlkYXRvckZuXSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbnRyb2xzQ29uZmlnID0gdGhpcy5wYXJzZUZvcm1Db25maWcodGhpcy50YWJsZUZvcm1Db25maWcpO1xuICAgIHRoaXMuaGVhZGVyQ29uZmlnID0gdGhpcy5wYXJzZUhlYWRlcih0aGlzLnRhYmxlRm9ybUNvbmZpZyk7XG4gICAgdGhpcy50ZENvbmZpZyA9IHRoaXMucGFyc2VUZCh0aGlzLnRhYmxlRm9ybUNvbmZpZyk7XG5cbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShyZXMuZm9ybUFycmF5KTtcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWF0Y2hUZW1wbGF0ZSh0aGlzLnRhYmxlVGhEaXJlY3RpdmVMaXN0LCB0aGlzLnRhYmxlVGREaXJlY3RpdmVMaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDoi6V0YWJsZeS4uuepuuaIluiAheacieS4gOihjOaVsOaNruagoemqjOS4jemAmui/h++8jOWImeaVtOS4que7hOS7tuagoemqjOS4jemAmui/h1xuICAgKi9cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGFyciA9ICh0aGlzLnRhYmxlRm9ybUFycmF5LmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdKSB8fCBbXTtcbiAgICBpZiAoYXJyLnNvbWUoKHJvdykgPT4gcm93LnN0YXR1cyA9PT0gJ0lOVkFMSUQnKSkge1xuICAgICAgcmV0dXJuIHsgdGFibGVSZXF1aXJlZEVycm9yOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIOagueaNrmNvbnRyb2xOYW1l6K6+572uY29uZmln5YC8XG4gICAqL1xuICBzZXRDb25maWcoY29udHJvbE5hbWU6IHN0cmluZywgY29uZmlnOiBQYXJ0aWFsPE56eFRhYmxlRm9ybUNvbmZpZz4pOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFibGVGb3JtQ29uZmlnLmZpbmRJbmRleChcbiAgICAgIChpdGVtKSA9PiBpdGVtLmNvbnRyb2xOYW1lID09PSBjb250cm9sTmFtZVxuICAgICk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMudGFibGVGb3JtQ29uZmlnW2luZGV4XSA9IHtcbiAgICAgICAgLi4udGhpcy50YWJsZUZvcm1Db25maWdbaW5kZXhdLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVRhYmxlQ29uZmlnKCk7XG4gIH1cblxuICAvKipcbiAgICog6YeN572udGFibGXooajljZXkuLrnqbpcbiAgICovXG4gIGNsZWFyVGFibGUoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZUZvcm1BcnJheS5jbGVhcigpO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICog5re75YqgdGFibGXkuIDooYxcbiAgICovXG4gIGFkZFJvdyhyb3dWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIGlmICh0aGlzLmVuYWJsZUxpbWl0ICYmIHRoaXMudGFibGVGb3JtQXJyYXkubGVuZ3RoIDwgdGhpcy5tYXhMaW1pdCkge1xuICAgICAgICBjb25zdCBjb250cm9sc0NvbmZpZ1RlbXAgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbnRyb2xzQ29uZmlnKTtcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlRXhwYW5kKSB7XG4gICAgICAgICAgY29udHJvbHNDb25maWdUZW1wWydleHBhbmQnXSA9IFtmYWxzZV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZmIuZ3JvdXAoY29udHJvbHNDb25maWdUZW1wKTtcbiAgICAgICAgaWYgKHJvd1ZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHJvd1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucHVzaChmb3JtKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5lbmFibGVMaW1pdCkge1xuICAgICAgICB0aGlzLmxpbWl0TWVzc2FnZS5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAnbWF4JyxcbiAgICAgICAgICBsaW1pdDogdGhpcy5tYXhMaW1pdCxcbiAgICAgICAgICBtc2c6IGDmnIDlpJoke3RoaXMubWF4TGltaXR95p2hYCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb250cm9sc0NvbmZpZ1RlbXAgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbnRyb2xzQ29uZmlnKTtcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlRXhwYW5kKSB7XG4gICAgICAgICAgY29udHJvbHNDb25maWdUZW1wWydleHBhbmQnXSA9IFtmYWxzZV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZmIuZ3JvdXAoY29udHJvbHNDb25maWdUZW1wKTtcbiAgICAgICAgaWYgKHJvd1ZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHJvd1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucHVzaChmb3JtKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlQ29udHJvbFN0YXR1cyh0aGlzLnRhYmxlRm9ybUFycmF5KTtcbiAgICB9XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliKDpmaR0YWJsZeS4gOihjFxuICAgKi9cbiAgZGVsZXRlUm93KGk6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmVuYWJsZUxpbWl0KSB7XG4gICAgICBpZiAodGhpcy50YWJsZUZvcm1BcnJheS5sZW5ndGggPiB0aGlzLm1pbkxpbWl0KSB7XG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxpbWl0TWVzc2FnZS5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAnbWluJyxcbiAgICAgICAgICBsaW1pdDogdGhpcy5tYXhMaW1pdCxcbiAgICAgICAgICBtc2c6IGDoh7PlsJEke3RoaXMubWluTGltaXR95p2hYCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudGFibGVGb3JtQXJyYXkuY2xlYXIoKTtcbiAgICBpZiAob2JqICYmIG9iai5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy50ZENvbmZpZy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5mb3JFYWNoKChpdGVtOiBhbnksIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2xzQ29uZmlnVGVtcCA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29udHJvbHNDb25maWcpO1xuICAgICAgICAgIGlmICh0aGlzLmVuYWJsZUV4cGFuZCkge1xuICAgICAgICAgICAgY29udHJvbHNDb25maWdUZW1wWydleHBhbmQnXSA9IFtmYWxzZV07XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucHVzaCh0aGlzLmZiLmdyb3VwKGNvbnRyb2xzQ29uZmlnVGVtcCkpO1xuICAgICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkuY29udHJvbHNbaV0ucGF0Y2hWYWx1ZShpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoaSkgPT4gaS5kaXNhYmxlKCkpO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnRhYmxlRm9ybUFycmF5LmNvbnRyb2xzLmZvckVhY2goKGkpID0+IGkuZW5hYmxlKCkpO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiDmm7TmlrB0YWJsZSBjb25maWfphY3nva7poblcbiAgICog5Zyo5pu05pawY29uZmln5pe25YCZ6ZyA6KaB6LCD55So6YeN5paw5riy5p+TdGFibGVcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlVGFibGVDb25maWcoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sc0NvbmZpZyA9IHRoaXMucGFyc2VGb3JtQ29uZmlnKHRoaXMudGFibGVGb3JtQ29uZmlnKTtcbiAgICB0aGlzLmhlYWRlckNvbmZpZyA9IHRoaXMucGFyc2VIZWFkZXIodGhpcy50YWJsZUZvcm1Db25maWcpO1xuICAgIHRoaXMudGRDb25maWcgPSB0aGlzLnBhcnNlVGQodGhpcy50YWJsZUZvcm1Db25maWcpO1xuICAgIHRoaXMubWF0Y2hUZW1wbGF0ZSh0aGlzLnRhYmxlVGhEaXJlY3RpdmVMaXN0LCB0aGlzLnRhYmxlVGREaXJlY3RpdmVMaXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG5cbiAgLyoqXG4gICAqIOWMuemFjeaKleW9seaooeadv3RlbXBsYXRl5pS+5YiwY29uZmln5LitXG4gICAqL1xuICBwcml2YXRlIG1hdGNoVGVtcGxhdGUoXG4gICAgdGhMaXN0OiBRdWVyeUxpc3Q8Tnp4VGFibGVGb3JtVGhEaXJlY3RpdmU+LFxuICAgIHRkTGlzdDogUXVlcnlMaXN0PE56eFRhYmxlRm9ybVRkRGlyZWN0aXZlPlxuICApOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlckNvbmZpZyA9IHRoaXMuaGVhZGVyQ29uZmlnLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgVGhEaXJlY3RpdmUgPSB0aExpc3QuZmluZChcbiAgICAgICAgKHRoKSA9PiB0aC5jb250cm9sTmFtZSA9PT0gaXRlbS5jb250cm9sTmFtZVxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIHRlbXBsYXRlUmVmOiBUaERpcmVjdGl2ZT8udGVtcGxhdGVSZWYsXG4gICAgICAgIHdpZHRoOiBUaERpcmVjdGl2ZT8ud2lkdGgsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy50ZENvbmZpZyA9IHRoaXMudGRDb25maWcubWFwKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBUZERpcmVjdGl2ZSA9IHRkTGlzdC5maW5kKFxuICAgICAgICAodGQpID0+IHRkLmNvbnRyb2xOYW1lID09PSBpdGVtLmNvbnRyb2xOYW1lXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgdGVtcGxhdGVSZWY6IFRkRGlyZWN0aXZlPy50ZW1wbGF0ZVJlZixcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnRoVGVtcGxhdGVPZk51bGxJbkZvcm0gPSB0aExpc3RcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmNvbnRyb2xOYW1lKVxuICAgICAgLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgdGVtcGxhdGVSZWY6IGl0ZW0udGVtcGxhdGVSZWYsXG4gICAgICAgIHdpZHRoOiBpdGVtPy53aWR0aCxcbiAgICAgIH0pKTtcblxuICAgIHRoaXMudGRUZW1wbGF0ZU9mTnVsbEluRm9ybSA9IHRkTGlzdFxuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uY29udHJvbE5hbWUpXG4gICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICB0ZW1wbGF0ZVJlZjogaXRlbS50ZW1wbGF0ZVJlZixcbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDop6PmnpDphY3nva7nlJ/miJBjb250cm9sc1xuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZUZvcm1Db25maWcoY3VzdG9tRm9ybUNvbmZpZzogTnp4VGFibGVGb3JtQ29uZmlnW10pOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9IHtcbiAgICBjb25zdCBjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIGN1c3RvbUZvcm1Db25maWcuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uY29udHJvbE5hbWUpIHtcbiAgICAgICAgbGV0IGRlZmF1bHRWYWx1ZTogYW55ID0gbnVsbDtcbiAgICAgICAgaWYgKGl0ZW0uZGVmYXVsdFZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGl0ZW0uZGVmYXVsdFZhbHVlO1xuICAgICAgICBjb250cm9sc1tpdGVtLmNvbnRyb2xOYW1lXSA9IFtkZWZhdWx0VmFsdWUsIGl0ZW0udmFsaWRhdGlvbl07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbnRyb2xzO1xuICB9XG5cbiAgLyoqXG4gICAqIOino+aekOmFjee9rueUn+aIkGhlYWRlclxuICAgKlxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZUhlYWRlcihcbiAgICBjdXN0b21Gb3JtQ29uZmlnOiBOenhUYWJsZUZvcm1Db25maWdbXVxuICApOiBBcnJheTxOenhUYWJsZUZvcm1IZWFkZXJDb25maWc+IHtcbiAgICByZXR1cm4gY3VzdG9tRm9ybUNvbmZpZy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBoZWFkZXI6IGl0ZW0uaGVhZGVyLFxuICAgICAgd2lkdGg6IGl0ZW0/LndpZHRoLFxuICAgICAgY29udHJvbE5hbWU6IGl0ZW0/LmNvbnRyb2xOYW1lLFxuICAgICAgaXNTaG93OiBpdGVtLmlzU2hvdyA/PyB0cnVlLFxuICAgICAgdGVtcGxhdGVSZWY6IHZvaWQgMCxcbiAgICAgIHNob3dSZXF1aXJlZFRpcDogaXRlbT8uc2hvd1JlcXVpcmVkVGlwLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDop6PmnpDphY3nva7nlJ/miJBDb250ZW50XG4gICAqL1xuICBwcml2YXRlIHBhcnNlVGQoXG4gICAgY3VzdG9tRm9ybUNvbmZpZzogTnp4VGFibGVGb3JtQ29uZmlnW11cbiAgKTogQXJyYXk8Tnp4VGFibGVGb3JtVGRDb25maWc+IHtcbiAgICByZXR1cm4gY3VzdG9tRm9ybUNvbmZpZy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBjb250cm9sTmFtZTogaXRlbT8uY29udHJvbE5hbWUsXG4gICAgICBpc1Nob3c6IGl0ZW0uaXNTaG93ID8/IHRydWUsXG4gICAgICB0ZW1wbGF0ZVJlZjogdm9pZCAwLFxuICAgICAgc2hvd1JlcXVpcmVkVGlwOiBpdGVtPy5zaG93UmVxdWlyZWRUaXAsXG4gICAgICBkZWZhdWx0VmFsdWU6IGl0ZW0/LmRlZmF1bHRWYWx1ZSxcbiAgICAgIHR5cGU6IGl0ZW0udHlwZSxcbiAgICAgIHZhbGlkYXRpb246IGl0ZW0udmFsaWRhdGlvbixcbiAgICAgIGVycm9yVGlwOiBpdGVtPy5lcnJvclRpcCxcbiAgICAgIG9wdGlvbnM6IGl0ZW0/Lm9wdGlvbnMsXG4gICAgICBjb250cm9sTW9kZTogaXRlbT8uY29udHJvbE1vZGUgPz8gJ2VkaXQnLFxuICAgICAgcGxhY2Vob2xkZXI6IGl0ZW0/LnBsYWNlaG9sZGVyLFxuICAgICAgYWxsb3dDbGVhcjogaXRlbT8uYWxsb3dDbGVhcixcbiAgICAgIG1heExlbmd0aDogaXRlbT8ubWF4TGVuZ3RoLFxuICAgICAgbWF4OiBpdGVtPy5tYXgsXG4gICAgICBmb3JtYXQ6IGl0ZW0/LmZvcm1hdCxcbiAgICB9KSk7XG4gIH1cbn1cbiIsIjxuei10YWJsZVxuICAjYmFzaWNUYWJsZVxuICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICBbbnpEYXRhXT1cImZvcm1Hcm91cExpc3RcIlxuICBbbnpUYWJsZUxheW91dF09XCJ0YWJsZUxheW91dFwiXG4gIFtuekZvb3Rlcl09XCJuenhGb290ZXIhXCJcbiAgW256Qm9yZGVyZWRdPVwibnp4Qm9yZGVyZWRcIlxuICBbbnpTaXplXT1cIm56eFNpemVcIlxuICBbbnpGcm9udFBhZ2luYXRpb25dPVwibnp4RnJvbnRQYWdpbmF0aW9uXCJcbiAgbnpIaWRlT25TaW5nbGVQYWdlXG4+XG4gIDx0aGVhZD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPHRyPlxuICAgICAgPCEtLSDluo/lj7fliJfmoIfpopggLS0+XG4gICAgICA8dGggKm5nSWY9XCJlbmFibGVOb1wiIFtuekFsaWduXT1cInRhYmxlQWxpZ25cIiBbbnpXaWR0aF09XCJzZXJpYWxOdW1iZXJXaWR0aFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFzZXJpYWxOdW1iZXJUZW1wbGF0ZVwiPiDluo/lj7cgPC9zcGFuPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VyaWFsTnVtYmVyVGVtcGxhdGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VyaWFsTnVtYmVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RoPlxuICAgICAgPCEtLSDooajljZXliJdmb3JtIGhlYWRlciAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaGVhZGVyQ29uZmlnOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pc1Nob3dcIj5cbiAgICAgICAgICA8dGhcbiAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgW256QWxpZ25dPVwidGFibGVBbGlnblwiXG4gICAgICAgICAgICBbbnpXaWR0aF09XCJpdGVtLndpZHRoIVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiaXRlbS5zaG93UmVxdWlyZWRUaXBcIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiAncmVkJyB9XCI+XG4gICAgICAgICAgICAgICpcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICB7eyBpdGVtLmhlYWRlciB9fVxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgW256QWxpZ25dPVwidGFibGVBbGlnblwiXG4gICAgICAgICAgICBbbnpXaWR0aF09XCJpdGVtLndpZHRoIVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBpbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8IS0tIOiHquWumuS5ieWxleekuuWIl2hlYWRlciAtLT5cbiAgICAgIDx0aFxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aFRlbXBsYXRlT2ZOdWxsSW5Gb3JtOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW256QWxpZ25dPVwidGFibGVBbGlnblwiXG4gICAgICAgIFtueldpZHRoXT1cIml0ZW0ud2lkdGghXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBpdGVtLnRlbXBsYXRlUmVmO1xuICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGZvcm0sIGluZGV4OiBpLCBkaXNhYmxlZDogaXNEaXNhYmxlZCB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cblxuICA8dGJvZHkgZm9ybUFycmF5TmFtZT1cImZvcm1BcnJheVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZnIG9mIGJhc2ljVGFibGUuZGF0YTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgPHRyPlxuICAgICAgICA8IS0tIOW6j+WPt+WIlyAtLT5cbiAgICAgICAgPHRkICpuZ0lmPVwiZW5hYmxlTm9cIiBbbnpBbGlnbl09XCJ0YWJsZUFsaWduXCI+XG4gICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPCEtLSDooajljZXliJflsIbmlL7ov5tmb3JtIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZmdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRkQ29uZmlnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pc1Nob3dcIj5cbiAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiIWl0ZW0udGVtcGxhdGVSZWZcIiBbbnpBbGlnbl09XCJ0YWJsZUFsaWduXCI+XG4gICAgICAgICAgICAgICAgPG56LWZvcm0taXRlbSBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tYm90dG9tJzogMCB9XCI+XG4gICAgICAgICAgICAgICAgICA8bnotZm9ybS1jb250cm9sIFtuekVycm9yVGlwXT1cIml0ZW0uZXJyb3JUaXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9PT0gJ2lucHV0JyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jb250cm9sTW9kZSAhPT0gJ3JlYWRvbmx5JyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgISFpdGVtLmNvbnRyb2xOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyIHx8ICfor7fovpPlhaUnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiaXRlbS5tYXhMZW5ndGghXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID09PSAndGV4dGFyZWEnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIG56LWlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgW256QXV0b3NpemVdPVwieyBtaW5Sb3dzOiAzIH1cIlxuICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyIHx8ICfor7fovpPlhaUnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiaXRlbS5tYXhMZW5ndGghXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG5cbiAgICAgICAgICAgICAgICAgICAgPG56LWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICdhdXRvJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuek1pbl09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbnpTdGVwXT1cIjFcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuek1heF09XCJpdGVtLm1heCFcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuelBsYWNlSG9sZGVyXT1cIml0ZW0ucGxhY2Vob2xkZXIgfHwgJ+i+k+WFpeaVsOWtlydcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbnotaW5wdXQtbnVtYmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuei1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT09ICdkYXRlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jb250cm9sTW9kZSAhPT0gJ3JlYWRvbmx5JyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgISFpdGVtLmNvbnRyb2xOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbnotZGF0ZS1waWNrZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG56LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT09ICdzZWxlY3QnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIG56U2hvd1NlYXJjaD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuekFsbG93Q2xlYXJdPVwiaXRlbS5hbGxvd0NsZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuelBsYWNlSG9sZGVyXT1cIml0ZW0ucGxhY2Vob2xkZXIgfHwgJ+ivt+mAieaLqSdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG56LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgW256VmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuekxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGl0ZW0ub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbnotb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L256LXNlbGVjdD5cblxuICAgICAgICAgICAgICAgICAgICA8bnotcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID09PSAncmFkaW8nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5jb250cm9sTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaXRlbS5vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG56LXJhZGlvXG4gICAgICAgICAgICAgICAgICAgICAgICBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvbnotcmFkaW8tZ3JvdXA+XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmNvbnRyb2xNb2RlID09PSAncmVhZG9ubHknXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZm9ybWF0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmZvcm1hdChmZy5nZXQoaXRlbS5jb250cm9sTmFtZSk/LnZhbHVlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5mb3JtYXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZnLmdldChpdGVtLmNvbnRyb2xOYW1lKT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPC9uei1mb3JtLWl0ZW0+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udGVtcGxhdGVSZWZcIj5cbiAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXRlbS5pc1Nob3dcIiBbbnpBbGlnbl09XCJ0YWJsZUFsaWduXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGZnLFxuICAgICAgICAgICAgICAgICAgICBjb25maWc6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sOiBmZy5nZXQoaXRlbS5jb250cm9sTmFtZSksXG4gICAgICAgICAgICAgICAgICAgIGVycm9yVGlwOiBpdGVtLmVycm9yVGlwLFxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSDoh6rlrprkuYnlsZXnpLrliJcgLS0+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0ZFRlbXBsYXRlT2ZOdWxsSW5Gb3JtXCIgW256QWxpZ25dPVwidGFibGVBbGlnblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBmZyxcbiAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyICpuZ0lmPVwiZW5hYmxlRXhwYW5kXCIgW256RXhwYW5kXT1cImZnLnZhbHVlLmV4cGFuZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVFeHBhbmREaXJlY3RpdmU/LnRlbXBsYXRlUmVmIVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDogZmcsXG4gICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyICpuZ0lmPVwiZm9ybS5nZXQoJ2Zvcm1BcnJheScpPy5lcnJvcnNcIiBbbnpFeHBhbmRdPVwidHJ1ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlcnJvclRlbXBsYXRlIVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogZm9ybS5nZXQoJ2Zvcm1BcnJheScpIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvbnotdGFibGU+XG4iXX0=
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RhYmxlLWZvcm0vdGFibGUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RhYmxlLWZvcm0vdGFibGUtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFNTCxhQUFhLEVBQ2IsaUJBQWlCLEdBSWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7OztBQXVCekUsTUFBTSxPQUFPLHFCQUFxQjtJQStEaEMsaURBQWlEO0lBQ2pELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBeUIsQ0FBQztJQUM1RCxDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMs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b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQXJyYXksXG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE56VGFibGVMYXlvdXQsIE56VGFibGVTaXplIH0gZnJvbSAnbmctem9ycm8tYW50ZC90YWJsZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHVwZGF0ZUNvbnRyb2xTdGF0dXMgfSBmcm9tICduZy16b3Jyby1hbnRkLWV4dGVuc2lvbi91dGlsJztcbmltcG9ydCB7IE56eFRhYmxlRm9ybUV4cGFuZERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL3RhYmxlLWV4cGFuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTnp4VGFibGVGb3JtVGREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS90YWJsZS10ZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTnp4VGFibGVGb3JtVGhEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS90YWJsZS10aC5kaXJlY3RpdmUnO1xuXG5pbXBvcnQge1xuICBOenhMaW1pdE1lc3NhZ2UsXG4gIE56eFRhYmxlRm9ybUNvbmZpZyxcbiAgTnp4VGFibGVGb3JtSGVhZGVyQ29uZmlnLFxuICBOenhUYWJsZUZvcm1UZENvbmZpZyxcbn0gZnJvbSAnLi90eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnp4LXRhYmxlLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWZvcm0uY29tcG9uZW50Lmxlc3MnXSxcbiAgZXhwb3J0QXM6ICdOenhUYWJsZUZvcm0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE56eFRhYmxlRm9ybUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IE56eFRhYmxlRm9ybUNvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnp4VGFibGVGb3JtQ29tcG9uZW50XG4gIGltcGxlbWVudHNcbiAgICBPbkluaXQsXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBWYWxpZGF0b3IsXG4gICAgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHRhYmxlTGF5b3V0OiBOelRhYmxlTGF5b3V0ID0gJ2ZpeGVkJztcbiAgQElucHV0KCkgdGFibGVBbGlnbjogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInIHwgbnVsbCA9ICdjZW50ZXInO1xuICAvKiogdGFibGUg5ZCv55So5omp5bGV6KGMICovXG4gIEBJbnB1dCgpIGVuYWJsZUV4cGFuZCA9IGZhbHNlO1xuICAvKiogdGFibGUgYm9yZGVyICovXG4gIEBJbnB1dCgpIG56eEJvcmRlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiB0YWJsZSBzaXplICovXG4gIEBJbnB1dCgpIG56eFNpemU6IE56VGFibGVTaXplID0gJ2RlZmF1bHQnO1xuICAvKiog5ZCv55So5pWw6YeP6ZmQ5Yi2ICovXG4gIEBJbnB1dCgpIGVuYWJsZUxpbWl0ID0gZmFsc2U7XG4gIC8qKiDmnIDlpKfmlbDph48gKi9cbiAgQElucHV0KCkgbWF4TGltaXQ6IG51bWJlciA9IDA7XG4gIC8qKiDmnIDlsJHmlbDph48gKi9cbiAgQElucHV0KCkgbWluTGltaXQ6IG51bWJlciA9IDA7XG4gIC8qKiDoh6rlrprkuYlmb290ZXIgKi9cbiAgQElucHV0KCkgbnp4Rm9vdGVyPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIC8qKuaYr+WQpuWcqOWJjeerr+WvueaVsOaNrui/m+ihjOWIhumhte+8jOWmguaenOWcqOacjeWKoeWZqOWIhumhteaVsOaNruaIluiAhemcgOimgeWcqOWJjeerr+aYvuekuuWFqOmDqOaVsOaNruaXtuS8oOWFpSBmYWxzZSAqL1xuICBASW5wdXQoKSBuenhGcm9udFBhZ2luYXRpb24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiDmoKHpqozmlbTkuKp0YWJsZeeahOmUmeivr+aPkOekuuiHquWumuS5ieaooeadv1xuICAgKi9cbiAgQElucHV0KCkgZXJyb3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIC8qKiDlkK/nlKjluo/lj7cgKi9cbiAgQElucHV0KCkgZW5hYmxlTm8gPSBmYWxzZTtcblxuICAvKiog5bqP5Y+35a695bqmICovXG4gIEBJbnB1dCgpIHNlcmlhbE51bWJlcldpZHRoOiBzdHJpbmcgPSAnNjBweCc7XG4gIC8qKiDluo/lj7foh6rlrprkuYnmqKHmnb8gKi9cbiAgQElucHV0KCkgc2VyaWFsTnVtYmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgLyoqXG4gICAqIOagoemqjHRhYmxl55qE5Ye95pWwXG4gICAqL1xuICBASW5wdXQoKSB0YWJsZVZhbGlkYXRvckZuOiBWYWxpZGF0b3JGbiA9IChcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xcbiAgKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4gbnVsbDtcblxuICAvKiogdGFibGUgY29uZmlnICovXG4gIEBJbnB1dCgpIHRhYmxlRm9ybUNvbmZpZzogTnp4VGFibGVGb3JtQ29uZmlnW10gPSBbXTtcblxuICAvKiog5pWw6YeP6ZmQ5Yi25Zue6LCDICovXG4gIEBPdXRwdXQoKSBsaW1pdE1lc3NhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE56eExpbWl0TWVzc2FnZT4oKTtcblxuICBoZWFkZXJDb25maWchOiBBcnJheTxOenhUYWJsZUZvcm1IZWFkZXJDb25maWc+O1xuICB0ZENvbmZpZyE6IEFycmF5PE56eFRhYmxlRm9ybVRkQ29uZmlnPjtcblxuICB0aFRlbXBsYXRlT2ZOdWxsSW5Gb3JtOiB7XG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIHdpZHRoPzogc3RyaW5nO1xuICB9W10gPSBbXTtcbiAgdGRUZW1wbGF0ZU9mTnVsbEluRm9ybTogeyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfVtdID0gW107XG4gIC8qKiDmlbTkuKp0YWJsZS1mb3JtICovXG4gIGZvcm0hOiBGb3JtR3JvdXA7XG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKiogZm9ybUdyb3Vw5LiL55qEZm9ybUFycmF5LGZvcm1BcnJheeS4reaYr+WkmuihjGZvcm1Hcm91cCovXG4gIGdldCB0YWJsZUZvcm1BcnJheSgpOiBGb3JtQXJyYXk8Rm9ybUdyb3VwPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2Zvcm1BcnJheScpIGFzIEZvcm1BcnJheTxGb3JtR3JvdXA+O1xuICB9XG5cbiAgLyoqIHRhYmxlIGZvcm1Hcm91cHPpm4blkIggKi9cbiAgZ2V0IGZvcm1Hcm91cExpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVGb3JtQXJyYXkuY29udHJvbHMuY29uY2F0KFtdKTtcbiAgfVxuXG4gIGdldCBpbnZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uaW52YWxpZDtcbiAgfVxuXG4gIC8qKiDkuIDooYznmoRmb3Jt6YWN572uICovXG4gIHByaXZhdGUgY29udHJvbHNDb25maWchOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIHByaXZhdGUgZGVzdHJveWVkJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihOenhUYWJsZUZvcm1UZERpcmVjdGl2ZSlcbiAgcHJpdmF0ZSB0YWJsZVRkRGlyZWN0aXZlTGlzdCE6IFF1ZXJ5TGlzdDxOenhUYWJsZUZvcm1UZERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihOenhUYWJsZUZvcm1UaERpcmVjdGl2ZSlcbiAgcHJpdmF0ZSB0YWJsZVRoRGlyZWN0aXZlTGlzdCE6IFF1ZXJ5TGlzdDxOenhUYWJsZUZvcm1UaERpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZChOenhUYWJsZUZvcm1FeHBhbmREaXJlY3RpdmUpXG4gIHRhYmxlRXhwYW5kRGlyZWN0aXZlITogTnp4VGFibGVGb3JtRXhwYW5kRGlyZWN0aXZlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgZm9ybUFycmF5OiB0aGlzLmZiLmFycmF5KFtdLCBbdGhpcy50YWJsZVZhbGlkYXRvckZuXSksXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbnRyb2xzQ29uZmlnID0gdGhpcy5wYXJzZUZvcm1Db25maWcodGhpcy50YWJsZUZvcm1Db25maWcpO1xuICAgIHRoaXMuaGVhZGVyQ29uZmlnID0gdGhpcy5wYXJzZUhlYWRlcih0aGlzLnRhYmxlRm9ybUNvbmZpZyk7XG4gICAgdGhpcy50ZENvbmZpZyA9IHRoaXMucGFyc2VUZCh0aGlzLnRhYmxlRm9ybUNvbmZpZyk7XG5cbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShyZXMuZm9ybUFycmF5KTtcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWF0Y2hUZW1wbGF0ZSh0aGlzLnRhYmxlVGhEaXJlY3RpdmVMaXN0LCB0aGlzLnRhYmxlVGREaXJlY3RpdmVMaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDoi6V0YWJsZeS4uuepuuaIluiAheacieS4gOihjOaVsOaNruagoemqjOS4jemAmui/h++8jOWImeaVtOS4que7hOS7tuagoemqjOS4jemAmui/h1xuICAgKi9cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGFyciA9ICh0aGlzLnRhYmxlRm9ybUFycmF5LmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdKSB8fCBbXTtcbiAgICBpZiAoYXJyLnNvbWUoKHJvdykgPT4gcm93LnN0YXR1cyA9PT0gJ0lOVkFMSUQnKSkge1xuICAgICAgcmV0dXJuIHsgdGFibGVSZXF1aXJlZEVycm9yOiB0cnVlIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIOagueaNrmNvbnRyb2xOYW1l6K6+572uY29uZmln5YC8XG4gICAqL1xuICBzZXRDb25maWcoY29udHJvbE5hbWU6IHN0cmluZywgY29uZmlnOiBQYXJ0aWFsPE56eFRhYmxlRm9ybUNvbmZpZz4pOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFibGVGb3JtQ29uZmlnLmZpbmRJbmRleChcbiAgICAgIChpdGVtKSA9PiBpdGVtLmNvbnRyb2xOYW1lID09PSBjb250cm9sTmFtZVxuICAgICk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMudGFibGVGb3JtQ29uZmlnW2luZGV4XSA9IHtcbiAgICAgICAgLi4udGhpcy50YWJsZUZvcm1Db25maWdbaW5kZXhdLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVRhYmxlQ29uZmlnKCk7XG4gIH1cblxuICAvKipcbiAgICog6YeN572udGFibGXooajljZXkuLrnqbpcbiAgICovXG4gIGNsZWFyVGFibGUoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZUZvcm1BcnJheS5jbGVhcigpO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICog5re75YqgdGFibGXkuIDooYxcbiAgICovXG4gIGFkZFJvdyhyb3dWYWx1ZT86IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIGlmICh0aGlzLmVuYWJsZUxpbWl0ICYmIHRoaXMudGFibGVGb3JtQXJyYXkubGVuZ3RoIDwgdGhpcy5tYXhMaW1pdCkge1xuICAgICAgICBjb25zdCBjb250cm9sc0NvbmZpZ1RlbXAgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbnRyb2xzQ29uZmlnKTtcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlRXhwYW5kKSB7XG4gICAgICAgICAgY29udHJvbHNDb25maWdUZW1wWydleHBhbmQnXSA9IFtmYWxzZV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZmIuZ3JvdXAoY29udHJvbHNDb25maWdUZW1wKTtcbiAgICAgICAgaWYgKHJvd1ZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHJvd1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucHVzaChmb3JtKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5lbmFibGVMaW1pdCkge1xuICAgICAgICB0aGlzLmxpbWl0TWVzc2FnZS5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAnbWF4JyxcbiAgICAgICAgICBsaW1pdDogdGhpcy5tYXhMaW1pdCxcbiAgICAgICAgICBtc2c6IGDmnIDlpJoke3RoaXMubWF4TGltaXR95p2hYCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb250cm9sc0NvbmZpZ1RlbXAgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNvbnRyb2xzQ29uZmlnKTtcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlRXhwYW5kKSB7XG4gICAgICAgICAgY29udHJvbHNDb25maWdUZW1wWydleHBhbmQnXSA9IFtmYWxzZV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZmIuZ3JvdXAoY29udHJvbHNDb25maWdUZW1wKTtcbiAgICAgICAgaWYgKHJvd1ZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHJvd1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucHVzaChmb3JtKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlQ29udHJvbFN0YXR1cyh0aGlzLnRhYmxlRm9ybUFycmF5KTtcbiAgICB9XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliKDpmaR0YWJsZeS4gOihjFxuICAgKi9cbiAgZGVsZXRlUm93KGk6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmVuYWJsZUxpbWl0KSB7XG4gICAgICBpZiAodGhpcy50YWJsZUZvcm1BcnJheS5sZW5ndGggPiB0aGlzLm1pbkxpbWl0KSB7XG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxpbWl0TWVzc2FnZS5lbWl0KHtcbiAgICAgICAgICB0eXBlOiAnbWluJyxcbiAgICAgICAgICBsaW1pdDogdGhpcy5tYXhMaW1pdCxcbiAgICAgICAgICBtc2c6IGDoh7PlsJEke3RoaXMubWluTGltaXR95p2hYCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudGFibGVGb3JtQXJyYXkuY2xlYXIoKTtcbiAgICBpZiAob2JqICYmIG9iai5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy50ZENvbmZpZy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5mb3JFYWNoKChpdGVtOiBhbnksIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2xzQ29uZmlnVGVtcCA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29udHJvbHNDb25maWcpO1xuICAgICAgICAgIGlmICh0aGlzLmVuYWJsZUV4cGFuZCkge1xuICAgICAgICAgICAgY29udHJvbHNDb25maWdUZW1wWydleHBhbmQnXSA9IFtmYWxzZV07XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkucHVzaCh0aGlzLmZiLmdyb3VwKGNvbnRyb2xzQ29uZmlnVGVtcCkpO1xuICAgICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkuY29udHJvbHNbaV0ucGF0Y2hWYWx1ZShpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudGFibGVGb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoaSkgPT4gaS5kaXNhYmxlKCkpO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnRhYmxlRm9ybUFycmF5LmNvbnRyb2xzLmZvckVhY2goKGkpID0+IGkuZW5hYmxlKCkpO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiDmm7TmlrB0YWJsZSBjb25maWfphY3nva7poblcbiAgICog5Zyo5pu05pawY29uZmln5pe25YCZ6ZyA6KaB6LCD55So6YeN5paw5riy5p+TdGFibGVcbiAgICovXG4gIHByaXZhdGUgdXBkYXRlVGFibGVDb25maWcoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sc0NvbmZpZyA9IHRoaXMucGFyc2VGb3JtQ29uZmlnKHRoaXMudGFibGVGb3JtQ29uZmlnKTtcbiAgICB0aGlzLmhlYWRlckNvbmZpZyA9IHRoaXMucGFyc2VIZWFkZXIodGhpcy50YWJsZUZvcm1Db25maWcpO1xuICAgIHRoaXMudGRDb25maWcgPSB0aGlzLnBhcnNlVGQodGhpcy50YWJsZUZvcm1Db25maWcpO1xuICAgIHRoaXMubWF0Y2hUZW1wbGF0ZSh0aGlzLnRhYmxlVGhEaXJlY3RpdmVMaXN0LCB0aGlzLnRhYmxlVGREaXJlY3RpdmVMaXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG5cbiAgLyoqXG4gICAqIOWMuemFjeaKleW9seaooeadv3RlbXBsYXRl5pS+5YiwY29uZmln5LitXG4gICAqL1xuICBwcml2YXRlIG1hdGNoVGVtcGxhdGUoXG4gICAgdGhMaXN0OiBRdWVyeUxpc3Q8Tnp4VGFibGVGb3JtVGhEaXJlY3RpdmU+LFxuICAgIHRkTGlzdDogUXVlcnlMaXN0PE56eFRhYmxlRm9ybVRkRGlyZWN0aXZlPlxuICApOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlckNvbmZpZyA9IHRoaXMuaGVhZGVyQ29uZmlnLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgVGhEaXJlY3RpdmUgPSB0aExpc3QuZmluZChcbiAgICAgICAgKHRoKSA9PiB0aC5jb250cm9sTmFtZSA9PT0gaXRlbS5jb250cm9sTmFtZVxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIHRlbXBsYXRlUmVmOiBUaERpcmVjdGl2ZT8udGVtcGxhdGVSZWYsXG4gICAgICAgIHdpZHRoOiBUaERpcmVjdGl2ZT8ud2lkdGgsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy50ZENvbmZpZyA9IHRoaXMudGRDb25maWcubWFwKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBUZERpcmVjdGl2ZSA9IHRkTGlzdC5maW5kKFxuICAgICAgICAodGQpID0+IHRkLmNvbnRyb2xOYW1lID09PSBpdGVtLmNvbnRyb2xOYW1lXG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgdGVtcGxhdGVSZWY6IFRkRGlyZWN0aXZlPy50ZW1wbGF0ZVJlZixcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnRoVGVtcGxhdGVPZk51bGxJbkZvcm0gPSB0aExpc3RcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmNvbnRyb2xOYW1lKVxuICAgICAgLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgdGVtcGxhdGVSZWY6IGl0ZW0udGVtcGxhdGVSZWYsXG4gICAgICAgIHdpZHRoOiBpdGVtPy53aWR0aCxcbiAgICAgIH0pKTtcblxuICAgIHRoaXMudGRUZW1wbGF0ZU9mTnVsbEluRm9ybSA9IHRkTGlzdFxuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uY29udHJvbE5hbWUpXG4gICAgICAubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICB0ZW1wbGF0ZVJlZjogaXRlbS50ZW1wbGF0ZVJlZixcbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDop6PmnpDphY3nva7nlJ/miJBjb250cm9sc1xuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZUZvcm1Db25maWcoY3VzdG9tRm9ybUNvbmZpZzogTnp4VGFibGVGb3JtQ29uZmlnW10pOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9IHtcbiAgICBjb25zdCBjb250cm9sczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgIGN1c3RvbUZvcm1Db25maWcuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uY29udHJvbE5hbWUpIHtcbiAgICAgICAgbGV0IGRlZmF1bHRWYWx1ZTogYW55ID0gbnVsbDtcbiAgICAgICAgaWYgKGl0ZW0uZGVmYXVsdFZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGl0ZW0uZGVmYXVsdFZhbHVlO1xuICAgICAgICBjb250cm9sc1tpdGVtLmNvbnRyb2xOYW1lXSA9IFtkZWZhdWx0VmFsdWUsIGl0ZW0udmFsaWRhdGlvbl07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbnRyb2xzO1xuICB9XG5cbiAgLyoqXG4gICAqIOino+aekOmFjee9rueUn+aIkGhlYWRlclxuICAgKlxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZUhlYWRlcihcbiAgICBjdXN0b21Gb3JtQ29uZmlnOiBOenhUYWJsZUZvcm1Db25maWdbXVxuICApOiBBcnJheTxOenhUYWJsZUZvcm1IZWFkZXJDb25maWc+IHtcbiAgICByZXR1cm4gY3VzdG9tRm9ybUNvbmZpZy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBoZWFkZXI6IGl0ZW0uaGVhZGVyLFxuICAgICAgd2lkdGg6IGl0ZW0/LndpZHRoLFxuICAgICAgY29udHJvbE5hbWU6IGl0ZW0/LmNvbnRyb2xOYW1lLFxuICAgICAgaXNTaG93OiBpdGVtLmlzU2hvdyA/PyB0cnVlLFxuICAgICAgdGVtcGxhdGVSZWY6IHZvaWQgMCxcbiAgICAgIHNob3dSZXF1aXJlZFRpcDogaXRlbT8uc2hvd1JlcXVpcmVkVGlwLFxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDop6PmnpDphY3nva7nlJ/miJBDb250ZW50XG4gICAqL1xuICBwcml2YXRlIHBhcnNlVGQoXG4gICAgY3VzdG9tRm9ybUNvbmZpZzogTnp4VGFibGVGb3JtQ29uZmlnW11cbiAgKTogQXJyYXk8Tnp4VGFibGVGb3JtVGRDb25maWc+IHtcbiAgICByZXR1cm4gY3VzdG9tRm9ybUNvbmZpZy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBjb250cm9sTmFtZTogaXRlbT8uY29udHJvbE5hbWUsXG4gICAgICBpc1Nob3c6IGl0ZW0uaXNTaG93ID8/IHRydWUsXG4gICAgICB0ZW1wbGF0ZVJlZjogdm9pZCAwLFxuICAgICAgc2hvd1JlcXVpcmVkVGlwOiBpdGVtPy5zaG93UmVxdWlyZWRUaXAsXG4gICAgICBkZWZhdWx0VmFsdWU6IGl0ZW0/LmRlZmF1bHRWYWx1ZSxcbiAgICAgIHR5cGU6IGl0ZW0udHlwZSxcbiAgICAgIHZhbGlkYXRpb246IGl0ZW0udmFsaWRhdGlvbixcbiAgICAgIGVycm9yVGlwOiBpdGVtPy5lcnJvclRpcCxcbiAgICAgIG9wdGlvbnM6IGl0ZW0/Lm9wdGlvbnMsXG4gICAgICBjb250cm9sTW9kZTogaXRlbT8uY29udHJvbE1vZGUgPz8gJ2VkaXQnLFxuICAgICAgcGxhY2Vob2xkZXI6IGl0ZW0/LnBsYWNlaG9sZGVyLFxuICAgICAgYWxsb3dDbGVhcjogaXRlbT8uYWxsb3dDbGVhcixcbiAgICAgIG1heExlbmd0aDogaXRlbT8ubWF4TGVuZ3RoLFxuICAgICAgbWF4OiBpdGVtPy5tYXgsXG4gICAgICBmb3JtYXQ6IGl0ZW0/LmZvcm1hdCxcbiAgICB9KSk7XG4gIH1cbn1cbiIsIjxuei10YWJsZVxuICAjYmFzaWNUYWJsZVxuICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICBbbnpEYXRhXT1cImZvcm1Hcm91cExpc3RcIlxuICBbbnpUYWJsZUxheW91dF09XCJ0YWJsZUxheW91dFwiXG4gIFtuekZvb3Rlcl09XCJuenhGb290ZXIhXCJcbiAgW256Qm9yZGVyZWRdPVwibnp4Qm9yZGVyZWRcIlxuICBbbnpTaXplXT1cIm56eFNpemVcIlxuICBbbnpGcm9udFBhZ2luYXRpb25dPVwibnp4RnJvbnRQYWdpbmF0aW9uXCJcbiAgbnpIaWRlT25TaW5nbGVQYWdlXG4+XG4gIDx0aGVhZD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPHRyPlxuICAgICAgPCEtLSDluo/lj7fliJfmoIfpopggLS0+XG4gICAgICA8dGggKm5nSWY9XCJlbmFibGVOb1wiIFtuekFsaWduXT1cInRhYmxlQWxpZ25cIiBbbnpXaWR0aF09XCJzZXJpYWxOdW1iZXJXaWR0aFwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFzZXJpYWxOdW1iZXJUZW1wbGF0ZVwiPiDluo/lj7cgPC9zcGFuPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VyaWFsTnVtYmVyVGVtcGxhdGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VyaWFsTnVtYmVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RoPlxuICAgICAgPCEtLSDooajljZXliJdmb3JtIGhlYWRlciAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaGVhZGVyQ29uZmlnOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pc1Nob3dcIj5cbiAgICAgICAgICA8dGhcbiAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgW256QWxpZ25dPVwidGFibGVBbGlnblwiXG4gICAgICAgICAgICBbbnpXaWR0aF09XCJpdGVtLndpZHRoIVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiaXRlbS5zaG93UmVxdWlyZWRUaXBcIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiAncmVkJyB9XCI+XG4gICAgICAgICAgICAgICpcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICB7eyBpdGVtLmhlYWRlciB9fVxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgW256QWxpZ25dPVwidGFibGVBbGlnblwiXG4gICAgICAgICAgICBbbnpXaWR0aF09XCJpdGVtLndpZHRoIVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLCBpbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8IS0tIOiHquWumuS5ieWxleekuuWIl2hlYWRlciAtLT5cbiAgICAgIDx0aFxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aFRlbXBsYXRlT2ZOdWxsSW5Gb3JtOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW256QWxpZ25dPVwidGFibGVBbGlnblwiXG4gICAgICAgIFtueldpZHRoXT1cIml0ZW0ud2lkdGghXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBpdGVtLnRlbXBsYXRlUmVmO1xuICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGZvcm0sIGluZGV4OiBpLCBkaXNhYmxlZDogaXNEaXNhYmxlZCB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cblxuICA8dGJvZHkgZm9ybUFycmF5TmFtZT1cImZvcm1BcnJheVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZnIG9mIGJhc2ljVGFibGUuZGF0YTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgPHRyPlxuICAgICAgICA8IS0tIOW6j+WPt+WIlyAtLT5cbiAgICAgICAgPHRkICpuZ0lmPVwiZW5hYmxlTm9cIiBbbnpBbGlnbl09XCJ0YWJsZUFsaWduXCI+XG4gICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPCEtLSDooajljZXliJflsIbmlL7ov5tmb3JtIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZmdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRkQ29uZmlnXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5pc1Nob3dcIj5cbiAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiIWl0ZW0udGVtcGxhdGVSZWZcIiBbbnpBbGlnbl09XCJ0YWJsZUFsaWduXCI+XG4gICAgICAgICAgICAgICAgPG56LWZvcm0taXRlbSBbbmdTdHlsZV09XCJ7ICdtYXJnaW4tYm90dG9tJzogMCB9XCI+XG4gICAgICAgICAgICAgICAgICA8bnotZm9ybS1jb250cm9sIFtuekVycm9yVGlwXT1cIml0ZW0uZXJyb3JUaXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9PT0gJ2lucHV0JyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jb250cm9sTW9kZSAhPT0gJ3JlYWRvbmx5JyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgISFpdGVtLmNvbnRyb2xOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyIHx8ICfor7fovpPlhaUnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiaXRlbS5tYXhMZW5ndGghXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID09PSAndGV4dGFyZWEnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIG56LWlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgW256QXV0b3NpemVdPVwieyBtaW5Sb3dzOiAzIH1cIlxuICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyIHx8ICfor7fovpPlhaUnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiaXRlbS5tYXhMZW5ndGghXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG5cbiAgICAgICAgICAgICAgICAgICAgPG56LWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT09ICdudW1iZXInICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICdhdXRvJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuek1pbl09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbnpTdGVwXT1cIjFcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuek1heF09XCJpdGVtLm1heCFcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuelBsYWNlSG9sZGVyXT1cIml0ZW0ucGxhY2Vob2xkZXIgfHwgJ+i+k+WFpeaVsOWtlydcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbnotaW5wdXQtbnVtYmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuei1kYXRlLXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT09ICdkYXRlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jb250cm9sTW9kZSAhPT0gJ3JlYWRvbmx5JyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgISFpdGVtLmNvbnRyb2xOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbnotZGF0ZS1waWNrZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG56LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPT09ICdzZWxlY3QnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIG56U2hvd1NlYXJjaD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuekFsbG93Q2xlYXJdPVwiaXRlbS5hbGxvd0NsZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuelBsYWNlSG9sZGVyXT1cIml0ZW0ucGxhY2Vob2xkZXIgfHwgJ+ivt+mAieaLqSdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPG56LW9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgW256VmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuekxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGl0ZW0ub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbnotb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L256LXNlbGVjdD5cblxuICAgICAgICAgICAgICAgICAgICA8bnotcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID09PSAncmFkaW8nICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2xNb2RlICE9PSAncmVhZG9ubHknICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWl0ZW0uY29udHJvbE5hbWVcbiAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5jb250cm9sTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaXRlbS5vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG56LXJhZGlvXG4gICAgICAgICAgICAgICAgICAgICAgICBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvbnotcmFkaW8tZ3JvdXA+XG5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmNvbnRyb2xNb2RlID09PSAncmVhZG9ubHknXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZm9ybWF0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmZvcm1hdChmZy5nZXQoaXRlbS5jb250cm9sTmFtZSk/LnZhbHVlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXRlbS5mb3JtYXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZnLmdldChpdGVtLmNvbnRyb2xOYW1lKT8udmFsdWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPC9uei1mb3JtLWl0ZW0+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udGVtcGxhdGVSZWZcIj5cbiAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXRlbS5pc1Nob3dcIiBbbnpBbGlnbl09XCJ0YWJsZUFsaWduXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGZnLFxuICAgICAgICAgICAgICAgICAgICBjb25maWc6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sOiBmZy5nZXQoaXRlbS5jb250cm9sTmFtZSksXG4gICAgICAgICAgICAgICAgICAgIGVycm9yVGlwOiBpdGVtLmVycm9yVGlwLFxuICAgICAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSDoh6rlrprkuYnlsZXnpLrliJcgLS0+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0ZFRlbXBsYXRlT2ZOdWxsSW5Gb3JtXCIgW256QWxpZ25dPVwidGFibGVBbGlnblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBmZyxcbiAgICAgICAgICAgICAgaW5kZXg6IGksXG4gICAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyICpuZ0lmPVwiZW5hYmxlRXhwYW5kXCIgW256RXhwYW5kXT1cImZnLnZhbHVlLmV4cGFuZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVFeHBhbmREaXJlY3RpdmU/LnRlbXBsYXRlUmVmIVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDogZmcsXG4gICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyICpuZ0lmPVwiZm9ybS5nZXQoJ2Zvcm1BcnJheScpPy5lcnJvcnNcIiBbbnpFeHBhbmRdPVwidHJ1ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlcnJvclRlbXBsYXRlIVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogZm9ybS5nZXQoJ2Zvcm1BcnJheScpIH1cIlxuICAgICAgPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvbnotdGFibGU+XG4iXX0=
|
|
@@ -14,8 +14,8 @@ import { NzxTableFormThDirective } from './directive/table-th.directive';
|
|
|
14
14
|
import { NzxTableFormComponent } from './table-form.component';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
export class NzxTableFormModule {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NzxTableFormModule, declarations: [NzxTableFormComponent,
|
|
19
19
|
NzxTableFormTdDirective,
|
|
20
20
|
NzxTableFormThDirective,
|
|
21
21
|
NzxTableFormExpandDirective], imports: [CommonModule,
|
|
@@ -30,7 +30,7 @@ export class NzxTableFormModule {
|
|
|
30
30
|
NzxTableFormTdDirective,
|
|
31
31
|
NzxTableFormThDirective,
|
|
32
32
|
NzxTableFormExpandDirective] }); }
|
|
33
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
33
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableFormModule, imports: [CommonModule,
|
|
34
34
|
ReactiveFormsModule,
|
|
35
35
|
NzFormModule,
|
|
36
36
|
NzTableModule,
|
|
@@ -40,7 +40,7 @@ export class NzxTableFormModule {
|
|
|
40
40
|
NzDatePickerModule,
|
|
41
41
|
NzInputNumberModule] }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableFormModule, decorators: [{
|
|
44
44
|
type: NgModule,
|
|
45
45
|
args: [{
|
|
46
46
|
declarations: [
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
68
68
|
],
|
|
69
69
|
}]
|
|
70
70
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RhYmxlLWZvcm0vdGFibGUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUE0Qi9ELE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQXhCM0IscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsMkJBQTJCLGFBRzNCLFlBQVk7WUFDWixtQkFBbUI7WUFFbkIsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsbUJBQW1CLGFBR25CLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsdUJBQXVCO1lBQ3ZCLDJCQUEyQjtnSEFHbEIsa0JBQWtCLFlBbEIzQixZQUFZO1lBQ1osbUJBQW1CO1lBRW5CLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLG1CQUFtQjs7NEZBU1Ysa0JBQWtCO2tCQTFCOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBRW5CLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE56RGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZGF0ZS1waWNrZXInO1xuaW1wb3J0IHsgTnpGb3JtTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9mb3JtJztcbmltcG9ydCB7IE56SW5wdXRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2lucHV0JztcbmltcG9ydCB7IE56SW5wdXROdW1iZXJNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2lucHV0LW51bWJlcic7XG5pbXBvcnQgeyBOelJhZGlvTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9yYWRpbyc7XG5pbXBvcnQgeyBOelNlbGVjdE1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvc2VsZWN0JztcbmltcG9ydCB7IE56VGFibGVNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RhYmxlJztcblxuaW1wb3J0IHsgTnp4VGFibGVGb3JtRXhwYW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvdGFibGUtZXhwYW5kLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOenhUYWJsZUZvcm1UZERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL3RhYmxlLXRkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOenhUYWJsZUZvcm1UaERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL3RhYmxlLXRoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOenhUYWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWZvcm0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTnp4VGFibGVGb3JtQ29tcG9uZW50LFxuICAgIE56eFRhYmxlRm9ybVRkRGlyZWN0aXZlLFxuICAgIE56eFRhYmxlRm9ybVRoRGlyZWN0aXZlLFxuICAgIE56eFRhYmxlRm9ybUV4cGFuZERpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgTnpGb3JtTW9kdWxlLFxuICAgIE56VGFibGVNb2R1bGUsXG4gICAgTnpSYWRpb01vZHVsZSxcbiAgICBOeklucHV0TW9kdWxlLFxuICAgIE56U2VsZWN0TW9kdWxlLFxuICAgIE56RGF0ZVBpY2tlck1vZHVsZSxcbiAgICBOeklucHV0TnVtYmVyTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTnp4VGFibGVGb3JtQ29tcG9uZW50LFxuICAgIE56eFRhYmxlRm9ybVRkRGlyZWN0aXZlLFxuICAgIE56eFRhYmxlRm9ybVRoRGlyZWN0aXZlLFxuICAgIE56eFRhYmxlRm9ybUV4cGFuZERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnp4VGFibGVGb3JtTW9kdWxlIHt9XG4iXX0=
|
|
@@ -110,10 +110,10 @@ export class NzxAbstractTableSelect {
|
|
|
110
110
|
}
|
|
111
111
|
return this.getValue(obj[keys[0]], keys.slice(1));
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
114
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxAbstractTableSelect, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
114
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NzxAbstractTableSelect, inputs: { controls: "controls", checkboxWidth: "checkboxWidth", uniqueKey: "uniqueKey", nzxBtnSpan: "nzxBtnSpan", nzxCollapse: "nzxCollapse", list: "list", mode: "mode", tableConfig: "tableConfig" }, outputs: { nzxQueryParamsChange: "nzxQueryParamsChange" }, queries: [{ propertyName: "dirs", predicate: NzxKeyDirective }], ngImport: i0 }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxAbstractTableSelect, decorators: [{
|
|
117
117
|
type: Directive
|
|
118
118
|
}], propDecorators: { controls: [{
|
|
119
119
|
type: Input
|
|
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
137
137
|
type: ContentChildren,
|
|
138
138
|
args: [NzxKeyDirective]
|
|
139
139
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUtc2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy90YWJsZS1zZWxlY3QvYWJzdHJhY3QtdGFibGUtc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJbEQ7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLHNCQUFzQjtJQUQ1QztRQUlXLGFBQVEsR0FBa0MsRUFBRSxDQUFDO1FBQzdDLGtCQUFhLEdBQUcsTUFBTSxDQUFDO1FBQ2hDO2lFQUN5RDtRQUNoRCxjQUFTLEdBQXNCLElBQUksQ0FBQztRQUNwQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFFOUMsQ0FBQztRQUVKOzs7O1dBSUc7UUFDTSxTQUFJLEdBQW9CLFFBQVEsQ0FBQztRQUVqQyxnQkFBVyxHQUFnQyxFQUFFLENBQUM7UUFFdkQsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztRQUM1QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFWCxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FzRzFDO0lBcEdDLGtCQUFrQjtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMs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TUFBTSxLQUFLLENBQUMsRUFBRTtZQUNyQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7OEdBdEltQixzQkFBc0I7a0dBQXRCLHNCQUFzQixrVEE4QnpCLGVBQWU7OzJGQTlCWixzQkFBc0I7a0JBRDNDLFNBQVM7OEJBSUMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBU0UsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT29DLElBQUk7c0JBQTdDLGVBQWU7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIE56eFF1ZXJ5Q29udHJvbE9wdGlvbnMsXG4gIE56eFF1ZXJ5UGFyYW1zLFxufSBmcm9tICduZy16b3Jyby1hbnRkLWV4dGVuc2lvbi9jb25maWd1cmFibGUtcXVlcnknO1xuaW1wb3J0IHsgTnp4S2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9rZXkuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBhZ2VUYWJsZVJlcXVpcmUsIFRhYmxlU2VsZWN0Q29uZmlnLCBUYWJsZVNlbGVjdE1vZGUgfSBmcm9tICcuL3R5cGUnO1xuaW1wb3J0IHsgTnp4VGFibGVRdWVyeVBhcmFtcyB9IGZyb20gJ25nLXpvcnJvLWFudGQtZXh0ZW5zaW9uL3RhYmxlLWFkYXB0b3InO1xuXG4vKipcbiAqIHRhYmxl6YCJ5oup5Z+657G777yM5Y+v5Lul6Ieq5bex5a6e546w55u45YWz57uE5Lu2XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE56eEFic3RyYWN0VGFibGVTZWxlY3Q8VCBleHRlbmRzIFBhZ2VUYWJsZVJlcXVpcmU+XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXRcbntcbiAgQElucHV0KCkgY29udHJvbHM6IEFycmF5PE56eFF1ZXJ5Q29udHJvbE9wdGlvbnM+ID0gW107XG4gIEBJbnB1dCgpIGNoZWNrYm94V2lkdGggPSAnMjBweCc7XG4gIC8qKiDllK/kuIDmoIfor4blrZfmrrXvvIzpu5jorqTlrZfmrrXkuLppZCwg5Y+v5Lul5L2/55SoLuWIhumalOWxgue6p1xuICAgKiDmr5TlpoJsb2dpbuWvueixoeS4i+eahHV1aWTlj6/ku6Xkvb/nlKjkvKDlhaUnbG9naW4udXVpZCfnrYnlkIzkuo5bJ2xvZ2luJywndXVpZCddKi9cbiAgQElucHV0KCkgdW5pcXVlS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICdpZCc7XG4gIEBJbnB1dCgpIG56eEJ0blNwYW4gPSAyNDtcbiAgQElucHV0KCkgbnp4Q29sbGFwc2UgPSBmYWxzZTtcbiAgQElucHV0KCkgbGlzdDogVFtdID0gW107XG5cbiAgQE91dHB1dCgpIG56eFF1ZXJ5UGFyYW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBOenhUYWJsZVF1ZXJ5UGFyYW1zIHwgTnp4UXVlcnlQYXJhbXNcbiAgPigpO1xuXG4gIC8qKlxuICAgKiDnu4Tku7bmqKHlvI/vvIzmlK/mjIHlpJrpgInljZXpgInvvIzpu5jorqTljZXpgIlcbiAgICogIC0gc2luZ2xlIOWNlemAiVxuICAgKiAgLSBtdWx0aXBsZSDlpJrpgIlcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6IFRhYmxlU2VsZWN0TW9kZSA9ICdzaW5nbGUnO1xuXG4gIEBJbnB1dCgpIHRhYmxlQ29uZmlnOiBBcnJheTxUYWJsZVNlbGVjdENvbmZpZzxUPj4gPSBbXTtcblxuICBzZWxlY3RlZERhdGE6IFRbXSA9IFtdO1xuICBzZXRPZkNoZWNrZWRJZCA9IG5ldyBTZXQ8bnVtYmVyIHwgc3RyaW5nPigpO1xuICBjaGVja2VkID0gZmFsc2U7XG4gIGluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkcmVuKE56eEtleURpcmVjdGl2ZSkgcHJpdmF0ZSBkaXJzITogUXVlcnlMaXN0PE56eEtleURpcmVjdGl2ZT47XG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5kaXJzLnRvQXJyYXkoKTtcbiAgICBsaXN0LmZvckVhY2goKGQpID0+IHtcbiAgICAgIGNvbnN0IGMgPSB0aGlzLnRhYmxlQ29uZmlnPy5maW5kKCh0KSA9PiB0LmtleSA9PT0gZC5rZXkpO1xuICAgICAgaWYgKGMpIHtcbiAgICAgICAgYy50ZW1wbGF0ZSA9IGQudGVtcGxhdGVSZWY7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55W10pOiB2b2lkIHtcbiAgICBpZiAob2JqKSB7XG4gICAgICBvYmouZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrZWRTZXQoaSwgdHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcbiAgfVxuXG4gIHVwZGF0ZURpc2FibGVkU3RhdGUoKSB7XG4gICAgdGhpcy5saXN0ID0gdGhpcy5saXN0Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKiog5pu05paw6YCJ5Lit6ZuG5ZCIICovXG4gIHVwZGF0ZUNoZWNrZWRTZXQoZGF0YTogVCwgY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgICB0aGlzLnNldE9mQ2hlY2tlZElkLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gW107XG4gICAgICB9XG4gICAgICB0aGlzLnNldE9mQ2hlY2tlZElkLmFkZCh0aGlzLmdldFZhbHVlKGRhdGEsIHRoaXMudW5pcXVlS2V5KSk7XG4gICAgICBjb25zdCBleGl0ZWQgPSB0aGlzLnNlbGVjdGVkRGF0YS5zb21lKFxuICAgICAgICAoaSkgPT5cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGksIHRoaXMudW5pcXVlS2V5KSA9PT1cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGRhdGEsIHRoaXMudW5pcXVlS2V5KVxuICAgICAgKTtcbiAgICAgIGlmICghZXhpdGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRhLnB1c2goZGF0YSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0T2ZDaGVja2VkSWQuZGVsZXRlKHRoaXMuZ2V0VmFsdWUoZGF0YSwgdGhpcy51bmlxdWVLZXkpKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZERhdGEuZmlsdGVyKFxuICAgICAgICAoaSkgPT5cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGksIHRoaXMudW5pcXVlS2V5KSA9PT1cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGRhdGEsIHRoaXMudW5pcXVlS2V5KVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGEpO1xuICB9XG5cbiAgLyoqKiDlhajpgIkgKi9cbiAgb25BbGxDaGVja2VkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW0pID0+IHRoaXMudXBkYXRlQ2hlY2tlZFNldChpdGVtLCB2YWx1ZSkpO1xuICAgIHRoaXMucmVmcmVzaENoZWNrZWRTdGF0dXMoKTtcbiAgfVxuXG4gIC8qKiog5Yi35pawY2hlY2tib3jpgInkuK3nirbmgIEgKi9cbiAgcmVmcmVzaENoZWNrZWRTdGF0dXMoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gdGhpcy5saXN0Py5ldmVyeSgoaXRlbSkgPT5cbiAgICAgIHRoaXMuc2V0T2ZDaGVja2VkSWQuaGFzKHRoaXMuZ2V0VmFsdWUoaXRlbSwgdGhpcy51bmlxdWVLZXkpKVxuICAgICk7XG4gICAgdGhpcy5pbmRldGVybWluYXRlID1cbiAgICAgIHRoaXMubGlzdD8uc29tZSgoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5zZXRPZkNoZWNrZWRJZC5oYXModGhpcy5nZXRWYWx1ZShpdGVtLCB0aGlzLnVuaXF1ZUtleSkpXG4gICAgICApICYmICF0aGlzLmNoZWNrZWQ7XG4gIH1cblxuICAvKioqIOavj+adoWNoZWNrYm946YCJ5LitKi9cbiAgb25JdGVtQ2hlY2tlZChkYXRhOiBULCBjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDaGVja2VkU2V0KGRhdGEsIGNoZWNrZWQpO1xuICAgIHRoaXMucmVmcmVzaENoZWNrZWRTdGF0dXMoKTtcbiAgfVxuXG4gIGdldFZhbHVlKG9iajogYW55LCBrZXlzOiBzdHJpbmdbXSB8IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFvYmogfHwgIWtleXMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0eXBlb2Yga2V5cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGtleXMgPSBrZXlzLnNwbGl0KCcuJyk7XG4gICAgfVxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIG9ialtrZXlzWzBdXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUob2JqW2tleXNbMF1dLCBrZXlzLnNsaWNlKDEpKTtcbiAgfVxufVxuIl19
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUtc2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy90YWJsZS1zZWxlY3QvYWJzdHJhY3QtdGFibGUtc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJbEQ7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLHNCQUFzQjtJQUQ1QztRQUlXLGFBQVEsR0FBa0MsRUFBRSxDQUFDO1FBQzdDLGtCQUFhLEdBQUcsTUFBTSxDQUFDO1FBQ2hDO2lFQUN5RDtRQUNoRCxjQUFTLEdBQXNCLElBQUksQ0FBQztRQUNwQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLFNBQUksR0FBUSxFQUFFLENBQUM7UUFFZCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFFOUMsQ0FBQztRQUVKOzs7O1dBSUc7UUFDTSxTQUFJLEdBQW9CLFFBQVEsQ0FBQztRQUVqQyxnQkFBVyxHQUFnQyxFQUFFLENBQUM7UUFFdkQsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztRQUM1QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBR3RCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFWCxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7S0FzRzFDO0lBcEdDLGtCQUFrQjtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMs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TUFBTSxLQUFLLENBQUMsRUFBRTtZQUNyQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBdEltQixzQkFBc0I7bUdBQXRCLHNCQUFzQixrVEE4QnpCLGVBQWU7OzRGQTlCWixzQkFBc0I7a0JBRDNDLFNBQVM7OEJBSUMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBU0UsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT29DLElBQUk7c0JBQTdDLGVBQWU7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIE56eFF1ZXJ5Q29udHJvbE9wdGlvbnMsXG4gIE56eFF1ZXJ5UGFyYW1zLFxufSBmcm9tICduZy16b3Jyby1hbnRkLWV4dGVuc2lvbi9jb25maWd1cmFibGUtcXVlcnknO1xuaW1wb3J0IHsgTnp4S2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9rZXkuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBhZ2VUYWJsZVJlcXVpcmUsIFRhYmxlU2VsZWN0Q29uZmlnLCBUYWJsZVNlbGVjdE1vZGUgfSBmcm9tICcuL3R5cGUnO1xuaW1wb3J0IHsgTnp4VGFibGVRdWVyeVBhcmFtcyB9IGZyb20gJ25nLXpvcnJvLWFudGQtZXh0ZW5zaW9uL3RhYmxlLWFkYXB0b3InO1xuXG4vKipcbiAqIHRhYmxl6YCJ5oup5Z+657G777yM5Y+v5Lul6Ieq5bex5a6e546w55u45YWz57uE5Lu2XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE56eEFic3RyYWN0VGFibGVTZWxlY3Q8VCBleHRlbmRzIFBhZ2VUYWJsZVJlcXVpcmU+XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXRcbntcbiAgQElucHV0KCkgY29udHJvbHM6IEFycmF5PE56eFF1ZXJ5Q29udHJvbE9wdGlvbnM+ID0gW107XG4gIEBJbnB1dCgpIGNoZWNrYm94V2lkdGggPSAnMjBweCc7XG4gIC8qKiDllK/kuIDmoIfor4blrZfmrrXvvIzpu5jorqTlrZfmrrXkuLppZCwg5Y+v5Lul5L2/55SoLuWIhumalOWxgue6p1xuICAgKiDmr5TlpoJsb2dpbuWvueixoeS4i+eahHV1aWTlj6/ku6Xkvb/nlKjkvKDlhaUnbG9naW4udXVpZCfnrYnlkIzkuo5bJ2xvZ2luJywndXVpZCddKi9cbiAgQElucHV0KCkgdW5pcXVlS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICdpZCc7XG4gIEBJbnB1dCgpIG56eEJ0blNwYW4gPSAyNDtcbiAgQElucHV0KCkgbnp4Q29sbGFwc2UgPSBmYWxzZTtcbiAgQElucHV0KCkgbGlzdDogVFtdID0gW107XG5cbiAgQE91dHB1dCgpIG56eFF1ZXJ5UGFyYW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBOenhUYWJsZVF1ZXJ5UGFyYW1zIHwgTnp4UXVlcnlQYXJhbXNcbiAgPigpO1xuXG4gIC8qKlxuICAgKiDnu4Tku7bmqKHlvI/vvIzmlK/mjIHlpJrpgInljZXpgInvvIzpu5jorqTljZXpgIlcbiAgICogIC0gc2luZ2xlIOWNlemAiVxuICAgKiAgLSBtdWx0aXBsZSDlpJrpgIlcbiAgICovXG4gIEBJbnB1dCgpIG1vZGU6IFRhYmxlU2VsZWN0TW9kZSA9ICdzaW5nbGUnO1xuXG4gIEBJbnB1dCgpIHRhYmxlQ29uZmlnOiBBcnJheTxUYWJsZVNlbGVjdENvbmZpZzxUPj4gPSBbXTtcblxuICBzZWxlY3RlZERhdGE6IFRbXSA9IFtdO1xuICBzZXRPZkNoZWNrZWRJZCA9IG5ldyBTZXQ8bnVtYmVyIHwgc3RyaW5nPigpO1xuICBjaGVja2VkID0gZmFsc2U7XG4gIGluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkcmVuKE56eEtleURpcmVjdGl2ZSkgcHJpdmF0ZSBkaXJzITogUXVlcnlMaXN0PE56eEtleURpcmVjdGl2ZT47XG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBsaXN0ID0gdGhpcy5kaXJzLnRvQXJyYXkoKTtcbiAgICBsaXN0LmZvckVhY2goKGQpID0+IHtcbiAgICAgIGNvbnN0IGMgPSB0aGlzLnRhYmxlQ29uZmlnPy5maW5kKCh0KSA9PiB0LmtleSA9PT0gZC5rZXkpO1xuICAgICAgaWYgKGMpIHtcbiAgICAgICAgYy50ZW1wbGF0ZSA9IGQudGVtcGxhdGVSZWY7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55W10pOiB2b2lkIHtcbiAgICBpZiAob2JqKSB7XG4gICAgICBvYmouZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUNoZWNrZWRTZXQoaSwgdHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcbiAgfVxuXG4gIHVwZGF0ZURpc2FibGVkU3RhdGUoKSB7XG4gICAgdGhpcy5saXN0ID0gdGhpcy5saXN0Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKiog5pu05paw6YCJ5Lit6ZuG5ZCIICovXG4gIHVwZGF0ZUNoZWNrZWRTZXQoZGF0YTogVCwgY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgICB0aGlzLnNldE9mQ2hlY2tlZElkLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gW107XG4gICAgICB9XG4gICAgICB0aGlzLnNldE9mQ2hlY2tlZElkLmFkZCh0aGlzLmdldFZhbHVlKGRhdGEsIHRoaXMudW5pcXVlS2V5KSk7XG4gICAgICBjb25zdCBleGl0ZWQgPSB0aGlzLnNlbGVjdGVkRGF0YS5zb21lKFxuICAgICAgICAoaSkgPT5cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGksIHRoaXMudW5pcXVlS2V5KSA9PT1cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGRhdGEsIHRoaXMudW5pcXVlS2V5KVxuICAgICAgKTtcbiAgICAgIGlmICghZXhpdGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRhLnB1c2goZGF0YSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0T2ZDaGVja2VkSWQuZGVsZXRlKHRoaXMuZ2V0VmFsdWUoZGF0YSwgdGhpcy51bmlxdWVLZXkpKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZERhdGEuZmlsdGVyKFxuICAgICAgICAoaSkgPT5cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGksIHRoaXMudW5pcXVlS2V5KSA9PT1cbiAgICAgICAgICB0aGlzLmdldFZhbHVlKGRhdGEsIHRoaXMudW5pcXVlS2V5KVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGEpO1xuICB9XG5cbiAgLyoqKiDlhajpgIkgKi9cbiAgb25BbGxDaGVja2VkKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW0pID0+IHRoaXMudXBkYXRlQ2hlY2tlZFNldChpdGVtLCB2YWx1ZSkpO1xuICAgIHRoaXMucmVmcmVzaENoZWNrZWRTdGF0dXMoKTtcbiAgfVxuXG4gIC8qKiog5Yi35pawY2hlY2tib3jpgInkuK3nirbmgIEgKi9cbiAgcmVmcmVzaENoZWNrZWRTdGF0dXMoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gdGhpcy5saXN0Py5ldmVyeSgoaXRlbSkgPT5cbiAgICAgIHRoaXMuc2V0T2ZDaGVja2VkSWQuaGFzKHRoaXMuZ2V0VmFsdWUoaXRlbSwgdGhpcy51bmlxdWVLZXkpKVxuICAgICk7XG4gICAgdGhpcy5pbmRldGVybWluYXRlID1cbiAgICAgIHRoaXMubGlzdD8uc29tZSgoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5zZXRPZkNoZWNrZWRJZC5oYXModGhpcy5nZXRWYWx1ZShpdGVtLCB0aGlzLnVuaXF1ZUtleSkpXG4gICAgICApICYmICF0aGlzLmNoZWNrZWQ7XG4gIH1cblxuICAvKioqIOavj+adoWNoZWNrYm946YCJ5LitKi9cbiAgb25JdGVtQ2hlY2tlZChkYXRhOiBULCBjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVDaGVja2VkU2V0KGRhdGEsIGNoZWNrZWQpO1xuICAgIHRoaXMucmVmcmVzaENoZWNrZWRTdGF0dXMoKTtcbiAgfVxuXG4gIGdldFZhbHVlKG9iajogYW55LCBrZXlzOiBzdHJpbmdbXSB8IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFvYmogfHwgIWtleXMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0eXBlb2Yga2V5cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGtleXMgPSBrZXlzLnNwbGl0KCcuJyk7XG4gICAgfVxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIG9ialtrZXlzWzBdXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUob2JqW2tleXNbMF1dLCBrZXlzLnNsaWNlKDEpKTtcbiAgfVxufVxuIl19
|
|
@@ -5,10 +5,10 @@ export class NzxKeyDirective {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.templateRef = inject(TemplateRef);
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NzxKeyDirective, selector: "[nzxTableSelectKey]", inputs: { key: ["nzxTableSelectKey", "key"] }, exportAs: ["NzxTableSelectKey"], ngImport: i0 }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxKeyDirective, decorators: [{
|
|
12
12
|
type: Directive,
|
|
13
13
|
args: [{
|
|
14
14
|
selector: '[nzxTableSelectKey]',
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
18
18
|
type: Input,
|
|
19
19
|
args: ['nzxTableSelectKey']
|
|
20
20
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbXBvbmVudHMvdGFibGUtc2VsZWN0L2tleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXRFLE1BQU0sT0FBTyxlQUFlO0lBSjVCO1FBTUUsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDbkM7K0dBSFksZUFBZTttR0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzhCQUU2QixHQUFHO3NCQUE5QixLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3IgKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW256eFRhYmxlU2VsZWN0S2V5XScsXG4gIGV4cG9ydEFzOiAnTnp4VGFibGVTZWxlY3RLZXknLFxufSlcbmV4cG9ydCBjbGFzcyBOenhLZXlEaXJlY3RpdmUge1xuICBASW5wdXQoJ256eFRhYmxlU2VsZWN0S2V5Jykga2V5ITogc3RyaW5nO1xuICB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG4iXX0=
|
|
@@ -9,8 +9,8 @@ import { NzxTableSelectComponent } from './table-select/table-select.component';
|
|
|
9
9
|
import { NzxPipesModule } from 'ng-zorro-antd-extension/pipes';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class NzxTableSelectModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NzxTableSelectModule, declarations: [NzxKeyDirective,
|
|
14
14
|
NzxTableSelectComponent,
|
|
15
15
|
NzxPageTableSelectComponent], imports: [CommonModule,
|
|
16
16
|
NzTableModule,
|
|
@@ -19,13 +19,13 @@ export class NzxTableSelectModule {
|
|
|
19
19
|
NzxPipesModule], exports: [NzxKeyDirective,
|
|
20
20
|
NzxTableSelectComponent,
|
|
21
21
|
NzxPageTableSelectComponent] }); }
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableSelectModule, imports: [CommonModule,
|
|
23
23
|
NzTableModule,
|
|
24
24
|
NzxConfigurableQueryModule,
|
|
25
25
|
NzxTableAdaptorModule,
|
|
26
26
|
NzxPipesModule] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxTableSelectModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
declarations: [
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
47
47
|
],
|
|
48
48
|
}]
|
|
49
49
|
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnp4LXRhYmxlLXNlbGVjdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL3RhYmxlLXNlbGVjdC9uengtdGFibGUtc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFxQi9ELE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQWpCN0IsZUFBZTtZQUNmLHVCQUF1QjtZQUN2QiwyQkFBMkIsYUFHM0IsWUFBWTtZQUNaLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIscUJBQXFCO1lBQ3JCLGNBQWMsYUFHZCxlQUFlO1lBQ2YsdUJBQXVCO1lBQ3ZCLDJCQUEyQjtnSEFHbEIsb0JBQW9CLFlBWjdCLFlBQVk7WUFDWixhQUFhO1lBQ2IsMEJBQTBCO1lBQzFCLHFCQUFxQjtZQUNyQixjQUFjOzs0RkFRTCxvQkFBb0I7a0JBbkJoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIscUJBQXFCO3dCQUNyQixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBOelRhYmxlTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90YWJsZSc7XG5cbmltcG9ydCB7IE56eFRhYmxlQWRhcHRvck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQtZXh0ZW5zaW9uL3RhYmxlLWFkYXB0b3InO1xuaW1wb3J0IHsgTnp4Q29uZmlndXJhYmxlUXVlcnlNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkLWV4dGVuc2lvbi9jb25maWd1cmFibGUtcXVlcnknO1xuaW1wb3J0IHsgTnp4UGFnZVRhYmxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLXRhYmxlLXNlbGVjdC9wYWdlLXRhYmxlLXNlbGVjdC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBOenhLZXlEaXJlY3RpdmUgfSBmcm9tICcuL2tleS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTnp4VGFibGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLXNlbGVjdC90YWJsZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IE56eFBpcGVzTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC1leHRlbnNpb24vcGlwZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBOenhLZXlEaXJlY3RpdmUsXG4gICAgTnp4VGFibGVTZWxlY3RDb21wb25lbnQsXG4gICAgTnp4UGFnZVRhYmxlU2VsZWN0Q29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE56VGFibGVNb2R1bGUsXG4gICAgTnp4Q29uZmlndXJhYmxlUXVlcnlNb2R1bGUsXG4gICAgTnp4VGFibGVBZGFwdG9yTW9kdWxlLFxuICAgIE56eFBpcGVzTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTnp4S2V5RGlyZWN0aXZlLFxuICAgIE56eFRhYmxlU2VsZWN0Q29tcG9uZW50LFxuICAgIE56eFBhZ2VUYWJsZVNlbGVjdENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTnp4VGFibGVTZWxlY3RNb2R1bGUge31cbiJdfQ==
|
|
@@ -29,8 +29,8 @@ export class NzxPageTableSelectComponent extends NzxAbstractTableSelect {
|
|
|
29
29
|
super.updateDisabledState();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxPageTableSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NzxPageTableSelectComponent, selector: "nzx-page-table-select", inputs: { loading: "loading", nzTotal: "nzTotal" }, providers: [
|
|
34
34
|
{
|
|
35
35
|
provide: NG_VALUE_ACCESSOR,
|
|
36
36
|
useExisting: forwardRef(() => NzxPageTableSelectComponent),
|
|
@@ -38,7 +38,7 @@ export class NzxPageTableSelectComponent extends NzxAbstractTableSelect {
|
|
|
38
38
|
},
|
|
39
39
|
], viewQueries: [{ propertyName: "nzxTableAdaptorRef", first: true, predicate: NzxTableAdaptor, descendants: true, static: true }], exportAs: ["NzxPageTableSelect"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<nzx-configurable-query\n [hidden]=\"controls && controls.length === 0\"\n #configQuery\n [controls]=\"controls\"\n [nzxBtnSpan]=\"nzxBtnSpan\"\n (queryChange)=\"adaptor.refresh()\"\n (resetChange)=\"adaptor.reset()\"\n>\n</nzx-configurable-query>\n\n<nz-table\n nzxTableAdaptor\n #adaptor=\"NzxTableAdaptor\"\n [queryParams]=\"configQuery.queryParams\"\n (nzxQueryParams)=\"nzxQueryParamsChange.emit($event)\"\n (nzxQueryCacheQueryParams)=\"configQuery.setQueryParams($event)\"\n #table\n [nzData]=\"list\"\n [nzLoading]=\"loading\"\n [nzTotal]=\"nzTotal\"\n>\n <thead>\n <tr>\n <th\n *ngIf=\"mode === 'single'\"\n [nzShowCheckbox]=\"false\"\n [nzWidth]=\"checkboxWidth\"\n ></th>\n <th\n *ngIf=\"mode === 'multiple'\"\n [nzWidth]=\"checkboxWidth\"\n [nzShowCheckbox]=\"table.data.length > 0\"\n [(nzChecked)]=\"checked\"\n [nzIndeterminate]=\"indeterminate\"\n [nzDisabled]=\"isDisabled\"\n (nzCheckedChange)=\"onAllChecked($event)\"\n ></th>\n <th nzAlign=\"center\" *ngFor=\"let item of tableConfig\">\n {{ item.label }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let data of table.data\">\n <td\n [nzChecked]=\"setOfCheckedId.has(this.getValue(data, this.uniqueKey))\"\n [nzDisabled]=\"data.disabled!\"\n (nzCheckedChange)=\"onItemChecked(data, $event)\"\n ></td>\n <td *ngFor=\"let item of tableConfig\">\n <ng-container *ngIf=\"!item.format && !item.template\">\n {{ data[item.key] | nzxSafeNull }}\n </ng-container>\n <ng-container *ngIf=\"item.format && !item.template\">\n {{ item.format(data) | nzxSafeNull }}\n </ng-container>\n <ng-container *ngIf=\"item.template\">\n <ng-container\n *ngTemplateOutlet=\"item.template; context: { $implicit: data }\"\n ></ng-container>\n </ng-container>\n </td>\n </tr>\n </tbody>\n</nz-table>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i2.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i2.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i2.NzTdAddOnComponent, selector: "td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]", inputs: ["nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzIndentSize", "nzShowExpand", "nzShowCheckbox", "nzExpand", "nzExpandIcon"], outputs: ["nzCheckedChange", "nzExpandChange"] }, { kind: "component", type: i2.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i2.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i2.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i2.NzCellAlignDirective, selector: "th[nzAlign],td[nzAlign]", inputs: ["nzAlign"] }, { kind: "component", type: i2.NzThSelectionComponent, selector: "th[nzSelections],th[nzChecked],th[nzShowCheckbox],th[nzShowRowSelection]", inputs: ["nzSelections", "nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzShowCheckbox", "nzShowRowSelection"], outputs: ["nzCheckedChange"] }, { kind: "component", type: i3.NzxConfigurableQueryComponent, selector: "nzx-configurable-query", inputs: ["controls", "nzxJustify", "nzxGutter", "lineNumber", "nzxBtnSpan", "initQuery", "fixedParams"], outputs: ["queryChange", "resetChange"], exportAs: ["NzxConfigurableQuery"] }, { kind: "directive", type: i4.NzxTableAdaptor, selector: "nz-table[nzxTableAdaptor]", inputs: ["queryParams", "enableCache", "dateFormat", "customFormateOutFn"], outputs: ["nzxQueryParams", "nzxQueryCacheQueryParams"], exportAs: ["NzxTableAdaptor"] }, { kind: "pipe", type: i5.NzxSafeNullPipe, name: "nzxSafeNull" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NzxPageTableSelectComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{ selector: 'nzx-page-table-select', providers: [
|
|
44
44
|
{
|
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
55
55
|
type: ViewChild,
|
|
56
56
|
args: [NzxTableAdaptor, { static: true }]
|
|
57
57
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10YWJsZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy90YWJsZS1zZWxlY3QvcGFnZS10YWJsZS1zZWxlY3QvcGFnZS10YWJsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy90YWJsZS1zZWxlY3QvcGFnZS10YWJsZS1zZWxlY3QvcGFnZS10YWJsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBR2xFOzs7O0dBSUc7QUFlSCxNQUFNLE9BQU8sMkJBQ1gsU0FBUSxzQkFBeUI7SUFmbkM7O1FBa0JFLG9CQUFvQjtRQUNYLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsWUFBWTtRQUNILFlBQU8sR0FBRyxDQUFDLENBQUM7UUFNYixPQUFFLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FReEM7SUFOQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVCLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzsrR0FwQlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsb0dBVjNCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztnQkFDMUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDhFQWNVLGVBQWUsNElDL0M1QixxK0RBaUVBOzs0RkQ1QmEsMkJBQTJCO2tCQWR2QyxTQUFTOytCQUNFLHVCQUF1QixhQUd0Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzs0QkFDMUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsb0JBQW9COzhCQU9yQixPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOenhUYWJsZUFkYXB0b3IgfSBmcm9tICduZy16b3Jyby1hbnRkLWV4dGVuc2lvbi90YWJsZS1hZGFwdG9yJztcbmltcG9ydCB7IE56eEFic3RyYWN0VGFibGVTZWxlY3QgfSBmcm9tICcuLi9hYnN0cmFjdC10YWJsZS1zZWxlY3QnO1xuaW1wb3J0IHsgUGFnZVRhYmxlUmVxdWlyZSB9IGZyb20gJy4uL3R5cGUnO1xuXG4vKipcbiAqIOmAmueUqHRhYmxl6YCJ5oup57uE5Lu277yM5pSv5oyB5YiG6aG177yM56Gu5L+dbGlzdOS4reacieWUr+S4gOagh+ivhuWtl+autVxuICogdW5pcXVlS2V56buY6K6k5Li6aWRcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ256eC1wYWdlLXRhYmxlLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXRhYmxlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2UtdGFibGUtc2VsZWN0LmNvbXBvbmVudC5sZXNzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTnp4UGFnZVRhYmxlU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBleHBvcnRBczogJ056eFBhZ2VUYWJsZVNlbGVjdCcsXG59KVxuZXhwb3J0IGNsYXNzIE56eFBhZ2VUYWJsZVNlbGVjdENvbXBvbmVudDxUIGV4dGVuZHMgUGFnZVRhYmxlUmVxdWlyZT5cbiAgZXh0ZW5kcyBOenhBYnN0cmFjdFRhYmxlU2VsZWN0PFQ+XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG4gIC8qKiBsb2FkaW5n5Yqg6L295p2h5qCH5b+X5L2NICovXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgLyoqIOWIhumhteaAu+adoeaVsCAqL1xuICBASW5wdXQoKSBuelRvdGFsID0gMDtcblxuICAvKiog6KGo5Y2V5oyH5Luk5a6e5L6L55So5p2l5Yi35paw6YeN572uICovXG4gIEBWaWV3Q2hpbGQoTnp4VGFibGVBZGFwdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbnp4VGFibGVBZGFwdG9yUmVmITogTnp4VGFibGVBZGFwdG9yO1xuXG4gIHByaXZhdGUgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snbGlzdCddIHx8IGNoYW5nZXNbJ256VG90YWwnXSkge1xuICAgICAgdGhpcy5yZWZyZXNoQ2hlY2tlZFN0YXR1cygpO1xuICAgICAgc3VwZXIudXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG56eC1jb25maWd1cmFibGUtcXVlcnlcbiAgW2hpZGRlbl09XCJjb250cm9scyAmJiBjb250cm9scy5sZW5ndGggPT09IDBcIlxuICAjY29uZmlnUXVlcnlcbiAgW2NvbnRyb2xzXT1cImNvbnRyb2xzXCJcbiAgW256eEJ0blNwYW5dPVwibnp4QnRuU3BhblwiXG4gIChxdWVyeUNoYW5nZSk9XCJhZGFwdG9yLnJlZnJlc2goKVwiXG4gIChyZXNldENoYW5nZSk9XCJhZGFwdG9yLnJlc2V0KClcIlxuPlxuPC9uengtY29uZmlndXJhYmxlLXF1ZXJ5PlxuXG48bnotdGFibGVcbiAgbnp4VGFibGVBZGFwdG9yXG4gICNhZGFwdG9yPVwiTnp4VGFibGVBZGFwdG9yXCJcbiAgW3F1ZXJ5UGFyYW1zXT1cImNvbmZpZ1F1ZXJ5LnF1ZXJ5UGFyYW1zXCJcbiAgKG56eFF1ZXJ5UGFyYW1zKT1cIm56eFF1ZXJ5UGFyYW1zQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gIChuenhRdWVyeUNhY2hlUXVlcnlQYXJhbXMpPVwiY29uZmlnUXVlcnkuc2V0UXVlcnlQYXJhbXMoJGV2ZW50KVwiXG4gICN0YWJsZVxuICBbbnpEYXRhXT1cImxpc3RcIlxuICBbbnpMb2FkaW5nXT1cImxvYWRpbmdcIlxuICBbbnpUb3RhbF09XCJuelRvdGFsXCJcbj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aFxuICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICdzaW5nbGUnXCJcbiAgICAgICAgW256U2hvd0NoZWNrYm94XT1cImZhbHNlXCJcbiAgICAgICAgW256V2lkdGhdPVwiY2hlY2tib3hXaWR0aFwiXG4gICAgICA+PC90aD5cbiAgICAgIDx0aFxuICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICBbbnpXaWR0aF09XCJjaGVja2JveFdpZHRoXCJcbiAgICAgICAgW256U2hvd0NoZWNrYm94XT1cInRhYmxlLmRhdGEubGVuZ3RoID4gMFwiXG4gICAgICAgIFsobnpDaGVja2VkKV09XCJjaGVja2VkXCJcbiAgICAgICAgW256SW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCJcbiAgICAgICAgW256RGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIChuekNoZWNrZWRDaGFuZ2UpPVwib25BbGxDaGVja2VkKCRldmVudClcIlxuICAgICAgPjwvdGg+XG4gICAgICA8dGggbnpBbGlnbj1cImNlbnRlclwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRhYmxlQ29uZmlnXCI+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgIDwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiB0YWJsZS5kYXRhXCI+XG4gICAgICA8dGRcbiAgICAgICAgW256Q2hlY2tlZF09XCJzZXRPZkNoZWNrZWRJZC5oYXModGhpcy5nZXRWYWx1ZShkYXRhLCB0aGlzLnVuaXF1ZUtleSkpXCJcbiAgICAgICAgW256RGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlZCFcIlxuICAgICAgICAobnpDaGVja2VkQ2hhbmdlKT1cIm9uSXRlbUNoZWNrZWQoZGF0YSwgJGV2ZW50KVwiXG4gICAgICA+PC90ZD5cbiAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZUNvbmZpZ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uZm9ybWF0ICYmICFpdGVtLnRlbXBsYXRlXCI+XG4gICAgICAgICAge3sgZGF0YVtpdGVtLmtleV0gfCBuenhTYWZlTnVsbCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZm9ybWF0ICYmICFpdGVtLnRlbXBsYXRlXCI+XG4gICAgICAgICAge3sgaXRlbS5mb3JtYXQoZGF0YSkgfCBuenhTYWZlTnVsbCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udGVtcGxhdGVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW0udGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBkYXRhIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L256LXRhYmxlPlxuIl19
|