ngx-vector-components 4.92.0 → 4.94.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/CHANGELOG.md +12 -0
- package/{esm2020 → esm2022}/lib/components/badge/badge.component.mjs +39 -39
- package/esm2022/lib/components/badge/badge.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/components/badge/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/breadcrumb/breadcrumb.component.mjs +66 -66
- package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +18 -0
- package/{esm2020 → esm2022}/lib/components/breadcrumb/index.mjs +2 -2
- package/esm2022/lib/components/crud-base/crud-base.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/components/crud-base/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/crud-footer/crud-footer.component.mjs +32 -32
- package/esm2022/lib/components/crud-footer/crud-footer.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/crud-footer/index.mjs +2 -2
- package/esm2022/lib/components/crud-header/crud-header.component.mjs +30 -0
- package/esm2022/lib/components/crud-header/crud-header.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/components/crud-header/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/crud-history/crud-history.component.mjs +82 -82
- package/esm2022/lib/components/crud-history/crud-history.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/crud-history/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/fields/button/button.component.mjs +41 -41
- package/{esm2020 → esm2022}/lib/components/fields/button/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
- package/{esm2020 → esm2022}/lib/components/fields/calendar-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
- package/{esm2020 → esm2022}/lib/components/fields/checkbox-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/currency-field/currency-field.component.mjs +98 -98
- package/{esm2020 → esm2022}/lib/components/fields/currency-field/index.mjs +1 -1
- package/esm2022/lib/components/fields/data-table/data-table.component.mjs +386 -0
- package/{esm2020 → esm2022}/lib/components/fields/data-table/index.mjs +1 -1
- package/esm2022/lib/components/fields/dropdown-field/dropdown-field.component.mjs +204 -0
- package/{esm2020 → esm2022}/lib/components/fields/dropdown-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
- package/{esm2020 → esm2022}/lib/components/fields/field-error-message/index.mjs +1 -1
- package/esm2022/lib/components/fields/fields.module.mjs +211 -0
- package/esm2022/lib/components/fields/filters/filters.component.mjs +203 -0
- package/{esm2020 → esm2022}/lib/components/fields/filters/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/index.mjs +18 -18
- package/{esm2020 → esm2022}/lib/components/fields/input-number-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/input-number-field/input-number-field.component.mjs +85 -85
- package/{esm2020 → esm2022}/lib/components/fields/multiselect-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/multiselect-field/multiselect-field.component.mjs +50 -50
- package/{esm2020 → esm2022}/lib/components/fields/percentage-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/percentage-field/percentage-field.component.mjs +42 -42
- package/{esm2020 → esm2022}/lib/components/fields/radio-button-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/radio-button-field/radio-button-field.component.mjs +48 -48
- package/{esm2020 → esm2022}/lib/components/fields/range-value/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/range-value/range-value.component.mjs +72 -72
- package/{esm2020 → esm2022}/lib/components/fields/search-field/index.mjs +1 -1
- package/esm2022/lib/components/fields/search-field/search-field.component.mjs +33 -0
- package/{esm2020 → esm2022}/lib/components/fields/select-button-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
- package/{esm2020 → esm2022}/lib/components/fields/text-field/index.mjs +1 -1
- package/esm2022/lib/components/fields/text-field/text-field.component.mjs +232 -0
- package/{esm2020 → esm2022}/lib/components/fields/textarea-field/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/fields/textarea-field/textarea-field.component.mjs +81 -81
- package/esm2022/lib/components/generic-error-modal/generic-error-modal.component.mjs +39 -0
- package/esm2022/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/generic-error-modal/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/generic-modal/generic-modal.component.mjs +66 -66
- package/esm2022/lib/components/generic-modal/generic-modal.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/generic-modal/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/index.mjs +13 -13
- package/{esm2020 → esm2022}/lib/components/menu/index.mjs +3 -3
- package/esm2022/lib/components/menu/menu.component.mjs +305 -0
- package/esm2022/lib/components/menu/menu.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
- package/{esm2020 → esm2022}/lib/components/panel/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/panel/panel.component.mjs +15 -15
- package/esm2022/lib/components/panel/panel.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/components/score/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/score/score.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/components/score/score.module.mjs +16 -16
- package/{esm2020 → esm2022}/lib/components/top-bar/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/top-bar/top-bar.component.mjs +142 -142
- package/esm2022/lib/components/top-bar/top-bar.module.mjs +20 -0
- package/{esm2020 → esm2022}/lib/guards/crud-list-has-items.guard.mjs +22 -22
- package/{esm2020 → esm2022}/lib/guards/get-token-by-guid.guard.mjs +54 -54
- package/{esm2020 → esm2022}/lib/guards/has-permission.guard.mjs +27 -27
- package/{esm2020 → esm2022}/lib/guards/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/guards/role.guard.mjs +24 -24
- package/{esm2020 → esm2022}/lib/guards/token-is-present.guard.mjs +26 -26
- package/{esm2020 → esm2022}/lib/interceptors/http-interceptor.mjs +185 -185
- package/{esm2020 → esm2022}/lib/interceptors/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/app-name.enum.mjs +9 -9
- package/{esm2020 → esm2022}/lib/models/boolean-type.enum.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/crud-history.model.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/crud-mode.enum.mjs +6 -6
- package/{esm2020 → esm2022}/lib/models/currency.enum.mjs +6 -6
- package/{esm2020 → esm2022}/lib/models/data-table.model.mjs +22 -22
- package/{esm2020 → esm2022}/lib/models/document-type.enum.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/filters.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/generic-modal.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/http-response.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +17 -17
- package/{esm2020 → esm2022}/lib/models/ip-info.enum.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/list-item.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/locale.enum.mjs +6 -6
- package/{esm2020 → esm2022}/lib/models/menu-item.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/message-status.enum.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/profile.model.mjs +270 -270
- package/{esm2020 → esm2022}/lib/models/role.enum.mjs +4 -4
- package/{esm2020 → esm2022}/lib/models/status.enum.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/topbar.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/vector-app.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/vector-notification.model.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/view.enum.mjs +6 -6
- package/{esm2020 → esm2022}/lib/pipes/currency-brl.pipe.mjs +18 -18
- package/{esm2020 → esm2022}/lib/pipes/format-document.pipe.mjs +17 -17
- package/{esm2020 → esm2022}/lib/pipes/index.mjs +8 -8
- package/{esm2020 → esm2022}/lib/pipes/mask.pipe.mjs +21 -21
- package/{esm2020 → esm2022}/lib/pipes/not-hidden.pipe.mjs +16 -16
- package/{esm2020 → esm2022}/lib/pipes/only-active.pipe.mjs +16 -16
- package/{esm2020 → esm2022}/lib/pipes/pipes.module.mjs +50 -50
- package/{esm2020 → esm2022}/lib/pipes/remove-last-child.pipe.mjs +18 -18
- package/{esm2020 → esm2022}/lib/pipes/unread-notifications.pipe.mjs +15 -15
- package/{esm2020 → esm2022}/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
- package/{esm2020 → esm2022}/lib/resolvers/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/auth.service.mjs +77 -77
- package/{esm2020 → esm2022}/lib/services/base-dropdown.mjs +1 -1
- package/{esm2020 → esm2022}/lib/services/crud-base.service.mjs +13 -13
- package/{esm2020 → esm2022}/lib/services/enum.service.mjs +43 -43
- package/{esm2020 → esm2022}/lib/services/error-message.service.mjs +16 -16
- package/{esm2020 → esm2022}/lib/services/geolocation.service.mjs +23 -23
- package/{esm2020 → esm2022}/lib/services/index.mjs +12 -12
- package/{esm2020 → esm2022}/lib/services/loading.service.mjs +15 -15
- package/{esm2020 → esm2022}/lib/services/menu.service.mjs +152 -152
- package/{esm2020 → esm2022}/lib/services/modal.service.mjs +15 -15
- package/{esm2020 → esm2022}/lib/services/notifications.service.mjs +64 -64
- package/{esm2020 → esm2022}/lib/services/profile.service.mjs +103 -103
- package/{esm2020 → esm2022}/lib/services/storage.service.mjs +108 -108
- package/esm2022/lib/shared/shared.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/utils/cpf-cnpj-validator.util.mjs +115 -115
- package/{esm2020 → esm2022}/lib/utils/file.util.mjs +14 -14
- package/{esm2020 → esm2022}/lib/utils/index.mjs +7 -7
- package/esm2022/lib/utils/mask.util.mjs +76 -0
- package/{esm2020 → esm2022}/lib/utils/object.util.mjs +26 -26
- package/{esm2020 → esm2022}/lib/utils/string.util.mjs +15 -15
- package/{esm2020 → esm2022}/lib/utils/validation.util.mjs +233 -233
- package/{esm2020 → esm2022}/lib/utils/window.util.mjs +8 -8
- package/{esm2020 → esm2022}/ngx-vector-components.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +8 -8
- package/{fesm2020 → fesm2022}/ngx-vector-components.mjs +4577 -4573
- package/fesm2022/ngx-vector-components.mjs.map +1 -0
- package/{ngx-vector-components.d.ts → index.d.ts} +5 -5
- package/lib/components/badge/badge.component.d.ts +15 -15
- package/lib/components/badge/badge.module.d.ts +9 -9
- package/lib/components/badge/index.d.ts +2 -2
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
- package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
- package/lib/components/breadcrumb/index.d.ts +2 -2
- package/lib/components/crud-base/crud-base.component.d.ts +20 -20
- package/lib/components/crud-base/index.d.ts +1 -1
- package/lib/components/crud-footer/crud-footer.component.d.ts +13 -13
- package/lib/components/crud-footer/crud-footer.module.d.ts +10 -10
- package/lib/components/crud-footer/index.d.ts +2 -2
- package/lib/components/crud-header/crud-header.component.d.ts +11 -11
- package/lib/components/crud-header/crud-header.module.d.ts +9 -9
- package/lib/components/crud-header/index.d.ts +2 -2
- package/lib/components/crud-history/crud-history.component.d.ts +12 -12
- package/lib/components/crud-history/crud-history.module.d.ts +10 -10
- package/lib/components/crud-history/index.d.ts +2 -2
- package/lib/components/fields/button/button.component.d.ts +17 -17
- package/lib/components/fields/button/index.d.ts +1 -1
- package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
- package/lib/components/fields/calendar-field/index.d.ts +1 -1
- package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
- package/lib/components/fields/checkbox-field/index.d.ts +1 -1
- package/lib/components/fields/currency-field/currency-field.component.d.ts +32 -32
- package/lib/components/fields/currency-field/index.d.ts +1 -1
- package/lib/components/fields/data-table/data-table.component.d.ts +82 -82
- package/lib/components/fields/data-table/index.d.ts +1 -1
- package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +52 -52
- package/lib/components/fields/dropdown-field/index.d.ts +1 -1
- package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
- package/lib/components/fields/field-error-message/index.d.ts +1 -1
- package/lib/components/fields/fields.module.d.ts +48 -48
- package/lib/components/fields/filters/filters.component.d.ts +63 -63
- package/lib/components/fields/filters/index.d.ts +1 -1
- package/lib/components/fields/index.d.ts +18 -18
- package/lib/components/fields/input-number-field/index.d.ts +1 -1
- package/lib/components/fields/input-number-field/input-number-field.component.d.ts +28 -28
- package/lib/components/fields/multiselect-field/index.d.ts +1 -1
- package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +16 -16
- package/lib/components/fields/percentage-field/index.d.ts +1 -1
- package/lib/components/fields/percentage-field/percentage-field.component.d.ts +16 -16
- package/lib/components/fields/radio-button-field/index.d.ts +1 -1
- package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +25 -25
- package/lib/components/fields/range-value/index.d.ts +1 -1
- package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
- package/lib/components/fields/search-field/index.d.ts +1 -1
- package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
- package/lib/components/fields/select-button-field/index.d.ts +1 -1
- package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
- package/lib/components/fields/text-field/index.d.ts +1 -1
- package/lib/components/fields/text-field/text-field.component.d.ts +55 -54
- package/lib/components/fields/textarea-field/index.d.ts +1 -1
- package/lib/components/fields/textarea-field/textarea-field.component.d.ts +22 -22
- package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +16 -15
- package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
- package/lib/components/generic-error-modal/index.d.ts +2 -2
- package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
- package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
- package/lib/components/generic-modal/index.d.ts +2 -2
- package/lib/components/index.d.ts +13 -13
- package/lib/components/menu/index.d.ts +3 -3
- package/lib/components/menu/menu.component.d.ts +53 -53
- package/lib/components/menu/menu.module.d.ts +10 -10
- package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
- package/lib/components/panel/index.d.ts +2 -2
- package/lib/components/panel/panel.component.d.ts +8 -8
- package/lib/components/panel/panel.module.d.ts +9 -9
- package/lib/components/score/index.d.ts +2 -2
- package/lib/components/score/score.component.d.ts +9 -9
- package/lib/components/score/score.module.d.ts +7 -7
- package/lib/components/top-bar/index.d.ts +2 -2
- package/lib/components/top-bar/top-bar.component.d.ts +48 -48
- package/lib/components/top-bar/top-bar.module.d.ts +10 -10
- package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
- package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
- package/lib/guards/has-permission.guard.d.ts +13 -13
- package/lib/guards/index.d.ts +5 -5
- package/lib/guards/role.guard.d.ts +11 -11
- package/lib/guards/token-is-present.guard.d.ts +11 -11
- package/lib/interceptors/http-interceptor.d.ts +31 -31
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/models/app-name.enum.d.ts +8 -8
- package/lib/models/boolean-type.enum.d.ts +4 -4
- package/lib/models/crud-history.model.d.ts +13 -13
- package/lib/models/crud-mode.enum.d.ts +5 -5
- package/lib/models/currency.enum.d.ts +5 -5
- package/lib/models/data-table.model.d.ts +65 -65
- package/lib/models/document-type.enum.d.ts +4 -4
- package/lib/models/filters.model.d.ts +4 -4
- package/lib/models/generic-modal.model.d.ts +13 -13
- package/lib/models/http-response.model.d.ts +48 -48
- package/lib/models/index.d.ts +17 -17
- package/lib/models/ip-info.enum.d.ts +6 -6
- package/lib/models/list-item.model.d.ts +7 -7
- package/lib/models/locale.enum.d.ts +5 -5
- package/lib/models/menu-item.model.d.ts +16 -16
- package/lib/models/message-status.enum.d.ts +6 -6
- package/lib/models/profile.model.d.ts +292 -292
- package/lib/models/role.enum.d.ts +3 -3
- package/lib/models/status.enum.d.ts +6 -6
- package/lib/models/topbar.model.d.ts +5 -5
- package/lib/models/vector-app.model.d.ts +9 -9
- package/lib/models/vector-notification.model.d.ts +8 -8
- package/lib/models/view.enum.d.ts +5 -5
- package/lib/pipes/currency-brl.pipe.d.ts +7 -7
- package/lib/pipes/format-document.pipe.d.ts +7 -7
- package/lib/pipes/index.d.ts +8 -8
- package/lib/pipes/mask.pipe.d.ts +7 -7
- package/lib/pipes/not-hidden.pipe.d.ts +7 -7
- package/lib/pipes/only-active.pipe.d.ts +7 -7
- package/lib/pipes/pipes.module.d.ts +13 -13
- package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
- package/lib/pipes/unread-notifications.pipe.d.ts +9 -9
- package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
- package/lib/resolvers/index.d.ts +1 -1
- package/lib/services/auth.service.d.ts +24 -24
- package/lib/services/base-dropdown.d.ts +7 -7
- package/lib/services/crud-base.service.d.ts +7 -7
- package/lib/services/enum.service.d.ts +13 -13
- package/lib/services/error-message.service.d.ts +8 -8
- package/lib/services/geolocation.service.d.ts +13 -13
- package/lib/services/index.d.ts +12 -12
- package/lib/services/loading.service.d.ts +7 -7
- package/lib/services/menu.service.d.ts +35 -35
- package/lib/services/modal.service.d.ts +7 -7
- package/lib/services/notifications.service.d.ts +13 -13
- package/lib/services/profile.service.d.ts +26 -26
- package/lib/services/storage.service.d.ts +43 -43
- package/lib/shared/shared.module.d.ts +10 -10
- package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
- package/lib/utils/file.util.d.ts +4 -4
- package/lib/utils/index.d.ts +7 -7
- package/lib/utils/mask.util.d.ts +21 -21
- package/lib/utils/object.util.d.ts +5 -5
- package/lib/utils/string.util.d.ts +4 -4
- package/lib/utils/validation.util.d.ts +17 -17
- package/lib/utils/window.util.d.ts +4 -4
- package/package.json +18 -24
- package/public-api.d.ts +8 -8
- package/esm2020/lib/components/badge/badge.module.mjs +0 -19
- package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +0 -18
- package/esm2020/lib/components/crud-base/crud-base.component.mjs +0 -47
- package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +0 -20
- package/esm2020/lib/components/crud-header/crud-header.component.mjs +0 -30
- package/esm2020/lib/components/crud-header/crud-header.module.mjs +0 -19
- package/esm2020/lib/components/crud-history/crud-history.module.mjs +0 -20
- package/esm2020/lib/components/fields/data-table/data-table.component.mjs +0 -386
- package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +0 -204
- package/esm2020/lib/components/fields/fields.module.mjs +0 -213
- package/esm2020/lib/components/fields/filters/filters.component.mjs +0 -203
- package/esm2020/lib/components/fields/search-field/search-field.component.mjs +0 -33
- package/esm2020/lib/components/fields/text-field/text-field.component.mjs +0 -229
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +0 -36
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +0 -20
- package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +0 -20
- package/esm2020/lib/components/menu/menu.component.mjs +0 -305
- package/esm2020/lib/components/menu/menu.module.mjs +0 -20
- package/esm2020/lib/components/panel/panel.module.mjs +0 -19
- package/esm2020/lib/components/top-bar/top-bar.module.mjs +0 -20
- package/esm2020/lib/shared/shared.module.mjs +0 -19
- package/esm2020/lib/utils/mask.util.mjs +0 -76
- package/fesm2015/ngx-vector-components.mjs +0 -4805
- package/fesm2015/ngx-vector-components.mjs.map +0 -1
- package/fesm2020/ngx-vector-components.mjs.map +0 -1
|
@@ -1,142 +1,142 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { Subscription } from 'rxjs';
|
|
3
|
-
import { Role } from '../../models';
|
|
4
|
-
import { MaskUtil, WindowUtil } from '../../utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../services/menu.service";
|
|
7
|
-
import * as i2 from "../../services";
|
|
8
|
-
import * as i3 from "@angular/router";
|
|
9
|
-
import * as i4 from "../../services/notifications.service";
|
|
10
|
-
import * as i5 from "
|
|
11
|
-
import * as i6 from "
|
|
12
|
-
import * as i7 from "primeng/
|
|
13
|
-
import * as i8 from "primeng/api";
|
|
14
|
-
import * as i9 from "
|
|
15
|
-
import * as i10 from "../../pipes/unread-notifications.pipe";
|
|
16
|
-
import * as i11 from "
|
|
17
|
-
export class TopBarComponent {
|
|
18
|
-
constructor(menuService, authService, router, profileService, storageService, notificationsService) {
|
|
19
|
-
this.menuService = menuService;
|
|
20
|
-
this.authService = authService;
|
|
21
|
-
this.router = router;
|
|
22
|
-
this.profileService = profileService;
|
|
23
|
-
this.storageService = storageService;
|
|
24
|
-
this.notificationsService = notificationsService;
|
|
25
|
-
this.hideElements = false;
|
|
26
|
-
this.openedMenu = false;
|
|
27
|
-
this.openedChangeAccountMenu = false;
|
|
28
|
-
this.showNotifications = false;
|
|
29
|
-
this.doingOnboarding = false;
|
|
30
|
-
this.currentAccount = {};
|
|
31
|
-
this.isAdmin = false;
|
|
32
|
-
this.otherAccounts = [];
|
|
33
|
-
this.maskUtil = MaskUtil;
|
|
34
|
-
this.fintech = false;
|
|
35
|
-
this.showHelpCentral = false;
|
|
36
|
-
this.helpCentralIcons = [
|
|
37
|
-
{
|
|
38
|
-
icon: 'fab fa-whatsapp',
|
|
39
|
-
url: 'https://api.whatsapp.com/send?phone=5521971551188&text=ol%C3%A1',
|
|
40
|
-
active: true,
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
icon: 'pi pi-phone',
|
|
44
|
-
url: 'tel:552120423017',
|
|
45
|
-
active: true,
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
icon: 'far fa-envelope',
|
|
49
|
-
url: 'mailto:suporte@vectorapp.com.br',
|
|
50
|
-
active: true,
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
icon: 'far fa-question-circle',
|
|
54
|
-
url: '',
|
|
55
|
-
active: false,
|
|
56
|
-
},
|
|
57
|
-
];
|
|
58
|
-
this.onClick = new EventEmitter();
|
|
59
|
-
this.notificationsList = [];
|
|
60
|
-
this.subscription = new Subscription();
|
|
61
|
-
}
|
|
62
|
-
ngOnInit() {
|
|
63
|
-
this.subscription.add(this.profileService.profileFirstName$.subscribe((value) => {
|
|
64
|
-
this.vectorFirstName = value;
|
|
65
|
-
}));
|
|
66
|
-
this.subscription.add(this.menuService.menuOpened$.subscribe((hasOpened) => {
|
|
67
|
-
this.hideElements = hasOpened;
|
|
68
|
-
}));
|
|
69
|
-
if (this.accountService) {
|
|
70
|
-
this.subscription.add(this.accountService.currentAccount$.subscribe((account) => {
|
|
71
|
-
this.currentAccount = account;
|
|
72
|
-
if (this.currentAccount) {
|
|
73
|
-
const str = `${this.currentAccount.accountNumber}`;
|
|
74
|
-
const len = str.length;
|
|
75
|
-
const accountWithHyfen = str.substring(0, len - 1) + '-' + str.substring(len - 1);
|
|
76
|
-
this.currentAccount.accountNumber = accountWithHyfen;
|
|
77
|
-
}
|
|
78
|
-
}));
|
|
79
|
-
this.subscription.add(this.accountService?.userAccounts$.subscribe((accounts) => {
|
|
80
|
-
this.otherAccounts = accounts?.filter((acc) => acc.uuid !== this.currentAccount?.uuid) || [];
|
|
81
|
-
}));
|
|
82
|
-
this.subscription.add(this.accountService.onOnboarding$.subscribe((onOnboarding) => {
|
|
83
|
-
setTimeout(() => {
|
|
84
|
-
this.doingOnboarding = onOnboarding;
|
|
85
|
-
});
|
|
86
|
-
}));
|
|
87
|
-
}
|
|
88
|
-
this.subscription.add(this.authService.role$.subscribe((role) => {
|
|
89
|
-
this.isAdmin = role === Role.ADMIN;
|
|
90
|
-
}));
|
|
91
|
-
this.subscription.add(this.notificationsService.notifications$.subscribe((notifications) => {
|
|
92
|
-
this.notificationsList = notifications;
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
ngOnDestroy() {
|
|
96
|
-
this.subscription.unsubscribe();
|
|
97
|
-
}
|
|
98
|
-
toggleMenu() {
|
|
99
|
-
this.menuService.toggleMenu$.next();
|
|
100
|
-
}
|
|
101
|
-
logout() {
|
|
102
|
-
this.authService.logout();
|
|
103
|
-
}
|
|
104
|
-
isDesktop() {
|
|
105
|
-
return WindowUtil.isDesktop();
|
|
106
|
-
}
|
|
107
|
-
changeAccount(newAccount) {
|
|
108
|
-
this.storageService.set('linkedCnpj', newAccount.customerDocument);
|
|
109
|
-
this.accountService.currentAccount$.next(newAccount);
|
|
110
|
-
window.location.reload();
|
|
111
|
-
}
|
|
112
|
-
goToTermsOfUse() {
|
|
113
|
-
this.accountService.termsOfUse$.next();
|
|
114
|
-
}
|
|
115
|
-
goToPasswordChange() {
|
|
116
|
-
this.router.navigate(['password', 'recover'], { queryParams: { change: true } });
|
|
117
|
-
}
|
|
118
|
-
goToTariff() {
|
|
119
|
-
this.router.navigate(['fintech/under-construction']);
|
|
120
|
-
}
|
|
121
|
-
goToOnboarding() {
|
|
122
|
-
this.router.navigate(['onboarding', 'attorney-information']);
|
|
123
|
-
}
|
|
124
|
-
handleClick(link) {
|
|
125
|
-
this.onClick.emit(link || '');
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
TopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, deps: [{ token: i1.MenuService }, { token: i2.AuthService }, { token: i3.Router }, { token: i2.ProfileService }, { token: i2.StorageService }, { token: i4.NotificationsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
TopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService", showHelpCentral: "showHelpCentral" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"], components: [{ type: i5.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i8.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i9.TranslatePipe, "unreadNotifications": i10.UnreadNotificationsPipe, "formatDocument": i11.FormatDocumentPipe } });
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
131
|
-
type: Component,
|
|
132
|
-
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"] }]
|
|
133
|
-
}], ctorParameters: function () { return [{ type: i1.MenuService }, { type: i2.AuthService }, { type: i3.Router }, { type: i2.ProfileService }, { type: i2.StorageService }, { type: i4.NotificationsService }]; }, propDecorators: { fintech: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], accountService: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], showHelpCentral: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], onClick: [{
|
|
140
|
-
type: Output
|
|
141
|
-
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sY0FBYyxDQUFDO0FBS3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBT25ELE1BQU0sT0FBTyxlQUFlO0lBZ0QxQixZQUNVLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLE1BQWMsRUFDZCxjQUE4QixFQUM5QixjQUE4QixFQUM5QixvQkFBMEM7UUFMMUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQXJEN0MsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDaEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdB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QU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ00sY0FBYztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUF3QjtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7NEdBdEpVLGVBQWU7Z0dBQWYsZUFBZSw2TENmNUIsNmlPQThLQTsyRkQvSmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxnQkFBZ0I7OE9Ba0JuQixPQUFPO3NCQURiLEtBQUs7Z0JBR0MsY0FBYztzQkFEcEIsS0FBSztnQkFHQyxlQUFlO3NCQURyQixLQUFLO2dCQXlCSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSb2xlLCBWZWN0b3JOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIZWxwQ2VudHJhbEljb25PcHRpb25zVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy90b3BiYXIubW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgUHJvZmlsZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFza1V0aWwsIFdpbmRvd1V0aWwgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci10b3AtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9wLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9wLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9wQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBoaWRlRWxlbWVudHMgPSBmYWxzZTtcclxuICBwdWJsaWMgb3BlbmVkTWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Tm90aWZpY2F0aW9ucyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBkb2luZ09uYm9hcmRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHZlY3RvckZpcnN0TmFtZTogYW55O1xyXG4gIHB1YmxpYyBjdXJyZW50QWNjb3VudDogYW55ID0ge307XHJcbiAgcHVibGljIGlzQWRtaW4gPSBmYWxzZTtcclxuICBwdWJsaWMgb3RoZXJBY2NvdW50czogYW55W10gPSBbXTtcclxuICBwdWJsaWMgbWFza1V0aWwgPSBNYXNrVXRpbDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmludGVjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFjY291bnRTZXJ2aWNlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0hlbHBDZW50cmFsID0gZmFsc2U7XHJcbiAgcHVibGljIGhlbHBDZW50cmFsSWNvbnM6IEhlbHBDZW50cmFsSWNvbk9wdGlvbnNUeXBlW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGljb246ICdmYWIgZmEtd2hhdHNhcHAnLFxyXG4gICAgICB1cmw6ICdodHRwczovL2FwaS53aGF0c2FwcC5jb20vc2VuZD9waG9uZT01NTIxOTcxNTUxMTg4JnRleHQ9b2wlQzMlQTEnLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAncGkgcGktcGhvbmUnLFxyXG4gICAgICB1cmw6ICd0ZWw6NTUyMTIwNDIzMDE3JyxcclxuICAgICAgYWN0aXZlOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWNvbjogJ2ZhciBmYS1lbnZlbG9wZScsXHJcbiAgICAgIHVybDogJ21haWx0bzpzdXBvcnRlQHZlY3RvcmFwcC5jb20uYnInLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAnZmFyIGZhLXF1ZXN0aW9uLWNpcmNsZScsXHJcbiAgICAgIHVybDogJycsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHB1YmxpYyBub3RpZmljYXRpb25zTGlzdDogVmVjdG9yTm90aWZpY2F0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLnByb2ZpbGVGaXJzdE5hbWUkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnZlY3RvckZpcnN0TmFtZSA9IHZhbHVlO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UubWVudU9wZW5lZCQuc3Vic2NyaWJlKChoYXNPcGVuZWQpID0+IHtcclxuICAgICAgICB0aGlzLmhpZGVFbGVtZW50cyA9IGhhc09wZW5lZDtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMuYWNjb3VudFNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuY3VycmVudEFjY291bnQkLnN1YnNjcmliZSgoYWNjb3VudDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gYWNjb3VudDtcclxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY2NvdW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IGAke3RoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlcn1gO1xyXG4gICAgICAgICAgICBjb25zdCBsZW4gPSBzdHIubGVuZ3RoO1xyXG4gICAgICAgICAgICBjb25zdCBhY2NvdW50V2l0aEh5ZmVuID0gc3RyLnN1YnN0cmluZygwLCBsZW4gLSAxKSArICctJyArIHN0ci5zdWJzdHJpbmcobGVuIC0gMSk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlciA9IGFjY291bnRXaXRoSHlmZW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgICB0aGlzLmFjY291bnRTZXJ2aWNlPy51c2VyQWNjb3VudHMkLnN1YnNjcmliZSgoYWNjb3VudHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vdGhlckFjY291bnRzID0gYWNjb3VudHM/LmZpbHRlcigoYWNjOiBhbnkpID0+IGFjYy51dWlkICE9PSB0aGlzLmN1cnJlbnRBY2NvdW50Py51dWlkKSB8fCBbXTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2Uub25PbmJvYXJkaW5nJC5zdWJzY3JpYmUoKG9uT25ib2FyZGluZzogYW55KSA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kb2luZ09uYm9hcmRpbmcgPSBvbk9uYm9hcmRpbmc7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5yb2xlJC5zdWJzY3JpYmUoKHJvbGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzQWRtaW4gPSByb2xlID09PSBSb2xlLkFETUlOO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uubm90aWZpY2F0aW9ucyQuc3Vic2NyaWJlKChub3RpZmljYXRpb25zKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zTGlzdCA9IG5vdGlmaWNhdGlvbnM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLnRvZ2dsZU1lbnUkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRGVza3RvcCgpIHtcclxuICAgIHJldHVybiBXaW5kb3dVdGlsLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUFjY291bnQobmV3QWNjb3VudDogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnbGlua2VkQ25waicsIG5ld0FjY291bnQuY3VzdG9tZXJEb2N1bWVudCk7XHJcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmN1cnJlbnRBY2NvdW50JC5uZXh0KG5ld0FjY291bnQpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9UZXJtc09mVXNlKCkge1xyXG4gICAgdGhpcy5hY2NvdW50U2VydmljZS50ZXJtc09mVXNlJC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1Bhc3N3b3JkQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydwYXNzd29yZCcsICdyZWNvdmVyJ10sIHsgcXVlcnlQYXJhbXM6IHsgY2hhbmdlOiB0cnVlIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1RhcmlmZigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZmludGVjaC91bmRlci1jb25zdHJ1Y3Rpb24nXSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnb1RvT25ib2FyZGluZygpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnb25ib2FyZGluZycsICdhdHRvcm5leS1pbmZvcm1hdGlvbiddKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhsaW5rOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMub25DbGljay5lbWl0KGxpbmsgfHwgJycpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG9wLWJhci1jb250YWluZXJcIj5cclxuICA8ZGl2IGlkPVwibWVudS10b2dnbGVcIiBjbGFzcz1cIm1lbnUtdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaWNvblwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibGVmdC1pdGVtcy1jb250YWluZXJcIiAqbmdJZj1cImZpbnRlY2ggJiYgaXNEZXNrdG9wKCkgJiYgIWRvaW5nT25ib2FyZGluZyAmJiAhaXNBZG1pblwiPlxyXG4gICAgPHNwYW4+QmFuY28ge3sgY3VycmVudEFjY291bnQ/LmJhbmtDb2RlIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5BRyB7eyBjdXJyZW50QWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5DQyB7eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudE51bWJlciB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPHNwYW5cclxuICAgICAgPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fVxyXG4gICAgICB7eyBtYXNrVXRpbC5mb3JtYXREb2N1bWVudChjdXJyZW50QWNjb3VudD8uZG9jdW1lbnQpIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LWJ1dHRvbiBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjaGFuZ2VBY2NvdW50TWVudS50b2dnbGUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXItMlwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicmlnaHQtaXRlbXMtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuLWl0ZW1zJzogaGlkZUVsZW1lbnRzIH1cIiAqbmdJZj1cIiFpc0FkbWluICYmICFkb2luZ09uYm9hcmRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWNlbnRyYWxcIiAqbmdJZj1cInNob3dIZWxwQ2VudHJhbFwiPlxyXG4gICAgICA8c3Bhbj57eyAnYXBwLmxhYmVsLmhlbHBfY2VudHJhbCcgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGhlbHBDZW50cmFsSWNvbnNcIj5cclxuICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogIWl0ZW0uYWN0aXZlIH1cIiBbYXR0ci5ocmVmXT1cIml0ZW0udXJsXCI+XHJcbiAgICAgICAgICA8aSBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c3BhbiAqbmdJZj1cIiFmaW50ZWNoXCIgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbnMudG9nZ2xlKCRldmVudClcIiBjbGFzcz1cImZhcyBmYS1iZWxsIG5vdGlmaWNhdGlvbnMtaWNvblwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIihub3RpZmljYXRpb25zTGlzdCB8IHVucmVhZE5vdGlmaWNhdGlvbnMpLmxlbmd0aFwiIGNsYXNzPVwibm90aWZpY2F0aW9ucy1pbmRpY2F0b3JcIj4gPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPGRpdlxyXG4gICAgICAjbWVudUNvbnRhaW5lclxyXG4gICAgICBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCJcclxuICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICBwVG9vbHRpcD1cIkVudGVyIHlvdXIgdXNlcm5hbWVcIlxyXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICB0b29sdGlwRXZlbnQ9XCJjbGlja1wiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1uYW1lXCI+e3sgY3VycmVudEFjY291bnQ/Lm5hbWUgfHwgdmVjdG9yRmlyc3ROYW1lIHx8ICcnIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZhc1wiIFtuZ0NsYXNzXT1cInsgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbmVkTWVudSwgJ2ZhLWFuZ2xlLXVwJzogb3BlbmVkTWVudSB9XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsICNtZW51IChvbkhpZGUpPVwib3BlbmVkTWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRNZW51ID0gdHJ1ZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvXCIgKm5nSWY9XCIhaXNEZXNrdG9wKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5iYW5rIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkFHOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5hZ2VuY3kgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgY3VycmVudEFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudFR5cGUgPT09ICdDVVJSRU5UX0FDQ09VTlRfUEYnID8gJ0NQRicgOiAnQ05QSicgfX06IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+IHt7IG1hc2tVdGlsLmZvcm1hdERvY3VtZW50KGN1cnJlbnRBY2NvdW50Py5kb2N1bWVudCkgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhbmdlLWFjY291bnQtbW9iaWxlXCIgKGNsaWNrKT1cImNoYW5nZUFjY291bnRNZW51LnRvZ2dsZSgkZXZlbnQpXCIgKm5nSWY9XCJvdGhlckFjY291bnRzPy5sZW5ndGhcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LW1vYmlsZS1sYWJlbFwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHVsIGNsYXNzPVwidXNlci1tZW51XCI+XHJcbiAgICAgIDxsaSAqbmdJZj1cImZpbnRlY2hcIiAoY2xpY2spPVwiZ29Ub1Rlcm1zT2ZVc2UoKTsgbWVudS5oaWRlKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRlcm1zLW9mLXVzZSB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5UZXJtb3MgZGUgVXNvPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nSWY9XCJmaW50ZWNoXCIgKGNsaWNrKT1cImdvVG9QYXNzd29yZENoYW5nZSgpOyBtZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmludGVjaC1wYXNzd29yZCB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5BbHRlcmFyIFNlbmhhPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2dvdXQgdXNlci1tZW51LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+U2Fpcjwvc3Bhbj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbCAjY2hhbmdlQWNjb3VudE1lbnUgKG9uSGlkZSk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IHRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdGb3I9XCJsZXQgYWNjb3VudCBvZiBvdGhlckFjY291bnRzXCJcclxuICAgICAgY2xhc3M9XCJhY2NvdW50LWluZm8gY2hhbmdlLWFjY291bnQtaW5mb1wiXHJcbiAgICAgIChjbGljayk9XCJjaGFuZ2VBY2NvdW50KGFjY291bnQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmJhbmsgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+QUc6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgYWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkNDOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBhY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fTogPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj4ge3sgYWNjb3VudD8uZG9jdW1lbnQgfCBmb3JtYXREb2N1bWVudCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxociAvPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIGFkZC1hY2NvdW50XCIgKGNsaWNrKT1cImdvVG9PbmJvYXJkaW5nKCk7IGNoYW5nZUFjY291bnRNZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIEFkaWNpb25hciB1bWEgbm92YSBjb250YVxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3Atb3ZlcmxheVBhbmVsPlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI25vdGlmaWNhdGlvbnNcclxuICAob25IaWRlKT1cInNob3dOb3RpZmljYXRpb25zID0gZmFsc2VcIlxyXG4gIChvblNob3cpPVwic2hvd05vdGlmaWNhdGlvbnMgPSB0cnVlXCJcclxuICBzdHlsZUNsYXNzPVwiYmFja2dyb3VuZC13aGl0ZVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLXZlY3Rvci1sb2dvXCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9ucy10aXRsZVwiPlxyXG4gICAgICAgIHt7ICdhcHAubGFiZWwubm90aWZpY2F0aW9ucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dWwgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3RcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKG5vdGlmaWNhdGlvbj8ubGluaylcIlxyXG4gICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW1cIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uc0xpc3QgfCB1bnJlYWROb3RpZmljYXRpb25zXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uLXRpdGxlXCI+e3sgbm90aWZpY2F0aW9uLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7IG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8ZW0gY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1yaWdodFwiPjwvZW0+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcbiJdfQ==
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
3
|
+
import { Role } from '../../models';
|
|
4
|
+
import { MaskUtil, WindowUtil } from '../../utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../services/menu.service";
|
|
7
|
+
import * as i2 from "../../services";
|
|
8
|
+
import * as i3 from "@angular/router";
|
|
9
|
+
import * as i4 from "../../services/notifications.service";
|
|
10
|
+
import * as i5 from "@angular/common";
|
|
11
|
+
import * as i6 from "primeng/tooltip";
|
|
12
|
+
import * as i7 from "primeng/overlaypanel";
|
|
13
|
+
import * as i8 from "primeng/api";
|
|
14
|
+
import * as i9 from "../../pipes/format-document.pipe";
|
|
15
|
+
import * as i10 from "../../pipes/unread-notifications.pipe";
|
|
16
|
+
import * as i11 from "@ngx-translate/core";
|
|
17
|
+
export class TopBarComponent {
|
|
18
|
+
constructor(menuService, authService, router, profileService, storageService, notificationsService) {
|
|
19
|
+
this.menuService = menuService;
|
|
20
|
+
this.authService = authService;
|
|
21
|
+
this.router = router;
|
|
22
|
+
this.profileService = profileService;
|
|
23
|
+
this.storageService = storageService;
|
|
24
|
+
this.notificationsService = notificationsService;
|
|
25
|
+
this.hideElements = false;
|
|
26
|
+
this.openedMenu = false;
|
|
27
|
+
this.openedChangeAccountMenu = false;
|
|
28
|
+
this.showNotifications = false;
|
|
29
|
+
this.doingOnboarding = false;
|
|
30
|
+
this.currentAccount = {};
|
|
31
|
+
this.isAdmin = false;
|
|
32
|
+
this.otherAccounts = [];
|
|
33
|
+
this.maskUtil = MaskUtil;
|
|
34
|
+
this.fintech = false;
|
|
35
|
+
this.showHelpCentral = false;
|
|
36
|
+
this.helpCentralIcons = [
|
|
37
|
+
{
|
|
38
|
+
icon: 'fab fa-whatsapp',
|
|
39
|
+
url: 'https://api.whatsapp.com/send?phone=5521971551188&text=ol%C3%A1',
|
|
40
|
+
active: true,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
icon: 'pi pi-phone',
|
|
44
|
+
url: 'tel:552120423017',
|
|
45
|
+
active: true,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
icon: 'far fa-envelope',
|
|
49
|
+
url: 'mailto:suporte@vectorapp.com.br',
|
|
50
|
+
active: true,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
icon: 'far fa-question-circle',
|
|
54
|
+
url: '',
|
|
55
|
+
active: false,
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
this.onClick = new EventEmitter();
|
|
59
|
+
this.notificationsList = [];
|
|
60
|
+
this.subscription = new Subscription();
|
|
61
|
+
}
|
|
62
|
+
ngOnInit() {
|
|
63
|
+
this.subscription.add(this.profileService.profileFirstName$.subscribe((value) => {
|
|
64
|
+
this.vectorFirstName = value;
|
|
65
|
+
}));
|
|
66
|
+
this.subscription.add(this.menuService.menuOpened$.subscribe((hasOpened) => {
|
|
67
|
+
this.hideElements = hasOpened;
|
|
68
|
+
}));
|
|
69
|
+
if (this.accountService) {
|
|
70
|
+
this.subscription.add(this.accountService.currentAccount$.subscribe((account) => {
|
|
71
|
+
this.currentAccount = account;
|
|
72
|
+
if (this.currentAccount) {
|
|
73
|
+
const str = `${this.currentAccount.accountNumber}`;
|
|
74
|
+
const len = str.length;
|
|
75
|
+
const accountWithHyfen = str.substring(0, len - 1) + '-' + str.substring(len - 1);
|
|
76
|
+
this.currentAccount.accountNumber = accountWithHyfen;
|
|
77
|
+
}
|
|
78
|
+
}));
|
|
79
|
+
this.subscription.add(this.accountService?.userAccounts$.subscribe((accounts) => {
|
|
80
|
+
this.otherAccounts = accounts?.filter((acc) => acc.uuid !== this.currentAccount?.uuid) || [];
|
|
81
|
+
}));
|
|
82
|
+
this.subscription.add(this.accountService.onOnboarding$.subscribe((onOnboarding) => {
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
this.doingOnboarding = onOnboarding;
|
|
85
|
+
});
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
this.subscription.add(this.authService.role$.subscribe((role) => {
|
|
89
|
+
this.isAdmin = role === Role.ADMIN;
|
|
90
|
+
}));
|
|
91
|
+
this.subscription.add(this.notificationsService.notifications$.subscribe((notifications) => {
|
|
92
|
+
this.notificationsList = notifications;
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
ngOnDestroy() {
|
|
96
|
+
this.subscription.unsubscribe();
|
|
97
|
+
}
|
|
98
|
+
toggleMenu() {
|
|
99
|
+
this.menuService.toggleMenu$.next();
|
|
100
|
+
}
|
|
101
|
+
logout() {
|
|
102
|
+
this.authService.logout();
|
|
103
|
+
}
|
|
104
|
+
isDesktop() {
|
|
105
|
+
return WindowUtil.isDesktop();
|
|
106
|
+
}
|
|
107
|
+
changeAccount(newAccount) {
|
|
108
|
+
this.storageService.set('linkedCnpj', newAccount.customerDocument);
|
|
109
|
+
this.accountService.currentAccount$.next(newAccount);
|
|
110
|
+
window.location.reload();
|
|
111
|
+
}
|
|
112
|
+
goToTermsOfUse() {
|
|
113
|
+
this.accountService.termsOfUse$.next();
|
|
114
|
+
}
|
|
115
|
+
goToPasswordChange() {
|
|
116
|
+
this.router.navigate(['password', 'recover'], { queryParams: { change: true } });
|
|
117
|
+
}
|
|
118
|
+
goToTariff() {
|
|
119
|
+
this.router.navigate(['fintech/under-construction']);
|
|
120
|
+
}
|
|
121
|
+
goToOnboarding() {
|
|
122
|
+
this.router.navigate(['onboarding', 'attorney-information']);
|
|
123
|
+
}
|
|
124
|
+
handleClick(link) {
|
|
125
|
+
this.onClick.emit(link || '');
|
|
126
|
+
}
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TopBarComponent, deps: [{ token: i1.MenuService }, { token: i2.AuthService }, { token: i3.Router }, { token: i2.ProfileService }, { token: i2.StorageService }, { token: i4.NotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService", showHelpCentral: "showHelpCentral" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i8.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "pipe", type: i9.FormatDocumentPipe, name: "formatDocument" }, { kind: "pipe", type: i10.UnreadNotificationsPipe, name: "unreadNotifications" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
|
|
129
|
+
}
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TopBarComponent, decorators: [{
|
|
131
|
+
type: Component,
|
|
132
|
+
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .help-central{display:flex;align-items:center;gap:20px;font-size:1rem;margin-right:35px}.top-bar-container .right-items-container .help-central em{font-size:1.3rem}.top-bar-container .right-items-container .help-central a{outline:none;border:none;text-decoration:none;color:transparent}.top-bar-container .right-items-container .help-central a i{color:#fff;font-size:1.1em}.top-bar-container .right-items-container .help-central a i:hover{color:#7de5ec}@media screen and (max-width: 441px){.top-bar-container .right-items-container .help-central span{display:none}.top-bar-container .right-items-container .help-central em{font-size:1rem}}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.top-bar-container .right-items-container .notifications-icon{position:relative;cursor:pointer}.top-bar-container .right-items-container .notifications-indicator{position:absolute;right:-8px;top:-8px;width:12px;height:12px;border-radius:50%;background-color:var(--error-color)}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E%0D %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E%0D %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E%0D %3Cg id%3D%22exit-to-app%22%3E%0D %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}.notifications-header{display:flex;align-items:center;gap:8px}.notifications-header .notifications-vector-logo{background-image:url(/assets/images/vector_logo_horizontal.svg);background-repeat:no-repeat;background-position:right;background-size:cover;height:12px;width:30px}.notifications-header .notifications-title{text-transform:uppercase;color:var(--gray-dark)}.notifications-list{max-height:400px;overflow:auto;margin-top:10px}.notifications-list .notification-item{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:5px 10px;border-radius:5px}.notifications-list .notification-item:hover{background-color:var(--gray-medium)}.notifications-list .notification-item .notification-title{font-weight:700;text-transform:uppercase}.notifications-list .notification-item span{font-weight:500;margin-right:20px}.notifications-list .notification-item em{position:absolute;right:10px;bottom:10px;color:var(--theme-primary)}\n"] }]
|
|
133
|
+
}], ctorParameters: function () { return [{ type: i1.MenuService }, { type: i2.AuthService }, { type: i3.Router }, { type: i2.ProfileService }, { type: i2.StorageService }, { type: i4.NotificationsService }]; }, propDecorators: { fintech: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], accountService: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], showHelpCentral: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], onClick: [{
|
|
140
|
+
type: Output
|
|
141
|
+
}] } });
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sY0FBYyxDQUFDO0FBS3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBT25ELE1BQU0sT0FBTyxlQUFlO0lBZ0QxQixZQUNVLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLE1BQWMsRUFDZCxjQUE4QixFQUM5QixjQUE4QixFQUM5QixvQkFBMEM7UUFMMUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQXJEN0MsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQiw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDaEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdB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QU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ00sY0FBYztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUF3QjtRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0F0SlUsZUFBZTtrR0FBZixlQUFlLDZMQ2Y1Qiw2aU9BOEtBOzsyRkQvSmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxnQkFBZ0I7OE9Ba0JuQixPQUFPO3NCQURiLEtBQUs7Z0JBR0MsY0FBYztzQkFEcEIsS0FBSztnQkFHQyxlQUFlO3NCQURyQixLQUFLO2dCQXlCSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSb2xlLCBWZWN0b3JOb3RpZmljYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIZWxwQ2VudHJhbEljb25PcHRpb25zVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy90b3BiYXIubW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgUHJvZmlsZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFza1V0aWwsIFdpbmRvd1V0aWwgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci10b3AtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9wLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9wLWJhci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9wQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBoaWRlRWxlbWVudHMgPSBmYWxzZTtcclxuICBwdWJsaWMgb3BlbmVkTWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Tm90aWZpY2F0aW9ucyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBkb2luZ09uYm9hcmRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHZlY3RvckZpcnN0TmFtZTogYW55O1xyXG4gIHB1YmxpYyBjdXJyZW50QWNjb3VudDogYW55ID0ge307XHJcbiAgcHVibGljIGlzQWRtaW4gPSBmYWxzZTtcclxuICBwdWJsaWMgb3RoZXJBY2NvdW50czogYW55W10gPSBbXTtcclxuICBwdWJsaWMgbWFza1V0aWwgPSBNYXNrVXRpbDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmludGVjaDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFjY291bnRTZXJ2aWNlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0hlbHBDZW50cmFsID0gZmFsc2U7XHJcbiAgcHVibGljIGhlbHBDZW50cmFsSWNvbnM6IEhlbHBDZW50cmFsSWNvbk9wdGlvbnNUeXBlW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGljb246ICdmYWIgZmEtd2hhdHNhcHAnLFxyXG4gICAgICB1cmw6ICdodHRwczovL2FwaS53aGF0c2FwcC5jb20vc2VuZD9waG9uZT01NTIxOTcxNTUxMTg4JnRleHQ9b2wlQzMlQTEnLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAncGkgcGktcGhvbmUnLFxyXG4gICAgICB1cmw6ICd0ZWw6NTUyMTIwNDIzMDE3JyxcclxuICAgICAgYWN0aXZlOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWNvbjogJ2ZhciBmYS1lbnZlbG9wZScsXHJcbiAgICAgIHVybDogJ21haWx0bzpzdXBvcnRlQHZlY3RvcmFwcC5jb20uYnInLFxyXG4gICAgICBhY3RpdmU6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBpY29uOiAnZmFyIGZhLXF1ZXN0aW9uLWNpcmNsZScsXHJcbiAgICAgIHVybDogJycsXHJcbiAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICB9LFxyXG4gIF07XHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHB1YmxpYyBub3RpZmljYXRpb25zTGlzdDogVmVjdG9yTm90aWZpY2F0aW9uW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLnByb2ZpbGVGaXJzdE5hbWUkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnZlY3RvckZpcnN0TmFtZSA9IHZhbHVlO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubWVudVNlcnZpY2UubWVudU9wZW5lZCQuc3Vic2NyaWJlKChoYXNPcGVuZWQpID0+IHtcclxuICAgICAgICB0aGlzLmhpZGVFbGVtZW50cyA9IGhhc09wZW5lZDtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMuYWNjb3VudFNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuY3VycmVudEFjY291bnQkLnN1YnNjcmliZSgoYWNjb3VudDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gYWNjb3VudDtcclxuICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBY2NvdW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IGAke3RoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlcn1gO1xyXG4gICAgICAgICAgICBjb25zdCBsZW4gPSBzdHIubGVuZ3RoO1xyXG4gICAgICAgICAgICBjb25zdCBhY2NvdW50V2l0aEh5ZmVuID0gc3RyLnN1YnN0cmluZygwLCBsZW4gLSAxKSArICctJyArIHN0ci5zdWJzdHJpbmcobGVuIC0gMSk7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlciA9IGFjY291bnRXaXRoSHlmZW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgICB0aGlzLmFjY291bnRTZXJ2aWNlPy51c2VyQWNjb3VudHMkLnN1YnNjcmliZSgoYWNjb3VudHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vdGhlckFjY291bnRzID0gYWNjb3VudHM/LmZpbHRlcigoYWNjOiBhbnkpID0+IGFjYy51dWlkICE9PSB0aGlzLmN1cnJlbnRBY2NvdW50Py51dWlkKSB8fCBbXTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG5cclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2Uub25PbmJvYXJkaW5nJC5zdWJzY3JpYmUoKG9uT25ib2FyZGluZzogYW55KSA9PiB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kb2luZ09uYm9hcmRpbmcgPSBvbk9uYm9hcmRpbmc7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5yb2xlJC5zdWJzY3JpYmUoKHJvbGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzQWRtaW4gPSByb2xlID09PSBSb2xlLkFETUlOO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uubm90aWZpY2F0aW9ucyQuc3Vic2NyaWJlKChub3RpZmljYXRpb25zKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zTGlzdCA9IG5vdGlmaWNhdGlvbnM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLnRvZ2dsZU1lbnUkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRGVza3RvcCgpIHtcclxuICAgIHJldHVybiBXaW5kb3dVdGlsLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZUFjY291bnQobmV3QWNjb3VudDogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnbGlua2VkQ25waicsIG5ld0FjY291bnQuY3VzdG9tZXJEb2N1bWVudCk7XHJcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmN1cnJlbnRBY2NvdW50JC5uZXh0KG5ld0FjY291bnQpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9UZXJtc09mVXNlKCkge1xyXG4gICAgdGhpcy5hY2NvdW50U2VydmljZS50ZXJtc09mVXNlJC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1Bhc3N3b3JkQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydwYXNzd29yZCcsICdyZWNvdmVyJ10sIHsgcXVlcnlQYXJhbXM6IHsgY2hhbmdlOiB0cnVlIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ29Ub1RhcmlmZigpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZmludGVjaC91bmRlci1jb25zdHJ1Y3Rpb24nXSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnb1RvT25ib2FyZGluZygpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnb25ib2FyZGluZycsICdhdHRvcm5leS1pbmZvcm1hdGlvbiddKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDbGljayhsaW5rOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMub25DbGljay5lbWl0KGxpbmsgfHwgJycpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG9wLWJhci1jb250YWluZXJcIj5cclxuICA8ZGl2IGlkPVwibWVudS10b2dnbGVcIiBjbGFzcz1cIm1lbnUtdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtaWNvblwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibGVmdC1pdGVtcy1jb250YWluZXJcIiAqbmdJZj1cImZpbnRlY2ggJiYgaXNEZXNrdG9wKCkgJiYgIWRvaW5nT25ib2FyZGluZyAmJiAhaXNBZG1pblwiPlxyXG4gICAgPHNwYW4+QmFuY28ge3sgY3VycmVudEFjY291bnQ/LmJhbmtDb2RlIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5BRyB7eyBjdXJyZW50QWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8c3Bhbj5DQyB7eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudE51bWJlciB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPHNwYW5cclxuICAgICAgPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fVxyXG4gICAgICB7eyBtYXNrVXRpbC5mb3JtYXREb2N1bWVudChjdXJyZW50QWNjb3VudD8uZG9jdW1lbnQpIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgICA8bmctY29udGFpbmVyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LWJ1dHRvbiBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjaGFuZ2VBY2NvdW50TWVudS50b2dnbGUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXItMlwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicmlnaHQtaXRlbXMtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnaGlkZGVuLWl0ZW1zJzogaGlkZUVsZW1lbnRzIH1cIiAqbmdJZj1cIiFpc0FkbWluICYmICFkb2luZ09uYm9hcmRpbmdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWxwLWNlbnRyYWxcIiAqbmdJZj1cInNob3dIZWxwQ2VudHJhbFwiPlxyXG4gICAgICA8c3Bhbj57eyAnYXBwLmxhYmVsLmhlbHBfY2VudHJhbCcgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGhlbHBDZW50cmFsSWNvbnNcIj5cclxuICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbbmdDbGFzc109XCJ7IGhpZGRlbjogIWl0ZW0uYWN0aXZlIH1cIiBbYXR0ci5ocmVmXT1cIml0ZW0udXJsXCI+XHJcbiAgICAgICAgICA8aSBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8c3BhbiAqbmdJZj1cIiFmaW50ZWNoXCIgKGNsaWNrKT1cIm5vdGlmaWNhdGlvbnMudG9nZ2xlKCRldmVudClcIiBjbGFzcz1cImZhcyBmYS1iZWxsIG5vdGlmaWNhdGlvbnMtaWNvblwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIihub3RpZmljYXRpb25zTGlzdCB8IHVucmVhZE5vdGlmaWNhdGlvbnMpLmxlbmd0aFwiIGNsYXNzPVwibm90aWZpY2F0aW9ucy1pbmRpY2F0b3JcIj4gPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgPGRpdlxyXG4gICAgICAjbWVudUNvbnRhaW5lclxyXG4gICAgICBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCJcclxuICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICBwVG9vbHRpcD1cIkVudGVyIHlvdXIgdXNlcm5hbWVcIlxyXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICB0b29sdGlwRXZlbnQ9XCJjbGlja1wiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1uYW1lXCI+e3sgY3VycmVudEFjY291bnQ/Lm5hbWUgfHwgdmVjdG9yRmlyc3ROYW1lIHx8ICcnIH19PC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImZhc1wiIFtuZ0NsYXNzXT1cInsgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbmVkTWVudSwgJ2ZhLWFuZ2xlLXVwJzogb3BlbmVkTWVudSB9XCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsICNtZW51IChvbkhpZGUpPVwib3BlbmVkTWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRNZW51ID0gdHJ1ZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvXCIgKm5nSWY9XCIhaXNEZXNrdG9wKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5iYW5rIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkFHOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5hZ2VuY3kgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgY3VycmVudEFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudFR5cGUgPT09ICdDVVJSRU5UX0FDQ09VTlRfUEYnID8gJ0NQRicgOiAnQ05QSicgfX06IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+IHt7IG1hc2tVdGlsLmZvcm1hdERvY3VtZW50KGN1cnJlbnRBY2NvdW50Py5kb2N1bWVudCkgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhbmdlLWFjY291bnQtbW9iaWxlXCIgKGNsaWNrKT1cImNoYW5nZUFjY291bnRNZW51LnRvZ2dsZSgkZXZlbnQpXCIgKm5nSWY9XCJvdGhlckFjY291bnRzPy5sZW5ndGhcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNoYW5nZS1hY2NvdW50LW1vYmlsZS1sYWJlbFwiPkFsdGVybmFyIGNvbnRhPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cImZhc1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZENoYW5nZUFjY291bnRNZW51LCAnZmEtYW5nbGUtdXAnOiBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSB9XCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHVsIGNsYXNzPVwidXNlci1tZW51XCI+XHJcbiAgICAgIDxsaSAqbmdJZj1cImZpbnRlY2hcIiAoY2xpY2spPVwiZ29Ub1Rlcm1zT2ZVc2UoKTsgbWVudS5oaWRlKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRlcm1zLW9mLXVzZSB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5UZXJtb3MgZGUgVXNvPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKm5nSWY9XCJmaW50ZWNoXCIgKGNsaWNrKT1cImdvVG9QYXNzd29yZENoYW5nZSgpOyBtZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmludGVjaC1wYXNzd29yZCB1c2VyLW1lbnUtaWNvblwiPjwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj5BbHRlcmFyIFNlbmhhPC9zcGFuPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2dvdXQgdXNlci1tZW51LWljb25cIj48L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+U2Fpcjwvc3Bhbj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbCAjY2hhbmdlQWNjb3VudE1lbnUgKG9uSGlkZSk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlXCIgKG9uU2hvdyk9XCJvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IHRydWVcIj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdGb3I9XCJsZXQgYWNjb3VudCBvZiBvdGhlckFjY291bnRzXCJcclxuICAgICAgY2xhc3M9XCJhY2NvdW50LWluZm8gY2hhbmdlLWFjY291bnQtaW5mb1wiXHJcbiAgICAgIChjbGljayk9XCJjaGFuZ2VBY2NvdW50KGFjY291bnQpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmJhbmsgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgPHNwYW4+QUc6IDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgYWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuPkNDOiA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyBhY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fTogPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj4ge3sgYWNjb3VudD8uZG9jdW1lbnQgfCBmb3JtYXREb2N1bWVudCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxociAvPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIGFkZC1hY2NvdW50XCIgKGNsaWNrKT1cImdvVG9PbmJvYXJkaW5nKCk7IGNoYW5nZUFjY291bnRNZW51LmhpZGUoKVwiPlxyXG4gICAgICAgIEFkaWNpb25hciB1bWEgbm92YSBjb250YVxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3Atb3ZlcmxheVBhbmVsPlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI25vdGlmaWNhdGlvbnNcclxuICAob25IaWRlKT1cInNob3dOb3RpZmljYXRpb25zID0gZmFsc2VcIlxyXG4gIChvblNob3cpPVwic2hvd05vdGlmaWNhdGlvbnMgPSB0cnVlXCJcclxuICBzdHlsZUNsYXNzPVwiYmFja2dyb3VuZC13aGl0ZVwiXHJcbj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbnMtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJub3RpZmljYXRpb25zLXZlY3Rvci1sb2dvXCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9ucy10aXRsZVwiPlxyXG4gICAgICAgIHt7ICdhcHAubGFiZWwubm90aWZpY2F0aW9ucycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dWwgY2xhc3M9XCJub3RpZmljYXRpb25zLWxpc3RcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKG5vdGlmaWNhdGlvbj8ubGluaylcIlxyXG4gICAgICAgIGNsYXNzPVwibm90aWZpY2F0aW9uLWl0ZW1cIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9uc0xpc3QgfCB1bnJlYWROb3RpZmljYXRpb25zXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uLXRpdGxlXCI+e3sgbm90aWZpY2F0aW9uLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7IG5vdGlmaWNhdGlvbi5kZXNjcmlwdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8ZW0gY2xhc3M9XCJmYXMgZmEtY2hldnJvbi1yaWdodFwiPjwvZW0+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
3
|
+
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
4
|
+
import { SharedModule } from '../../shared/shared.module';
|
|
5
|
+
import { TopBarComponent } from './top-bar.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class TopBarModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TopBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: TopBarModule, declarations: [TopBarComponent], imports: [SharedModule, OverlayPanelModule, TranslateModule], exports: [TopBarComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TopBarModule, imports: [SharedModule, OverlayPanelModule, TranslateModule] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: TopBarModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [TopBarComponent],
|
|
16
|
+
exports: [TopBarComponent],
|
|
17
|
+
imports: [SharedModule, OverlayPanelModule, TranslateModule],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPdEQsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZLGlCQUpSLGVBQWUsYUFFcEIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsYUFEakQsZUFBZTsrR0FHZCxZQUFZLFlBRmIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWU7OzJGQUVoRCxZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDO2lCQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgVG9wQmFyQ29tcG9uZW50IH0gZnJvbSAnLi90b3AtYmFyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RvcEJhckNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW1RvcEJhckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1NoYXJlZE1vZHVsZSwgT3ZlcmxheVBhbmVsTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9wQmFyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CrudListHasItemsGuard {
|
|
4
|
-
constructor(injector) {
|
|
5
|
-
this.injector = injector;
|
|
6
|
-
}
|
|
7
|
-
canActivate(route) {
|
|
8
|
-
const serviceType = route.data['service'];
|
|
9
|
-
if (!serviceType) {
|
|
10
|
-
console.error('You forgot to add the service declaration to route "data" property.');
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
const service = this.injector.get(serviceType);
|
|
14
|
-
return !!(service.dataset$.value?.data?.length || service.flatUnpagedDataset$.value?.length);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
-
type: Injectable
|
|
21
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class CrudListHasItemsGuard {
|
|
4
|
+
constructor(injector) {
|
|
5
|
+
this.injector = injector;
|
|
6
|
+
}
|
|
7
|
+
canActivate(route) {
|
|
8
|
+
const serviceType = route.data['service'];
|
|
9
|
+
if (!serviceType) {
|
|
10
|
+
console.error('You forgot to add the service declaration to route "data" property.');
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
const service = this.injector.get(serviceType);
|
|
14
|
+
return !!(service.dataset$.value?.data?.length || service.flatUnpagedDataset$.value?.length);
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CrudListHasItemsGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CrudListHasItemsGuard }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CrudListHasItemsGuard, decorators: [{
|
|
20
|
+
type: Injectable
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1saXN0LWhhcy1pdGVtcy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2d1YXJkcy9jcnVkLWxpc3QtaGFzLWl0ZW1zLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7O0FBSXJELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFMUMsV0FBVyxDQUFDLEtBQTZCO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7WUFDckYsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFxQixXQUFXLENBQUMsQ0FBQztRQUNuRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRixDQUFDOzhHQVhVLHFCQUFxQjtrSEFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDcnVkTGlzdEhhc0l0ZW1zR3VhcmQgIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cclxuXHJcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHNlcnZpY2VUeXBlID0gcm91dGUuZGF0YVsnc2VydmljZSddO1xyXG4gICAgaWYgKCFzZXJ2aWNlVHlwZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdZb3UgZm9yZ290IHRvIGFkZCB0aGUgc2VydmljZSBkZWNsYXJhdGlvbiB0byByb3V0ZSBcImRhdGFcIiBwcm9wZXJ0eS4nKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PHR5cGVvZiBzZXJ2aWNlVHlwZT4oc2VydmljZVR5cGUpO1xyXG4gICAgcmV0dXJuICEhKHNlcnZpY2UuZGF0YXNldCQudmFsdWU/LmRhdGE/Lmxlbmd0aCB8fCBzZXJ2aWNlLmZsYXRVbnBhZ2VkRGF0YXNldCQudmFsdWU/Lmxlbmd0aCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|