ontimize-web-ngx 15.5.0 → 15.6.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +6 -5
- package/esm2020/lib/components/form/o-form.component.mjs +27 -13
- 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 +5 -5
- 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 +6 -6
- 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 +5 -5
- 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 +9 -5
- package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
- package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +4 -4
- package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +5 -5
- 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/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 +20 -11
- 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 +5 -5
- 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-service-base-component.class.mjs +35 -24
- package/esm2020/lib/components/o-service-component.class.mjs +8 -8
- 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 +4 -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 +4 -4
- 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 +23 -9
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +4 -4
- 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/o-table-header-components.mjs +3 -2
- 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 +4 -4
- package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +4 -4
- 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 +4 -4
- 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 +4 -4
- package/esm2020/lib/components/table/extensions/o-table.dao.mjs +2 -2
- 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 +4 -4
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +4 -4
- 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/o-table.component.mjs +21 -16
- package/esm2020/lib/components/table/o-table.module.mjs +6 -6
- 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 +4 -4
- package/esm2020/lib/components/tree/o-tree.component.mjs +6 -6
- package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
- package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +4 -4
- 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/app-config.mjs +4 -1
- package/esm2020/lib/config/o-modules.mjs +5 -5
- package/esm2020/lib/config/o-providers.mjs +9 -4
- 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/interfaces/base-response.interface.mjs +2 -0
- package/esm2020/lib/interfaces/data-service.interface.mjs +1 -1
- package/esm2020/lib/interfaces/form-data-component.interface.mjs +1 -1
- package/esm2020/lib/interfaces/index.mjs +4 -1
- package/esm2020/lib/interfaces/jsonapi-response.interface.mjs +2 -0
- package/esm2020/lib/interfaces/name-convention.interface.mjs +2 -0
- package/esm2020/lib/interfaces/prefereces-service.interface.mjs +2 -0
- package/esm2020/lib/interfaces/service-response-adapter.interface.mjs +1 -1
- package/esm2020/lib/interfaces/service-response.interface.mjs +1 -1
- 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-data-service.class.mjs +19 -0
- package/esm2020/lib/services/base-service.class.mjs +36 -9
- package/esm2020/lib/services/currency.service.mjs +4 -4
- package/esm2020/lib/services/dialog.service.mjs +4 -4
- package/esm2020/lib/services/factories.mjs +73 -4
- package/esm2020/lib/services/icon.service.mjs +4 -4
- package/esm2020/lib/services/index.mjs +4 -1
- package/esm2020/lib/services/jsonapi/index.mjs +5 -0
- package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +45 -0
- package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +31 -0
- package/esm2020/lib/services/jsonapi/jsonapi-service-response.class.mjs +45 -0
- package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +166 -0
- 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/name-convention/base-name-convention.service.mjs +59 -0
- package/esm2020/lib/services/name-convention/index.mjs +4 -0
- package/esm2020/lib/services/name-convention/name-convention-lower.service.mjs +11 -0
- package/esm2020/lib/services/name-convention/name-convention-upper.service.mjs +11 -0
- package/esm2020/lib/services/name-convention/name-convention.service.mjs +24 -0
- 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/index.mjs +4 -1
- package/esm2020/lib/services/ontimize/o-preference-query-argument.adapter.mjs +17 -0
- package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +22 -0
- package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +7 -12
- package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +33 -12
- package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +6 -6
- package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +6 -6
- package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +6 -6
- package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +58 -0
- package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +7 -4
- package/esm2020/lib/services/ontimize/ontimize.service.mjs +32 -23
- 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 +21 -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/query-arguments/base-query-argument.adapter.mjs +9 -0
- package/esm2020/lib/services/query-arguments/base-query-argument.interface.mjs +2 -0
- package/esm2020/lib/services/query-arguments/index.mjs +5 -0
- package/esm2020/lib/services/query-arguments/jsonapi-query-arguments.adapter.mjs +63 -0
- package/esm2020/lib/services/query-arguments/ontimize-query-arguments.adapter.mjs +19 -0
- package/esm2020/lib/services/remote-config.service.mjs +5 -5
- 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/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.service.mjs +4 -4
- package/esm2020/lib/services/state/o-tree-component-state.service.mjs +4 -4
- 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/config.type.mjs +1 -1
- package/esm2020/lib/types/configure-service-args.type.mjs +1 -1
- package/esm2020/lib/types/index.mjs +5 -1
- package/esm2020/lib/types/json-query-parameter.type.mjs +2 -0
- package/esm2020/lib/types/preferences.type.mjs +2 -0
- package/esm2020/lib/types/query-params.type.mjs +2 -0
- package/esm2020/lib/types/service-configuration.type.mjs +2 -0
- package/esm2020/lib/types/service-request-param.type.mjs +1 -1
- package/esm2020/lib/types/service-type.type.mjs +8 -0
- package/esm2020/lib/util/codes.mjs +2 -1
- package/esm2020/lib/util/index.mjs +2 -1
- package/esm2020/lib/util/preference-mapping-util.mjs +80 -0
- package/esm2020/lib/util/sqltypes.mjs +5 -1
- package/esm2020/lib/util/util.mjs +103 -12
- package/fesm2015/ontimize-web-ngx.mjs +3565 -2638
- package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
- package/fesm2020/ontimize-web-ngx.mjs +3561 -2637
- package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
- package/lib/components/form/navigation/o-form-navigation.component.d.ts +3 -1
- package/lib/components/form/o-form.component.d.ts +12 -7
- package/lib/components/grid/o-grid.component.d.ts +2 -1
- package/lib/components/input/file-input/o-file-input.component.d.ts +3 -1
- package/lib/components/input/o-form-service-component.class.d.ts +11 -4
- package/lib/components/list/o-list.component.d.ts +2 -1
- package/lib/components/o-service-base-component.class.d.ts +8 -4
- package/lib/components/o-service-component.class.d.ts +1 -1
- package/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.d.ts +7 -2
- package/lib/components/table/column/o-table-column.component.d.ts +1 -1
- package/lib/components/table/extensions/o-table.dao.d.ts +4 -2
- package/lib/components/table/o-table.component.d.ts +4 -2
- package/lib/components/table/o-table.module.d.ts +1 -1
- package/lib/config/app-config.d.ts +1 -0
- package/lib/config/o-directives.d.ts +1 -1
- package/lib/interfaces/base-response.interface.d.ts +7 -0
- package/lib/interfaces/data-service.interface.d.ts +1 -0
- package/lib/interfaces/form-data-component.interface.d.ts +1 -0
- package/lib/interfaces/index.d.ts +3 -0
- package/lib/interfaces/jsonapi-response.interface.d.ts +9 -0
- package/lib/interfaces/name-convention.interface.d.ts +9 -0
- package/lib/interfaces/prefereces-service.interface.d.ts +7 -0
- package/lib/interfaces/service-response-adapter.interface.d.ts +4 -2
- package/lib/interfaces/service-response.interface.d.ts +2 -6
- package/lib/services/base-data-service.class.d.ts +17 -0
- package/lib/services/base-service.class.d.ts +27 -20
- package/lib/services/factories.d.ts +30 -0
- package/lib/services/index.d.ts +3 -0
- package/lib/services/jsonapi/index.d.ts +4 -0
- package/lib/services/jsonapi/jsonapi-preferences.service.d.ts +13 -0
- package/lib/services/jsonapi/jsonapi-service-response.adapter.d.ts +12 -0
- package/lib/services/jsonapi/jsonapi-service-response.class.d.ts +23 -0
- package/lib/services/jsonapi/jsonapi.service.d.ts +31 -0
- package/lib/services/name-convention/base-name-convention.service.d.ts +12 -0
- package/lib/services/name-convention/index.d.ts +3 -0
- package/lib/services/name-convention/name-convention-lower.service.d.ts +5 -0
- package/lib/services/name-convention/name-convention-upper.service.d.ts +5 -0
- package/lib/services/name-convention/name-convention.service.d.ts +10 -0
- package/lib/services/ontimize/index.d.ts +3 -0
- package/lib/services/ontimize/o-preference-query-argument.adapter.d.ts +7 -0
- package/lib/services/ontimize/o-preference-response.adapter.d.ts +9 -0
- package/lib/services/ontimize/ontimize-base-service.class.d.ts +3 -3
- package/lib/services/ontimize/ontimize-ee.service.d.ts +1 -0
- package/lib/services/ontimize/ontimize-export-3xx.service.d.ts +3 -2
- package/lib/services/ontimize/ontimize-export.service.d.ts +2 -2
- package/lib/services/ontimize/ontimize-file.service.d.ts +3 -2
- package/lib/services/ontimize/ontimize-preferences.service.d.ts +16 -0
- package/lib/services/ontimize/ontimize-service-response.adapter.d.ts +6 -5
- package/lib/services/ontimize/ontimize.service.d.ts +2 -0
- package/lib/services/parser/o-service-response.parser.d.ts +11 -5
- package/lib/services/query-arguments/base-query-argument.adapter.d.ts +6 -0
- package/lib/services/query-arguments/base-query-argument.interface.d.ts +3 -0
- package/lib/services/query-arguments/index.d.ts +4 -0
- package/lib/services/query-arguments/jsonapi-query-arguments.adapter.d.ts +12 -0
- package/lib/services/query-arguments/ontimize-query-arguments.adapter.d.ts +8 -0
- package/lib/types/config.type.d.ts +3 -1
- package/lib/types/configure-service-args.type.d.ts +5 -5
- package/lib/types/index.d.ts +4 -0
- package/lib/types/json-query-parameter.type.d.ts +15 -0
- package/lib/types/preferences.type.d.ts +7 -0
- package/lib/types/query-params.type.d.ts +11 -0
- package/lib/types/service-configuration.type.d.ts +7 -0
- package/lib/types/service-request-param.type.d.ts +5 -5
- package/lib/types/service-type.type.d.ts +5 -0
- package/lib/util/codes.d.ts +6 -5
- package/lib/util/index.d.ts +1 -0
- package/lib/util/preference-mapping-util.d.ts +74 -0
- package/lib/util/util.d.ts +10 -2
- package/package.json +1 -1
- package/theme.scss +69 -69
|
@@ -1325,9 +1325,9 @@ export class CountryCode {
|
|
|
1325
1325
|
];
|
|
1326
1326
|
}
|
|
1327
1327
|
}
|
|
1328
|
-
CountryCode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
1329
|
-
CountryCode.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
1330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
1328
|
+
CountryCode.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CountryCode, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1329
|
+
CountryCode.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CountryCode });
|
|
1330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CountryCode, decorators: [{
|
|
1331
1331
|
type: Injectable
|
|
1332
1332
|
}] });
|
|
1333
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvcGhvbmUtaW5wdXQvZGF0YS9jb3VudHJ5LWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRVEsaUJBQVksR0FBRztZQUNyQjtnQkFDQyw0QkFBNEI7Z0JBQzVCLFVBQVUsQ0FBQyxXQUFXO2dCQUN0QixJQUFJO2FBQ0o7WUFDRDtnQkFDQyxvQkFBb0I7Z0JBQ3BCLFVBQVUsQ0FBQyxPQUFPO2dCQUNsQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxzQkFBc0I7Z0JBQ3RCLFVBQVUsQ0FBQyxPQUFPO2dCQUNsQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxnQkFBZ0I7Z0JBQ2hCLElBQUk7Z0JBQ0osR0FBRztnQkFDSCxDQUFDO2dCQUNEO29CQUNDLEtBQUs7aUJBQ0w7YUFDRDtZQUNEO2dCQUNDLFNBQVM7Z0JBQ1QsVUFBVSxDQUFDLE9BQU87Z0JBQ2xCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLFFBQVE7Z0JBQ1IsVUFBVSxDQUFDLE1BQU07Z0JBQ2pCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLFVBQVU7Z0JBQ1YsSUFBSTtnQkFDSixHQUFHO2dCQUNILENBQUM7Z0JBQ0Q7b0JBQ0MsS0FBSztpQkFDTDthQUNEO1lBQ0Q7Z0JBQ0MscUJBQXFCO2dCQUNyQixJQUFJO2dCQUNKLEdBQUc7Z0JBQ0gsQ0FBQztnQkFDRDtvQkFDQyxLQUFLO2lCQUNMO2FBQ0Q7WUFDRDtnQkFDQyxXQUFXO2dCQUNYLFVBQVUsQ0FBQyxTQUFTO2dCQUNwQixJQUFJO2FBQ0o7WUFDRDtn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QUM7YUFDRDtZQUNEO2dCQUNDLFNBQVM7Z0JBQ1QsVUFBVSxDQUFDLE9BQU87Z0JBQ2xCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLDBCQUEwQjtnQkFDMUIsVUFBVSxDQUFDLFVBQVU7Z0JBQ3JCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLFNBQVM7Z0JBQ1QsVUFBVSxDQUFDLE9BQU87Z0JBQ2xCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLG1DQUFtQztnQkFDbkMsVUFBVSxDQUFDLFdBQVc7Z0JBQ3RCLElBQUk7Z0JBQ0osQ0FBQzthQUNEO1lBQ0Q7Z0JBQ0MsV0FBVztnQkFDWCxVQUFVLENBQUMsU0FBUztnQkFDcEIsSUFBSTthQUNKO1lBQ0Q7Z0JBQ0Msb0JBQW9CO2dCQUNwQixVQUFVLENBQUMsT0FBTztnQkFDbEIsSUFBSTthQUNKO1lBQ0Q7Z0JBQ0MsbUJBQW1CO2dCQUNuQixVQUFVLENBQUMsZUFBZTtnQkFDMUIsS0FBSzthQUNMO1lBQ0Q7Z0JBQ0MscUNBQXFDO2dCQUNyQyxVQUFVLENBQUMsYUFBYTtnQkFDeEIsS0FBSztnQkFDTCxDQUFDO2FBQ0Q7WUFDRDtnQkFDQyxrQkFBa0I7Z0JBQ2xCLFVBQVUsQ0FBQyxLQUFLO2dCQUNoQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxRQUFRO2dCQUNSLFVBQVUsQ0FBQyxNQUFNO2dCQUNqQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxVQUFVO2dCQUNWLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxlQUFlO2dCQUNmLFVBQVUsQ0FBQyxZQUFZO2dCQUN2QixLQUFLO2dCQUNMLENBQUM7YUFDRDtTQUNELENBQUM7S0FDRjs7eUdBenlDWSxXQUFXOzZHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ291bnRyeUlTTyB9IGZyb20gJy4uL2VudW1zL2NvdW50cnktaXNvLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ291bnRyeUNvZGUge1xuXHRwdWJsaWMgYWxsQ291bnRyaWVzID0gW1xuXHRcdFtcblx0XHRcdCdBZmdoYW5pc3RhbiAo4oCr2KfZgdi62KfZhtiz2KrYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLkFmZ2hhbmlzdGFuLFxuXHRcdFx0JzkzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FsYmFuaWEgKFNocWlww6tyaSknLFxuXHRcdFx0Q291bnRyeUlTTy5BbGJhbmlhLFxuXHRcdFx0JzM1NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBbGdlcmlhICjigKvYp9mE2KzYstin2KbYseKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5BbGdlcmlhLFxuXHRcdFx0JzIxMydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBbWVyaWNhbiBTYW1vYScsXG5cdFx0XHQnYXMnLFxuXHRcdFx0JzEnLFxuXHRcdFx0MSxcblx0XHRcdFtcblx0XHRcdFx0JzY4NCcsXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQW5kb3JyYScsXG5cdFx0XHRDb3VudHJ5SVNPLkFuZG9ycmEsXG5cdFx0XHQnMzc2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FuZ29sYScsXG5cdFx0XHRDb3VudHJ5SVNPLkFuZ29sYSxcblx0XHRcdCcyNDQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQW5ndWlsbGEnLFxuXHRcdFx0J2FpJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCcyNjQnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FudGlndWEgYW5kIEJhcmJ1ZGEnLFxuXHRcdFx0J2FnJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCcyNjgnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FyZ2VudGluYScsXG5cdFx0XHRDb3VudHJ5SVNPLkFyZ2VudGluYSxcblx0XHRcdCc1NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBcm1lbmlhICjVgNWh1bXVodW91b/VodW2KScsXG5cdFx0XHRDb3VudHJ5SVNPLkFybWVuaWEsXG5cdFx0XHQnMzc0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FydWJhJyxcblx0XHRcdENvdW50cnlJU08uQXJ1YmEsXG5cdFx0XHQnMjk3J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0F1c3RyYWxpYScsXG5cdFx0XHRDb3VudHJ5SVNPLkF1c3RyYWxpYSxcblx0XHRcdCc2MScsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQXVzdHJpYSAow5ZzdGVycmVpY2gpJyxcblx0XHRcdENvdW50cnlJU08uQXVzdHJpYSxcblx0XHRcdCc0Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBemVyYmFpamFuIChBesmZcmJheWNhbiknLFxuXHRcdFx0Q291bnRyeUlTTy5BemVyYmFpamFuLFxuXHRcdFx0Jzk5NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCYWhhbWFzJyxcblx0XHRcdCdicycsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMjQyJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCYWhyYWluICjigKvYp9mE2KjYrdix2YrZhuKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5CYWhyYWluLFxuXHRcdFx0Jzk3Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCYW5nbGFkZXNoICjgpqzgpr7gpoLgprLgpr7gpqbgp4fgprYpJyxcblx0XHRcdENvdW50cnlJU08uQmFuZ2xhZGVzaCxcblx0XHRcdCc4ODAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmFyYmFkb3MnLFxuXHRcdFx0J2JiJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCcyNDYnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0JlbGFydXMgKNCR0LXQu9Cw0YDRg9GB0YwpJyxcblx0XHRcdENvdW50cnlJU08uQmVsYXJ1cyxcblx0XHRcdCczNzUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmVsZ2l1bSAoQmVsZ2nDqyknLFxuXHRcdFx0Q291bnRyeUlTTy5CZWxnaXVtLFxuXHRcdFx0JzMyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0JlbGl6ZScsXG5cdFx0XHRDb3VudHJ5SVNPLkJlbGl6ZSxcblx0XHRcdCc1MDEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmVuaW4gKELDqW5pbiknLFxuXHRcdFx0Q291bnRyeUlTTy5CZW5pbixcblx0XHRcdCcyMjknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmVybXVkYScsXG5cdFx0XHQnYm0nLFxuXHRcdFx0JzEnLFxuXHRcdFx0MSxcblx0XHRcdFtcblx0XHRcdFx0JzQ0MScsXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmh1dGFuICjgvaDgvZbgvrLgvbTgvYIpJyxcblx0XHRcdENvdW50cnlJU08uQmh1dGFuLFxuXHRcdFx0Jzk3NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCb2xpdmlhJyxcblx0XHRcdENvdW50cnlJU08uQm9saXZpYSxcblx0XHRcdCc1OTEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSAo0JHQvtGB0L3QsCDQuCDQpdC10YDRhtC10LPQvtCy0LjQvdCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLkJvc25pYUFuZEhlcnplZ292aW5hLFxuXHRcdFx0JzM4Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCb3Rzd2FuYScsXG5cdFx0XHRDb3VudHJ5SVNPLkJvdHN3YW5hLFxuXHRcdFx0JzI2Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCcmF6aWwgKEJyYXNpbCknLFxuXHRcdFx0Q291bnRyeUlTTy5CcmF6aWwsXG5cdFx0XHQnNTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5Jyxcblx0XHRcdENvdW50cnlJU08uQnJpdGlzaEluZGlhbk9jZWFuVGVycml0b3J5LFxuXHRcdFx0JzI0Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCcml0aXNoIFZpcmdpbiBJc2xhbmRzJyxcblx0XHRcdCd2ZycsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMjg0Jyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCcnVuZWknLFxuXHRcdFx0Q291bnRyeUlTTy5CcnVuZWksXG5cdFx0XHQnNjczJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0J1bGdhcmlhICjQkdGK0LvQs9Cw0YDQuNGPKScsXG5cdFx0XHRDb3VudHJ5SVNPLkJ1bGdhcmlhLFxuXHRcdFx0JzM1OSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCdXJraW5hIEZhc28nLFxuXHRcdFx0Q291bnRyeUlTTy5CdXJraW5hRmFzbyxcblx0XHRcdCcyMjYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQnVydW5kaSAoVWJ1cnVuZGkpJyxcblx0XHRcdENvdW50cnlJU08uQnVydW5kaSxcblx0XHRcdCcyNTcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2FtYm9kaWEgKOGegOGemOGfkuGeluGeu+Geh+GetiknLFxuXHRcdFx0Q291bnRyeUlTTy5DYW1ib2RpYSxcblx0XHRcdCc4NTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2FtZXJvb24gKENhbWVyb3VuKScsXG5cdFx0XHRDb3VudHJ5SVNPLkNhbWVyb29uLFxuXHRcdFx0JzIzNydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDYW5hZGEnLFxuXHRcdFx0Q291bnRyeUlTTy5DYW5hZGEsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMjA0JywgJzIyNicsICcyMzYnLCAnMjQ5JywgJzI1MCcsICcyODknLCAnMzA2JywgJzM0MycsICczNjUnLCAnMzg3JywgJzQwMycsICc0MTYnLFxuXHRcdFx0XHQnNDE4JywgJzQzMScsICc0MzcnLCAnNDM4JywgJzQ1MCcsICc1MDYnLCAnNTE0JywgJzUxOScsICc1NDgnLCAnNTc5JywgJzU4MScsICc1ODcnLFxuXHRcdFx0XHQnNjA0JywgJzYxMycsICc2MzknLCAnNjQ3JywgJzY3MicsICc3MDUnLCAnNzA5JywgJzc0MicsICc3NzgnLCAnNzgwJywgJzc4MicsICc4MDcnLFxuXHRcdFx0XHQnODE5JywgJzgyNScsICc4NjcnLCAnODczJywgJzkwMicsICc5MDUnXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2FwZSBWZXJkZSAoS2FidSBWZXJkaSknLFxuXHRcdFx0Q291bnRyeUlTTy5DYXBlVmVyZGUsXG5cdFx0XHQnMjM4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NhcmliYmVhbiBOZXRoZXJsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLkNhcmliYmVhbk5ldGhlcmxhbmRzLFxuXHRcdFx0JzU5OScsXG5cdFx0XHQxXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2F5bWFuIElzbGFuZHMnLFxuXHRcdFx0J2t5Jyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCczNDUnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyAoUsOpcHVibGlxdWUgY2VudHJhZnJpY2FpbmUpJyxcblx0XHRcdENvdW50cnlJU08uQ2VudHJhbEFmcmljYW5SZXB1YmxpYyxcblx0XHRcdCcyMzYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2hhZCAoVGNoYWQpJyxcblx0XHRcdENvdW50cnlJU08uQ2hhZCxcblx0XHRcdCcyMzUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2hpbGUnLFxuXHRcdFx0Q291bnRyeUlTTy5DaGlsZSxcblx0XHRcdCc1Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDaGluYSAo5Lit5Zu9KScsXG5cdFx0XHRDb3VudHJ5SVNPLkNoaW5hLFxuXHRcdFx0Jzg2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NocmlzdG1hcyBJc2xhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5DaHJpc3RtYXNJc2xhbmQsXG5cdFx0XHQnNjEnLFxuXHRcdFx0MlxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NvY29zIChLZWVsaW5nKSBJc2xhbmRzJyxcblx0XHRcdENvdW50cnlJU08uQ29jb3MsXG5cdFx0XHQnNjEnLFxuXHRcdFx0MVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NvbG9tYmlhJyxcblx0XHRcdENvdW50cnlJU08uQ29sb21iaWEsXG5cdFx0XHQnNTcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ29tb3JvcyAo4oCr2KzYstixINin2YTZgtmF2LHigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uQ29tb3Jvcyxcblx0XHRcdCcyNjknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ29uZ28gKERSQykgKEphbWh1cmkgeWEgS2lkZW1va3Jhc2lhIHlhIEtvbmdvKScsXG5cdFx0XHRDb3VudHJ5SVNPLkNvbmdvRFJDSmFtaHVyaVlhS2lkZW1va3Jhc2lhWWFLb25nbyxcblx0XHRcdCcyNDMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ29uZ28gKFJlcHVibGljKSAoQ29uZ28tQnJhenphdmlsbGUpJyxcblx0XHRcdENvdW50cnlJU08uQ29uZ29SZXB1YmxpY0NvbmdvQnJhenphdmlsbGUsXG5cdFx0XHQnMjQyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0Nvb2sgSXNsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLkNvb2tJc2xhbmRzLFxuXHRcdFx0JzY4Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDb3N0YSBSaWNhJyxcblx0XHRcdENvdW50cnlJU08uQ29zdGFSaWNhLFxuXHRcdFx0JzUwNidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDw7R0ZSBk4oCZSXZvaXJlJyxcblx0XHRcdENvdW50cnlJU08uQ8O0dGVESXZvaXJlLFxuXHRcdFx0JzIyNSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDcm9hdGlhIChIcnZhdHNrYSknLFxuXHRcdFx0Q291bnRyeUlTTy5Dcm9hdGlhLFxuXHRcdFx0JzM4NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDdWJhJyxcblx0XHRcdENvdW50cnlJU08uQ3ViYSxcblx0XHRcdCc1Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDdXJhw6dhbycsXG5cdFx0XHRDb3VudHJ5SVNPLkN1cmHDp2FvLFxuXHRcdFx0JzU5OScsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ3lwcnVzICjOms+Nz4DPgc6/z4IpJyxcblx0XHRcdENvdW50cnlJU08uQ3lwcnVzLFxuXHRcdFx0JzM1Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDemVjaCBSZXB1YmxpYyAoxIxlc2vDoSByZXB1Ymxpa2EpJyxcblx0XHRcdENvdW50cnlJU08uQ3plY2hSZXB1YmxpYyxcblx0XHRcdCc0MjAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRGVubWFyayAoRGFubWFyayknLFxuXHRcdFx0Q291bnRyeUlTTy5EZW5tYXJrLFxuXHRcdFx0JzQ1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0RqaWJvdXRpJyxcblx0XHRcdENvdW50cnlJU08uRGppYm91dGksXG5cdFx0XHQnMjUzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0RvbWluaWNhJyxcblx0XHRcdENvdW50cnlJU08uRG9taW5pY2EsXG5cdFx0XHQnMTc2Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdEb21pbmljYW4gUmVwdWJsaWMgKFJlcMO6YmxpY2EgRG9taW5pY2FuYSknLFxuXHRcdFx0Q291bnRyeUlTTy5Eb21pbmljYW5SZXB1YmxpYyxcblx0XHRcdCcxJyxcblx0XHRcdDIsXG5cdFx0XHRbJzgwOScsICc4MjknLCAnODQ5J11cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdFY3VhZG9yJyxcblx0XHRcdENvdW50cnlJU08uRWN1YWRvcixcblx0XHRcdCc1OTMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRWd5cHQgKOKAq9mF2LXYseKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5FZ3lwdCxcblx0XHRcdCcyMCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdFbCBTYWx2YWRvcicsXG5cdFx0XHRDb3VudHJ5SVNPLkVsU2FsdmFkb3IsXG5cdFx0XHQnNTAzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0VxdWF0b3JpYWwgR3VpbmVhIChHdWluZWEgRWN1YXRvcmlhbCknLFxuXHRcdFx0Q291bnRyeUlTTy5FcXVhdG9yaWFsR3VpbmVhLFxuXHRcdFx0JzI0MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdFcml0cmVhJyxcblx0XHRcdENvdW50cnlJU08uRXJpdHJlYSxcblx0XHRcdCcyOTEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRXN0b25pYSAoRWVzdGkpJyxcblx0XHRcdENvdW50cnlJU08uRXN0b25pYSxcblx0XHRcdCczNzInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRXRoaW9waWEnLFxuXHRcdFx0Q291bnRyeUlTTy5FdGhpb3BpYSxcblx0XHRcdCcyNTEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRmFsa2xhbmQgSXNsYW5kcyAoSXNsYXMgTWFsdmluYXMpJyxcblx0XHRcdENvdW50cnlJU08uRmFsa2xhbmRJc2xhbmRzLFxuXHRcdFx0JzUwMCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdGYXJvZSBJc2xhbmRzIChGw7hyb3lhciknLFxuXHRcdFx0Q291bnRyeUlTTy5GYXJvZUlzbGFuZHMsXG5cdFx0XHQnMjk4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0ZpamknLFxuXHRcdFx0Q291bnRyeUlTTy5GaWppLFxuXHRcdFx0JzY3OSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdGaW5sYW5kIChTdW9taSknLFxuXHRcdFx0Q291bnRyeUlTTy5GaW5sYW5kLFxuXHRcdFx0JzM1OCcsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRnJhbmNlJyxcblx0XHRcdENvdW50cnlJU08uRnJhbmNlLFxuXHRcdFx0JzMzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0ZyZW5jaCBHdWlhbmEgKEd1eWFuZSBmcmFuw6dhaXNlKScsXG5cdFx0XHRDb3VudHJ5SVNPLkZyZW5jaEd1aWFuYSxcblx0XHRcdCc1OTQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRnJlbmNoIFBvbHluZXNpYSAoUG9seW7DqXNpZSBmcmFuw6dhaXNlKScsXG5cdFx0XHRDb3VudHJ5SVNPLkZyZW5jaFBvbHluZXNpYSxcblx0XHRcdCc2ODknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR2Fib24nLFxuXHRcdFx0Q291bnRyeUlTTy5HYWJvbixcblx0XHRcdCcyNDEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR2FtYmlhJyxcblx0XHRcdENvdW50cnlJU08uR2FtYmlhLFxuXHRcdFx0JzIyMCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHZW9yZ2lhICjhg6Hhg5Dhg6Xhg5Dhg6Dhg5fhg5Xhg5Thg5rhg50pJyxcblx0XHRcdENvdW50cnlJU08uR2VvcmdpYSxcblx0XHRcdCc5OTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR2VybWFueSAoRGV1dHNjaGxhbmQpJyxcblx0XHRcdENvdW50cnlJU08uR2VybWFueSxcblx0XHRcdCc0OSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHaGFuYSAoR2FhbmEpJyxcblx0XHRcdENvdW50cnlJU08uR2hhbmEsXG5cdFx0XHQnMjMzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0dpYnJhbHRhcicsXG5cdFx0XHRDb3VudHJ5SVNPLkdpYnJhbHRhcixcblx0XHRcdCczNTAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR3JlZWNlICjOlc67zrvOrM60zrEpJyxcblx0XHRcdENvdW50cnlJU08uR3JlZWNlLFxuXHRcdFx0JzMwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0dyZWVubGFuZCAoS2FsYWFsbGl0IE51bmFhdCknLFxuXHRcdFx0Q291bnRyeUlTTy5HcmVlbmxhbmQsXG5cdFx0XHQnMjk5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0dyZW5hZGEnLFxuXHRcdFx0Q291bnRyeUlTTy5HcmVuYWRhLFxuXHRcdFx0JzE0NzMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR3VhZGVsb3VwZScsXG5cdFx0XHRDb3VudHJ5SVNPLkd1YWRlbG91cGUsXG5cdFx0XHQnNTkwJyxcblx0XHRcdDBcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHdWFtJyxcblx0XHRcdCdndScsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnNjcxJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHdWF0ZW1hbGEnLFxuXHRcdFx0Q291bnRyeUlTTy5HdWF0ZW1hbGEsXG5cdFx0XHQnNTAyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0d1ZXJuc2V5Jyxcblx0XHRcdENvdW50cnlJU08uR3Vlcm5zZXksXG5cdFx0XHQnNDQnLFxuXHRcdFx0MSxcblx0XHRcdFsxNDgxXVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0d1aW5lYSAoR3VpbsOpZSknLFxuXHRcdFx0Q291bnRyeUlTTy5HdWluZWEsXG5cdFx0XHQnMjI0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0d1aW5lYS1CaXNzYXUgKEd1aW7DqSBCaXNzYXUpJyxcblx0XHRcdENvdW50cnlJU08uR3VpbmVhQmlzc2F1LFxuXHRcdFx0JzI0NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHdXlhbmEnLFxuXHRcdFx0Q291bnRyeUlTTy5HdXlhbmEsXG5cdFx0XHQnNTkyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0hhaXRpJyxcblx0XHRcdENvdW50cnlJU08uSGFpdGksXG5cdFx0XHQnNTA5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0hvbmR1cmFzJyxcblx0XHRcdENvdW50cnlJU08uSG9uZHVyYXMsXG5cdFx0XHQnNTA0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0hvbmcgS29uZyAo6aaZ5rivKScsXG5cdFx0XHRDb3VudHJ5SVNPLkhvbmdLb25nLFxuXHRcdFx0Jzg1Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdIdW5nYXJ5IChNYWd5YXJvcnN6w6FnKScsXG5cdFx0XHRDb3VudHJ5SVNPLkh1bmdhcnksXG5cdFx0XHQnMzYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSWNlbGFuZCAow41zbGFuZCknLFxuXHRcdFx0Q291bnRyeUlTTy5JY2VsYW5kLFxuXHRcdFx0JzM1NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdJbmRpYSAo4KSt4KS+4KSw4KSkKScsXG5cdFx0XHRDb3VudHJ5SVNPLkluZGlhLFxuXHRcdFx0JzkxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0luZG9uZXNpYScsXG5cdFx0XHRDb3VudHJ5SVNPLkluZG9uZXNpYSxcblx0XHRcdCc2Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdJcmFuICjigKvYp9uM2LHYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLklyYW4sXG5cdFx0XHQnOTgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSXJhcSAo4oCr2KfZhNi52LHYp9mC4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLklyYXEsXG5cdFx0XHQnOTY0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0lyZWxhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5JcmVsYW5kLFxuXHRcdFx0JzM1Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdJc2xlIG9mIE1hbicsXG5cdFx0XHRDb3VudHJ5SVNPLklzbGVPZk1hbixcblx0XHRcdCc0NCcsXG5cdFx0XHQyLFxuXHRcdFx0WzE2MjRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSXNyYWVsICjigKvXmdep16jXkNec4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLklzcmFlbCxcblx0XHRcdCc5NzInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSXRhbHkgKEl0YWxpYSknLFxuXHRcdFx0Q291bnRyeUlTTy5JdGFseSxcblx0XHRcdCczOScsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSmFtYWljYScsXG5cdFx0XHQnam0nLFxuXHRcdFx0JzEnLFxuXHRcdFx0MSxcblx0XHRcdFtcblx0XHRcdFx0Jzg3NicsXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSmFwYW4gKOaXpeacrCknLFxuXHRcdFx0Q291bnRyeUlTTy5KYXBhbixcblx0XHRcdCc4MSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdKZXJzZXknLFxuXHRcdFx0Q291bnRyeUlTTy5KZXJzZXksXG5cdFx0XHQnNDQnLFxuXHRcdFx0Myxcblx0XHRcdFsxNTM0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0pvcmRhbiAo4oCr2KfZhNij2LHYr9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLkpvcmRhbixcblx0XHRcdCc5NjInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS2F6YWtoc3RhbiAo0JrQsNC30LDRhdGB0YLQsNC9KScsXG5cdFx0XHRDb3VudHJ5SVNPLkthemFraHN0YW4sXG5cdFx0XHQnNycsXG5cdFx0XHQxXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS2VueWEnLFxuXHRcdFx0Q291bnRyeUlTTy5LZW55YSxcblx0XHRcdCcyNTQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS2lyaWJhdGknLFxuXHRcdFx0Q291bnRyeUlTTy5LaXJpYmF0aSxcblx0XHRcdCc2ODYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS29zb3ZvJyxcblx0XHRcdENvdW50cnlJU08uS29zb3ZvLFxuXHRcdFx0JzM4Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdLdXdhaXQgKOKAq9in2YTZg9mI2YrYquKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5LdXdhaXQsXG5cdFx0XHQnOTY1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0t5cmd5enN0YW4gKNCa0YvRgNCz0YvQt9GB0YLQsNC9KScsXG5cdFx0XHRDb3VudHJ5SVNPLkt5cmd5enN0YW4sXG5cdFx0XHQnOTk2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0xhb3MgKOC6peC6suC6pyknLFxuXHRcdFx0Q291bnRyeUlTTy5MYW9zLFxuXHRcdFx0Jzg1Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMYXR2aWEgKExhdHZpamEpJyxcblx0XHRcdENvdW50cnlJU08uTGF0dmlhLFxuXHRcdFx0JzM3MSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMZWJhbm9uICjigKvZhNio2YbYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLkxlYmFub24sXG5cdFx0XHQnOTYxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0xlc290aG8nLFxuXHRcdFx0Q291bnRyeUlTTy5MZXNvdGhvLFxuXHRcdFx0JzI2Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMaWJlcmlhJyxcblx0XHRcdENvdW50cnlJU08uTGliZXJpYSxcblx0XHRcdCcyMzEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTGlieWEgKOKAq9mE2YrYqNmK2KfigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uTGlieWEsXG5cdFx0XHQnMjE4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0xpZWNodGVuc3RlaW4nLFxuXHRcdFx0Q291bnRyeUlTTy5MaWVjaHRlbnN0ZWluLFxuXHRcdFx0JzQyMydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMaXRodWFuaWEgKExpZXR1dmEpJyxcblx0XHRcdENvdW50cnlJU08uTGl0aHVhbmlhLFxuXHRcdFx0JzM3MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMdXhlbWJvdXJnJyxcblx0XHRcdENvdW50cnlJU08uTHV4ZW1ib3VyZyxcblx0XHRcdCczNTInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFjYXUgKOa+s+mWgCknLFxuXHRcdFx0Q291bnRyeUlTTy5NYWNhdSxcblx0XHRcdCc4NTMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFjZWRvbmlhIChGWVJPTSkgKNCc0LDQutC10LTQvtC90LjRmNCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hY2Vkb25pYSxcblx0XHRcdCczODknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFkYWdhc2NhciAoTWFkYWdhc2lrYXJhKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hZGFnYXNjYXIsXG5cdFx0XHQnMjYxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01hbGF3aScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hbGF3aSxcblx0XHRcdCcyNjUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFsYXlzaWEnLFxuXHRcdFx0Q291bnRyeUlTTy5NYWxheXNpYSxcblx0XHRcdCc2MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNYWxkaXZlcycsXG5cdFx0XHRDb3VudHJ5SVNPLk1hbGRpdmVzLFxuXHRcdFx0Jzk2MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNYWxpJyxcblx0XHRcdENvdW50cnlJU08uTWFsaSxcblx0XHRcdCcyMjMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFsdGEnLFxuXHRcdFx0Q291bnRyeUlTTy5NYWx0YSxcblx0XHRcdCczNTYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFyc2hhbGwgSXNsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLk1hcnNoYWxsSXNsYW5kcyxcblx0XHRcdCc2OTInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFydGluaXF1ZScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hcnRpbmlxdWUsXG5cdFx0XHQnNTk2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01hdXJpdGFuaWEgKOKAq9mF2YjYsdmK2KrYp9mG2YrYp+KArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5NYXVyaXRhbmlhLFxuXHRcdFx0JzIyMidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNYXVyaXRpdXMgKE1vcmlzKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hdXJpdGl1cyxcblx0XHRcdCcyMzAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWF5b3R0ZScsXG5cdFx0XHRDb3VudHJ5SVNPLk1heW90dGUsXG5cdFx0XHQnMjYyJyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNZXhpY28gKE3DqXhpY28pJyxcblx0XHRcdENvdW50cnlJU08uTWV4aWNvLFxuXHRcdFx0JzUyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01pY3JvbmVzaWEnLFxuXHRcdFx0Q291bnRyeUlTTy5NaWNyb25lc2lhLFxuXHRcdFx0JzY5MSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb2xkb3ZhIChSZXB1YmxpY2EgTW9sZG92YSknLFxuXHRcdFx0Q291bnRyeUlTTy5Nb2xkb3ZhLFxuXHRcdFx0JzM3Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb25hY28nLFxuXHRcdFx0Q291bnRyeUlTTy5Nb25hY28sXG5cdFx0XHQnMzc3J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01vbmdvbGlhICjQnNC+0L3Qs9C+0LspJyxcblx0XHRcdENvdW50cnlJU08uTW9uZ29saWEsXG5cdFx0XHQnOTc2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01vbnRlbmVncm8gKENybmEgR29yYSknLFxuXHRcdFx0Q291bnRyeUlTTy5Nb250ZW5lZ3JvLFxuXHRcdFx0JzM4Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb250c2VycmF0Jyxcblx0XHRcdCdtcycsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnNjY0Jyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb3JvY2NvICjigKvYp9mE2YXYutix2KjigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uTW9yb2Njbyxcblx0XHRcdCcyMTInLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01vemFtYmlxdWUgKE1vw6dhbWJpcXVlKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1vemFtYmlxdWUsXG5cdFx0XHQnMjU4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J015YW5tYXIgKEJ1cm1hKSAo4YCZ4YC84YCU4YC64YCZ4YCsKScsXG5cdFx0XHRDb3VudHJ5SVNPLk15YW5tYXIsXG5cdFx0XHQnOTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmFtaWJpYSAoTmFtaWJpw6spJyxcblx0XHRcdENvdW50cnlJU08uTmFtaWJpYSxcblx0XHRcdCcyNjQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmF1cnUnLFxuXHRcdFx0Q291bnRyeUlTTy5OYXVydSxcblx0XHRcdCc2NzQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmVwYWwgKOCkqOClh+CkquCkvuCksiknLFxuXHRcdFx0Q291bnRyeUlTTy5OZXBhbCxcblx0XHRcdCc5NzcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmV0aGVybGFuZHMgKE5lZGVybGFuZCknLFxuXHRcdFx0Q291bnRyeUlTTy5OZXRoZXJsYW5kcyxcblx0XHRcdCczMSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdOZXcgQ2FsZWRvbmlhIChOb3V2ZWxsZS1DYWzDqWRvbmllKScsXG5cdFx0XHRDb3VudHJ5SVNPLk5ld0NhbGVkb25pYSxcblx0XHRcdCc2ODcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmV3IFplYWxhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5OZXdaZWFsYW5kLFxuXHRcdFx0JzY0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J05pY2FyYWd1YScsXG5cdFx0XHRDb3VudHJ5SVNPLk5pY2FyYWd1YSxcblx0XHRcdCc1MDUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmlnZXIgKE5pamFyKScsXG5cdFx0XHRDb3VudHJ5SVNPLk5pZ2VyLFxuXHRcdFx0JzIyNydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdOaWdlcmlhJyxcblx0XHRcdENvdW50cnlJU08uTmlnZXJpYSxcblx0XHRcdCcyMzQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTml1ZScsXG5cdFx0XHRDb3VudHJ5SVNPLk5pdWUsXG5cdFx0XHQnNjgzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J05vcmZvbGsgSXNsYW5kJyxcblx0XHRcdENvdW50cnlJU08uTm9yZm9sa0lzbGFuZCxcblx0XHRcdCc2NzInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTm9ydGggS29yZWEgKOyhsOyEoCDrr7zso7zso7zsnZgg7J2466+8IOqzte2ZlOq1rSknLFxuXHRcdFx0Q291bnRyeUlTTy5Ob3J0aEtvcmVhLFxuXHRcdFx0Jzg1MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLFxuXHRcdFx0Q291bnRyeUlTTy5Ob3J0aGVybk1hcmlhbmFJc2xhbmRzLFxuXHRcdFx0JzE2NzAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTm9yd2F5IChOb3JnZSknLFxuXHRcdFx0Q291bnRyeUlTTy5Ob3J3YXksXG5cdFx0XHQnNDcnLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J09tYW4gKOKAq9i52Y/Zhdin2YbigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uT21hbixcblx0XHRcdCc5NjgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUGFraXN0YW4gKOKAq9m+2Kfaqdiz2KrYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlBha2lzdGFuLFxuXHRcdFx0JzkyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BhbGF1Jyxcblx0XHRcdENvdW50cnlJU08uUGFsYXUsXG5cdFx0XHQnNjgwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BhbGVzdGluZSAo4oCr2YHZhNiz2LfZitmG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhbGVzdGluZSxcblx0XHRcdCc5NzAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUGFuYW1hIChQYW5hbcOhKScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhbmFtYSxcblx0XHRcdCc1MDcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUGFwdWEgTmV3IEd1aW5lYScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhcHVhTmV3R3VpbmVhLFxuXHRcdFx0JzY3NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdQYXJhZ3VheScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhcmFndWF5LFxuXHRcdFx0JzU5NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdQZXJ1IChQZXLDuiknLFxuXHRcdFx0Q291bnRyeUlTTy5QZXJ1LFxuXHRcdFx0JzUxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BoaWxpcHBpbmVzJyxcblx0XHRcdENvdW50cnlJU08uUGhpbGlwcGluZXMsXG5cdFx0XHQnNjMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUG9sYW5kIChQb2xza2EpJyxcblx0XHRcdENvdW50cnlJU08uUG9sYW5kLFxuXHRcdFx0JzQ4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BvcnR1Z2FsJyxcblx0XHRcdENvdW50cnlJU08uUG9ydHVnYWwsXG5cdFx0XHQnMzUxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1B1ZXJ0byBSaWNvJyxcblx0XHRcdENvdW50cnlJU08uUHVlcnRvUmljbyxcblx0XHRcdCcxJyxcblx0XHRcdDMsXG5cdFx0XHRbJzc4NycsICc5MzknXVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1FhdGFyICjigKvZgti32LHigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uUWF0YXIsXG5cdFx0XHQnOTc0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1LDqXVuaW9uIChMYSBSw6l1bmlvbiknLFxuXHRcdFx0Q291bnRyeUlTTy5Sw6l1bmlvbixcblx0XHRcdCcyNjInLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1JvbWFuaWEgKFJvbcOibmlhKScsXG5cdFx0XHRDb3VudHJ5SVNPLlJvbWFuaWEsXG5cdFx0XHQnNDAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUnVzc2lhICjQoNC+0YHRgdC40Y8pJyxcblx0XHRcdENvdW50cnlJU08uUnVzc2lhLFxuXHRcdFx0JzcnLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1J3YW5kYScsXG5cdFx0XHRDb3VudHJ5SVNPLlJ3YW5kYSxcblx0XHRcdCcyNTAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgQmFydGjDqWxlbXkgKFNhaW50LUJhcnRow6lsZW15KScsXG5cdFx0XHRDb3VudHJ5SVNPLlNhaW50QmFydGjDqWxlbXksXG5cdFx0XHQnNTkwJyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTYWludCBIZWxlbmEnLFxuXHRcdFx0Q291bnRyeUlTTy5TYWludEhlbGVuYSxcblx0XHRcdCcyOTAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgS2l0dHMgYW5kIE5ldmlzJyxcblx0XHRcdENvdW50cnlJU08uU2FpbnRLaXR0c0FuZE5ldmlzLFxuXHRcdFx0JzE4NjknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgTHVjaWEnLFxuXHRcdFx0J2xjJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCc3NTgnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhaW50IE1hcnRpbiAoU2FpbnQtTWFydGluIChwYXJ0aWUgZnJhbsOnYWlzZSkpJyxcblx0XHRcdENvdW50cnlJU08uU2FpbnRNYXJ0aW4sXG5cdFx0XHQnNTkwJyxcblx0XHRcdDJcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uIChTYWludC1QaWVycmUtZXQtTWlxdWVsb24pJyxcblx0XHRcdENvdW50cnlJU08uU2FpbnRQaWVycmVBbmRNaXF1ZWxvbixcblx0XHRcdCc1MDgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnLFxuXHRcdFx0J3ZjJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCc3ODQnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhbW9hJyxcblx0XHRcdENvdW50cnlJU08uU2Ftb2EsXG5cdFx0XHQnNjg1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhbiBNYXJpbm8nLFxuXHRcdFx0Q291bnRyeUlTTy5TYW5NYXJpbm8sXG5cdFx0XHQnMzc4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1PDo28gVG9tw6kgYW5kIFByw61uY2lwZSAoU8OjbyBUb23DqSBlIFByw61uY2lwZSknLFxuXHRcdFx0Q291bnRyeUlTTy5Tw6NvVG9tw6lBbmRQcsOtbmNpcGUsXG5cdFx0XHQnMjM5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhdWRpIEFyYWJpYSAo4oCr2KfZhNmF2YXZhNmD2Kkg2KfZhNi52LHYqNmK2Kkg2KfZhNiz2LnZiNiv2YrYqeKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5TYXVkaUFyYWJpYSxcblx0XHRcdCc5NjYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2VuZWdhbCAoU8OpbsOpZ2FsKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNlbmVnYWwsXG5cdFx0XHQnMjIxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NlcmJpYSAo0KHRgNCx0LjRmNCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNlcmJpYSxcblx0XHRcdCczODEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2V5Y2hlbGxlcycsXG5cdFx0XHRDb3VudHJ5SVNPLlNleWNoZWxsZXMsXG5cdFx0XHQnMjQ4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NpZXJyYSBMZW9uZScsXG5cdFx0XHRDb3VudHJ5SVNPLlNpZXJyYUxlb25lLFxuXHRcdFx0JzIzMidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTaW5nYXBvcmUnLFxuXHRcdFx0Q291bnRyeUlTTy5TaW5nYXBvcmUsXG5cdFx0XHQnNjUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2ludCBNYWFydGVuJyxcblx0XHRcdCdzeCcsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnNzIxJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTbG92YWtpYSAoU2xvdmVuc2tvKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNsb3Zha2lhLFxuXHRcdFx0JzQyMSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTbG92ZW5pYSAoU2xvdmVuaWphKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNsb3ZlbmlhLFxuXHRcdFx0JzM4Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTb2xvbW9uIElzbGFuZHMnLFxuXHRcdFx0Q291bnRyeUlTTy5Tb2xvbW9uSXNsYW5kcyxcblx0XHRcdCc2NzcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU29tYWxpYSAoU29vbWFhbGl5YSknLFxuXHRcdFx0Q291bnRyeUlTTy5Tb21hbGlhLFxuXHRcdFx0JzI1Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTb3V0aCBBZnJpY2EnLFxuXHRcdFx0Q291bnRyeUlTTy5Tb3V0aEFmcmljYSxcblx0XHRcdCcyNydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTb3V0aCBLb3JlYSAo64yA7ZWc66+86rWtKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNvdXRoS29yZWEsXG5cdFx0XHQnODInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU291dGggU3VkYW4gKOKAq9is2YbZiNioINin2YTYs9mI2K/Yp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNvdXRoU3VkYW4sXG5cdFx0XHQnMjExJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NwYWluIChFc3Bhw7FhKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNwYWluLFxuXHRcdFx0JzM0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NyaSBMYW5rYSAo4LeB4LeK4oCN4La74LeTIOC2veC2guC2muC3j+C3gCknLFxuXHRcdFx0Q291bnRyeUlTTy5TcmlMYW5rYSxcblx0XHRcdCc5NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTdWRhbiAo4oCr2KfZhNiz2YjYr9in2YbigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uU3VkYW4sXG5cdFx0XHQnMjQ5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1N1cmluYW1lJyxcblx0XHRcdENvdW50cnlJU08uU3VyaW5hbWUsXG5cdFx0XHQnNTk3J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1N2YWxiYXJkIGFuZCBKYW4gTWF5ZW4nLFxuXHRcdFx0Q291bnRyeUlTTy5TdmFsYmFyZEFuZEphbk1heWVuLFxuXHRcdFx0JzQ3Jyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTd2F6aWxhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5Td2F6aWxhbmQsXG5cdFx0XHQnMjY4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1N3ZWRlbiAoU3ZlcmlnZSknLFxuXHRcdFx0Q291bnRyeUlTTy5Td2VkZW4sXG5cdFx0XHQnNDYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU3dpdHplcmxhbmQgKFNjaHdlaXopJyxcblx0XHRcdENvdW50cnlJU08uU3dpdHplcmxhbmQsXG5cdFx0XHQnNDEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU3lyaWEgKOKAq9iz2YjYsdmK2KfigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uU3lyaWEsXG5cdFx0XHQnOTYzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RhaXdhbiAo5Y+w54GjKScsXG5cdFx0XHRDb3VudHJ5SVNPLlRhaXdhbixcblx0XHRcdCc4ODYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVGFqaWtpc3RhbicsXG5cdFx0XHRDb3VudHJ5SVNPLlRhamlraXN0YW4sXG5cdFx0XHQnOTkyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RhbnphbmlhJyxcblx0XHRcdENvdW50cnlJU08uVGFuemFuaWEsXG5cdFx0XHQnMjU1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RoYWlsYW5kICjguYTguJfguKIpJyxcblx0XHRcdENvdW50cnlJU08uVGhhaWxhbmQsXG5cdFx0XHQnNjYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVGltb3ItTGVzdGUnLFxuXHRcdFx0Q291bnRyeUlTTy5UaW1vckxlc3RlLFxuXHRcdFx0JzY3MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdUb2dvJyxcblx0XHRcdENvdW50cnlJU08uVG9nbyxcblx0XHRcdCcyMjgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVG9rZWxhdScsXG5cdFx0XHRDb3VudHJ5SVNPLlRva2VsYXUsXG5cdFx0XHQnNjkwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RvbmdhJyxcblx0XHRcdENvdW50cnlJU08uVG9uZ2EsXG5cdFx0XHQnNjc2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RyaW5pZGFkIGFuZCBUb2JhZ28nLFxuXHRcdFx0J3R0Jyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCc4NjgnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1R1bmlzaWEgKOKAq9iq2YjZhtiz4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlR1bmlzaWEsXG5cdFx0XHQnMjE2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1R1cmtleSAoVMO8cmtpeWUpJyxcblx0XHRcdENvdW50cnlJU08uVHVya2V5LFxuXHRcdFx0JzkwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1R1cmttZW5pc3RhbicsXG5cdFx0XHRDb3VudHJ5SVNPLlR1cmttZW5pc3Rhbixcblx0XHRcdCc5OTMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzJyxcblx0XHRcdENvdW50cnlJU08uVHVya3NBbmRDYWljb3NJc2xhbmRzLFxuXHRcdFx0JzE2NDknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVHV2YWx1Jyxcblx0XHRcdENvdW50cnlJU08uVHV2YWx1LFxuXHRcdFx0JzY4OCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVLlMuIFZpcmdpbiBJc2xhbmRzJyxcblx0XHRcdCd2aScsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMzQwJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVZ2FuZGEnLFxuXHRcdFx0Q291bnRyeUlTTy5VZ2FuZGEsXG5cdFx0XHQnMjU2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1VrcmFpbmUgKNCj0LrRgNCw0ZfQvdCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLlVrcmFpbmUsXG5cdFx0XHQnMzgwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1VuaXRlZCBBcmFiIEVtaXJhdGVzICjigKvYp9mE2KXZhdin2LHYp9iqINin2YTYudix2KjZitipINin2YTZhdiq2K3Yr9ip4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlVuaXRlZEFyYWJFbWlyYXRlcyxcblx0XHRcdCc5NzEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVW5pdGVkIEtpbmdkb20nLFxuXHRcdFx0Q291bnRyeUlTTy5Vbml0ZWRLaW5nZG9tLFxuXHRcdFx0JzQ0Jyxcblx0XHRcdDBcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVbml0ZWQgU3RhdGVzJyxcblx0XHRcdENvdW50cnlJU08uVW5pdGVkU3RhdGVzLFxuXHRcdFx0JzEnLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1VydWd1YXknLFxuXHRcdFx0Q291bnRyeUlTTy5VcnVndWF5LFxuXHRcdFx0JzU5OCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVemJla2lzdGFuIChPyrt6YmVraXN0b24pJyxcblx0XHRcdENvdW50cnlJU08uVXpiZWtpc3Rhbixcblx0XHRcdCc5OTgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVmFudWF0dScsXG5cdFx0XHRDb3VudHJ5SVNPLlZhbnVhdHUsXG5cdFx0XHQnNjc4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1ZhdGljYW4gQ2l0eSAoQ2l0dMOgIGRlbCBWYXRpY2FubyknLFxuXHRcdFx0Q291bnRyeUlTTy5WYXRpY2FuQ2l0eSxcblx0XHRcdCczOScsXG5cdFx0XHQxXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVmVuZXp1ZWxhJyxcblx0XHRcdENvdW50cnlJU08uVmVuZXp1ZWxhLFxuXHRcdFx0JzU4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1ZpZXRuYW0gKFZp4buHdCBOYW0pJyxcblx0XHRcdENvdW50cnlJU08uVmlldG5hbSxcblx0XHRcdCc4NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdXYWxsaXMgYW5kIEZ1dHVuYScsXG5cdFx0XHRDb3VudHJ5SVNPLldhbGxpc0FuZEZ1dHVuYSxcblx0XHRcdCc2ODEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnV2VzdGVybiBTYWhhcmEgKOKAq9in2YTYtdit2LHYp9ihINin2YTYutix2KjZitip4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLldlc3Rlcm5TYWhhcmEsXG5cdFx0XHQnMjEyJyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdZZW1lbiAo4oCr2KfZhNmK2YXZhuKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5ZZW1lbixcblx0XHRcdCc5NjcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnWmFtYmlhJyxcblx0XHRcdENvdW50cnlJU08uWmFtYmlhLFxuXHRcdFx0JzI2MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdaaW1iYWJ3ZScsXG5cdFx0XHRDb3VudHJ5SVNPLlppbWJhYndlLFxuXHRcdFx0JzI2Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCfDhWxhbmQgSXNsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLsOFbGFuZElzbGFuZHMsXG5cdFx0XHQnMzU4Jyxcblx0XHRcdDFcblx0XHRdXG5cdF07XG59Il19
|
|
1333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvcGhvbmUtaW5wdXQvZGF0YS9jb3VudHJ5LWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBR3ZELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRVEsaUJBQVksR0FBRztZQUNyQjtnQkFDQyw0QkFBNEI7Z0JBQzVCLFVBQVUsQ0FBQyxXQUFXO2dCQUN0QixJQUFJO2FBQ0o7WUFDRDtnQkFDQyxvQkFBb0I7Z0JBQ3BCLFVBQVUsQ0FBQyxPQUFPO2dCQUNsQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxzQkFBc0I7Z0JBQ3RCLFVBQVUsQ0FBQyxPQUFPO2dCQUNsQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxnQkFBZ0I7Z0JBQ2hCLElBQUk7Z0JBQ0osR0FBRztnQkFDSCxDQUFDO2dCQUNEO29CQUNDLEtBQUs7aUJBQ0w7YUFDRDtZQUNEO2dCQUNDLFNBQVM7Z0JBQ1QsVUFBVSxDQUFDLE9BQU87Z0JBQ2xCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLFFBQVE7Z0JBQ1IsVUFBVSxDQUFDLE1BQU07Z0JBQ2pCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLFVBQVU7Z0JBQ1YsSUFBSTtnQkFDSixHQUFHO2dCQUNILENBQUM7Z0JBQ0Q7b0JBQ0MsS0FBSztpQkFDTDthQUNEO1lBQ0Q7Z0JBQ0MscUJBQXFCO2dCQUNyQixJQUFJO2dCQUNKLEdBQUc7Z0JBQ0gsQ0FBQztnQkFDRDtvQkFDQyxLQUFLO2lCQUNMO2FBQ0Q7WUFDRDtnQkFDQyxXQUFXO2dCQUNYLFVBQVUsQ0FBQyxTQUFTO2dCQUNwQixJQUFJO2FBQ0o7WUFDRDtn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QUM7YUFDRDtZQUNEO2dCQUNDLFNBQVM7Z0JBQ1QsVUFBVSxDQUFDLE9BQU87Z0JBQ2xCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLDBCQUEwQjtnQkFDMUIsVUFBVSxDQUFDLFVBQVU7Z0JBQ3JCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLFNBQVM7Z0JBQ1QsVUFBVSxDQUFDLE9BQU87Z0JBQ2xCLEtBQUs7YUFDTDtZQUNEO2dCQUNDLG1DQUFtQztnQkFDbkMsVUFBVSxDQUFDLFdBQVc7Z0JBQ3RCLElBQUk7Z0JBQ0osQ0FBQzthQUNEO1lBQ0Q7Z0JBQ0MsV0FBVztnQkFDWCxVQUFVLENBQUMsU0FBUztnQkFDcEIsSUFBSTthQUNKO1lBQ0Q7Z0JBQ0Msb0JBQW9CO2dCQUNwQixVQUFVLENBQUMsT0FBTztnQkFDbEIsSUFBSTthQUNKO1lBQ0Q7Z0JBQ0MsbUJBQW1CO2dCQUNuQixVQUFVLENBQUMsZUFBZTtnQkFDMUIsS0FBSzthQUNMO1lBQ0Q7Z0JBQ0MscUNBQXFDO2dCQUNyQyxVQUFVLENBQUMsYUFBYTtnQkFDeEIsS0FBSztnQkFDTCxDQUFDO2FBQ0Q7WUFDRDtnQkFDQyxrQkFBa0I7Z0JBQ2xCLFVBQVUsQ0FBQyxLQUFLO2dCQUNoQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxRQUFRO2dCQUNSLFVBQVUsQ0FBQyxNQUFNO2dCQUNqQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxVQUFVO2dCQUNWLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixLQUFLO2FBQ0w7WUFDRDtnQkFDQyxlQUFlO2dCQUNmLFVBQVUsQ0FBQyxZQUFZO2dCQUN2QixLQUFLO2dCQUNMLENBQUM7YUFDRDtTQUNELENBQUM7S0FDRjs7d0dBenlDWSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ291bnRyeUlTTyB9IGZyb20gJy4uL2VudW1zL2NvdW50cnktaXNvLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ291bnRyeUNvZGUge1xuXHRwdWJsaWMgYWxsQ291bnRyaWVzID0gW1xuXHRcdFtcblx0XHRcdCdBZmdoYW5pc3RhbiAo4oCr2KfZgdi62KfZhtiz2KrYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLkFmZ2hhbmlzdGFuLFxuXHRcdFx0JzkzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FsYmFuaWEgKFNocWlww6tyaSknLFxuXHRcdFx0Q291bnRyeUlTTy5BbGJhbmlhLFxuXHRcdFx0JzM1NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBbGdlcmlhICjigKvYp9mE2KzYstin2KbYseKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5BbGdlcmlhLFxuXHRcdFx0JzIxMydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBbWVyaWNhbiBTYW1vYScsXG5cdFx0XHQnYXMnLFxuXHRcdFx0JzEnLFxuXHRcdFx0MSxcblx0XHRcdFtcblx0XHRcdFx0JzY4NCcsXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQW5kb3JyYScsXG5cdFx0XHRDb3VudHJ5SVNPLkFuZG9ycmEsXG5cdFx0XHQnMzc2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FuZ29sYScsXG5cdFx0XHRDb3VudHJ5SVNPLkFuZ29sYSxcblx0XHRcdCcyNDQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQW5ndWlsbGEnLFxuXHRcdFx0J2FpJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCcyNjQnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FudGlndWEgYW5kIEJhcmJ1ZGEnLFxuXHRcdFx0J2FnJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCcyNjgnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FyZ2VudGluYScsXG5cdFx0XHRDb3VudHJ5SVNPLkFyZ2VudGluYSxcblx0XHRcdCc1NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBcm1lbmlhICjVgNWh1bXVodW91b/VodW2KScsXG5cdFx0XHRDb3VudHJ5SVNPLkFybWVuaWEsXG5cdFx0XHQnMzc0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0FydWJhJyxcblx0XHRcdENvdW50cnlJU08uQXJ1YmEsXG5cdFx0XHQnMjk3J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0F1c3RyYWxpYScsXG5cdFx0XHRDb3VudHJ5SVNPLkF1c3RyYWxpYSxcblx0XHRcdCc2MScsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQXVzdHJpYSAow5ZzdGVycmVpY2gpJyxcblx0XHRcdENvdW50cnlJU08uQXVzdHJpYSxcblx0XHRcdCc0Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdBemVyYmFpamFuIChBesmZcmJheWNhbiknLFxuXHRcdFx0Q291bnRyeUlTTy5BemVyYmFpamFuLFxuXHRcdFx0Jzk5NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCYWhhbWFzJyxcblx0XHRcdCdicycsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMjQyJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCYWhyYWluICjigKvYp9mE2KjYrdix2YrZhuKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5CYWhyYWluLFxuXHRcdFx0Jzk3Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCYW5nbGFkZXNoICjgpqzgpr7gpoLgprLgpr7gpqbgp4fgprYpJyxcblx0XHRcdENvdW50cnlJU08uQmFuZ2xhZGVzaCxcblx0XHRcdCc4ODAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmFyYmFkb3MnLFxuXHRcdFx0J2JiJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCcyNDYnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0JlbGFydXMgKNCR0LXQu9Cw0YDRg9GB0YwpJyxcblx0XHRcdENvdW50cnlJU08uQmVsYXJ1cyxcblx0XHRcdCczNzUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmVsZ2l1bSAoQmVsZ2nDqyknLFxuXHRcdFx0Q291bnRyeUlTTy5CZWxnaXVtLFxuXHRcdFx0JzMyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0JlbGl6ZScsXG5cdFx0XHRDb3VudHJ5SVNPLkJlbGl6ZSxcblx0XHRcdCc1MDEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmVuaW4gKELDqW5pbiknLFxuXHRcdFx0Q291bnRyeUlTTy5CZW5pbixcblx0XHRcdCcyMjknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmVybXVkYScsXG5cdFx0XHQnYm0nLFxuXHRcdFx0JzEnLFxuXHRcdFx0MSxcblx0XHRcdFtcblx0XHRcdFx0JzQ0MScsXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQmh1dGFuICjgvaDgvZbgvrLgvbTgvYIpJyxcblx0XHRcdENvdW50cnlJU08uQmh1dGFuLFxuXHRcdFx0Jzk3NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCb2xpdmlhJyxcblx0XHRcdENvdW50cnlJU08uQm9saXZpYSxcblx0XHRcdCc1OTEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSAo0JHQvtGB0L3QsCDQuCDQpdC10YDRhtC10LPQvtCy0LjQvdCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLkJvc25pYUFuZEhlcnplZ292aW5hLFxuXHRcdFx0JzM4Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCb3Rzd2FuYScsXG5cdFx0XHRDb3VudHJ5SVNPLkJvdHN3YW5hLFxuXHRcdFx0JzI2Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCcmF6aWwgKEJyYXNpbCknLFxuXHRcdFx0Q291bnRyeUlTTy5CcmF6aWwsXG5cdFx0XHQnNTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5Jyxcblx0XHRcdENvdW50cnlJU08uQnJpdGlzaEluZGlhbk9jZWFuVGVycml0b3J5LFxuXHRcdFx0JzI0Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCcml0aXNoIFZpcmdpbiBJc2xhbmRzJyxcblx0XHRcdCd2ZycsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMjg0Jyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCcnVuZWknLFxuXHRcdFx0Q291bnRyeUlTTy5CcnVuZWksXG5cdFx0XHQnNjczJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0J1bGdhcmlhICjQkdGK0LvQs9Cw0YDQuNGPKScsXG5cdFx0XHRDb3VudHJ5SVNPLkJ1bGdhcmlhLFxuXHRcdFx0JzM1OSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdCdXJraW5hIEZhc28nLFxuXHRcdFx0Q291bnRyeUlTTy5CdXJraW5hRmFzbyxcblx0XHRcdCcyMjYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQnVydW5kaSAoVWJ1cnVuZGkpJyxcblx0XHRcdENvdW50cnlJU08uQnVydW5kaSxcblx0XHRcdCcyNTcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2FtYm9kaWEgKOGegOGemOGfkuGeluGeu+Geh+GetiknLFxuXHRcdFx0Q291bnRyeUlTTy5DYW1ib2RpYSxcblx0XHRcdCc4NTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2FtZXJvb24gKENhbWVyb3VuKScsXG5cdFx0XHRDb3VudHJ5SVNPLkNhbWVyb29uLFxuXHRcdFx0JzIzNydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDYW5hZGEnLFxuXHRcdFx0Q291bnRyeUlTTy5DYW5hZGEsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMjA0JywgJzIyNicsICcyMzYnLCAnMjQ5JywgJzI1MCcsICcyODknLCAnMzA2JywgJzM0MycsICczNjUnLCAnMzg3JywgJzQwMycsICc0MTYnLFxuXHRcdFx0XHQnNDE4JywgJzQzMScsICc0MzcnLCAnNDM4JywgJzQ1MCcsICc1MDYnLCAnNTE0JywgJzUxOScsICc1NDgnLCAnNTc5JywgJzU4MScsICc1ODcnLFxuXHRcdFx0XHQnNjA0JywgJzYxMycsICc2MzknLCAnNjQ3JywgJzY3MicsICc3MDUnLCAnNzA5JywgJzc0MicsICc3NzgnLCAnNzgwJywgJzc4MicsICc4MDcnLFxuXHRcdFx0XHQnODE5JywgJzgyNScsICc4NjcnLCAnODczJywgJzkwMicsICc5MDUnXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2FwZSBWZXJkZSAoS2FidSBWZXJkaSknLFxuXHRcdFx0Q291bnRyeUlTTy5DYXBlVmVyZGUsXG5cdFx0XHQnMjM4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NhcmliYmVhbiBOZXRoZXJsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLkNhcmliYmVhbk5ldGhlcmxhbmRzLFxuXHRcdFx0JzU5OScsXG5cdFx0XHQxXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2F5bWFuIElzbGFuZHMnLFxuXHRcdFx0J2t5Jyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCczNDUnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyAoUsOpcHVibGlxdWUgY2VudHJhZnJpY2FpbmUpJyxcblx0XHRcdENvdW50cnlJU08uQ2VudHJhbEFmcmljYW5SZXB1YmxpYyxcblx0XHRcdCcyMzYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2hhZCAoVGNoYWQpJyxcblx0XHRcdENvdW50cnlJU08uQ2hhZCxcblx0XHRcdCcyMzUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ2hpbGUnLFxuXHRcdFx0Q291bnRyeUlTTy5DaGlsZSxcblx0XHRcdCc1Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDaGluYSAo5Lit5Zu9KScsXG5cdFx0XHRDb3VudHJ5SVNPLkNoaW5hLFxuXHRcdFx0Jzg2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NocmlzdG1hcyBJc2xhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5DaHJpc3RtYXNJc2xhbmQsXG5cdFx0XHQnNjEnLFxuXHRcdFx0MlxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NvY29zIChLZWVsaW5nKSBJc2xhbmRzJyxcblx0XHRcdENvdW50cnlJU08uQ29jb3MsXG5cdFx0XHQnNjEnLFxuXHRcdFx0MVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0NvbG9tYmlhJyxcblx0XHRcdENvdW50cnlJU08uQ29sb21iaWEsXG5cdFx0XHQnNTcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ29tb3JvcyAo4oCr2KzYstixINin2YTZgtmF2LHigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uQ29tb3Jvcyxcblx0XHRcdCcyNjknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ29uZ28gKERSQykgKEphbWh1cmkgeWEgS2lkZW1va3Jhc2lhIHlhIEtvbmdvKScsXG5cdFx0XHRDb3VudHJ5SVNPLkNvbmdvRFJDSmFtaHVyaVlhS2lkZW1va3Jhc2lhWWFLb25nbyxcblx0XHRcdCcyNDMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ29uZ28gKFJlcHVibGljKSAoQ29uZ28tQnJhenphdmlsbGUpJyxcblx0XHRcdENvdW50cnlJU08uQ29uZ29SZXB1YmxpY0NvbmdvQnJhenphdmlsbGUsXG5cdFx0XHQnMjQyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0Nvb2sgSXNsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLkNvb2tJc2xhbmRzLFxuXHRcdFx0JzY4Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDb3N0YSBSaWNhJyxcblx0XHRcdENvdW50cnlJU08uQ29zdGFSaWNhLFxuXHRcdFx0JzUwNidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDw7R0ZSBk4oCZSXZvaXJlJyxcblx0XHRcdENvdW50cnlJU08uQ8O0dGVESXZvaXJlLFxuXHRcdFx0JzIyNSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDcm9hdGlhIChIcnZhdHNrYSknLFxuXHRcdFx0Q291bnRyeUlTTy5Dcm9hdGlhLFxuXHRcdFx0JzM4NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDdWJhJyxcblx0XHRcdENvdW50cnlJU08uQ3ViYSxcblx0XHRcdCc1Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDdXJhw6dhbycsXG5cdFx0XHRDb3VudHJ5SVNPLkN1cmHDp2FvLFxuXHRcdFx0JzU5OScsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnQ3lwcnVzICjOms+Nz4DPgc6/z4IpJyxcblx0XHRcdENvdW50cnlJU08uQ3lwcnVzLFxuXHRcdFx0JzM1Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdDemVjaCBSZXB1YmxpYyAoxIxlc2vDoSByZXB1Ymxpa2EpJyxcblx0XHRcdENvdW50cnlJU08uQ3plY2hSZXB1YmxpYyxcblx0XHRcdCc0MjAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRGVubWFyayAoRGFubWFyayknLFxuXHRcdFx0Q291bnRyeUlTTy5EZW5tYXJrLFxuXHRcdFx0JzQ1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0RqaWJvdXRpJyxcblx0XHRcdENvdW50cnlJU08uRGppYm91dGksXG5cdFx0XHQnMjUzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0RvbWluaWNhJyxcblx0XHRcdENvdW50cnlJU08uRG9taW5pY2EsXG5cdFx0XHQnMTc2Nydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdEb21pbmljYW4gUmVwdWJsaWMgKFJlcMO6YmxpY2EgRG9taW5pY2FuYSknLFxuXHRcdFx0Q291bnRyeUlTTy5Eb21pbmljYW5SZXB1YmxpYyxcblx0XHRcdCcxJyxcblx0XHRcdDIsXG5cdFx0XHRbJzgwOScsICc4MjknLCAnODQ5J11cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdFY3VhZG9yJyxcblx0XHRcdENvdW50cnlJU08uRWN1YWRvcixcblx0XHRcdCc1OTMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRWd5cHQgKOKAq9mF2LXYseKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5FZ3lwdCxcblx0XHRcdCcyMCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdFbCBTYWx2YWRvcicsXG5cdFx0XHRDb3VudHJ5SVNPLkVsU2FsdmFkb3IsXG5cdFx0XHQnNTAzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0VxdWF0b3JpYWwgR3VpbmVhIChHdWluZWEgRWN1YXRvcmlhbCknLFxuXHRcdFx0Q291bnRyeUlTTy5FcXVhdG9yaWFsR3VpbmVhLFxuXHRcdFx0JzI0MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdFcml0cmVhJyxcblx0XHRcdENvdW50cnlJU08uRXJpdHJlYSxcblx0XHRcdCcyOTEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRXN0b25pYSAoRWVzdGkpJyxcblx0XHRcdENvdW50cnlJU08uRXN0b25pYSxcblx0XHRcdCczNzInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRXRoaW9waWEnLFxuXHRcdFx0Q291bnRyeUlTTy5FdGhpb3BpYSxcblx0XHRcdCcyNTEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRmFsa2xhbmQgSXNsYW5kcyAoSXNsYXMgTWFsdmluYXMpJyxcblx0XHRcdENvdW50cnlJU08uRmFsa2xhbmRJc2xhbmRzLFxuXHRcdFx0JzUwMCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdGYXJvZSBJc2xhbmRzIChGw7hyb3lhciknLFxuXHRcdFx0Q291bnRyeUlTTy5GYXJvZUlzbGFuZHMsXG5cdFx0XHQnMjk4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0ZpamknLFxuXHRcdFx0Q291bnRyeUlTTy5GaWppLFxuXHRcdFx0JzY3OSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdGaW5sYW5kIChTdW9taSknLFxuXHRcdFx0Q291bnRyeUlTTy5GaW5sYW5kLFxuXHRcdFx0JzM1OCcsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRnJhbmNlJyxcblx0XHRcdENvdW50cnlJU08uRnJhbmNlLFxuXHRcdFx0JzMzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0ZyZW5jaCBHdWlhbmEgKEd1eWFuZSBmcmFuw6dhaXNlKScsXG5cdFx0XHRDb3VudHJ5SVNPLkZyZW5jaEd1aWFuYSxcblx0XHRcdCc1OTQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnRnJlbmNoIFBvbHluZXNpYSAoUG9seW7DqXNpZSBmcmFuw6dhaXNlKScsXG5cdFx0XHRDb3VudHJ5SVNPLkZyZW5jaFBvbHluZXNpYSxcblx0XHRcdCc2ODknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR2Fib24nLFxuXHRcdFx0Q291bnRyeUlTTy5HYWJvbixcblx0XHRcdCcyNDEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR2FtYmlhJyxcblx0XHRcdENvdW50cnlJU08uR2FtYmlhLFxuXHRcdFx0JzIyMCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHZW9yZ2lhICjhg6Hhg5Dhg6Xhg5Dhg6Dhg5fhg5Xhg5Thg5rhg50pJyxcblx0XHRcdENvdW50cnlJU08uR2VvcmdpYSxcblx0XHRcdCc5OTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR2VybWFueSAoRGV1dHNjaGxhbmQpJyxcblx0XHRcdENvdW50cnlJU08uR2VybWFueSxcblx0XHRcdCc0OSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHaGFuYSAoR2FhbmEpJyxcblx0XHRcdENvdW50cnlJU08uR2hhbmEsXG5cdFx0XHQnMjMzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0dpYnJhbHRhcicsXG5cdFx0XHRDb3VudHJ5SVNPLkdpYnJhbHRhcixcblx0XHRcdCczNTAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR3JlZWNlICjOlc67zrvOrM60zrEpJyxcblx0XHRcdENvdW50cnlJU08uR3JlZWNlLFxuXHRcdFx0JzMwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0dyZWVubGFuZCAoS2FsYWFsbGl0IE51bmFhdCknLFxuXHRcdFx0Q291bnRyeUlTTy5HcmVlbmxhbmQsXG5cdFx0XHQnMjk5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0dyZW5hZGEnLFxuXHRcdFx0Q291bnRyeUlTTy5HcmVuYWRhLFxuXHRcdFx0JzE0NzMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnR3VhZGVsb3VwZScsXG5cdFx0XHRDb3VudHJ5SVNPLkd1YWRlbG91cGUsXG5cdFx0XHQnNTkwJyxcblx0XHRcdDBcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHdWFtJyxcblx0XHRcdCdndScsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnNjcxJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHdWF0ZW1hbGEnLFxuXHRcdFx0Q291bnRyeUlTTy5HdWF0ZW1hbGEsXG5cdFx0XHQnNTAyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0d1ZXJuc2V5Jyxcblx0XHRcdENvdW50cnlJU08uR3Vlcm5zZXksXG5cdFx0XHQnNDQnLFxuXHRcdFx0MSxcblx0XHRcdFsxNDgxXVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0d1aW5lYSAoR3VpbsOpZSknLFxuXHRcdFx0Q291bnRyeUlTTy5HdWluZWEsXG5cdFx0XHQnMjI0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0d1aW5lYS1CaXNzYXUgKEd1aW7DqSBCaXNzYXUpJyxcblx0XHRcdENvdW50cnlJU08uR3VpbmVhQmlzc2F1LFxuXHRcdFx0JzI0NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdHdXlhbmEnLFxuXHRcdFx0Q291bnRyeUlTTy5HdXlhbmEsXG5cdFx0XHQnNTkyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0hhaXRpJyxcblx0XHRcdENvdW50cnlJU08uSGFpdGksXG5cdFx0XHQnNTA5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0hvbmR1cmFzJyxcblx0XHRcdENvdW50cnlJU08uSG9uZHVyYXMsXG5cdFx0XHQnNTA0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0hvbmcgS29uZyAo6aaZ5rivKScsXG5cdFx0XHRDb3VudHJ5SVNPLkhvbmdLb25nLFxuXHRcdFx0Jzg1Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdIdW5nYXJ5IChNYWd5YXJvcnN6w6FnKScsXG5cdFx0XHRDb3VudHJ5SVNPLkh1bmdhcnksXG5cdFx0XHQnMzYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSWNlbGFuZCAow41zbGFuZCknLFxuXHRcdFx0Q291bnRyeUlTTy5JY2VsYW5kLFxuXHRcdFx0JzM1NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdJbmRpYSAo4KSt4KS+4KSw4KSkKScsXG5cdFx0XHRDb3VudHJ5SVNPLkluZGlhLFxuXHRcdFx0JzkxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0luZG9uZXNpYScsXG5cdFx0XHRDb3VudHJ5SVNPLkluZG9uZXNpYSxcblx0XHRcdCc2Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdJcmFuICjigKvYp9uM2LHYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLklyYW4sXG5cdFx0XHQnOTgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSXJhcSAo4oCr2KfZhNi52LHYp9mC4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLklyYXEsXG5cdFx0XHQnOTY0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0lyZWxhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5JcmVsYW5kLFxuXHRcdFx0JzM1Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdJc2xlIG9mIE1hbicsXG5cdFx0XHRDb3VudHJ5SVNPLklzbGVPZk1hbixcblx0XHRcdCc0NCcsXG5cdFx0XHQyLFxuXHRcdFx0WzE2MjRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSXNyYWVsICjigKvXmdep16jXkNec4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLklzcmFlbCxcblx0XHRcdCc5NzInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSXRhbHkgKEl0YWxpYSknLFxuXHRcdFx0Q291bnRyeUlTTy5JdGFseSxcblx0XHRcdCczOScsXG5cdFx0XHQwXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSmFtYWljYScsXG5cdFx0XHQnam0nLFxuXHRcdFx0JzEnLFxuXHRcdFx0MSxcblx0XHRcdFtcblx0XHRcdFx0Jzg3NicsXG5cdFx0XHRdXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnSmFwYW4gKOaXpeacrCknLFxuXHRcdFx0Q291bnRyeUlTTy5KYXBhbixcblx0XHRcdCc4MSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdKZXJzZXknLFxuXHRcdFx0Q291bnRyeUlTTy5KZXJzZXksXG5cdFx0XHQnNDQnLFxuXHRcdFx0Myxcblx0XHRcdFsxNTM0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0pvcmRhbiAo4oCr2KfZhNij2LHYr9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLkpvcmRhbixcblx0XHRcdCc5NjInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS2F6YWtoc3RhbiAo0JrQsNC30LDRhdGB0YLQsNC9KScsXG5cdFx0XHRDb3VudHJ5SVNPLkthemFraHN0YW4sXG5cdFx0XHQnNycsXG5cdFx0XHQxXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS2VueWEnLFxuXHRcdFx0Q291bnRyeUlTTy5LZW55YSxcblx0XHRcdCcyNTQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS2lyaWJhdGknLFxuXHRcdFx0Q291bnRyeUlTTy5LaXJpYmF0aSxcblx0XHRcdCc2ODYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnS29zb3ZvJyxcblx0XHRcdENvdW50cnlJU08uS29zb3ZvLFxuXHRcdFx0JzM4Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdLdXdhaXQgKOKAq9in2YTZg9mI2YrYquKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5LdXdhaXQsXG5cdFx0XHQnOTY1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0t5cmd5enN0YW4gKNCa0YvRgNCz0YvQt9GB0YLQsNC9KScsXG5cdFx0XHRDb3VudHJ5SVNPLkt5cmd5enN0YW4sXG5cdFx0XHQnOTk2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0xhb3MgKOC6peC6suC6pyknLFxuXHRcdFx0Q291bnRyeUlTTy5MYW9zLFxuXHRcdFx0Jzg1Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMYXR2aWEgKExhdHZpamEpJyxcblx0XHRcdENvdW50cnlJU08uTGF0dmlhLFxuXHRcdFx0JzM3MSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMZWJhbm9uICjigKvZhNio2YbYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLkxlYmFub24sXG5cdFx0XHQnOTYxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0xlc290aG8nLFxuXHRcdFx0Q291bnRyeUlTTy5MZXNvdGhvLFxuXHRcdFx0JzI2Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMaWJlcmlhJyxcblx0XHRcdENvdW50cnlJU08uTGliZXJpYSxcblx0XHRcdCcyMzEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTGlieWEgKOKAq9mE2YrYqNmK2KfigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uTGlieWEsXG5cdFx0XHQnMjE4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J0xpZWNodGVuc3RlaW4nLFxuXHRcdFx0Q291bnRyeUlTTy5MaWVjaHRlbnN0ZWluLFxuXHRcdFx0JzQyMydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMaXRodWFuaWEgKExpZXR1dmEpJyxcblx0XHRcdENvdW50cnlJU08uTGl0aHVhbmlhLFxuXHRcdFx0JzM3MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdMdXhlbWJvdXJnJyxcblx0XHRcdENvdW50cnlJU08uTHV4ZW1ib3VyZyxcblx0XHRcdCczNTInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFjYXUgKOa+s+mWgCknLFxuXHRcdFx0Q291bnRyeUlTTy5NYWNhdSxcblx0XHRcdCc4NTMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFjZWRvbmlhIChGWVJPTSkgKNCc0LDQutC10LTQvtC90LjRmNCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hY2Vkb25pYSxcblx0XHRcdCczODknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFkYWdhc2NhciAoTWFkYWdhc2lrYXJhKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hZGFnYXNjYXIsXG5cdFx0XHQnMjYxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01hbGF3aScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hbGF3aSxcblx0XHRcdCcyNjUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFsYXlzaWEnLFxuXHRcdFx0Q291bnRyeUlTTy5NYWxheXNpYSxcblx0XHRcdCc2MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNYWxkaXZlcycsXG5cdFx0XHRDb3VudHJ5SVNPLk1hbGRpdmVzLFxuXHRcdFx0Jzk2MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNYWxpJyxcblx0XHRcdENvdW50cnlJU08uTWFsaSxcblx0XHRcdCcyMjMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFsdGEnLFxuXHRcdFx0Q291bnRyeUlTTy5NYWx0YSxcblx0XHRcdCczNTYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFyc2hhbGwgSXNsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLk1hcnNoYWxsSXNsYW5kcyxcblx0XHRcdCc2OTInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWFydGluaXF1ZScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hcnRpbmlxdWUsXG5cdFx0XHQnNTk2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01hdXJpdGFuaWEgKOKAq9mF2YjYsdmK2KrYp9mG2YrYp+KArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5NYXVyaXRhbmlhLFxuXHRcdFx0JzIyMidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNYXVyaXRpdXMgKE1vcmlzKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1hdXJpdGl1cyxcblx0XHRcdCcyMzAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTWF5b3R0ZScsXG5cdFx0XHRDb3VudHJ5SVNPLk1heW90dGUsXG5cdFx0XHQnMjYyJyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNZXhpY28gKE3DqXhpY28pJyxcblx0XHRcdENvdW50cnlJU08uTWV4aWNvLFxuXHRcdFx0JzUyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01pY3JvbmVzaWEnLFxuXHRcdFx0Q291bnRyeUlTTy5NaWNyb25lc2lhLFxuXHRcdFx0JzY5MSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb2xkb3ZhIChSZXB1YmxpY2EgTW9sZG92YSknLFxuXHRcdFx0Q291bnRyeUlTTy5Nb2xkb3ZhLFxuXHRcdFx0JzM3Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb25hY28nLFxuXHRcdFx0Q291bnRyeUlTTy5Nb25hY28sXG5cdFx0XHQnMzc3J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01vbmdvbGlhICjQnNC+0L3Qs9C+0LspJyxcblx0XHRcdENvdW50cnlJU08uTW9uZ29saWEsXG5cdFx0XHQnOTc2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01vbnRlbmVncm8gKENybmEgR29yYSknLFxuXHRcdFx0Q291bnRyeUlTTy5Nb250ZW5lZ3JvLFxuXHRcdFx0JzM4Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb250c2VycmF0Jyxcblx0XHRcdCdtcycsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnNjY0Jyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdNb3JvY2NvICjigKvYp9mE2YXYutix2KjigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uTW9yb2Njbyxcblx0XHRcdCcyMTInLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J01vemFtYmlxdWUgKE1vw6dhbWJpcXVlKScsXG5cdFx0XHRDb3VudHJ5SVNPLk1vemFtYmlxdWUsXG5cdFx0XHQnMjU4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J015YW5tYXIgKEJ1cm1hKSAo4YCZ4YC84YCU4YC64YCZ4YCsKScsXG5cdFx0XHRDb3VudHJ5SVNPLk15YW5tYXIsXG5cdFx0XHQnOTUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmFtaWJpYSAoTmFtaWJpw6spJyxcblx0XHRcdENvdW50cnlJU08uTmFtaWJpYSxcblx0XHRcdCcyNjQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmF1cnUnLFxuXHRcdFx0Q291bnRyeUlTTy5OYXVydSxcblx0XHRcdCc2NzQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmVwYWwgKOCkqOClh+CkquCkvuCksiknLFxuXHRcdFx0Q291bnRyeUlTTy5OZXBhbCxcblx0XHRcdCc5NzcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmV0aGVybGFuZHMgKE5lZGVybGFuZCknLFxuXHRcdFx0Q291bnRyeUlTTy5OZXRoZXJsYW5kcyxcblx0XHRcdCczMSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdOZXcgQ2FsZWRvbmlhIChOb3V2ZWxsZS1DYWzDqWRvbmllKScsXG5cdFx0XHRDb3VudHJ5SVNPLk5ld0NhbGVkb25pYSxcblx0XHRcdCc2ODcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmV3IFplYWxhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5OZXdaZWFsYW5kLFxuXHRcdFx0JzY0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J05pY2FyYWd1YScsXG5cdFx0XHRDb3VudHJ5SVNPLk5pY2FyYWd1YSxcblx0XHRcdCc1MDUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTmlnZXIgKE5pamFyKScsXG5cdFx0XHRDb3VudHJ5SVNPLk5pZ2VyLFxuXHRcdFx0JzIyNydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdOaWdlcmlhJyxcblx0XHRcdENvdW50cnlJU08uTmlnZXJpYSxcblx0XHRcdCcyMzQnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTml1ZScsXG5cdFx0XHRDb3VudHJ5SVNPLk5pdWUsXG5cdFx0XHQnNjgzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J05vcmZvbGsgSXNsYW5kJyxcblx0XHRcdENvdW50cnlJU08uTm9yZm9sa0lzbGFuZCxcblx0XHRcdCc2NzInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTm9ydGggS29yZWEgKOyhsOyEoCDrr7zso7zso7zsnZgg7J2466+8IOqzte2ZlOq1rSknLFxuXHRcdFx0Q291bnRyeUlTTy5Ob3J0aEtvcmVhLFxuXHRcdFx0Jzg1MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLFxuXHRcdFx0Q291bnRyeUlTTy5Ob3J0aGVybk1hcmlhbmFJc2xhbmRzLFxuXHRcdFx0JzE2NzAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnTm9yd2F5IChOb3JnZSknLFxuXHRcdFx0Q291bnRyeUlTTy5Ob3J3YXksXG5cdFx0XHQnNDcnLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J09tYW4gKOKAq9i52Y/Zhdin2YbigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uT21hbixcblx0XHRcdCc5NjgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUGFraXN0YW4gKOKAq9m+2Kfaqdiz2KrYp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlBha2lzdGFuLFxuXHRcdFx0JzkyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BhbGF1Jyxcblx0XHRcdENvdW50cnlJU08uUGFsYXUsXG5cdFx0XHQnNjgwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BhbGVzdGluZSAo4oCr2YHZhNiz2LfZitmG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhbGVzdGluZSxcblx0XHRcdCc5NzAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUGFuYW1hIChQYW5hbcOhKScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhbmFtYSxcblx0XHRcdCc1MDcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUGFwdWEgTmV3IEd1aW5lYScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhcHVhTmV3R3VpbmVhLFxuXHRcdFx0JzY3NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdQYXJhZ3VheScsXG5cdFx0XHRDb3VudHJ5SVNPLlBhcmFndWF5LFxuXHRcdFx0JzU5NSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdQZXJ1IChQZXLDuiknLFxuXHRcdFx0Q291bnRyeUlTTy5QZXJ1LFxuXHRcdFx0JzUxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BoaWxpcHBpbmVzJyxcblx0XHRcdENvdW50cnlJU08uUGhpbGlwcGluZXMsXG5cdFx0XHQnNjMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUG9sYW5kIChQb2xza2EpJyxcblx0XHRcdENvdW50cnlJU08uUG9sYW5kLFxuXHRcdFx0JzQ4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1BvcnR1Z2FsJyxcblx0XHRcdENvdW50cnlJU08uUG9ydHVnYWwsXG5cdFx0XHQnMzUxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1B1ZXJ0byBSaWNvJyxcblx0XHRcdENvdW50cnlJU08uUHVlcnRvUmljbyxcblx0XHRcdCcxJyxcblx0XHRcdDMsXG5cdFx0XHRbJzc4NycsICc5MzknXVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1FhdGFyICjigKvZgti32LHigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uUWF0YXIsXG5cdFx0XHQnOTc0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1LDqXVuaW9uIChMYSBSw6l1bmlvbiknLFxuXHRcdFx0Q291bnRyeUlTTy5Sw6l1bmlvbixcblx0XHRcdCcyNjInLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1JvbWFuaWEgKFJvbcOibmlhKScsXG5cdFx0XHRDb3VudHJ5SVNPLlJvbWFuaWEsXG5cdFx0XHQnNDAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnUnVzc2lhICjQoNC+0YHRgdC40Y8pJyxcblx0XHRcdENvdW50cnlJU08uUnVzc2lhLFxuXHRcdFx0JzcnLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1J3YW5kYScsXG5cdFx0XHRDb3VudHJ5SVNPLlJ3YW5kYSxcblx0XHRcdCcyNTAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgQmFydGjDqWxlbXkgKFNhaW50LUJhcnRow6lsZW15KScsXG5cdFx0XHRDb3VudHJ5SVNPLlNhaW50QmFydGjDqWxlbXksXG5cdFx0XHQnNTkwJyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTYWludCBIZWxlbmEnLFxuXHRcdFx0Q291bnRyeUlTTy5TYWludEhlbGVuYSxcblx0XHRcdCcyOTAnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgS2l0dHMgYW5kIE5ldmlzJyxcblx0XHRcdENvdW50cnlJU08uU2FpbnRLaXR0c0FuZE5ldmlzLFxuXHRcdFx0JzE4NjknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgTHVjaWEnLFxuXHRcdFx0J2xjJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCc3NTgnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhaW50IE1hcnRpbiAoU2FpbnQtTWFydGluIChwYXJ0aWUgZnJhbsOnYWlzZSkpJyxcblx0XHRcdENvdW50cnlJU08uU2FpbnRNYXJ0aW4sXG5cdFx0XHQnNTkwJyxcblx0XHRcdDJcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uIChTYWludC1QaWVycmUtZXQtTWlxdWVsb24pJyxcblx0XHRcdENvdW50cnlJU08uU2FpbnRQaWVycmVBbmRNaXF1ZWxvbixcblx0XHRcdCc1MDgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnLFxuXHRcdFx0J3ZjJyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCc3ODQnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhbW9hJyxcblx0XHRcdENvdW50cnlJU08uU2Ftb2EsXG5cdFx0XHQnNjg1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhbiBNYXJpbm8nLFxuXHRcdFx0Q291bnRyeUlTTy5TYW5NYXJpbm8sXG5cdFx0XHQnMzc4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1PDo28gVG9tw6kgYW5kIFByw61uY2lwZSAoU8OjbyBUb23DqSBlIFByw61uY2lwZSknLFxuXHRcdFx0Q291bnRyeUlTTy5Tw6NvVG9tw6lBbmRQcsOtbmNpcGUsXG5cdFx0XHQnMjM5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NhdWRpIEFyYWJpYSAo4oCr2KfZhNmF2YXZhNmD2Kkg2KfZhNi52LHYqNmK2Kkg2KfZhNiz2LnZiNiv2YrYqeKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5TYXVkaUFyYWJpYSxcblx0XHRcdCc5NjYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2VuZWdhbCAoU8OpbsOpZ2FsKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNlbmVnYWwsXG5cdFx0XHQnMjIxJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NlcmJpYSAo0KHRgNCx0LjRmNCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNlcmJpYSxcblx0XHRcdCczODEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2V5Y2hlbGxlcycsXG5cdFx0XHRDb3VudHJ5SVNPLlNleWNoZWxsZXMsXG5cdFx0XHQnMjQ4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NpZXJyYSBMZW9uZScsXG5cdFx0XHRDb3VudHJ5SVNPLlNpZXJyYUxlb25lLFxuXHRcdFx0JzIzMidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTaW5nYXBvcmUnLFxuXHRcdFx0Q291bnRyeUlTTy5TaW5nYXBvcmUsXG5cdFx0XHQnNjUnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU2ludCBNYWFydGVuJyxcblx0XHRcdCdzeCcsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnNzIxJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTbG92YWtpYSAoU2xvdmVuc2tvKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNsb3Zha2lhLFxuXHRcdFx0JzQyMSdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTbG92ZW5pYSAoU2xvdmVuaWphKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNsb3ZlbmlhLFxuXHRcdFx0JzM4Nidcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTb2xvbW9uIElzbGFuZHMnLFxuXHRcdFx0Q291bnRyeUlTTy5Tb2xvbW9uSXNsYW5kcyxcblx0XHRcdCc2NzcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU29tYWxpYSAoU29vbWFhbGl5YSknLFxuXHRcdFx0Q291bnRyeUlTTy5Tb21hbGlhLFxuXHRcdFx0JzI1Midcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTb3V0aCBBZnJpY2EnLFxuXHRcdFx0Q291bnRyeUlTTy5Tb3V0aEFmcmljYSxcblx0XHRcdCcyNydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTb3V0aCBLb3JlYSAo64yA7ZWc66+86rWtKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNvdXRoS29yZWEsXG5cdFx0XHQnODInXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU291dGggU3VkYW4gKOKAq9is2YbZiNioINin2YTYs9mI2K/Yp9mG4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNvdXRoU3VkYW4sXG5cdFx0XHQnMjExJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NwYWluIChFc3Bhw7FhKScsXG5cdFx0XHRDb3VudHJ5SVNPLlNwYWluLFxuXHRcdFx0JzM0J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1NyaSBMYW5rYSAo4LeB4LeK4oCN4La74LeTIOC2veC2guC2muC3j+C3gCknLFxuXHRcdFx0Q291bnRyeUlTTy5TcmlMYW5rYSxcblx0XHRcdCc5NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTdWRhbiAo4oCr2KfZhNiz2YjYr9in2YbigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uU3VkYW4sXG5cdFx0XHQnMjQ5J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1N1cmluYW1lJyxcblx0XHRcdENvdW50cnlJU08uU3VyaW5hbWUsXG5cdFx0XHQnNTk3J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1N2YWxiYXJkIGFuZCBKYW4gTWF5ZW4nLFxuXHRcdFx0Q291bnRyeUlTTy5TdmFsYmFyZEFuZEphbk1heWVuLFxuXHRcdFx0JzQ3Jyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdTd2F6aWxhbmQnLFxuXHRcdFx0Q291bnRyeUlTTy5Td2F6aWxhbmQsXG5cdFx0XHQnMjY4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1N3ZWRlbiAoU3ZlcmlnZSknLFxuXHRcdFx0Q291bnRyeUlTTy5Td2VkZW4sXG5cdFx0XHQnNDYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU3dpdHplcmxhbmQgKFNjaHdlaXopJyxcblx0XHRcdENvdW50cnlJU08uU3dpdHplcmxhbmQsXG5cdFx0XHQnNDEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnU3lyaWEgKOKAq9iz2YjYsdmK2KfigKzigI4pJyxcblx0XHRcdENvdW50cnlJU08uU3lyaWEsXG5cdFx0XHQnOTYzJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RhaXdhbiAo5Y+w54GjKScsXG5cdFx0XHRDb3VudHJ5SVNPLlRhaXdhbixcblx0XHRcdCc4ODYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVGFqaWtpc3RhbicsXG5cdFx0XHRDb3VudHJ5SVNPLlRhamlraXN0YW4sXG5cdFx0XHQnOTkyJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RhbnphbmlhJyxcblx0XHRcdENvdW50cnlJU08uVGFuemFuaWEsXG5cdFx0XHQnMjU1J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RoYWlsYW5kICjguYTguJfguKIpJyxcblx0XHRcdENvdW50cnlJU08uVGhhaWxhbmQsXG5cdFx0XHQnNjYnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVGltb3ItTGVzdGUnLFxuXHRcdFx0Q291bnRyeUlTTy5UaW1vckxlc3RlLFxuXHRcdFx0JzY3MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdUb2dvJyxcblx0XHRcdENvdW50cnlJU08uVG9nbyxcblx0XHRcdCcyMjgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVG9rZWxhdScsXG5cdFx0XHRDb3VudHJ5SVNPLlRva2VsYXUsXG5cdFx0XHQnNjkwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RvbmdhJyxcblx0XHRcdENvdW50cnlJU08uVG9uZ2EsXG5cdFx0XHQnNjc2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1RyaW5pZGFkIGFuZCBUb2JhZ28nLFxuXHRcdFx0J3R0Jyxcblx0XHRcdCcxJyxcblx0XHRcdDEsXG5cdFx0XHRbXG5cdFx0XHRcdCc4NjgnLFxuXHRcdFx0XVxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1R1bmlzaWEgKOKAq9iq2YjZhtiz4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlR1bmlzaWEsXG5cdFx0XHQnMjE2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1R1cmtleSAoVMO8cmtpeWUpJyxcblx0XHRcdENvdW50cnlJU08uVHVya2V5LFxuXHRcdFx0JzkwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1R1cmttZW5pc3RhbicsXG5cdFx0XHRDb3VudHJ5SVNPLlR1cmttZW5pc3Rhbixcblx0XHRcdCc5OTMnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzJyxcblx0XHRcdENvdW50cnlJU08uVHVya3NBbmRDYWljb3NJc2xhbmRzLFxuXHRcdFx0JzE2NDknXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVHV2YWx1Jyxcblx0XHRcdENvdW50cnlJU08uVHV2YWx1LFxuXHRcdFx0JzY4OCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVLlMuIFZpcmdpbiBJc2xhbmRzJyxcblx0XHRcdCd2aScsXG5cdFx0XHQnMScsXG5cdFx0XHQxLFxuXHRcdFx0W1xuXHRcdFx0XHQnMzQwJyxcblx0XHRcdF1cblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVZ2FuZGEnLFxuXHRcdFx0Q291bnRyeUlTTy5VZ2FuZGEsXG5cdFx0XHQnMjU2J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1VrcmFpbmUgKNCj0LrRgNCw0ZfQvdCwKScsXG5cdFx0XHRDb3VudHJ5SVNPLlVrcmFpbmUsXG5cdFx0XHQnMzgwJ1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1VuaXRlZCBBcmFiIEVtaXJhdGVzICjigKvYp9mE2KXZhdin2LHYp9iqINin2YTYudix2KjZitipINin2YTZhdiq2K3Yr9ip4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLlVuaXRlZEFyYWJFbWlyYXRlcyxcblx0XHRcdCc5NzEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVW5pdGVkIEtpbmdkb20nLFxuXHRcdFx0Q291bnRyeUlTTy5Vbml0ZWRLaW5nZG9tLFxuXHRcdFx0JzQ0Jyxcblx0XHRcdDBcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVbml0ZWQgU3RhdGVzJyxcblx0XHRcdENvdW50cnlJU08uVW5pdGVkU3RhdGVzLFxuXHRcdFx0JzEnLFxuXHRcdFx0MFxuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1VydWd1YXknLFxuXHRcdFx0Q291bnRyeUlTTy5VcnVndWF5LFxuXHRcdFx0JzU5OCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdVemJla2lzdGFuIChPyrt6YmVraXN0b24pJyxcblx0XHRcdENvdW50cnlJU08uVXpiZWtpc3Rhbixcblx0XHRcdCc5OTgnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVmFudWF0dScsXG5cdFx0XHRDb3VudHJ5SVNPLlZhbnVhdHUsXG5cdFx0XHQnNjc4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1ZhdGljYW4gQ2l0eSAoQ2l0dMOgIGRlbCBWYXRpY2FubyknLFxuXHRcdFx0Q291bnRyeUlTTy5WYXRpY2FuQ2l0eSxcblx0XHRcdCczOScsXG5cdFx0XHQxXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnVmVuZXp1ZWxhJyxcblx0XHRcdENvdW50cnlJU08uVmVuZXp1ZWxhLFxuXHRcdFx0JzU4J1xuXHRcdF0sXG5cdFx0W1xuXHRcdFx0J1ZpZXRuYW0gKFZp4buHdCBOYW0pJyxcblx0XHRcdENvdW50cnlJU08uVmlldG5hbSxcblx0XHRcdCc4NCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdXYWxsaXMgYW5kIEZ1dHVuYScsXG5cdFx0XHRDb3VudHJ5SVNPLldhbGxpc0FuZEZ1dHVuYSxcblx0XHRcdCc2ODEnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnV2VzdGVybiBTYWhhcmEgKOKAq9in2YTYtdit2LHYp9ihINin2YTYutix2KjZitip4oCs4oCOKScsXG5cdFx0XHRDb3VudHJ5SVNPLldlc3Rlcm5TYWhhcmEsXG5cdFx0XHQnMjEyJyxcblx0XHRcdDFcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdZZW1lbiAo4oCr2KfZhNmK2YXZhuKArOKAjiknLFxuXHRcdFx0Q291bnRyeUlTTy5ZZW1lbixcblx0XHRcdCc5NjcnXG5cdFx0XSxcblx0XHRbXG5cdFx0XHQnWmFtYmlhJyxcblx0XHRcdENvdW50cnlJU08uWmFtYmlhLFxuXHRcdFx0JzI2MCdcblx0XHRdLFxuXHRcdFtcblx0XHRcdCdaaW1iYWJ3ZScsXG5cdFx0XHRDb3VudHJ5SVNPLlppbWJhYndlLFxuXHRcdFx0JzI2Mydcblx0XHRdLFxuXHRcdFtcblx0XHRcdCfDhWxhbmQgSXNsYW5kcycsXG5cdFx0XHRDb3VudHJ5SVNPLsOFbGFuZElzbGFuZHMsXG5cdFx0XHQnMzU4Jyxcblx0XHRcdDFcblx0XHRdXG5cdF07XG59Il19
|
|
@@ -285,9 +285,9 @@ export class OPhoneInputComponent extends OFormDataComponent {
|
|
|
285
285
|
return placeholder;
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
-
OPhoneInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
289
|
-
OPhoneInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
290
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
288
|
+
OPhoneInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPhoneInputComponent, deps: [{ token: i1.CountryCode }, { token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
+
OPhoneInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OPhoneInputComponent, selector: "o-phone-input", inputs: { gap: "gap", countries: "countries" }, outputs: { countryChange: "countryChange", onPhoneDataChange: "onPhoneDataChange" }, host: { properties: { "class.o-phone-input": "true" } }, providers: [CountryCode], viewQueries: [{ propertyName: "countryList", first: true, predicate: ["countryList"], descendants: true }, { propertyName: "matInputRef", first: true, predicate: ["matInputRef"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"getFormGroup()\" fxLayout=\"row wrap\" [fxLayoutGap]=\"gap +' grid'\">\n <mat-form-field class=\"mat-form-phone\" [floatLabel]=\"floatLabel\" [appearance]=\"appearance\" [class.read-only]=\"isReadOnly\" fxFlex.xs\n [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"labelVisible\">{{ olabel | oTranslate }}</mat-label>\n <mat-select [value]=\"selectedCountry\" (selectionChange)=\"onCountrySelect($event)\" [disabled]=\"!enabled\">\n <mat-option *ngFor=\"let country of allCountries\" [value]=\"country\"> {{country.name}} +{{country.dialCode}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field [hideRequiredMarker]=\"hideRequiredMarker\" [class.custom-width]=\"hasCustomWidth\" class=\"icon-field\" [appearance]=\"appearance\"\n [subscriptSizing]=\"subscriptSizing\" fxFlex>\n <input #matInputRef matInput type=\"tel\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" [placeholder]=\"placeHolder\"\n (focus)=\"innerOnFocus($event)\" (blur)=\"innerOnBlur($event)\" [readonly]=\"isReadOnly\" (change)=\"onChangeEvent($event)\" [required]=\"isRequired\">\n <button type=\"button\" *ngIf=\"showClearButton\" matSuffix mat-icon-button (click)=\"onClickClearValue($event)\">\n <mat-icon svgIcon=\"ontimize:close\"></mat-icon>\n </button>\n <mat-icon matSuffix [class.mat-disabled]=\"!enabled\" class=\"svg-icon\" svgIcon=\"ontimize:phone_outline\"></mat-icon>\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *oMatError=\"hasError('validatePhoneNumber')\">\n {{ 'FORM_VALIDATION.PHONE_FORMAT' | oTranslate }}\n </mat-error>\n <mat-error *ngFor=\"let oError of getActiveOErrors()\">\n {{ oError.text | oTranslate }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [".o-phone-input{overflow:hidden}.o-phone-input .read-only{pointer-events:none}.o-phone-input .read-only .mat-mdc-select-arrow-wrapper{visibility:hidden}.o-phone-input .read-only .mdc-line-ripple:after{background-image:none}.o-phone-input .mat-mdc-form-field.icon-field{height:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.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: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "pipe", type: i12.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPhoneInputComponent, decorators: [{
|
|
291
291
|
type: Component,
|
|
292
292
|
args: [{ selector: 'o-phone-input', inputs: DEFAULT_INPUTS_O_PHONE_INPUT, encapsulation: ViewEncapsulation.None, providers: [CountryCode], host: {
|
|
293
293
|
'[class.o-phone-input]': 'true'
|
|
@@ -310,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
310
310
|
type: ViewChild,
|
|
311
311
|
args: ['matInputRef', { read: ElementRef, static: true }]
|
|
312
312
|
}] } });
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1waG9uZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9waG9uZS1pbnB1dC9vLXBob25lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L3Bob25lLWlucHV0L28tcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxLQUFLLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQztBQUc3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFHTCxrQkFBa0IsRUFDbkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFJckUsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFFMUMsS0FBSztDQUNOLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7QUFheEIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGtCQUFrQjtJQW9CMUQsSUFBSSxlQUFlLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBWUQsWUFDVSxlQUE0QixFQUNrQixJQUFvQixFQUMxRSxLQUFpQixFQUNqQixRQUFrQjtRQUVsQixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUxyQixvQkFBZSxHQUFmLGVBQWUsQ0FBYTtRQXZDN0IsY0FBUyxHQUFrQixFQUFFLENBQUM7UUFDcEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBSXBFLFFBQUcsR0FBRyxNQUFNLENBQUM7UUFFcEIscUJBQWdCLEdBQVk7WUFDMUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUUsRUFBRTtZQUNWLFNBQVMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDO1FBV0YsaUJBQVksR0FBbUIsRUFBRSxDQUFDO1FBRWxDLFdBQU0sR0FBRyxVQUFVLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBR25CLGNBQVMsR0FBUSxHQUFHLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixpQkFBWSxHQUFzQixpQkFBaUIsQ0FBQyxhQUFhLENBQUM7UUFTMUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBa0IsQ0FBQztRQUMxRCxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztZQUNsQixXQUFXLENBQUMsUUFBUSxHQUFHO2dCQUNyQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hHLE9BQU8sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQzFEO2dCQUNELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVNLGVBQWU7UUFDcEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLDZCQUE2QixFQUFFO1lBQ3pFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUYsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNsQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN4QztTQUNGO0lBQ0gsQ0FBQztJQUVTLGdDQUFnQztRQUN4QyxJQUFJO1lBQ0YsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ25GLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQy9CLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1NBRVg7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQWtCLENBQUM7UUFDMUQsSUFBSSxXQUFXLEVBQUU7WUFDZixPQUFPLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMvQjtRQUNELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLFVBQVUsR0FBa0IsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDNUQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxPQUFPLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdEMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFUyxZQUFZLENBQUMsR0FBUSxFQUFFLE9BQTBCLEVBQUUsV0FBb0IsS0FBSztRQUNwRixJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzQixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ25CLE9BQU8sR0FBRyxTQUFTLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELElBQUksUUFBUSxFQUFFO2dCQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUI7WUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUNoQztTQUNGO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQXNCO1FBQ3BDLE1BQU0sT0FBTyxHQUFZLEtBQUssQ0FBQyxLQUFLLENBQUE7UUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQztRQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7WUFDdEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7U0FDTjtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsS0FBVTtRQUMzQixLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDO0lBRVMsc0JBQXNCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0RSxDQUFDO0lBRVMscUJBQXFCO1FBQzdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsS0FBVTtRQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxNQUFNLEdBQUcsTUFBTTtnQkFDbkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO2dCQUNwRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1AsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN6QztTQUNGO0lBQ0gsQ0FBQztJQUVTLG9CQUFvQixDQUFDLGVBQW9CO1FBQ2pELElBQUksZUFBZSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxlQUFlLENBQUMsQ0FBQztTQUN6RTtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDUyxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDckIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ1Msa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxJQUFJLGVBQWUsR0FBRyxFQUFFLENBQUE7UUFDeEIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUE7UUFDN0UsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDN0QsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNwRDtRQUNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUE7SUFDcEMsQ0FBQztJQUVTLGtCQUFrQixDQUFDLE1BQWUsRUFBRSxNQUFlO1FBQzNELElBQUksY0FBYyxHQUFvQixTQUFTLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDM0MsSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtZQUM1QixjQUFjLEdBQUc7Z0JBQ2YsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFDeEIsbUJBQW1CLEVBQUUsTUFBTTtnQkFDM0IsY0FBYyxFQUFFLE1BQU07b0JBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztvQkFDL0QsQ0FBQyxDQUFDLEVBQUU7Z0JBQ04sVUFBVSxFQUFFLE1BQU07b0JBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztvQkFDM0QsQ0FBQyxDQUFDLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQy9CLFFBQVEsRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO2FBQ3ZELENBQUE7U0FDRjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQVFPLGVBQWUsQ0FDckIsV0FBbUIsRUFDbkIsV0FBbUI7UUFFbkIsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUk7WUFDRixNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFO1FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRztRQUNmLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFNTyxjQUFjLENBQUMsV0FBbUI7UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQUNoRixXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQ2pDLE1BQU0sRUFDTixHQUFHLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUN6QyxDQUFDO1FBQ0YsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqRSxXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQVFPLGlCQUFpQixDQUN2QixXQUFtQixFQUNuQixNQUF1QjtRQUd2QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFcEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQ3hDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FDN0MsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFckUsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzlFLElBQUksY0FBYyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBTWhFLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbEMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFNUyx5QkFBeUIsQ0FBQyxXQUFtQjtRQUNyRCxJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFDNUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDekMsQ0FBQztTQUNIO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUtTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5QyxNQUFNLE9BQU8sR0FBWTtnQkFDdkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3JCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNyQixRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLFNBQVMsRUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksU0FBUztnQkFDMUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUN4QyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtnQkFDeEQsV0FBVyxFQUFFLEVBQUU7YUFDaEIsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FDM0IsQ0FBQzthQUNIO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBRXhCLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzRyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3pCLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOztrSEFwVlUsb0JBQW9CLDZDQXlDVCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO3NHQXpDM0Msb0JBQW9CLHNPQUxwQixDQUFDLFdBQVcsQ0FBQyw4TUFXVSxVQUFVLGtFQzdEOUMsNjBEQTJCQTs0RkQ0QmEsb0JBQW9CO2tCQVhoQyxTQUFTOytCQUNFLGVBQWUsVUFHakIsNEJBQTRCLGlCQUNyQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsV0FBVyxDQUFDLFFBQ2xCO3dCQUNKLHVCQUF1QixFQUFFLE1BQU07cUJBQ2hDOzswQkEyQ0UsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDOzRGQXhDN0MsU0FBUztzQkFBakIsS0FBSztnQkFDYSxhQUFhO3NCQUEvQixNQUFNO2dCQUNZLGlCQUFpQjtzQkFBbkMsTUFBTTtnQkFFbUIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUM4QyxXQUFXO3NCQUFoRixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0ICogYXMgbHBuIGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XG5cbmltcG9ydCB7IEZvcm1WYWx1ZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9mb3JtLXZhbHVlLW9wdGlvbnMudHlwZSc7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRvcnMvby12YWxpZGF0b3JzJztcbmltcG9ydCB7IE9Gb3JtVmFsdWUgfSBmcm9tICcuLi8uLi9mb3JtL28tZm9ybS12YWx1ZSc7XG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBERUZBVUxUX0lOUFVUU19PX0ZPUk1fREFUQV9DT01QT05FTlQsXG4gIERFRkFVTFRfT1VUUFVUU19PX0ZPUk1fREFUQV9DT01QT05FTlQsXG4gIE9Gb3JtRGF0YUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi9vLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuaW1wb3J0IHsgQ291bnRyeUNvZGUgfSBmcm9tICcuL2RhdGEvY291bnRyeS1jb2RlJztcbmltcG9ydCB7IENvdW50cnlJU08gfSBmcm9tICcuL2VudW1zL2NvdW50cnktaXNvLmVudW0nO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJGb3JtYXQgfSBmcm9tICcuL2VudW1zL3Bob25lLW51bWJlci1mb3JtYXQuZW51bSc7XG5pbXBvcnQgeyBPUGhvbmVJbnB1dERhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhbmdlLWRhdGEnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vbW9kZWwvY291bnRyeS5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1BIT05FX0lOUFVUID0gW1xuICAvL2dhcDogU3BlY2lmeSBnYXAgYmV0d2VlbiBmaWVsZHMgaW4gcHhcbiAgJ2dhcCdcbl07XG5cbmNvbnN0IFBIT05FX1BSRUZJWCA9ICcrJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXBob25lLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXBob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19QSE9ORV9JTlBVVCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ291bnRyeUNvZGVdLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLXBob25lLWlucHV0XSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9QaG9uZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgT0Zvcm1EYXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY291bnRyaWVzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIEBPdXRwdXQoKSByZWFkb25seSBjb3VudHJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb3VudHJ5PigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgb25QaG9uZURhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE9QaG9uZUlucHV0RGF0YT4oKTtcblxuICBAVmlld0NoaWxkKCdjb3VudHJ5TGlzdCcpIGNvdW50cnlMaXN0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtYXRJbnB1dFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgbWF0SW5wdXRSZWYhOiBFbGVtZW50UmVmO1xuICBwdWJsaWMgZ2FwID0gJzE0cHgnO1xuXG4gIF9zZWxlY3RlZENvdW50cnk6IENvdW50cnkgPSB7XG4gICAgYXJlYUNvZGVzOiB1bmRlZmluZWQsXG4gICAgZGlhbENvZGU6ICcnLFxuICAgIGh0bWxJZDogJycsXG4gICAgZmxhZ0NsYXNzOiAnJyxcbiAgICBpc28yOiAnJyxcbiAgICBuYW1lOiAnJyxcbiAgICBwbGFjZUhvbGRlcjogJycsXG4gICAgcHJpb3JpdHk6IDAsXG4gIH07XG5cbiAgc2V0IHNlbGVjdGVkQ291bnRyeSh2YWx1ZTogQ291bnRyeSkge1xuICAgIHRoaXMuX3NlbGVjdGVkQ291bnRyeSA9IHZhbHVlO1xuICAgIHRoaXMucGxhY2VIb2xkZXIgPSB0aGlzLnJlc29sdmVQbGFjZWhvbGRlcigpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkQ291bnRyeSgpOiBDb3VudHJ5IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRDb3VudHJ5O1xuICB9XG5cbiAgYWxsQ291bnRyaWVzOiBBcnJheTxDb3VudHJ5PiA9IFtdO1xuXG4gIHN0YXRlcyA9IENvdW50cnlJU087XG4gIHNlbGVjdGVkU3RhdGVzID0gdGhpcy5zdGF0ZXM7XG5cbiAgLy8gSGFzIHRvIGJlICdhbnknIHRvIHByZXZlbnQgYSBuZWVkIHRvIGluc3RhbGwgQHR5cGVzL2dvb2dsZS1saWJwaG9uZW51bWJlciBieSB0aGUgcGFja2FnZSB1c2VyLi4uXG4gIHByb3RlY3RlZCBwaG9uZVV0aWw6IGFueSA9IGxwbi5QaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcbiAgcHJvdGVjdGVkIHNlcGFyYXRlRGlhbENvZGUgPSB0cnVlO1xuICBwcm90ZWN0ZWQgbnVtYmVyRm9ybWF0OiBQaG9uZU51bWJlckZvcm1hdCA9IFBob25lTnVtYmVyRm9ybWF0LkludGVybmF0aW9uYWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb3VudHJ5Q29kZURhdGE6IENvdW50cnlDb2RlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICAgIHRoaXMuZmV0Y2hDb3VudHJ5RGF0YSgpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVDb3VudHJ5RGF0YSgpO1xuICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSBhcyBPRm9ybUNvbnRyb2w7XG4gICAgaWYgKGZvcm1Db250cm9sKSB7XG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIGZvcm1Db250cm9sLmdldFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgc2VsZi5zZWxlY3RlZENvdW50cnkgJiYgc2VsZi5zZWxlY3RlZENvdW50cnkuZGlhbENvZGUpIHtcbiAgICAgICAgICByZXR1cm4gYCske3NlbGYuc2VsZWN0ZWRDb3VudHJ5LmRpYWxDb2RlfSAke3RoaXMudmFsdWV9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIGlmICh0aGlzLm9JbnB1dHNPcHRpb25zLmljb25Db2xvciA9PT0gQ29kZXMuT19JTlBVVFNfT1BUSU9OU19DT0xPUl9BQ0NFTlQpIHtcbiAgICAgIGNvbnN0IG1hdEZvcm1GaWVsZEVMID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtZm9ybS1maWVsZCcpWzFdO1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKG1hdEZvcm1GaWVsZEVMKSkge1xuICAgICAgICBtYXRGb3JtRmllbGRFTC5jbGFzc0xpc3QuYWRkKCdhY2NlbnQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWRkT250aW1pemVDdXN0b21BcHBlYXJhbmNlQ2xhc3MoKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmVsUmVmKSB7XG4gICAgICAgIGNvbnN0IG1hdEZvcm1GaWVsZEVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ21hdC1mb3JtLWZpZWxkJyk7XG4gICAgICAgIG1hdEZvcm1GaWVsZEVsLmZvckVhY2gobWF0Rm9ybSA9PiB7XG4gICAgICAgICAgbWF0Rm9ybS5jbGFzc0xpc3QuYWRkKCdtYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW9udGltaXplJyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IGFueSB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmdldEZvcm1Db250cm9sKCkgYXMgT0Zvcm1Db250cm9sO1xuICAgIGlmIChmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuIGZvcm1Db250cm9sLmdldFZhbHVlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcmVzb2x2ZVZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLnJlc29sdmVWYWxpZGF0b3JzKCk7XG4gICAgY29uc3QgY3JlYXRlUGhvbmVWYWxpZGF0b3IgPSAoKCkgPT4ge1xuICAgICAgcmV0dXJuIE9WYWxpZGF0b3JzLnBob25lVmFsaWRhdG9yKHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSwgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlJc28yKCkpO1xuICAgIH0pO1xuICAgIHZhbGlkYXRvcnMucHVzaChjcmVhdGVQaG9uZVZhbGlkYXRvcik7XG4gICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gIH1cblxuICBvbkZvcm1Db250cm9sQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgT0Zvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICB0aGlzLmVuc3VyZU9Gb3JtVmFsdWUodmFsdWUpO1xuICAgIHRoaXMuZW5zdXJlUGhvbmVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRGb3JtVmFsdWUodmFsOiBhbnksIG9wdGlvbnM/OiBGb3JtVmFsdWVPcHRpb25zLCBzZXREaXJ0eTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IHsgY291bnRyeURpYWxDb2RlLCBudW1iZXIgfSA9IHRoaXMuZ2V0U2VwYXJhdGVkVmFsdWVzKHZhbCk7XG4gICAgbGV0IGNvdW50cnkgPSB0aGlzLmdldENvdW50cnlCeURpYWxDb2RlKGNvdW50cnlEaWFsQ29kZSk7XG4gICAgY29uc3QgcGFyc2VkID0gdGhpcy5nZXRQYXJzZWROdW1iZXIobnVtYmVyLCBjb3VudHJ5ID8gY291bnRyeS5pc28yIDogdW5kZWZpbmVkKTtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHBhcnNlZCkpIHtcbiAgICAgIG51bWJlciA9IHVuZGVmaW5lZDtcbiAgICAgIGNvdW50cnkgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeTtcbiAgICB0aGlzLmVuc3VyZU9Gb3JtVmFsdWUobnVtYmVyKTtcbiAgICBpZiAodGhpcy5fZkNvbnRyb2wpIHtcbiAgICAgIHRoaXMuX2ZDb250cm9sLnNldFZhbHVlKHRoaXMudmFsdWUudmFsdWUsIG9wdGlvbnMpO1xuICAgICAgaWYgKHNldERpcnR5KSB7XG4gICAgICAgIHRoaXMuX2ZDb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fZkNvbnRyb2wuaW52YWxpZCAmJiAhdGhpcy5mb3JtLmlzSW5JbnNlcnRNb2RlKCkpIHtcbiAgICAgICAgdGhpcy5fZkNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9sZFZhbHVlID0gdGhpcy52YWx1ZS52YWx1ZTtcbiAgfVxuXG4gIG9uQ291bnRyeVNlbGVjdCh2YWx1ZTogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgY29uc3QgY291bnRyeTogQ291bnRyeSA9IHZhbHVlLnZhbHVlXG4gICAgdGhpcy5jb3VudHJ5Q2hhbmdlLmVtaXQoY291bnRyeSk7XG4gICAgdGhpcy5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeTtcbiAgICBpZiAodGhpcy5tYXRJbnB1dFJlZiAmJiB0aGlzLm1hdElucHV0UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdElucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH0sIDApXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlubmVyT25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5pbm5lck9uQmx1cihldmVudCk7XG4gICAgaWYgKHRoaXMuX2ZDb250cm9sKSB7XG4gICAgICB0aGlzLl9mQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2VsZWN0ZWRDb3VudHJ5SXNvMigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ291bnRyeSA/IHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmlzbzIgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZUNvdW50cnlEYXRhKCkge1xuICAgIGlmICh0aGlzLmNvdW50cmllcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxsQ291bnRyaWVzID0gdGhpcy5hbGxDb3VudHJpZXMuZmlsdGVyKChjKSA9PiB0aGlzLmNvdW50cmllcy5pbmNsdWRlcyhjLmlzbzIpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZW5zdXJlUGhvbmVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgbnVtYmVyID0gdGhpcy5nZXRQYXJzZWROdW1iZXIodmFsdWUsIHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5SXNvMigpKTtcbiAgICBpZiAobnVtYmVyKSB7XG4gICAgICBjb25zdCBpbnRsTm8gPSBudW1iZXJcbiAgICAgICAgPyB0aGlzLnBob25lVXRpbC5mb3JtYXQobnVtYmVyLCBscG4uUGhvbmVOdW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTClcbiAgICAgICAgOiAnJztcbiAgICAgIGlmIChpbnRsTm8pIHtcbiAgICAgICAgdGhpcy52YWx1ZS52YWx1ZSA9IHRoaXMucmVtb3ZlRGlhbENvZGUoaW50bE5vKTtcbiAgICAgICAgdGhpcy5lbWl0UGhvbmVJbnB1dERhdGEoaW50bE5vLCBudW1iZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb3VudHJ5QnlEaWFsQ29kZShjb3VudHJ5RGlhbENvZGU6IGFueSk6IENvdW50cnkge1xuICAgIGlmIChjb3VudHJ5RGlhbENvZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnNvcnRDb3VudHJpZXMoKS5maW5kKChjKSA9PiBjLmRpYWxDb2RlID09PSBjb3VudHJ5RGlhbENvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHByb3RlY3RlZCBzb3J0Q291bnRyaWVzKCk6IENvdW50cnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsQ291bnRyaWVzXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICByZXR1cm4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHk7XG4gICAgICB9KVxuICB9XG4gIHByb3RlY3RlZCBnZXRTZXBhcmF0ZWRWYWx1ZXModmFsdWU6IGFueSk6IHsgY291bnRyeURpYWxDb2RlOiBzdHJpbmcsIG51bWJlcjogc3RyaW5nIH0ge1xuICAgIGxldCBjb3VudHJ5RGlhbENvZGUgPSAnJ1xuICAgIGxldCBudW1iZXIgPSAodmFsdWUgaW5zdGFuY2VvZiBPRm9ybVZhbHVlID8gdmFsdWUudmFsdWUgOiB2YWx1ZSkgfHwgdW5kZWZpbmVkXG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKG51bWJlcikgJiYgbnVtYmVyLnN0YXJ0c1dpdGgoUEhPTkVfUFJFRklYKSkge1xuICAgICAgY291bnRyeURpYWxDb2RlID0gbnVtYmVyLnN1YnN0cigxLCBudW1iZXIuaW5kZXhPZignICcpIC0gMSk7XG4gICAgICBudW1iZXIgPSBudW1iZXIuc3Vic3RyKGNvdW50cnlEaWFsQ29kZS5sZW5ndGggKyAyKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgY291bnRyeURpYWxDb2RlLCBudW1iZXIgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRQaG9uZUlucHV0RGF0YShpbnRsTm8/OiBzdHJpbmcsIG51bWJlcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBwaG9uZUlucHV0RGF0YTogT1Bob25lSW5wdXREYXRhID0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGlzbzIgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUlzbzIoKTtcbiAgICBpZiAoaW50bE5vICYmIG51bWJlciAmJiBpc28yKSB7XG4gICAgICBwaG9uZUlucHV0RGF0YSA9IHtcbiAgICAgICAgbnVtYmVyOiB0aGlzLnZhbHVlLnZhbHVlLFxuICAgICAgICBpbnRlcm5hdGlvbmFsTnVtYmVyOiBpbnRsTm8sXG4gICAgICAgIG5hdGlvbmFsTnVtYmVyOiBudW1iZXJcbiAgICAgICAgICA/IHRoaXMucGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIGxwbi5QaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTClcbiAgICAgICAgICA6ICcnLFxuICAgICAgICBlMTY0TnVtYmVyOiBudW1iZXJcbiAgICAgICAgICA/IHRoaXMucGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIGxwbi5QaG9uZU51bWJlckZvcm1hdC5FMTY0KVxuICAgICAgICAgIDogJycsXG4gICAgICAgIGNvdW50cnlDb2RlOiBpc28yLnRvVXBwZXJDYXNlKCksXG4gICAgICAgIGRpYWxDb2RlOiBQSE9ORV9QUkVGSVggKyB0aGlzLnNlbGVjdGVkQ291bnRyeS5kaWFsQ29kZSxcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5vblBob25lRGF0YUNoYW5nZS5lbWl0KHBob25lSW5wdXREYXRhKTtcbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBIZWxwZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhcnNlIFBob25lTnVtYmVyIG9iamVjdC5cbiAgICogQHBhcmFtIHBob25lTnVtYmVyIHN0cmluZ1xuICAgKiBAcGFyYW0gY291bnRyeUNvZGUgc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIGdldFBhcnNlZE51bWJlcihcbiAgICBwaG9uZU51bWJlcjogc3RyaW5nLFxuICAgIGNvdW50cnlDb2RlOiBzdHJpbmdcbiAgKTogbHBuLlBob25lTnVtYmVyIHtcbiAgICBsZXQgbnVtYmVyOiBscG4uUGhvbmVOdW1iZXI7XG4gICAgdHJ5IHtcbiAgICAgIG51bWJlciA9IHRoaXMucGhvbmVVdGlsLnBhcnNlKHBob25lTnVtYmVyLCBjb3VudHJ5Q29kZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9IGNhdGNoIChlKSB7IH1cbiAgICByZXR1cm4gbnVtYmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFucyBkaWFsY29kZSBmcm9tIHBob25lIG51bWJlciBzdHJpbmcuXG4gICAqIEBwYXJhbSBwaG9uZU51bWJlciBzdHJpbmdcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlRGlhbENvZGUocGhvbmVOdW1iZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtYmVyID0gdGhpcy5nZXRQYXJzZWROdW1iZXIocGhvbmVOdW1iZXIsIHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5SXNvMigpKTtcbiAgICBwaG9uZU51bWJlciA9IHRoaXMucGhvbmVVdGlsLmZvcm1hdChcbiAgICAgIG51bWJlcixcbiAgICAgIGxwbi5QaG9uZU51bWJlckZvcm1hdFt0aGlzLm51bWJlckZvcm1hdF1cbiAgICApO1xuICAgIGlmIChwaG9uZU51bWJlci5zdGFydHNXaXRoKFBIT05FX1BSRUZJWCkgJiYgdGhpcy5zZXBhcmF0ZURpYWxDb2RlKSB7XG4gICAgICBwaG9uZU51bWJlciA9IHBob25lTnVtYmVyLnN1YnN0cmluZyhwaG9uZU51bWJlci5pbmRleE9mKCcgJykgKyAxKTtcbiAgICB9XG4gICAgcmV0dXJuIHBob25lTnVtYmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZnRzIHRocm91Z2ggYWxsIGNvdW50cmllcyBhbmQgcmV0dXJucyBpc28gY29kZSBvZiB0aGUgcHJpbWFyeSBjb3VudHJ5XG4gICAqIGJhc2VkIG9uIHRoZSBudW1iZXIgcHJvdmlkZWQuXG4gICAqIEBwYXJhbSBjb3VudHJ5Q29kZSBjb3VudHJ5IGNvZGUgaW4gbnVtYmVyIGZvcm1hdFxuICAgKiBAcGFyYW0gbnVtYmVyIFBob25lTnVtYmVyIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb3VudHJ5SXNvQ29kZShcbiAgICBjb3VudHJ5Q29kZTogbnVtYmVyLFxuICAgIG51bWJlcjogbHBuLlBob25lTnVtYmVyXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gV2lsbCB1c2UgdGhpcyB0byBtYXRjaCBhcmVhIGNvZGUgZnJvbSB0aGUgZmlyc3QgbnVtYmVyc1xuICAgIGNvbnN0IHJhd051bWJlciA9IG51bWJlclsndmFsdWVzXyddWycyJ10udG9TdHJpbmcoKTtcbiAgICAvLyBMaXN0IG9mIGFsbCBjb3VudHJpZXMgd2l0aCBjb3VudHJ5Q29kZSAoY2FuIGJlIG1vcmUgdGhhbiBvbmUuIGUueC4gVVMsIENBLCBETywgUFIgYWxsIGhhdmUgKzEgY291bnRyeUNvZGUpXG4gICAgY29uc3QgY291bnRyaWVzID0gdGhpcy5hbGxDb3VudHJpZXMuZmlsdGVyKFxuICAgICAgKGMpID0+IGMuZGlhbENvZGUgPT09IGNvdW50cnlDb2RlLnRvU3RyaW5nKClcbiAgICApO1xuICAgIC8vIE1haW4gY291bnRyeSBpcyB0aGUgY291bnRyeSwgd2hpY2ggaGFzIG5vIGFyZWFDb2RlcyBzcGVjaWZpZWQgaW4gY291bnRyeS1jb2RlLnRzIGZpbGUuXG4gICAgY29uc3QgbWFpbkNvdW50cnkgPSBjb3VudHJpZXMuZmluZCgoYykgPT4gYy5hcmVhQ29kZXMgPT09IHVuZGVmaW5lZCk7XG4gICAgLy8gU2Vjb25kYXJ5IGNvdW50cmllcyBhcmUgYWxsIGNvdW50cmllcywgd2hpY2ggaGF2ZSBhcmVhQ29kZXMgc3BlY2lmaWVkIGluIGNvdW50cnktY29kZS50cyBmaWxlLlxuICAgIGNvbnN0IHNlY29uZGFyeUNvdW50cmllcyA9IGNvdW50cmllcy5maWx0ZXIoKGMpID0+IGMuYXJlYUNvZGVzICE9PSB1bmRlZmluZWQpO1xuICAgIGxldCBtYXRjaGVkQ291bnRyeSA9IG1haW5Db3VudHJ5ID8gbWFpbkNvdW50cnkuaXNvMiA6IHVuZGVmaW5lZDtcblxuICAgIC8qXG4gICAgICBJdGVyYXRlIG92ZXIgZWFjaCBzZWNvbmRhcnkgY291bnRyeSBhbmQgY2hlY2sgaWYgbmF0aW9uYWxOdW1iZXIgc3RhcnRzIHdpdGggYW55IG9mIGFyZWFDb2RlcyBhdmFpbGFibGUuXG4gICAgICBJZiBubyBtYXRjaGVzIGZvdW5kLCBmYWxsYmFjayB0byB0aGUgbWFpbiBjb3VudHJ5LlxuICAgICovXG4gICAgc2Vjb25kYXJ5Q291bnRyaWVzLmZvckVhY2goKGNvdW50cnkpID0+IHtcbiAgICAgIGNvdW50cnkuYXJlYUNvZGVzLmZvckVhY2goKGFyZWFDb2RlKSA9PiB7XG4gICAgICAgIGlmIChyYXdOdW1iZXIuc3RhcnRzV2l0aChhcmVhQ29kZSkpIHtcbiAgICAgICAgICBtYXRjaGVkQ291bnRyeSA9IGNvdW50cnkuaXNvMjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlZENvdW50cnk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBmb3JtYXR0ZWQgZXhhbXBsZSBwaG9uZSBudW1iZXIgZnJvbSBwaG9uZVV0aWwuXG4gICAqIEBwYXJhbSBjb3VudHJ5Q29kZSBzdHJpbmdcbiAgICovXG4gIHByb3RlY3RlZCBnZXRQaG9uZU51bWJlclBsYWNlSG9sZGVyKGNvdW50cnlDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5waG9uZVV0aWwuZm9ybWF0KFxuICAgICAgICB0aGlzLnBob25lVXRpbC5nZXRFeGFtcGxlTnVtYmVyKGNvdW50cnlDb2RlKSxcbiAgICAgICAgbHBuLlBob25lTnVtYmVyRm9ybWF0W3RoaXMubnVtYmVyRm9ybWF0XVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJpbmcgdGhlIGxpc3QgdG8gYXZvaWQgZHVwbGljYXRlcyAoaHR0cHM6Ly9naXRodWIuY29tL3dlYmNhdDEyMzQ1L25neC1pbnRsLXRlbC1pbnB1dC9pc3N1ZXMvMjQ4KVxuICAgKi9cbiAgcHJvdGVjdGVkIGZldGNoQ291bnRyeURhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5hbGxDb3VudHJpZXMgPSBbXTtcblxuICAgIHRoaXMuY291bnRyeUNvZGVEYXRhLmFsbENvdW50cmllcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjb25zdCBjb3VudHJ5OiBDb3VudHJ5ID0ge1xuICAgICAgICBuYW1lOiBjWzBdLnRvU3RyaW5nKCksXG4gICAgICAgIGlzbzI6IGNbMV0udG9TdHJpbmcoKSxcbiAgICAgICAgZGlhbENvZGU6IGNbMl0udG9TdHJpbmcoKSxcbiAgICAgICAgcHJpb3JpdHk6ICtjWzNdIHx8IDAsXG4gICAgICAgIGFyZWFDb2RlczogKGNbNF0gYXMgc3RyaW5nW10pIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaHRtbElkOiBgaXRpLTBfX2l0ZW0tJHtjWzFdLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgZmxhZ0NsYXNzOiBgaXRpX18ke2NbMV0udG9TdHJpbmcoKS50b0xvY2FsZUxvd2VyQ2FzZSgpfWAsXG4gICAgICAgIHBsYWNlSG9sZGVyOiAnJyxcbiAgICAgIH07XG4gICAgICBpZiAoIXRoaXMub3BsYWNlaG9sZGVyKSB7XG4gICAgICAgIGNvdW50cnkucGxhY2VIb2xkZXIgPSB0aGlzLmdldFBob25lTnVtYmVyUGxhY2VIb2xkZXIoXG4gICAgICAgICAgY291bnRyeS5pc28yLnRvVXBwZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWxsQ291bnRyaWVzLnB1c2goY291bnRyeSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIC8vIElmIHRoZSB1c2VyIGRlZmluZWQgaXRzIG93biBwbGFjZWhvbGRlciB1c2luZyB0aGF0IGlucHV0IGl0IHdpbGwgb3ZlcnJpZGUgYW55IGNvdW50cnkgcGxhY2Vob2xkZXJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkgJiYgdGhpcy5zZWxlY3RlZENvdW50cnkucGxhY2VIb2xkZXIgJiYgdGhpcy5zZWxlY3RlZENvdW50cnkucGxhY2VIb2xkZXIubGVuZ3RoID4gMCkge1xuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnNlbGVjdGVkQ291bnRyeS5wbGFjZUhvbGRlcjtcbiAgICAgIGlmICh0aGlzLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnJlbW92ZURpYWxDb2RlKHBsYWNlaG9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xuICB9XG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZ2V0Rm9ybUdyb3VwKClcIiBmeExheW91dD1cInJvdyB3cmFwXCIgW2Z4TGF5b3V0R2FwXT1cImdhcCArJyBncmlkJ1wiPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZm9ybS1waG9uZVwiIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgW2NsYXNzLnJlYWQtb25seV09XCJpc1JlYWRPbmx5XCIgZnhGbGV4LnhzXG4gICAgW3N1YnNjcmlwdFNpemluZ109XCJzdWJzY3JpcHRTaXppbmdcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxWaXNpYmxlXCI+e3sgb2xhYmVsIHwgb1RyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0IFt2YWx1ZV09XCJzZWxlY3RlZENvdW50cnlcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ291bnRyeVNlbGVjdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCI+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBhbGxDb3VudHJpZXNcIiBbdmFsdWVdPVwiY291bnRyeVwiPiB7e2NvdW50cnkubmFtZX19ICt7e2NvdW50cnkuZGlhbENvZGV9fTwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCBbaGlkZVJlcXVpcmVkTWFya2VyXT1cImhpZGVSZXF1aXJlZE1hcmtlclwiIFtjbGFzcy5jdXN0b20td2lkdGhdPVwiaGFzQ3VzdG9tV2lkdGhcIiBjbGFzcz1cImljb24tZmllbGRcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBbc3Vic2NyaXB0U2l6aW5nXT1cInN1YnNjcmlwdFNpemluZ1wiIGZ4RmxleD5cbiAgICA8aW5wdXQgI21hdElucHV0UmVmIG1hdElucHV0IHR5cGU9XCJ0ZWxcIiBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgIChmb2N1cyk9XCJpbm5lck9uRm9jdXMoJGV2ZW50KVwiIChibHVyKT1cImlubmVyT25CbHVyKCRldmVudClcIiBbcmVhZG9ubHldPVwiaXNSZWFkT25seVwiIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWRcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xpY2tDbGVhclZhbHVlKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Y2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggW2NsYXNzLm1hdC1kaXNhYmxlZF09XCIhZW5hYmxlZFwiIGNsYXNzPVwic3ZnLWljb25cIiBzdmdJY29uPVwib250aW1pemU6cGhvbmVfb3V0bGluZVwiPjwvbWF0LWljb24+XG4gICAgPG1hdC1lcnJvciAqb01hdEVycm9yPVwiaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uUkVRVUlSRUQnIHwgb1RyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCd2YWxpZGF0ZVBob25lTnVtYmVyJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uUEhPTkVfRk9STUFUJyB8IG9UcmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0Zvcj1cImxldCBvRXJyb3Igb2YgZ2V0QWN0aXZlT0Vycm9ycygpXCI+XG4gICAgICB7eyBvRXJyb3IudGV4dCB8IG9UcmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1waG9uZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9waG9uZS1pbnB1dC9vLXBob25lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L3Bob25lLWlucHV0L28tcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxLQUFLLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQztBQUc3QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFHTCxrQkFBa0IsRUFDbkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7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TUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzRyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3pCLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOztpSEFwVlUsb0JBQW9CLDZDQXlDVCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO3FHQXpDM0Msb0JBQW9CLHNPQUxwQixDQUFDLFdBQVcsQ0FBQyw4TUFXVSxVQUFVLGtFQzdEOUMsNjBEQTJCQTsyRkQ0QmEsb0JBQW9CO2tCQVhoQyxTQUFTOytCQUNFLGVBQWUsVUFHakIsNEJBQTRCLGlCQUNyQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsV0FBVyxDQUFDLFFBQ2xCO3dCQUNKLHVCQUF1QixFQUFFLE1BQU07cUJBQ2hDOzswQkEyQ0UsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDOzRGQXhDN0MsU0FBUztzQkFBakIsS0FBSztnQkFDYSxhQUFhO3NCQUEvQixNQUFNO2dCQUNZLGlCQUFpQjtzQkFBbkMsTUFBTTtnQkFFbUIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUM4QyxXQUFXO3NCQUFoRixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0ICogYXMgbHBuIGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XG5cbmltcG9ydCB7IEZvcm1WYWx1ZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9mb3JtLXZhbHVlLW9wdGlvbnMudHlwZSc7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uLy4uL3ZhbGlkYXRvcnMvby12YWxpZGF0b3JzJztcbmltcG9ydCB7IE9Gb3JtVmFsdWUgfSBmcm9tICcuLi8uLi9mb3JtL28tZm9ybS12YWx1ZSc7XG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBERUZBVUxUX0lOUFVUU19PX0ZPUk1fREFUQV9DT01QT05FTlQsXG4gIERFRkFVTFRfT1VUUFVUU19PX0ZPUk1fREFUQV9DT01QT05FTlQsXG4gIE9Gb3JtRGF0YUNvbXBvbmVudFxufSBmcm9tICcuLi8uLi9vLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT0Zvcm1Db250cm9sIH0gZnJvbSAnLi4vby1mb3JtLWNvbnRyb2wuY2xhc3MnO1xuaW1wb3J0IHsgQ291bnRyeUNvZGUgfSBmcm9tICcuL2RhdGEvY291bnRyeS1jb2RlJztcbmltcG9ydCB7IENvdW50cnlJU08gfSBmcm9tICcuL2VudW1zL2NvdW50cnktaXNvLmVudW0nO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJGb3JtYXQgfSBmcm9tICcuL2VudW1zL3Bob25lLW51bWJlci1mb3JtYXQuZW51bSc7XG5pbXBvcnQgeyBPUGhvbmVJbnB1dERhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMvY2hhbmdlLWRhdGEnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vbW9kZWwvY291bnRyeS5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX1BIT05FX0lOUFVUID0gW1xuICAvL2dhcDogU3BlY2lmeSBnYXAgYmV0d2VlbiBmaWVsZHMgaW4gcHhcbiAgJ2dhcCdcbl07XG5cbmNvbnN0IFBIT05FX1BSRUZJWCA9ICcrJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXBob25lLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXBob25lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19QSE9ORV9JTlBVVCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ291bnRyeUNvZGVdLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLXBob25lLWlucHV0XSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE9QaG9uZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgT0Zvcm1EYXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY291bnRyaWVzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIEBPdXRwdXQoKSByZWFkb25seSBjb3VudHJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb3VudHJ5PigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgb25QaG9uZURhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE9QaG9uZUlucHV0RGF0YT4oKTtcblxuICBAVmlld0NoaWxkKCdjb3VudHJ5TGlzdCcpIGNvdW50cnlMaXN0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdtYXRJbnB1dFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgbWF0SW5wdXRSZWYhOiBFbGVtZW50UmVmO1xuICBwdWJsaWMgZ2FwID0gJzE0cHgnO1xuXG4gIF9zZWxlY3RlZENvdW50cnk6IENvdW50cnkgPSB7XG4gICAgYXJlYUNvZGVzOiB1bmRlZmluZWQsXG4gICAgZGlhbENvZGU6ICcnLFxuICAgIGh0bWxJZDogJycsXG4gICAgZmxhZ0NsYXNzOiAnJyxcbiAgICBpc28yOiAnJyxcbiAgICBuYW1lOiAnJyxcbiAgICBwbGFjZUhvbGRlcjogJycsXG4gICAgcHJpb3JpdHk6IDAsXG4gIH07XG5cbiAgc2V0IHNlbGVjdGVkQ291bnRyeSh2YWx1ZTogQ291bnRyeSkge1xuICAgIHRoaXMuX3NlbGVjdGVkQ291bnRyeSA9IHZhbHVlO1xuICAgIHRoaXMucGxhY2VIb2xkZXIgPSB0aGlzLnJlc29sdmVQbGFjZWhvbGRlcigpO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkQ291bnRyeSgpOiBDb3VudHJ5IHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRDb3VudHJ5O1xuICB9XG5cbiAgYWxsQ291bnRyaWVzOiBBcnJheTxDb3VudHJ5PiA9IFtdO1xuXG4gIHN0YXRlcyA9IENvdW50cnlJU087XG4gIHNlbGVjdGVkU3RhdGVzID0gdGhpcy5zdGF0ZXM7XG5cbiAgLy8gSGFzIHRvIGJlICdhbnknIHRvIHByZXZlbnQgYSBuZWVkIHRvIGluc3RhbGwgQHR5cGVzL2dvb2dsZS1saWJwaG9uZW51bWJlciBieSB0aGUgcGFja2FnZSB1c2VyLi4uXG4gIHByb3RlY3RlZCBwaG9uZVV0aWw6IGFueSA9IGxwbi5QaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcbiAgcHJvdGVjdGVkIHNlcGFyYXRlRGlhbENvZGUgPSB0cnVlO1xuICBwcm90ZWN0ZWQgbnVtYmVyRm9ybWF0OiBQaG9uZU51bWJlckZvcm1hdCA9IFBob25lTnVtYmVyRm9ybWF0LkludGVybmF0aW9uYWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb3VudHJ5Q29kZURhdGE6IENvdW50cnlDb2RlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICAgIHRoaXMuZmV0Y2hDb3VudHJ5RGF0YSgpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVDb3VudHJ5RGF0YSgpO1xuICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSBhcyBPRm9ybUNvbnRyb2w7XG4gICAgaWYgKGZvcm1Db250cm9sKSB7XG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIGZvcm1Db250cm9sLmdldFZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiYgc2VsZi5zZWxlY3RlZENvdW50cnkgJiYgc2VsZi5zZWxlY3RlZENvdW50cnkuZGlhbENvZGUpIHtcbiAgICAgICAgICByZXR1cm4gYCske3NlbGYuc2VsZWN0ZWRDb3VudHJ5LmRpYWxDb2RlfSAke3RoaXMudmFsdWV9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIGlmICh0aGlzLm9JbnB1dHNPcHRpb25zLmljb25Db2xvciA9PT0gQ29kZXMuT19JTlBVVFNfT1BUSU9OU19DT0xPUl9BQ0NFTlQpIHtcbiAgICAgIGNvbnN0IG1hdEZvcm1GaWVsZEVMID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtZm9ybS1maWVsZCcpWzFdO1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKG1hdEZvcm1GaWVsZEVMKSkge1xuICAgICAgICBtYXRGb3JtRmllbGRFTC5jbGFzc0xpc3QuYWRkKCdhY2NlbnQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWRkT250aW1pemVDdXN0b21BcHBlYXJhbmNlQ2xhc3MoKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmVsUmVmKSB7XG4gICAgICAgIGNvbnN0IG1hdEZvcm1GaWVsZEVsID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ21hdC1mb3JtLWZpZWxkJyk7XG4gICAgICAgIG1hdEZvcm1GaWVsZEVsLmZvckVhY2gobWF0Rm9ybSA9PiB7XG4gICAgICAgICAgbWF0Rm9ybS5jbGFzc0xpc3QuYWRkKCdtYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW9udGltaXplJyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFZhbHVlKCk6IGFueSB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmdldEZvcm1Db250cm9sKCkgYXMgT0Zvcm1Db250cm9sO1xuICAgIGlmIChmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuIGZvcm1Db250cm9sLmdldFZhbHVlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcmVzb2x2ZVZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLnJlc29sdmVWYWxpZGF0b3JzKCk7XG4gICAgY29uc3QgY3JlYXRlUGhvbmVWYWxpZGF0b3IgPSAoKCkgPT4ge1xuICAgICAgcmV0dXJuIE9WYWxpZGF0b3JzLnBob25lVmFsaWRhdG9yKHRoaXMuZ2V0Rm9ybUNvbnRyb2woKSwgdGhpcy5nZXRTZWxlY3RlZENvdW50cnlJc28yKCkpO1xuICAgIH0pO1xuICAgIHZhbGlkYXRvcnMucHVzaChjcmVhdGVQaG9uZVZhbGlkYXRvcik7XG4gICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gIH1cblxuICBvbkZvcm1Db250cm9sQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBuZXcgT0Zvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICB0aGlzLmVuc3VyZU9Gb3JtVmFsdWUodmFsdWUpO1xuICAgIHRoaXMuZW5zdXJlUGhvbmVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRGb3JtVmFsdWUodmFsOiBhbnksIG9wdGlvbnM/OiBGb3JtVmFsdWVPcHRpb25zLCBzZXREaXJ0eTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgbGV0IHsgY291bnRyeURpYWxDb2RlLCBudW1iZXIgfSA9IHRoaXMuZ2V0U2VwYXJhdGVkVmFsdWVzKHZhbCk7XG4gICAgbGV0IGNvdW50cnkgPSB0aGlzLmdldENvdW50cnlCeURpYWxDb2RlKGNvdW50cnlEaWFsQ29kZSk7XG4gICAgY29uc3QgcGFyc2VkID0gdGhpcy5nZXRQYXJzZWROdW1iZXIobnVtYmVyLCBjb3VudHJ5ID8gY291bnRyeS5pc28yIDogdW5kZWZpbmVkKTtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHBhcnNlZCkpIHtcbiAgICAgIG51bWJlciA9IHVuZGVmaW5lZDtcbiAgICAgIGNvdW50cnkgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeTtcbiAgICB0aGlzLmVuc3VyZU9Gb3JtVmFsdWUobnVtYmVyKTtcbiAgICBpZiAodGhpcy5fZkNvbnRyb2wpIHtcbiAgICAgIHRoaXMuX2ZDb250cm9sLnNldFZhbHVlKHRoaXMudmFsdWUudmFsdWUsIG9wdGlvbnMpO1xuICAgICAgaWYgKHNldERpcnR5KSB7XG4gICAgICAgIHRoaXMuX2ZDb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fZkNvbnRyb2wuaW52YWxpZCAmJiAhdGhpcy5mb3JtLmlzSW5JbnNlcnRNb2RlKCkpIHtcbiAgICAgICAgdGhpcy5fZkNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9sZFZhbHVlID0gdGhpcy52YWx1ZS52YWx1ZTtcbiAgfVxuXG4gIG9uQ291bnRyeVNlbGVjdCh2YWx1ZTogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgY29uc3QgY291bnRyeTogQ291bnRyeSA9IHZhbHVlLnZhbHVlXG4gICAgdGhpcy5jb3VudHJ5Q2hhbmdlLmVtaXQoY291bnRyeSk7XG4gICAgdGhpcy5zZXRWYWx1ZSh1bmRlZmluZWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeTtcbiAgICBpZiAodGhpcy5tYXRJbnB1dFJlZiAmJiB0aGlzLm1hdElucHV0UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm1hdElucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH0sIDApXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlubmVyT25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBzdXBlci5pbm5lck9uQmx1cihldmVudCk7XG4gICAgaWYgKHRoaXMuX2ZDb250cm9sKSB7XG4gICAgICB0aGlzLl9mQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2VsZWN0ZWRDb3VudHJ5SXNvMigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ291bnRyeSA/IHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmlzbzIgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZUNvdW50cnlEYXRhKCkge1xuICAgIGlmICh0aGlzLmNvdW50cmllcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxsQ291bnRyaWVzID0gdGhpcy5hbGxDb3VudHJpZXMuZmlsdGVyKChjKSA9PiB0aGlzLmNvdW50cmllcy5pbmNsdWRlcyhjLmlzbzIpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZW5zdXJlUGhvbmVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgY29uc3QgbnVtYmVyID0gdGhpcy5nZXRQYXJzZWROdW1iZXIodmFsdWUsIHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5SXNvMigpKTtcbiAgICBpZiAobnVtYmVyKSB7XG4gICAgICBjb25zdCBpbnRsTm8gPSBudW1iZXJcbiAgICAgICAgPyB0aGlzLnBob25lVXRpbC5mb3JtYXQobnVtYmVyLCBscG4uUGhvbmVOdW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTClcbiAgICAgICAgOiAnJztcbiAgICAgIGlmIChpbnRsTm8pIHtcbiAgICAgICAgdGhpcy52YWx1ZS52YWx1ZSA9IHRoaXMucmVtb3ZlRGlhbENvZGUoaW50bE5vKTtcbiAgICAgICAgdGhpcy5lbWl0UGhvbmVJbnB1dERhdGEoaW50bE5vLCBudW1iZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb3VudHJ5QnlEaWFsQ29kZShjb3VudHJ5RGlhbENvZGU6IGFueSk6IENvdW50cnkge1xuICAgIGlmIChjb3VudHJ5RGlhbENvZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnNvcnRDb3VudHJpZXMoKS5maW5kKChjKSA9PiBjLmRpYWxDb2RlID09PSBjb3VudHJ5RGlhbENvZGUpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHByb3RlY3RlZCBzb3J0Q291bnRyaWVzKCk6IENvdW50cnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsQ291bnRyaWVzXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICByZXR1cm4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHk7XG4gICAgICB9KVxuICB9XG4gIHByb3RlY3RlZCBnZXRTZXBhcmF0ZWRWYWx1ZXModmFsdWU6IGFueSk6IHsgY291bnRyeURpYWxDb2RlOiBzdHJpbmcsIG51bWJlcjogc3RyaW5nIH0ge1xuICAgIGxldCBjb3VudHJ5RGlhbENvZGUgPSAnJ1xuICAgIGxldCBudW1iZXIgPSAodmFsdWUgaW5zdGFuY2VvZiBPRm9ybVZhbHVlID8gdmFsdWUudmFsdWUgOiB2YWx1ZSkgfHwgdW5kZWZpbmVkXG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKG51bWJlcikgJiYgbnVtYmVyLnN0YXJ0c1dpdGgoUEhPTkVfUFJFRklYKSkge1xuICAgICAgY291bnRyeURpYWxDb2RlID0gbnVtYmVyLnN1YnN0cigxLCBudW1iZXIuaW5kZXhPZignICcpIC0gMSk7XG4gICAgICBudW1iZXIgPSBudW1iZXIuc3Vic3RyKGNvdW50cnlEaWFsQ29kZS5sZW5ndGggKyAyKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgY291bnRyeURpYWxDb2RlLCBudW1iZXIgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRQaG9uZUlucHV0RGF0YShpbnRsTm8/OiBzdHJpbmcsIG51bWJlcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBwaG9uZUlucHV0RGF0YTogT1Bob25lSW5wdXREYXRhID0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGlzbzIgPSB0aGlzLmdldFNlbGVjdGVkQ291bnRyeUlzbzIoKTtcbiAgICBpZiAoaW50bE5vICYmIG51bWJlciAmJiBpc28yKSB7XG4gICAgICBwaG9uZUlucHV0RGF0YSA9IHtcbiAgICAgICAgbnVtYmVyOiB0aGlzLnZhbHVlLnZhbHVlLFxuICAgICAgICBpbnRlcm5hdGlvbmFsTnVtYmVyOiBpbnRsTm8sXG4gICAgICAgIG5hdGlvbmFsTnVtYmVyOiBudW1iZXJcbiAgICAgICAgICA/IHRoaXMucGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIGxwbi5QaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTClcbiAgICAgICAgICA6ICcnLFxuICAgICAgICBlMTY0TnVtYmVyOiBudW1iZXJcbiAgICAgICAgICA/IHRoaXMucGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIGxwbi5QaG9uZU51bWJlckZvcm1hdC5FMTY0KVxuICAgICAgICAgIDogJycsXG4gICAgICAgIGNvdW50cnlDb2RlOiBpc28yLnRvVXBwZXJDYXNlKCksXG4gICAgICAgIGRpYWxDb2RlOiBQSE9ORV9QUkVGSVggKyB0aGlzLnNlbGVjdGVkQ291bnRyeS5kaWFsQ29kZSxcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5vblBob25lRGF0YUNoYW5nZS5lbWl0KHBob25lSW5wdXREYXRhKTtcbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBIZWxwZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhcnNlIFBob25lTnVtYmVyIG9iamVjdC5cbiAgICogQHBhcmFtIHBob25lTnVtYmVyIHN0cmluZ1xuICAgKiBAcGFyYW0gY291bnRyeUNvZGUgc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIGdldFBhcnNlZE51bWJlcihcbiAgICBwaG9uZU51bWJlcjogc3RyaW5nLFxuICAgIGNvdW50cnlDb2RlOiBzdHJpbmdcbiAgKTogbHBuLlBob25lTnVtYmVyIHtcbiAgICBsZXQgbnVtYmVyOiBscG4uUGhvbmVOdW1iZXI7XG4gICAgdHJ5IHtcbiAgICAgIG51bWJlciA9IHRoaXMucGhvbmVVdGlsLnBhcnNlKHBob25lTnVtYmVyLCBjb3VudHJ5Q29kZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9IGNhdGNoIChlKSB7IH1cbiAgICByZXR1cm4gbnVtYmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFucyBkaWFsY29kZSBmcm9tIHBob25lIG51bWJlciBzdHJpbmcuXG4gICAqIEBwYXJhbSBwaG9uZU51bWJlciBzdHJpbmdcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlRGlhbENvZGUocGhvbmVOdW1iZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtYmVyID0gdGhpcy5nZXRQYXJzZWROdW1iZXIocGhvbmVOdW1iZXIsIHRoaXMuZ2V0U2VsZWN0ZWRDb3VudHJ5SXNvMigpKTtcbiAgICBwaG9uZU51bWJlciA9IHRoaXMucGhvbmVVdGlsLmZvcm1hdChcbiAgICAgIG51bWJlcixcbiAgICAgIGxwbi5QaG9uZU51bWJlckZvcm1hdFt0aGlzLm51bWJlckZvcm1hdF1cbiAgICApO1xuICAgIGlmIChwaG9uZU51bWJlci5zdGFydHNXaXRoKFBIT05FX1BSRUZJWCkgJiYgdGhpcy5zZXBhcmF0ZURpYWxDb2RlKSB7XG4gICAgICBwaG9uZU51bWJlciA9IHBob25lTnVtYmVyLnN1YnN0cmluZyhwaG9uZU51bWJlci5pbmRleE9mKCcgJykgKyAxKTtcbiAgICB9XG4gICAgcmV0dXJuIHBob25lTnVtYmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZnRzIHRocm91Z2ggYWxsIGNvdW50cmllcyBhbmQgcmV0dXJucyBpc28gY29kZSBvZiB0aGUgcHJpbWFyeSBjb3VudHJ5XG4gICAqIGJhc2VkIG9uIHRoZSBudW1iZXIgcHJvdmlkZWQuXG4gICAqIEBwYXJhbSBjb3VudHJ5Q29kZSBjb3VudHJ5IGNvZGUgaW4gbnVtYmVyIGZvcm1hdFxuICAgKiBAcGFyYW0gbnVtYmVyIFBob25lTnVtYmVyIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb3VudHJ5SXNvQ29kZShcbiAgICBjb3VudHJ5Q29kZTogbnVtYmVyLFxuICAgIG51bWJlcjogbHBuLlBob25lTnVtYmVyXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gV2lsbCB1c2UgdGhpcyB0byBtYXRjaCBhcmVhIGNvZGUgZnJvbSB0aGUgZmlyc3QgbnVtYmVyc1xuICAgIGNvbnN0IHJhd051bWJlciA9IG51bWJlclsndmFsdWVzXyddWycyJ10udG9TdHJpbmcoKTtcbiAgICAvLyBMaXN0IG9mIGFsbCBjb3VudHJpZXMgd2l0aCBjb3VudHJ5Q29kZSAoY2FuIGJlIG1vcmUgdGhhbiBvbmUuIGUueC4gVVMsIENBLCBETywgUFIgYWxsIGhhdmUgKzEgY291bnRyeUNvZGUpXG4gICAgY29uc3QgY291bnRyaWVzID0gdGhpcy5hbGxDb3VudHJpZXMuZmlsdGVyKFxuICAgICAgKGMpID0+IGMuZGlhbENvZGUgPT09IGNvdW50cnlDb2RlLnRvU3RyaW5nKClcbiAgICApO1xuICAgIC8vIE1haW4gY291bnRyeSBpcyB0aGUgY291bnRyeSwgd2hpY2ggaGFzIG5vIGFyZWFDb2RlcyBzcGVjaWZpZWQgaW4gY291bnRyeS1jb2RlLnRzIGZpbGUuXG4gICAgY29uc3QgbWFpbkNvdW50cnkgPSBjb3VudHJpZXMuZmluZCgoYykgPT4gYy5hcmVhQ29kZXMgPT09IHVuZGVmaW5lZCk7XG4gICAgLy8gU2Vjb25kYXJ5IGNvdW50cmllcyBhcmUgYWxsIGNvdW50cmllcywgd2hpY2ggaGF2ZSBhcmVhQ29kZXMgc3BlY2lmaWVkIGluIGNvdW50cnktY29kZS50cyBmaWxlLlxuICAgIGNvbnN0IHNlY29uZGFyeUNvdW50cmllcyA9IGNvdW50cmllcy5maWx0ZXIoKGMpID0+IGMuYXJlYUNvZGVzICE9PSB1bmRlZmluZWQpO1xuICAgIGxldCBtYXRjaGVkQ291bnRyeSA9IG1haW5Db3VudHJ5ID8gbWFpbkNvdW50cnkuaXNvMiA6IHVuZGVmaW5lZDtcblxuICAgIC8qXG4gICAgICBJdGVyYXRlIG92ZXIgZWFjaCBzZWNvbmRhcnkgY291bnRyeSBhbmQgY2hlY2sgaWYgbmF0aW9uYWxOdW1iZXIgc3RhcnRzIHdpdGggYW55IG9mIGFyZWFDb2RlcyBhdmFpbGFibGUuXG4gICAgICBJZiBubyBtYXRjaGVzIGZvdW5kLCBmYWxsYmFjayB0byB0aGUgbWFpbiBjb3VudHJ5LlxuICAgICovXG4gICAgc2Vjb25kYXJ5Q291bnRyaWVzLmZvckVhY2goKGNvdW50cnkpID0+IHtcbiAgICAgIGNvdW50cnkuYXJlYUNvZGVzLmZvckVhY2goKGFyZWFDb2RlKSA9PiB7XG4gICAgICAgIGlmIChyYXdOdW1iZXIuc3RhcnRzV2l0aChhcmVhQ29kZSkpIHtcbiAgICAgICAgICBtYXRjaGVkQ291bnRyeSA9IGNvdW50cnkuaXNvMjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlZENvdW50cnk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBmb3JtYXR0ZWQgZXhhbXBsZSBwaG9uZSBudW1iZXIgZnJvbSBwaG9uZVV0aWwuXG4gICAqIEBwYXJhbSBjb3VudHJ5Q29kZSBzdHJpbmdcbiAgICovXG4gIHByb3RlY3RlZCBnZXRQaG9uZU51bWJlclBsYWNlSG9sZGVyKGNvdW50cnlDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5waG9uZVV0aWwuZm9ybWF0KFxuICAgICAgICB0aGlzLnBob25lVXRpbC5nZXRFeGFtcGxlTnVtYmVyKGNvdW50cnlDb2RlKSxcbiAgICAgICAgbHBuLlBob25lTnVtYmVyRm9ybWF0W3RoaXMubnVtYmVyRm9ybWF0XVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJpbmcgdGhlIGxpc3QgdG8gYXZvaWQgZHVwbGljYXRlcyAoaHR0cHM6Ly9naXRodWIuY29tL3dlYmNhdDEyMzQ1L25neC1pbnRsLXRlbC1pbnB1dC9pc3N1ZXMvMjQ4KVxuICAgKi9cbiAgcHJvdGVjdGVkIGZldGNoQ291bnRyeURhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5hbGxDb3VudHJpZXMgPSBbXTtcblxuICAgIHRoaXMuY291bnRyeUNvZGVEYXRhLmFsbENvdW50cmllcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjb25zdCBjb3VudHJ5OiBDb3VudHJ5ID0ge1xuICAgICAgICBuYW1lOiBjWzBdLnRvU3RyaW5nKCksXG4gICAgICAgIGlzbzI6IGNbMV0udG9TdHJpbmcoKSxcbiAgICAgICAgZGlhbENvZGU6IGNbMl0udG9TdHJpbmcoKSxcbiAgICAgICAgcHJpb3JpdHk6ICtjWzNdIHx8IDAsXG4gICAgICAgIGFyZWFDb2RlczogKGNbNF0gYXMgc3RyaW5nW10pIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaHRtbElkOiBgaXRpLTBfX2l0ZW0tJHtjWzFdLnRvU3RyaW5nKCl9YCxcbiAgICAgICAgZmxhZ0NsYXNzOiBgaXRpX18ke2NbMV0udG9TdHJpbmcoKS50b0xvY2FsZUxvd2VyQ2FzZSgpfWAsXG4gICAgICAgIHBsYWNlSG9sZGVyOiAnJyxcbiAgICAgIH07XG4gICAgICBpZiAoIXRoaXMub3BsYWNlaG9sZGVyKSB7XG4gICAgICAgIGNvdW50cnkucGxhY2VIb2xkZXIgPSB0aGlzLmdldFBob25lTnVtYmVyUGxhY2VIb2xkZXIoXG4gICAgICAgICAgY291bnRyeS5pc28yLnRvVXBwZXJDYXNlKClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWxsQ291bnRyaWVzLnB1c2goY291bnRyeSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIC8vIElmIHRoZSB1c2VyIGRlZmluZWQgaXRzIG93biBwbGFjZWhvbGRlciB1c2luZyB0aGF0IGlucHV0IGl0IHdpbGwgb3ZlcnJpZGUgYW55IGNvdW50cnkgcGxhY2Vob2xkZXJcbiAgICBsZXQgcGxhY2Vob2xkZXIgPSAnJztcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkgJiYgdGhpcy5zZWxlY3RlZENvdW50cnkucGxhY2VIb2xkZXIgJiYgdGhpcy5zZWxlY3RlZENvdW50cnkucGxhY2VIb2xkZXIubGVuZ3RoID4gMCkge1xuICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnNlbGVjdGVkQ291bnRyeS5wbGFjZUhvbGRlcjtcbiAgICAgIGlmICh0aGlzLnNlcGFyYXRlRGlhbENvZGUpIHtcbiAgICAgICAgcGxhY2Vob2xkZXIgPSB0aGlzLnJlbW92ZURpYWxDb2RlKHBsYWNlaG9sZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xuICB9XG59XG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZ2V0Rm9ybUdyb3VwKClcIiBmeExheW91dD1cInJvdyB3cmFwXCIgW2Z4TGF5b3V0R2FwXT1cImdhcCArJyBncmlkJ1wiPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtZm9ybS1waG9uZVwiIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgW2NsYXNzLnJlYWQtb25seV09XCJpc1JlYWRPbmx5XCIgZnhGbGV4LnhzXG4gICAgW3N1YnNjcmlwdFNpemluZ109XCJzdWJzY3JpcHRTaXppbmdcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxWaXNpYmxlXCI+e3sgb2xhYmVsIHwgb1RyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0IFt2YWx1ZV09XCJzZWxlY3RlZENvdW50cnlcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ291bnRyeVNlbGVjdCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCI+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBhbGxDb3VudHJpZXNcIiBbdmFsdWVdPVwiY291bnRyeVwiPiB7e2NvdW50cnkubmFtZX19ICt7e2NvdW50cnkuZGlhbENvZGV9fTwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCBbaGlkZVJlcXVpcmVkTWFya2VyXT1cImhpZGVSZXF1aXJlZE1hcmtlclwiIFtjbGFzcy5jdXN0b20td2lkdGhdPVwiaGFzQ3VzdG9tV2lkdGhcIiBjbGFzcz1cImljb24tZmllbGRcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBbc3Vic2NyaXB0U2l6aW5nXT1cInN1YnNjcmlwdFNpemluZ1wiIGZ4RmxleD5cbiAgICA8aW5wdXQgI21hdElucHV0UmVmIG1hdElucHV0IHR5cGU9XCJ0ZWxcIiBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgIChmb2N1cyk9XCJpbm5lck9uRm9jdXMoJGV2ZW50KVwiIChibHVyKT1cImlubmVyT25CbHVyKCRldmVudClcIiBbcmVhZG9ubHldPVwiaXNSZWFkT25seVwiIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWRcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cInNob3dDbGVhckJ1dHRvblwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xpY2tDbGVhclZhbHVlKCRldmVudClcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Y2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtaWNvbiBtYXRTdWZmaXggW2NsYXNzLm1hdC1kaXNhYmxlZF09XCIhZW5hYmxlZFwiIGNsYXNzPVwic3ZnLWljb25cIiBzdmdJY29uPVwib250aW1pemU6cGhvbmVfb3V0bGluZVwiPjwvbWF0LWljb24+XG4gICAgPG1hdC1lcnJvciAqb01hdEVycm9yPVwiaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uUkVRVUlSRUQnIHwgb1RyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCd2YWxpZGF0ZVBob25lTnVtYmVyJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uUEhPTkVfRk9STUFUJyB8IG9UcmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpuZ0Zvcj1cImxldCBvRXJyb3Igb2YgZ2V0QWN0aXZlT0Vycm9ycygpXCI+XG4gICAgICB7eyBvRXJyb3IudGV4dCB8IG9UcmFuc2xhdGUgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|
|
@@ -5,10 +5,10 @@ import { OPhoneInputComponent } from './o-phone-input.component';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class OPhoneInputModule {
|
|
7
7
|
}
|
|
8
|
-
OPhoneInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
9
|
-
OPhoneInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
10
|
-
OPhoneInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
8
|
+
OPhoneInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPhoneInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
OPhoneInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: OPhoneInputModule, declarations: [OPhoneInputComponent], imports: [CommonModule, OSharedModule], exports: [OPhoneInputComponent] });
|
|
10
|
+
OPhoneInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPhoneInputModule, imports: [CommonModule, OSharedModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OPhoneInputModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [OPhoneInputComponent],
|
|
@@ -16,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
16
16
|
exports: [OPhoneInputComponent],
|
|
17
17
|
}]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1waG9uZS1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9waG9uZS1pbnB1dC9vLXBob25lLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBT2pFLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFKZCxvQkFBb0IsYUFDekIsWUFBWSxFQUFFLGFBQWEsYUFDM0Isb0JBQW9COytHQUVsQixpQkFBaUIsWUFIbkIsWUFBWSxFQUFFLGFBQWE7MkZBR3pCLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9TaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBPUGhvbmVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vby1waG9uZS1pbnB1dC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtPUGhvbmVJbnB1dENvbXBvbmVudF0sXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE9TaGFyZWRNb2R1bGVdLFxuXHRleHBvcnRzOiBbT1Bob25lSW5wdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBPUGhvbmVJbnB1dE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -88,11 +88,11 @@ export class ORadioComponent extends OFormServiceComponent {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
ORadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
92
|
-
ORadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
91
|
+
ORadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ORadioComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
+
ORadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ORadioComponent, selector: "o-radio", inputs: { layout: "layout", labelPosition: ["label-position", "labelPosition"], labelGap: ["label-gap", "labelGap"] }, host: { properties: { "class.o-radio": "true" } }, providers: [
|
|
93
93
|
OntimizeServiceProvider
|
|
94
94
|
], viewQueries: [{ propertyName: "mrg", first: true, predicate: MatRadioGroup, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"getFormGroup()\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\"\n [matTooltipPosition]=\"tooltipPosition\" [matTooltipShowDelay]=\"tooltipShowDelay\"\n [matTooltipHideDelay]=\"tooltipHideDelay\" class=\"relative\" [oContextMenu]=\"oContextMenu\">\n <!-- mat-form-field and hidden input are used only for displaying component label and errors as mat-radio is not supported inside form-field -->\n <!-- https://github.com/angular/material2/issues/7891 -->\n <mat-form-field [appearance]=\"appearance\" [hideRequiredMarker]=\"hideRequiredMarker\"\n [class.read-only]=\"isReadOnly\" [class.custom-width]=\"hasCustomWidth\" [class.o-radio-from-field-row]=\"layout==='row'\"\n floatLabel=\"always\" class=\"mat-form-field--no-underline\" fxFill [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"labelVisible\">{{ olabel | oTranslate }}</mat-label>\n <input matInput [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" [placeholder]=\"placeHolder\"\n [required]=\"isRequired\" style=\"display: none\" />\n <mat-radio-group [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" [name]=\"getAttribute()\"\n [value]=\"getValue()\" [required]=\"isRequired\" [labelPosition]=\"labelPosition\"\n (change)=\"onMatRadioGroupChange($event)\" [fxLayout]=\"layout\" [fxLayoutGap]=\"labelGap\">\n <mat-radio-button [id]=\"'o-radio-button-'+i\" *ngFor=\"let item of dataArray;let i = index\" [value]=\"getValueColumn(item)\"\n [disabled]=\"!enabled\">\n {{ getOptionDescriptionValue(item) }}\n </mat-radio-button>\n </mat-radio-group>\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *ngFor=\"let oError of getActiveOErrors()\">\n {{ oError.text | oTranslate }}\n </mat-error>\n </mat-form-field>\n <div *ngIf=\"isReadOnly\" (click)=\"$event.stopPropagation()\" class=\"read-only-blocker\" fxFill></div>\n\n <o-context-menu *ngIf=\"!this.isReadOnly && this.enabled\">\n <o-context-menu-item attr=\"refresh\" label=\"FORM_SERVICE_COMPONENT.REFRESH\" svg-icon=\"ontimize:autorenew\" (execute)=\"refresh()\">\n </o-context-menu-item>\n </o-context-menu>\n</div>\n", styles: [".o-radio .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.o-radio .mat-mdc-form-field:not(.custom-width).o-radio-from-field-row .mat-mdc-form-field-infix{width:auto}.o-radio .read-only-blocker{z-index:2;position:absolute;top:0;left:0;right:0}\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: 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.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i7.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i9.OContextMenuDirective, selector: "[oContextMenu]", inputs: ["oContextMenu", "oContextMenuData"] }, { kind: "component", type: i10.OContextMenuComponent, selector: "o-context-menu", outputs: ["onShow", "onClose"] }, { kind: "component", type: i11.OContextMenuItemComponent, selector: "o-context-menu-item", outputs: ["execute"] }, { kind: "pipe", type: i12.OTranslatePipe, name: "oTranslate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ORadioComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
97
|
args: [{ selector: 'o-radio', inputs: DEFAULT_INPUTS_O_RADIO, providers: [
|
|
98
98
|
OntimizeServiceProvider
|
|
@@ -108,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
108
108
|
type: ViewChild,
|
|
109
109
|
args: [MatRadioGroup]
|
|
110
110
|
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1yYWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9yYWRpby9vLXJhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L3JhZGlvL28tcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFFMUUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsUUFBUTtJQUNSLCtCQUErQjtJQUMvQixxQkFBcUI7Q0FDdEIsQ0FBQztBQWdCRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxxQkFBcUI7SUFheEQsWUFDd0QsSUFBb0IsRUFDMUUsS0FBaUIsRUFDakIsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFmeEIsV0FB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bGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSYWRpb0NoYW5nZSwgTWF0UmFkaW9Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcblxuaW1wb3J0IHsgT250aW1pemVTZXJ2aWNlUHJvdmlkZXIgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mYWN0b3JpZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybVZhbHVlIH0gZnJvbSAnLi4vLi4vZm9ybS9vLWZvcm0tdmFsdWUnO1xuaW1wb3J0IHsgT0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9mb3JtL28tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT1ZhbHVlQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi9vLXZhbHVlLWNoYW5nZS1ldmVudC5jbGFzcyc7XG5pbXBvcnQgeyBPRm9ybVNlcnZpY2VDb21wb25lbnQgfSBmcm9tICcuLi9vLWZvcm0tc2VydmljZS1jb21wb25lbnQuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19SQURJTyA9IFtcbiAgJ2xheW91dCcsXG4gICdsYWJlbFBvc2l0aW9uOiBsYWJlbC1wb3NpdGlvbicsXG4gICdsYWJlbEdhcDogbGFiZWwtZ2FwJ1xuXTtcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXJhZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXJhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19SQURJTyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgT250aW1pemVTZXJ2aWNlUHJvdmlkZXJcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby1yYWRpb10nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBPRm9ybVNlcnZpY2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qIElucHV0cyAqL1xuICBwdWJsaWMgbGF5b3V0OiAncm93JyB8ICdjb2x1bW4nID0gJ2NvbHVtbic7XG4gIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuICBwdWJsaWMgbGFiZWxHYXAgPSAnOHB4J1xuICAvKiBFbmQgaW5wdXRzKi9cblxuICB2YWx1ZTogT0Zvcm1WYWx1ZTtcbiAgdGFic1N1YnNjcmlwdGlvbnM6IGFueTtcbiAgQFZpZXdDaGlsZChNYXRSYWRpb0dyb3VwKSBtcmc6IE1hdFJhZGlvR3JvdXA7XG4gIGZvcm1MYXlvdXRNYW5hZ2VyVGFiSW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gT0Zvcm1Db21wb25lbnQpKSBmb3JtOiBPRm9ybUNvbXBvbmVudCxcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZm9ybSwgZWxSZWYsIGluamVjdG9yKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICBpZiAodGhpcy5xdWVyeU9uSW5pdCkge1xuICAgICAgdGhpcy5xdWVyeURhdGEoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVGb3JtTGF5b3V0TWFuYWdlclN0YXRlKCk7XG4gIH1cblxuICB1cGRhdGVGb3JtTGF5b3V0TWFuYWdlclN0YXRlKCkge1xuICAgIGNvbnN0IGZvcm1MYXlvdXRNYW5hZ2VyID0gdGhpcy5mb3JtLmdldEZvcm1NYW5hZ2VyKCk7XG5cbiAgICBpZiAoZm9ybUxheW91dE1hbmFnZXIgJiYgZm9ybUxheW91dE1hbmFnZXIuc3RvcmVTdGF0ZSAmJiBmb3JtTGF5b3V0TWFuYWdlci5pc1RhYk1vZGUoKSAmJiBmb3JtTGF5b3V0TWFuYWdlci5vVGFiR3JvdXApIHtcbiAgICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5mb3JtTGF5b3V0TWFuYWdlclRhYkluZGV4KSkge1xuICAgICAgICBjb25zdCB0YWJHcm91cERhdGEgPSBmb3JtTGF5b3V0TWFuYWdlci5vVGFiR3JvdXAuZGF0YTtcblxuICAgICAgICBjb25zdCBrZXlzVmFsdWVzID0gdGhpcy5mb3JtLmdldEZvcm1OYXZpZ2F0aW9uKCkuZ2V0Q3VycmVudEtleXNWYWx1ZXMoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRhYkdyb3VwRGF0YS5maW5kKGl0ZW0gPT5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyhrZXlzVmFsdWVzKS5ldmVyeShcbiAgICAgICAgICAgIChba2V5LCB2YWx1ZV0pID0+IGl0ZW0ucGFyYW1zW2tleV0gPT0gdmFsdWVcbiAgICAgICAgICApKTtcbiAgICAgICAgdGhpcy5mb3JtTGF5b3V0TWFuYWdlclRhYkluZGV4ID0gZGF0YT8uaWQ7XG4gICAgICB9XG4gICAgICB0aGlzLnRhYnNTdWJzY3JpcHRpb25zID0gZm9ybUxheW91dE1hbmFnZXIub25TZWxlY3RlZFRhYkNoYW5nZS5zdWJzY3JpYmUoKGFyZykgPT4ge1xuICAgICAgICBpZiAoYXJnLmRhdGEuaWQgPT09IHRoaXMuZm9ybUxheW91dE1hbmFnZXJUYWJJbmRleCkge1xuICAgICAgICAgIHRoaXMubXJnLnZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIG9uTWF0UmFkaW9Hcm91cENoYW5nZShlOiBNYXRSYWRpb0NoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gZS52YWx1ZTtcbiAgICB0aGlzLnNldFZhbHVlKG5ld1ZhbHVlLCB7XG4gICAgICBjaGFuZ2VUeXBlOiBPVmFsdWVDaGFuZ2VFdmVudC5VU0VSX0NIQU5HRSxcbiAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBnZXRWYWx1ZUNvbHVtbihpdGVtOiBhbnkpIHtcbiAgICBpZiAoaXRlbSAmJiBpdGVtLmhhc093blByb3BlcnR5KHRoaXMudmFsdWVDb2x1bW4pKSB7XG4gICAgICBsZXQgb3B0aW9uID0gaXRlbVt0aGlzLnZhbHVlQ29sdW1uXTtcbiAgICAgIGlmIChvcHRpb24gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIG9wdGlvbiA9IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgZ2V0RGVzY3JpcHRpb25WYWx1ZSgpIHtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5kZXNjcmlwdGlvbkNvbEFycmF5KSAmJiB0aGlzLmRlc2NyaXB0aW9uQ29sQXJyYXkubGVuZ3RoKSB7XG4gICAgICBjb25zdCBjdXJySXRlbSA9IHRoaXMuZGF0YUFycmF5LmZpbmQoZSA9PiBlW3RoaXMudmFsdWVDb2x1bW5dID09PSB0aGlzLmdldFZhbHVlKCkpO1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKGN1cnJJdGVtKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdGlvbkNvbEFycmF5Lm1hcChjb2wgPT4gKHRoaXMudHJhbnNsYXRlICYmIHRoaXMudHJhbnNsYXRlU2VydmljZSkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KGN1cnJJdGVtW2NvbF0pIDogY3Vyckl0ZW1bY29sXSkuam9pbih0aGlzLnNlcGFyYXRvcik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICBpZiAodGhpcy50YWJzU3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy50YWJzU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICB9XG5cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIiBbbWF0VG9vbHRpcENsYXNzXT1cInRvb2x0aXBDbGFzc1wiXG4gIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCIgW21hdFRvb2x0aXBTaG93RGVsYXldPVwidG9vbHRpcFNob3dEZWxheVwiXG4gIFttYXRUb29sdGlwSGlkZURlbGF5XT1cInRvb2x0aXBIaWRlRGVsYXlcIiBjbGFzcz1cInJlbGF0aXZlXCIgW29Db250ZXh0TWVudV09XCJvQ29udGV4dE1lbnVcIj5cbiAgPCEtLSBtYXQtZm9ybS1maWVsZCBhbmQgaGlkZGVuIGlucHV0IGFyZSB1c2VkIG9ubHkgZm9yIGRpc3BsYXlpbmcgY29tcG9uZW50IGxhYmVsIGFuZCBlcnJvcnMgYXMgbWF0LXJhZGlvIGlzIG5vdCBzdXBwb3J0ZWQgaW5zaWRlIGZvcm0tZmllbGQgLS0+XG4gIDwhLS0gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL2lzc3Vlcy83ODkxIC0tPlxuICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIFtoaWRlUmVxdWlyZWRNYXJrZXJdPVwiaGlkZVJlcXVpcmVkTWFya2VyXCJcbiAgICBbY2xhc3MucmVhZC1vbmx5XT1cImlzUmVhZE9ubHlcIiBbY2xhc3MuY3VzdG9tLXdpZHRoXT1cImhhc0N1c3RvbVdpZHRoXCIgW2NsYXNzLm8tcmFkaW8tZnJvbS1maWVsZC1yb3ddPVwibGF5b3V0PT09J3JvdydcIlxuICAgIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLS1uby11bmRlcmxpbmVcIiBmeEZpbGwgW3N1YnNjcmlwdFNpemluZ109XCJzdWJzY3JpcHRTaXppbmdcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxWaXNpYmxlXCI+e3sgb2xhYmVsIHwgb1RyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgLz5cbiAgICA8bWF0LXJhZGlvLWdyb3VwIFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiBbbmFtZV09XCJnZXRBdHRyaWJ1dGUoKVwiXG4gICAgICBbdmFsdWVdPVwiZ2V0VmFsdWUoKVwiIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCIgW2xhYmVsUG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiXG4gICAgICAoY2hhbmdlKT1cIm9uTWF0UmFkaW9Hcm91cENoYW5nZSgkZXZlbnQpXCIgW2Z4TGF5b3V0XT1cImxheW91dFwiIFtmeExheW91dEdhcF09XCJsYWJlbEdhcFwiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gW2lkXT1cIidvLXJhZGlvLWJ1dHRvbi0nK2lcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhQXJyYXk7bGV0IGkgPSBpbmRleFwiIFt2YWx1ZV09XCJnZXRWYWx1ZUNvbHVtbihpdGVtKVwiXG4gICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCI+XG4gICAgICAgIHt7IGdldE9wdGlvbkRlc2NyaXB0aW9uVmFsdWUoaXRlbSkgfX1cbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgb0Vycm9yIG9mIGdldEFjdGl2ZU9FcnJvcnMoKVwiPlxuICAgICAge3sgb0Vycm9yLnRleHQgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgKm5nSWY9XCJpc1JlYWRPbmx5XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIGNsYXNzPVwicmVhZC1vbmx5LWJsb2NrZXJcIiBmeEZpbGw+PC9kaXY+XG5cbiAgPG8tY29udGV4dC1tZW51ICpuZ0lmPVwiIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmVuYWJsZWRcIj5cbiAgICA8by1jb250ZXh0LW1lbnUtaXRlbSBhdHRyPVwicmVmcmVzaFwiIGxhYmVsPVwiRk9STV9TRVJWSUNFX0NPTVBPTkVOVC5SRUZSRVNIXCIgc3ZnLWljb249XCJvbnRpbWl6ZTphdXRvcmVuZXdcIiAoZXhlY3V0ZSk9XCJyZWZyZXNoKClcIj5cbiAgICA8L28tY29udGV4dC1tZW51LWl0ZW0+XG4gIDwvby1jb250ZXh0LW1lbnU+XG48L2Rpdj5cbiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1yYWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9yYWRpby9vLXJhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L3JhZGlvL28tcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFFMUUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsUUFBUTtJQUNSLCtCQUErQjtJQUMvQixxQkFBcUI7Q0FDdEIsQ0FBQztBQWdCRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxxQkFBcUI7SUFheEQsWUFDd0QsSUFBb0IsRUFDMUUsS0FBaUIsRUFDakIsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFmeEIsV0FB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bGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSYWRpb0NoYW5nZSwgTWF0UmFkaW9Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcblxuaW1wb3J0IHsgT250aW1pemVTZXJ2aWNlUHJvdmlkZXIgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mYWN0b3JpZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybVZhbHVlIH0gZnJvbSAnLi4vLi4vZm9ybS9vLWZvcm0tdmFsdWUnO1xuaW1wb3J0IHsgT0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9mb3JtL28tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT1ZhbHVlQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi9vLXZhbHVlLWNoYW5nZS1ldmVudC5jbGFzcyc7XG5pbXBvcnQgeyBPRm9ybVNlcnZpY2VDb21wb25lbnQgfSBmcm9tICcuLi9vLWZvcm0tc2VydmljZS1jb21wb25lbnQuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19SQURJTyA9IFtcbiAgJ2xheW91dCcsXG4gICdsYWJlbFBvc2l0aW9uOiBsYWJlbC1wb3NpdGlvbicsXG4gICdsYWJlbEdhcDogbGFiZWwtZ2FwJ1xuXTtcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXJhZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXJhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogREVGQVVMVF9JTlBVVFNfT19SQURJTyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgT250aW1pemVTZXJ2aWNlUHJvdmlkZXJcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby1yYWRpb10nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBPRm9ybVNlcnZpY2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qIElucHV0cyAqL1xuICBwdWJsaWMgbGF5b3V0OiAncm93JyB8ICdjb2x1bW4nID0gJ2NvbHVtbic7XG4gIHB1YmxpYyBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuICBwdWJsaWMgbGFiZWxHYXAgPSAnOHB4J1xuICAvKiBFbmQgaW5wdXRzKi9cblxuICB2YWx1ZTogT0Zvcm1WYWx1ZTtcbiAgdGFic1N1YnNjcmlwdGlvbnM6IGFueTtcbiAgQFZpZXdDaGlsZChNYXRSYWRpb0dyb3VwKSBtcmc6IE1hdFJhZGlvR3JvdXA7XG4gIGZvcm1MYXlvdXRNYW5hZ2VyVGFiSW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gT0Zvcm1Db21wb25lbnQpKSBmb3JtOiBPRm9ybUNvbXBvbmVudCxcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZm9ybSwgZWxSZWYsIGluamVjdG9yKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICBpZiAodGhpcy5xdWVyeU9uSW5pdCkge1xuICAgICAgdGhpcy5xdWVyeURhdGEoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVGb3JtTGF5b3V0TWFuYWdlclN0YXRlKCk7XG4gIH1cblxuICB1cGRhdGVGb3JtTGF5b3V0TWFuYWdlclN0YXRlKCkge1xuICAgIGNvbnN0IGZvcm1MYXlvdXRNYW5hZ2VyID0gdGhpcy5mb3JtLmdldEZvcm1NYW5hZ2VyKCk7XG5cbiAgICBpZiAoZm9ybUxheW91dE1hbmFnZXIgJiYgZm9ybUxheW91dE1hbmFnZXIuc3RvcmVTdGF0ZSAmJiBmb3JtTGF5b3V0TWFuYWdlci5pc1RhYk1vZGUoKSAmJiBmb3JtTGF5b3V0TWFuYWdlci5vVGFiR3JvdXApIHtcbiAgICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5mb3JtTGF5b3V0TWFuYWdlclRhYkluZGV4KSkge1xuICAgICAgICBjb25zdCB0YWJHcm91cERhdGEgPSBmb3JtTGF5b3V0TWFuYWdlci5vVGFiR3JvdXAuZGF0YTtcblxuICAgICAgICBjb25zdCBrZXlzVmFsdWVzID0gdGhpcy5mb3JtLmdldEZvcm1OYXZpZ2F0aW9uKCkuZ2V0Q3VycmVudEtleXNWYWx1ZXMoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRhYkdyb3VwRGF0YS5maW5kKGl0ZW0gPT5cbiAgICAgICAgICBPYmplY3QuZW50cmllcyhrZXlzVmFsdWVzKS5ldmVyeShcbiAgICAgICAgICAgIChba2V5LCB2YWx1ZV0pID0+IGl0ZW0ucGFyYW1zW2tleV0gPT0gdmFsdWVcbiAgICAgICAgICApKTtcbiAgICAgICAgdGhpcy5mb3JtTGF5b3V0TWFuYWdlclRhYkluZGV4ID0gZGF0YT8uaWQ7XG4gICAgICB9XG4gICAgICB0aGlzLnRhYnNTdWJzY3JpcHRpb25zID0gZm9ybUxheW91dE1hbmFnZXIub25TZWxlY3RlZFRhYkNoYW5nZS5zdWJzY3JpYmUoKGFyZykgPT4ge1xuICAgICAgICBpZiAoYXJnLmRhdGEuaWQgPT09IHRoaXMuZm9ybUxheW91dE1hbmFnZXJUYWJJbmRleCkge1xuICAgICAgICAgIHRoaXMubXJnLnZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG4gIG9uTWF0UmFkaW9Hcm91cENoYW5nZShlOiBNYXRSYWRpb0NoYW5nZSk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gZS52YWx1ZTtcbiAgICB0aGlzLnNldFZhbHVlKG5ld1ZhbHVlLCB7XG4gICAgICBjaGFuZ2VUeXBlOiBPVmFsdWVDaGFuZ2VFdmVudC5VU0VSX0NIQU5HRSxcbiAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBnZXRWYWx1ZUNvbHVtbihpdGVtOiBhbnkpIHtcbiAgICBpZiAoaXRlbSAmJiBpdGVtLmhhc093blByb3BlcnR5KHRoaXMudmFsdWVDb2x1bW4pKSB7XG4gICAgICBsZXQgb3B0aW9uID0gaXRlbVt0aGlzLnZhbHVlQ29sdW1uXTtcbiAgICAgIGlmIChvcHRpb24gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIG9wdGlvbiA9IG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgZ2V0RGVzY3JpcHRpb25WYWx1ZSgpIHtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQodGhpcy5kZXNjcmlwdGlvbkNvbEFycmF5KSAmJiB0aGlzLmRlc2NyaXB0aW9uQ29sQXJyYXkubGVuZ3RoKSB7XG4gICAgICBjb25zdCBjdXJySXRlbSA9IHRoaXMuZGF0YUFycmF5LmZpbmQoZSA9PiBlW3RoaXMudmFsdWVDb2x1bW5dID09PSB0aGlzLmdldFZhbHVlKCkpO1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKGN1cnJJdGVtKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdGlvbkNvbEFycmF5Lm1hcChjb2wgPT4gKHRoaXMudHJhbnNsYXRlICYmIHRoaXMudHJhbnNsYXRlU2VydmljZSkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KGN1cnJJdGVtW2NvbF0pIDogY3Vyckl0ZW1bY29sXSkuam9pbih0aGlzLnNlcGFyYXRvcik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5kZXN0cm95KCk7XG5cbiAgICBpZiAodGhpcy50YWJzU3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy50YWJzU3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICB9XG5cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIiBbbWF0VG9vbHRpcENsYXNzXT1cInRvb2x0aXBDbGFzc1wiXG4gIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCIgW21hdFRvb2x0aXBTaG93RGVsYXldPVwidG9vbHRpcFNob3dEZWxheVwiXG4gIFttYXRUb29sdGlwSGlkZURlbGF5XT1cInRvb2x0aXBIaWRlRGVsYXlcIiBjbGFzcz1cInJlbGF0aXZlXCIgW29Db250ZXh0TWVudV09XCJvQ29udGV4dE1lbnVcIj5cbiAgPCEtLSBtYXQtZm9ybS1maWVsZCBhbmQgaGlkZGVuIGlucHV0IGFyZSB1c2VkIG9ubHkgZm9yIGRpc3BsYXlpbmcgY29tcG9uZW50IGxhYmVsIGFuZCBlcnJvcnMgYXMgbWF0LXJhZGlvIGlzIG5vdCBzdXBwb3J0ZWQgaW5zaWRlIGZvcm0tZmllbGQgLS0+XG4gIDwhLS0gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWwyL2lzc3Vlcy83ODkxIC0tPlxuICA8bWF0LWZvcm0tZmllbGQgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIFtoaWRlUmVxdWlyZWRNYXJrZXJdPVwiaGlkZVJlcXVpcmVkTWFya2VyXCJcbiAgICBbY2xhc3MucmVhZC1vbmx5XT1cImlzUmVhZE9ubHlcIiBbY2xhc3MuY3VzdG9tLXdpZHRoXT1cImhhc0N1c3RvbVdpZHRoXCIgW2NsYXNzLm8tcmFkaW8tZnJvbS1maWVsZC1yb3ddPVwibGF5b3V0PT09J3JvdydcIlxuICAgIGZsb2F0TGFiZWw9XCJhbHdheXNcIiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLS1uby11bmRlcmxpbmVcIiBmeEZpbGwgW3N1YnNjcmlwdFNpemluZ109XCJzdWJzY3JpcHRTaXppbmdcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxWaXNpYmxlXCI+e3sgb2xhYmVsIHwgb1RyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgLz5cbiAgICA8bWF0LXJhZGlvLWdyb3VwIFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiBbbmFtZV09XCJnZXRBdHRyaWJ1dGUoKVwiXG4gICAgICBbdmFsdWVdPVwiZ2V0VmFsdWUoKVwiIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCIgW2xhYmVsUG9zaXRpb25dPVwibGFiZWxQb3NpdGlvblwiXG4gICAgICAoY2hhbmdlKT1cIm9uTWF0UmFkaW9Hcm91cENoYW5nZSgkZXZlbnQpXCIgW2Z4TGF5b3V0XT1cImxheW91dFwiIFtmeExheW91dEdhcF09XCJsYWJlbEdhcFwiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gW2lkXT1cIidvLXJhZGlvLWJ1dHRvbi0nK2lcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhQXJyYXk7bGV0IGkgPSBpbmRleFwiIFt2YWx1ZV09XCJnZXRWYWx1ZUNvbHVtbihpdGVtKVwiXG4gICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCI+XG4gICAgICAgIHt7IGdldE9wdGlvbkRlc2NyaXB0aW9uVmFsdWUoaXRlbSkgfX1cbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICA8L21hdC1yYWRpby1ncm91cD5cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgb0Vycm9yIG9mIGdldEFjdGl2ZU9FcnJvcnMoKVwiPlxuICAgICAge3sgb0Vycm9yLnRleHQgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgKm5nSWY9XCJpc1JlYWRPbmx5XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIGNsYXNzPVwicmVhZC1vbmx5LWJsb2NrZXJcIiBmeEZpbGw+PC9kaXY+XG5cbiAgPG8tY29udGV4dC1tZW51ICpuZ0lmPVwiIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmVuYWJsZWRcIj5cbiAgICA8by1jb250ZXh0LW1lbnUtaXRlbSBhdHRyPVwicmVmcmVzaFwiIGxhYmVsPVwiRk9STV9TRVJWSUNFX0NPTVBPTkVOVC5SRUZSRVNIXCIgc3ZnLWljb249XCJvbnRpbWl6ZTphdXRvcmVuZXdcIiAoZXhlY3V0ZSk9XCJyZWZyZXNoKClcIj5cbiAgICA8L28tY29udGV4dC1tZW51LWl0ZW0+XG4gIDwvby1jb250ZXh0LW1lbnU+XG48L2Rpdj5cbiJdfQ==
|