ontimize-web-ngx 15.6.2 → 15.7.1
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/esm2020/lib/components/app-header/o-app-header.component.mjs +4 -4
- package/esm2020/lib/components/app-header/o-app-header.module.mjs +5 -5
- package/esm2020/lib/components/app-sidenav/image/o-app-sidenav-image.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/o-app-sidenav.module.mjs +5 -5
- package/esm2020/lib/components/bar-menu/locale-menu-item/o-locale-bar-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-group/o-bar-menu-group.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-item/o-bar-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-separator/o-bar-menu-separator.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/o-bar-menu-base.class.mjs +4 -4
- package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/o-bar-menu.module.mjs +5 -5
- package/esm2020/lib/components/bar-menu/o-base-menu-item.class.mjs +4 -4
- package/esm2020/lib/components/breadcrumb/o-breadcrumb.component.mjs +4 -4
- package/esm2020/lib/components/breadcrumb/o-breadcrumb.module.mjs +5 -5
- package/esm2020/lib/components/button/o-button.component.mjs +4 -4
- package/esm2020/lib/components/button/o-button.module.mjs +5 -5
- package/esm2020/lib/components/button-toggle/o-button-toggle-group/o-button-toggle-group.component.mjs +4 -4
- package/esm2020/lib/components/button-toggle/o-button-toggle.component.mjs +4 -4
- package/esm2020/lib/components/button-toggle/o-button-toggle.module.mjs +5 -5
- package/esm2020/lib/components/card-menu-item/o-card-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/card-menu-item/o-card-menu-item.module.mjs +5 -5
- package/esm2020/lib/components/container/column/o-column.component.mjs +4 -4
- package/esm2020/lib/components/container/column/o-column.module.mjs +5 -5
- package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.component.mjs +4 -4
- package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.module.mjs +5 -5
- package/esm2020/lib/components/container/o-container-collapsible-component.class.mjs +4 -4
- package/esm2020/lib/components/container/o-container-component.class.mjs +4 -4
- package/esm2020/lib/components/container/row/o-row.component.mjs +4 -4
- package/esm2020/lib/components/container/row/o-row.module.mjs +5 -5
- package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.component.mjs +4 -4
- package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.module.mjs +5 -5
- package/esm2020/lib/components/contextmenu/context-menu/o-context-menu-content.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu-group/o-context-menu-group.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu-item/o-context-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu-separator/o-context-menu-separator.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-content-menu-base-item.class.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu-overlay.service.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu.directive.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu.module.mjs +5 -5
- package/esm2020/lib/components/contextmenu/o-context-menu.service.mjs +4 -4
- package/esm2020/lib/components/dual-list-selector/dual-list-selector-item/date/o-dual-list-selector-date-item.component.mjs +4 -4
- package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +4 -4
- package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.module.mjs +5 -5
- package/esm2020/lib/components/expandable-container/o-expandable-container.component.mjs +4 -4
- package/esm2020/lib/components/expandable-container/o-expandable-container.module.mjs +5 -5
- package/esm2020/lib/components/filter-builder/filter-builder-menu/filter-builder-menu.component.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder-clear.directive.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder-query.directive.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder.module.mjs +5 -5
- package/esm2020/lib/components/form/guards/o-form-can-deactivate.guard.mjs +4 -4
- package/esm2020/lib/components/form/navigation/o-form-confirm-exit.service.mjs +4 -4
- package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +4 -4
- package/esm2020/lib/components/form/o-form.component.mjs +4 -4
- package/esm2020/lib/components/form/o-form.module.mjs +5 -5
- package/esm2020/lib/components/form/services/o-form-message.service.mjs +4 -4
- package/esm2020/lib/components/form/toolbar/o-form-toolbar.component.mjs +4 -4
- package/esm2020/lib/components/form/toolbar/o-form-toolbar.module.mjs +5 -5
- package/esm2020/lib/components/form-container/o-form-container.component.mjs +4 -4
- package/esm2020/lib/components/form-container/o-form-container.module.mjs +5 -5
- package/esm2020/lib/components/grid/grid-item/o-grid-item.component.mjs +4 -4
- package/esm2020/lib/components/grid/grid-item/o-grid-item.directive.mjs +4 -4
- package/esm2020/lib/components/grid/o-grid.component.mjs +4 -4
- package/esm2020/lib/components/grid/o-grid.module.mjs +5 -5
- package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +4 -4
- package/esm2020/lib/components/image/fullscreen/fullscreen-dialog.component.mjs +4 -4
- package/esm2020/lib/components/image/o-image.component.mjs +4 -4
- package/esm2020/lib/components/image/o-image.module.mjs +5 -5
- package/esm2020/lib/components/input/checkbox/o-checkbox.component.mjs +4 -4
- package/esm2020/lib/components/input/checkbox/o-checkbox.module.mjs +5 -5
- package/esm2020/lib/components/input/combo/combo-renderer/boolean/o-combo-renderer-boolean.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/currency/o-combo-renderer-currency.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/date/o-combo-renderer-date.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/icon/o-combo-renderer-icon.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/integer/o-combo-renderer-integer.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/o-combo-renderer.class.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/percentage/o-combo-renderer-percentage.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/real/o-combo-renderer-real.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/o-combo.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/o-combo.module.mjs +5 -5
- package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +4 -4
- package/esm2020/lib/components/input/currency-input/o-currency-input.module.mjs +5 -5
- package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +4 -4
- package/esm2020/lib/components/input/date-input/o-date-input.module.mjs +5 -5
- package/esm2020/lib/components/input/date-range/o-daterange-input.component.mjs +4 -4
- package/esm2020/lib/components/input/date-range/o-daterange-input.module.mjs +5 -5
- package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.component.mjs +4 -4
- package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.directive.mjs +4 -4
- package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.module.mjs +5 -5
- package/esm2020/lib/components/input/date-range-legacy/o-daterange-picker.component.mjs +4 -4
- package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +4 -4
- package/esm2020/lib/components/input/email-input/o-email-input.module.mjs +5 -5
- package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +4 -4
- package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
- package/esm2020/lib/components/input/hour-input/index.mjs +4 -0
- package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +38 -9
- package/esm2020/lib/components/input/hour-input/o-hour-input.directive.mjs +46 -0
- package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +8 -7
- package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
- package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
- package/esm2020/lib/components/input/index.mjs +2 -3
- package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
- package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
- package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
- package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
- package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
- package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -4
- package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
- package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
- package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
- package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
- package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
- package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
- package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
- package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
- package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
- package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
- package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
- package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
- package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
- package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
- package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
- package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
- package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
- package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
- package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
- package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
- package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
- package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
- package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
- package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
- package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
- package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
- package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
- package/esm2020/lib/components/list/o-list.component.mjs +4 -4
- package/esm2020/lib/components/list/o-list.module.mjs +5 -5
- package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
- package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
- package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
- package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
- package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
- package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
- package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +4 -4
- package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
- package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
- package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
- package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
- package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
- package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +4 -4
- package/esm2020/lib/components/o-service-base-component.class.mjs +24 -10
- package/esm2020/lib/components/o-service-component.class.mjs +7 -7
- package/esm2020/lib/components/o-skeleton.component.mjs +4 -4
- package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +10 -4
- package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +26 -12
- package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
- package/esm2020/lib/components/table/column/o-table-column.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +20 -14
- package/esm2020/lib/components/table/extensions/default-o-table.datasource.mjs +137 -66
- package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +42 -65
- package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +78 -11
- package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +5 -5
- package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
- package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +6 -6
- package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +11 -14
- package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
- package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +21 -5
- package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +70 -53
- package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +28 -13
- package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
- package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +10 -4
- package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
- package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
- package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +19 -19
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +14 -7
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
- package/esm2020/lib/components/table/index.mjs +2 -1
- package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
- package/esm2020/lib/components/table/o-table-loading.service.mjs +113 -0
- package/esm2020/lib/components/table/o-table.component.mjs +107 -65
- package/esm2020/lib/components/table/o-table.module.mjs +12 -8
- package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
- package/esm2020/lib/components/tree/o-tree-dao.service.mjs +35 -4
- package/esm2020/lib/components/tree/o-tree.component.mjs +147 -25
- package/esm2020/lib/components/tree/o-tree.datasource.mjs +28 -14
- package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
- package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +5 -23
- package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
- package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
- package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
- package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
- package/esm2020/lib/config/o-modules.mjs +5 -5
- package/esm2020/lib/directives/input-regulate.directive.mjs +4 -4
- package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
- package/esm2020/lib/directives/locker.directive.mjs +4 -4
- package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
- package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
- package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
- package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
- package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
- package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
- package/esm2020/lib/i18n/i18n.mjs +13 -4
- package/esm2020/lib/interfaces/pagination-data.interface.mjs +2 -0
- package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
- package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
- package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
- package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
- package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
- package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
- package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
- package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
- package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
- package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
- package/esm2020/lib/pipes/is-empty-value.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
- package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
- package/esm2020/lib/services/app-menu.service.mjs +4 -4
- package/esm2020/lib/services/appearance.service.mjs +4 -4
- package/esm2020/lib/services/auth-guard.service.mjs +4 -4
- package/esm2020/lib/services/auth.service.mjs +4 -4
- package/esm2020/lib/services/base-service-response.adapter.mjs +4 -4
- package/esm2020/lib/services/base-service.class.mjs +4 -4
- package/esm2020/lib/services/currency.service.mjs +4 -4
- package/esm2020/lib/services/dialog.service.mjs +4 -4
- package/esm2020/lib/services/icon.service.mjs +4 -4
- package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +4 -4
- package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +4 -4
- package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +4 -4
- package/esm2020/lib/services/local-storage.service.mjs +4 -4
- package/esm2020/lib/services/login-storage.service.mjs +4 -4
- package/esm2020/lib/services/moment.service.mjs +4 -4
- package/esm2020/lib/services/navigation.service.mjs +4 -4
- package/esm2020/lib/services/number.service.mjs +4 -4
- package/esm2020/lib/services/o-auth.service.mjs +4 -4
- package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
- package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
- package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
- package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
- package/esm2020/lib/services/o-user-info.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
- package/esm2020/lib/services/pagination-context.service.mjs +4 -4
- package/esm2020/lib/services/parser/o-service-response.parser.mjs +4 -4
- package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
- package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
- package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
- package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
- package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
- package/esm2020/lib/services/remote-config.service.mjs +5 -5
- package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +4 -4
- package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +4 -4
- package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
- package/esm2020/lib/services/snackbar.service.mjs +4 -4
- package/esm2020/lib/services/state/index.mjs +3 -1
- package/esm2020/lib/services/state/o-app-menu-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
- package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-table-component-state.class.mjs +1 -1
- package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-tree-component-state.class.mjs +1 -1
- package/esm2020/lib/services/state/o-tree-component-state.service.mjs +57 -17
- package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
- package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
- package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
- package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
- package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
- package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
- package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
- package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
- package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
- package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
- package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
- package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
- package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
- package/esm2020/lib/shared/shared.module.mjs +5 -5
- package/esm2020/lib/types/aggregate-function.type.mjs +1 -1
- package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
- package/esm2020/lib/types/table/o-table-initialization-options.type.mjs +1 -1
- package/esm2020/lib/types/tree-flat-node.type.mjs +1 -1
- package/fesm2015/ontimize-web-ngx.mjs +2150 -1464
- package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
- package/fesm2020/ontimize-web-ngx.mjs +2121 -1459
- package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
- package/lib/components/dual-list-selector/o-dual-list-selector.component.d.ts +1 -1
- package/lib/components/input/hour-input/index.d.ts +3 -0
- package/lib/components/input/hour-input/o-hour-input.component.d.ts +6 -2
- package/lib/components/input/hour-input/o-hour-input.directive.d.ts +8 -0
- package/lib/components/input/hour-input/o-hour-input.module.d.ts +5 -4
- package/lib/components/input/index.d.ts +1 -2
- package/lib/components/o-service-base-component.class.d.ts +6 -1
- package/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.d.ts +5 -3
- package/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.d.ts +2 -2
- package/lib/components/table/extensions/default-o-table.datasource.d.ts +6 -1
- package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +10 -3
- package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +10 -3
- package/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.d.ts +1 -1
- package/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.d.ts +1 -1
- package/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.d.ts +1 -2
- package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
- package/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.d.ts +19 -2
- package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +10 -9
- package/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.d.ts +7 -1
- package/lib/components/table/extensions/o-table-strategy.service.d.ts +2 -1
- package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -0
- package/lib/components/table/extensions/sort/o-mat-sort-header.d.ts +5 -3
- package/lib/components/table/index.d.ts +1 -0
- package/lib/components/table/o-table-base.class.d.ts +15 -4
- package/lib/components/table/o-table-loading.service.d.ts +28 -0
- package/lib/components/table/o-table.component.d.ts +7 -3
- package/lib/components/table/o-table.module.d.ts +2 -1
- package/lib/components/tree/o-tree-dao.service.d.ts +4 -2
- package/lib/components/tree/o-tree.component.d.ts +21 -2
- package/lib/components/tree/o-tree.datasource.d.ts +3 -0
- package/lib/components/tree/tree-node/tree-node.component.d.ts +0 -4
- package/lib/i18n/i18n.d.ts +9 -0
- package/lib/interfaces/pagination-data.interface.d.ts +6 -0
- package/lib/services/state/index.d.ts +2 -0
- package/lib/services/state/o-table-component-state.class.d.ts +1 -1
- package/lib/services/state/o-tree-component-state.class.d.ts +3 -0
- package/lib/services/state/o-tree-component-state.service.d.ts +4 -1
- package/lib/types/aggregate-function.type.d.ts +2 -1
- package/lib/types/table/o-table-global-config.type.d.ts +4 -0
- package/lib/types/table/o-table-initialization-options.type.d.ts +4 -0
- package/lib/types/tree-flat-node.type.d.ts +5 -1
- package/package.json +2 -2
|
@@ -65,8 +65,8 @@ export class OAppHeaderComponent {
|
|
|
65
65
|
return this._color;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
OAppHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
69
|
-
OAppHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
68
|
+
OAppHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppHeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
OAppHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OAppHeaderComponent, selector: "o-app-header", inputs: { showUserInfo: ["show-user-info", "showUserInfo"], showLanguageSelector: ["show-language-selector", "showLanguageSelector"], useFlagIcons: ["use-flag-icons", "useFlagIcons"], color: "color", headerHeight: ["header-height", "headerHeight"], showTitle: ["show-title", "showTitle"], staticTitle: ["static-title", "staticTitle"], showStaticTitle: ["show-static-title", "showStaticTitle"] }, outputs: { onSidenavToggle: "onSidenavToggle" }, host: { properties: { "class.o-app-header": "true", "class.o-app-header-small": "headerHeight===\"small\"", "class.o-app-header-medium": "headerHeight===\"medium\"", "class.o-app-header-large": "headerHeight===\"large\"" } }, providers: [
|
|
70
70
|
{ provide: OAppHeaderBase, useExisting: forwardRef(() => OAppHeaderComponent) }
|
|
71
71
|
], viewQueries: [{ propertyName: "userInfo", first: true, predicate: ["userInfo"], descendants: true }], ngImport: i0, template: "<nav fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between stretch\" [ngClass]=\"color ? 'o-app-header-'+color : ''\">\n <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <ng-content></ng-content>\n <ng-content select=\"o-app-layout-header-projection-start\"></ng-content>\n <span *ngIf=\"showTitle && !showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ headerTitle$ | async | oTranslate }}\n </span>\n <span *ngIf=\"showTitle && showStaticTitle\" class=\"o-app-header-title\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n {{ staticTitle | oTranslate }}\n </span>\n <div fxLayout=\"row\" fxLayoutAlign=\"end stretch\" class=\"o-app-header-default-actions\">\n <div class=\"layout-header-projection-end\">\n <ng-content select=\"o-app-layout-header-projection-end\"></ng-content>\n </div>\n <o-user-info #userInfo id=\"userInfo\" *ngIf=\"showUserInfo\"></o-user-info>\n <o-language-selector *ngIf=\"showLanguageSelector\" [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n</nav>\n", styles: [".o-app-header{z-index:2;box-shadow:0 2px 6px #00000029}.o-app-header.o-app-header-large{height:56px}.o-app-header.o-app-header-large+.header-layout{top:56px}.o-app-header.o-app-header-large .o-user-info{font-size:16px}.o-app-header.o-app-header-large .o-user-info .o-user-info-avatar-wrapper{height:40px;width:40px}.o-app-header.o-app-header-medium{height:48px}.o-app-header.o-app-header-medium+.header-layout{top:48px}.o-app-header.o-app-header-medium .o-user-info{font-size:16px}.o-app-header.o-app-header-medium .o-user-info .o-user-info-avatar-wrapper{height:32px;width:32px}.o-app-header.o-app-header-small{height:40px}.o-app-header.o-app-header-small+.header-layout{top:40px}.o-app-header.o-app-header-small .o-user-info{font-size:14px}.o-app-header.o-app-header-small .o-user-info .o-user-info-avatar-wrapper{height:30px;width:30px}.o-app-header nav{padding-right:16px}.o-app-header nav .sidenav-toggle{text-align:center;padding:16px;cursor:pointer}.o-app-header nav .o-app-header-title{padding:0 16px;cursor:default}.o-app-header nav .o-app-header-default-actions{margin-left:auto}.o-app-header nav .o-app-header-default-actions .layout-header-projection-end{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.OLanguageSelectorComponent, selector: "o-language-selector", inputs: ["use-flag-icons"], outputs: ["onChange"] }, { kind: "component", type: i3.OUserInfoComponent, selector: "o-user-info", inputs: ["show-profile", "show-settings", "show-logout", "id"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
72
72
|
__decorate([
|
|
@@ -81,7 +81,7 @@ __decorate([
|
|
|
81
81
|
BooleanInputConverter(),
|
|
82
82
|
__metadata("design:type", Boolean)
|
|
83
83
|
], OAppHeaderComponent.prototype, "useFlagIcons", void 0);
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppHeaderComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
86
|
args: [{ selector: 'o-app-header', inputs: DEFAULT_INPUTS_O_APP_HEADER, outputs: DEFAULT_OUTPUTS_O_APP_HEADER, encapsulation: ViewEncapsulation.None, host: {
|
|
87
87
|
'[class.o-app-header]': 'true',
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
95
95
|
type: ViewChild,
|
|
96
96
|
args: ['userInfo']
|
|
97
97
|
}], showUserInfo: [], showLanguageSelector: [], useFlagIcons: [] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1oZWFkZXIvby1hcHAtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1oZWFkZXIvby1hcHAtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQVEsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlsSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQUUzRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRztJQUN6Qyw4QkFBOEI7SUFDOUIsOENBQThDO0lBQzlDLDhCQUE4QjtJQUM5QixPQUFPO0lBQ1AsNEJBQTRCO0lBQzVCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0Isb0NBQW9DO0NBQ3JDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQyxpQkFBaUI7Q0FDbEIsQ0FBQztBQW9CRixNQUFNLE9BQU8sbUJBQW1CO0lBdUI5QixJQUFJLFlBQVksQ0FBQyxLQUFLO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUlELFlBQ1ksUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWhDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQVEvQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUU3Qix5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFFckMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFdkIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDO1FBa0JqRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFnQixhQUFvQyxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFzQixtQkFBZ0QsQ0FBQyxDQUFDO1FBQ25ILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQWMsV0FBZ0MsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLEVBQUUsQ0FBQztTQUN6RTtJQUNILENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFzQjtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7O2lIQXpEVSxtQkFBbUI7cUdBQW5CLG1CQUFtQixzc0JBTG5CO1FBQ1QsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRTtLQUVoRixnSUMzQ0gsNG5DQW1CQTtBRHVDRTtJQUFDLHFCQUFxQixFQUFFOzt5REFDSztBQUM3QjtJQUFDLHFCQUFxQixFQUFFOztpRUFDYTtBQUNyQztJQUFDLHFCQUFxQixFQUFFOzt5REFDTTs0RkFsQm5CLG1CQUFtQjtrQkFsQi9CLFNBQVM7K0JBQ0UsY0FBYyxVQUNoQiwyQkFBMkIsV0FDMUIsNEJBQTRCLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLHNCQUFzQixFQUFFLE1BQU07d0JBQzlCLDRCQUE0QixFQUFFLHdCQUF3Qjt3QkFDdEQsNkJBQTZCLEVBQUUseUJBQXlCO3dCQUN4RCw0QkFBNEIsRUFBRSx3QkFBd0I7cUJBQ3ZELGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLEVBQUU7cUJBRWhGOytGQWFNLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxVQUFVO2dCQUlyQixZQUFZLE1BRVosb0JBQW9CLE1BRXBCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIFR5cGUsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBPTW9kdWxlc0luZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvby1tb2R1bGVzLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgT1VzZXJJbmZvQmFzZSB9IGZyb20gJy4uL3VzZXItaW5mby9vLXVzZXItaW5mby1iYXNlLmNsYXNzJztcbmltcG9ydCB7IE9BcHBIZWFkZXJCYXNlIH0gZnJvbSAnLi9vLWFwcC1oZWFkZXItYmFzZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0FQUF9IRUFERVIgPSBbXG4gICdzaG93VXNlckluZm86IHNob3ctdXNlci1pbmZvJyxcbiAgJ3Nob3dMYW5ndWFnZVNlbGVjdG9yOiBzaG93LWxhbmd1YWdlLXNlbGVjdG9yJyxcbiAgJ3VzZUZsYWdJY29uczogdXNlLWZsYWctaWNvbnMnLFxuICAnY29sb3InLFxuICAnaGVhZGVySGVpZ2h0OmhlYWRlci1oZWlnaHQnLFxuICAnc2hvd1RpdGxlOiBzaG93LXRpdGxlJyxcbiAgJ3N0YXRpY1RpdGxlOiBzdGF0aWMtdGl0bGUnLFxuICAnc2hvd1N0YXRpY1RpdGxlOiBzaG93LXN0YXRpYy10aXRsZSdcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19BUFBfSEVBREVSID0gW1xuICAnb25TaWRlbmF2VG9nZ2xlJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby1hcHAtaGVhZGVyJyxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX0FQUF9IRUFERVIsXG4gIG91dHB1dHM6IERFRkFVTFRfT1VUUFVUU19PX0FQUF9IRUFERVIsXG4gIHRlbXBsYXRlVXJsOiAnLi9vLWFwcC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLWFwcC1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby1hcHAtaGVhZGVyXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLm8tYXBwLWhlYWRlci1zbWFsbF0nOiAnaGVhZGVySGVpZ2h0PT09XCJzbWFsbFwiJyxcbiAgICAnW2NsYXNzLm8tYXBwLWhlYWRlci1tZWRpdW1dJzogJ2hlYWRlckhlaWdodD09PVwibWVkaXVtXCInLFxuICAgICdbY2xhc3Muby1hcHAtaGVhZGVyLWxhcmdlXSc6ICdoZWFkZXJIZWlnaHQ9PT1cImxhcmdlXCInXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogT0FwcEhlYWRlckJhc2UsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9BcHBIZWFkZXJDb21wb25lbnQpIH1cblxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE9BcHBIZWFkZXJDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgbW9kdWxlc0luZm9TZXJ2aWNlOiBPTW9kdWxlc0luZm9TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlO1xuICBwdWJsaWMgc2hvd1RpdGxlID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93U3RhdGljVGl0bGUgPSBmYWxzZTtcbiAgcHVibGljIHN0YXRpY1RpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWFkZXJUaXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBAVmlld0NoaWxkKCd1c2VySW5mbycpXG4gIHB1YmxpYyB1c2VySW5mbzogT1VzZXJJbmZvQmFzZTtcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgc2hvd1VzZXJJbmZvOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNob3dMYW5ndWFnZVNlbGVjdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHVzZUZsYWdJY29uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvblNpZGVuYXZUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHByb3RlY3RlZCBfaGVhZGVySGVpZ2h0ID0gQ29kZXMuREVGQVVMVF9ST1dfSEVJR0hUO1xuXG4gIHNldCBoZWFkZXJIZWlnaHQodmFsdWUpIHtcbiAgICB0aGlzLl9oZWFkZXJIZWlnaHQgPSB2YWx1ZSA/IHZhbHVlLnRvTG93ZXJDYXNlKCkgOiB2YWx1ZTtcbiAgICBpZiAoIUNvZGVzLmlzVmFsaWRSb3dIZWlnaHQodGhpcy5faGVhZGVySGVpZ2h0KSkge1xuICAgICAgdGhpcy5faGVhZGVySGVpZ2h0ID0gQ29kZXMuREVGQVVMVF9ST1dfSEVJR0hUO1xuICAgIH1cbiAgfVxuXG4gIGdldCBoZWFkZXJIZWlnaHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faGVhZGVySGVpZ2h0O1xuICB9XG5cbiAgcHJpdmF0ZSBfY29sb3I6IFRoZW1lUGFsZXR0ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxEaWFsb2dTZXJ2aWNlPihEaWFsb2dTZXJ2aWNlIGFzIFR5cGU8RGlhbG9nU2VydmljZT4pO1xuICAgIHRoaXMubW9kdWxlc0luZm9TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8T01vZHVsZXNJbmZvU2VydmljZT4oT01vZHVsZXNJbmZvU2VydmljZSBhcyBUeXBlPE9Nb2R1bGVzSW5mb1NlcnZpY2U+KTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8QXV0aFNlcnZpY2U+KEF1dGhTZXJ2aWNlIGFzIFR5cGU8QXV0aFNlcnZpY2U+KTtcbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuc2hvd1N0YXRpY1RpdGxlKSB7XG4gICAgICB0aGlzLmhlYWRlclRpdGxlJCA9IHRoaXMubW9kdWxlc0luZm9TZXJ2aWNlLmdldE1vZHVsZUNoYW5nZU9ic2VydmFibGUoKTtcbiAgICB9XG4gIH1cbiAgb25Mb2dvdXRDbGljaygpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dFdpdGhDb25maXJtYXRpb24oKTtcbiAgfVxuICBzZXQgY29sb3IobmV3VmFsdWU6IFRoZW1lUGFsZXR0ZSkge1xuICAgIHRoaXMuX2NvbG9yID0gbmV3VmFsdWU7XG4gIH1cblxuICBnZXQgY29sb3IoKTogVGhlbWVQYWxldHRlIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cblxufVxuIiwiPG5hdiBmeEZsZXggZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBzdHJldGNoXCIgW25nQ2xhc3NdPVwiY29sb3IgPyAnby1hcHAtaGVhZGVyLScrY29sb3IgOiAnJ1wiPlxuICA8ZGl2IGZ4RmxleCBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJvLWFwcC1sYXlvdXQtaGVhZGVyLXByb2plY3Rpb24tc3RhcnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPHNwYW4gKm5nSWY9XCJzaG93VGl0bGUgJiYgIXNob3dTdGF0aWNUaXRsZVwiIGNsYXNzPVwiby1hcHAtaGVhZGVyLXRpdGxlXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAge3sgaGVhZGVyVGl0bGUkIHwgYXN5bmMgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwic2hvd1RpdGxlICYmIHNob3dTdGF0aWNUaXRsZVwiIGNsYXNzPVwiby1hcHAtaGVhZGVyLXRpdGxlXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAge3sgc3RhdGljVGl0bGUgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiZW5kIHN0cmV0Y2hcIiBjbGFzcz1cIm8tYXBwLWhlYWRlci1kZWZhdWx0LWFjdGlvbnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtaGVhZGVyLXByb2plY3Rpb24tZW5kXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm8tYXBwLWxheW91dC1oZWFkZXItcHJvamVjdGlvbi1lbmRcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxvLXVzZXItaW5mbyAjdXNlckluZm8gaWQ9XCJ1c2VySW5mb1wiICpuZ0lmPVwic2hvd1VzZXJJbmZvXCI+PC9vLXVzZXItaW5mbz5cbiAgICAgIDxvLWxhbmd1YWdlLXNlbGVjdG9yICpuZ0lmPVwic2hvd0xhbmd1YWdlU2VsZWN0b3JcIiBbdXNlLWZsYWctaWNvbnNdPVwidXNlRmxhZ0ljb25zXCI+PC9vLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmF2PlxuIl19
|
|
@@ -7,10 +7,10 @@ import { OAppHeaderComponent } from './o-app-header.component';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class OAppHeaderModule {
|
|
9
9
|
}
|
|
10
|
-
OAppHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
11
|
-
OAppHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
12
|
-
OAppHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
10
|
+
OAppHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
OAppHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OAppHeaderModule, declarations: [OAppHeaderComponent], imports: [CommonModule, OLanguageSelectorModule, OUserInfoModule, OSharedModule], exports: [OAppHeaderComponent] });
|
|
12
|
+
OAppHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppHeaderModule, imports: [CommonModule, OLanguageSelectorModule, OUserInfoModule, OSharedModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppHeaderModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
imports: [CommonModule, OLanguageSelectorModule, OUserInfoModule, OSharedModule],
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
18
18
|
exports: [OAppHeaderComponent]
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1oZWFkZXIvby1hcHAtaGVhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU8vRCxNQUFNLE9BQU8sZ0JBQWdCOzs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFosbUJBQW1CLGFBRHhCLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxhQUVyRSxtQkFBbUI7K0dBRWxCLGdCQUFnQixZQUpqQixZQUFZLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLGFBQWE7NEZBSXBFLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQztvQkFDaEYsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgT0xhbmd1YWdlU2VsZWN0b3JNb2R1bGUgfSBmcm9tICcuLi9sYW5ndWFnZS1zZWxlY3Rvci9vLWxhbmd1YWdlLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBPVXNlckluZm9Nb2R1bGUgfSBmcm9tICcuLi91c2VyLWluZm8vby11c2VyLWluZm8ubW9kdWxlJztcbmltcG9ydCB7IE9BcHBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL28tYXBwLWhlYWRlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPTGFuZ3VhZ2VTZWxlY3Rvck1vZHVsZSwgT1VzZXJJbmZvTW9kdWxlLCBPU2hhcmVkTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbT0FwcEhlYWRlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtPQXBwSGVhZGVyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBPQXBwSGVhZGVyTW9kdWxlIHsgfVxuIl19
|
|
@@ -54,12 +54,12 @@ export class OAppSidenavImageComponent {
|
|
|
54
54
|
return (this._src !== undefined && this._src.length > 0);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
OAppSidenavImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
58
|
-
OAppSidenavImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
57
|
+
OAppSidenavImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppSidenavImageComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
OAppSidenavImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OAppSidenavImageComponent, selector: "o-app-sidenav-image", inputs: { openedSrc: ["opened-src", "openedSrc"], closedSrc: ["closed-src", "closedSrc"] }, host: { properties: { "class.o-app-sidenav-image": "true" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"o-app-sidenav-image-container\" *ngIf=\"showImage\">\n <img class=\"o-app-sidenav-image\" [src]=\"src\" alt=\"application sidenav image\" />\n</div>\n", styles: [".sidenav-toggle-container+.o-app-sidenav-image .o-app-sidenav-image-container{padding-top:0;text-align:center}.mat-drawer-opened .o-app-sidenav-image .o-app-sidenav-image-container{text-align:center}.o-app-sidenav-image .o-app-sidenav-image-container{max-height:75px;margin:24px 0}.o-app-sidenav-image .o-app-sidenav-image-container .o-app-sidenav-image{max-width:100%;max-height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppSidenavImageComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
61
61
|
args: [{ selector: 'o-app-sidenav-image', inputs: DEFAULT_INPUTS_O_APP_SIDENAV_IMAGE, outputs: DEFAULT_OUTPUTS_O_APP_SIDENAV_IMAGE, encapsulation: ViewEncapsulation.None, host: {
|
|
62
62
|
'[class.o-app-sidenav-image]': 'true'
|
|
63
63
|
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"o-app-sidenav-image-container\" *ngIf=\"showImage\">\n <img class=\"o-app-sidenav-image\" [src]=\"src\" alt=\"application sidenav image\" />\n</div>\n", styles: [".sidenav-toggle-container+.o-app-sidenav-image .o-app-sidenav-image-container{padding-top:0;text-align:center}.mat-drawer-opened .o-app-sidenav-image .o-app-sidenav-image-container{text-align:center}.o-app-sidenav-image .o-app-sidenav-image-container{max-height:75px;margin:24px 0}.o-app-sidenav-image .o-app-sidenav-image-container .o-app-sidenav-image{max-width:100%;max-height:100%}\n"] }]
|
|
64
64
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtc2lkZW5hdi1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9hcHAtc2lkZW5hdi9pbWFnZS9vLWFwcC1zaWRlbmF2LWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1zaWRlbmF2L2ltYWdlL28tYXBwLXNpZGVuYXYtaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQStDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hLLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRzlELE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHO0lBQ2hELHVCQUF1QjtJQUN2Qix1QkFBdUI7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEVBQUUsQ0FBQztBQWN0RCxNQUFNLE9BQU8seUJBQXlCO0lBU3BDLFlBQ1ksUUFBa0IsRUFDbEIsRUFBcUI7UUFEckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUp2QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFNMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDeEk7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxHQUFHLENBQUMsR0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7dUhBNURVLHlCQUF5QjsyR0FBekIseUJBQXlCLDJPQ3hCdEMsc0tBR0E7NEZEcUJhLHlCQUF5QjtrQkFackMsU0FBUzsrQkFDRSxxQkFBcUIsVUFDdkIsa0NBQWtDLFdBQ2pDLG1DQUFtQyxpQkFHN0IsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSiw2QkFBNkIsRUFBRSxNQUFNO3FCQUN0QyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3RvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9BcHBTaWRlbmF2QmFzZSB9IGZyb20gJy4uL28tYXBwLXNpZGVuYXYtYmFzZS5jbGFzcyc7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fQVBQX1NJREVOQVZfSU1BR0UgPSBbXG4gICdvcGVuZWRTcmM6IG9wZW5lZC1zcmMnLFxuICAnY2xvc2VkU3JjOiBjbG9zZWQtc3JjJ1xuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX0lNQUdFID0gW107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tYXBwLXNpZGVuYXYtaW1hZ2UnLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fQVBQX1NJREVOQVZfSU1BR0UsXG4gIG91dHB1dHM6IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX0lNQUdFLFxuICB0ZW1wbGF0ZVVybDogJy4vby1hcHAtc2lkZW5hdi1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28tYXBwLXNpZGVuYXYtaW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby1hcHAtc2lkZW5hdi1pbWFnZV0nOiAndHJ1ZSdcbiAgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgT0FwcFNpZGVuYXZJbWFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuXG4gIHByb3RlY3RlZCBzaWRlbmF2OiBPQXBwU2lkZW5hdkJhc2U7XG4gIHB1YmxpYyBvcGVuZWRTcmM6IHN0cmluZztcbiAgcHVibGljIGNsb3NlZFNyYzogc3RyaW5nO1xuICBwcml2YXRlIF9zcmM6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLnNpZGVuYXYgPSB0aGlzLmluamVjdG9yLmdldChPQXBwU2lkZW5hdkJhc2UpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2lkZW5hdikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKG1lcmdlKHRoaXMuc2lkZW5hdi5vblNpZGVuYXZDbG9zZWRTdGFydCwgdGhpcy5zaWRlbmF2Lm9uU2lkZW5hdk9wZW5lZFN0YXJ0KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVJbWFnZSgpKSk7XG4gICAgfVxuICAgIHRoaXMudXBkYXRlSW1hZ2UoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMub3BlbmVkU3JjIHx8IGNoYW5nZXMuY2xvc2VkU3JjKSB7XG4gICAgICB0aGlzLnVwZGF0ZUltYWdlKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlSW1hZ2UoKSB7XG4gICAgaWYgKHRoaXMuc2lkZW5hdiAmJiB0aGlzLnNpZGVuYXYuc2lkZW5hdiAmJiB0aGlzLnNpZGVuYXYuc2lkZW5hdi5vcGVuZWQpIHtcbiAgICAgIHRoaXMuc2V0T3BlbmVkSW1nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0Q2xvc2VkSW1nKCk7XG4gICAgfVxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc2V0IHNyYyh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX3NyYyA9IHZhbDtcbiAgfVxuXG4gIGdldCBzcmMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NyYztcbiAgfVxuXG4gIHNldE9wZW5lZEltZygpIHtcbiAgICB0aGlzLnNyYyA9IHRoaXMub3BlbmVkU3JjO1xuICB9XG5cbiAgc2V0Q2xvc2VkSW1nKCkge1xuICAgIHRoaXMuc3JjID0gdGhpcy5jbG9zZWRTcmM7XG4gIH1cblxuICBnZXQgc2hvd0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fc3JjICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc3JjLmxlbmd0aCA+IDApO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWFwcC1zaWRlbmF2LWltYWdlLWNvbnRhaW5lclwiICpuZ0lmPVwic2hvd0ltYWdlXCI+XG4gIDxpbWcgY2xhc3M9XCJvLWFwcC1zaWRlbmF2LWltYWdlXCIgW3NyY109XCJzcmNcIiBhbHQ9XCJhcHBsaWNhdGlvbiBzaWRlbmF2IGltYWdlXCIgLz5cbjwvZGl2PlxuIl19
|
package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs
CHANGED
|
@@ -158,8 +158,8 @@ export class OAppSidenavMenuGroupComponent {
|
|
|
158
158
|
return className;
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
OAppSidenavMenuGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
162
|
-
OAppSidenavMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
161
|
+
OAppSidenavMenuGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppSidenavMenuGroupComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
+
OAppSidenavMenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OAppSidenavMenuGroupComponent, selector: "o-app-sidenav-menu-group", inputs: { menuGroup: ["menu-group", "menuGroup"], sidenavOpened: ["sidenav-opened", "sidenavOpened"], level: "level" }, outputs: { onItemClick: "onItemClick" }, host: { properties: { "class": "getClass()", "attr.disabled": "disabled" } }, ngImport: i0, template: "<ng-container *ngIf=\"!hidden\">\n <ng-container *ngIf=\"shouldShowTooltip; else noTooltip\">\n <a mat-button mat-button class=\"o-app-sidenav-item o-app-sidenav-menugroup\" [class.opened]=\"menuGroup.opened\" (click)=\"onClick()\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\" [matTooltip]=\"tooltip\" matTooltipClass=\"menugroup-tooltip\"\n matTooltipPosition=\"right\" [matTooltipShowDelay]=\"sidenavOpened?500:0\">\n <ng-container *ngTemplateOutlet=\"contentButton\"></ng-container>\n </a>\n </ng-container>\n\n\n <div class=\"o-app-sidenav-menugroup-items-container\">\n <ul [@contentExpansion]=\"contentExpansion\" class=\"o-app-sidenav-menugroup-ul\">\n <ng-container *ngFor=\"let menuItem of menuGroup.items\">\n <ng-container *ngIf=\"appMenuService.isVisible(menuItem)\">\n <o-app-sidenav-menu-item [sidenav-opened]=\"sidenavOpened\" *ngIf=\"!menuItem.items; else menuGroup\" [disabled]=\"disabled\"\n [menu-item]=\"menuItem\" [menu-item-type]=\"appMenuService.getMenuItemType(menuItem)\" (onClick)=\"onMenuItemClick($event)\">\n </o-app-sidenav-menu-item>\n <ng-template #menuGroup>\n <o-app-sidenav-menu-group [menu-group]=\"menuItem\" [sidenav-opened]=\"sidenavOpened\" [level]=\"level + 1\"\n *ngIf=\"appMenuService.getMenuItemType(menuItem) === 'group'\" (onItemClick)=\"onMenuItemClick($event)\">\n </o-app-sidenav-menu-group>\n </ng-template>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n</ng-container>\n\n<ng-template #noTooltip>\n <a mat-button mat-button class=\"o-app-sidenav-item o-app-sidenav-menugroup\" [class.opened]=\"menuGroup.opened\" (click)=\"onClick()\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <ng-container *ngTemplateOutlet=\"contentButton\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #contentButton>\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <ng-container *ngIf=\"sidenavOpened\">\n <mat-icon *ngIf=\"menuGroup.svgIcon\" [svgIcon]=\"menuGroup.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuGroup.icon\">{{ menuGroup.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menugroup-title\">{{ menuGroup.name | oTranslate }}</span>\n <span class=\"fill-remaining\"></span>\n <ng-container *ngIf=\"appMenuService.isMenuGroupRoute(menuGroup) && menuGroup.opened; else arrowMenuGroupTemplate\">\n <mat-icon [id]=\"'arrow_icon_' + menuGroup.id\" class=\"o-app-sidenav-menugroup-arrow\" svgIcon=\"ontimize:keyboard_arrow_right\"\n (click)=\"toggle($event)\"\n (keydown)=\"toggle($event)\"></mat-icon>\n </ng-container>\n <ng-template #arrowMenuGroupTemplate>\n <mat-icon [id]=\"'arrow_icon_' + menuGroup.id\" class=\"o-app-sidenav-menugroup-arrow\" svgIcon=\"ontimize:keyboard_arrow_right\"></mat-icon>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!sidenavOpened\">\n <mat-icon *ngIf=\"menuGroup.svgIcon\" [svgIcon]=\"menuGroup.svgIcon\"></mat-icon> <mat-icon *ngIf=\"menuGroup.icon\">{{ menuGroup.icon }}</mat-icon>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".o-app-sidenav-menu-group .o-app-sidenav-menugroup.mat-mdc-button{min-width:0}.o-app-sidenav-menu-group[disabled=true] .o-app-sidenav-menugroup{cursor:default}.o-app-sidenav-menu-group .mat-mdc-tooltip.menugroup-tooltip{margin-left:28px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: OAppSidenavMenuGroupComponent, selector: "o-app-sidenav-menu-group", inputs: ["menu-group", "sidenav-opened", "level"], outputs: ["onItemClick"] }, { kind: "component", type: i6.OAppSidenavMenuItemComponent, selector: "o-app-sidenav-menu-item", inputs: ["menu-item", "menu-item-type", "sidenav-opened", "disabled"], outputs: ["onClick"] }, { kind: "pipe", type: i7.OTranslatePipe, name: "oTranslate" }], animations: [
|
|
163
163
|
trigger('contentExpansion', [
|
|
164
164
|
state('collapsed', style({ height: '0px' })),
|
|
165
165
|
state('expanded', style({ height: '*' })),
|
|
@@ -175,7 +175,7 @@ __decorate([
|
|
|
175
175
|
NumberInputConverter(),
|
|
176
176
|
__metadata("design:type", Number)
|
|
177
177
|
], OAppSidenavMenuGroupComponent.prototype, "level", void 0);
|
|
178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
178
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppSidenavMenuGroupComponent, decorators: [{
|
|
179
179
|
type: Component,
|
|
180
180
|
args: [{ selector: 'o-app-sidenav-menu-group', inputs: DEFAULT_INPUTS_O_APP_SIDENAV_MENU_GROUP, outputs: DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_GROUP, encapsulation: ViewEncapsulation.None, animations: [
|
|
181
181
|
trigger('contentExpansion', [
|
|
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
189
189
|
'[attr.disabled]': 'disabled'
|
|
190
190
|
}, template: "<ng-container *ngIf=\"!hidden\">\n <ng-container *ngIf=\"shouldShowTooltip; else noTooltip\">\n <a mat-button mat-button class=\"o-app-sidenav-item o-app-sidenav-menugroup\" [class.opened]=\"menuGroup.opened\" (click)=\"onClick()\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\" [matTooltip]=\"tooltip\" matTooltipClass=\"menugroup-tooltip\"\n matTooltipPosition=\"right\" [matTooltipShowDelay]=\"sidenavOpened?500:0\">\n <ng-container *ngTemplateOutlet=\"contentButton\"></ng-container>\n </a>\n </ng-container>\n\n\n <div class=\"o-app-sidenav-menugroup-items-container\">\n <ul [@contentExpansion]=\"contentExpansion\" class=\"o-app-sidenav-menugroup-ul\">\n <ng-container *ngFor=\"let menuItem of menuGroup.items\">\n <ng-container *ngIf=\"appMenuService.isVisible(menuItem)\">\n <o-app-sidenav-menu-item [sidenav-opened]=\"sidenavOpened\" *ngIf=\"!menuItem.items; else menuGroup\" [disabled]=\"disabled\"\n [menu-item]=\"menuItem\" [menu-item-type]=\"appMenuService.getMenuItemType(menuItem)\" (onClick)=\"onMenuItemClick($event)\">\n </o-app-sidenav-menu-item>\n <ng-template #menuGroup>\n <o-app-sidenav-menu-group [menu-group]=\"menuItem\" [sidenav-opened]=\"sidenavOpened\" [level]=\"level + 1\"\n *ngIf=\"appMenuService.getMenuItemType(menuItem) === 'group'\" (onItemClick)=\"onMenuItemClick($event)\">\n </o-app-sidenav-menu-group>\n </ng-template>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n</ng-container>\n\n<ng-template #noTooltip>\n <a mat-button mat-button class=\"o-app-sidenav-item o-app-sidenav-menugroup\" [class.opened]=\"menuGroup.opened\" (click)=\"onClick()\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <ng-container *ngTemplateOutlet=\"contentButton\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #contentButton>\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\" fxFill>\n <ng-container *ngIf=\"sidenavOpened\">\n <mat-icon *ngIf=\"menuGroup.svgIcon\" [svgIcon]=\"menuGroup.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuGroup.icon\">{{ menuGroup.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menugroup-title\">{{ menuGroup.name | oTranslate }}</span>\n <span class=\"fill-remaining\"></span>\n <ng-container *ngIf=\"appMenuService.isMenuGroupRoute(menuGroup) && menuGroup.opened; else arrowMenuGroupTemplate\">\n <mat-icon [id]=\"'arrow_icon_' + menuGroup.id\" class=\"o-app-sidenav-menugroup-arrow\" svgIcon=\"ontimize:keyboard_arrow_right\"\n (click)=\"toggle($event)\"\n (keydown)=\"toggle($event)\"></mat-icon>\n </ng-container>\n <ng-template #arrowMenuGroupTemplate>\n <mat-icon [id]=\"'arrow_icon_' + menuGroup.id\" class=\"o-app-sidenav-menugroup-arrow\" svgIcon=\"ontimize:keyboard_arrow_right\"></mat-icon>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!sidenavOpened\">\n <mat-icon *ngIf=\"menuGroup.svgIcon\" [svgIcon]=\"menuGroup.svgIcon\"></mat-icon> <mat-icon *ngIf=\"menuGroup.icon\">{{ menuGroup.icon }}</mat-icon>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".o-app-sidenav-menu-group .o-app-sidenav-menugroup.mat-mdc-button{min-width:0}.o-app-sidenav-menu-group[disabled=true] .o-app-sidenav-menugroup{cursor:default}.o-app-sidenav-menu-group .mat-mdc-tooltip.menugroup-tooltip{margin-left:28px}\n"] }]
|
|
191
191
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { sidenavOpened: [], level: [] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1zaWRlbmF2L21lbnUtZ3JvdXAvby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1zaWRlbmF2L21lbnUtZ3JvdXAvby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFJUixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWxHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVB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QUU7NEJBQzFCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7NEJBQzVDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7NEJBQzdELFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt5QkFDL0QsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixTQUFTLEVBQUUsWUFBWTt3QkFDdkIsaUJBQWlCLEVBQUUsVUFBVTtxQkFDOUI7d0pBbUJELGFBQWEsTUFHYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIsIE51bWJlcklucHV0Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9ycy9pbnB1dC1jb252ZXJ0ZXInO1xuaW1wb3J0IHsgTWVudUdyb3VwLCBNZW51R3JvdXBSb3V0ZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYXBwLW1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwLW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1Blcm1pc3Npb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvby1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IFBlcm1pc3Npb25zVXRpbHMgfSBmcm9tICcuLi8uLi8uLi91dGlsL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0FwcFNpZGVuYXZCYXNlIH0gZnJvbSAnLi4vby1hcHAtc2lkZW5hdi1iYXNlLmNsYXNzJztcbmltcG9ydCB7IE9BcHBMYXlvdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vbGF5b3V0cy9hcHAtbGF5b3V0L28tYXBwLWxheW91dC1iYXNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fQVBQX1NJREVOQVZfTUVOVV9HUk9VUCA9IFtcbiAgJ21lbnVHcm91cCA6IG1lbnUtZ3JvdXAnLFxuICAnc2lkZW5hdk9wZW5lZCA6IHNpZGVuYXYtb3BlbmVkJyxcbiAgJ2xldmVsJ1xuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX01FTlVfR1JPVVAgPSBbXG4gICdvbkl0ZW1DbGljaydcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tYXBwLXNpZGVuYXYtbWVudS1ncm91cCcsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19BUFBfU0lERU5BVl9NRU5VX0dST1VQLFxuICBvdXRwdXRzOiBERUZBVUxUX09VVFBVVFNfT19BUFBfU0lERU5BVl9NRU5VX0dST1VQLFxuICB0ZW1wbGF0ZVVybDogJy4vby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdjb250ZW50RXhwYW5zaW9uJywgW1xuICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JyB9KSksXG4gICAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2NvbGxhcHNlZCA9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4nKSksXG4gICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLCBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcpKVxuICAgIF0pXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnZ2V0Q2xhc3MoKScsXG4gICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPQXBwU2lkZW5hdk1lbnVHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IE9UcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1NlcnZpY2U7XG5cbiAgcHVibGljIGFwcE1lbnVTZXJ2aWNlOiBBcHBNZW51U2VydmljZTtcbiAgcHVibGljIHNpZGVuYXY6IE9BcHBTaWRlbmF2QmFzZTtcbiAgcHJvdGVjdGVkIHNpZGVuYXZTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJvdGVjdGVkIHBlcm1pc3Npb25zOiBPUGVybWlzc2lvbnM7XG4gIHByb3RlY3RlZCBtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHB1YmxpYyBtZW51R3JvdXA6IChNZW51R3JvdXAgfCBNZW51R3JvdXBSb3V0ZSk7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNpZGVuYXZPcGVuZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBOdW1iZXJJbnB1dENvbnZlcnRlcigpXG4gIGxldmVsOiBudW1iZXIgPSAxO1xuXG4gIGhpZGRlbjogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBfY29udGVudEV4cGFuc2lvbjtcbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuICByb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgYWN0aXZlOiBib29sZWFuO1xuICBvQXBwTGF5b3V0Q29tcG9uZW50OiBPQXBwTGF5b3V0QmFzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmFwcE1lbnVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQXBwTWVudVNlcnZpY2UpO1xuICAgIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoUGVybWlzc2lvbnNTZXJ2aWNlKTtcbiAgICB0aGlzLnNpZGVuYXYgPSB0aGlzLmluamVjdG9yLmdldChPQXBwU2lkZW5hdkJhc2UpO1xuICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQ8Um91dGVyPihSb3V0ZXIgYXMgVHlwZTxSb3V0ZXI+KTtcbiAgICB0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQgPSB0aGlzLmluamVjdG9yLmdldDxPQXBwTGF5b3V0QmFzZT4oT0FwcExheW91dEJhc2UgYXMgVHlwZTxPQXBwTGF5b3V0QmFzZT4pO1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgdGhpcy5hcHBNZW51U2VydmljZS5pc1JvdXRlSXRlbSh0aGlzLm1lbnVHcm91cCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB0aGlzLmFwcE1lbnVTZXJ2aWNlLmlzSXRlbUFjdGl2ZSh0aGlzLm1lbnVHcm91cCBhcyBNZW51R3JvdXBSb3V0ZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXJzZVBlcm1pc3Npb25zKCk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd1Rvb2x0aXAoKSB7XG4gICAgc3dpdGNoICh0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQudG9vbHRpcERpc3BsYXlNb2RlKSB7XG4gICAgICBjYXNlICdhbHdheXMnOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgJ25ldmVyJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSAnb25seS1jb2xsYXBzZWQnOlxuICAgICAgICByZXR1cm4gIXRoaXMuc2lkZW5hdk9wZW5lZDtcbiAgICAgIGNhc2UgJ29ubHktZXhwYW5kZWQnOlxuICAgICAgICByZXR1cm4gdGhpcy5zaWRlbmF2T3BlbmVkO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5tZW51R3JvdXAuaWQgPT09ICd1c2VyLWluZm8nICYmIHRoaXMuc2lkZW5hdikge1xuICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICB0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24uYWRkKHRoaXMuc2lkZW5hdi5vblNpZGVuYXZPcGVuZWRDaGFuZ2Uuc3Vic2NyaWJlKChvcGVuZWQpID0+IHtcbiAgICAgICAgc2VsZi5kaXNhYmxlZCA9ICgoIW9wZW5lZCAmJiBVdGlsLmlzRGVmaW5lZChvcGVuZWQpKSB8fCAoVXRpbC5pc0RlZmluZWQoc2VsZi5wZXJtaXNzaW9ucykgJiYgc2VsZi5wZXJtaXNzaW9ucyAmJiBzZWxmLnBlcm1pc3Npb25zLmVuYWJsZWQgPT09IGZhbHNlKSk7XG4gICAgICAgIHNlbGYudXBkYXRlQ29udGVudEV4cGFuc2lvbigpO1xuICAgICAgICBzZWxmLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSkpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnRFeHBhbnNpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc2lkZW5hdlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJvdXRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VQZXJtaXNzaW9ucygpIHtcbiAgICAvLyBpZiBvYXR0ciBpbiBmb3JtLCBpdCBjYW4gaGF2ZSBwZXJtaXNzaW9uc1xuICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5nZXRNZW51UGVybWlzc2lvbnModGhpcy5tZW51R3JvdXAuaWQpO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oaWRkZW4gPSB0aGlzLnBlcm1pc3Npb25zLnZpc2libGUgPT09IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLnBlcm1pc3Npb25zLmVuYWJsZWQgPT09IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IFBlcm1pc3Npb25zVXRpbHMucmVnaXN0ZXJEaXNhYmxlZENoYW5nZXNJbkRvbSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgY2hlY2tTdHJpbmdWYWx1ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBNZW51U2VydmljZS5pc01lbnVHcm91cCh0aGlzLm1lbnVHcm91cCkgfHxcbiAgICAgIHRoaXMuYXBwTWVudVNlcnZpY2UuaXNNZW51R3JvdXBSb3V0ZSh0aGlzLm1lbnVHcm91cCkgJiYgKCF0aGlzLm1lbnVHcm91cC5vcGVuZWQpKSB7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgICB0aGlzLm5hdmlnYXRlKCk7XG4gIH1cblxuICB0b2dnbGUoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICB0aGlzLm1lbnVHcm91cC5vcGVuZWQgPSAhdGhpcy5tZW51R3JvdXAub3BlbmVkO1xuICAgIHRoaXMuYXBwTWVudVNlcnZpY2Uub25DbGljay5uZXh0KCk7XG4gICAgdGhpcy51cGRhdGVDb250ZW50RXhwYW5zaW9uKCk7XG4gIH1cblxuICBuYXZpZ2F0ZSgpIHtcbiAgICBpZiAodGhpcy5hcHBNZW51U2VydmljZS5pc01lbnVHcm91cFJvdXRlKHRoaXMubWVudUdyb3VwKSkge1xuICAgICAgY29uc3Qgcm91dGUgPSAodGhpcy5tZW51R3JvdXAgYXMgTWVudUdyb3VwUm91dGUpLnJvdXRlO1xuICAgICAgaWYgKHRoaXMucm91dGVyLnVybCAhPT0gcm91dGUpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JvdXRlXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQ29udGVudEV4cGFuc2lvbigpIHtcbiAgICBsZXQgaXNPcGVuZWQgPSB0aGlzLm1lbnVHcm91cCAmJiB0aGlzLm1lbnVHcm91cC5vcGVuZWQ7XG4gICAgaWYgKHRoaXMubWVudUdyb3VwLmlkID09PSAndXNlci1pbmZvJykge1xuICAgICAgaXNPcGVuZWQgPSAodGhpcy5zaWRlbmF2ICYmIHRoaXMuc2lkZW5hdi5zaWRlbmF2ICYmIHRoaXMuc2lkZW5hdi5zaWRlbmF2Lm9wZW5lZCkgJiYgaXNPcGVuZWQ7XG4gICAgfVxuICAgIHRoaXMuY29udGVudEV4cGFuc2lvbiA9IGlzT3BlbmVkID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xuICB9XG5cbiAgZ2V0IGNvbnRlbnRFeHBhbnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEV4cGFuc2lvbjtcbiAgfVxuXG4gIHNldCBjb250ZW50RXhwYW5zaW9uKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29udGVudEV4cGFuc2lvbiA9IHZhbDtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCB0b29sdGlwKCkge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRoaXMubWVudUdyb3VwLm5hbWUpO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLm1lbnVHcm91cC50b29sdGlwKSkge1xuICAgICAgcmVzdWx0ICs9ICc6ICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRoaXMubWVudUdyb3VwLnRvb2x0aXApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgb25NZW51SXRlbUNsaWNrKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGUpO1xuICB9XG5cbiAgZ2V0Q2xhc3MoKSB7XG4gICAgbGV0IGNsYXNzTmFtZSA9ICdvLWFwcC1zaWRlbmF2LW1lbnUtZ3JvdXAgby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLWxldmVsLScgKyB0aGlzLmxldmVsO1xuICAgIGlmICh0aGlzLm1lbnVHcm91cC5jbGFzcykge1xuICAgICAgY2xhc3NOYW1lICs9ICcgJyArIHRoaXMubWVudUdyb3VwLmNsYXNzO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZGVuXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGRTaG93VG9vbHRpcDsgZWxzZSBub1Rvb2x0aXBcIj5cbiAgICA8YSBtYXQtYnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJvLWFwcC1zaWRlbmF2LWl0ZW0gby1hcHAtc2lkZW5hdi1tZW51Z3JvdXBcIiBbY2xhc3Mub3BlbmVkXT1cIm1lbnVHcm91cC5vcGVuZWRcIiAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgIFtjbGFzcy5vLWFwcC1zaWRlbmF2LXZpZXdlci1zaWRlbmF2LWl0ZW0tc2VsZWN0ZWRdPVwiYWN0aXZlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnVncm91cC10b29sdGlwXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgW21hdFRvb2x0aXBTaG93RGVsYXldPVwic2lkZW5hdk9wZW5lZD81MDA6MFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRCdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG4gIDwvbmctY29udGFpbmVyPlxuXG5cbiAgPGRpdiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWdyb3VwLWl0ZW1zLWNvbnRhaW5lclwiPlxuICAgIDx1bCBbQGNvbnRlbnRFeHBhbnNpb25dPVwiY29udGVudEV4cGFuc2lvblwiIGNsYXNzPVwiby1hcHAtc2lkZW5hdi1tZW51Z3JvdXAtdWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIG1lbnVHcm91cC5pdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwTWVudVNlcnZpY2UuaXNWaXNpYmxlKG1lbnVJdGVtKVwiPlxuICAgICAgICAgIDxvLWFwcC1zaWRlbmF2LW1lbnUtaXRlbSBbc2lkZW5hdi1vcGVuZWRdPVwic2lkZW5hdk9wZW5lZFwiICpuZ0lmPVwiIW1lbnVJdGVtLml0ZW1zOyBlbHNlIG1lbnVHcm91cFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbbWVudS1pdGVtXT1cIm1lbnVJdGVtXCIgW21lbnUtaXRlbS10eXBlXT1cImFwcE1lbnVTZXJ2aWNlLmdldE1lbnVJdGVtVHlwZShtZW51SXRlbSlcIiAob25DbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgIDwvby1hcHAtc2lkZW5hdi1tZW51LWl0ZW0+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNtZW51R3JvdXA+XG4gICAgICAgICAgICA8by1hcHAtc2lkZW5hdi1tZW51LWdyb3VwIFttZW51LWdyb3VwXT1cIm1lbnVJdGVtXCIgW3NpZGVuYXYtb3BlbmVkXT1cInNpZGVuYXZPcGVuZWRcIiBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhcHBNZW51U2VydmljZS5nZXRNZW51SXRlbVR5cGUobWVudUl0ZW0pID09PSAnZ3JvdXAnXCIgKG9uSXRlbUNsaWNrKT1cIm9uTWVudUl0ZW1DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L28tYXBwLXNpZGVuYXYtbWVudS1ncm91cD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbm9Ub29sdGlwPlxuICA8YSBtYXQtYnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJvLWFwcC1zaWRlbmF2LWl0ZW0gby1hcHAtc2lkZW5hdi1tZW51Z3JvdXBcIiBbY2xhc3Mub3BlbmVkXT1cIm1lbnVHcm91cC5vcGVuZWRcIiAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICBbY2xhc3Muby1hcHAtc2lkZW5hdi12aWV3ZXItc2lkZW5hdi1pdGVtLXNlbGVjdGVkXT1cImFjdGl2ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50QnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudEJ1dHRvbj5cbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZpbGw+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpZGVuYXZPcGVuZWRcIj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVHcm91cC5zdmdJY29uXCIgW3N2Z0ljb25dPVwibWVudUdyb3VwLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUdyb3VwLmljb25cIj57eyBtZW51R3JvdXAuaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWdyb3VwLXRpdGxlXCI+e3sgbWVudUdyb3VwLm5hbWUgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmaWxsLXJlbWFpbmluZ1wiPjwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBNZW51U2VydmljZS5pc01lbnVHcm91cFJvdXRlKG1lbnVHcm91cCkgJiYgbWVudUdyb3VwLm9wZW5lZDsgZWxzZSBhcnJvd01lbnVHcm91cFRlbXBsYXRlXCI+XG4gICAgICAgIDxtYXQtaWNvbiBbaWRdPVwiJ2Fycm93X2ljb25fJyArIG1lbnVHcm91cC5pZFwiIGNsYXNzPVwiby1hcHAtc2lkZW5hdi1tZW51Z3JvdXAtYXJyb3dcIiBzdmdJY29uPVwib250aW1pemU6a2V5Ym9hcmRfYXJyb3dfcmlnaHRcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJ0b2dnbGUoJGV2ZW50KVwiPjwvbWF0LWljb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjYXJyb3dNZW51R3JvdXBUZW1wbGF0ZT5cbiAgICAgICAgPG1hdC1pY29uIFtpZF09XCInYXJyb3dfaWNvbl8nICsgbWVudUdyb3VwLmlkXCIgY2xhc3M9XCJvLWFwcC1zaWRlbmF2LW1lbnVncm91cC1hcnJvd1wiIHN2Z0ljb249XCJvbnRpbWl6ZTprZXlib2FyZF9hcnJvd19yaWdodFwiPjwvbWF0LWljb24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2lkZW5hdk9wZW5lZFwiPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUdyb3VwLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJtZW51R3JvdXAuc3ZnSWNvblwiPjwvbWF0LWljb24+IDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVHcm91cC5pY29uXCI+e3sgbWVudUdyb3VwLmljb24gfX08L21hdC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1zaWRlbmF2L21lbnUtZ3JvdXAvby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1zaWRlbmF2L21lbnUtZ3JvdXAvby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFJUixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWxHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVB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QUU7NEJBQzFCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7NEJBQzVDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7NEJBQzdELFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt5QkFDL0QsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixTQUFTLEVBQUUsWUFBWTt3QkFDdkIsaUJBQWlCLEVBQUUsVUFBVTtxQkFDOUI7d0pBbUJELGFBQWEsTUFHYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIsIE51bWJlcklucHV0Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9ycy9pbnB1dC1jb252ZXJ0ZXInO1xuaW1wb3J0IHsgTWVudUdyb3VwLCBNZW51R3JvdXBSb3V0ZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYXBwLW1lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXBwLW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1Blcm1pc3Npb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvby1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IFBlcm1pc3Npb25zVXRpbHMgfSBmcm9tICcuLi8uLi8uLi91dGlsL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0FwcFNpZGVuYXZCYXNlIH0gZnJvbSAnLi4vby1hcHAtc2lkZW5hdi1iYXNlLmNsYXNzJztcbmltcG9ydCB7IE9BcHBMYXlvdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vbGF5b3V0cy9hcHAtbGF5b3V0L28tYXBwLWxheW91dC1iYXNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fQVBQX1NJREVOQVZfTUVOVV9HUk9VUCA9IFtcbiAgJ21lbnVHcm91cCA6IG1lbnUtZ3JvdXAnLFxuICAnc2lkZW5hdk9wZW5lZCA6IHNpZGVuYXYtb3BlbmVkJyxcbiAgJ2xldmVsJ1xuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX01FTlVfR1JPVVAgPSBbXG4gICdvbkl0ZW1DbGljaydcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tYXBwLXNpZGVuYXYtbWVudS1ncm91cCcsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19BUFBfU0lERU5BVl9NRU5VX0dST1VQLFxuICBvdXRwdXRzOiBERUZBVUxUX09VVFBVVFNfT19BUFBfU0lERU5BVl9NRU5VX0dST1VQLFxuICB0ZW1wbGF0ZVVybDogJy4vby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdjb250ZW50RXhwYW5zaW9uJywgW1xuICAgICAgc3RhdGUoJ2NvbGxhcHNlZCcsIHN0eWxlKHsgaGVpZ2h0OiAnMHB4JyB9KSksXG4gICAgICBzdGF0ZSgnZXhwYW5kZWQnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ2NvbGxhcHNlZCA9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzIwMG1zIGVhc2UtaW4nKSksXG4gICAgICB0cmFuc2l0aW9uKCdleHBhbmRlZCA9PiBjb2xsYXBzZWQnLCBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcpKVxuICAgIF0pXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnZ2V0Q2xhc3MoKScsXG4gICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPQXBwU2lkZW5hdk1lbnVHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgb25JdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IE9UcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1NlcnZpY2U7XG5cbiAgcHVibGljIGFwcE1lbnVTZXJ2aWNlOiBBcHBNZW51U2VydmljZTtcbiAgcHVibGljIHNpZGVuYXY6IE9BcHBTaWRlbmF2QmFzZTtcbiAgcHJvdGVjdGVkIHNpZGVuYXZTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJvdGVjdGVkIHBlcm1pc3Npb25zOiBPUGVybWlzc2lvbnM7XG4gIHByb3RlY3RlZCBtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHB1YmxpYyBtZW51R3JvdXA6IChNZW51R3JvdXAgfCBNZW51R3JvdXBSb3V0ZSk7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNpZGVuYXZPcGVuZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBOdW1iZXJJbnB1dENvbnZlcnRlcigpXG4gIGxldmVsOiBudW1iZXIgPSAxO1xuXG4gIGhpZGRlbjogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBfY29udGVudEV4cGFuc2lvbjtcbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuICByb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgYWN0aXZlOiBib29sZWFuO1xuICBvQXBwTGF5b3V0Q29tcG9uZW50OiBPQXBwTGF5b3V0QmFzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBlbFJlZjogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KE9UcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmFwcE1lbnVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQXBwTWVudVNlcnZpY2UpO1xuICAgIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoUGVybWlzc2lvbnNTZXJ2aWNlKTtcbiAgICB0aGlzLnNpZGVuYXYgPSB0aGlzLmluamVjdG9yLmdldChPQXBwU2lkZW5hdkJhc2UpO1xuICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQ8Um91dGVyPihSb3V0ZXIgYXMgVHlwZTxSb3V0ZXI+KTtcbiAgICB0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQgPSB0aGlzLmluamVjdG9yLmdldDxPQXBwTGF5b3V0QmFzZT4oT0FwcExheW91dEJhc2UgYXMgVHlwZTxPQXBwTGF5b3V0QmFzZT4pO1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgdGhpcy5hcHBNZW51U2VydmljZS5pc1JvdXRlSXRlbSh0aGlzLm1lbnVHcm91cCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB0aGlzLmFwcE1lbnVTZXJ2aWNlLmlzSXRlbUFjdGl2ZSh0aGlzLm1lbnVHcm91cCBhcyBNZW51R3JvdXBSb3V0ZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXJzZVBlcm1pc3Npb25zKCk7XG4gIH1cblxuICBnZXQgc2hvdWxkU2hvd1Rvb2x0aXAoKSB7XG4gICAgc3dpdGNoICh0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQudG9vbHRpcERpc3BsYXlNb2RlKSB7XG4gICAgICBjYXNlICdhbHdheXMnOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgJ25ldmVyJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSAnb25seS1jb2xsYXBzZWQnOlxuICAgICAgICByZXR1cm4gIXRoaXMuc2lkZW5hdk9wZW5lZDtcbiAgICAgIGNhc2UgJ29ubHktZXhwYW5kZWQnOlxuICAgICAgICByZXR1cm4gdGhpcy5zaWRlbmF2T3BlbmVkO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5tZW51R3JvdXAuaWQgPT09ICd1c2VyLWluZm8nICYmIHRoaXMuc2lkZW5hdikge1xuICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICB0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24uYWRkKHRoaXMuc2lkZW5hdi5vblNpZGVuYXZPcGVuZWRDaGFuZ2Uuc3Vic2NyaWJlKChvcGVuZWQpID0+IHtcbiAgICAgICAgc2VsZi5kaXNhYmxlZCA9ICgoIW9wZW5lZCAmJiBVdGlsLmlzRGVmaW5lZChvcGVuZWQpKSB8fCAoVXRpbC5pc0RlZmluZWQoc2VsZi5wZXJtaXNzaW9ucykgJiYgc2VsZi5wZXJtaXNzaW9ucyAmJiBzZWxmLnBlcm1pc3Npb25zLmVuYWJsZWQgPT09IGZhbHNlKSk7XG4gICAgICAgIHNlbGYudXBkYXRlQ29udGVudEV4cGFuc2lvbigpO1xuICAgICAgICBzZWxmLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSkpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUNvbnRlbnRFeHBhbnNpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc2lkZW5hdlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJvdXRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VQZXJtaXNzaW9ucygpIHtcbiAgICAvLyBpZiBvYXR0ciBpbiBmb3JtLCBpdCBjYW4gaGF2ZSBwZXJtaXNzaW9uc1xuICAgIHRoaXMucGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5nZXRNZW51UGVybWlzc2lvbnModGhpcy5tZW51R3JvdXAuaWQpO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oaWRkZW4gPSB0aGlzLnBlcm1pc3Npb25zLnZpc2libGUgPT09IGZhbHNlO1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLnBlcm1pc3Npb25zLmVuYWJsZWQgPT09IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IFBlcm1pc3Npb25zVXRpbHMucmVnaXN0ZXJEaXNhYmxlZENoYW5nZXNJbkRvbSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgY2hlY2tTdHJpbmdWYWx1ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBNZW51U2VydmljZS5pc01lbnVHcm91cCh0aGlzLm1lbnVHcm91cCkgfHxcbiAgICAgIHRoaXMuYXBwTWVudVNlcnZpY2UuaXNNZW51R3JvdXBSb3V0ZSh0aGlzLm1lbnVHcm91cCkgJiYgKCF0aGlzLm1lbnVHcm91cC5vcGVuZWQpKSB7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgICB0aGlzLm5hdmlnYXRlKCk7XG4gIH1cblxuICB0b2dnbGUoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICB0aGlzLm1lbnVHcm91cC5vcGVuZWQgPSAhdGhpcy5tZW51R3JvdXAub3BlbmVkO1xuICAgIHRoaXMuYXBwTWVudVNlcnZpY2Uub25DbGljay5uZXh0KCk7XG4gICAgdGhpcy51cGRhdGVDb250ZW50RXhwYW5zaW9uKCk7XG4gIH1cblxuICBuYXZpZ2F0ZSgpIHtcbiAgICBpZiAodGhpcy5hcHBNZW51U2VydmljZS5pc01lbnVHcm91cFJvdXRlKHRoaXMubWVudUdyb3VwKSkge1xuICAgICAgY29uc3Qgcm91dGUgPSAodGhpcy5tZW51R3JvdXAgYXMgTWVudUdyb3VwUm91dGUpLnJvdXRlO1xuICAgICAgaWYgKHRoaXMucm91dGVyLnVybCAhPT0gcm91dGUpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3JvdXRlXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQ29udGVudEV4cGFuc2lvbigpIHtcbiAgICBsZXQgaXNPcGVuZWQgPSB0aGlzLm1lbnVHcm91cCAmJiB0aGlzLm1lbnVHcm91cC5vcGVuZWQ7XG4gICAgaWYgKHRoaXMubWVudUdyb3VwLmlkID09PSAndXNlci1pbmZvJykge1xuICAgICAgaXNPcGVuZWQgPSAodGhpcy5zaWRlbmF2ICYmIHRoaXMuc2lkZW5hdi5zaWRlbmF2ICYmIHRoaXMuc2lkZW5hdi5zaWRlbmF2Lm9wZW5lZCkgJiYgaXNPcGVuZWQ7XG4gICAgfVxuICAgIHRoaXMuY29udGVudEV4cGFuc2lvbiA9IGlzT3BlbmVkID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xuICB9XG5cbiAgZ2V0IGNvbnRlbnRFeHBhbnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEV4cGFuc2lvbjtcbiAgfVxuXG4gIHNldCBjb250ZW50RXhwYW5zaW9uKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29udGVudEV4cGFuc2lvbiA9IHZhbDtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCB0b29sdGlwKCkge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRoaXMubWVudUdyb3VwLm5hbWUpO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLm1lbnVHcm91cC50b29sdGlwKSkge1xuICAgICAgcmVzdWx0ICs9ICc6ICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRoaXMubWVudUdyb3VwLnRvb2x0aXApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgb25NZW51SXRlbUNsaWNrKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KGUpO1xuICB9XG5cbiAgZ2V0Q2xhc3MoKSB7XG4gICAgbGV0IGNsYXNzTmFtZSA9ICdvLWFwcC1zaWRlbmF2LW1lbnUtZ3JvdXAgby1hcHAtc2lkZW5hdi1tZW51LWdyb3VwLWxldmVsLScgKyB0aGlzLmxldmVsO1xuICAgIGlmICh0aGlzLm1lbnVHcm91cC5jbGFzcykge1xuICAgICAgY2xhc3NOYW1lICs9ICcgJyArIHRoaXMubWVudUdyb3VwLmNsYXNzO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZGVuXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGRTaG93VG9vbHRpcDsgZWxzZSBub1Rvb2x0aXBcIj5cbiAgICA8YSBtYXQtYnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJvLWFwcC1zaWRlbmF2LWl0ZW0gby1hcHAtc2lkZW5hdi1tZW51Z3JvdXBcIiBbY2xhc3Mub3BlbmVkXT1cIm1lbnVHcm91cC5vcGVuZWRcIiAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgIFtjbGFzcy5vLWFwcC1zaWRlbmF2LXZpZXdlci1zaWRlbmF2LWl0ZW0tc2VsZWN0ZWRdPVwiYWN0aXZlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnVncm91cC10b29sdGlwXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgW21hdFRvb2x0aXBTaG93RGVsYXldPVwic2lkZW5hdk9wZW5lZD81MDA6MFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRCdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG4gIDwvbmctY29udGFpbmVyPlxuXG5cbiAgPGRpdiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWdyb3VwLWl0ZW1zLWNvbnRhaW5lclwiPlxuICAgIDx1bCBbQGNvbnRlbnRFeHBhbnNpb25dPVwiY29udGVudEV4cGFuc2lvblwiIGNsYXNzPVwiby1hcHAtc2lkZW5hdi1tZW51Z3JvdXAtdWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnVJdGVtIG9mIG1lbnVHcm91cC5pdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwTWVudVNlcnZpY2UuaXNWaXNpYmxlKG1lbnVJdGVtKVwiPlxuICAgICAgICAgIDxvLWFwcC1zaWRlbmF2LW1lbnUtaXRlbSBbc2lkZW5hdi1vcGVuZWRdPVwic2lkZW5hdk9wZW5lZFwiICpuZ0lmPVwiIW1lbnVJdGVtLml0ZW1zOyBlbHNlIG1lbnVHcm91cFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbbWVudS1pdGVtXT1cIm1lbnVJdGVtXCIgW21lbnUtaXRlbS10eXBlXT1cImFwcE1lbnVTZXJ2aWNlLmdldE1lbnVJdGVtVHlwZShtZW51SXRlbSlcIiAob25DbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgIDwvby1hcHAtc2lkZW5hdi1tZW51LWl0ZW0+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNtZW51R3JvdXA+XG4gICAgICAgICAgICA8by1hcHAtc2lkZW5hdi1tZW51LWdyb3VwIFttZW51LWdyb3VwXT1cIm1lbnVJdGVtXCIgW3NpZGVuYXYtb3BlbmVkXT1cInNpZGVuYXZPcGVuZWRcIiBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhcHBNZW51U2VydmljZS5nZXRNZW51SXRlbVR5cGUobWVudUl0ZW0pID09PSAnZ3JvdXAnXCIgKG9uSXRlbUNsaWNrKT1cIm9uTWVudUl0ZW1DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L28tYXBwLXNpZGVuYXYtbWVudS1ncm91cD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbm9Ub29sdGlwPlxuICA8YSBtYXQtYnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJvLWFwcC1zaWRlbmF2LWl0ZW0gby1hcHAtc2lkZW5hdi1tZW51Z3JvdXBcIiBbY2xhc3Mub3BlbmVkXT1cIm1lbnVHcm91cC5vcGVuZWRcIiAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICBbY2xhc3Muby1hcHAtc2lkZW5hdi12aWV3ZXItc2lkZW5hdi1pdGVtLXNlbGVjdGVkXT1cImFjdGl2ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50QnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudEJ1dHRvbj5cbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBmeEZpbGw+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpZGVuYXZPcGVuZWRcIj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVHcm91cC5zdmdJY29uXCIgW3N2Z0ljb25dPVwibWVudUdyb3VwLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUdyb3VwLmljb25cIj57eyBtZW51R3JvdXAuaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWdyb3VwLXRpdGxlXCI+e3sgbWVudUdyb3VwLm5hbWUgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmaWxsLXJlbWFpbmluZ1wiPjwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBNZW51U2VydmljZS5pc01lbnVHcm91cFJvdXRlKG1lbnVHcm91cCkgJiYgbWVudUdyb3VwLm9wZW5lZDsgZWxzZSBhcnJvd01lbnVHcm91cFRlbXBsYXRlXCI+XG4gICAgICAgIDxtYXQtaWNvbiBbaWRdPVwiJ2Fycm93X2ljb25fJyArIG1lbnVHcm91cC5pZFwiIGNsYXNzPVwiby1hcHAtc2lkZW5hdi1tZW51Z3JvdXAtYXJyb3dcIiBzdmdJY29uPVwib250aW1pemU6a2V5Ym9hcmRfYXJyb3dfcmlnaHRcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJ0b2dnbGUoJGV2ZW50KVwiPjwvbWF0LWljb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjYXJyb3dNZW51R3JvdXBUZW1wbGF0ZT5cbiAgICAgICAgPG1hdC1pY29uIFtpZF09XCInYXJyb3dfaWNvbl8nICsgbWVudUdyb3VwLmlkXCIgY2xhc3M9XCJvLWFwcC1zaWRlbmF2LW1lbnVncm91cC1hcnJvd1wiIHN2Z0ljb249XCJvbnRpbWl6ZTprZXlib2FyZF9hcnJvd19yaWdodFwiPjwvbWF0LWljb24+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2lkZW5hdk9wZW5lZFwiPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUdyb3VwLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJtZW51R3JvdXAuc3ZnSWNvblwiPjwvbWF0LWljb24+IDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVHcm91cC5pY29uXCI+e3sgbWVudUdyb3VwLmljb24gfX08L21hdC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -222,8 +222,8 @@ export class OAppSidenavMenuItemComponent {
|
|
|
222
222
|
return className;
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
-
OAppSidenavMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
226
|
-
OAppSidenavMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
225
|
+
OAppSidenavMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppSidenavMenuItemComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
226
|
+
OAppSidenavMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OAppSidenavMenuItemComponent, selector: "o-app-sidenav-menu-item", inputs: { menuItem: ["menu-item", "menuItem"], menuItemType: ["menu-item-type", "menuItemType"], sidenavOpened: ["sidenav-opened", "sidenavOpened"], disabled: "disabled" }, outputs: { onClick: "onClick" }, host: { properties: { "class": "getClass()", "attr.disabled": "disabled" } }, ngImport: i0, template: "<ng-container *ngIf=\"sidenavOpened\">\n <ng-container *ngIf=\"shouldShowTooltip; else noTooltipOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [matTooltip]=\"tooltip\" matTooltipClass=\"menugroup-tooltip\"\n matTooltipPosition=\"right\" matTooltipShowDelay=\"500\" [class.o-user-info]=\"isUserInfoItem()\" [id]=\"menuItem.id\">\n <ng-container *ngTemplateOutlet=\"contentOpened\"></ng-container>\n </li>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"!sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\">\n <ng-container *ngIf=\"shouldShowTooltip; else noTooltipClosed\">\n\n <a [matTooltip]=\"tooltip\" matTooltipClass=\"menuitem-tooltip\" matTooltipPosition=\"right\" mat-button (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </ng-container>\n <ng-template #noTooltipClosed>\n <a mat-button (click)=\"triggerClick($event)\" [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </ng-template>\n </li>\n</ng-container>\n\n<ng-template #noTooltipOpened>\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [class.o-user-info]=\"isUserInfoItem()\" [id]=\"menuItem.id\">\n <ng-container *ngTemplateOutlet=\"contentOpened\"></ng-container>\n </li>\n</ng-template>\n\n<ng-template #contentOpened>\n <a mat-button *ngIf=\"!isUserInfoItem() && !isLocaleItem()\" (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menuitem-title\">{{\n menuItem.name | oTranslate\n }}</span>\n </div>\n </a>\n\n <a mat-button *ngIf=\"isLocaleItem()\" (click)=\"triggerClick($event)\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n {{ menuItem.name | oTranslate }}\n <mat-icon *ngIf=\"isConfiguredLang()\" class=\"configured-lang\">check_circle</mat-icon>\n </div>\n </a>\n\n <div *ngIf=\"isUserInfoItem()\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-user-info-menu-item\">\n <div class=\"o-user-info-image\" fxFlexFill></div>\n <div class=\"o-user-info-item\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFlexFill>\n <div class=\"o-user-info-name\">{{ menuItem.user }}</div>\n <o-language-selector [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n</ng-template>\n", styles: [".o-app-sidenav-menu-item .o-user-info-menu-item{cursor:default}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-image{background-repeat:no-repeat;background-position:center;background-size:cover;width:100%;height:200px!important}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-item{padding:0 8px 0 16px}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-name{text-transform:uppercase;font-weight:600}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.OLanguageSelectorComponent, selector: "o-language-selector", inputs: ["use-flag-icons"], outputs: ["onChange"] }, { kind: "pipe", type: i7.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
227
227
|
__decorate([
|
|
228
228
|
BooleanInputConverter(),
|
|
229
229
|
__metadata("design:type", Boolean)
|
|
@@ -232,11 +232,11 @@ __decorate([
|
|
|
232
232
|
BooleanInputConverter(),
|
|
233
233
|
__metadata("design:type", Boolean)
|
|
234
234
|
], OAppSidenavMenuItemComponent.prototype, "disabled", void 0);
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OAppSidenavMenuItemComponent, decorators: [{
|
|
236
236
|
type: Component,
|
|
237
237
|
args: [{ selector: 'o-app-sidenav-menu-item', inputs: DEFAULT_INPUTS_O_APP_SIDENAV_MENU_ITEM, outputs: DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_ITEM, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
238
238
|
'[class]': 'getClass()',
|
|
239
239
|
'[attr.disabled]': 'disabled'
|
|
240
240
|
}, template: "<ng-container *ngIf=\"sidenavOpened\">\n <ng-container *ngIf=\"shouldShowTooltip; else noTooltipOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [matTooltip]=\"tooltip\" matTooltipClass=\"menugroup-tooltip\"\n matTooltipPosition=\"right\" matTooltipShowDelay=\"500\" [class.o-user-info]=\"isUserInfoItem()\" [id]=\"menuItem.id\">\n <ng-container *ngTemplateOutlet=\"contentOpened\"></ng-container>\n </li>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"!sidenavOpened\">\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\">\n <ng-container *ngIf=\"shouldShowTooltip; else noTooltipClosed\">\n\n <a [matTooltip]=\"tooltip\" matTooltipClass=\"menuitem-tooltip\" matTooltipPosition=\"right\" mat-button (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </ng-container>\n <ng-template #noTooltipClosed>\n <a mat-button (click)=\"triggerClick($event)\" [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n </a>\n </ng-template>\n </li>\n</ng-container>\n\n<ng-template #noTooltipOpened>\n <li *ngIf=\"!hidden\" class=\"o-app-sidenav-menuitem o-app-sidenav-item\" [class.o-user-info]=\"isUserInfoItem()\" [id]=\"menuItem.id\">\n <ng-container *ngTemplateOutlet=\"contentOpened\"></ng-container>\n </li>\n</ng-template>\n\n<ng-template #contentOpened>\n <a mat-button *ngIf=\"!isUserInfoItem() && !isLocaleItem()\" (click)=\"triggerClick($event)\"\n [class.o-app-sidenav-viewer-sidenav-item-selected]=\"active\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n <span class=\"o-app-sidenav-menuitem-title\">{{\n menuItem.name | oTranslate\n }}</span>\n </div>\n </a>\n\n <a mat-button *ngIf=\"isLocaleItem()\" (click)=\"triggerClick($event)\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\">\n <mat-icon *ngIf=\"menuItem.svgIcon\" [svgIcon]=\"menuItem.svgIcon\"></mat-icon>\n <mat-icon *ngIf=\"menuItem.icon\">{{ menuItem.icon }}</mat-icon>\n {{ menuItem.name | oTranslate }}\n <mat-icon *ngIf=\"isConfiguredLang()\" class=\"configured-lang\">check_circle</mat-icon>\n </div>\n </a>\n\n <div *ngIf=\"isUserInfoItem()\" fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"o-user-info-menu-item\">\n <div class=\"o-user-info-image\" fxFlexFill></div>\n <div class=\"o-user-info-item\" fxLayout=\"row\" fxLayoutAlign=\"space-between center\" fxFlexFill>\n <div class=\"o-user-info-name\">{{ menuItem.user }}</div>\n <o-language-selector [use-flag-icons]=\"useFlagIcons\"></o-language-selector>\n </div>\n </div>\n</ng-template>\n", styles: [".o-app-sidenav-menu-item .o-user-info-menu-item{cursor:default}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-image{background-repeat:no-repeat;background-position:center;background-size:cover;width:100%;height:200px!important}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-item{padding:0 8px 0 16px}.o-app-sidenav-menu-item .o-user-info-menu-item .o-user-info-name{text-transform:uppercase;font-weight:600}\n"] }]
|
|
241
241
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { sidenavOpened: [], disabled: [] } });
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtc2lkZW5hdi1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvYXBwLXNpZGVuYXYvbWVudS1pdGVtL28tYXBwLXNpZGVuYXYtbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1zaWRlbmF2L21lbnUtaXRlbS9vLWFwcC1zaWRlbmF2LW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUlSLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFF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LEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUN4QztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7O3lIQW5QVSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwyVkN0RHpDLHlwR0ErREE7QURRRTtJQUFDLHFCQUFxQixFQUFFOzttRUFDTTtBQUM5QjtJQUFDLHFCQUFxQixFQUFFOzs4REFDRTsyRkFwQmYsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNFLHlCQUF5QixVQUMzQixzQ0FBc0MsV0FDckMsdUNBQXVDLGlCQUdqQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLFNBQVMsRUFBRSxZQUFZO3dCQUN2QixpQkFBaUIsRUFBRSxVQUFVO3FCQUM5Qjt3SkFvQkQsYUFBYSxNQUViLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBNZW51SXRlbUFjdGlvbiwgTWVudUl0ZW1Mb2NhbGUsIE1lbnVJdGVtTG9nb3V0LCBNZW51SXRlbVJvdXRlLCBNZW51SXRlbVVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hcHAtbWVudS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHAtbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBPVXNlckluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvby11c2VyLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1Blcm1pc3Npb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvby1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IFBlcm1pc3Npb25zVXRpbHMgfSBmcm9tICcuLi8uLi8uLi91dGlsL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0FwcFNpZGVuYXZCYXNlIH0gZnJvbSAnLi4vby1hcHAtc2lkZW5hdi1iYXNlLmNsYXNzJztcbmltcG9ydCB7IE9BcHBMYXlvdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vbGF5b3V0cy9hcHAtbGF5b3V0L28tYXBwLWxheW91dC1iYXNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fQVBQX1NJREVOQVZfTUVOVV9JVEVNID0gW1xuICAnbWVudUl0ZW0gOiBtZW51LWl0ZW0nLFxuICAnbWVudUl0ZW1UeXBlIDogbWVudS1pdGVtLXR5cGUnLFxuICAnc2lkZW5hdk9wZW5lZCA6IHNpZGVuYXYtb3BlbmVkJyxcbiAgJ2Rpc2FibGVkJ1xuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX01FTlVfSVRFTSA9IFtcbiAgJ29uQ2xpY2snXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWFwcC1zaWRlbmF2LW1lbnUtaXRlbScsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19BUFBfU0lERU5BVl9NRU5VX0lURU0sXG4gIG91dHB1dHM6IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX01FTlVfSVRFTSxcbiAgdGVtcGxhdGVVcmw6ICcuL28tYXBwLXNpZGVuYXYtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby1hcHAtc2lkZW5hdi1tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzXSc6ICdnZXRDbGFzcygpJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9BcHBTaWRlbmF2TWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IE9UcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZTtcbiAgcHJvdGVjdGVkIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnNTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgb1VzZXJJbmZvU2VydmljZTogT1VzZXJJbmZvU2VydmljZTtcbiAgcHJvdGVjdGVkIGFwcE1lbnVTZXJ2aWNlOiBBcHBNZW51U2VydmljZTtcbiAgcHJvdGVjdGVkIHVzZXJJbmZvU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJvdGVjdGVkIHNpZGVuYXY6IE9BcHBTaWRlbmF2QmFzZTtcbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gIG1lbnVJdGVtOiBhbnk7IC8vIFRPRE8gTWVudVJvb3RJdGVtO1xuICBtZW51SXRlbVR5cGU6IHN0cmluZztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNpZGVuYXZPcGVuZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYXBwU2lkZW5hdlRvZ2dsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcm90ZWN0ZWQgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByb3RlY3RlZCBvQXBwTGF5b3V0Q29tcG9uZW50OiBPQXBwTGF5b3V0QmFzZTtcblxuICBwcm90ZWN0ZWQgcGVybWlzc2lvbnM6IE9QZXJtaXNzaW9ucztcbiAgcHJvdGVjdGVkIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgaGlkZGVuOiBib29sZWFuO1xuICBhY3RpdmU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxPVHJhbnNsYXRlU2VydmljZT4oT1RyYW5zbGF0ZVNlcnZpY2UgYXMgVHlwZTxPVHJhbnNsYXRlU2VydmljZT4pO1xuICAgIHRoaXMuYXV0aFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxBdXRoU2VydmljZT4oQXV0aFNlcnZpY2UgYXMgVHlwZTxBdXRoU2VydmljZT4pO1xuICAgIHRoaXMuZGlhbG9nU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PERpYWxvZ1NlcnZpY2U+KERpYWxvZ1NlcnZpY2UgYXMgVHlwZTxEaWFsb2dTZXJ2aWNlPik7XG4gICAgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxQZXJtaXNzaW9uc1NlcnZpY2U+KFBlcm1pc3Npb25zU2VydmljZSBhcyBUeXBlPFBlcm1pc3Npb25zU2VydmljZT4pO1xuICAgIHRoaXMub1VzZXJJbmZvU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PE9Vc2VySW5mb1NlcnZpY2U+KE9Vc2VySW5mb1NlcnZpY2UgYXMgVHlwZTxPVXNlckluZm9TZXJ2aWNlPik7XG4gICAgdGhpcy5zaWRlbmF2ID0gdGhpcy5pbmplY3Rvci5nZXQ8T0FwcFNpZGVuYXZCYXNlPihPQXBwU2lkZW5hdkJhc2UgYXMgVHlwZTxPQXBwU2lkZW5hdkJhc2U+KTtcbiAgICB0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQgPSB0aGlzLmluamVjdG9yLmdldDxPQXBwTGF5b3V0QmFzZT4oT0FwcExheW91dEJhc2UgYXMgVHlwZTxPQXBwTGF5b3V0QmFzZT4pO1xuICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQ8Um91dGVyPihSb3V0ZXIgYXMgVHlwZTxSb3V0ZXI+KTtcbiAgICB0aGlzLmFwcE1lbnVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8QXBwTWVudVNlcnZpY2U+KEFwcE1lbnVTZXJ2aWNlIGFzIFR5cGU8QXBwTWVudVNlcnZpY2U+KTtcblxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgdGhpcy5hcHBNZW51U2VydmljZS5pc1JvdXRlSXRlbSh0aGlzLm1lbnVJdGVtKSkge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuYXBwTWVudVNlcnZpY2UuaXNJdGVtQWN0aXZlKHRoaXMubWVudUl0ZW0gYXMgTWVudUl0ZW1Sb3V0ZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXJzZVBlcm1pc3Npb25zKCk7XG4gICAgdGhpcy5hY3RpdmUgPSB0aGlzLmFwcE1lbnVTZXJ2aWNlLmlzSXRlbUFjdGl2ZSh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtUm91dGUpO1xuICB9XG5cbiAgZ2V0IHNob3VsZFNob3dUb29sdGlwKCkge1xuICAgIHN3aXRjaCAodGhpcy5vQXBwTGF5b3V0Q29tcG9uZW50LnRvb2x0aXBEaXNwbGF5TW9kZSkge1xuICAgICAgY2FzZSAnYWx3YXlzJzpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlICduZXZlcic6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGNhc2UgJ29ubHktY29sbGFwc2VkJzpcbiAgICAgICAgcmV0dXJuICF0aGlzLnNpZGVuYXZPcGVuZWQ7XG4gICAgICBjYXNlICdvbmx5LWV4cGFuZGVkJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZW5hdk9wZW5lZDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNVc2VySW5mb0l0ZW0oKSAmJiB0aGlzLnNpZGVuYXYpIHtcbiAgICAgIHRoaXMuc2V0VXNlckluZm9JbWFnZSgpO1xuICAgICAgdGhpcy5hcHBTaWRlbmF2VG9nZ2xlU3Vic2NyaXB0aW9uLmFkZCh0aGlzLnNpZGVuYXYub25TaWRlbmF2T3BlbmVkQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNpZGVuYXYuc2lkZW5hdi5vcGVuZWQpIHtcbiAgICAgICAgICB0aGlzLnNldFVzZXJJbmZvSW1hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgICAgdGhpcy51c2VySW5mb1N1YnNjcmlwdGlvbiA9IHRoaXMub1VzZXJJbmZvU2VydmljZS5nZXRVc2VySW5mb09ic2VydmFibGUoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKHJlcy5hdmF0YXIpICYmIHRoaXMuc2lkZW5hdi5zaWRlbmF2Lm9wZW5lZCkge1xuICAgICAgICAgICh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtVXNlckluZm8pLmF2YXRhciA9IHJlcy5hdmF0YXI7XG4gICAgICAgICAgdGhpcy5zZXRVc2VySW5mb0ltYWdlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFwcFNpZGVuYXZUb2dnbGVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuYXBwU2lkZW5hdlRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZXJJbmZvU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnVzZXJJbmZvU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlUGVybWlzc2lvbnMoKSB7XG4gICAgLy8gaWYgb2F0dHIgaW4gZm9ybSwgaXQgY2FuIGhhdmUgcGVybWlzc2lvbnNcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuZ2V0TWVudVBlcm1pc3Npb25zKHRoaXMubWVudUl0ZW0uaWQpO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oaWRkZW4gPSB0aGlzLnBlcm1pc3Npb25zLnZpc2libGUgPT09IGZhbHNlO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgLy8gaWYgdGhlIGRpc2FibGVkIGlucHV0IGlzIHRydWUgaXQgbWVhbnMgdGhhdCBpdHMgcGFyZW50IGlzIGRpc2FibGVkIHVzaW5nIHBlcm1pc3Npb25zXG4gICAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5wZXJtaXNzaW9ucy5lbmFibGVkID09PSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gUGVybWlzc2lvbnNVdGlscy5yZWdpc3RlckRpc2FibGVkQ2hhbmdlc0luRG9tKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBjaGVja1N0cmluZ1ZhbHVlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlckluZm9JbWFnZSgpIHtcbiAgICBjb25zdCBpbWdFbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdvLXVzZXItaW5mby1pbWFnZScpWzBdO1xuICAgIGlmIChpbWdFbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5tZW51SXRlbSBhcyBNZW51SXRlbVVzZXJJbmZvO1xuICAgICAgaW1nRWwuc2V0QXR0cmlidXRlKCdzdHlsZScsICdiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFwnJyArIGl0ZW0uYXZhdGFyICsgJ1xcJyknKTtcbiAgICB9XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBleGVjdXRlSXRlbUFjdGlvbigpIHtcbiAgICBjb25zdCBhY3Rpb25JdGVtID0gKHRoaXMubWVudUl0ZW0gYXMgTWVudUl0ZW1BY3Rpb24pO1xuICAgIGlmIChVdGlsLnBhcnNlQm9vbGVhbihhY3Rpb25JdGVtLmNvbmZpcm0sIGZhbHNlKSkge1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0NPTkZJUk0nLCBhY3Rpb25JdGVtLmNvbmZpcm1UZXh0IHx8ICdNRVNTQUdFUy5DT05GSVJNX0FDVElPTicpLnRoZW4ocmVzdWx0ID0+IHJlc3VsdCA/IGFjdGlvbkl0ZW0uYWN0aW9uKCkgOiBudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWN0aW9uSXRlbS5hY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBjb25maWd1cmVJMThuKCkge1xuICAgIGNvbnN0IGxvY2FsZUl0ZW0gPSAodGhpcy5tZW51SXRlbSBhcyBNZW51SXRlbUxvY2FsZSk7XG4gICAgaWYgKHRoaXMuaXNDb25maWd1cmVkTGFuZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxlSXRlbS5sb2NhbGUpO1xuICAgIH1cbiAgfVxuXG4gIGlzQ29uZmlndXJlZExhbmcoKSB7XG4gICAgY29uc3QgbG9jYWxlSXRlbSA9ICh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtTG9jYWxlKTtcbiAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gKHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRDdXJyZW50TGFuZygpID09PSBsb2NhbGVJdGVtLmxvY2FsZSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9ICh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtTG9nb3V0KTtcbiAgICBpZiAoVXRpbC5wYXJzZUJvb2xlYW4obWVudUl0ZW0uY29uZmlybSwgdHJ1ZSkpIHtcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0V2l0aENvbmZpcm1hdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlKCkge1xuICAgIGNvbnN0IHJvdXRlID0gKHRoaXMubWVudUl0ZW0gYXMgTWVudUl0ZW1Sb3V0ZSkucm91dGU7XG4gICAgaWYgKHRoaXMucm91dGVyLnVybCAhPT0gcm91dGUpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyb3V0ZV0pO1xuICAgIH1cbiAgfVxuXG4gIHRyaWdnZXJDbGljayhlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYXBwTWVudVNlcnZpY2Uub25DbGljay5uZXh0KCk7XG5cbiAgICBzd2l0Y2ggKHRoaXMubWVudUl0ZW1UeXBlKSB7XG4gICAgICBjYXNlICdhY3Rpb24nOlxuICAgICAgICB0aGlzLmV4ZWN1dGVJdGVtQWN0aW9uKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbG9jYWxlJzpcbiAgICAgICAgdGhpcy5jb25maWd1cmVJMThuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbG9nb3V0JzpcbiAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAodGhpcy5hcHBNZW51U2VydmljZS5pc1JvdXRlSXRlbSh0aGlzLm1lbnVJdGVtKSkge1xuICAgICAgICAgIHRoaXMubmF2aWdhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZSk7XG4gIH1cblxuXG5cbiAgaXNBY3Rpb25JdGVtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVJdGVtVHlwZSA9PT0gJ2FjdGlvbic7XG4gIH1cblxuICBpc0xvY2FsZUl0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1UeXBlID09PSAnbG9jYWxlJztcbiAgfVxuXG4gIGlzTG9nb3V0SXRlbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbVR5cGUgPT09ICdsb2dvdXQnO1xuICB9XG5cbiAgaXNVc2VySW5mb0l0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1UeXBlID09PSAndXNlci1pbmZvJztcbiAgfVxuXG4gIGlzRGVmYXVsdEl0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1UeXBlID09PSAnZGVmYXVsdCc7XG4gIH1cblxuICBnZXQgdXNlRmxhZ0ljb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQgJiYgdGhpcy5vQXBwTGF5b3V0Q29tcG9uZW50LnVzZUZsYWdJY29ucztcbiAgfVxuXG4gIGdldCB0b29sdGlwKCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodGhpcy5tZW51SXRlbS5uYW1lKTtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5tZW51SXRlbS50b29sdGlwKSkge1xuICAgICAgcmVzdWx0ICs9ICc6ICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRoaXMubWVudUl0ZW0udG9vbHRpcCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRDbGFzcygpIHtcbiAgICBsZXQgY2xhc3NOYW1lID0gJ28tYXBwLXNpZGVuYXYtbWVudS1pdGVtJztcbiAgICBpZiAodGhpcy5tZW51SXRlbS5jbGFzcykge1xuICAgICAgY2xhc3NOYW1lICs9ICcgJyArIHRoaXMubWVudUl0ZW0uY2xhc3M7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpZGVuYXZPcGVuZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3VsZFNob3dUb29sdGlwOyBlbHNlIG5vVG9vbHRpcE9wZW5lZFwiPlxuICAgIDxsaSAqbmdJZj1cIiFoaWRkZW5cIiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWl0ZW0gby1hcHAtc2lkZW5hdi1pdGVtXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnVncm91cC10b29sdGlwXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFtjbGFzcy5vLXVzZXItaW5mb109XCJpc1VzZXJJbmZvSXRlbSgpXCIgW2lkXT1cIm1lbnVJdGVtLmlkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wZW5lZFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbGk+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhc2lkZW5hdk9wZW5lZFwiPlxuICA8bGkgKm5nSWY9XCIhaGlkZGVuXCIgY2xhc3M9XCJvLWFwcC1zaWRlbmF2LW1lbnVpdGVtIG8tYXBwLXNpZGVuYXYtaXRlbVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGRTaG93VG9vbHRpcDsgZWxzZSBub1Rvb2x0aXBDbG9zZWRcIj5cblxuICAgICAgPGEgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnVpdGVtLXRvb2x0aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiIG1hdC1idXR0b24gKGNsaWNrKT1cInRyaWdnZXJDbGljaygkZXZlbnQpXCJcbiAgICAgICAgW2NsYXNzLm8tYXBwLXNpZGVuYXYtdmlld2VyLXNpZGVuYXYtaXRlbS1zZWxlY3RlZF09XCJhY3RpdmVcIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUl0ZW0uc3ZnSWNvblwiIFtzdmdJY29uXT1cIm1lbnVJdGVtLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJtZW51SXRlbS5pY29uXCI+e3sgbWVudUl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNub1Rvb2x0aXBDbG9zZWQ+XG4gICAgICA8YSBtYXQtYnV0dG9uIChjbGljayk9XCJ0cmlnZ2VyQ2xpY2soJGV2ZW50KVwiIFtjbGFzcy5vLWFwcC1zaWRlbmF2LXZpZXdlci1zaWRlbmF2LWl0ZW0tc2VsZWN0ZWRdPVwiYWN0aXZlXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVJdGVtLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJtZW51SXRlbS5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUl0ZW0uaWNvblwiPnt7IG1lbnVJdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNub1Rvb2x0aXBPcGVuZWQ+XG4gIDxsaSAqbmdJZj1cIiFoaWRkZW5cIiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWl0ZW0gby1hcHAtc2lkZW5hdi1pdGVtXCIgW2NsYXNzLm8tdXNlci1pbmZvXT1cImlzVXNlckluZm9JdGVtKClcIiBbaWRdPVwibWVudUl0ZW0uaWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wZW5lZFwiPjwvbmctY29udGFpbmVyPlxuICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50T3BlbmVkPlxuICA8YSBtYXQtYnV0dG9uICpuZ0lmPVwiIWlzVXNlckluZm9JdGVtKCkgJiYgIWlzTG9jYWxlSXRlbSgpXCIgKGNsaWNrKT1cInRyaWdnZXJDbGljaygkZXZlbnQpXCJcbiAgICBbY2xhc3Muby1hcHAtc2lkZW5hdi12aWV3ZXItc2lkZW5hdi1pdGVtLXNlbGVjdGVkXT1cImFjdGl2ZVwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJtZW51SXRlbS5zdmdJY29uXCIgW3N2Z0ljb25dPVwibWVudUl0ZW0uc3ZnSWNvblwiPjwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJtZW51SXRlbS5pY29uXCI+e3sgbWVudUl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWl0ZW0tdGl0bGVcIj57e1xuICAgICAgICBtZW51SXRlbS5uYW1lIHwgb1RyYW5zbGF0ZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9hPlxuXG4gIDxhIG1hdC1idXR0b24gKm5nSWY9XCJpc0xvY2FsZUl0ZW0oKVwiIChjbGljayk9XCJ0cmlnZ2VyQ2xpY2soJGV2ZW50KVwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVJdGVtLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJtZW51SXRlbS5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVJdGVtLmljb25cIj57eyBtZW51SXRlbS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgIHt7IG1lbnVJdGVtLm5hbWUgfCBvVHJhbnNsYXRlIH19XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJpc0NvbmZpZ3VyZWRMYW5nKClcIiBjbGFzcz1cImNvbmZpZ3VyZWQtbGFuZ1wiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gIDwvYT5cblxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VySW5mb0l0ZW0oKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm8tdXNlci1pbmZvLW1lbnUtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXVzZXItaW5mby1pbWFnZVwiIGZ4RmxleEZpbGw+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tdXNlci1pbmZvLWl0ZW1cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiIGZ4RmxleEZpbGw+XG4gICAgICA8ZGl2IGNsYXNzPVwiby11c2VyLWluZm8tbmFtZVwiPnt7IG1lbnVJdGVtLnVzZXIgfX08L2Rpdj5cbiAgICAgIDxvLWxhbmd1YWdlLXNlbGVjdG9yIFt1c2UtZmxhZy1pY29uc109XCJ1c2VGbGFnSWNvbnNcIj48L28tbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hcHAtc2lkZW5hdi1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvYXBwLXNpZGVuYXYvbWVudS1pdGVtL28tYXBwLXNpZGVuYXYtbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1zaWRlbmF2L21lbnUtaXRlbS9vLWFwcC1zaWRlbmF2LW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUlSLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFF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LEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUN4QztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OzBIQW5QVSw0QkFBNEI7OEdBQTVCLDRCQUE0QiwyVkN0RHpDLHlwR0ErREE7QURRRTtJQUFDLHFCQUFxQixFQUFFOzttRUFDTTtBQUM5QjtJQUFDLHFCQUFxQixFQUFFOzs4REFDRTs0RkFwQmYsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNFLHlCQUF5QixVQUMzQixzQ0FBc0MsV0FDckMsdUNBQXVDLGlCQUdqQyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLFNBQVMsRUFBRSxZQUFZO3dCQUN2QixpQkFBaUIsRUFBRSxVQUFVO3FCQUM5Qjt3SkFvQkQsYUFBYSxNQUViLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBNZW51SXRlbUFjdGlvbiwgTWVudUl0ZW1Mb2NhbGUsIE1lbnVJdGVtTG9nb3V0LCBNZW51SXRlbVJvdXRlLCBNZW51SXRlbVVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hcHAtbWVudS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHAtbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBPVXNlckluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvby11c2VyLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT1Blcm1pc3Npb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvby1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IFBlcm1pc3Npb25zVXRpbHMgfSBmcm9tICcuLi8uLi8uLi91dGlsL3Blcm1pc3Npb25zJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0FwcFNpZGVuYXZCYXNlIH0gZnJvbSAnLi4vby1hcHAtc2lkZW5hdi1iYXNlLmNsYXNzJztcbmltcG9ydCB7IE9BcHBMYXlvdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vbGF5b3V0cy9hcHAtbGF5b3V0L28tYXBwLWxheW91dC1iYXNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fQVBQX1NJREVOQVZfTUVOVV9JVEVNID0gW1xuICAnbWVudUl0ZW0gOiBtZW51LWl0ZW0nLFxuICAnbWVudUl0ZW1UeXBlIDogbWVudS1pdGVtLXR5cGUnLFxuICAnc2lkZW5hdk9wZW5lZCA6IHNpZGVuYXYtb3BlbmVkJyxcbiAgJ2Rpc2FibGVkJ1xuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX01FTlVfSVRFTSA9IFtcbiAgJ29uQ2xpY2snXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWFwcC1zaWRlbmF2LW1lbnUtaXRlbScsXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19BUFBfU0lERU5BVl9NRU5VX0lURU0sXG4gIG91dHB1dHM6IERFRkFVTFRfT1VUUFVUU19PX0FQUF9TSURFTkFWX01FTlVfSVRFTSxcbiAgdGVtcGxhdGVVcmw6ICcuL28tYXBwLXNpZGVuYXYtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby1hcHAtc2lkZW5hdi1tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzXSc6ICdnZXRDbGFzcygpJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9BcHBTaWRlbmF2TWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IE9UcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZTtcbiAgcHJvdGVjdGVkIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnNTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgb1VzZXJJbmZvU2VydmljZTogT1VzZXJJbmZvU2VydmljZTtcbiAgcHJvdGVjdGVkIGFwcE1lbnVTZXJ2aWNlOiBBcHBNZW51U2VydmljZTtcbiAgcHJvdGVjdGVkIHVzZXJJbmZvU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJvdGVjdGVkIHNpZGVuYXY6IE9BcHBTaWRlbmF2QmFzZTtcbiAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuXG4gIG1lbnVJdGVtOiBhbnk7IC8vIFRPRE8gTWVudVJvb3RJdGVtO1xuICBtZW51SXRlbVR5cGU6IHN0cmluZztcbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHNpZGVuYXZPcGVuZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYXBwU2lkZW5hdlRvZ2dsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcm90ZWN0ZWQgcm91dGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByb3RlY3RlZCBvQXBwTGF5b3V0Q29tcG9uZW50OiBPQXBwTGF5b3V0QmFzZTtcblxuICBwcm90ZWN0ZWQgcGVybWlzc2lvbnM6IE9QZXJtaXNzaW9ucztcbiAgcHJvdGVjdGVkIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgaGlkZGVuOiBib29sZWFuO1xuICBhY3RpdmU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxPVHJhbnNsYXRlU2VydmljZT4oT1RyYW5zbGF0ZVNlcnZpY2UgYXMgVHlwZTxPVHJhbnNsYXRlU2VydmljZT4pO1xuICAgIHRoaXMuYXV0aFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxBdXRoU2VydmljZT4oQXV0aFNlcnZpY2UgYXMgVHlwZTxBdXRoU2VydmljZT4pO1xuICAgIHRoaXMuZGlhbG9nU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PERpYWxvZ1NlcnZpY2U+KERpYWxvZ1NlcnZpY2UgYXMgVHlwZTxEaWFsb2dTZXJ2aWNlPik7XG4gICAgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxQZXJtaXNzaW9uc1NlcnZpY2U+KFBlcm1pc3Npb25zU2VydmljZSBhcyBUeXBlPFBlcm1pc3Npb25zU2VydmljZT4pO1xuICAgIHRoaXMub1VzZXJJbmZvU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PE9Vc2VySW5mb1NlcnZpY2U+KE9Vc2VySW5mb1NlcnZpY2UgYXMgVHlwZTxPVXNlckluZm9TZXJ2aWNlPik7XG4gICAgdGhpcy5zaWRlbmF2ID0gdGhpcy5pbmplY3Rvci5nZXQ8T0FwcFNpZGVuYXZCYXNlPihPQXBwU2lkZW5hdkJhc2UgYXMgVHlwZTxPQXBwU2lkZW5hdkJhc2U+KTtcbiAgICB0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQgPSB0aGlzLmluamVjdG9yLmdldDxPQXBwTGF5b3V0QmFzZT4oT0FwcExheW91dEJhc2UgYXMgVHlwZTxPQXBwTGF5b3V0QmFzZT4pO1xuICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQ8Um91dGVyPihSb3V0ZXIgYXMgVHlwZTxSb3V0ZXI+KTtcbiAgICB0aGlzLmFwcE1lbnVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8QXBwTWVudVNlcnZpY2U+KEFwcE1lbnVTZXJ2aWNlIGFzIFR5cGU8QXBwTWVudVNlcnZpY2U+KTtcblxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgdGhpcy5hcHBNZW51U2VydmljZS5pc1JvdXRlSXRlbSh0aGlzLm1lbnVJdGVtKSkge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuYXBwTWVudVNlcnZpY2UuaXNJdGVtQWN0aXZlKHRoaXMubWVudUl0ZW0gYXMgTWVudUl0ZW1Sb3V0ZSk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXJzZVBlcm1pc3Npb25zKCk7XG4gICAgdGhpcy5hY3RpdmUgPSB0aGlzLmFwcE1lbnVTZXJ2aWNlLmlzSXRlbUFjdGl2ZSh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtUm91dGUpO1xuICB9XG5cbiAgZ2V0IHNob3VsZFNob3dUb29sdGlwKCkge1xuICAgIHN3aXRjaCAodGhpcy5vQXBwTGF5b3V0Q29tcG9uZW50LnRvb2x0aXBEaXNwbGF5TW9kZSkge1xuICAgICAgY2FzZSAnYWx3YXlzJzpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlICduZXZlcic6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIGNhc2UgJ29ubHktY29sbGFwc2VkJzpcbiAgICAgICAgcmV0dXJuICF0aGlzLnNpZGVuYXZPcGVuZWQ7XG4gICAgICBjYXNlICdvbmx5LWV4cGFuZGVkJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZW5hdk9wZW5lZDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNVc2VySW5mb0l0ZW0oKSAmJiB0aGlzLnNpZGVuYXYpIHtcbiAgICAgIHRoaXMuc2V0VXNlckluZm9JbWFnZSgpO1xuICAgICAgdGhpcy5hcHBTaWRlbmF2VG9nZ2xlU3Vic2NyaXB0aW9uLmFkZCh0aGlzLnNpZGVuYXYub25TaWRlbmF2T3BlbmVkQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNpZGVuYXYuc2lkZW5hdi5vcGVuZWQpIHtcbiAgICAgICAgICB0aGlzLnNldFVzZXJJbmZvSW1hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgICAgdGhpcy51c2VySW5mb1N1YnNjcmlwdGlvbiA9IHRoaXMub1VzZXJJbmZvU2VydmljZS5nZXRVc2VySW5mb09ic2VydmFibGUoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKHJlcy5hdmF0YXIpICYmIHRoaXMuc2lkZW5hdi5zaWRlbmF2Lm9wZW5lZCkge1xuICAgICAgICAgICh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtVXNlckluZm8pLmF2YXRhciA9IHJlcy5hdmF0YXI7XG4gICAgICAgICAgdGhpcy5zZXRVc2VySW5mb0ltYWdlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFwcFNpZGVuYXZUb2dnbGVTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuYXBwU2lkZW5hdlRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZXJJbmZvU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnVzZXJJbmZvU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlUGVybWlzc2lvbnMoKSB7XG4gICAgLy8gaWYgb2F0dHIgaW4gZm9ybSwgaXQgY2FuIGhhdmUgcGVybWlzc2lvbnNcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuZ2V0TWVudVBlcm1pc3Npb25zKHRoaXMubWVudUl0ZW0uaWQpO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oaWRkZW4gPSB0aGlzLnBlcm1pc3Npb25zLnZpc2libGUgPT09IGZhbHNlO1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgLy8gaWYgdGhlIGRpc2FibGVkIGlucHV0IGlzIHRydWUgaXQgbWVhbnMgdGhhdCBpdHMgcGFyZW50IGlzIGRpc2FibGVkIHVzaW5nIHBlcm1pc3Npb25zXG4gICAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5wZXJtaXNzaW9ucy5lbmFibGVkID09PSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyID0gUGVybWlzc2lvbnNVdGlscy5yZWdpc3RlckRpc2FibGVkQ2hhbmdlc0luRG9tKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICBjaGVja1N0cmluZ1ZhbHVlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXNlckluZm9JbWFnZSgpIHtcbiAgICBjb25zdCBpbWdFbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdvLXVzZXItaW5mby1pbWFnZScpWzBdO1xuICAgIGlmIChpbWdFbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5tZW51SXRlbSBhcyBNZW51SXRlbVVzZXJJbmZvO1xuICAgICAgaW1nRWwuc2V0QXR0cmlidXRlKCdzdHlsZScsICdiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFwnJyArIGl0ZW0uYXZhdGFyICsgJ1xcJyknKTtcbiAgICB9XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBleGVjdXRlSXRlbUFjdGlvbigpIHtcbiAgICBjb25zdCBhY3Rpb25JdGVtID0gKHRoaXMubWVudUl0ZW0gYXMgTWVudUl0ZW1BY3Rpb24pO1xuICAgIGlmIChVdGlsLnBhcnNlQm9vbGVhbihhY3Rpb25JdGVtLmNvbmZpcm0sIGZhbHNlKSkge1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0NPTkZJUk0nLCBhY3Rpb25JdGVtLmNvbmZpcm1UZXh0IHx8ICdNRVNTQUdFUy5DT05GSVJNX0FDVElPTicpLnRoZW4ocmVzdWx0ID0+IHJlc3VsdCA/IGFjdGlvbkl0ZW0uYWN0aW9uKCkgOiBudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWN0aW9uSXRlbS5hY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBjb25maWd1cmVJMThuKCkge1xuICAgIGNvbnN0IGxvY2FsZUl0ZW0gPSAodGhpcy5tZW51SXRlbSBhcyBNZW51SXRlbUxvY2FsZSk7XG4gICAgaWYgKHRoaXMuaXNDb25maWd1cmVkTGFuZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxlSXRlbS5sb2NhbGUpO1xuICAgIH1cbiAgfVxuXG4gIGlzQ29uZmlndXJlZExhbmcoKSB7XG4gICAgY29uc3QgbG9jYWxlSXRlbSA9ICh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtTG9jYWxlKTtcbiAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gKHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRDdXJyZW50TGFuZygpID09PSBsb2NhbGVJdGVtLmxvY2FsZSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICBjb25zdCBtZW51SXRlbSA9ICh0aGlzLm1lbnVJdGVtIGFzIE1lbnVJdGVtTG9nb3V0KTtcbiAgICBpZiAoVXRpbC5wYXJzZUJvb2xlYW4obWVudUl0ZW0uY29uZmlybSwgdHJ1ZSkpIHtcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0V2l0aENvbmZpcm1hdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlKCkge1xuICAgIGNvbnN0IHJvdXRlID0gKHRoaXMubWVudUl0ZW0gYXMgTWVudUl0ZW1Sb3V0ZSkucm91dGU7XG4gICAgaWYgKHRoaXMucm91dGVyLnVybCAhPT0gcm91dGUpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtyb3V0ZV0pO1xuICAgIH1cbiAgfVxuXG4gIHRyaWdnZXJDbGljayhlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYXBwTWVudVNlcnZpY2Uub25DbGljay5uZXh0KCk7XG5cbiAgICBzd2l0Y2ggKHRoaXMubWVudUl0ZW1UeXBlKSB7XG4gICAgICBjYXNlICdhY3Rpb24nOlxuICAgICAgICB0aGlzLmV4ZWN1dGVJdGVtQWN0aW9uKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbG9jYWxlJzpcbiAgICAgICAgdGhpcy5jb25maWd1cmVJMThuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbG9nb3V0JzpcbiAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAodGhpcy5hcHBNZW51U2VydmljZS5pc1JvdXRlSXRlbSh0aGlzLm1lbnVJdGVtKSkge1xuICAgICAgICAgIHRoaXMubmF2aWdhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZSk7XG4gIH1cblxuXG5cbiAgaXNBY3Rpb25JdGVtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVJdGVtVHlwZSA9PT0gJ2FjdGlvbic7XG4gIH1cblxuICBpc0xvY2FsZUl0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1UeXBlID09PSAnbG9jYWxlJztcbiAgfVxuXG4gIGlzTG9nb3V0SXRlbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZW51SXRlbVR5cGUgPT09ICdsb2dvdXQnO1xuICB9XG5cbiAgaXNVc2VySW5mb0l0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1UeXBlID09PSAndXNlci1pbmZvJztcbiAgfVxuXG4gIGlzRGVmYXVsdEl0ZW0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUl0ZW1UeXBlID09PSAnZGVmYXVsdCc7XG4gIH1cblxuICBnZXQgdXNlRmxhZ0ljb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9BcHBMYXlvdXRDb21wb25lbnQgJiYgdGhpcy5vQXBwTGF5b3V0Q29tcG9uZW50LnVzZUZsYWdJY29ucztcbiAgfVxuXG4gIGdldCB0b29sdGlwKCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodGhpcy5tZW51SXRlbS5uYW1lKTtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5tZW51SXRlbS50b29sdGlwKSkge1xuICAgICAgcmVzdWx0ICs9ICc6ICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KHRoaXMubWVudUl0ZW0udG9vbHRpcCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXRDbGFzcygpIHtcbiAgICBsZXQgY2xhc3NOYW1lID0gJ28tYXBwLXNpZGVuYXYtbWVudS1pdGVtJztcbiAgICBpZiAodGhpcy5tZW51SXRlbS5jbGFzcykge1xuICAgICAgY2xhc3NOYW1lICs9ICcgJyArIHRoaXMubWVudUl0ZW0uY2xhc3M7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNpZGVuYXZPcGVuZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3VsZFNob3dUb29sdGlwOyBlbHNlIG5vVG9vbHRpcE9wZW5lZFwiPlxuICAgIDxsaSAqbmdJZj1cIiFoaWRkZW5cIiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWl0ZW0gby1hcHAtc2lkZW5hdi1pdGVtXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnVncm91cC10b29sdGlwXCJcbiAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFtjbGFzcy5vLXVzZXItaW5mb109XCJpc1VzZXJJbmZvSXRlbSgpXCIgW2lkXT1cIm1lbnVJdGVtLmlkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wZW5lZFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbGk+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhc2lkZW5hdk9wZW5lZFwiPlxuICA8bGkgKm5nSWY9XCIhaGlkZGVuXCIgY2xhc3M9XCJvLWFwcC1zaWRlbmF2LW1lbnVpdGVtIG8tYXBwLXNpZGVuYXYtaXRlbVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGRTaG93VG9vbHRpcDsgZWxzZSBub1Rvb2x0aXBDbG9zZWRcIj5cblxuICAgICAgPGEgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIG1hdFRvb2x0aXBDbGFzcz1cIm1lbnVpdGVtLXRvb2x0aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiIG1hdC1idXR0b24gKGNsaWNrKT1cInRyaWdnZXJDbGljaygkZXZlbnQpXCJcbiAgICAgICAgW2NsYXNzLm8tYXBwLXNpZGVuYXYtdmlld2VyLXNpZGVuYXYtaXRlbS1zZWxlY3RlZF09XCJhY3RpdmVcIj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUl0ZW0uc3ZnSWNvblwiIFtzdmdJY29uXT1cIm1lbnVJdGVtLnN2Z0ljb25cIj48L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJtZW51SXRlbS5pY29uXCI+e3sgbWVudUl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNub1Rvb2x0aXBDbG9zZWQ+XG4gICAgICA8YSBtYXQtYnV0dG9uIChjbGljayk9XCJ0cmlnZ2VyQ2xpY2soJGV2ZW50KVwiIFtjbGFzcy5vLWFwcC1zaWRlbmF2LXZpZXdlci1zaWRlbmF2LWl0ZW0tc2VsZWN0ZWRdPVwiYWN0aXZlXCI+XG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVJdGVtLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJtZW51SXRlbS5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwibWVudUl0ZW0uaWNvblwiPnt7IG1lbnVJdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgPC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNub1Rvb2x0aXBPcGVuZWQ+XG4gIDxsaSAqbmdJZj1cIiFoaWRkZW5cIiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWl0ZW0gby1hcHAtc2lkZW5hdi1pdGVtXCIgW2NsYXNzLm8tdXNlci1pbmZvXT1cImlzVXNlckluZm9JdGVtKClcIiBbaWRdPVwibWVudUl0ZW0uaWRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudE9wZW5lZFwiPjwvbmctY29udGFpbmVyPlxuICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50T3BlbmVkPlxuICA8YSBtYXQtYnV0dG9uICpuZ0lmPVwiIWlzVXNlckluZm9JdGVtKCkgJiYgIWlzTG9jYWxlSXRlbSgpXCIgKGNsaWNrKT1cInRyaWdnZXJDbGljaygkZXZlbnQpXCJcbiAgICBbY2xhc3Muby1hcHAtc2lkZW5hdi12aWV3ZXItc2lkZW5hdi1pdGVtLXNlbGVjdGVkXT1cImFjdGl2ZVwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJtZW51SXRlbS5zdmdJY29uXCIgW3N2Z0ljb25dPVwibWVudUl0ZW0uc3ZnSWNvblwiPjwvbWF0LWljb24+XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJtZW51SXRlbS5pY29uXCI+e3sgbWVudUl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cIm8tYXBwLXNpZGVuYXYtbWVudWl0ZW0tdGl0bGVcIj57e1xuICAgICAgICBtZW51SXRlbS5uYW1lIHwgb1RyYW5zbGF0ZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9hPlxuXG4gIDxhIG1hdC1idXR0b24gKm5nSWY9XCJpc0xvY2FsZUl0ZW0oKVwiIChjbGljayk9XCJ0cmlnZ2VyQ2xpY2soJGV2ZW50KVwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVJdGVtLnN2Z0ljb25cIiBbc3ZnSWNvbl09XCJtZW51SXRlbS5zdmdJY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIm1lbnVJdGVtLmljb25cIj57eyBtZW51SXRlbS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgIHt7IG1lbnVJdGVtLm5hbWUgfCBvVHJhbnNsYXRlIH19XG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJpc0NvbmZpZ3VyZWRMYW5nKClcIiBjbGFzcz1cImNvbmZpZ3VyZWQtbGFuZ1wiPmNoZWNrX2NpcmNsZTwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gIDwvYT5cblxuICA8ZGl2ICpuZ0lmPVwiaXNVc2VySW5mb0l0ZW0oKVwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBjbGFzcz1cIm8tdXNlci1pbmZvLW1lbnUtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXVzZXItaW5mby1pbWFnZVwiIGZ4RmxleEZpbGw+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tdXNlci1pbmZvLWl0ZW1cIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiIGZ4RmxleEZpbGw+XG4gICAgICA8ZGl2IGNsYXNzPVwiby11c2VyLWluZm8tbmFtZVwiPnt7IG1lbnVJdGVtLnVzZXIgfX08L2Rpdj5cbiAgICAgIDxvLWxhbmd1YWdlLXNlbGVjdG9yIFt1c2UtZmxhZy1pY29uc109XCJ1c2VGbGFnSWNvbnNcIj48L28tbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|