@seniorsistemas/data-seniorx-core 3.4.0 → 3.5.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/core/constants/table.const.d.ts +2 -0
- package/esm2022/core/constants/table.const.mjs +15 -1
- package/esm2022/features/datepicker/datepicker.component.mjs +179 -9
- package/esm2022/features/nested-table/nested-table.component.mjs +3 -3
- package/esm2022/features/panel/panel.component.mjs +3 -3
- package/esm2022/features/table/components/table-actions-menu.component.mjs +47 -6
- package/esm2022/features/table/components/table-cell-content.component.mjs +3 -3
- package/esm2022/features/table/table.component.mjs +12 -5
- package/features/datepicker/datepicker.component.d.ts +14 -1
- package/features/table/components/table-actions-menu.component.d.ts +16 -1
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +254 -23
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/accessibility.scss +92 -0
- package/styles.css +89 -1
|
@@ -102,11 +102,11 @@ export class NestedTableComponent {
|
|
|
102
102
|
return [action, verb].filter(Boolean).join(' - ');
|
|
103
103
|
}
|
|
104
104
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NestedTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
105
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NestedTableComponent, isStandalone: true, selector: "sdc-nested-table", inputs: { groups: "groups", groupCols: "groupCols", itemCols: "itemCols", config: "config", loading: "loading", ariaLabel: "ariaLabel" }, outputs: { groupExpanded: "groupExpanded", groupCollapsed: "groupCollapsed", itemAction: "itemAction" }, ngImport: i0, template: "<div class=\"sdc-nested-table\" [attr.aria-label]=\"ariaLabel || null\">\n @if (summaryLabel() || headerHint()) {\n <div class=\"sdc-nested-table__meta\">\n @if (headerHint()) {\n <sdc-tooltip [pTooltip]=\"headerHint() | translate\" [tooltipPosition]=\"'right'\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-nested-table__hint\" [attr.aria-label]=\"hintAriaLabel | translate\">\n <i class=\"fas fa-info-circle sdc-nested-table__hint-icon\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n\n @if (summaryLabel()) {\n <span class=\"sdc-nested-table__summary\">{{ summaryLabel() }}</span>\n }\n </div>\n }\n\n <table class=\"sdc-nested-table__groups\">\n <thead>\n <tr>\n <th class=\"sdc-nested-table__toggle-col\" scope=\"col\">\n <span class=\"sr-only\">{{ groupToggleAriaLabel | translate }}</span>\n </th>\n\n @for (col of groupCols; track $index) {\n <th\n class=\"sdc-nested-table__th\"\n [class.sdc-nested-table__th--sortable]=\"isSortableColumn(col)\"\n scope=\"col\"\n [attr.aria-sort]=\"\n isSortableColumn(col)\n ? isActiveSort(col)\n ? (groupSortOrder() === 1 ? 'ascending' : 'descending')\n : 'none'\n : null\n \"\n [attr.tabindex]=\"isSortableColumn(col) ? 0 : null\"\n [attr.aria-describedby]=\"isSortableColumn(col) ? sortHintId(col) : null\"\n (click)=\"toggleGroupSort(col)\"\n (keydown.enter)=\"toggleGroupSort(col)\"\n (keydown.space)=\"$event.preventDefault(); toggleGroupSort(col)\"\n >\n <span class=\"sdc-nested-table__th-label\">{{ col.header | translate }}</span>\n\n @if (isSortableColumn(col)) {\n <span class=\"sr-only\" [id]=\"sortHintId(col)\">{{\n 'platform.datacore.accessibility_sortable_column' | translate\n }}</span>\n }\n\n @if (col.headerTooltip) {\n <sdc-tooltip\n class=\"sdc-nested-table__th-tooltip\"\n [pTooltip]=\"col.headerTooltip | translate\"\n [tooltipPosition]=\"col.headerTooltipPosition ?? 'top'\"\n [tooltipEvent]=\"col.headerTooltipEvent ?? 'hover'\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n\n <sdc-table-sort-indicator\n [columnField]=\"col.field ?? null\"\n [columnType]=\"col.type\"\n [sortField]=\"groupSortField()\"\n [sortOrder]=\"groupSortOrder()\"\n [sortable]=\"isSortableColumn(col)\"\n ></sdc-table-sort-indicator>\n </th>\n }\n </tr>\n </thead>\n\n <tbody>\n @for (entry of sortedGroups(); track groupKey(entry)) {\n <tr class=\"sdc-nested-table__group-row\">\n <td class=\"sdc-nested-table__toggle-col\">\n <button\n type=\"button\"\n class=\"sdc-nested-table__toggle\"\n [attr.aria-expanded]=\"isOpen(entry)\"\n [attr.aria-controls]=\"groupContentId(entry)\"\n [attr.aria-label]=\"resolveGroupToggleAriaLabel(entry)\"\n (click)=\"toggleGroup(entry)\"\n >\n <i class=\"fas\" [class.fa-plus]=\"!isOpen(entry)\" [class.fa-minus]=\"isOpen(entry)\" aria-hidden=\"true\"></i>\n </button>\n </td>\n\n @for (col of groupCols; track $index) {\n <td class=\"sdc-nested-table__td\">\n <sdc-table-cell-content\n [cellConfigs]=\"groupCellConfigs()\"\n [col]=\"col\"\n [resolveValue]=\"resolveGroupValue\"\n [row]=\"entry.group\"\n [rowLabel]=\"rowLabel\"\n ></sdc-table-cell-content>\n </td>\n }\n </tr>\n\n @if (isOpen(entry)) {\n <tr class=\"sdc-nested-table__item-row\">\n <td class=\"sdc-nested-table__item-cell\" [attr.colspan]=\"groupCols.length
|
|
105
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NestedTableComponent, isStandalone: true, selector: "sdc-nested-table", inputs: { groups: "groups", groupCols: "groupCols", itemCols: "itemCols", config: "config", loading: "loading", ariaLabel: "ariaLabel" }, outputs: { groupExpanded: "groupExpanded", groupCollapsed: "groupCollapsed", itemAction: "itemAction" }, ngImport: i0, template: "<div class=\"sdc-nested-table\" [attr.aria-label]=\"ariaLabel || null\">\n @if (summaryLabel() || headerHint()) {\n <div class=\"sdc-nested-table__meta\">\n @if (headerHint()) {\n <sdc-tooltip [pTooltip]=\"headerHint() | translate\" [tooltipPosition]=\"'right'\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-nested-table__hint\" [attr.aria-label]=\"hintAriaLabel | translate\">\n <i class=\"fas fa-info-circle sdc-nested-table__hint-icon\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n\n @if (summaryLabel()) {\n <span class=\"sdc-nested-table__summary\">{{ summaryLabel() }}</span>\n }\n </div>\n }\n\n <table class=\"sdc-nested-table__groups\">\n <thead>\n <tr>\n <th class=\"sdc-nested-table__toggle-col\" scope=\"col\">\n <span class=\"sr-only\">{{ groupToggleAriaLabel | translate }}</span>\n </th>\n\n @for (col of groupCols; track $index) {\n <th\n class=\"sdc-nested-table__th\"\n [class.sdc-nested-table__th--sortable]=\"isSortableColumn(col)\"\n scope=\"col\"\n [attr.aria-sort]=\"\n isSortableColumn(col)\n ? isActiveSort(col)\n ? (groupSortOrder() === 1 ? 'ascending' : 'descending')\n : 'none'\n : null\n \"\n [attr.tabindex]=\"isSortableColumn(col) ? 0 : null\"\n [attr.aria-describedby]=\"isSortableColumn(col) ? sortHintId(col) : null\"\n (click)=\"toggleGroupSort(col)\"\n (keydown.enter)=\"toggleGroupSort(col)\"\n (keydown.space)=\"$event.preventDefault(); toggleGroupSort(col)\"\n >\n <span class=\"sdc-nested-table__th-label\">{{ col.header | translate }}</span>\n\n @if (isSortableColumn(col)) {\n <span class=\"sr-only\" [id]=\"sortHintId(col)\">{{\n 'platform.datacore.accessibility_sortable_column' | translate\n }}</span>\n }\n\n @if (col.headerTooltip) {\n <sdc-tooltip\n class=\"sdc-nested-table__th-tooltip\"\n [pTooltip]=\"col.headerTooltip | translate\"\n [tooltipPosition]=\"col.headerTooltipPosition ?? 'top'\"\n [tooltipEvent]=\"col.headerTooltipEvent ?? 'hover'\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n\n <sdc-table-sort-indicator\n [columnField]=\"col.field ?? null\"\n [columnType]=\"col.type\"\n [sortField]=\"groupSortField()\"\n [sortOrder]=\"groupSortOrder()\"\n [sortable]=\"isSortableColumn(col)\"\n ></sdc-table-sort-indicator>\n </th>\n }\n </tr>\n </thead>\n\n <tbody>\n @for (entry of sortedGroups(); track groupKey(entry)) {\n <tr class=\"sdc-nested-table__group-row\">\n <td class=\"sdc-nested-table__toggle-col\">\n <button\n type=\"button\"\n class=\"sdc-nested-table__toggle\"\n [attr.aria-expanded]=\"isOpen(entry)\"\n [attr.aria-controls]=\"groupContentId(entry)\"\n [attr.aria-label]=\"resolveGroupToggleAriaLabel(entry)\"\n (click)=\"toggleGroup(entry)\"\n >\n <i class=\"fas\" [class.fa-plus]=\"!isOpen(entry)\" [class.fa-minus]=\"isOpen(entry)\" aria-hidden=\"true\"></i>\n </button>\n </td>\n\n @for (col of groupCols; track $index) {\n <td class=\"sdc-nested-table__td\">\n <sdc-table-cell-content\n [cellConfigs]=\"groupCellConfigs()\"\n [col]=\"col\"\n [resolveValue]=\"resolveGroupValue\"\n [row]=\"entry.group\"\n [rowLabel]=\"rowLabel\"\n ></sdc-table-cell-content>\n </td>\n }\n </tr>\n\n @if (isOpen(entry)) {\n <tr class=\"sdc-nested-table__item-row\">\n <!-- Celula vazia cobrindo a coluna do botao de abrir. E ela que alinha o\n bloco expandido: ele comeca exatamente onde comeca a primeira coluna de\n dados, porque quem decide esse x e o proprio layout da tabela. Uma\n margem fixa nao serviria - a largura declarada da coluna (2.5rem) e so\n um pedido, e o navegador entrega outra medida conforme o conteudo. -->\n <td class=\"sdc-nested-table__item-spacer\"></td>\n <td class=\"sdc-nested-table__item-cell\" [attr.colspan]=\"groupCols.length\" [id]=\"groupContentId(entry)\">\n <!-- O fundo do bloco expandido fica NESTE painel, nao na celula: assim ele\n nasce colado na coluna de dados e termina na borda da tabela. Com o\n fundo na celula ele ia de borda a borda e o bloco parecia uma tabela\n irma, nao uma tabela dentro da outra. -->\n <div class=\"sdc-nested-table__item-panel\">\n <sdc-table\n [cols]=\"itemCols\"\n [data]=\"entry.items\"\n [config]=\"itemTableConfig() ?? {}\"\n [loading]=\"loading\"\n (action)=\"itemAction.emit($event)\"\n ></sdc-table>\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n</div>\n", styles: [":host{display:block;width:100%;--sdc-nested-table-toggle-col-width: 2.5rem}.sr-only{border-width:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}table{width:100%;border-collapse:collapse}.sdc-nested-table__meta{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.sdc-nested-table__hint{align-items:center;background:transparent;border:0;display:inline-flex;padding:0}.sdc-nested-table__hint:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-nested-table__hint-icon{font-size:.875rem;color:var(--sdc-table-th-tooltip-icon, #767676);cursor:help}.sdc-nested-table__summary{background:var(--sdc-nested-table-summary-bg, #eef1f4);border-radius:9999px;color:var(--sdc-text-muted, #4b5563);font-size:.75rem;font-weight:600;padding:.2rem .65rem}.sdc-nested-table__toggle-col{width:var(--sdc-nested-table-toggle-col-width)}.sdc-nested-table__th{background:var(--sdc-table-bg-card);border-bottom:1px solid var(--sdc-formfield-default-border);min-height:44px;padding:var(--sdc-table-padding-cell, .75rem);position:relative;text-align:left;white-space:nowrap}.sdc-nested-table__th--sortable{cursor:pointer;padding-right:1.75rem}.sdc-nested-table__th-label{margin-right:.35rem}.sdc-nested-table__th-tooltip{display:inline-flex;align-items:center;margin-right:.35rem}.sdc-nested-table__th-tooltip i{font-size:.75rem;color:var(--sdc-table-th-tooltip-icon, #767676);cursor:help}.sdc-nested-table__group-row td{border-bottom:1px solid var(--sdc-table-border-gray, #e5e7eb);padding:.5rem var(--sdc-table-padding-cell, .75rem);vertical-align:middle}.sdc-nested-table__toggle{align-items:center;background:transparent;border:1px solid var(--sdc-border-strong, #d1d5db);border-radius:4px;color:var(--sdc-text-default, #111827);cursor:pointer;display:inline-flex;font-size:.75rem;height:1.5rem;justify-content:center;width:1.5rem}.sdc-nested-table__toggle:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-nested-table__item-row td{background:transparent;padding:0}.sdc-nested-table__item-panel{background:var(--sdc-nested-table-item-bg, #eaf2fb);border-radius:var(--sdc-nested-table-item-radius, 4px);margin:0 0 var(--sdc-nested-table-item-inset, 1rem);padding:.75rem}.sdc-nested-table__item-cell ::ng-deep .sdc-table-shell{background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: TableComponent, selector: "sdc-table", inputs: ["cols", "data", "selection", "loading", "loadingIndicator", "config", "ariaLabel"], outputs: ["action", "rowClick", "lazyLoad", "selectionChange"] }, { kind: "component", type: TableCellContentComponent, selector: "sdc-table-cell-content", inputs: ["cellConfigs", "col", "resolveValue", "row", "actionsMenuOpen", "actionsMenuId", "defaultTextOverflow", "rowCheckboxId", "rowLabel", "rowSelectionDisabled", "forceLeftAlign", "rowSelected"], outputs: ["toggleActionsMenu", "toggleRow", "triggerButtonAction"] }, { kind: "component", type: TableSortIndicatorComponent, selector: "sdc-table-sort-indicator", inputs: ["columnField", "columnType", "sortField", "sortOrder", "sortable"] }, { kind: "component", type: TooltipComponent, selector: "sdc-tooltip", inputs: ["pTooltip", "tooltipPosition", "tooltipEvent", "fitContent", "tooltipDisabled", "allowHtml"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
106
106
|
}
|
|
107
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NestedTableComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
109
|
-
args: [{ selector: 'sdc-nested-table', standalone: true, imports: [TranslateModule, TableComponent, TableCellContentComponent, TableSortIndicatorComponent, TooltipComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-nested-table\" [attr.aria-label]=\"ariaLabel || null\">\n @if (summaryLabel() || headerHint()) {\n <div class=\"sdc-nested-table__meta\">\n @if (headerHint()) {\n <sdc-tooltip [pTooltip]=\"headerHint() | translate\" [tooltipPosition]=\"'right'\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-nested-table__hint\" [attr.aria-label]=\"hintAriaLabel | translate\">\n <i class=\"fas fa-info-circle sdc-nested-table__hint-icon\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n\n @if (summaryLabel()) {\n <span class=\"sdc-nested-table__summary\">{{ summaryLabel() }}</span>\n }\n </div>\n }\n\n <table class=\"sdc-nested-table__groups\">\n <thead>\n <tr>\n <th class=\"sdc-nested-table__toggle-col\" scope=\"col\">\n <span class=\"sr-only\">{{ groupToggleAriaLabel | translate }}</span>\n </th>\n\n @for (col of groupCols; track $index) {\n <th\n class=\"sdc-nested-table__th\"\n [class.sdc-nested-table__th--sortable]=\"isSortableColumn(col)\"\n scope=\"col\"\n [attr.aria-sort]=\"\n isSortableColumn(col)\n ? isActiveSort(col)\n ? (groupSortOrder() === 1 ? 'ascending' : 'descending')\n : 'none'\n : null\n \"\n [attr.tabindex]=\"isSortableColumn(col) ? 0 : null\"\n [attr.aria-describedby]=\"isSortableColumn(col) ? sortHintId(col) : null\"\n (click)=\"toggleGroupSort(col)\"\n (keydown.enter)=\"toggleGroupSort(col)\"\n (keydown.space)=\"$event.preventDefault(); toggleGroupSort(col)\"\n >\n <span class=\"sdc-nested-table__th-label\">{{ col.header | translate }}</span>\n\n @if (isSortableColumn(col)) {\n <span class=\"sr-only\" [id]=\"sortHintId(col)\">{{\n 'platform.datacore.accessibility_sortable_column' | translate\n }}</span>\n }\n\n @if (col.headerTooltip) {\n <sdc-tooltip\n class=\"sdc-nested-table__th-tooltip\"\n [pTooltip]=\"col.headerTooltip | translate\"\n [tooltipPosition]=\"col.headerTooltipPosition ?? 'top'\"\n [tooltipEvent]=\"col.headerTooltipEvent ?? 'hover'\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n\n <sdc-table-sort-indicator\n [columnField]=\"col.field ?? null\"\n [columnType]=\"col.type\"\n [sortField]=\"groupSortField()\"\n [sortOrder]=\"groupSortOrder()\"\n [sortable]=\"isSortableColumn(col)\"\n ></sdc-table-sort-indicator>\n </th>\n }\n </tr>\n </thead>\n\n <tbody>\n @for (entry of sortedGroups(); track groupKey(entry)) {\n <tr class=\"sdc-nested-table__group-row\">\n <td class=\"sdc-nested-table__toggle-col\">\n <button\n type=\"button\"\n class=\"sdc-nested-table__toggle\"\n [attr.aria-expanded]=\"isOpen(entry)\"\n [attr.aria-controls]=\"groupContentId(entry)\"\n [attr.aria-label]=\"resolveGroupToggleAriaLabel(entry)\"\n (click)=\"toggleGroup(entry)\"\n >\n <i class=\"fas\" [class.fa-plus]=\"!isOpen(entry)\" [class.fa-minus]=\"isOpen(entry)\" aria-hidden=\"true\"></i>\n </button>\n </td>\n\n @for (col of groupCols; track $index) {\n <td class=\"sdc-nested-table__td\">\n <sdc-table-cell-content\n [cellConfigs]=\"groupCellConfigs()\"\n [col]=\"col\"\n [resolveValue]=\"resolveGroupValue\"\n [row]=\"entry.group\"\n [rowLabel]=\"rowLabel\"\n ></sdc-table-cell-content>\n </td>\n }\n </tr>\n\n @if (isOpen(entry)) {\n <tr class=\"sdc-nested-table__item-row\">\n <td class=\"sdc-nested-table__item-cell\" [attr.colspan]=\"groupCols.length
|
|
109
|
+
args: [{ selector: 'sdc-nested-table', standalone: true, imports: [TranslateModule, TableComponent, TableCellContentComponent, TableSortIndicatorComponent, TooltipComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div class=\"sdc-nested-table\" [attr.aria-label]=\"ariaLabel || null\">\n @if (summaryLabel() || headerHint()) {\n <div class=\"sdc-nested-table__meta\">\n @if (headerHint()) {\n <sdc-tooltip [pTooltip]=\"headerHint() | translate\" [tooltipPosition]=\"'right'\" [tooltipEvent]=\"'both'\">\n <button type=\"button\" class=\"sdc-nested-table__hint\" [attr.aria-label]=\"hintAriaLabel | translate\">\n <i class=\"fas fa-info-circle sdc-nested-table__hint-icon\" aria-hidden=\"true\"></i>\n </button>\n </sdc-tooltip>\n }\n\n @if (summaryLabel()) {\n <span class=\"sdc-nested-table__summary\">{{ summaryLabel() }}</span>\n }\n </div>\n }\n\n <table class=\"sdc-nested-table__groups\">\n <thead>\n <tr>\n <th class=\"sdc-nested-table__toggle-col\" scope=\"col\">\n <span class=\"sr-only\">{{ groupToggleAriaLabel | translate }}</span>\n </th>\n\n @for (col of groupCols; track $index) {\n <th\n class=\"sdc-nested-table__th\"\n [class.sdc-nested-table__th--sortable]=\"isSortableColumn(col)\"\n scope=\"col\"\n [attr.aria-sort]=\"\n isSortableColumn(col)\n ? isActiveSort(col)\n ? (groupSortOrder() === 1 ? 'ascending' : 'descending')\n : 'none'\n : null\n \"\n [attr.tabindex]=\"isSortableColumn(col) ? 0 : null\"\n [attr.aria-describedby]=\"isSortableColumn(col) ? sortHintId(col) : null\"\n (click)=\"toggleGroupSort(col)\"\n (keydown.enter)=\"toggleGroupSort(col)\"\n (keydown.space)=\"$event.preventDefault(); toggleGroupSort(col)\"\n >\n <span class=\"sdc-nested-table__th-label\">{{ col.header | translate }}</span>\n\n @if (isSortableColumn(col)) {\n <span class=\"sr-only\" [id]=\"sortHintId(col)\">{{\n 'platform.datacore.accessibility_sortable_column' | translate\n }}</span>\n }\n\n @if (col.headerTooltip) {\n <sdc-tooltip\n class=\"sdc-nested-table__th-tooltip\"\n [pTooltip]=\"col.headerTooltip | translate\"\n [tooltipPosition]=\"col.headerTooltipPosition ?? 'top'\"\n [tooltipEvent]=\"col.headerTooltipEvent ?? 'hover'\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n >\n <i class=\"fas fa-info-circle\" aria-hidden=\"true\"></i>\n </sdc-tooltip>\n }\n\n <sdc-table-sort-indicator\n [columnField]=\"col.field ?? null\"\n [columnType]=\"col.type\"\n [sortField]=\"groupSortField()\"\n [sortOrder]=\"groupSortOrder()\"\n [sortable]=\"isSortableColumn(col)\"\n ></sdc-table-sort-indicator>\n </th>\n }\n </tr>\n </thead>\n\n <tbody>\n @for (entry of sortedGroups(); track groupKey(entry)) {\n <tr class=\"sdc-nested-table__group-row\">\n <td class=\"sdc-nested-table__toggle-col\">\n <button\n type=\"button\"\n class=\"sdc-nested-table__toggle\"\n [attr.aria-expanded]=\"isOpen(entry)\"\n [attr.aria-controls]=\"groupContentId(entry)\"\n [attr.aria-label]=\"resolveGroupToggleAriaLabel(entry)\"\n (click)=\"toggleGroup(entry)\"\n >\n <i class=\"fas\" [class.fa-plus]=\"!isOpen(entry)\" [class.fa-minus]=\"isOpen(entry)\" aria-hidden=\"true\"></i>\n </button>\n </td>\n\n @for (col of groupCols; track $index) {\n <td class=\"sdc-nested-table__td\">\n <sdc-table-cell-content\n [cellConfigs]=\"groupCellConfigs()\"\n [col]=\"col\"\n [resolveValue]=\"resolveGroupValue\"\n [row]=\"entry.group\"\n [rowLabel]=\"rowLabel\"\n ></sdc-table-cell-content>\n </td>\n }\n </tr>\n\n @if (isOpen(entry)) {\n <tr class=\"sdc-nested-table__item-row\">\n <!-- Celula vazia cobrindo a coluna do botao de abrir. E ela que alinha o\n bloco expandido: ele comeca exatamente onde comeca a primeira coluna de\n dados, porque quem decide esse x e o proprio layout da tabela. Uma\n margem fixa nao serviria - a largura declarada da coluna (2.5rem) e so\n um pedido, e o navegador entrega outra medida conforme o conteudo. -->\n <td class=\"sdc-nested-table__item-spacer\"></td>\n <td class=\"sdc-nested-table__item-cell\" [attr.colspan]=\"groupCols.length\" [id]=\"groupContentId(entry)\">\n <!-- O fundo do bloco expandido fica NESTE painel, nao na celula: assim ele\n nasce colado na coluna de dados e termina na borda da tabela. Com o\n fundo na celula ele ia de borda a borda e o bloco parecia uma tabela\n irma, nao uma tabela dentro da outra. -->\n <div class=\"sdc-nested-table__item-panel\">\n <sdc-table\n [cols]=\"itemCols\"\n [data]=\"entry.items\"\n [config]=\"itemTableConfig() ?? {}\"\n [loading]=\"loading\"\n (action)=\"itemAction.emit($event)\"\n ></sdc-table>\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n</div>\n", styles: [":host{display:block;width:100%;--sdc-nested-table-toggle-col-width: 2.5rem}.sr-only{border-width:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}table{width:100%;border-collapse:collapse}.sdc-nested-table__meta{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.sdc-nested-table__hint{align-items:center;background:transparent;border:0;display:inline-flex;padding:0}.sdc-nested-table__hint:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-nested-table__hint-icon{font-size:.875rem;color:var(--sdc-table-th-tooltip-icon, #767676);cursor:help}.sdc-nested-table__summary{background:var(--sdc-nested-table-summary-bg, #eef1f4);border-radius:9999px;color:var(--sdc-text-muted, #4b5563);font-size:.75rem;font-weight:600;padding:.2rem .65rem}.sdc-nested-table__toggle-col{width:var(--sdc-nested-table-toggle-col-width)}.sdc-nested-table__th{background:var(--sdc-table-bg-card);border-bottom:1px solid var(--sdc-formfield-default-border);min-height:44px;padding:var(--sdc-table-padding-cell, .75rem);position:relative;text-align:left;white-space:nowrap}.sdc-nested-table__th--sortable{cursor:pointer;padding-right:1.75rem}.sdc-nested-table__th-label{margin-right:.35rem}.sdc-nested-table__th-tooltip{display:inline-flex;align-items:center;margin-right:.35rem}.sdc-nested-table__th-tooltip i{font-size:.75rem;color:var(--sdc-table-th-tooltip-icon, #767676);cursor:help}.sdc-nested-table__group-row td{border-bottom:1px solid var(--sdc-table-border-gray, #e5e7eb);padding:.5rem var(--sdc-table-padding-cell, .75rem);vertical-align:middle}.sdc-nested-table__toggle{align-items:center;background:transparent;border:1px solid var(--sdc-border-strong, #d1d5db);border-radius:4px;color:var(--sdc-text-default, #111827);cursor:pointer;display:inline-flex;font-size:.75rem;height:1.5rem;justify-content:center;width:1.5rem}.sdc-nested-table__toggle:focus-visible{outline:var(--sdc-focus-outline, 2px solid #428bca);outline-offset:2px}.sdc-nested-table__item-row td{background:transparent;padding:0}.sdc-nested-table__item-panel{background:var(--sdc-nested-table-item-bg, #eaf2fb);border-radius:var(--sdc-nested-table-item-radius, 4px);margin:0 0 var(--sdc-nested-table-item-inset, 1rem);padding:.75rem}.sdc-nested-table__item-cell ::ng-deep .sdc-table-shell{background:transparent}\n"] }]
|
|
110
110
|
}], propDecorators: { groups: [{
|
|
111
111
|
type: Input,
|
|
112
112
|
args: [{ required: true }]
|
|
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
129
129
|
}], itemAction: [{
|
|
130
130
|
type: Output
|
|
131
131
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvbmVzdGVkLXRhYmxlL25lc3RlZC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL25lc3RlZC10YWJsZS9uZXN0ZWQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLG9DQUFvQyxFQUNwQyw4QkFBOEIsRUFDL0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUtqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVdoRSxNQUFN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U0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgTkVTVEVEX1RBQkxFX0RFRkFVTFRfR1JPVVBfVE9HR0xFX0FSSUFfTEFCRUwsXG4gIE5FU1RFRF9UQUJMRV9ERUZBVUxUX0hJTlRfQVJJQV9MQUJFTCxcbiAgTkVTVEVEX1RBQkxFX0RFRkFVTFRfUk9XX0xBQkVMXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL25lc3RlZC10YWJsZS5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IE5lc3RlZFRhYmxlQWN0aW9uRXZlbnQsIE5lc3RlZFRhYmxlR3JvdXAsIE5lc3RlZFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvbmVzdGVkLXRhYmxlLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdGFibGUtY29sdW1uLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNlbGxDb25maWdNYXAsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdGFibGUtb3B0aW9ucy50eXBlJztcbmltcG9ydCB0eXBlIHsgUm93QmFzZSwgU29ydE9yZGVyIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy90YWJsZS1zaGFyZWQudHlwZSc7XG5pbXBvcnQgeyBuZXh0U2VxdWVudGlhbElkIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pZC51dGlsJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVDZWxsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2VsbC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZVNvcnRJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS9jb21wb25lbnRzL3RhYmxlLXNvcnQtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBidWlsZFRhYmxlQ2VsbENvbmZpZ01hcCB9IGZyb20gJy4uL3RhYmxlL3V0aWxzL3RhYmxlLWNvbmZpZy51dGlsJztcbmltcG9ydCB7IGN5Y2xlU29ydFN0YXRlLCBnZXROZXN0ZWRWYWx1ZSwgcmVzb2x2ZVJvd1NlbGVjdGlvbktleSwgc29ydFRhYmxlUm93cyB9IGZyb20gJy4uL3RhYmxlL3V0aWxzL3RhYmxlLWRhdGEudXRpbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1uZXN0ZWQtdGFibGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBUYWJsZUNvbXBvbmVudCwgVGFibGVDZWxsQ29udGVudENvbXBvbmVudCwgVGFibGVTb3J0SW5kaWNhdG9yQ29tcG9uZW50LCBUb29sdGlwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL25lc3RlZC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9uZXN0ZWQtdGFibGUuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkVGFibGVDb21wb25lbnQ8VEdyb3VwIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2UsIFRJdGVtIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+IHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1uZXN0ZWQtdGFibGUnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBncm91cFBhdGhQYXJ0c0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZ1tdPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBzU2lnbmFsID0gc2lnbmFsPE5lc3RlZFRhYmxlR3JvdXA8VEdyb3VwLCBUSXRlbT5bXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wZW5LZXlzU2lnbmFsID0gc2lnbmFsPFJlYWRvbmx5U2V0PHN0cmluZz4+KG5ldyBTZXQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2lnbmFsID0gc2lnbmFsPE5lc3RlZFRhYmxlT3B0aW9uczxUR3JvdXAsIFRJdGVtPj4oe30pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBncm91cFNvcnRGaWVsZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwU29ydE9yZGVyID0gc2lnbmFsPFNvcnRPcmRlcj4oMCk7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgc2V0IGdyb3Vwcyh2YWx1ZTogTmVzdGVkVGFibGVHcm91cDxUR3JvdXAsIFRJdGVtPltdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG5leHQgPSB2YWx1ZSA/PyBbXTtcbiAgICB0aGlzLmdyb3Vwc1NpZ25hbC5zZXQobmV4dCk7XG5cbiAgICBjb25zdCB2YWxpZEtleXMgPSBuZXcgU2V0KG5leHQubWFwKChlbnRyeSkgPT4gdGhpcy5ncm91cEtleShlbnRyeSkpKTtcbiAgICB0aGlzLm9wZW5LZXlzU2lnbmFsLnVwZGF0ZSgoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWQgPSBuZXcgU2V0KFsuLi5jdXJyZW50XS5maWx0ZXIoKGtleSkgPT4gdmFsaWRLZXlzLmhhcyhrZXkpKSk7XG4gICAgICByZXR1cm4gZmlsdGVyZWQuc2l6ZSA9PT0gY3VycmVudC5zaXplID8gY3VycmVudCA6IGZpbHRlcmVkO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGdyb3VwcygpOiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+W10ge1xuICAgIHJldHVybiB0aGlzLmdyb3Vwc1NpZ25hbCgpO1xuICB9XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZ3JvdXBDb2xzOiBUYWJsZUNvbHVtbjxUR3JvdXA+W10gPSBbXTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaXRlbUNvbHM6IFRhYmxlQ29sdW1uPFRJdGVtPltdID0gW107XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbmZpZyh2YWx1ZTogTmVzdGVkVGFibGVPcHRpb25zPFRHcm91cCwgVEl0ZW0+IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuY29uZmlnU2lnbmFsLnNldCh2YWx1ZSA/PyB7fSk7XG4gIH1cblxuICBnZXQgY29uZmlnKCk6IE5lc3RlZFRhYmxlT3B0aW9uczxUR3JvdXAsIFRJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gIH1cblxuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbCA9ICcnO1xuXG4gIEBPdXRwdXQoKSBncm91cEV4cGFuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUR3JvdXA+KCk7XG4gIEBPdXRwdXQoKSBncm91cENvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VEdyb3VwPigpO1xuICBAT3V0cHV0KCkgaXRlbUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8TmVzdGVkVGFibGVBY3Rpb25FdmVudDxUSXRlbT4+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnRBcmlhTGFiZWwgPSBORVNURURfVEFCTEVfREVGQVVMVF9ISU5UX0FSSUFfTEFCRUw7XG4gIHByb3RlY3RlZCByZWFkb25seSByb3dMYWJlbCA9IE5FU1RFRF9UQUJMRV9ERUZBVUxUX1JPV19MQUJFTDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwVG9nZ2xlQXJpYUxhYmVsID0gTkVTVEVEX1RBQkxFX0RFRkFVTFRfR1JPVVBfVE9HR0xFX0FSSUFfTEFCRUw7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1bW1hcnlMYWJlbCA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy5jb25maWdTaWduYWwoKS5zdW1tYXJ5TGFiZWwgPz8gJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVhZGVySGludCA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy5jb25maWdTaWduYWwoKS5oZWFkZXJIaW50ID8/ICcnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ3JvdXBDZWxsQ29uZmlncyA9IGNvbXB1dGVkPFRhYmxlQ2VsbENvbmZpZ01hcDxUR3JvdXA+PigoKSA9PlxuICAgIGJ1aWxkVGFibGVDZWxsQ29uZmlnTWFwKHRoaXMuY29uZmlnU2lnbmFsKCkuZ3JvdXBUYWJsZUNvbmZpZyA/PyB7fSlcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbVRhYmxlQ29uZmlnID0gY29tcHV0ZWQ8VGFibGVPcHRpb25zPFRJdGVtPiB8IHVuZGVmaW5lZD4oKCkgPT5cbiAgICB0aGlzLmNvbmZpZ1NpZ25hbCgpLml0ZW1UYWJsZUNvbmZpZ1xuICApO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByZXNvbHZlR3JvdXBWYWx1ZSA9IChyb3c6IFRHcm91cCwgcGF0aD86IHN0cmluZyk6IHVua25vd24gPT5cbiAgICBnZXROZXN0ZWRWYWx1ZShyb3csIHBhdGgsIHRoaXMuZ3JvdXBQYXRoUGFydHNDYWNoZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNvcnRlZEdyb3VwcyA9IGNvbXB1dGVkPE5lc3RlZFRhYmxlR3JvdXA8VEdyb3VwLCBUSXRlbT5bXT4oKCkgPT5cbiAgICBzb3J0VGFibGVSb3dzKFxuICAgICAgdGhpcy5ncm91cHNTaWduYWwoKSxcbiAgICAgIHRoaXMuZ3JvdXBTb3J0RmllbGQoKSxcbiAgICAgIHRoaXMuZ3JvdXBTb3J0T3JkZXIoKSxcbiAgICAgIChlbnRyeTogTmVzdGVkVGFibGVHcm91cDxUR3JvdXAsIFRJdGVtPiwgcGF0aD86IHN0cmluZykgPT4gdGhpcy5yZXNvbHZlR3JvdXBWYWx1ZShlbnRyeS5ncm91cCwgcGF0aClcbiAgICApXG4gICk7XG5cbiAgcHJvdGVjdGVkIGlzU29ydGFibGVDb2x1bW4oY29sOiBUYWJsZUNvbHVtbjxUR3JvdXA+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChjb2wuc29ydGFibGUgPz8gdHJ1ZSkgJiYgISFjb2wuZmllbGQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNBY3RpdmVTb3J0KGNvbDogVGFibGVDb2x1bW48VEdyb3VwPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwU29ydEZpZWxkKCkgPT09IGNvbC5maWVsZDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVHcm91cFNvcnQoY29sOiBUYWJsZUNvbHVtbjxUR3JvdXA+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU29ydGFibGVDb2x1bW4oY29sKSB8fCAhY29sLmZpZWxkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IGN5Y2xlU29ydFN0YXRlKHRoaXMuZ3JvdXBTb3J0RmllbGQoKSwgdGhpcy5ncm91cFNvcnRPcmRlcigpLCBjb2wuZmllbGQpO1xuICAgIHRoaXMuZ3JvdXBTb3J0RmllbGQuc2V0KG5leHQuZmllbGQpO1xuICAgIHRoaXMuZ3JvdXBTb3J0T3JkZXIuc2V0KG5leHQub3JkZXIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdyb3VwS2V5KGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVJvd1NlbGVjdGlvbktleShlbnRyeS5ncm91cCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNPcGVuKGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbktleXNTaWduYWwoKS5oYXModGhpcy5ncm91cEtleShlbnRyeSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdyb3VwQ29udGVudElkKGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pbnN0YW5jZUlkfS1jb250ZW50LSR7dGhpcy5ncm91cEtleShlbnRyeSl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzb3J0SGludElkKGNvbDogVGFibGVDb2x1bW48VEdyb3VwPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaW5zdGFuY2VJZH0tc29ydC1oaW50LSR7Y29sLmZpZWxkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlR3JvdXAoZW50cnk6IE5lc3RlZFRhYmxlR3JvdXA8VEdyb3VwLCBUSXRlbT4pOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdyb3VwS2V5KGVudHJ5KTtcbiAgICBjb25zdCBuZXh0ID0gbmV3IFNldCh0aGlzLm9wZW5LZXlzU2lnbmFsKCkpO1xuXG4gICAgaWYgKG5leHQuaGFzKGtleSkpIHtcbiAgICAgIG5leHQuZGVsZXRlKGtleSk7XG4gICAgICB0aGlzLm9wZW5LZXlzU2lnbmFsLnNldChuZXh0KTtcbiAgICAgIHRoaXMuZ3JvdXBDb2xsYXBzZWQuZW1pdChlbnRyeS5ncm91cCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dC5hZGQoa2V5KTtcbiAgICB0aGlzLm9wZW5LZXlzU2lnbmFsLnNldChuZXh0KTtcbiAgICB0aGlzLmdyb3VwRXhwYW5kZWQuZW1pdChlbnRyeS5ncm91cCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUdyb3VwVG9nZ2xlQXJpYUxhYmVsKGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogc3RyaW5nIHtcbiAgICBjb25zdCBhY3Rpb24gPSByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgdGhpcy5ncm91cFRvZ2dsZUFyaWFMYWJlbCk7XG4gICAgY29uc3QgdmVyYktleSA9IHRoaXMuaXNPcGVuKGVudHJ5KVxuICAgICAgPyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9wYW5lbF9jb2xsYXBzZSdcbiAgICAgIDogJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfZXhwYW5kJztcbiAgICBjb25zdCB2ZXJiID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHZlcmJLZXkpO1xuICAgIHJldHVybiBbYWN0aW9uLCB2ZXJiXS5maWx0ZXIoQm9vbGVhbikuam9pbignIC0gJyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgfHwgbnVsbFwiPlxuICBAaWYgKHN1bW1hcnlMYWJlbCgpIHx8IGhlYWRlckhpbnQoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19tZXRhXCI+XG4gICAgICBAaWYgKGhlYWRlckhpbnQoKSkge1xuICAgICAgICA8c2RjLXRvb2x0aXAgW3BUb29sdGlwXT1cImhlYWRlckhpbnQoKSB8IHRyYW5zbGF0ZVwiIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiIFt0b29sdGlwRXZlbnRdPVwiJ2JvdGgnXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19oaW50XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJoaW50QXJpYUxhYmVsIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZSBzZGMtbmVzdGVkLXRhYmxlX19oaW50LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoc3VtbWFyeUxhYmVsKCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19zdW1tYXJ5XCI+e3sgc3VtbWFyeUxhYmVsKCkgfX08L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8dGFibGUgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19ncm91cHNcIj5cbiAgICA8dGhlYWQ+XG4gICAgICA8dHI+XG4gICAgICAgIDx0aCBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX3RvZ2dsZS1jb2xcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnt7IGdyb3VwVG9nZ2xlQXJpYUxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIEBmb3IgKGNvbCBvZiBncm91cENvbHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDx0aFxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX190aFwiXG4gICAgICAgICAgICBbY2xhc3Muc2RjLW5lc3RlZC10YWJsZV9fdGgtLXNvcnRhYmxlXT1cImlzU29ydGFibGVDb2x1bW4oY29sKVwiXG4gICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNvcnRdPVwiXG4gICAgICAgICAgICAgIGlzU29ydGFibGVDb2x1bW4oY29sKVxuICAgICAgICAgICAgICAgID8gaXNBY3RpdmVTb3J0KGNvbClcbiAgICAgICAgICAgICAgICAgID8gKGdyb3VwU29ydE9yZGVyKCkgPT09IDEgPyAnYXNjZW5kaW5nJyA6ICdkZXNjZW5kaW5nJylcbiAgICAgICAgICAgICAgICAgIDogJ25vbmUnXG4gICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXNTb3J0YWJsZUNvbHVtbihjb2wpID8gMCA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpc1NvcnRhYmxlQ29sdW1uKGNvbCkgPyBzb3J0SGludElkKGNvbCkgOiBudWxsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVHcm91cFNvcnQoY29sKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGVHcm91cFNvcnQoY29sKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgdG9nZ2xlR3JvdXBTb3J0KGNvbClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdGgtbGFiZWxcIj57eyBjb2wuaGVhZGVyIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuXG4gICAgICAgICAgICBAaWYgKGlzU29ydGFibGVDb2x1bW4oY29sKSkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIiBbaWRdPVwic29ydEhpbnRJZChjb2wpXCI+e3tcbiAgICAgICAgICAgICAgICAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9zb3J0YWJsZV9jb2x1bW4nIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGNvbC5oZWFkZXJUb29sdGlwKSB7XG4gICAgICAgICAgICAgIDxzZGMtdG9vbHRpcFxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdGgtdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cImNvbC5oZWFkZXJUb29sdGlwIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImNvbC5oZWFkZXJUb29sdGlwUG9zaXRpb24gPz8gJ3RvcCdcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwRXZlbnRdPVwiY29sLmhlYWRlclRvb2x0aXBFdmVudCA/PyAnaG92ZXInXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtaW5mby1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxzZGMtdGFibGUtc29ydC1pbmRpY2F0b3JcbiAgICAgICAgICAgICAgW2NvbHVtbkZpZWxkXT1cImNvbC5maWVsZCA/PyBudWxsXCJcbiAgICAgICAgICAgICAgW2NvbHVtblR5cGVdPVwiY29sLnR5cGVcIlxuICAgICAgICAgICAgICBbc29ydEZpZWxkXT1cImdyb3VwU29ydEZpZWxkKClcIlxuICAgICAgICAgICAgICBbc29ydE9yZGVyXT1cImdyb3VwU29ydE9yZGVyKClcIlxuICAgICAgICAgICAgICBbc29ydGFibGVdPVwiaXNTb3J0YWJsZUNvbHVtbihjb2wpXCJcbiAgICAgICAgICAgID48L3NkYy10YWJsZS1zb3J0LWluZGljYXRvcj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICB9XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG5cbiAgICA8dGJvZHk+XG4gICAgICBAZm9yIChlbnRyeSBvZiBzb3J0ZWRHcm91cHMoKTsgdHJhY2sgZ3JvdXBLZXkoZW50cnkpKSB7XG4gICAgICAgIDx0ciBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX2dyb3VwLXJvd1wiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX3RvZ2dsZS1jb2xcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdG9nZ2xlXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW4oZW50cnkpXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJncm91cENvbnRlbnRJZChlbnRyeSlcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVHcm91cFRvZ2dsZUFyaWFMYWJlbChlbnRyeSlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlR3JvdXAoZW50cnkpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXNcIiBbY2xhc3MuZmEtcGx1c109XCIhaXNPcGVuKGVudHJ5KVwiIFtjbGFzcy5mYS1taW51c109XCJpc09wZW4oZW50cnkpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cblxuICAgICAgICAgIEBmb3IgKGNvbCBvZiBncm91cENvbHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPHRkIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdGRcIj5cbiAgICAgICAgICAgICAgPHNkYy10YWJsZS1jZWxsLWNvbnRlbnRcbiAgICAgICAgICAgICAgICBbY2VsbENvbmZpZ3NdPVwiZ3JvdXBDZWxsQ29uZmlncygpXCJcbiAgICAgICAgICAgICAgICBbY29sXT1cImNvbFwiXG4gICAgICAgICAgICAgICAgW3Jlc29sdmVWYWx1ZV09XCJyZXNvbHZlR3JvdXBWYWx1ZVwiXG4gICAgICAgICAgICAgICAgW3Jvd109XCJlbnRyeS5ncm91cFwiXG4gICAgICAgICAgICAgICAgW3Jvd0xhYmVsXT1cInJvd0xhYmVsXCJcbiAgICAgICAgICAgICAgPjwvc2RjLXRhYmxlLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgfVxuICAgICAgICA8L3RyPlxuXG4gICAgICAgIEBpZiAoaXNPcGVuKGVudHJ5KSkge1xuICAgICAgICAgIDx0ciBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX2l0ZW0tcm93XCI+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19pdGVtLWNlbGxcIiBbYXR0ci5jb2xzcGFuXT1cImdyb3VwQ29scy5sZW5ndGggKyAxXCIgW2lkXT1cImdyb3VwQ29udGVudElkKGVudHJ5KVwiPlxuICAgICAgICAgICAgICA8c2RjLXRhYmxlXG4gICAgICAgICAgICAgICAgW2NvbHNdPVwiaXRlbUNvbHNcIlxuICAgICAgICAgICAgICAgIFtkYXRhXT1cImVudHJ5Lml0ZW1zXCJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cIml0ZW1UYWJsZUNvbmZpZygpID8/IHt9XCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAoYWN0aW9uKT1cIml0ZW1BY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvc2RjLXRhYmxlPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvbmVzdGVkLXRhYmxlL25lc3RlZC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL25lc3RlZC10YWJsZS9uZXN0ZWQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLG9DQUFvQyxFQUNwQyw4QkFBOEIsRUFDL0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUtqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQVdoRSxNQUFN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U0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgTkVTVEVEX1RBQkxFX0RFRkFVTFRfR1JPVVBfVE9HR0xFX0FSSUFfTEFCRUwsXG4gIE5FU1RFRF9UQUJMRV9ERUZBVUxUX0hJTlRfQVJJQV9MQUJFTCxcbiAgTkVTVEVEX1RBQkxFX0RFRkFVTFRfUk9XX0xBQkVMXG59IGZyb20gJy4uLy4uL2NvcmUvY29uc3RhbnRzL25lc3RlZC10YWJsZS5jb25zdCc7XG5pbXBvcnQgdHlwZSB7IE5lc3RlZFRhYmxlQWN0aW9uRXZlbnQsIE5lc3RlZFRhYmxlR3JvdXAsIE5lc3RlZFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvbmVzdGVkLXRhYmxlLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdGFibGUtY29sdW1uLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNlbGxDb25maWdNYXAsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvdGFibGUtb3B0aW9ucy50eXBlJztcbmltcG9ydCB0eXBlIHsgUm93QmFzZSwgU29ydE9yZGVyIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy90YWJsZS1zaGFyZWQudHlwZSc7XG5pbXBvcnQgeyBuZXh0U2VxdWVudGlhbElkIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pZC51dGlsJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVDZWxsQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2VsbC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZVNvcnRJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS9jb21wb25lbnRzL3RhYmxlLXNvcnQtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBidWlsZFRhYmxlQ2VsbENvbmZpZ01hcCB9IGZyb20gJy4uL3RhYmxlL3V0aWxzL3RhYmxlLWNvbmZpZy51dGlsJztcbmltcG9ydCB7IGN5Y2xlU29ydFN0YXRlLCBnZXROZXN0ZWRWYWx1ZSwgcmVzb2x2ZVJvd1NlbGVjdGlvbktleSwgc29ydFRhYmxlUm93cyB9IGZyb20gJy4uL3RhYmxlL3V0aWxzL3RhYmxlLWRhdGEudXRpbCc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1uZXN0ZWQtdGFibGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBUYWJsZUNvbXBvbmVudCwgVGFibGVDZWxsQ29udGVudENvbXBvbmVudCwgVGFibGVTb3J0SW5kaWNhdG9yQ29tcG9uZW50LCBUb29sdGlwQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL25lc3RlZC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9uZXN0ZWQtdGFibGUuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkVGFibGVDb21wb25lbnQ8VEdyb3VwIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2UsIFRJdGVtIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+IHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1uZXN0ZWQtdGFibGUnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBncm91cFBhdGhQYXJ0c0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZ1tdPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBzU2lnbmFsID0gc2lnbmFsPE5lc3RlZFRhYmxlR3JvdXA8VEdyb3VwLCBUSXRlbT5bXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wZW5LZXlzU2lnbmFsID0gc2lnbmFsPFJlYWRvbmx5U2V0PHN0cmluZz4+KG5ldyBTZXQoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2lnbmFsID0gc2lnbmFsPE5lc3RlZFRhYmxlT3B0aW9uczxUR3JvdXAsIFRJdGVtPj4oe30pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBncm91cFNvcnRGaWVsZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwU29ydE9yZGVyID0gc2lnbmFsPFNvcnRPcmRlcj4oMCk7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgc2V0IGdyb3Vwcyh2YWx1ZTogTmVzdGVkVGFibGVHcm91cDxUR3JvdXAsIFRJdGVtPltdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG5leHQgPSB2YWx1ZSA/PyBbXTtcbiAgICB0aGlzLmdyb3Vwc1NpZ25hbC5zZXQobmV4dCk7XG5cbiAgICBjb25zdCB2YWxpZEtleXMgPSBuZXcgU2V0KG5leHQubWFwKChlbnRyeSkgPT4gdGhpcy5ncm91cEtleShlbnRyeSkpKTtcbiAgICB0aGlzLm9wZW5LZXlzU2lnbmFsLnVwZGF0ZSgoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWQgPSBuZXcgU2V0KFsuLi5jdXJyZW50XS5maWx0ZXIoKGtleSkgPT4gdmFsaWRLZXlzLmhhcyhrZXkpKSk7XG4gICAgICByZXR1cm4gZmlsdGVyZWQuc2l6ZSA9PT0gY3VycmVudC5zaXplID8gY3VycmVudCA6IGZpbHRlcmVkO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGdyb3VwcygpOiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+W10ge1xuICAgIHJldHVybiB0aGlzLmdyb3Vwc1NpZ25hbCgpO1xuICB9XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgZ3JvdXBDb2xzOiBUYWJsZUNvbHVtbjxUR3JvdXA+W10gPSBbXTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgaXRlbUNvbHM6IFRhYmxlQ29sdW1uPFRJdGVtPltdID0gW107XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbmZpZyh2YWx1ZTogTmVzdGVkVGFibGVPcHRpb25zPFRHcm91cCwgVEl0ZW0+IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuY29uZmlnU2lnbmFsLnNldCh2YWx1ZSA/PyB7fSk7XG4gIH1cblxuICBnZXQgY29uZmlnKCk6IE5lc3RlZFRhYmxlT3B0aW9uczxUR3JvdXAsIFRJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2lnbmFsKCk7XG4gIH1cblxuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbCA9ICcnO1xuXG4gIEBPdXRwdXQoKSBncm91cEV4cGFuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUR3JvdXA+KCk7XG4gIEBPdXRwdXQoKSBncm91cENvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VEdyb3VwPigpO1xuICBAT3V0cHV0KCkgaXRlbUFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8TmVzdGVkVGFibGVBY3Rpb25FdmVudDxUSXRlbT4+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnRBcmlhTGFiZWwgPSBORVNURURfVEFCTEVfREVGQVVMVF9ISU5UX0FSSUFfTEFCRUw7XG4gIHByb3RlY3RlZCByZWFkb25seSByb3dMYWJlbCA9IE5FU1RFRF9UQUJMRV9ERUZBVUxUX1JPV19MQUJFTDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwVG9nZ2xlQXJpYUxhYmVsID0gTkVTVEVEX1RBQkxFX0RFRkFVTFRfR1JPVVBfVE9HR0xFX0FSSUFfTEFCRUw7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1bW1hcnlMYWJlbCA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy5jb25maWdTaWduYWwoKS5zdW1tYXJ5TGFiZWwgPz8gJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVhZGVySGludCA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy5jb25maWdTaWduYWwoKS5oZWFkZXJIaW50ID8/ICcnKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ3JvdXBDZWxsQ29uZmlncyA9IGNvbXB1dGVkPFRhYmxlQ2VsbENvbmZpZ01hcDxUR3JvdXA+PigoKSA9PlxuICAgIGJ1aWxkVGFibGVDZWxsQ29uZmlnTWFwKHRoaXMuY29uZmlnU2lnbmFsKCkuZ3JvdXBUYWJsZUNvbmZpZyA/PyB7fSlcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbVRhYmxlQ29uZmlnID0gY29tcHV0ZWQ8VGFibGVPcHRpb25zPFRJdGVtPiB8IHVuZGVmaW5lZD4oKCkgPT5cbiAgICB0aGlzLmNvbmZpZ1NpZ25hbCgpLml0ZW1UYWJsZUNvbmZpZ1xuICApO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByZXNvbHZlR3JvdXBWYWx1ZSA9IChyb3c6IFRHcm91cCwgcGF0aD86IHN0cmluZyk6IHVua25vd24gPT5cbiAgICBnZXROZXN0ZWRWYWx1ZShyb3csIHBhdGgsIHRoaXMuZ3JvdXBQYXRoUGFydHNDYWNoZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNvcnRlZEdyb3VwcyA9IGNvbXB1dGVkPE5lc3RlZFRhYmxlR3JvdXA8VEdyb3VwLCBUSXRlbT5bXT4oKCkgPT5cbiAgICBzb3J0VGFibGVSb3dzKFxuICAgICAgdGhpcy5ncm91cHNTaWduYWwoKSxcbiAgICAgIHRoaXMuZ3JvdXBTb3J0RmllbGQoKSxcbiAgICAgIHRoaXMuZ3JvdXBTb3J0T3JkZXIoKSxcbiAgICAgIChlbnRyeTogTmVzdGVkVGFibGVHcm91cDxUR3JvdXAsIFRJdGVtPiwgcGF0aD86IHN0cmluZykgPT4gdGhpcy5yZXNvbHZlR3JvdXBWYWx1ZShlbnRyeS5ncm91cCwgcGF0aClcbiAgICApXG4gICk7XG5cbiAgcHJvdGVjdGVkIGlzU29ydGFibGVDb2x1bW4oY29sOiBUYWJsZUNvbHVtbjxUR3JvdXA+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChjb2wuc29ydGFibGUgPz8gdHJ1ZSkgJiYgISFjb2wuZmllbGQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNBY3RpdmVTb3J0KGNvbDogVGFibGVDb2x1bW48VEdyb3VwPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyb3VwU29ydEZpZWxkKCkgPT09IGNvbC5maWVsZDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVHcm91cFNvcnQoY29sOiBUYWJsZUNvbHVtbjxUR3JvdXA+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU29ydGFibGVDb2x1bW4oY29sKSB8fCAhY29sLmZpZWxkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IGN5Y2xlU29ydFN0YXRlKHRoaXMuZ3JvdXBTb3J0RmllbGQoKSwgdGhpcy5ncm91cFNvcnRPcmRlcigpLCBjb2wuZmllbGQpO1xuICAgIHRoaXMuZ3JvdXBTb3J0RmllbGQuc2V0KG5leHQuZmllbGQpO1xuICAgIHRoaXMuZ3JvdXBTb3J0T3JkZXIuc2V0KG5leHQub3JkZXIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdyb3VwS2V5KGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVJvd1NlbGVjdGlvbktleShlbnRyeS5ncm91cCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNPcGVuKGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbktleXNTaWduYWwoKS5oYXModGhpcy5ncm91cEtleShlbnRyeSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdyb3VwQ29udGVudElkKGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pbnN0YW5jZUlkfS1jb250ZW50LSR7dGhpcy5ncm91cEtleShlbnRyeSl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzb3J0SGludElkKGNvbDogVGFibGVDb2x1bW48VEdyb3VwPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaW5zdGFuY2VJZH0tc29ydC1oaW50LSR7Y29sLmZpZWxkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlR3JvdXAoZW50cnk6IE5lc3RlZFRhYmxlR3JvdXA8VEdyb3VwLCBUSXRlbT4pOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdyb3VwS2V5KGVudHJ5KTtcbiAgICBjb25zdCBuZXh0ID0gbmV3IFNldCh0aGlzLm9wZW5LZXlzU2lnbmFsKCkpO1xuXG4gICAgaWYgKG5leHQuaGFzKGtleSkpIHtcbiAgICAgIG5leHQuZGVsZXRlKGtleSk7XG4gICAgICB0aGlzLm9wZW5LZXlzU2lnbmFsLnNldChuZXh0KTtcbiAgICAgIHRoaXMuZ3JvdXBDb2xsYXBzZWQuZW1pdChlbnRyeS5ncm91cCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbmV4dC5hZGQoa2V5KTtcbiAgICB0aGlzLm9wZW5LZXlzU2lnbmFsLnNldChuZXh0KTtcbiAgICB0aGlzLmdyb3VwRXhwYW5kZWQuZW1pdChlbnRyeS5ncm91cCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUdyb3VwVG9nZ2xlQXJpYUxhYmVsKGVudHJ5OiBOZXN0ZWRUYWJsZUdyb3VwPFRHcm91cCwgVEl0ZW0+KTogc3RyaW5nIHtcbiAgICBjb25zdCBhY3Rpb24gPSByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCh0aGlzLnRyYW5zbGF0ZSwgdGhpcy5ncm91cFRvZ2dsZUFyaWFMYWJlbCk7XG4gICAgY29uc3QgdmVyYktleSA9IHRoaXMuaXNPcGVuKGVudHJ5KVxuICAgICAgPyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9wYW5lbF9jb2xsYXBzZSdcbiAgICAgIDogJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfZXhwYW5kJztcbiAgICBjb25zdCB2ZXJiID0gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHZlcmJLZXkpO1xuICAgIHJldHVybiBbYWN0aW9uLCB2ZXJiXS5maWx0ZXIoQm9vbGVhbikuam9pbignIC0gJyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgfHwgbnVsbFwiPlxuICBAaWYgKHN1bW1hcnlMYWJlbCgpIHx8IGhlYWRlckhpbnQoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19tZXRhXCI+XG4gICAgICBAaWYgKGhlYWRlckhpbnQoKSkge1xuICAgICAgICA8c2RjLXRvb2x0aXAgW3BUb29sdGlwXT1cImhlYWRlckhpbnQoKSB8IHRyYW5zbGF0ZVwiIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiIFt0b29sdGlwRXZlbnRdPVwiJ2JvdGgnXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19oaW50XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJoaW50QXJpYUxhYmVsIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZSBzZGMtbmVzdGVkLXRhYmxlX19oaW50LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoc3VtbWFyeUxhYmVsKCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19zdW1tYXJ5XCI+e3sgc3VtbWFyeUxhYmVsKCkgfX08L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cblxuICA8dGFibGUgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX19ncm91cHNcIj5cbiAgICA8dGhlYWQ+XG4gICAgICA8dHI+XG4gICAgICAgIDx0aCBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX3RvZ2dsZS1jb2xcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnt7IGdyb3VwVG9nZ2xlQXJpYUxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L3RoPlxuXG4gICAgICAgIEBmb3IgKGNvbCBvZiBncm91cENvbHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDx0aFxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtbmVzdGVkLXRhYmxlX190aFwiXG4gICAgICAgICAgICBbY2xhc3Muc2RjLW5lc3RlZC10YWJsZV9fdGgtLXNvcnRhYmxlXT1cImlzU29ydGFibGVDb2x1bW4oY29sKVwiXG4gICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNvcnRdPVwiXG4gICAgICAgICAgICAgIGlzU29ydGFibGVDb2x1bW4oY29sKVxuICAgICAgICAgICAgICAgID8gaXNBY3RpdmVTb3J0KGNvbClcbiAgICAgICAgICAgICAgICAgID8gKGdyb3VwU29ydE9yZGVyKCkgPT09IDEgPyAnYXNjZW5kaW5nJyA6ICdkZXNjZW5kaW5nJylcbiAgICAgICAgICAgICAgICAgIDogJ25vbmUnXG4gICAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiaXNTb3J0YWJsZUNvbHVtbihjb2wpID8gMCA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpc1NvcnRhYmxlQ29sdW1uKGNvbCkgPyBzb3J0SGludElkKGNvbCkgOiBudWxsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVHcm91cFNvcnQoY29sKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJ0b2dnbGVHcm91cFNvcnQoY29sKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgdG9nZ2xlR3JvdXBTb3J0KGNvbClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdGgtbGFiZWxcIj57eyBjb2wuaGVhZGVyIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuXG4gICAgICAgICAgICBAaWYgKGlzU29ydGFibGVDb2x1bW4oY29sKSkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIiBbaWRdPVwic29ydEhpbnRJZChjb2wpXCI+e3tcbiAgICAgICAgICAgICAgICAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9zb3J0YWJsZV9jb2x1bW4nIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGNvbC5oZWFkZXJUb29sdGlwKSB7XG4gICAgICAgICAgICAgIDxzZGMtdG9vbHRpcFxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdGgtdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cImNvbC5oZWFkZXJUb29sdGlwIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cImNvbC5oZWFkZXJUb29sdGlwUG9zaXRpb24gPz8gJ3RvcCdcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwRXZlbnRdPVwiY29sLmhlYWRlclRvb2x0aXBFdmVudCA/PyAnaG92ZXInXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtaW5mby1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICAgIDwvc2RjLXRvb2x0aXA+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxzZGMtdGFibGUtc29ydC1pbmRpY2F0b3JcbiAgICAgICAgICAgICAgW2NvbHVtbkZpZWxkXT1cImNvbC5maWVsZCA/PyBudWxsXCJcbiAgICAgICAgICAgICAgW2NvbHVtblR5cGVdPVwiY29sLnR5cGVcIlxuICAgICAgICAgICAgICBbc29ydEZpZWxkXT1cImdyb3VwU29ydEZpZWxkKClcIlxuICAgICAgICAgICAgICBbc29ydE9yZGVyXT1cImdyb3VwU29ydE9yZGVyKClcIlxuICAgICAgICAgICAgICBbc29ydGFibGVdPVwiaXNTb3J0YWJsZUNvbHVtbihjb2wpXCJcbiAgICAgICAgICAgID48L3NkYy10YWJsZS1zb3J0LWluZGljYXRvcj5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICB9XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG5cbiAgICA8dGJvZHk+XG4gICAgICBAZm9yIChlbnRyeSBvZiBzb3J0ZWRHcm91cHMoKTsgdHJhY2sgZ3JvdXBLZXkoZW50cnkpKSB7XG4gICAgICAgIDx0ciBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX2dyb3VwLXJvd1wiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX3RvZ2dsZS1jb2xcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdG9nZ2xlXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW4oZW50cnkpXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJncm91cENvbnRlbnRJZChlbnRyeSlcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlc29sdmVHcm91cFRvZ2dsZUFyaWFMYWJlbChlbnRyeSlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlR3JvdXAoZW50cnkpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXNcIiBbY2xhc3MuZmEtcGx1c109XCIhaXNPcGVuKGVudHJ5KVwiIFtjbGFzcy5mYS1taW51c109XCJpc09wZW4oZW50cnkpXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cblxuICAgICAgICAgIEBmb3IgKGNvbCBvZiBncm91cENvbHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPHRkIGNsYXNzPVwic2RjLW5lc3RlZC10YWJsZV9fdGRcIj5cbiAgICAgICAgICAgICAgPHNkYy10YWJsZS1jZWxsLWNvbnRlbnRcbiAgICAgICAgICAgICAgICBbY2VsbENvbmZpZ3NdPVwiZ3JvdXBDZWxsQ29uZmlncygpXCJcbiAgICAgICAgICAgICAgICBbY29sXT1cImNvbFwiXG4gICAgICAgICAgICAgICAgW3Jlc29sdmVWYWx1ZV09XCJyZXNvbHZlR3JvdXBWYWx1ZVwiXG4gICAgICAgICAgICAgICAgW3Jvd109XCJlbnRyeS5ncm91cFwiXG4gICAgICAgICAgICAgICAgW3Jvd0xhYmVsXT1cInJvd0xhYmVsXCJcbiAgICAgICAgICAgICAgPjwvc2RjLXRhYmxlLWNlbGwtY29udGVudD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgfVxuICAgICAgICA8L3RyPlxuXG4gICAgICAgIEBpZiAoaXNPcGVuKGVudHJ5KSkge1xuICAgICAgICAgIDx0ciBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX2l0ZW0tcm93XCI+XG4gICAgICAgICAgICA8IS0tIENlbHVsYSB2YXppYSBjb2JyaW5kbyBhIGNvbHVuYSBkbyBib3RhbyBkZSBhYnJpci4gRSBlbGEgcXVlIGFsaW5oYSBvXG4gICAgICAgICAgICAgICAgIGJsb2NvIGV4cGFuZGlkbzogZWxlIGNvbWVjYSBleGF0YW1lbnRlIG9uZGUgY29tZWNhIGEgcHJpbWVpcmEgY29sdW5hIGRlXG4gICAgICAgICAgICAgICAgIGRhZG9zLCBwb3JxdWUgcXVlbSBkZWNpZGUgZXNzZSB4IGUgbyBwcm9wcmlvIGxheW91dCBkYSB0YWJlbGEuIFVtYVxuICAgICAgICAgICAgICAgICBtYXJnZW0gZml4YSBuYW8gc2VydmlyaWEgLSBhIGxhcmd1cmEgZGVjbGFyYWRhIGRhIGNvbHVuYSAoMi41cmVtKSBlIHNvXG4gICAgICAgICAgICAgICAgIHVtIHBlZGlkbywgZSBvIG5hdmVnYWRvciBlbnRyZWdhIG91dHJhIG1lZGlkYSBjb25mb3JtZSBvIGNvbnRldWRvLiAtLT5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX2l0ZW0tc3BhY2VyXCI+PC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX2l0ZW0tY2VsbFwiIFthdHRyLmNvbHNwYW5dPVwiZ3JvdXBDb2xzLmxlbmd0aFwiIFtpZF09XCJncm91cENvbnRlbnRJZChlbnRyeSlcIj5cbiAgICAgICAgICAgICAgPCEtLSBPIGZ1bmRvIGRvIGJsb2NvIGV4cGFuZGlkbyBmaWNhIE5FU1RFIHBhaW5lbCwgbmFvIG5hIGNlbHVsYTogYXNzaW0gZWxlXG4gICAgICAgICAgICAgICAgICAgbmFzY2UgY29sYWRvIG5hIGNvbHVuYSBkZSBkYWRvcyBlIHRlcm1pbmEgbmEgYm9yZGEgZGEgdGFiZWxhLiBDb20gb1xuICAgICAgICAgICAgICAgICAgIGZ1bmRvIG5hIGNlbHVsYSBlbGUgaWEgZGUgYm9yZGEgYSBib3JkYSBlIG8gYmxvY28gcGFyZWNpYSB1bWEgdGFiZWxhXG4gICAgICAgICAgICAgICAgICAgaXJtYSwgbmFvIHVtYSB0YWJlbGEgZGVudHJvIGRhIG91dHJhLiAtLT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNkYy1uZXN0ZWQtdGFibGVfX2l0ZW0tcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8c2RjLXRhYmxlXG4gICAgICAgICAgICAgICAgICBbY29sc109XCJpdGVtQ29sc1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJlbnRyeS5pdGVtc1wiXG4gICAgICAgICAgICAgICAgICBbY29uZmlnXT1cIml0ZW1UYWJsZUNvbmZpZygpID8/IHt9XCJcbiAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgKGFjdGlvbik9XCJpdGVtQWN0aW9uLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvc2RjLXRhYmxlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -69,11 +69,11 @@ export class PanelComponent {
|
|
|
69
69
|
return 'platform.datacore.accessibility_panel_collapse';
|
|
70
70
|
}
|
|
71
71
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PanelComponent, isStandalone: true, selector: "sdc-panel", inputs: { header: "header", toggleable: "toggleable", collapsed: "collapsed", severity: "severity", borderButtonOptions: "borderButtonOptions", panelClass: ["class", "panelClass"], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { collapsedChange: "collapsedChange" }, ngImport: i0, template: "<section\n [class]=\"panelClasses\"\n [class.sdc-panel--collapsed]=\"collapsed\"\n [class.sdc-panel--toggleable]=\"toggleable\"\n [class.sdc-panel--with-border-button]=\"showBorderButton\"\n [ngClass]=\"severityClass\"\n [attr.aria-label]=\"(ariaLabel || header) | translate\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-expanded]=\"toggleable ? !collapsed : null\"\n>\n @if (showBorderButton) {\n <button\n type=\"button\"\n class=\"sdc-panel__border-button\"\n [disabled]=\"borderButtonDisabled\"\n [attr.aria-label]=\"borderButtonLabel | translate\"\n [attr.title]=\"borderButtonTooltip ? (borderButtonTooltip | translate) : null\"\n (click)=\"onBorderButtonClick($event)\"\n >\n @if (borderButtonIcon) {\n <i [class]=\"borderButtonIcon\" aria-hidden=\"true\"></i>\n <span class=\"sdc-panel__sr-only\">{{ borderButtonLabel | translate }}</span>\n } @else {\n <span>{{ borderButtonLabel | translate }}</span>\n }\n </button>\n }\n\n @if (header || toggleable) {\n <div class=\"sdc-panel__header\">\n <div class=\"sdc-panel__header-content\">\n @if (header) {\n <span class=\"sdc-panel__title\">{{ header | translate }}</span>\n }\n\n <ng-content select=\"[sdcPanelHeaderContent]\"></ng-content>\n </div>\n\n <div class=\"sdc-panel__header-actions\">\n <ng-content select=\"[sdcPanelActions]\"></ng-content>\n\n @if (toggleable) {\n <button\n type=\"button\"\n class=\"sdc-panel__toggle fas\"\n [ngClass]=\"collapsed ? 'fa-plus' : 'fa-minus'\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-label]=\"getToggleAriaLabel() | translate\"\n (click)=\"toggleCollapsed()\"\n >\n <span class=\"sdc-panel__sr-only\">{{ getToggleAriaLabel() | translate }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n @if (!toggleable || !collapsed) {\n <div\n [id]=\"contentId\"\n class=\"sdc-panel__content\"\n [attr.aria-label]=\"'platform.datacore.accessibility_panel_content' | translate\"\n >\n <div class=\"sdc-panel__body\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"sdc-panel__footer\">\n <ng-content select=\"[sdcFooter]\"></ng-content>\n </div>\n </div>\n }\n</section>\n", styles: [":host{display:block}.sdc-panel{position:relative;display:block;overflow:hidden;background-color:var(--sdc-panel-bg, var(--sdc-surface-bg, #ffffff));border:var(--sdc-panel-border, var(--sdc-surface-border, 1px solid #dedce5));border-radius:var(--sdc-panel-radius, var(--sdc-surface-radius, 4px));box-shadow:var(--sdc-panel-shadow, var(--sdc-surface-shadow, none));padding:var(--sdc-panel-padding, var(--sdc-surface-padding, 22px 22px 20px));transition:var(--sdc-panel-transition, var(--sdc-surface-transition, border-color .25s ease))}.sdc-panel.sdc-panel--success{border-left:4px solid var(--sdc-panel-success, #1f9d55)}.sdc-panel.sdc-panel--info{border-left:4px solid var(--sdc-panel-info, #2563eb)}.sdc-panel.sdc-panel--warn{border-left:4px solid var(--sdc-panel-warn, #d97706)}.sdc-panel.sdc-panel--error{border-left:4px solid var(--sdc-panel-error, #dc2626)}.sdc-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--sdc-panel-header-min-height, var(--sdc-surface-header-min-height, 34px));padding-bottom:var(--sdc-panel-header-padding-bottom, var(--sdc-surface-header-padding-bottom, 20px));border-bottom:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5));color:var(--sdc-panel-title-color, var(--sdc-surface-title-color, #212533))}.sdc-panel--collapsed .sdc-panel__header{padding-bottom:0;border-bottom:none}.sdc-panel__header-content{display:flex;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap-lg, .75rem));min-width:0;flex-wrap:wrap}.sdc-panel__header-actions{display:flex;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap, .5rem));flex:0 0 auto}.sdc-panel__title{color:inherit;font-size:var(--sdc-panel-title-font-size, var(--sdc-surface-title-font-size, 14px));font-weight:var(--sdc-panel-title-font-weight, var(--sdc-surface-title-font-weight, 400));line-height:var(--sdc-panel-title-line-height, var(--sdc-surface-title-line-height, 20px))}.sdc-panel__toggle,.sdc-panel__border-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-panel-action-size, 24px);min-height:var(--sdc-panel-action-size, 24px);border:none;background:transparent;color:inherit;cursor:pointer}.sdc-panel__toggle{flex:0 0 auto;border-radius:999px}.sdc-panel__toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button{position:absolute;inset-block-start:1rem;inset-inline-start:0;z-index:1;padding:.5rem;border-radius:999px;background:var(--sdc-panel-border-button-bg, #ffffff);box-shadow:0 10px 20px #0f172a1f;transform:translate(-40%)}.sdc-panel__border-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button:disabled{cursor:not-allowed;opacity:.56}.sdc-panel__content{padding-top:var(--sdc-panel-content-padding-top, 15px)}.sdc-panel__body{padding:var(--sdc-panel-content-padding, var(--sdc-surface-content-padding, 0))}.sdc-panel__footer{margin-top:var(--sdc-panel-footer-margin-top, var(--sdc-surface-footer-margin-top, 15px));padding-top:var(--sdc-panel-footer-padding-top, var(--sdc-surface-footer-padding-top, 15px));border-top:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5))}.sdc-panel__footer:empty{display:none}.sdc-panel__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PanelComponent, isStandalone: true, selector: "sdc-panel", inputs: { header: "header", toggleable: "toggleable", collapsed: "collapsed", severity: "severity", borderButtonOptions: "borderButtonOptions", panelClass: ["class", "panelClass"], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { collapsedChange: "collapsedChange" }, ngImport: i0, template: "<section\n [class]=\"panelClasses\"\n [class.sdc-panel--collapsed]=\"collapsed\"\n [class.sdc-panel--toggleable]=\"toggleable\"\n [class.sdc-panel--with-border-button]=\"showBorderButton\"\n [ngClass]=\"severityClass\"\n [attr.aria-label]=\"(ariaLabel || header) | translate\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-expanded]=\"toggleable ? !collapsed : null\"\n>\n @if (showBorderButton) {\n <button\n type=\"button\"\n class=\"sdc-panel__border-button\"\n [disabled]=\"borderButtonDisabled\"\n [attr.aria-label]=\"borderButtonLabel | translate\"\n [attr.title]=\"borderButtonTooltip ? (borderButtonTooltip | translate) : null\"\n (click)=\"onBorderButtonClick($event)\"\n >\n @if (borderButtonIcon) {\n <i [class]=\"borderButtonIcon\" aria-hidden=\"true\"></i>\n <span class=\"sdc-panel__sr-only\">{{ borderButtonLabel | translate }}</span>\n } @else {\n <span>{{ borderButtonLabel | translate }}</span>\n }\n </button>\n }\n\n @if (header || toggleable) {\n <div class=\"sdc-panel__header\">\n <div class=\"sdc-panel__header-content\">\n @if (header) {\n <span class=\"sdc-panel__title\">{{ header | translate }}</span>\n }\n\n <ng-content select=\"[sdcPanelHeaderContent]\"></ng-content>\n </div>\n\n <div class=\"sdc-panel__header-actions\">\n <ng-content select=\"[sdcPanelActions]\"></ng-content>\n\n @if (toggleable) {\n <button\n type=\"button\"\n class=\"sdc-panel__toggle fas\"\n [ngClass]=\"collapsed ? 'fa-plus' : 'fa-minus'\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-label]=\"getToggleAriaLabel() | translate\"\n (click)=\"toggleCollapsed()\"\n >\n <span class=\"sdc-panel__sr-only\">{{ getToggleAriaLabel() | translate }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n @if (!toggleable || !collapsed) {\n <div\n [id]=\"contentId\"\n class=\"sdc-panel__content\"\n [attr.aria-label]=\"'platform.datacore.accessibility_panel_content' | translate\"\n >\n <div class=\"sdc-panel__body\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"sdc-panel__footer\">\n <ng-content select=\"[sdcFooter]\"></ng-content>\n </div>\n </div>\n }\n</section>\n", styles: [":host{display:block}.sdc-panel{position:relative;display:block;overflow:hidden;background-color:var(--sdc-panel-bg, var(--sdc-surface-bg, #ffffff));border:var(--sdc-panel-border, var(--sdc-surface-border, 1px solid #dedce5));border-radius:var(--sdc-panel-radius, var(--sdc-surface-radius, 4px));box-shadow:var(--sdc-panel-shadow, var(--sdc-surface-shadow, none));padding:var(--sdc-panel-padding, var(--sdc-surface-padding, 22px 22px 20px));transition:var(--sdc-panel-transition, var(--sdc-surface-transition, border-color .25s ease))}.sdc-panel.sdc-panel--success{border-left:4px solid var(--sdc-panel-success, #1f9d55)}.sdc-panel.sdc-panel--info{border-left:4px solid var(--sdc-panel-info, #2563eb)}.sdc-panel.sdc-panel--warn{border-left:4px solid var(--sdc-panel-warn, #d97706)}.sdc-panel.sdc-panel--error{border-left:4px solid var(--sdc-panel-error, #dc2626)}.sdc-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap-reverse;min-height:var(--sdc-panel-header-min-height, var(--sdc-surface-header-min-height, 34px));padding-bottom:var(--sdc-panel-header-padding-bottom, var(--sdc-surface-header-padding-bottom, 20px));border-bottom:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5));color:var(--sdc-panel-title-color, var(--sdc-surface-title-color, #212533))}.sdc-panel--collapsed .sdc-panel__header{padding-bottom:0;border-bottom:none}.sdc-panel__header-content{display:flex;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap-lg, .75rem));min-width:0;flex-wrap:wrap}.sdc-panel__header-actions{margin-left:auto;display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap, .5rem));flex:0 0 auto;max-width:100%}.sdc-panel__title{color:inherit;font-size:var(--sdc-panel-title-font-size, var(--sdc-surface-title-font-size, 14px));font-weight:var(--sdc-panel-title-font-weight, var(--sdc-surface-title-font-weight, 400));line-height:var(--sdc-panel-title-line-height, var(--sdc-surface-title-line-height, 20px))}.sdc-panel__toggle,.sdc-panel__border-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-panel-action-size, 24px);min-height:var(--sdc-panel-action-size, 24px);border:none;background:transparent;color:inherit;cursor:pointer}.sdc-panel__toggle{flex:0 0 auto;border-radius:999px}.sdc-panel__toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button{position:absolute;inset-block-start:1rem;inset-inline-start:0;z-index:1;padding:.5rem;border-radius:999px;background:var(--sdc-panel-border-button-bg, #ffffff);box-shadow:0 10px 20px #0f172a1f;transform:translate(-40%)}.sdc-panel__border-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button:disabled{cursor:not-allowed;opacity:.56}.sdc-panel__content{padding-top:var(--sdc-panel-content-padding-top, 15px)}.sdc-panel__body{padding:var(--sdc-panel-content-padding, var(--sdc-surface-content-padding, 0))}.sdc-panel__footer{margin-top:var(--sdc-panel-footer-margin-top, var(--sdc-surface-footer-margin-top, 15px));padding-top:var(--sdc-panel-footer-padding-top, var(--sdc-surface-footer-padding-top, 15px));border-top:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5))}.sdc-panel__footer:empty{display:none}.sdc-panel__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
73
|
}
|
|
74
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PanelComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
76
|
-
args: [{ imports: [CommonModule, TranslateModule], standalone: true, selector: 'sdc-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<section\n [class]=\"panelClasses\"\n [class.sdc-panel--collapsed]=\"collapsed\"\n [class.sdc-panel--toggleable]=\"toggleable\"\n [class.sdc-panel--with-border-button]=\"showBorderButton\"\n [ngClass]=\"severityClass\"\n [attr.aria-label]=\"(ariaLabel || header) | translate\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-expanded]=\"toggleable ? !collapsed : null\"\n>\n @if (showBorderButton) {\n <button\n type=\"button\"\n class=\"sdc-panel__border-button\"\n [disabled]=\"borderButtonDisabled\"\n [attr.aria-label]=\"borderButtonLabel | translate\"\n [attr.title]=\"borderButtonTooltip ? (borderButtonTooltip | translate) : null\"\n (click)=\"onBorderButtonClick($event)\"\n >\n @if (borderButtonIcon) {\n <i [class]=\"borderButtonIcon\" aria-hidden=\"true\"></i>\n <span class=\"sdc-panel__sr-only\">{{ borderButtonLabel | translate }}</span>\n } @else {\n <span>{{ borderButtonLabel | translate }}</span>\n }\n </button>\n }\n\n @if (header || toggleable) {\n <div class=\"sdc-panel__header\">\n <div class=\"sdc-panel__header-content\">\n @if (header) {\n <span class=\"sdc-panel__title\">{{ header | translate }}</span>\n }\n\n <ng-content select=\"[sdcPanelHeaderContent]\"></ng-content>\n </div>\n\n <div class=\"sdc-panel__header-actions\">\n <ng-content select=\"[sdcPanelActions]\"></ng-content>\n\n @if (toggleable) {\n <button\n type=\"button\"\n class=\"sdc-panel__toggle fas\"\n [ngClass]=\"collapsed ? 'fa-plus' : 'fa-minus'\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-label]=\"getToggleAriaLabel() | translate\"\n (click)=\"toggleCollapsed()\"\n >\n <span class=\"sdc-panel__sr-only\">{{ getToggleAriaLabel() | translate }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n @if (!toggleable || !collapsed) {\n <div\n [id]=\"contentId\"\n class=\"sdc-panel__content\"\n [attr.aria-label]=\"'platform.datacore.accessibility_panel_content' | translate\"\n >\n <div class=\"sdc-panel__body\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"sdc-panel__footer\">\n <ng-content select=\"[sdcFooter]\"></ng-content>\n </div>\n </div>\n }\n</section>\n", styles: [":host{display:block}.sdc-panel{position:relative;display:block;overflow:hidden;background-color:var(--sdc-panel-bg, var(--sdc-surface-bg, #ffffff));border:var(--sdc-panel-border, var(--sdc-surface-border, 1px solid #dedce5));border-radius:var(--sdc-panel-radius, var(--sdc-surface-radius, 4px));box-shadow:var(--sdc-panel-shadow, var(--sdc-surface-shadow, none));padding:var(--sdc-panel-padding, var(--sdc-surface-padding, 22px 22px 20px));transition:var(--sdc-panel-transition, var(--sdc-surface-transition, border-color .25s ease))}.sdc-panel.sdc-panel--success{border-left:4px solid var(--sdc-panel-success, #1f9d55)}.sdc-panel.sdc-panel--info{border-left:4px solid var(--sdc-panel-info, #2563eb)}.sdc-panel.sdc-panel--warn{border-left:4px solid var(--sdc-panel-warn, #d97706)}.sdc-panel.sdc-panel--error{border-left:4px solid var(--sdc-panel-error, #dc2626)}.sdc-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--sdc-panel-header-min-height, var(--sdc-surface-header-min-height, 34px));padding-bottom:var(--sdc-panel-header-padding-bottom, var(--sdc-surface-header-padding-bottom, 20px));border-bottom:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5));color:var(--sdc-panel-title-color, var(--sdc-surface-title-color, #212533))}.sdc-panel--collapsed .sdc-panel__header{padding-bottom:0;border-bottom:none}.sdc-panel__header-content{display:flex;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap-lg, .75rem));min-width:0;flex-wrap:wrap}.sdc-panel__header-actions{display:flex;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap, .5rem));flex:0 0 auto}.sdc-panel__title{color:inherit;font-size:var(--sdc-panel-title-font-size, var(--sdc-surface-title-font-size, 14px));font-weight:var(--sdc-panel-title-font-weight, var(--sdc-surface-title-font-weight, 400));line-height:var(--sdc-panel-title-line-height, var(--sdc-surface-title-line-height, 20px))}.sdc-panel__toggle,.sdc-panel__border-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-panel-action-size, 24px);min-height:var(--sdc-panel-action-size, 24px);border:none;background:transparent;color:inherit;cursor:pointer}.sdc-panel__toggle{flex:0 0 auto;border-radius:999px}.sdc-panel__toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button{position:absolute;inset-block-start:1rem;inset-inline-start:0;z-index:1;padding:.5rem;border-radius:999px;background:var(--sdc-panel-border-button-bg, #ffffff);box-shadow:0 10px 20px #0f172a1f;transform:translate(-40%)}.sdc-panel__border-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button:disabled{cursor:not-allowed;opacity:.56}.sdc-panel__content{padding-top:var(--sdc-panel-content-padding-top, 15px)}.sdc-panel__body{padding:var(--sdc-panel-content-padding, var(--sdc-surface-content-padding, 0))}.sdc-panel__footer{margin-top:var(--sdc-panel-footer-margin-top, var(--sdc-surface-footer-margin-top, 15px));padding-top:var(--sdc-panel-footer-padding-top, var(--sdc-surface-footer-padding-top, 15px));border-top:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5))}.sdc-panel__footer:empty{display:none}.sdc-panel__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"] }]
|
|
76
|
+
args: [{ imports: [CommonModule, TranslateModule], standalone: true, selector: 'sdc-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<section\n [class]=\"panelClasses\"\n [class.sdc-panel--collapsed]=\"collapsed\"\n [class.sdc-panel--toggleable]=\"toggleable\"\n [class.sdc-panel--with-border-button]=\"showBorderButton\"\n [ngClass]=\"severityClass\"\n [attr.aria-label]=\"(ariaLabel || header) | translate\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-expanded]=\"toggleable ? !collapsed : null\"\n>\n @if (showBorderButton) {\n <button\n type=\"button\"\n class=\"sdc-panel__border-button\"\n [disabled]=\"borderButtonDisabled\"\n [attr.aria-label]=\"borderButtonLabel | translate\"\n [attr.title]=\"borderButtonTooltip ? (borderButtonTooltip | translate) : null\"\n (click)=\"onBorderButtonClick($event)\"\n >\n @if (borderButtonIcon) {\n <i [class]=\"borderButtonIcon\" aria-hidden=\"true\"></i>\n <span class=\"sdc-panel__sr-only\">{{ borderButtonLabel | translate }}</span>\n } @else {\n <span>{{ borderButtonLabel | translate }}</span>\n }\n </button>\n }\n\n @if (header || toggleable) {\n <div class=\"sdc-panel__header\">\n <div class=\"sdc-panel__header-content\">\n @if (header) {\n <span class=\"sdc-panel__title\">{{ header | translate }}</span>\n }\n\n <ng-content select=\"[sdcPanelHeaderContent]\"></ng-content>\n </div>\n\n <div class=\"sdc-panel__header-actions\">\n <ng-content select=\"[sdcPanelActions]\"></ng-content>\n\n @if (toggleable) {\n <button\n type=\"button\"\n class=\"sdc-panel__toggle fas\"\n [ngClass]=\"collapsed ? 'fa-plus' : 'fa-minus'\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-label]=\"getToggleAriaLabel() | translate\"\n (click)=\"toggleCollapsed()\"\n >\n <span class=\"sdc-panel__sr-only\">{{ getToggleAriaLabel() | translate }}</span>\n </button>\n }\n </div>\n </div>\n }\n\n @if (!toggleable || !collapsed) {\n <div\n [id]=\"contentId\"\n class=\"sdc-panel__content\"\n [attr.aria-label]=\"'platform.datacore.accessibility_panel_content' | translate\"\n >\n <div class=\"sdc-panel__body\">\n <ng-content></ng-content>\n </div>\n\n <div class=\"sdc-panel__footer\">\n <ng-content select=\"[sdcFooter]\"></ng-content>\n </div>\n </div>\n }\n</section>\n", styles: [":host{display:block}.sdc-panel{position:relative;display:block;overflow:hidden;background-color:var(--sdc-panel-bg, var(--sdc-surface-bg, #ffffff));border:var(--sdc-panel-border, var(--sdc-surface-border, 1px solid #dedce5));border-radius:var(--sdc-panel-radius, var(--sdc-surface-radius, 4px));box-shadow:var(--sdc-panel-shadow, var(--sdc-surface-shadow, none));padding:var(--sdc-panel-padding, var(--sdc-surface-padding, 22px 22px 20px));transition:var(--sdc-panel-transition, var(--sdc-surface-transition, border-color .25s ease))}.sdc-panel.sdc-panel--success{border-left:4px solid var(--sdc-panel-success, #1f9d55)}.sdc-panel.sdc-panel--info{border-left:4px solid var(--sdc-panel-info, #2563eb)}.sdc-panel.sdc-panel--warn{border-left:4px solid var(--sdc-panel-warn, #d97706)}.sdc-panel.sdc-panel--error{border-left:4px solid var(--sdc-panel-error, #dc2626)}.sdc-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap-reverse;min-height:var(--sdc-panel-header-min-height, var(--sdc-surface-header-min-height, 34px));padding-bottom:var(--sdc-panel-header-padding-bottom, var(--sdc-surface-header-padding-bottom, 20px));border-bottom:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5));color:var(--sdc-panel-title-color, var(--sdc-surface-title-color, #212533))}.sdc-panel--collapsed .sdc-panel__header{padding-bottom:0;border-bottom:none}.sdc-panel__header-content{display:flex;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap-lg, .75rem));min-width:0;flex-wrap:wrap}.sdc-panel__header-actions{margin-left:auto;display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;align-items:center;gap:var(--sdc-panel-header-gap, var(--sdc-control-gap, .5rem));flex:0 0 auto;max-width:100%}.sdc-panel__title{color:inherit;font-size:var(--sdc-panel-title-font-size, var(--sdc-surface-title-font-size, 14px));font-weight:var(--sdc-panel-title-font-weight, var(--sdc-surface-title-font-weight, 400));line-height:var(--sdc-panel-title-line-height, var(--sdc-surface-title-line-height, 20px))}.sdc-panel__toggle,.sdc-panel__border-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--sdc-panel-action-size, 24px);min-height:var(--sdc-panel-action-size, 24px);border:none;background:transparent;color:inherit;cursor:pointer}.sdc-panel__toggle{flex:0 0 auto;border-radius:999px}.sdc-panel__toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button{position:absolute;inset-block-start:1rem;inset-inline-start:0;z-index:1;padding:.5rem;border-radius:999px;background:var(--sdc-panel-border-button-bg, #ffffff);box-shadow:0 10px 20px #0f172a1f;transform:translate(-40%)}.sdc-panel__border-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.sdc-panel__border-button:disabled{cursor:not-allowed;opacity:.56}.sdc-panel__content{padding-top:var(--sdc-panel-content-padding-top, 15px)}.sdc-panel__body{padding:var(--sdc-panel-content-padding, var(--sdc-surface-content-padding, 0))}.sdc-panel__footer{margin-top:var(--sdc-panel-footer-margin-top, var(--sdc-surface-footer-margin-top, 15px));padding-top:var(--sdc-panel-footer-padding-top, var(--sdc-surface-footer-padding-top, 15px));border-top:var(--sdc-panel-divider-border, var(--sdc-surface-divider-border, 1px solid #dedce5))}.sdc-panel__footer:empty{display:none}.sdc-panel__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"] }]
|
|
77
77
|
}], propDecorators: { header: [{
|
|
78
78
|
type: Input
|
|
79
79
|
}], toggleable: [{
|
|
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
94
94
|
}], ariaLabelledBy: [{
|
|
95
95
|
type: Input
|
|
96
96
|
}] } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9wYW5lbC9wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3BhbmVsL3BhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQXVCLFlBQVksRUFBbUIsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQVdqRyxNQUFNLE9BQU8sY0FBYztJQUNoQixTQUFTLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUVsRCxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU1QixJQUFhLFNBQVMsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVTLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRS9DLFFBQVEsR0FBZSxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQzVDLG1CQUFtQixDQUF1QjtJQUNuQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBRWhDLHVFQUF1RTtJQUM5RCxTQUFTLENBQVU7SUFDbkIsY0FBYyxDQUFVO0lBRXpCLFVB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bW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5pbXBvcnQgeyBCb3JkZXJCdXR0b25PcHRpb25zLCBFbnVtU2V2ZXJpdHksIHR5cGUgU2V2ZXJpdGllcyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvcGFuZWwudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NkYy1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYW5lbC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBQYW5lbENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRlbnRJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1wYW5lbC1jb250ZW50Jyk7XG5cbiAgQElucHV0KCkgaGVhZGVyID0gJyc7XG4gIEBJbnB1dCgpIHRvZ2dsZWFibGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgY29sbGFwc2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4kY29sbGFwc2VkID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGNvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4kY29sbGFwc2VkO1xuICB9XG5cbiAgQE91dHB1dCgpIGNvbGxhcHNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSBzZXZlcml0eTogU2V2ZXJpdGllcyA9IEVudW1TZXZlcml0eS5EZWZhdWx0O1xuICBASW5wdXQoKSBib3JkZXJCdXR0b25PcHRpb25zPzogQm9yZGVyQnV0dG9uT3B0aW9ucztcbiAgQElucHV0KCdjbGFzcycpIHBhbmVsQ2xhc3MgPSAnJztcblxuICAvLyBBY2Nlc3NpYmlsaXR5IGlucHV0cyAtIHBlcm1pdGUgY3VzdG9taXphY2FvIG91IHVzYSBkZWZhdWx0cyBjb20gaTE4blxuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIHByaXZhdGUgJGNvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIG9uQ29sbGFwc2VkQ2hhbmdlZCh2OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy4kY29sbGFwc2VkID0gdjtcbiAgICB0aGlzLmNvbGxhcHNlZENoYW5nZS5lbWl0KHYpO1xuICB9XG5cbiAgdG9nZ2xlQ29sbGFwc2VkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50b2dnbGVhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbkNvbGxhcHNlZENoYW5nZWQoIXRoaXMuY29sbGFwc2VkKTtcbiAgfVxuXG4gIG9uQm9yZGVyQnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5ib3JkZXJCdXR0b25EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8ub25DbGljaz8uKHRoaXMuc2V2ZXJpdHkpO1xuICB9XG5cbiAgZ2V0IHBhbmVsQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbJ3NkYy1wYW5lbCcsIHRoaXMucGFuZWxDbGFzc10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldCBzZXZlcml0eUNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzZGMtcGFuZWwtLSR7dGhpcy5zZXZlcml0eX1gO1xuICB9XG5cbiAgZ2V0IHNob3dCb3JkZXJCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8udmlzaWJsZT8uKHRoaXMuc2V2ZXJpdHkpID8/IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGJvcmRlckJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8ubGFiZWw/Lih0aGlzLnNldmVyaXR5KSA/PyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9wYW5lbF90b2dnbGUnO1xuICB9XG5cbiAgZ2V0IGJvcmRlckJ1dHRvblRvb2x0aXAoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8udG9vbHRpcD8uKHRoaXMuc2V2ZXJpdHkpID8/IG51bGw7XG4gIH1cblxuICBnZXQgYm9yZGVyQnV0dG9uSWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5ib3JkZXJCdXR0b25PcHRpb25zPy5pY29uPy4odGhpcy5zZXZlcml0eSkgPz8gbnVsbDtcbiAgfVxuXG4gIGdldCBib3JkZXJCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ib3JkZXJCdXR0b25PcHRpb25zPy5kaXNhYmxlZD8uKHRoaXMuc2V2ZXJpdHkpID8/IGZhbHNlO1xuICB9XG5cbiAgZ2V0VG9nZ2xlQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7XG4gICAgICByZXR1cm4gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfZXhwYW5kJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfY29sbGFwc2UnO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBbY2xhc3NdPVwicGFuZWxDbGFzc2VzXCJcbiAgW2NsYXNzLnNkYy1wYW5lbC0tY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXG4gIFtjbGFzcy5zZGMtcGFuZWwtLXRvZ2dsZWFibGVdPVwidG9nZ2xlYWJsZVwiXG4gIFtjbGFzcy5zZGMtcGFuZWwtLXdpdGgtYm9yZGVyLWJ1dHRvbl09XCJzaG93Qm9yZGVyQnV0dG9uXCJcbiAgW25nQ2xhc3NdPVwic2V2ZXJpdHlDbGFzc1wiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiKGFyaWFMYWJlbCB8fCBoZWFkZXIpIHwgdHJhbnNsYXRlXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJ0b2dnbGVhYmxlID8gIWNvbGxhcHNlZCA6IG51bGxcIlxuPlxuICBAaWYgKHNob3dCb3JkZXJCdXR0b24pIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXBhbmVsX19ib3JkZXItYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJib3JkZXJCdXR0b25EaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJvcmRlckJ1dHRvbkxhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgIFthdHRyLnRpdGxlXT1cImJvcmRlckJ1dHRvblRvb2x0aXAgPyAoYm9yZGVyQnV0dG9uVG9vbHRpcCB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgIChjbGljayk9XCJvbkJvcmRlckJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIEBpZiAoYm9yZGVyQnV0dG9uSWNvbikge1xuICAgICAgICA8aSBbY2xhc3NdPVwiYm9yZGVyQnV0dG9uSWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcGFuZWxfX3NyLW9ubHlcIj57eyBib3JkZXJCdXR0b25MYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8c3Bhbj57eyBib3JkZXJCdXR0b25MYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgfVxuXG4gIEBpZiAoaGVhZGVyIHx8IHRvZ2dsZWFibGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXBhbmVsX19oZWFkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtcGFuZWxfX2hlYWRlci1jb250ZW50XCI+XG4gICAgICAgIEBpZiAoaGVhZGVyKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcGFuZWxfX3RpdGxlXCI+e3sgaGVhZGVyIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkY1BhbmVsSGVhZGVyQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1wYW5lbF9faGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkY1BhbmVsQWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgQGlmICh0b2dnbGVhYmxlKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1wYW5lbF9fdG9nZ2xlIGZhc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjb2xsYXBzZWQgPyAnZmEtcGx1cycgOiAnZmEtbWludXMnXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiY29udGVudElkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFRvZ2dsZUFyaWFMYWJlbCgpIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZWQoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcGFuZWxfX3NyLW9ubHlcIj57eyBnZXRUb2dnbGVBcmlhTGFiZWwoKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKCF0b2dnbGVhYmxlIHx8ICFjb2xsYXBzZWQpIHtcbiAgICA8ZGl2XG4gICAgICBbaWRdPVwiY29udGVudElkXCJcbiAgICAgIGNsYXNzPVwic2RjLXBhbmVsX19jb250ZW50XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfY29udGVudCcgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtcGFuZWxfX2JvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtcGFuZWxfX2Zvb3RlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2RjRm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L3NlY3Rpb24+XG4iXX0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9wYW5lbC9wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL3BhbmVsL3BhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQXVCLFlBQVksRUFBbUIsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQVdqRyxNQUFNLE9BQU8sY0FBYztJQUNoQixTQUFTLEdBQUcsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUVsRCxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osVUFBVSxHQUFHLEtBQUssQ0FBQztJQUU1QixJQUFhLFNBQVMsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVTLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRS9DLFFBQVEsR0FBZSxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQzVDLG1CQUFtQixDQUF1QjtJQUNuQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBRWhDLHVFQUF1RTtJQUM5RCxTQUFTLENBQVU7SUFDbkIsY0FBYyxDQUFVO0lBRXpCLFVB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bW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5pbXBvcnQgeyBCb3JkZXJCdXR0b25PcHRpb25zLCBFbnVtU2V2ZXJpdHksIHR5cGUgU2V2ZXJpdGllcyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvcGFuZWwudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NkYy1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYW5lbC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBQYW5lbENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNvbnRlbnRJZCA9IG5leHRTZXF1ZW50aWFsSWQoJ3NkYy1wYW5lbC1jb250ZW50Jyk7XG5cbiAgQElucHV0KCkgaGVhZGVyID0gJyc7XG4gIEBJbnB1dCgpIHRvZ2dsZWFibGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgY29sbGFwc2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4kY29sbGFwc2VkID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGNvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4kY29sbGFwc2VkO1xuICB9XG5cbiAgQE91dHB1dCgpIGNvbGxhcHNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSBzZXZlcml0eTogU2V2ZXJpdGllcyA9IEVudW1TZXZlcml0eS5EZWZhdWx0O1xuICBASW5wdXQoKSBib3JkZXJCdXR0b25PcHRpb25zPzogQm9yZGVyQnV0dG9uT3B0aW9ucztcbiAgQElucHV0KCdjbGFzcycpIHBhbmVsQ2xhc3MgPSAnJztcblxuICAvLyBBY2Nlc3NpYmlsaXR5IGlucHV0cyAtIHBlcm1pdGUgY3VzdG9taXphY2FvIG91IHVzYSBkZWZhdWx0cyBjb20gaTE4blxuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIHByaXZhdGUgJGNvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIG9uQ29sbGFwc2VkQ2hhbmdlZCh2OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy4kY29sbGFwc2VkID0gdjtcbiAgICB0aGlzLmNvbGxhcHNlZENoYW5nZS5lbWl0KHYpO1xuICB9XG5cbiAgdG9nZ2xlQ29sbGFwc2VkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50b2dnbGVhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbkNvbGxhcHNlZENoYW5nZWQoIXRoaXMuY29sbGFwc2VkKTtcbiAgfVxuXG4gIG9uQm9yZGVyQnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5ib3JkZXJCdXR0b25EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8ub25DbGljaz8uKHRoaXMuc2V2ZXJpdHkpO1xuICB9XG5cbiAgZ2V0IHBhbmVsQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbJ3NkYy1wYW5lbCcsIHRoaXMucGFuZWxDbGFzc10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldCBzZXZlcml0eUNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBzZGMtcGFuZWwtLSR7dGhpcy5zZXZlcml0eX1gO1xuICB9XG5cbiAgZ2V0IHNob3dCb3JkZXJCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8udmlzaWJsZT8uKHRoaXMuc2V2ZXJpdHkpID8/IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGJvcmRlckJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8ubGFiZWw/Lih0aGlzLnNldmVyaXR5KSA/PyAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9wYW5lbF90b2dnbGUnO1xuICB9XG5cbiAgZ2V0IGJvcmRlckJ1dHRvblRvb2x0aXAoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYm9yZGVyQnV0dG9uT3B0aW9ucz8udG9vbHRpcD8uKHRoaXMuc2V2ZXJpdHkpID8/IG51bGw7XG4gIH1cblxuICBnZXQgYm9yZGVyQnV0dG9uSWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5ib3JkZXJCdXR0b25PcHRpb25zPy5pY29uPy4odGhpcy5zZXZlcml0eSkgPz8gbnVsbDtcbiAgfVxuXG4gIGdldCBib3JkZXJCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ib3JkZXJCdXR0b25PcHRpb25zPy5kaXNhYmxlZD8uKHRoaXMuc2V2ZXJpdHkpID8/IGZhbHNlO1xuICB9XG5cbiAgZ2V0VG9nZ2xlQXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29sbGFwc2VkKSB7XG4gICAgICByZXR1cm4gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfZXhwYW5kJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfY29sbGFwc2UnO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBbY2xhc3NdPVwicGFuZWxDbGFzc2VzXCJcbiAgW2NsYXNzLnNkYy1wYW5lbC0tY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiXG4gIFtjbGFzcy5zZGMtcGFuZWwtLXRvZ2dsZWFibGVdPVwidG9nZ2xlYWJsZVwiXG4gIFtjbGFzcy5zZGMtcGFuZWwtLXdpdGgtYm9yZGVyLWJ1dHRvbl09XCJzaG93Qm9yZGVyQnV0dG9uXCJcbiAgW25nQ2xhc3NdPVwic2V2ZXJpdHlDbGFzc1wiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiKGFyaWFMYWJlbCB8fCBoZWFkZXIpIHwgdHJhbnNsYXRlXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJ0b2dnbGVhYmxlID8gIWNvbGxhcHNlZCA6IG51bGxcIlxuPlxuICBAaWYgKHNob3dCb3JkZXJCdXR0b24pIHtcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwic2RjLXBhbmVsX19ib3JkZXItYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJib3JkZXJCdXR0b25EaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJvcmRlckJ1dHRvbkxhYmVsIHwgdHJhbnNsYXRlXCJcbiAgICAgIFthdHRyLnRpdGxlXT1cImJvcmRlckJ1dHRvblRvb2x0aXAgPyAoYm9yZGVyQnV0dG9uVG9vbHRpcCB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgIChjbGljayk9XCJvbkJvcmRlckJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIEBpZiAoYm9yZGVyQnV0dG9uSWNvbikge1xuICAgICAgICA8aSBbY2xhc3NdPVwiYm9yZGVyQnV0dG9uSWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcGFuZWxfX3NyLW9ubHlcIj57eyBib3JkZXJCdXR0b25MYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8c3Bhbj57eyBib3JkZXJCdXR0b25MYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgfVxuXG4gIEBpZiAoaGVhZGVyIHx8IHRvZ2dsZWFibGUpIHtcbiAgICA8ZGl2IGNsYXNzPVwic2RjLXBhbmVsX19oZWFkZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtcGFuZWxfX2hlYWRlci1jb250ZW50XCI+XG4gICAgICAgIEBpZiAoaGVhZGVyKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcGFuZWxfX3RpdGxlXCI+e3sgaGVhZGVyIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkY1BhbmVsSGVhZGVyQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1wYW5lbF9faGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NkY1BhbmVsQWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgQGlmICh0b2dnbGVhYmxlKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1wYW5lbF9fdG9nZ2xlIGZhc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjb2xsYXBzZWQgPyAnZmEtcGx1cycgOiAnZmEtbWludXMnXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiY29udGVudElkXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFRvZ2dsZUFyaWFMYWJlbCgpIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZWQoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtcGFuZWxfX3NyLW9ubHlcIj57eyBnZXRUb2dnbGVBcmlhTGFiZWwoKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICBAaWYgKCF0b2dnbGVhYmxlIHx8ICFjb2xsYXBzZWQpIHtcbiAgICA8ZGl2XG4gICAgICBbaWRdPVwiY29udGVudElkXCJcbiAgICAgIGNsYXNzPVwic2RjLXBhbmVsX19jb250ZW50XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHlfcGFuZWxfY29udGVudCcgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtcGFuZWxfX2JvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtcGFuZWxfX2Zvb3RlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2RjRm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChildren } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewChildren } from '@angular/core';
|
|
3
3
|
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { TABLE_MENU_VIEWPORT_MARGIN_PX } from '../../../core/constants/table.const';
|
|
4
5
|
import { TableMenuFocusTarget } from '../../../core/types/table.type';
|
|
5
6
|
import { IconRendererComponent } from '../../../core/components/icon-renderer/icon-renderer.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@ngx-translate/core";
|
|
8
9
|
export class TableActionsMenuComponent {
|
|
10
|
+
cdr;
|
|
9
11
|
menuItems;
|
|
12
|
+
painel;
|
|
10
13
|
ariaLabel = 'platform.datacore.accessibility_actions_menu';
|
|
11
14
|
items = [];
|
|
12
15
|
left = 0;
|
|
@@ -16,8 +19,41 @@ export class TableActionsMenuComponent {
|
|
|
16
19
|
close = new EventEmitter();
|
|
17
20
|
select = new EventEmitter();
|
|
18
21
|
activeIndex = -1;
|
|
22
|
+
constructor(cdr) {
|
|
23
|
+
this.cdr = cdr;
|
|
24
|
+
}
|
|
19
25
|
ngAfterViewInit() {
|
|
20
|
-
queueMicrotask(() =>
|
|
26
|
+
queueMicrotask(() => {
|
|
27
|
+
this.manterDentroDaViewport();
|
|
28
|
+
this.focusFirstEnabledItem();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* O chamador posiciona o menu logo abaixo do gatilho (table.component.ts:
|
|
33
|
+
* `top: rect.bottom + gap`) sem saber a altura dele, que so existe depois de
|
|
34
|
+
* renderizar. Numa linha perto do rodape o menu nascia fora da tela - medido num
|
|
35
|
+
* iPad Mini (viewport de 1024px): abria em top 1028, bottom 1094, com o item
|
|
36
|
+
* "Visualizar" em 1038. Como e `position: fixed`, rolar a pagina NAO traz ele de
|
|
37
|
+
* volta - ficava impossivel de alcancar.
|
|
38
|
+
*
|
|
39
|
+
* Aqui, ja com a medida real, o menu encosta na borda em vez de passar dela. A
|
|
40
|
+
* horizontal segue a mesma ideia.
|
|
41
|
+
*/
|
|
42
|
+
manterDentroDaViewport() {
|
|
43
|
+
const el = this.painel?.nativeElement;
|
|
44
|
+
if (!el) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const { width, height } = el.getBoundingClientRect();
|
|
48
|
+
const margem = TABLE_MENU_VIEWPORT_MARGIN_PX;
|
|
49
|
+
const top = Math.max(margem, Math.min(this.top, window.innerHeight - height - margem));
|
|
50
|
+
const left = Math.max(margem, Math.min(this.left, window.innerWidth - width - margem));
|
|
51
|
+
if (top === this.top && left === this.left) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this.top = top;
|
|
55
|
+
this.left = left;
|
|
56
|
+
this.cdr.markForCheck();
|
|
21
57
|
}
|
|
22
58
|
onItemFocus(index) {
|
|
23
59
|
if (this.items[index]?.disabled) {
|
|
@@ -134,9 +170,10 @@ export class TableActionsMenuComponent {
|
|
|
134
170
|
event.preventDefault();
|
|
135
171
|
this.focusIndex(enabledIndexes[currentEnabledPosition + 1]);
|
|
136
172
|
}
|
|
137
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableActionsMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
138
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableActionsMenuComponent, isStandalone: true, selector: "sdc-table-actions-menu", inputs: { ariaLabel: "ariaLabel", items: "items", left: "left", menuId: "menuId", top: "top", width: "width" }, outputs: { close: "close", select: "select" }, viewQueries: [{ propertyName: "menuItems", predicate: ["menuItem"], descendants: true }], ngImport: i0, template: `
|
|
173
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableActionsMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
174
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableActionsMenuComponent, isStandalone: true, selector: "sdc-table-actions-menu", inputs: { ariaLabel: "ariaLabel", items: "items", left: "left", menuId: "menuId", top: "top", width: "width" }, outputs: { close: "close", select: "select" }, viewQueries: [{ propertyName: "painel", first: true, predicate: ["painel"], descendants: true }, { propertyName: "menuItems", predicate: ["menuItem"], descendants: true }], ngImport: i0, template: `
|
|
139
175
|
<div
|
|
176
|
+
#painel
|
|
140
177
|
class="sdc-actions-menu sdc-actions-menu--portal"
|
|
141
178
|
[id]="menuId || null"
|
|
142
179
|
[style.top.px]="top"
|
|
@@ -176,6 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
176
213
|
type: Component,
|
|
177
214
|
args: [{ selector: 'sdc-table-actions-menu', standalone: true, imports: [CommonModule, TranslateModule, IconRendererComponent], template: `
|
|
178
215
|
<div
|
|
216
|
+
#painel
|
|
179
217
|
class="sdc-actions-menu sdc-actions-menu--portal"
|
|
180
218
|
[id]="menuId || null"
|
|
181
219
|
[style.top.px]="top"
|
|
@@ -210,9 +248,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
210
248
|
}
|
|
211
249
|
</div>
|
|
212
250
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".sdc-actions-menu{background:#fff;border:1px solid #d1d5db;border-radius:0;box-shadow:0 1px 2px #0f172a14;padding:0}.sdc-actions-menu--portal{position:fixed;z-index:2147483647}.sdc-actions-item{width:100%;display:flex;align-items:stretch;justify-content:flex-start;border:0;border-bottom:1px solid #e5e7eb;background:#fff;padding:0;text-align:left;cursor:pointer;font:inherit;color:#374151;min-height:2.25rem;transition:background-color .15s ease,color .15s ease}.sdc-actions-item:last-child{border-bottom:0}.sdc-actions-item__content{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem .875rem;width:100%;font-size:.8125rem;line-height:1.2}.sdc-actions-item:hover:not(:disabled),.sdc-actions-item:focus-visible:not(:disabled){background:#f9fafb;outline:none}.sdc-actions-item:disabled,.sdc-actions-item.sdc-actions-item--disabled,.sdc-actions-item[data-disabled=true]{color:#9ca3af;cursor:not-allowed;background:#fff;pointer-events:none}.sdc-actions-item:disabled .sdc-actions-item__content,.sdc-actions-item.sdc-actions-item--disabled .sdc-actions-item__content,.sdc-actions-item[data-disabled=true] .sdc-actions-item__content{opacity:.55}\n"] }]
|
|
213
|
-
}], propDecorators: { menuItems: [{
|
|
251
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { menuItems: [{
|
|
214
252
|
type: ViewChildren,
|
|
215
253
|
args: ['menuItem']
|
|
254
|
+
}], painel: [{
|
|
255
|
+
type: ViewChild,
|
|
256
|
+
args: ['painel']
|
|
216
257
|
}], ariaLabel: [{
|
|
217
258
|
type: Input
|
|
218
259
|
}], items: [{
|
|
@@ -230,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
230
271
|
}], select: [{
|
|
231
272
|
type: Output
|
|
232
273
|
}] } });
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1hY3Rpb25zLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFHTCxvQkFBb0IsRUFDckIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBOEd2RyxNQUFNLE9BQU8seUJBQXlCO0lBQ08sU0FBUyxDQUE0QztJQUV2RixTQUFTLEdBQUcsOENBQThDLENBQUM7SUFDM0QsS0FBSyxHQUEwQixFQUFFLENBQUM7SUFDbEMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVULEtBQUssR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztJQUN0RCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUFFakQsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTNCLGVBQWU7UUFDYixjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQWE7UUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtB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QVUsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQTlKVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwyVUF4RzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCw2c0NBcENTLFlBQVksOEJBQUUsZUFBZSw0RkFBRSxxQkFBcUI7OzRGQXlHbkQseUJBQXlCO2tCQTVHckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ1QsbUJBbUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdKLFNBQVM7c0JBQW5ELFlBQVk7dUJBQUMsVUFBVTtnQkFFZixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIHR5cGUgVGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudCxcbiAgdHlwZSBUYWJsZUFjdGlvbk1lbnVJdGVtLFxuICBUYWJsZU1lbnVGb2N1c1RhcmdldFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuaW1wb3J0IHsgSWNvblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL2ljb24tcmVuZGVyZXIvaWNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFibGUtYWN0aW9ucy1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBJY29uUmVuZGVyZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2RjLWFjdGlvbnMtbWVudSBzZGMtYWN0aW9ucy1tZW51LS1wb3J0YWxcIlxuICAgICAgW2lkXT1cIm1lbnVJZCB8fCBudWxsXCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImxlZnRcIlxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5rZXkgKyAnLScgKyAkaW5kZXgpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNtZW51SXRlbVxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgY2xhc3M9XCJzZGMtYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgW2NsYXNzLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiAoYWN0aXZlSW5kZXggPT09ICRpbmRleCA/IDAgOiAtMSlcIlxuICAgICAgICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkaW5kZXgpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkl0ZW1LZXlkb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdC5lbWl0KGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWFjdGlvbnMtaXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgPHNkYy1pY29uLXJlbmRlcmVyIFtpY29uXT1cIml0ZW0uaWNvblwiIFtzaXplXT1cIjEzXCI+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5zZGMtYWN0aW9ucy1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtbWVudS0tcG9ydGFsIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDc7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogIzM3NDE1MTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpob3Zlcjpub3QoOmRpc2FibGVkKSxcbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpmb2N1cy12aXNpYmxlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtOmRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogIzljYTNhZjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06ZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0uc2RjLWFjdGlvbnMtaXRlbS0tZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW1bZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25zTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkcmVuKCdtZW51SXRlbScpIHByaXZhdGUgcmVhZG9ubHkgbWVudUl0ZW1zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcblxuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9hY3Rpb25zX21lbnUnO1xuICBASW5wdXQoKSBpdGVtczogVGFibGVBY3Rpb25NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGxlZnQgPSAwO1xuICBASW5wdXQoKSBtZW51SWQgPSAnJztcbiAgQElucHV0KCkgdG9wID0gMDtcbiAgQElucHV0KCkgd2lkdGggPSAwO1xuXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51SXRlbT4oKTtcblxuICBwcm90ZWN0ZWQgYWN0aXZlSW5kZXggPSAtMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5mb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtRm9jdXMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zW2luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIC0xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ2VuZCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoeyBmb2N1c1RhcmdldDogVGFibGVNZW51Rm9jdXNUYXJnZXQuVHJpZ2dlciB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLmhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQsIGluZGV4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRWRnZShlZGdlOiAnc3RhcnQnIHwgJ2VuZCcpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBlZGdlID09PSAnc3RhcnQnXG4gICAgICA/IGVuYWJsZWRJbmRleGVzWzBdXG4gICAgICA6IGVuYWJsZWRJbmRleGVzW2VuYWJsZWRJbmRleGVzLmxlbmd0aCAtIDFdO1xuXG4gICAgdGhpcy5mb2N1c0luZGV4KHRhcmdldEluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNSZWxhdGl2ZShjdXJyZW50SW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiAxIHwgLTEpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9IGVuYWJsZWRJbmRleGVzLmluZGV4T2YoY3VycmVudEluZGV4KTtcbiAgICBjb25zdCBmYWxsYmFja1Bvc2l0aW9uID0gZGlyZWN0aW9uID09PSAxID8gLTEgOiAwO1xuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPT09IC0xID8gZmFsbGJhY2tQb3NpdGlvbiA6IGN1cnJlbnRFbmFibGVkUG9zaXRpb247XG4gICAgY29uc3QgbmV4dFBvc2l0aW9uID0gKGN1cnJlbnRQb3NpdGlvbiArIGRpcmVjdGlvbiArIGVuYWJsZWRJbmRleGVzLmxlbmd0aCkgJSBlbmFibGVkSW5kZXhlcy5sZW5ndGg7XG5cbiAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbbmV4dFBvc2l0aW9uXSk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm1lbnVJdGVtcy5nZXQoaW5kZXgpPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gICAgZWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVkSW5kZXhlcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlPG51bWJlcltdPigoaW5kZXhlcywgaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICBpbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlcztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoe1xuICAgICAgICBmb2N1c1RhcmdldDogZXZlbnQuc2hpZnRLZXkgPyBUYWJsZU1lbnVGb2N1c1RhcmdldC5QcmV2aW91cyA6IFRhYmxlTWVudUZvY3VzVGFyZ2V0Lk5leHRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPSBlbmFibGVkSW5kZXhlcy5pbmRleE9mKGluZGV4KTtcblxuICAgIGlmIChjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAtMSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KHtcbiAgICAgICAgZm9jdXNUYXJnZXQ6IGV2ZW50LnNoaWZ0S2V5ID8gVGFibGVNZW51Rm9jdXNUYXJnZXQuUHJldmlvdXMgOiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0ZpcnN0RW5hYmxlZEl0ZW0gPSBjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAwO1xuICAgIGNvbnN0IGlzTGFzdEVuYWJsZWRJdGVtID0gY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9PT0gZW5hYmxlZEluZGV4ZXMubGVuZ3RoIC0gMTtcblxuICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgaWYgKGlzRmlyc3RFbmFibGVkSXRlbSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KHsgZm9jdXNUYXJnZXQ6IFRhYmxlTWVudUZvY3VzVGFyZ2V0LlByZXZpb3VzIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbY3VycmVudEVuYWJsZWRQb3NpdGlvbiAtIDFdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNMYXN0RW5hYmxlZEl0ZW0pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCh7IGZvY3VzVGFyZ2V0OiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0IH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb2N1c0luZGV4KGVuYWJsZWRJbmRleGVzW2N1cnJlbnRFbmFibGVkUG9zaXRpb24gKyAxXSk7XG4gIH1cbn1cbiJdfQ==
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1hY3Rpb25zLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBR0wsb0JBQW9CLEVBQ3JCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7OztBQStHdkcsTUFBTSxPQUFPLHlCQUF5QjtJQWdCUDtJQWZjLFNBQVMsQ0FBNEM7SUFDMUQsTUFBTSxDQUEyQjtJQUU5RCxTQUFTLEdBQUcsOENBQThDLENBQUM7SUFDM0QsS0FBSyxHQUEwQixFQUFFLENBQUM7SUFDbEMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVULEtBQUssR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztJQUN0RCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUFFakQsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTNCLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBQUcsQ0FBQztJQUV2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Q3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQzt3R0FwTVUseUJBQXlCOzRGQUF6Qix5QkFBeUIsOFpBekcxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NULDZzQ0FyQ1MsWUFBWSw4QkFBRSxlQUFlLDRGQUFFLHFCQUFxQjs7NEZBMEduRCx5QkFBeUI7a0JBN0dyQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixDQUFDLFlBQ3JEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ1QsbUJBbUVnQix1QkFBdUIsQ0FBQyxNQUFNO3NGQUdKLFNBQVM7c0JBQW5ELFlBQVk7dUJBQUMsVUFBVTtnQkFDYyxNQUFNO3NCQUEzQyxTQUFTO3VCQUFDLFFBQVE7Z0JBRVYsU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBUQUJMRV9NRU5VX1ZJRVdQT1JUX01BUkdJTl9QWCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL3RhYmxlLmNvbnN0JztcbmltcG9ydCB7XG4gIHR5cGUgVGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudCxcbiAgdHlwZSBUYWJsZUFjdGlvbk1lbnVJdGVtLFxuICBUYWJsZU1lbnVGb2N1c1RhcmdldFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuaW1wb3J0IHsgSWNvblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL2ljb24tcmVuZGVyZXIvaWNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFibGUtYWN0aW9ucy1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBJY29uUmVuZGVyZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgICNwYWluZWxcbiAgICAgIGNsYXNzPVwic2RjLWFjdGlvbnMtbWVudSBzZGMtYWN0aW9ucy1tZW51LS1wb3J0YWxcIlxuICAgICAgW2lkXT1cIm1lbnVJZCB8fCBudWxsXCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImxlZnRcIlxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5rZXkgKyAnLScgKyAkaW5kZXgpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNtZW51SXRlbVxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgY2xhc3M9XCJzZGMtYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgW2NsYXNzLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiAoYWN0aXZlSW5kZXggPT09ICRpbmRleCA/IDAgOiAtMSlcIlxuICAgICAgICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkaW5kZXgpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkl0ZW1LZXlkb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdC5lbWl0KGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWFjdGlvbnMtaXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgPHNkYy1pY29uLXJlbmRlcmVyIFtpY29uXT1cIml0ZW0uaWNvblwiIFtzaXplXT1cIjEzXCI+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5zZGMtYWN0aW9ucy1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtbWVudS0tcG9ydGFsIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDc7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogIzM3NDE1MTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpob3Zlcjpub3QoOmRpc2FibGVkKSxcbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpmb2N1cy12aXNpYmxlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtOmRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogIzljYTNhZjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06ZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0uc2RjLWFjdGlvbnMtaXRlbS0tZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW1bZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25zTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkcmVuKCdtZW51SXRlbScpIHByaXZhdGUgcmVhZG9ubHkgbWVudUl0ZW1zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcbiAgQFZpZXdDaGlsZCgncGFpbmVsJykgcHJpdmF0ZSByZWFkb25seSBwYWluZWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eV9hY3Rpb25zX21lbnUnO1xuICBASW5wdXQoKSBpdGVtczogVGFibGVBY3Rpb25NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGxlZnQgPSAwO1xuICBASW5wdXQoKSBtZW51SWQgPSAnJztcbiAgQElucHV0KCkgdG9wID0gMDtcbiAgQElucHV0KCkgd2lkdGggPSAwO1xuXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51SXRlbT4oKTtcblxuICBwcm90ZWN0ZWQgYWN0aXZlSW5kZXggPSAtMTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgIHRoaXMubWFudGVyRGVudHJvRGFWaWV3cG9ydCgpO1xuICAgICAgdGhpcy5mb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPIGNoYW1hZG9yIHBvc2ljaW9uYSBvIG1lbnUgbG9nbyBhYmFpeG8gZG8gZ2F0aWxobyAodGFibGUuY29tcG9uZW50LnRzOlxuICAgKiBgdG9wOiByZWN0LmJvdHRvbSArIGdhcGApIHNlbSBzYWJlciBhIGFsdHVyYSBkZWxlLCBxdWUgc28gZXhpc3RlIGRlcG9pcyBkZVxuICAgKiByZW5kZXJpemFyLiBOdW1hIGxpbmhhIHBlcnRvIGRvIHJvZGFwZSBvIG1lbnUgbmFzY2lhIGZvcmEgZGEgdGVsYSAtIG1lZGlkbyBudW1cbiAgICogaVBhZCBNaW5pICh2aWV3cG9ydCBkZSAxMDI0cHgpOiBhYnJpYSBlbSB0b3AgMTAyOCwgYm90dG9tIDEwOTQsIGNvbSBvIGl0ZW1cbiAgICogXCJWaXN1YWxpemFyXCIgZW0gMTAzOC4gQ29tbyBlIGBwb3NpdGlvbjogZml4ZWRgLCByb2xhciBhIHBhZ2luYSBOQU8gdHJheiBlbGUgZGVcbiAgICogdm9sdGEgLSBmaWNhdmEgaW1wb3NzaXZlbCBkZSBhbGNhbmNhci5cbiAgICpcbiAgICogQXF1aSwgamEgY29tIGEgbWVkaWRhIHJlYWwsIG8gbWVudSBlbmNvc3RhIG5hIGJvcmRhIGVtIHZleiBkZSBwYXNzYXIgZGVsYS4gQVxuICAgKiBob3Jpem9udGFsIHNlZ3VlIGEgbWVzbWEgaWRlaWEuXG4gICAqL1xuICBwcml2YXRlIG1hbnRlckRlbnRyb0RhVmlld3BvcnQoKTogdm9pZCB7XG4gICAgY29uc3QgZWwgPSB0aGlzLnBhaW5lbD8ubmF0aXZlRWxlbWVudDtcblxuICAgIGlmICghZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IG1hcmdlbSA9IFRBQkxFX01FTlVfVklFV1BPUlRfTUFSR0lOX1BYO1xuICAgIGNvbnN0IHRvcCA9IE1hdGgubWF4KG1hcmdlbSwgTWF0aC5taW4odGhpcy50b3AsIHdpbmRvdy5pbm5lckhlaWdodCAtIGhlaWdodCAtIG1hcmdlbSkpO1xuICAgIGNvbnN0IGxlZnQgPSBNYXRoLm1heChtYXJnZW0sIE1hdGgubWluKHRoaXMubGVmdCwgd2luZG93LmlubmVyV2lkdGggLSB3aWR0aCAtIG1hcmdlbSkpO1xuXG4gICAgaWYgKHRvcCA9PT0gdGhpcy50b3AgJiYgbGVmdCA9PT0gdGhpcy5sZWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy50b3AgPSB0b3A7XG4gICAgdGhpcy5sZWZ0ID0gbGVmdDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkl0ZW1Gb2N1cyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXRlbXNbaW5kZXhdPy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkl0ZW1LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNSZWxhdGl2ZShpbmRleCwgMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNSZWxhdGl2ZShpbmRleCwgLTEpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzRWRnZSgnc3RhcnQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzRWRnZSgnZW5kJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuY2xvc2UuZW1pdCh7IGZvY3VzVGFyZ2V0OiBUYWJsZU1lbnVGb2N1c1RhcmdldC5UcmlnZ2VyIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMuaGFuZGxlVGFiTmF2aWdhdGlvbihldmVudCwgaW5kZXgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRmlyc3RFbmFibGVkSXRlbSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzRWRnZSgnc3RhcnQnKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNFZGdlKGVkZ2U6ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRJbmRleGVzID0gdGhpcy5lbmFibGVkSW5kZXhlcygpO1xuXG4gICAgaWYgKCFlbmFibGVkSW5kZXhlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IGVkZ2UgPT09ICdzdGFydCdcbiAgICAgID8gZW5hYmxlZEluZGV4ZXNbMF1cbiAgICAgIDogZW5hYmxlZEluZGV4ZXNbZW5hYmxlZEluZGV4ZXMubGVuZ3RoIC0gMV07XG5cbiAgICB0aGlzLmZvY3VzSW5kZXgodGFyZ2V0SW5kZXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1JlbGF0aXZlKGN1cnJlbnRJbmRleDogbnVtYmVyLCBkaXJlY3Rpb246IDEgfCAtMSk6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRJbmRleGVzID0gdGhpcy5lbmFibGVkSW5kZXhlcygpO1xuXG4gICAgaWYgKCFlbmFibGVkSW5kZXhlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50RW5hYmxlZFBvc2l0aW9uID0gZW5hYmxlZEluZGV4ZXMuaW5kZXhPZihjdXJyZW50SW5kZXgpO1xuICAgIGNvbnN0IGZhbGxiYWNrUG9zaXRpb24gPSBkaXJlY3Rpb24gPT09IDEgPyAtMSA6IDA7XG4gICAgY29uc3QgY3VycmVudFBvc2l0aW9uID0gY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9PT0gLTEgPyBmYWxsYmFja1Bvc2l0aW9uIDogY3VycmVudEVuYWJsZWRQb3NpdGlvbjtcbiAgICBjb25zdCBuZXh0UG9zaXRpb24gPSAoY3VycmVudFBvc2l0aW9uICsgZGlyZWN0aW9uICsgZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSAlIGVuYWJsZWRJbmRleGVzLmxlbmd0aDtcblxuICAgIHRoaXMuZm9jdXNJbmRleChlbmFibGVkSW5kZXhlc1tuZXh0UG9zaXRpb25dKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNJbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMubWVudUl0ZW1zLmdldChpbmRleCk/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAoIWVsZW1lbnQgfHwgZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDtcbiAgICBlbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZWRJbmRleGVzKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2U8bnVtYmVyW10+KChpbmRleGVzLCBpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKCFpdGVtLmRpc2FibGVkKSB7XG4gICAgICAgIGluZGV4ZXMucHVzaChpbmRleCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGFiTmF2aWdhdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVuYWJsZWRJbmRleGVzID0gdGhpcy5lbmFibGVkSW5kZXhlcygpO1xuXG4gICAgaWYgKCFlbmFibGVkSW5kZXhlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCh7XG4gICAgICAgIGZvY3VzVGFyZ2V0OiBldmVudC5zaGlmdEtleSA/IFRhYmxlTWVudUZvY3VzVGFyZ2V0LlByZXZpb3VzIDogVGFibGVNZW51Rm9jdXNUYXJnZXQuTmV4dFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9IGVuYWJsZWRJbmRleGVzLmluZGV4T2YoaW5kZXgpO1xuXG4gICAgaWYgKGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPT09IC0xKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoe1xuICAgICAgICBmb2N1c1RhcmdldDogZXZlbnQuc2hpZnRLZXkgPyBUYWJsZU1lbnVGb2N1c1RhcmdldC5QcmV2aW91cyA6IFRhYmxlTWVudUZvY3VzVGFyZ2V0Lk5leHRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRmlyc3RFbmFibGVkSXRlbSA9IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPT09IDA7XG4gICAgY29uc3QgaXNMYXN0RW5hYmxlZEl0ZW0gPSBjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSBlbmFibGVkSW5kZXhlcy5sZW5ndGggLSAxO1xuXG4gICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICBpZiAoaXNGaXJzdEVuYWJsZWRJdGVtKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoeyBmb2N1c1RhcmdldDogVGFibGVNZW51Rm9jdXNUYXJnZXQuUHJldmlvdXMgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZm9jdXNJbmRleChlbmFibGVkSW5kZXhlc1tjdXJyZW50RW5hYmxlZFBvc2l0aW9uIC0gMV0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0xhc3RFbmFibGVkSXRlbSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KHsgZm9jdXNUYXJnZXQ6IFRhYmxlTWVudUZvY3VzVGFyZ2V0Lk5leHQgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbY3VycmVudEVuYWJsZWRQb3NpdGlvbiArIDFdKTtcbiAgfVxufVxuIl19
|