@rivet-health/design-system 40.44.1 → 40.44.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/accessibility/sr-only/sr-only.component.mjs +3 -3
- package/esm2022/lib/download/download.service.mjs +6 -6
- package/esm2022/lib/format/pipes/common.mjs +5 -5
- package/esm2022/lib/format/pipes/date.pipe.mjs +3 -3
- package/esm2022/lib/format/pipes/days.pipe.mjs +3 -3
- package/esm2022/lib/format/pipes/dollars.pipe.mjs +3 -3
- package/esm2022/lib/format/pipes/number.pipe.mjs +3 -3
- package/esm2022/lib/format/pipes/percentage.pipe.mjs +3 -3
- package/esm2022/lib/format/pipes/sentence-case.pipe.mjs +4 -4
- package/esm2022/lib/format/pipes/small-currency.pipe.mjs +4 -4
- package/esm2022/lib/format/pipes/small-number.pipe.mjs +4 -4
- package/esm2022/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +5 -5
- package/esm2022/lib/format/truncate/truncate.component.mjs +6 -6
- package/esm2022/lib/icon/dom-cache.mjs +1 -1
- package/esm2022/lib/icon/icon.component.mjs +5 -5
- package/esm2022/lib/icon/icons.mjs +1 -1
- package/esm2022/lib/input/alphabetic-field/alphabetic-field.component.mjs +3 -3
- package/esm2022/lib/input/auto-focus/auto-focus.directive.mjs +5 -5
- package/esm2022/lib/input/button/button.component.mjs +6 -6
- package/esm2022/lib/input/button-group/button-group.component.mjs +5 -5
- package/esm2022/lib/input/calendar/calendar.component.mjs +4 -4
- package/esm2022/lib/input/card-checkbox/card-checkbox.component.mjs +3 -3
- package/esm2022/lib/input/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/lib/input/currency-field/currency-field.component.mjs +3 -3
- package/esm2022/lib/input/date/date.component.mjs +5 -5
- package/esm2022/lib/input/date-range/date-range.component.mjs +4 -4
- package/esm2022/lib/input/filter-chip/filter-chip.component.mjs +5 -5
- package/esm2022/lib/input/filter-dropdown/filter-dropdown.component.mjs +5 -5
- package/esm2022/lib/input/input-label/input-label.component.mjs +3 -3
- package/esm2022/lib/input/mentions-input/mentions-input.component.mjs +5 -5
- package/esm2022/lib/input/number-field/number-field.component.mjs +4 -4
- package/esm2022/lib/input/percentage-field/percentage-field.component.mjs +3 -3
- package/esm2022/lib/input/phone-field/phone-field.component.mjs +4 -4
- package/esm2022/lib/input/radio/radio.component.mjs +3 -3
- package/esm2022/lib/input/search/search.component.mjs +3 -3
- package/esm2022/lib/input/search-select/search-select.component.mjs +5 -5
- package/esm2022/lib/input/select/select/select.component.mjs +4 -4
- package/esm2022/lib/input/select/select-node/select-node.component.mjs +3 -3
- package/esm2022/lib/input/select/state.mjs +1 -1
- package/esm2022/lib/input/simple-select/option-group.pipe.mjs +3 -3
- package/esm2022/lib/input/simple-select/simple-select.component.mjs +4 -4
- package/esm2022/lib/input/switch-checkbox/switch-checkbox.component.mjs +4 -4
- package/esm2022/lib/input/text-field/text-field.component.mjs +4 -4
- package/esm2022/lib/input/textarea-field/textarea-field.component.mjs +3 -3
- package/esm2022/lib/input/validation-message/validation-message.component.mjs +3 -3
- package/esm2022/lib/layout/card/card-actions.component.mjs +3 -3
- package/esm2022/lib/layout/card/card-content.component.mjs +6 -6
- package/esm2022/lib/layout/card/card-header.component.mjs +6 -6
- package/esm2022/lib/layout/card/card-link.component.mjs +5 -5
- package/esm2022/lib/layout/card/card-media.component.mjs +3 -3
- package/esm2022/lib/layout/card/card.component.mjs +5 -5
- package/esm2022/lib/layout/setting-row/setting-row.component.mjs +3 -3
- package/esm2022/lib/load/loading/loading.component.mjs +4 -4
- package/esm2022/lib/load/loading-cover/loading-cover.component.mjs +3 -3
- package/esm2022/lib/navigation/editable-heading/editable-heading.component.mjs +6 -6
- package/esm2022/lib/navigation/link/link.component.mjs +6 -6
- package/esm2022/lib/navigation/page-header/page-header.component.mjs +3 -3
- package/esm2022/lib/navigation/simple-tabs/simple-tab/simple-tab.component.mjs +3 -3
- package/esm2022/lib/navigation/simple-tabs/simple-tabs/simple-tabs.component.mjs +3 -3
- package/esm2022/lib/navigation/tabs/tab/tab.component.mjs +3 -3
- package/esm2022/lib/navigation/tabs/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/navigation/views/all-views-modal/all-views-modal.component.mjs +3 -3
- package/esm2022/lib/navigation/views/edit-view/edit-view.component.mjs +5 -5
- package/esm2022/lib/navigation/views/permission-picker/permission-picker.component.mjs +5 -5
- package/esm2022/lib/navigation/views/state.mjs +1 -1
- package/esm2022/lib/navigation/views/view-menu/view-menu.component.mjs +5 -5
- package/esm2022/lib/navigation/views/views/views.component.mjs +4 -4
- package/esm2022/lib/notification/badge/badge.component.mjs +3 -3
- package/esm2022/lib/notification/banner/banner-action.component.mjs +5 -5
- package/esm2022/lib/notification/banner/banner.component.mjs +4 -4
- package/esm2022/lib/notification/map-indicator/map-indicator.component.mjs +5 -5
- package/esm2022/lib/notification/map-indicator/map-indicators.mjs +1 -1
- package/esm2022/lib/notification/notification-badge/notification-badge.component.mjs +3 -3
- package/esm2022/lib/overlay/callout/callout.component.mjs +6 -6
- package/esm2022/lib/overlay/callout/callout.helpers.mjs +1 -1
- package/esm2022/lib/overlay/callout/help/help.component.mjs +3 -3
- package/esm2022/lib/overlay/callout/lock-scroll.directive.mjs +8 -8
- package/esm2022/lib/overlay/callout/menu/menu-item/menu-item.component.mjs +5 -5
- package/esm2022/lib/overlay/callout/menu/menu.component.mjs +3 -3
- package/esm2022/lib/overlay/callout/tooltip/locked-tooltip.directive.mjs +4 -4
- package/esm2022/lib/overlay/callout/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/overlay/callout/tooltip/tooltip.directive.mjs +5 -5
- package/esm2022/lib/overlay/modal/dialog/dialog.component.mjs +5 -5
- package/esm2022/lib/overlay/modal/dialog-stack.service.mjs +3 -3
- package/esm2022/lib/overlay/modal/form-dialog/form-dialog.component.mjs +5 -5
- package/esm2022/lib/overlay/modal/modal.component.mjs +4 -4
- package/esm2022/lib/overlay/modal/side-sheet/side-sheet.component.mjs +3 -3
- package/esm2022/lib/overlay/overlay-outlet.component.mjs +4 -4
- package/esm2022/lib/overlay/overlay.directive.mjs +4 -4
- package/esm2022/lib/overlay/overlay.service.mjs +4 -4
- package/esm2022/lib/overlay/toast/toast-action.component.mjs +3 -3
- package/esm2022/lib/overlay/toast/toast.component.mjs +4 -4
- package/esm2022/lib/riv.module.mjs +4 -4
- package/esm2022/lib/size/size.directive.mjs +5 -5
- package/esm2022/lib/table/simple-table/coordinate-helper.mjs +1 -1
- package/esm2022/lib/table/simple-table/simple-table-cell.component.mjs +5 -5
- package/esm2022/lib/table/simple-table/simple-table-header-cell.component.mjs +5 -5
- package/esm2022/lib/table/simple-table/simple-table-row.component.mjs +3 -3
- package/esm2022/lib/table/simple-table/simple-table.component.mjs +4 -4
- package/esm2022/lib/table/table/clipboard.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/collapse-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/column-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/display-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/nesting-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/order-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/pagination-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/result-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/search-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/selection-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state.mjs +1 -1
- package/esm2022/lib/table/table/table/table.component.mjs +5 -5
- package/esm2022/lib/table/table/table-collapse-all/table-collapse-all.component.mjs +5 -5
- package/esm2022/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +4 -4
- package/esm2022/lib/table/table/table-column-settings/table-column-settings.component.mjs +4 -4
- package/esm2022/lib/table/table/table-csv-export/table-csv-export.component.mjs +5 -5
- package/esm2022/lib/table/table/table-header-resize-handle/table-header-resize-handle.component.mjs +6 -6
- package/esm2022/lib/table/table/table-search/table-search.component.mjs +4 -4
- package/esm2022/lib/table/table/table-search-columns/table-search-columns.component.mjs +3 -3
- package/esm2022/lib/visibility/visibility.directive.mjs +5 -5
- package/esm2022/lib/visualization/chart/chart-scaling.mjs +1 -1
- package/esm2022/lib/visualization/chart/chart.component.mjs +5 -5
- package/esm2022/lib/visualization/chart/chart.mjs +2 -2
- package/esm2022/lib/visualization/data-table/data-table-cell.component.mjs +5 -5
- package/esm2022/lib/visualization/data-table/data-table-header-cell.component.mjs +3 -3
- package/esm2022/lib/visualization/data-table/data-table-row.component.mjs +3 -3
- package/esm2022/lib/visualization/data-table/data-table.component.mjs +3 -3
- package/esm2022/lib/visualization/donut/donut.component.mjs +3 -3
- package/esm2022/lib/visualization/funnel-chart/funnel-chart.component.mjs +4 -4
- package/esm2022/lib/visualization/funnel-chart/funnel-chart.helpers.mjs +1 -1
- package/esm2022/lib/visualization/highlight/highlight.component.mjs +3 -3
- package/esm2022/lib/visualization/highlight/highlight.helpers.mjs +1 -1
- package/esm2022/lib/visualization/intervals.mjs +1 -1
- package/esm2022/lib/visualization/issue/issue.component.mjs +3 -3
- package/esm2022/lib/visualization/legend-item/legend-item.component.mjs +3 -3
- package/esm2022/lib/visualization/metric/metric.component.mjs +3 -3
- package/esm2022/lib/visualization/mini-pie/mini-pie.component.mjs +3 -3
- package/esm2022/lib/visualization/progress/progress.component.mjs +3 -3
- package/esm2022/lib/visualization/stacked-column/stacked-column.component.mjs +4 -4
- package/esm2022/lib/visualization/stacked-column/stacked-column.helpers.mjs +1 -1
- package/esm2022/lib/visualization/stacked-row/stacked-row.component.mjs +5 -5
- package/esm2022/lib/visualization/stacked-row/stacked-row.helpers.mjs +1 -1
- package/esm2022/lib/visualization/time-series/time-series.component.mjs +4 -4
- package/esm2022/lib/visualization/time-series/time-series.helpers.mjs +1 -1
- package/esm2022/lib/visualization/trend/trend.component.mjs +4 -4
- package/esm2022/lib/visualization/zero-state/zero-state.component.mjs +3 -3
- package/fesm2022/rivet-health-design-system.mjs +418 -418
- package/fesm2022/rivet-health-design-system.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -177,4 +177,4 @@ export var TableSelectionHelpers;
|
|
|
177
177
|
}
|
|
178
178
|
TableSelectionHelpers.clearSelection = clearSelection;
|
|
179
179
|
})(TableSelectionHelpers || (TableSelectionHelpers = {}));
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi90YWJsZS90YWJsZS9zdGF0ZS1oZWxwZXJzL3NlbGVjdGlvbi1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE1BQU0sS0FBVyxxQkFBcUIsQ0E4UXJDO0FBOVFELFdBQWlCLHFCQUFxQjtJQUNwQyxTQUFnQixhQUFhLENBSzNCLEtBQXFDLEVBQUUsRUFBVztRQUNsRCxRQUFRLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQzVCLEtBQUssU0FBUztnQkFDWixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxQyxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFaZSxtQ0FBYSxnQkFZNUIsQ0FBQTtJQUVELFNBQWdCLGVBQWUsQ0FNN0IsS0FBcUMsRUFDckMsS0FBb0M7UUFFcEMsUUFBUSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtZQUM1QixLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUNkLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDcEIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7b0JBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFD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QUUsRUFBRTtZQUN4QixPQUFPLGNBQWMsQ0FDbkIsZ0JBQWdCLEVBQ2hCLEdBQUcsQ0FBQyxFQUFFLEVBQ04sQ0FBQyxtQkFBbUIsRUFDcEIsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDLEVBQ0QsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBcEJlLHdDQUFrQixxQkFvQmpDLENBQUE7SUFFRCxTQUFnQixpQkFBaUIsQ0FLL0IsS0FBcUM7UUFDckMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLFNBQVMsRUFBRTtvQkFDVCxvQkFBb0IsRUFBRSxJQUFJO29CQUMxQixJQUFJLEVBQUUsU0FBUztvQkFDZixRQUFRLEVBQUUsSUFBSSxHQUFHLEVBQUU7aUJBQ3BCO2FBQ0YsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixTQUFTLEVBQUU7b0JBQ1Qsb0JBQW9CLEVBQUUsSUFBSTtvQkFDMUIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsUUFBUSxFQUFFLElBQUksR0FBRyxFQUFFO2lCQUNwQjthQUNGLENBQUM7U0FDSDtJQUNILENBQUM7SUF6QmUsdUNBQWlCLG9CQXlCaEMsQ0FBQTtJQUVELFNBQWdCLGNBQWMsQ0FLNUIsS0FBcUM7UUFDckMsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLFNBQVMsRUFBRTtnQkFDVCxvQkFBb0IsRUFBRSxJQUFJO2dCQUMxQixJQUFJLEVBQUUsU0FBUztnQkFDZixRQUFRLEVBQUUsSUFBSSxHQUFHLEVBQUU7YUFDcEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQWRlLG9DQUFjLGlCQWM3QixDQUFBO0FBQ0gsQ0FBQyxFQTlRZ0IscUJBQXFCLEtBQXJCLHFCQUFxQixRQThRckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSaXZUYWJsZSB9IGZyb20gJy4uL3N0YXRlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UsIHVuaW9uIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFRhYmxlUmVzdWx0SGVscGVycyB9IGZyb20gJy4vcmVzdWx0LWhlbHBlcnMnO1xuXG5leHBvcnQgbmFtZXNwYWNlIFRhYmxlU2VsZWN0aW9uSGVscGVycyB7XG4gIGV4cG9ydCBmdW5jdGlvbiBpc1Jvd1NlbGVjdGVkPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPiwgaWQ6IFJbJ2lkJ10pOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKHN0YXRlLnNlbGVjdGlvbi5tb2RlKSB7XG4gICAgICBjYXNlICdpbmNsdWRlJzpcbiAgICAgICAgcmV0dXJuIHN0YXRlLnNlbGVjdGlvbi5pbmNsdWRlZC5oYXMoaWQpO1xuICAgICAgY2FzZSAnZXhjbHVkZSc6XG4gICAgICAgIHJldHVybiAhc3RhdGUuc2VsZWN0aW9uLmV4Y2x1ZGVkLmhhcyhpZCk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzR3JvdXBTZWxlY3RlZDxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KFxuICAgIHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4sXG4gICAgZ3JvdXA6IFJpdlRhYmxlLlN1Ykdyb3VwUmVzdWx0PFIsIEc+LFxuICApOiBSaXZUYWJsZS5NdWx0aVNlbGVjdGlvblN0YXRlIHtcbiAgICBzd2l0Y2ggKHN0YXRlLnNlbGVjdGlvbi5tb2RlKSB7XG4gICAgICBjYXNlICdpbmNsdWRlJzoge1xuICAgICAgICBsZXQgYWxsRm91bmQgPSB0cnVlO1xuICAgICAgICBsZXQgYW55Rm91bmQgPSBmYWxzZTtcbiAgICAgICAgZm9yIChjb25zdCByb3cgb2YgZ3JvdXAuY3VycmVudFBhZ2VEYXRhKSB7XG4gICAgICAgICAgaWYgKCFzdGF0ZS5zZWxlY3Rpb24uaW5jbHVkZWQuaGFzKHJvdy5pZCkpIHtcbiAgICAgICAgICAgIGFsbEZvdW5kID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFueUZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFsbEZvdW5kID8gdHJ1ZSA6IGFueUZvdW5kID8gJ2luZGV0ZXJtaW5hdGUnIDogZmFsc2U7XG4gICAgICB9XG4gICAgICBjYXNlICdleGNsdWRlJzoge1xuICAgICAgICBsZXQgYWxsRm91bmQgPSB0cnVlO1xuICAgICAgICBsZXQgYW55Rm91bmQgPSBmYWxzZTtcbiAgICAgICAgZm9yIChjb25zdCByb3cgb2YgZ3JvdXAuY3VycmVudFBhZ2VEYXRhKSB7XG4gICAgICAgICAgaWYgKHN0YXRlLnNlbGVjdGlvbi5leGNsdWRlZC5oYXMocm93LmlkKSkge1xuICAgICAgICAgICAgYWxsRm91bmQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW55Rm91bmQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWxsRm91bmQgPyB0cnVlIDogYW55Rm91bmQgPyAnaW5kZXRlcm1pbmF0ZScgOiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gaXNBbGxTZWxlY3RlZDxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4pOiBSaXZUYWJsZS5NdWx0aVNlbGVjdGlvblN0YXRlIHtcbiAgICAvLyBJZiB0aGVyZSBhcmUgbm8gcm93cywgXCJhbGwgc2VsZWN0ZWRcIiBzaG91bGQgYmUgZmFsc2VcbiAgICBpZiAoc3RhdGUucmVzdWx0LnRvdGFsTWF0Y2hpbmdSb3dDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIChzdGF0ZS5zZWxlY3Rpb24ubW9kZSA9PT0gJ2V4Y2x1ZGUnICYmXG4gICAgICAgIHN0YXRlLnNlbGVjdGlvbi5leGNsdWRlZC5zaXplID09PSAwKSB8fFxuICAgICAgKHN0YXRlLnNlbGVjdGlvbi5tb2RlID09PSAnaW5jbHVkZScgJiZcbiAgICAgICAgc3RhdGUuc2VsZWN0aW9uLmluY2x1ZGVkLnNpemUgPT09IHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQpXG4gICAgKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKFxuICAgICAgKHN0YXRlLnNlbGVjdGlvbi5tb2RlID09PSAnZXhjbHVkZScgJiZcbiAgICAgICAgc3RhdGUuc2VsZWN0aW9uLmV4Y2x1ZGVkLnNpemUgPT09IHN0YXRlLnJlc3VsdC50b3RhbE1hdGNoaW5nUm93Q291bnQpIHx8XG4gICAgICAoc3RhdGUuc2VsZWN0aW9uLm1vZGUgPT09ICdpbmNsdWRlJyAmJlxuICAgICAgICBzdGF0ZS5zZWxlY3Rpb24uaW5jbHVkZWQuc2l6ZSA9PT0gMClcbiAgICApXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuICdpbmRldGVybWluYXRlJztcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc0N1cnJlbnRQYWdlU2VsZWN0ZWQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogUml2VGFibGUuTXVsdGlTZWxlY3Rpb25TdGF0ZSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRTdGF0ZXMgPSBUYWJsZVJlc3VsdEhlbHBlcnMuZ2V0QWxsUm93c0Zyb21SZXN1bHQoXG4gICAgICBzdGF0ZS5yZXN1bHQsXG4gICAgKS5tYXAoKHsgaWQgfSkgPT4gaXNSb3dTZWxlY3RlZChzdGF0ZSwgaWQpKTtcbiAgICBpZiAoc2VsZWN0ZWRTdGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHNlbGVjdGVkU3RhdGVzLmV2ZXJ5KHYgPT4gdikpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKHNlbGVjdGVkU3RhdGVzLnNvbWUodiA9PiB2KSkgcmV0dXJuICdpbmRldGVybWluYXRlJztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdGVkQ291bnQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHN0YXRlLnNlbGVjdGlvbi5tb2RlKSB7XG4gICAgICBjYXNlICdpbmNsdWRlJzpcbiAgICAgICAgcmV0dXJuIHN0YXRlLnNlbGVjdGlvbi5pbmNsdWRlZC5zaXplO1xuICAgICAgY2FzZSAnZXhjbHVkZSc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgc3RhdGUucmVzdWx0LnRvdGFsTWF0Y2hpbmdSb3dDb3VudCAtIHN0YXRlLnNlbGVjdGlvbi5leGNsdWRlZC5zaXplXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHNldFJvd1NlbGVjdGVkPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oXG4gICAgc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPixcbiAgICBpZDogUlsnaWQnXSxcbiAgICBzZWxlY3RlZDogYm9vbGVhbixcbiAgICBjb250aWd1b3VzOiBib29sZWFuLFxuICApOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4ge1xuICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gbmV3IFNldDxSWydpZCddPihbaWRdKTtcbiAgICAgIGlmIChjb250aWd1b3VzICYmIHN0YXRlLnNlbGVjdGlvbi5tb3N0UmVjZW50bHlTZWxlY3RlZCkge1xuICAgICAgICBjb25zdCBzdGFydElkeCA9IFRhYmxlUmVzdWx0SGVscGVycy5nZXRBbGxSb3dzRnJvbVJlc3VsdChcbiAgICAgICAgICBzdGF0ZS5yZXN1bHQsXG4gICAgICAgICkuZmluZEluZGV4KHJvdyA9PiByb3cuaWQgPT09IHN0YXRlLnNlbGVjdGlvbi5tb3N0UmVjZW50bHlTZWxlY3RlZCk7XG4gICAgICAgIGNvbnN0IGVuZElkeCA9IFRhYmxlUmVzdWx0SGVscGVycy5nZXRBbGxSb3dzRnJvbVJlc3VsdChcbiAgICAgICAgICBzdGF0ZS5yZXN1bHQsXG4gICAgICAgICkuZmluZEluZGV4KHJvdyA9PiByb3cuaWQgPT09IGlkKTtcbiAgICAgICAgaWYgKHR5cGVvZiBzdGFydElkeCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGVuZElkeCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICBmb3IgKFxuICAgICAgICAgICAgbGV0IGkgPSBNYXRoLm1pbihzdGFydElkeCwgZW5kSWR4KTtcbiAgICAgICAgICAgIGkgPD0gTWF0aC5tYXgoc3RhcnRJZHgsIGVuZElkeCk7XG4gICAgICAgICAgICBpKytcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbi5hZGQoXG4gICAgICAgICAgICAgIFRhYmxlUmVzdWx0SGVscGVycy5nZXRBbGxSb3dzRnJvbVJlc3VsdChzdGF0ZS5yZXN1bHQpW2ldLmlkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZWxlY3Rpb246IHtcbiAgICAgICAgICBtb3N0UmVjZW50bHlTZWxlY3RlZDogaWQsXG4gICAgICAgICAgLi4uKHN0YXRlLnNlbGVjdGlvbi5tb2RlID09PSAnaW5jbHVkZSdcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIG1vZGU6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgICBpbmNsdWRlZDogbmV3IFNldChcbiAgICAgICAgICAgICAgICAgIHVuaW9uKFsuLi5zdGF0ZS5zZWxlY3Rpb24uaW5jbHVkZWRdLCBbLi4ubmV3U2VsZWN0aW9uXSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgbW9kZTogJ2V4Y2x1ZGUnLFxuICAgICAgICAgICAgICAgIGV4Y2x1ZGVkOiBuZXcgU2V0KFxuICAgICAgICAgICAgICAgICAgZGlmZmVyZW5jZShbLi4uc3RhdGUuc2VsZWN0aW9uLmV4Y2x1ZGVkXSwgWy4uLm5ld1NlbGVjdGlvbl0pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNlbGVjdGlvbjoge1xuICAgICAgICAgIG1vc3RSZWNlbnRseVNlbGVjdGVkOiBudWxsLFxuICAgICAgICAgIC4uLihzdGF0ZS5zZWxlY3Rpb24ubW9kZSA9PT0gJ2luY2x1ZGUnXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBtb2RlOiAnaW5jbHVkZScsXG4gICAgICAgICAgICAgICAgaW5jbHVkZWQ6IG5ldyBTZXQoXG4gICAgICAgICAgICAgICAgICBkaWZmZXJlbmNlKFsuLi5zdGF0ZS5zZWxlY3Rpb24uaW5jbHVkZWRdLCBbaWRdKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBtb2RlOiAnZXhjbHVkZScsXG4gICAgICAgICAgICAgICAgZXhjbHVkZWQ6IG5ldyBTZXQodW5pb24oWy4uLnN0YXRlLnNlbGVjdGlvbi5leGNsdWRlZF0sIFtpZF0pKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiB0b2dnbGVHcm91cFNlbGVjdGVkPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oXG4gICAgc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPixcbiAgICBncm91cDogUml2VGFibGUuUm93R3JvdXA8UiwgRz4sXG4gICk6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPiB7XG4gICAgY29uc3QgaXNHcm91cEZ1bGx5U2VsZWN0ZWQgPVxuICAgICAgaXNHcm91cFNlbGVjdGVkKHN0YXRlLCB7IC4uLmdyb3VwLCBjdXJyZW50UGFnZURhdGE6IGdyb3VwLnJvd3MgfSkgPT09XG4gICAgICB0cnVlO1xuICAgIHJldHVybiBncm91cC5yb3dzLnJlZHVjZSgoYWNjdW11bGF0ZWRTdGF0ZSwgcm93KSA9PiB7XG4gICAgICByZXR1cm4gc2V0Um93U2VsZWN0ZWQoXG4gICAgICAgIGFjY3VtdWxhdGVkU3RhdGUsXG4gICAgICAgIHJvdy5pZCxcbiAgICAgICAgIWlzR3JvdXBGdWxseVNlbGVjdGVkLFxuICAgICAgICBmYWxzZSxcbiAgICAgICk7XG4gICAgfSwgc3RhdGUpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZVBhZ2VTZWxlY3RlZDxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4pOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4ge1xuICAgIGNvbnN0IGlzUGFnZUZ1bGx5U2VsZWN0ZWQgPSBUYWJsZVJlc3VsdEhlbHBlcnMuZ2V0QWxsUm93c0Zyb21SZXN1bHQoXG4gICAgICBzdGF0ZS5yZXN1bHQsXG4gICAgKS5ldmVyeSgoeyBpZCB9KSA9PiBpc1Jvd1NlbGVjdGVkKHN0YXRlLCBpZCkpO1xuICAgIHJldHVybiBUYWJsZVJlc3VsdEhlbHBlcnMuZ2V0QWxsUm93c0Zyb21SZXN1bHQoc3RhdGUucmVzdWx0KS5yZWR1Y2UoXG4gICAgICAoYWNjdW11bGF0ZWRTdGF0ZSwgcm93KSA9PiB7XG4gICAgICAgIHJldHVybiBzZXRSb3dTZWxlY3RlZChcbiAgICAgICAgICBhY2N1bXVsYXRlZFN0YXRlLFxuICAgICAgICAgIHJvdy5pZCxcbiAgICAgICAgICAhaXNQYWdlRnVsbHlTZWxlY3RlZCxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBzdGF0ZSxcbiAgICApO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUFsbFNlbGVjdGVkPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPiB7XG4gICAgaWYgKGlzQWxsU2VsZWN0ZWQoc3RhdGUpID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2VsZWN0aW9uOiB7XG4gICAgICAgICAgbW9zdFJlY2VudGx5U2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgICAgbW9kZTogJ2luY2x1ZGUnLFxuICAgICAgICAgIGluY2x1ZGVkOiBuZXcgU2V0KCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2VsZWN0aW9uOiB7XG4gICAgICAgICAgbW9zdFJlY2VudGx5U2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgICAgbW9kZTogJ2V4Y2x1ZGUnLFxuICAgICAgICAgIGV4Y2x1ZGVkOiBuZXcgU2V0KCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjbGVhclNlbGVjdGlvbjxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4pOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHNlbGVjdGlvbjoge1xuICAgICAgICBtb3N0UmVjZW50bHlTZWxlY3RlZDogbnVsbCxcbiAgICAgICAgbW9kZTogJ2luY2x1ZGUnLFxuICAgICAgICBpbmNsdWRlZDogbmV3IFNldCgpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi90YWJsZS90YWJsZS9zdGF0ZS1oZWxwZXJzL3NlbGVjdGlvbi1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE1BQU0sS0FBVyxxQkFBcUIsQ0E4UXJDO0FBOVFELFdBQWlCLHFCQUFxQjtJQUNwQyxTQUFnQixhQUFhLENBSzNCLEtBQXFDLEVBQUUsRUFBVztRQUNsRCxRQUFRLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0IsS0FBSyxTQUFTO2dCQUNaLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLEtBQUssU0FBUztnQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBWmUsbUNBQWEsZ0JBWTVCLENBQUE7SUFFRCxTQUFnQixlQUFlLENBTTdCLEtBQXFDLEVBQ3JDLEtBQW9DO1FBRXBDLFFBQVEsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFR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RUFBRTthQUNwQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBZGUsb0NBQWMsaUJBYzdCLENBQUE7QUFDSCxDQUFDLEVBOVFnQixxQkFBcUIsS0FBckIscUJBQXFCLFFBOFFyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJpdlRhYmxlIH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgZGlmZmVyZW5jZSwgdW5pb24gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgVGFibGVSZXN1bHRIZWxwZXJzIH0gZnJvbSAnLi9yZXN1bHQtaGVscGVycyc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGFibGVTZWxlY3Rpb25IZWxwZXJzIHtcbiAgZXhwb3J0IGZ1bmN0aW9uIGlzUm93U2VsZWN0ZWQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+LCBpZDogUlsnaWQnXSk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAoc3RhdGUuc2VsZWN0aW9uLm1vZGUpIHtcbiAgICAgIGNhc2UgJ2luY2x1ZGUnOlxuICAgICAgICByZXR1cm4gc3RhdGUuc2VsZWN0aW9uLmluY2x1ZGVkLmhhcyhpZCk7XG4gICAgICBjYXNlICdleGNsdWRlJzpcbiAgICAgICAgcmV0dXJuICFzdGF0ZS5zZWxlY3Rpb24uZXhjbHVkZWQuaGFzKGlkKTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gaXNHcm91cFNlbGVjdGVkPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oXG4gICAgc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPixcbiAgICBncm91cDogUml2VGFibGUuU3ViR3JvdXBSZXN1bHQ8UiwgRz4sXG4gICk6IFJpdlRhYmxlLk11bHRpU2VsZWN0aW9uU3RhdGUge1xuICAgIHN3aXRjaCAoc3RhdGUuc2VsZWN0aW9uLm1vZGUpIHtcbiAgICAgIGNhc2UgJ2luY2x1ZGUnOiB7XG4gICAgICAgIGxldCBhbGxGb3VuZCA9IHRydWU7XG4gICAgICAgIGxldCBhbnlGb3VuZCA9IGZhbHNlO1xuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiBncm91cC5jdXJyZW50UGFnZURhdGEpIHtcbiAgICAgICAgICBpZiAoIXN0YXRlLnNlbGVjdGlvbi5pbmNsdWRlZC5oYXMocm93LmlkKSkge1xuICAgICAgICAgICAgYWxsRm91bmQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW55Rm91bmQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWxsRm91bmQgPyB0cnVlIDogYW55Rm91bmQgPyAnaW5kZXRlcm1pbmF0ZScgOiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2V4Y2x1ZGUnOiB7XG4gICAgICAgIGxldCBhbGxGb3VuZCA9IHRydWU7XG4gICAgICAgIGxldCBhbnlGb3VuZCA9IGZhbHNlO1xuICAgICAgICBmb3IgKGNvbnN0IHJvdyBvZiBncm91cC5jdXJyZW50UGFnZURhdGEpIHtcbiAgICAgICAgICBpZiAoc3RhdGUuc2VsZWN0aW9uLmV4Y2x1ZGVkLmhhcyhyb3cuaWQpKSB7XG4gICAgICAgICAgICBhbGxGb3VuZCA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhbnlGb3VuZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhbGxGb3VuZCA/IHRydWUgOiBhbnlGb3VuZCA/ICdpbmRldGVybWluYXRlJyA6IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc0FsbFNlbGVjdGVkPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IFJpdlRhYmxlLk11bHRpU2VsZWN0aW9uU3RhdGUge1xuICAgIC8vIElmIHRoZXJlIGFyZSBubyByb3dzLCBcImFsbCBzZWxlY3RlZFwiIHNob3VsZCBiZSBmYWxzZVxuICAgIGlmIChzdGF0ZS5yZXN1bHQudG90YWxNYXRjaGluZ1Jvd0NvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgKHN0YXRlLnNlbGVjdGlvbi5tb2RlID09PSAnZXhjbHVkZScgJiZcbiAgICAgICAgc3RhdGUuc2VsZWN0aW9uLmV4Y2x1ZGVkLnNpemUgPT09IDApIHx8XG4gICAgICAoc3RhdGUuc2VsZWN0aW9uLm1vZGUgPT09ICdpbmNsdWRlJyAmJlxuICAgICAgICBzdGF0ZS5zZWxlY3Rpb24uaW5jbHVkZWQuc2l6ZSA9PT0gc3RhdGUucmVzdWx0LnRvdGFsTWF0Y2hpbmdSb3dDb3VudClcbiAgICApXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoXG4gICAgICAoc3RhdGUuc2VsZWN0aW9uLm1vZGUgPT09ICdleGNsdWRlJyAmJlxuICAgICAgICBzdGF0ZS5zZWxlY3Rpb24uZXhjbHVkZWQuc2l6ZSA9PT0gc3RhdGUucmVzdWx0LnRvdGFsTWF0Y2hpbmdSb3dDb3VudCkgfHxcbiAgICAgIChzdGF0ZS5zZWxlY3Rpb24ubW9kZSA9PT0gJ2luY2x1ZGUnICYmXG4gICAgICAgIHN0YXRlLnNlbGVjdGlvbi5pbmNsdWRlZC5zaXplID09PSAwKVxuICAgIClcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGlzQ3VycmVudFBhZ2VTZWxlY3RlZDxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4pOiBSaXZUYWJsZS5NdWx0aVNlbGVjdGlvblN0YXRlIHtcbiAgICBjb25zdCBzZWxlY3RlZFN0YXRlcyA9IFRhYmxlUmVzdWx0SGVscGVycy5nZXRBbGxSb3dzRnJvbVJlc3VsdChcbiAgICAgIHN0YXRlLnJlc3VsdCxcbiAgICApLm1hcCgoeyBpZCB9KSA9PiBpc1Jvd1NlbGVjdGVkKHN0YXRlLCBpZCkpO1xuICAgIGlmIChzZWxlY3RlZFN0YXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAoc2VsZWN0ZWRTdGF0ZXMuZXZlcnkodiA9PiB2KSkgcmV0dXJuIHRydWU7XG4gICAgICBpZiAoc2VsZWN0ZWRTdGF0ZXMuc29tZSh2ID0+IHYpKSByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gc2VsZWN0ZWRDb3VudDxcbiAgICBSIGV4dGVuZHMgUml2VGFibGUuUm93LFxuICAgIEMgZXh0ZW5kcyBSaXZUYWJsZS5Db2x1bW4sXG4gICAgRiBleHRlbmRzIFJpdlRhYmxlLkZpbHRlcnMsXG4gICAgRyBleHRlbmRzIFJpdlRhYmxlLkdyb3VwLFxuICA+KHN0YXRlOiBSaXZUYWJsZS5Db3JlU3RhdGU8UiwgQywgRiwgRz4pOiBudW1iZXIge1xuICAgIHN3aXRjaCAoc3RhdGUuc2VsZWN0aW9uLm1vZGUpIHtcbiAgICAgIGNhc2UgJ2luY2x1ZGUnOlxuICAgICAgICByZXR1cm4gc3RhdGUuc2VsZWN0aW9uLmluY2x1ZGVkLnNpemU7XG4gICAgICBjYXNlICdleGNsdWRlJzpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBzdGF0ZS5yZXN1bHQudG90YWxNYXRjaGluZ1Jvd0NvdW50IC0gc3RhdGUuc2VsZWN0aW9uLmV4Y2x1ZGVkLnNpemVcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gc2V0Um93U2VsZWN0ZWQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihcbiAgICBzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+LFxuICAgIGlkOiBSWydpZCddLFxuICAgIHNlbGVjdGVkOiBib29sZWFuLFxuICAgIGNvbnRpZ3VvdXM6IGJvb2xlYW4sXG4gICk6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPiB7XG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSBuZXcgU2V0PFJbJ2lkJ10+KFtpZF0pO1xuICAgICAgaWYgKGNvbnRpZ3VvdXMgJiYgc3RhdGUuc2VsZWN0aW9uLm1vc3RSZWNlbnRseVNlbGVjdGVkKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gVGFibGVSZXN1bHRIZWxwZXJzLmdldEFsbFJvd3NGcm9tUmVzdWx0KFxuICAgICAgICAgIHN0YXRlLnJlc3VsdCxcbiAgICAgICAgKS5maW5kSW5kZXgocm93ID0+IHJvdy5pZCA9PT0gc3RhdGUuc2VsZWN0aW9uLm1vc3RSZWNlbnRseVNlbGVjdGVkKTtcbiAgICAgICAgY29uc3QgZW5kSWR4ID0gVGFibGVSZXN1bHRIZWxwZXJzLmdldEFsbFJvd3NGcm9tUmVzdWx0KFxuICAgICAgICAgIHN0YXRlLnJlc3VsdCxcbiAgICAgICAgKS5maW5kSW5kZXgocm93ID0+IHJvdy5pZCA9PT0gaWQpO1xuICAgICAgICBpZiAodHlwZW9mIHN0YXJ0SWR4ID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgZW5kSWR4ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICBsZXQgaSA9IE1hdGgubWluKHN0YXJ0SWR4LCBlbmRJZHgpO1xuICAgICAgICAgICAgaSA8PSBNYXRoLm1heChzdGFydElkeCwgZW5kSWR4KTtcbiAgICAgICAgICAgIGkrK1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgbmV3U2VsZWN0aW9uLmFkZChcbiAgICAgICAgICAgICAgVGFibGVSZXN1bHRIZWxwZXJzLmdldEFsbFJvd3NGcm9tUmVzdWx0KHN0YXRlLnJlc3VsdClbaV0uaWQsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNlbGVjdGlvbjoge1xuICAgICAgICAgIG1vc3RSZWNlbnRseVNlbGVjdGVkOiBpZCxcbiAgICAgICAgICAuLi4oc3RhdGUuc2VsZWN0aW9uLm1vZGUgPT09ICdpbmNsdWRlJ1xuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgbW9kZTogJ2luY2x1ZGUnLFxuICAgICAgICAgICAgICAgIGluY2x1ZGVkOiBuZXcgU2V0KFxuICAgICAgICAgICAgICAgICAgdW5pb24oWy4uLnN0YXRlLnNlbGVjdGlvbi5pbmNsdWRlZF0sIFsuLi5uZXdTZWxlY3Rpb25dKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICBtb2RlOiAnZXhjbHVkZScsXG4gICAgICAgICAgICAgICAgZXhjbHVkZWQ6IG5ldyBTZXQoXG4gICAgICAgICAgICAgICAgICBkaWZmZXJlbmNlKFsuLi5zdGF0ZS5zZWxlY3Rpb24uZXhjbHVkZWRdLCBbLi4ubmV3U2VsZWN0aW9uXSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2VsZWN0aW9uOiB7XG4gICAgICAgICAgbW9zdFJlY2VudGx5U2VsZWN0ZWQ6IG51bGwsXG4gICAgICAgICAgLi4uKHN0YXRlLnNlbGVjdGlvbi5tb2RlID09PSAnaW5jbHVkZSdcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIG1vZGU6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgICBpbmNsdWRlZDogbmV3IFNldChcbiAgICAgICAgICAgICAgICAgIGRpZmZlcmVuY2UoWy4uLnN0YXRlLnNlbGVjdGlvbi5pbmNsdWRlZF0sIFtpZF0pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIG1vZGU6ICdleGNsdWRlJyxcbiAgICAgICAgICAgICAgICBleGNsdWRlZDogbmV3IFNldCh1bmlvbihbLi4uc3RhdGUuc2VsZWN0aW9uLmV4Y2x1ZGVkXSwgW2lkXSkpLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUdyb3VwU2VsZWN0ZWQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihcbiAgICBzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+LFxuICAgIGdyb3VwOiBSaXZUYWJsZS5Sb3dHcm91cDxSLCBHPixcbiAgKTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+IHtcbiAgICBjb25zdCBpc0dyb3VwRnVsbHlTZWxlY3RlZCA9XG4gICAgICBpc0dyb3VwU2VsZWN0ZWQoc3RhdGUsIHsgLi4uZ3JvdXAsIGN1cnJlbnRQYWdlRGF0YTogZ3JvdXAucm93cyB9KSA9PT1cbiAgICAgIHRydWU7XG4gICAgcmV0dXJuIGdyb3VwLnJvd3MucmVkdWNlKChhY2N1bXVsYXRlZFN0YXRlLCByb3cpID0+IHtcbiAgICAgIHJldHVybiBzZXRSb3dTZWxlY3RlZChcbiAgICAgICAgYWNjdW11bGF0ZWRTdGF0ZSxcbiAgICAgICAgcm93LmlkLFxuICAgICAgICAhaXNHcm91cEZ1bGx5U2VsZWN0ZWQsXG4gICAgICAgIGZhbHNlLFxuICAgICAgKTtcbiAgICB9LCBzdGF0ZSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdG9nZ2xlUGFnZVNlbGVjdGVkPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPiB7XG4gICAgY29uc3QgaXNQYWdlRnVsbHlTZWxlY3RlZCA9IFRhYmxlUmVzdWx0SGVscGVycy5nZXRBbGxSb3dzRnJvbVJlc3VsdChcbiAgICAgIHN0YXRlLnJlc3VsdCxcbiAgICApLmV2ZXJ5KCh7IGlkIH0pID0+IGlzUm93U2VsZWN0ZWQoc3RhdGUsIGlkKSk7XG4gICAgcmV0dXJuIFRhYmxlUmVzdWx0SGVscGVycy5nZXRBbGxSb3dzRnJvbVJlc3VsdChzdGF0ZS5yZXN1bHQpLnJlZHVjZShcbiAgICAgIChhY2N1bXVsYXRlZFN0YXRlLCByb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIHNldFJvd1NlbGVjdGVkKFxuICAgICAgICAgIGFjY3VtdWxhdGVkU3RhdGUsXG4gICAgICAgICAgcm93LmlkLFxuICAgICAgICAgICFpc1BhZ2VGdWxseVNlbGVjdGVkLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHN0YXRlLFxuICAgICk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdG9nZ2xlQWxsU2VsZWN0ZWQ8XG4gICAgUiBleHRlbmRzIFJpdlRhYmxlLlJvdyxcbiAgICBDIGV4dGVuZHMgUml2VGFibGUuQ29sdW1uLFxuICAgIEYgZXh0ZW5kcyBSaXZUYWJsZS5GaWx0ZXJzLFxuICAgIEcgZXh0ZW5kcyBSaXZUYWJsZS5Hcm91cCxcbiAgPihzdGF0ZTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+KTogUml2VGFibGUuQ29yZVN0YXRlPFIsIEMsIEYsIEc+IHtcbiAgICBpZiAoaXNBbGxTZWxlY3RlZChzdGF0ZSkgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZWxlY3Rpb246IHtcbiAgICAgICAgICBtb3N0UmVjZW50bHlTZWxlY3RlZDogbnVsbCxcbiAgICAgICAgICBtb2RlOiAnaW5jbHVkZScsXG4gICAgICAgICAgaW5jbHVkZWQ6IG5ldyBTZXQoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZWxlY3Rpb246IHtcbiAgICAgICAgICBtb3N0UmVjZW50bHlTZWxlY3RlZDogbnVsbCxcbiAgICAgICAgICBtb2RlOiAnZXhjbHVkZScsXG4gICAgICAgICAgZXhjbHVkZWQ6IG5ldyBTZXQoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNsZWFyU2VsZWN0aW9uPFxuICAgIFIgZXh0ZW5kcyBSaXZUYWJsZS5Sb3csXG4gICAgQyBleHRlbmRzIFJpdlRhYmxlLkNvbHVtbixcbiAgICBGIGV4dGVuZHMgUml2VGFibGUuRmlsdGVycyxcbiAgICBHIGV4dGVuZHMgUml2VGFibGUuR3JvdXAsXG4gID4oc3RhdGU6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPik6IFJpdlRhYmxlLkNvcmVTdGF0ZTxSLCBDLCBGLCBHPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2VsZWN0aW9uOiB7XG4gICAgICAgIG1vc3RSZWNlbnRseVNlbGVjdGVkOiBudWxsLFxuICAgICAgICBtb2RlOiAnaW5jbHVkZScsXG4gICAgICAgIGluY2x1ZGVkOiBuZXcgU2V0KCksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|