@sunbird-cb/toc 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +55 -55
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +126 -126
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +32 -32
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +85 -85
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +100 -100
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +48 -48
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +120 -120
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +92 -92
- package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +48 -48
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +25 -25
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +41 -41
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +89 -89
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +42 -42
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +41 -41
- package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +78 -78
- package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +45 -45
- package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +2 -2
- package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +70 -70
- package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +28 -28
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +187 -187
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +86 -86
- package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +31 -31
- package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +941 -941
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +183 -183
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +327 -327
- package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +297 -297
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +248 -225
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +1148 -1030
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +16 -16
- package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +43 -43
- package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +133 -133
- package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +66 -66
- package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +278 -278
- package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +21 -21
- package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +21 -21
- package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +847 -847
- package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +219 -219
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +209 -209
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +26 -26
- package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +19 -19
- package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +23 -23
- package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +113 -113
- package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +110 -110
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +26 -26
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +19 -19
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +67 -67
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +28 -28
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +77 -77
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +2 -2
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +61 -61
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +20 -20
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +67 -67
- package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +139 -139
- package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +71 -71
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +34 -34
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +56 -56
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +25 -25
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +37 -37
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +32 -32
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +30 -30
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +38 -38
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +51 -51
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +115 -115
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +12 -12
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +51 -51
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +61 -61
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +87 -87
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +36 -36
- package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +62 -62
- package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +24 -24
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +192 -192
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +44 -44
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +99 -99
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +58 -58
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +67 -67
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +112 -112
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +2 -2
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +69 -69
- package/esm2022/lib/_collection-api.mjs +57 -57
- package/esm2022/lib/_constants/widget-content.constants.mjs +19 -19
- package/esm2022/lib/_directives/tooltip.directive.mjs +68 -68
- package/esm2022/lib/_models/common.model.mjs +2 -2
- package/esm2022/lib/_models/error.model.mjs +2 -2
- package/esm2022/lib/_pipes/highlight.pipe.mjs +24 -24
- package/esm2022/lib/_services/rating.service.mjs +89 -89
- package/esm2022/lib/_services/samuhik-charcha.service.mjs +29 -29
- package/esm2022/lib/_services/viewer-route-util.mjs +103 -103
- package/esm2022/lib/_services/widget-content.model.mjs +247 -247
- package/esm2022/lib/_services/widget-content.service.mjs +594 -594
- package/esm2022/lib/_shared/translate-loader.factory.mjs +9 -9
- package/esm2022/lib/app-toc-lib.module.mjs +499 -499
- package/esm2022/lib/collection.config.mjs +161 -161
- package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +37 -37
- package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +1436 -1436
- package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +475 -475
- package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +119 -119
- package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +80 -80
- package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +249 -249
- package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +39 -39
- package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +58 -58
- package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +2229 -2229
- package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +2907 -2905
- package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +157 -157
- package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +48 -48
- package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +47 -47
- package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +766 -766
- package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +243 -243
- package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +116 -116
- package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +44 -44
- package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +1838 -1838
- package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +236 -236
- package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +213 -213
- package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +36 -36
- package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +256 -256
- package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +133 -133
- package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +36 -36
- package/esm2022/lib/models/app-toc-analytics.model.mjs +2 -2
- package/esm2022/lib/models/app-toc.model.mjs +38 -38
- package/esm2022/lib/models/auto-complete.model.mjs +2 -2
- package/esm2022/lib/models/card-content.model.mjs +13 -13
- package/esm2022/lib/models/content-strip-with-tabs.model.mjs +2 -2
- package/esm2022/lib/models/discussion-forum.model.mjs +14 -14
- package/esm2022/lib/models/goal.model.mjs +2 -2
- package/esm2022/lib/models/meta-tag.model.mjs +8 -8
- package/esm2022/lib/models/playlist.model.mjs +2 -2
- package/esm2022/lib/models/profile-revamp.model.mjs +2 -2
- package/esm2022/lib/models/rating.model.mjs +2 -2
- package/esm2022/lib/models/user-profile.model.mjs +21 -21
- package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +24 -24
- package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +24 -24
- package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +60 -60
- package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +25 -25
- package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +106 -106
- package/esm2022/lib/resolvers/config-resolver.service.mjs +25 -25
- package/esm2022/lib/resolvers/profile-resolver.service.mjs +25 -25
- package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +25 -25
- package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +51 -51
- package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +16 -16
- package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +18 -18
- package/esm2022/lib/services/access-control.service.mjs +56 -56
- package/esm2022/lib/services/action.service.mjs +23 -23
- package/esm2022/lib/services/app-toc-v2.service.mjs +313 -243
- package/esm2022/lib/services/app-toc.service.mjs +1613 -1387
- package/esm2022/lib/services/certificate.service.mjs +69 -69
- package/esm2022/lib/services/discuss-utils.service.mjs +58 -58
- package/esm2022/lib/services/editor.service.mjs +34 -34
- package/esm2022/lib/services/load-check.service.mjs +21 -21
- package/esm2022/lib/services/loader.service.mjs +33 -33
- package/esm2022/lib/services/mobile-apps.service.mjs +67 -67
- package/esm2022/lib/services/netcore.service.mjs +56 -56
- package/esm2022/lib/services/nps-grid.service.mjs +31 -31
- package/esm2022/lib/services/otp.service.mjs +43 -43
- package/esm2022/lib/services/profile-v2.service.mjs +43 -43
- package/esm2022/lib/services/reset-ratings.service.mjs +19 -19
- package/esm2022/lib/services/resource-download-helper.service.mjs +64 -64
- package/esm2022/lib/services/timer.service.mjs +23 -23
- package/esm2022/lib/services/title-tag.service.mjs +71 -71
- package/esm2022/lib/services/user-profile.service.mjs +55 -55
- package/esm2022/lib/services/viewer-data.service.mjs +64 -64
- package/esm2022/lib/services/viewer-util.service.mjs +590 -590
- package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +291 -291
- package/esm2022/lib/share-toc/share-toc.module.mjs +119 -119
- package/esm2022/public-api.mjs +71 -71
- package/esm2022/sunbird-cb-toc.mjs +4 -4
- package/fesm2022/sunbird-cb-toc.mjs +24776 -24339
- package/fesm2022/sunbird-cb-toc.mjs.map +1 -1
- package/index.d.ts +5 -6
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +16 -17
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +31 -32
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +15 -16
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +20 -21
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +22 -23
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +15 -16
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +22 -23
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +22 -23
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +9 -10
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +11 -12
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +12 -13
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +18 -19
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +14 -15
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +11 -12
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts +17 -18
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts +14 -15
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +199 -200
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts +16 -17
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts +10 -11
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +38 -39
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +19 -20
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +11 -12
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +183 -184
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +41 -42
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +54 -55
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +47 -48
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +49 -49
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +171 -155
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +8 -9
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +16 -17
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +40 -41
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +21 -22
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +45 -46
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +10 -11
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +10 -11
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts +128 -129
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts +51 -52
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +29 -30
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +9 -10
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +7 -8
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +7 -8
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +28 -29
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +24 -25
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +14 -15
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +9 -10
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +12 -13
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +10 -11
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +22 -23
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +8 -9
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +18 -19
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +8 -9
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +15 -16
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts +35 -36
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts +19 -20
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +14 -15
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +13 -14
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +11 -12
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +11 -12
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +15 -16
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +10 -11
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +16 -17
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +11 -12
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +34 -35
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +17 -18
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +15 -16
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +15 -16
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +21 -22
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +12 -13
- package/lib/_collection/_common/user-image/user-image.component.d.ts +21 -22
- package/lib/_collection/_common/user-image/user-image.module.d.ts +9 -10
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +47 -48
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +14 -15
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +22 -23
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +19 -20
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +15 -16
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +25 -26
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +21 -22
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +18 -19
- package/lib/_collection-api.d.ts +34 -35
- package/lib/_constants/widget-content.constants.d.ts +7 -8
- package/lib/_directives/tooltip.directive.d.ts +17 -18
- package/lib/_models/common.model.d.ts +3 -4
- package/lib/_models/error.model.d.ts +5 -6
- package/lib/_pipes/highlight.pipe.d.ts +10 -11
- package/lib/_services/rating.service.d.ts +18 -19
- package/lib/_services/samuhik-charcha.service.d.ts +13 -14
- package/lib/_services/viewer-route-util.d.ts +8 -9
- package/lib/_services/widget-content.model.d.ts +515 -516
- package/lib/_services/widget-content.service.d.ts +101 -102
- package/lib/_shared/translate-loader.factory.d.ts +7 -8
- package/lib/app-toc-lib.module.d.ts +88 -89
- package/lib/collection.config.d.ts +159 -160
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +17 -18
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +225 -226
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +78 -79
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +22 -23
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +31 -32
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +47 -48
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +14 -15
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +21 -22
- package/lib/components/app-toc-home/app-toc-home.component.d.ts +314 -315
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +408 -409
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +47 -48
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +22 -23
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +14 -15
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +149 -150
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +42 -43
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +27 -28
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +15 -16
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +195 -196
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +44 -45
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +54 -55
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +18 -19
- package/lib/components/public-survey-form/public-survey-form.component.d.ts +43 -44
- package/lib/components/survey-form-question/survey-form-question.component.d.ts +20 -21
- package/lib/components/survey-form-section/survey-form-section.component.d.ts +13 -14
- package/lib/models/app-toc-analytics.model.d.ts +152 -153
- package/lib/models/app-toc.model.d.ts +84 -85
- package/lib/models/auto-complete.model.d.ts +27 -28
- package/lib/models/card-content.model.d.ts +19 -20
- package/lib/models/content-strip-with-tabs.model.d.ts +44 -45
- package/lib/models/discussion-forum.model.d.ts +40 -41
- package/lib/models/goal.model.d.ts +22 -23
- package/lib/models/meta-tag.model.d.ts +6 -7
- package/lib/models/playlist.model.d.ts +23 -24
- package/lib/models/profile-revamp.model.d.ts +14 -15
- package/lib/models/rating.model.d.ts +17 -18
- package/lib/models/user-profile.model.d.ts +37 -38
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts +12 -13
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +12 -13
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +16 -17
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +12 -13
- package/lib/resolvers/app-toc-resolver.service.d.ts +16 -17
- package/lib/resolvers/config-resolver.service.d.ts +11 -12
- package/lib/resolvers/profile-resolver.service.d.ts +11 -12
- package/lib/resolvers/restricted-features-resolver.service.d.ts +11 -12
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts +19 -20
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +8 -9
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts +8 -9
- package/lib/services/access-control.service.d.ts +29 -30
- package/lib/services/action.service.d.ts +9 -10
- package/lib/services/app-toc-v2.service.d.ts +16 -15
- package/lib/services/app-toc.service.d.ts +235 -178
- package/lib/services/certificate.service.d.ts +42 -43
- package/lib/services/discuss-utils.service.d.ts +33 -34
- package/lib/services/editor.service.d.ts +17 -18
- package/lib/services/load-check.service.d.ts +8 -9
- package/lib/services/loader.service.d.ts +16 -17
- package/lib/services/mobile-apps.service.d.ts +38 -39
- package/lib/services/netcore.service.d.ts +33 -34
- package/lib/services/nps-grid.service.d.ts +15 -16
- package/lib/services/otp.service.d.ts +20 -21
- package/lib/services/profile-v2.service.d.ts +20 -21
- package/lib/services/reset-ratings.service.d.ts +8 -9
- package/lib/services/resource-download-helper.service.d.ts +29 -30
- package/lib/services/timer.service.d.ts +9 -10
- package/lib/services/title-tag.service.d.ts +21 -22
- package/lib/services/user-profile.service.d.ts +24 -25
- package/lib/services/viewer-data.service.d.ts +58 -59
- package/lib/services/viewer-util.service.d.ts +76 -77
- package/lib/share-toc/share-toc/share-toc.component.d.ts +56 -57
- package/lib/share-toc/share-toc.module.d.ts +32 -33
- package/package.json +1 -1
- package/public-api.d.ts +56 -57
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +0 -1
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +0 -1
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +0 -1
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +0 -1
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +0 -1
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +0 -1
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +0 -1
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +0 -1
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +0 -1
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +0 -1
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +0 -1
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +0 -1
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +0 -1
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +0 -1
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +0 -1
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +0 -1
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +0 -1
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +0 -1
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +0 -1
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +0 -1
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +0 -1
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +0 -1
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +0 -1
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +0 -1
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +0 -1
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +0 -1
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +0 -1
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +0 -1
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +0 -1
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +0 -1
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +0 -1
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +0 -1
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +0 -1
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +0 -1
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +0 -1
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +0 -1
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +0 -1
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +0 -1
- package/lib/_collection/_common/user-image/user-image.component.d.ts.map +0 -1
- package/lib/_collection/_common/user-image/user-image.module.d.ts.map +0 -1
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +0 -1
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +0 -1
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +0 -1
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +0 -1
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +0 -1
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +0 -1
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +0 -1
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +0 -1
- package/lib/_collection-api.d.ts.map +0 -1
- package/lib/_constants/widget-content.constants.d.ts.map +0 -1
- package/lib/_directives/tooltip.directive.d.ts.map +0 -1
- package/lib/_models/common.model.d.ts.map +0 -1
- package/lib/_models/error.model.d.ts.map +0 -1
- package/lib/_pipes/highlight.pipe.d.ts.map +0 -1
- package/lib/_services/rating.service.d.ts.map +0 -1
- package/lib/_services/samuhik-charcha.service.d.ts.map +0 -1
- package/lib/_services/viewer-route-util.d.ts.map +0 -1
- package/lib/_services/widget-content.model.d.ts.map +0 -1
- package/lib/_services/widget-content.service.d.ts.map +0 -1
- package/lib/_shared/translate-loader.factory.d.ts.map +0 -1
- package/lib/app-toc-lib.module.d.ts.map +0 -1
- package/lib/collection.config.d.ts.map +0 -1
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +0 -1
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +0 -1
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +0 -1
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +0 -1
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +0 -1
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +0 -1
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +0 -1
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +0 -1
- package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +0 -1
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +0 -1
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +0 -1
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +0 -1
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +0 -1
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +0 -1
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +0 -1
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +0 -1
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +0 -1
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +0 -1
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +0 -1
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +0 -1
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +0 -1
- package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +0 -1
- package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +0 -1
- package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +0 -1
- package/lib/models/app-toc-analytics.model.d.ts.map +0 -1
- package/lib/models/app-toc.model.d.ts.map +0 -1
- package/lib/models/auto-complete.model.d.ts.map +0 -1
- package/lib/models/card-content.model.d.ts.map +0 -1
- package/lib/models/content-strip-with-tabs.model.d.ts.map +0 -1
- package/lib/models/discussion-forum.model.d.ts.map +0 -1
- package/lib/models/goal.model.d.ts.map +0 -1
- package/lib/models/meta-tag.model.d.ts.map +0 -1
- package/lib/models/playlist.model.d.ts.map +0 -1
- package/lib/models/profile-revamp.model.d.ts.map +0 -1
- package/lib/models/rating.model.d.ts.map +0 -1
- package/lib/models/user-profile.model.d.ts.map +0 -1
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/app-toc-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/config-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/profile-resolver.service.d.ts.map +0 -1
- package/lib/resolvers/restricted-features-resolver.service.d.ts.map +0 -1
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +0 -1
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +0 -1
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +0 -1
- package/lib/services/access-control.service.d.ts.map +0 -1
- package/lib/services/action.service.d.ts.map +0 -1
- package/lib/services/app-toc-v2.service.d.ts.map +0 -1
- package/lib/services/app-toc.service.d.ts.map +0 -1
- package/lib/services/certificate.service.d.ts.map +0 -1
- package/lib/services/discuss-utils.service.d.ts.map +0 -1
- package/lib/services/editor.service.d.ts.map +0 -1
- package/lib/services/load-check.service.d.ts.map +0 -1
- package/lib/services/loader.service.d.ts.map +0 -1
- package/lib/services/mobile-apps.service.d.ts.map +0 -1
- package/lib/services/netcore.service.d.ts.map +0 -1
- package/lib/services/nps-grid.service.d.ts.map +0 -1
- package/lib/services/otp.service.d.ts.map +0 -1
- package/lib/services/profile-v2.service.d.ts.map +0 -1
- package/lib/services/reset-ratings.service.d.ts.map +0 -1
- package/lib/services/resource-download-helper.service.d.ts.map +0 -1
- package/lib/services/timer.service.d.ts.map +0 -1
- package/lib/services/title-tag.service.d.ts.map +0 -1
- package/lib/services/user-profile.service.d.ts.map +0 -1
- package/lib/services/viewer-data.service.d.ts.map +0 -1
- package/lib/services/viewer-util.service.d.ts.map +0 -1
- package/lib/share-toc/share-toc/share-toc.component.d.ts.map +0 -1
- package/lib/share-toc/share-toc.module.d.ts.map +0 -1
- package/public-api.d.ts.map +0 -1
- package/sunbird-cb-toc.d.ts.map +0 -1
|
@@ -1,192 +1,192 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { Component, HostBinding, Inject, Input } from '@angular/core';
|
|
3
|
-
import { WidgetBaseComponent } from '@sunbird-cb/resolver-v2';
|
|
4
|
-
// tslint:disable
|
|
5
|
-
import _ from 'lodash';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./btn-page-back.service";
|
|
8
|
-
import * as i2 from "@angular/router";
|
|
9
|
-
import * as i3 from "@sunbird-cb/utils-v2";
|
|
10
|
-
import * as i4 from "../../services/discuss-utils.service";
|
|
11
|
-
import * as i5 from "@ngx-translate/core";
|
|
12
|
-
import * as i6 from "@angular/common";
|
|
13
|
-
import * as i7 from "@angular/material/icon";
|
|
14
|
-
export class BtnPageBackComponent extends WidgetBaseComponent {
|
|
15
|
-
constructor(btnBackSvc, router, configSvc, discussUtilitySvc, translate, langtranslations, environment) {
|
|
16
|
-
super();
|
|
17
|
-
this.btnBackSvc = btnBackSvc;
|
|
18
|
-
this.router = router;
|
|
19
|
-
this.configSvc = configSvc;
|
|
20
|
-
this.discussUtilitySvc = discussUtilitySvc;
|
|
21
|
-
this.translate = translate;
|
|
22
|
-
this.langtranslations = langtranslations;
|
|
23
|
-
this.environment = environment;
|
|
24
|
-
this.widgetData = { url: 'none', titles: [] };
|
|
25
|
-
this.presentUrl = '';
|
|
26
|
-
this.id = 'nav-back';
|
|
27
|
-
this.visible = false;
|
|
28
|
-
this.enablePeopleSearch = true;
|
|
29
|
-
this.loggedinUser = !!(this.configSvc.userProfile && this.configSvc.userProfile.userId);
|
|
30
|
-
if (localStorage.getItem('websiteLanguage')) {
|
|
31
|
-
this.translate.setDefaultLang('en');
|
|
32
|
-
const lang = localStorage.getItem('websiteLanguage');
|
|
33
|
-
this.translate.use(lang);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
// environment is injected via constructor
|
|
38
|
-
const instanceConfig = this.configSvc.instanceConfig;
|
|
39
|
-
if (instanceConfig) {
|
|
40
|
-
this.hubsList = (instanceConfig.hubs || []).filter(i => i.active);
|
|
41
|
-
}
|
|
42
|
-
this.presentUrl = this.router.url;
|
|
43
|
-
if (this.configSvc.userProfile) {
|
|
44
|
-
this.loggedinUser = true;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.loggedinUser = false;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
get isUserLoggegIn() {
|
|
51
|
-
return this.loggedinUser;
|
|
52
|
-
}
|
|
53
|
-
get backUrl() {
|
|
54
|
-
if (this.presentUrl === '/page/explore') {
|
|
55
|
-
return {
|
|
56
|
-
queryParams: undefined,
|
|
57
|
-
routeUrl: '/page/home',
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
if (this.widgetData.url === 'home') {
|
|
61
|
-
return {
|
|
62
|
-
queryParams: undefined,
|
|
63
|
-
routeUrl: '/page/home',
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
if (this.widgetData.url === 'doubleBack') {
|
|
67
|
-
return {
|
|
68
|
-
fragment: this.btnBackSvc.getLastUrl(2).fragment,
|
|
69
|
-
queryParams: this.btnBackSvc.getLastUrl(2).queryParams,
|
|
70
|
-
routeUrl: this.btnBackSvc.getLastUrl(2).route,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
if (this.widgetData.url === 'back') {
|
|
74
|
-
return {
|
|
75
|
-
fragment: this.btnBackSvc.getLastUrl().fragment,
|
|
76
|
-
queryParams: this.btnBackSvc.getLastUrl().queryParams,
|
|
77
|
-
routeUrl: this.btnBackSvc.getLastUrl().route,
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
if (this.widgetData.url !== 'back' && this.widgetData.url !== 'doubleBack') {
|
|
81
|
-
this.btnBackSvc.checkUrl(this.widgetData.url);
|
|
82
|
-
}
|
|
83
|
-
return {
|
|
84
|
-
queryParams: undefined,
|
|
85
|
-
routeUrl: this.widgetData.url ? this.widgetData.url : '/app/home',
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
navigate() {
|
|
89
|
-
const config = {
|
|
90
|
-
menuOptions: [
|
|
91
|
-
{
|
|
92
|
-
route: 'all-discussions',
|
|
93
|
-
label: 'All discussions',
|
|
94
|
-
enable: true,
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
route: 'categories',
|
|
98
|
-
label: 'Categories',
|
|
99
|
-
enable: true,
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
route: 'tags',
|
|
103
|
-
label: 'Tags',
|
|
104
|
-
enable: true,
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
route: 'my-discussion',
|
|
108
|
-
label: 'Your discussion',
|
|
109
|
-
enable: true,
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
userName: (this.configSvc.nodebbUserProfile && this.configSvc.nodebbUserProfile.username) || '',
|
|
113
|
-
context: {
|
|
114
|
-
id: 1,
|
|
115
|
-
},
|
|
116
|
-
categories: { result: [] },
|
|
117
|
-
routerSlug: '/app',
|
|
118
|
-
headerOptions: false,
|
|
119
|
-
bannerOption: true,
|
|
120
|
-
};
|
|
121
|
-
this.discussUtilitySvc.setDiscussionConfig(config);
|
|
122
|
-
localStorage.setItem('home', JSON.stringify(config));
|
|
123
|
-
this.router.navigate(['/app/discussion-forum'], { queryParams: { page: 'home' }, queryParamsHandling: 'merge' });
|
|
124
|
-
}
|
|
125
|
-
// get titleUrl(): { fragment?: string; routeUrl: string; queryParams: any } {
|
|
126
|
-
// return {
|
|
127
|
-
// queryParams: undefined,
|
|
128
|
-
// routeUrl: this.widgetData.url ? this.widgetData.url : '/app/home',
|
|
129
|
-
// }
|
|
130
|
-
// }
|
|
131
|
-
toggleVisibility() {
|
|
132
|
-
this.visible = !this.visible;
|
|
133
|
-
}
|
|
134
|
-
hasRole(role) {
|
|
135
|
-
let returnValue = false;
|
|
136
|
-
role.forEach(v => {
|
|
137
|
-
const rolesList = (this.configSvc.userRoles || new Set());
|
|
138
|
-
if (rolesList.has(v.toLowerCase()) || rolesList.has(v.toUpperCase())) {
|
|
139
|
-
returnValue = true;
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
return returnValue;
|
|
143
|
-
}
|
|
144
|
-
isAllowed(portalName) {
|
|
145
|
-
const roles = _.get(_.first(_.filter(this.environment.portals, { id: portalName })), 'roles') || [];
|
|
146
|
-
if (!(roles && roles.length)) {
|
|
147
|
-
return true;
|
|
148
|
-
}
|
|
149
|
-
const value = this.hasRole(roles);
|
|
150
|
-
return value;
|
|
151
|
-
}
|
|
152
|
-
translateLabels(label, type, subtype) {
|
|
153
|
-
return this.langtranslations.translateLabel(label, type, subtype);
|
|
154
|
-
}
|
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackComponent, deps: [{ token: i1.BtnPageBackService }, { token: i2.Router }, { token: i3.ConfigurationsService }, { token: i4.DiscussUtilsService }, { token: i5.TranslateService }, { token: i3.MultilingualTranslationsService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BtnPageBackComponent, selector: "ws-widget-btn-page-back", inputs: { widgetData: "widgetData" }, host: { properties: { "id": "this.id" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"base-layout\" role=\"navigation\" id=\"back-nav\" aria-label=\"navigation\">\n <div class=\"container-balanced\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-wrap end-line-elipses items-center margin-top-l margin-bottom-l\" role=\"menubar\">\n <!-- disabled for explore btn disabled on contact us page refresh-->\n <a class=\"flex cursor-pointer simple-hubs-link \" href=\"/\" role=\"menuitem\" accesskey=\"H\" i18n-aria-label i18n-aria-title>\n <span class=\"margin-auto margin-0 mat-subheading-2 {{widgetData?.textClass? widgetData?.textClass: 'ws-mat-default-text'}}\">{{ 'btnpageback.home' | translate }}</span>\n </a>\n\n <ng-container *ngIf=\"widgetData.titles && widgetData.titles.length>0\">\n <div class=\"flex\" *ngFor=\"let title of widgetData.titles\">\n <mat-icon class=\"m-auto mr-2\">keyboard_arrow_right</mat-icon>\n <span *ngIf=\"title.title && title.url && title.url === 'none'\" i18n-aria-label i18n-aria-title\n i18n=\"page title: {{title.title}}\" class=\"flex m-auto\">\n <mat-icon class=\"icon-margin m-t-b ws-mat-black60-text\" *ngIf=\"title.icon\">{{ title.icon }}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp ws-mat-black60-text\">{{ title.title }}</span>\n </span>\n\n <a class=\"flex m-auto ws-mat-default-text\" i18n-aria-label *ngIf=\"title.url && title.url !== 'none'\"\n [routerLink]=\"title.url\" [queryParams]=\"title.queryParams\" role=\"menuitem\" i18n-aria-label\n [attr.accesskey]=\"title.accessKey\">\n <mat-icon class=\"ws-mat-default-text icon-margin\" *ngIf=\"title.icon\">{{title.icon}}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"!title?.disableTranslate\"> {{ translateLabels(title?.title, 'btnpageback') }}</span>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"title?.disableTranslate\"> {{ title?.title }}</span>\n </a>\n </div>\n \n </ng-container>\n </div>\n <div class=\"flex flex-col\" *ngIf=\"visible\" [@enterAnimation]=\"visible\">\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.hubs' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <h3 class=\"mat-error text-center\" *ngIf=\"hubsList.length === 0\" >\n {{ 'btnpageback.noHubs' | translate }}\n </h3>\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\" role=\"menubar\">\n <ng-container *ngFor=\"let hubsObj of hubsList\" [ngTemplateOutlet]=\"userIndividualNew\" [ngTemplateOutletContext]=\"{ hubs: hubsObj }\">\n </ng-container>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.doMore' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/knowledge-resource/all']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">menu_book</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\">{{ 'btnpageback.knowledgeResources' | translate }}</div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.knowledgeResourcesSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/my-dashboard']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon aria-hidden=\"false\" class=\"mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-label=\"bar_chart\" aria-labelledby=\"bar_chart\"> bar_chart </mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.dashboard' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.dashboardSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/profile/settings']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">settings</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.settings' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.settingSubtitle' | translate }}</div>\n </div>\n </a>\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/setup']\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\"\n aria-hidden=\"true\">thumb_up</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.interests' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.interestsSubtitle' | translate }}</div>\n </div>\n </a>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.quickLinks' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <ng-container *ngFor=\"let portal of environment.portals | orderBy: 'sr'\">\n <ng-container *ngIf=\"portal.isPublic || isAllowed(portal.id)\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [attr.href]=\"portal.uriPath\" target=\"_blank\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">{{ portal.icon || 'info' }}</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{portal.name}} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{portal.desc}}</div>\n </div>\n </a>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n<ng-template #userIndividualNew let-hubs=\"hubs\">\n <ng-container *ngIf=\"hubs.hubname == 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" (click)=\"navigate()\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"hubs.hubname != 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" [routerLink]=\"(hubs.path)\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n</ng-template>\n", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{max-width:1230px;max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{height:auto}.show{display:flex!important;visibility:visible;opacity:1;transition-delay:1s;transition:visibility 0s linear .33s,opacity .33s linear}.hide{display:none!important;visibility:hidden;opacity:0;transition:visibility 0s linear .33s,opacity .33s linear}.base-layout{box-shadow:none!important;border:none!important;padding:0;margin:auto}.fix-ww{margin-left:auto;margin-right:auto;max-width:1202px;display:flex;flex:1}a[target=_blank]{color:#000!important}h4.nav_sub_heading{margin:0!important}.next-b{width:12px;height:16px;transform:matrix(0,1,-1,0,0,0);background:#00a9f4 0% 0% no-repeat padding-box}.icon-margin{margin:0 .5rem 0 .1rem}.m-t-b{margin-top:auto;margin-bottom:auto}.home-icon{margin:auto 20px}.main-back{font-size:32px;margin-bottom:10px;margin-right:12px}.mat-y-icon{color:#9acd32}.mat-y-icon svg path{fill:red}.top-fixed-menu{position:fixed;width:100%;z-index:99}.simple-hubs-link{margin:auto 12px}.center{text-align:center;padding-top:12px}mat-form-field{width:100%}mat-grid-list{margin-top:40px;margin-bottom:20px}.margin-0{margin:0!important}.icon{width:71px;height:64px;border-radius:4px;text-align:center}.icon .mat-icon{padding:18px 16px}.base-header{margin-left:5px}.mat-grid-tile{display:inline;position:absolute}.mat-icon1{padding:16px;color:#347bb6!important}.font-bold-imp{font-weight:700!important}a.disabled{pointer-events:none;cursor:default}.end-line-elipses{-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.OrderByPipe, name: "orderBy" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], animations: [
|
|
157
|
-
trigger('enterAnimation', [
|
|
158
|
-
transition(':enter', [
|
|
159
|
-
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 }),
|
|
160
|
-
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 })),
|
|
161
|
-
]),
|
|
162
|
-
transition(':leave', [
|
|
163
|
-
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 }),
|
|
164
|
-
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 })),
|
|
165
|
-
]),
|
|
166
|
-
]),
|
|
167
|
-
] }); }
|
|
168
|
-
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackComponent, decorators: [{
|
|
170
|
-
type: Component,
|
|
171
|
-
args: [{ selector: 'ws-widget-btn-page-back', animations: [
|
|
172
|
-
trigger('enterAnimation', [
|
|
173
|
-
transition(':enter', [
|
|
174
|
-
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 }),
|
|
175
|
-
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 })),
|
|
176
|
-
]),
|
|
177
|
-
transition(':leave', [
|
|
178
|
-
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 }),
|
|
179
|
-
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 })),
|
|
180
|
-
]),
|
|
181
|
-
]),
|
|
182
|
-
], template: "<div class=\"base-layout\" role=\"navigation\" id=\"back-nav\" aria-label=\"navigation\">\n <div class=\"container-balanced\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-1 flex-column\">\n <div class=\"flex flex-wrap end-line-elipses items-center margin-top-l margin-bottom-l\" role=\"menubar\">\n <!-- disabled for explore btn disabled on contact us page refresh-->\n <a class=\"flex cursor-pointer simple-hubs-link \" href=\"/\" role=\"menuitem\" accesskey=\"H\" i18n-aria-label i18n-aria-title>\n <span class=\"margin-auto margin-0 mat-subheading-2 {{widgetData?.textClass? widgetData?.textClass: 'ws-mat-default-text'}}\">{{ 'btnpageback.home' | translate }}</span>\n </a>\n\n <ng-container *ngIf=\"widgetData.titles && widgetData.titles.length>0\">\n <div class=\"flex\" *ngFor=\"let title of widgetData.titles\">\n <mat-icon class=\"m-auto mr-2\">keyboard_arrow_right</mat-icon>\n <span *ngIf=\"title.title && title.url && title.url === 'none'\" i18n-aria-label i18n-aria-title\n i18n=\"page title: {{title.title}}\" class=\"flex m-auto\">\n <mat-icon class=\"icon-margin m-t-b ws-mat-black60-text\" *ngIf=\"title.icon\">{{ title.icon }}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp ws-mat-black60-text\">{{ title.title }}</span>\n </span>\n\n <a class=\"flex m-auto ws-mat-default-text\" i18n-aria-label *ngIf=\"title.url && title.url !== 'none'\"\n [routerLink]=\"title.url\" [queryParams]=\"title.queryParams\" role=\"menuitem\" i18n-aria-label\n [attr.accesskey]=\"title.accessKey\">\n <mat-icon class=\"ws-mat-default-text icon-margin\" *ngIf=\"title.icon\">{{title.icon}}</mat-icon>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"!title?.disableTranslate\"> {{ translateLabels(title?.title, 'btnpageback') }}</span>\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"title?.disableTranslate\"> {{ title?.title }}</span>\n </a>\n </div>\n \n </ng-container>\n </div>\n <div class=\"flex flex-col\" *ngIf=\"visible\" [@enterAnimation]=\"visible\">\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.hubs' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <h3 class=\"mat-error text-center\" *ngIf=\"hubsList.length === 0\" >\n {{ 'btnpageback.noHubs' | translate }}\n </h3>\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\" role=\"menubar\">\n <ng-container *ngFor=\"let hubsObj of hubsList\" [ngTemplateOutlet]=\"userIndividualNew\" [ngTemplateOutletContext]=\"{ hubs: hubsObj }\">\n </ng-container>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.doMore' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/knowledge-resource/all']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">menu_book</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\">{{ 'btnpageback.knowledgeResources' | translate }}</div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.knowledgeResourcesSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/my-dashboard']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon aria-hidden=\"false\" class=\"mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-label=\"bar_chart\" aria-labelledby=\"bar_chart\"> bar_chart </mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.dashboard' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.dashboardSubtitle' | translate }}</div>\n </div>\n </a>\n\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/profile/settings']\" >\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">settings</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.settings' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.settingSubtitle' | translate }}</div>\n </div>\n </a>\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/setup']\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\"\n aria-hidden=\"true\">thumb_up</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.interests' | translate }} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.interestsSubtitle' | translate }}</div>\n </div>\n </a>\n </div>\n </div>\n\n <div class=\"flex flex-1 margin-xs\">\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.quickLinks' | translate }}</h4>\n </div>\n <div class=\"flex flex-1\">\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\n <ng-container *ngFor=\"let portal of environment.portals | orderBy: 'sr'\">\n <ng-container *ngIf=\"portal.isPublic || isAllowed(portal.id)\">\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [attr.href]=\"portal.uriPath\" target=\"_blank\">\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">{{ portal.icon || 'info' }}</mat-icon>\n </div>\n <div class=\"width-expand padding-left-xs cursor-pointer\">\n <div class=\"margin-0 mat-subheading-2\"> {{portal.name}} </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{portal.desc}}</div>\n </div>\n </a>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n<ng-template #userIndividualNew let-hubs=\"hubs\">\n <ng-container *ngIf=\"hubs.hubname == 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" (click)=\"navigate()\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n\n <ng-container *ngIf=\"hubs.hubname != 'Discuss'\">\n <a class=\"flex flex-wrap mb-4\" [routerLink]=\"(hubs.path)\" role=\"menuitem\" i18n-aria-label>\n <div class=\"icon ws-mat-primary-tags\">\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\n </div>\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\n <div class=\"margin-0 mat-subheading-2\">\n {{ translateLabels(hubs.hubname, 'common') }}\n </div>\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\n </div>\n </a>\n </ng-container>\n</ng-template>\n", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{max-width:1230px;max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{height:auto}.show{display:flex!important;visibility:visible;opacity:1;transition-delay:1s;transition:visibility 0s linear .33s,opacity .33s linear}.hide{display:none!important;visibility:hidden;opacity:0;transition:visibility 0s linear .33s,opacity .33s linear}.base-layout{box-shadow:none!important;border:none!important;padding:0;margin:auto}.fix-ww{margin-left:auto;margin-right:auto;max-width:1202px;display:flex;flex:1}a[target=_blank]{color:#000!important}h4.nav_sub_heading{margin:0!important}.next-b{width:12px;height:16px;transform:matrix(0,1,-1,0,0,0);background:#00a9f4 0% 0% no-repeat padding-box}.icon-margin{margin:0 .5rem 0 .1rem}.m-t-b{margin-top:auto;margin-bottom:auto}.home-icon{margin:auto 20px}.main-back{font-size:32px;margin-bottom:10px;margin-right:12px}.mat-y-icon{color:#9acd32}.mat-y-icon svg path{fill:red}.top-fixed-menu{position:fixed;width:100%;z-index:99}.simple-hubs-link{margin:auto 12px}.center{text-align:center;padding-top:12px}mat-form-field{width:100%}mat-grid-list{margin-top:40px;margin-bottom:20px}.margin-0{margin:0!important}.icon{width:71px;height:64px;border-radius:4px;text-align:center}.icon .mat-icon{padding:18px 16px}.base-header{margin-left:5px}.mat-grid-tile{display:inline;position:absolute}.mat-icon1{padding:16px;color:#347bb6!important}.font-bold-imp{font-weight:700!important}a.disabled{pointer-events:none;cursor:default}.end-line-elipses{-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}\n"] }]
|
|
183
|
-
}], ctorParameters: function () { return [{ type: i1.BtnPageBackService }, { type: i2.Router }, { type: i3.ConfigurationsService }, { type: i4.DiscussUtilsService }, { type: i5.TranslateService }, { type: i3.MultilingualTranslationsService }, { type: undefined, decorators: [{
|
|
184
|
-
type: Inject,
|
|
185
|
-
args: ['environment']
|
|
186
|
-
}] }]; }, propDecorators: { widgetData: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], id: [{
|
|
189
|
-
type: HostBinding,
|
|
190
|
-
args: ['id']
|
|
191
|
-
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLXBhZ2UtYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vYnRuLXBhZ2UtYmFjay9idG4tcGFnZS1iYWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9idG4tcGFnZS1iYWNrL2J0bi1wYWdlLWJhY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFBO0FBRXZGLE9BQU8sRUFBb0IsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUsvRSxpQkFBaUI7QUFDakIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFBOzs7Ozs7Ozs7QUF5QnRCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFVM0QsWUFDVSxVQUE4QixFQUMvQixNQUFjLEVBQ2IsU0FBZ0MsRUFDaEMsaUJBQXNDLEVBQ3RDLFNBQTJCLEVBQzNCLGdCQUFpRCxFQUMxQixXQUFnQjtRQUUvQyxLQUFLLEVBQUUsQ0FBQTtRQVJDLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ3RDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFmeEMsZUFBVSxHQUEwRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFBO1FBQ3hILGVBQVUsR0FBRyxFQUFFLENBQUE7UUFFUixPQUFFLEdBQUcsVUFBVSxDQUFBO1FBQ3RCLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZix1QkFBa0IsR0FBRyxJQUFJLENBQUE7UUFDekIsaUJBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQVloRixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNuQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFFLENBQUE7WUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDekI7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLDBDQUEwQztRQUMxQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQTtRQUNwRCxJQUFJLGNBQWMsRUFBRTtZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDbEU7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFBO1FBQ2pDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUE7U0FDekI7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFBO1NBQzFCO0lBQ0gsQ0FBQztJQUNELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztJQUNELElBQUksT0FBTztRQUVULElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxlQUFlLEVBQUU7WUFDdkMsT0FBTztnQkFDTCxXQUFXLEVBQUUsU0FBUztnQkFDdEIsUUFBUSxFQUFFLFlBQVk7YUFDdkIsQ0FBQTtTQUNGO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxNQUFNLEVBQUU7WUFDbEMsT0FBTztnQkFDTCxXQUFXLEVBQUUsU0FBUztnQkFDdEIsUUFBUSxFQUFFLFlBQVk7YUFDdkIsQ0FBQTtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxZQUFZLEVBQUU7WUFDeEMsT0FBTztnQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtnQkFDaEQsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7Z0JBQ3RELFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO2FBQzlDLENBQUE7U0FDRjtRQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssTUFBTSxFQUFFO1lBQ3BDLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUTtnQkFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVztnQkFDckQsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSzthQUM3QyxDQUFBO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxZQUFZLEVBQUU7WUFFMUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUU5QztRQUVELE9BQU87WUFDTCxXQUFXLEVBQUUsU0FBUztZQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXO1NBQ2xFLENBQUE7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFHO1lBQ2IsV0FBVyxFQUFFO2dCQUNYO29CQUNFLEtBQUssRUFBRSxpQkFBaUI7b0JBQ3hCLEtBQUssRUFBRSxpQkFBaUI7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJO2lCQUNiO2dCQUNEO29CQUNFLEtBQUssRUFBRSxZQUFZO29CQUNuQixLQUFLLEVBQUUsWUFBWTtvQkFDbkIsTUFBTSxFQUFFLElBQUk7aUJBQ2I7Z0JBQ0Q7b0JBQ0UsS0FBSyxFQUFFLE1BQU07b0JBQ2IsS0FBSyxFQUFFLE1BQU07b0JBQ2IsTUFBTSxFQUFFLElBQUk7aUJBQ2I7Z0JBQ0Q7b0JBQ0UsS0FBSyxFQUFFLGVBQWU7b0JBQ3RCLEtBQUssRUFBRSxpQkFBaUI7b0JBQ3hCLE1BQU0sRUFBRSxJQUFJO2lCQUNiO2FBQ0Y7WUFDRCxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUMvRixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLENBQUM7YUFDTjtZQUNELFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDMUIsVUFBVSxFQUFFLE1BQU07WUFDbEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQTtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNsRCxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDbEgsQ0FBQztJQUVELDhFQUE4RTtJQUM5RSxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLHlFQUF5RTtJQUN6RSxNQUFNO0lBQ04sSUFBSTtJQUNKLGdCQUFnQjtRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBYztRQUNwQixJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNmLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFBO1lBQ3pELElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO2dCQUNwRSxXQUFXLEdBQUcsSUFBSSxDQUFBO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQWtCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDbkcsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYSxFQUFFLElBQVMsRUFBRSxPQUFZO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ25FLENBQUM7K0dBekpVLG9CQUFvQixpT0FpQnJCLGFBQWE7bUdBakJaLG9CQUFvQix1S0NsQ2pDLDgyUkFtSkEsMnJGRGhJYztZQUNWLE9BQU8sQ0FDTCxnQkFBZ0IsRUFBRTtnQkFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3hHLENBQUM7Z0JBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ3hHLENBQUM7YUFDSCxDQUNBO1NBQ0Y7OzRGQUVVLG9CQUFvQjtrQkFuQmhDLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCO3dCQUNWLE9BQU8sQ0FDTCxnQkFBZ0IsRUFBRTs0QkFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3hHLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3hHLENBQUM7eUJBQ0gsQ0FDQTtxQkFDRjs7MEJBbUJFLE1BQU07MkJBQUMsYUFBYTs0Q0FmZCxVQUFVO3NCQUFsQixLQUFLO2dCQUdDLEVBQUU7c0JBRFIsV0FBVzt1QkFBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBOc1dpZGdldFJlc29sdmVyLCBXaWRnZXRCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHN1bmJpcmQtY2IvcmVzb2x2ZXItdjInXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UsIE5zSW5zdGFuY2VDb25maWcgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcblxuaW1wb3J0IHsgQnRuUGFnZUJhY2tTZXJ2aWNlIH0gZnJvbSAnLi9idG4tcGFnZS1iYWNrLnNlcnZpY2UnXG5pbXBvcnQgeyBEaXNjdXNzVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlzY3Vzcy11dGlscy5zZXJ2aWNlJ1xuLy8gdHNsaW50OmRpc2FibGVcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuLy8gdHNsaW50OmVuYWJsZVxuLy8gdHNsaW50OmVuYWJsZVxuXG50eXBlIFRVcmwgPSB1bmRlZmluZWQgfCAnbm9uZScgfCAnYmFjaycgfCBzdHJpbmdcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dzLXdpZGdldC1idG4tcGFnZS1iYWNrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J0bi1wYWdlLWJhY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idG4tcGFnZS1iYWNrLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFxuICAgICAgJ2VudGVyQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IHRyYW5zaXRpb246ICd2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjIzcywgb3BhY2l0eSAwLjMzcyBsaW5lYXInLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCczMDBtcycsIHN0eWxlKHsgdHJhbnNpdGlvbjogJ3Zpc2liaWxpdHkgMHMgbGluZWFyIDAuMjNzLCBvcGFjaXR5IDAuMzNzIGxpbmVhcicsIG9wYWNpdHk6IDEgfSkpLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIHN0eWxlKHsgdHJhbnNpdGlvbjogJ3Zpc2liaWxpdHkgMHMgbGluZWFyIDAuMjNzLCBvcGFjaXR5IDAuMzNzIGxpbmVhcicsIG9wYWNpdHk6IDEgfSksXG4gICAgICAgIGFuaW1hdGUoJzMwMG1zJywgc3R5bGUoeyB0cmFuc2l0aW9uOiAndmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4yM3MsIG9wYWNpdHkgMC4zM3MgbGluZWFyJywgb3BhY2l0eTogMCB9KSksXG4gICAgICBdKSxcbiAgICBdXG4gICAgKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQnRuUGFnZUJhY2tDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRCYXNlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBOc1dpZGdldFJlc29sdmVyLklXaWRnZXREYXRhPHsgdXJsOiBUVXJsIH0+IHtcbiAgQElucHV0KCkgd2lkZ2V0RGF0YTogeyB1cmw6IFRVcmwsIHRpdGxlcz86IE5zV2lkZ2V0UmVzb2x2ZXIuSVRpdGxlW10sIHRleHRDbGFzcz86IHN0cmluZyB9ID0geyB1cmw6ICdub25lJywgdGl0bGVzOiBbXSB9XG4gIHByZXNlbnRVcmwgPSAnJ1xuICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgcHVibGljIGlkID0gJ25hdi1iYWNrJ1xuICB2aXNpYmxlID0gZmFsc2VcbiAgZW5hYmxlUGVvcGxlU2VhcmNoID0gdHJ1ZVxuICBsb2dnZWRpblVzZXIgPSAhISh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQpXG4gIGh1YnNMaXN0ITogTnNJbnN0YW5jZUNvbmZpZy5JSHVic1tdXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYnRuQmFja1N2YzogQnRuUGFnZUJhY2tTZXJ2aWNlLFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlzY3Vzc1V0aWxpdHlTdmM6IERpc2N1c3NVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5ndHJhbnNsYXRpb25zOiBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKClcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgY29uc3QgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSFcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIGVudmlyb25tZW50IGlzIGluamVjdGVkIHZpYSBjb25zdHJ1Y3RvclxuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcbiAgICBpZiAoaW5zdGFuY2VDb25maWcpIHtcbiAgICAgIHRoaXMuaHVic0xpc3QgPSAoaW5zdGFuY2VDb25maWcuaHVicyB8fCBbXSkuZmlsdGVyKGkgPT4gaS5hY3RpdmUpXG4gICAgfVxuICAgIHRoaXMucHJlc2VudFVybCA9IHRoaXMucm91dGVyLnVybFxuICAgIGlmICh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSkge1xuICAgICAgdGhpcy5sb2dnZWRpblVzZXIgPSB0cnVlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VkaW5Vc2VyID0gZmFsc2VcbiAgICB9XG4gIH1cbiAgZ2V0IGlzVXNlckxvZ2dlZ0luKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvZ2dlZGluVXNlclxuICB9XG4gIGdldCBiYWNrVXJsKCk6IHsgZnJhZ21lbnQ/OiBzdHJpbmc7IHJvdXRlVXJsOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBhbnkgfSB7XG5cbiAgICBpZiAodGhpcy5wcmVzZW50VXJsID09PSAnL3BhZ2UvZXhwbG9yZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gICAgICAgIHJvdXRlVXJsOiAnL3BhZ2UvaG9tZScsXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLndpZGdldERhdGEudXJsID09PSAnaG9tZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gICAgICAgIHJvdXRlVXJsOiAnL3BhZ2UvaG9tZScsXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMud2lkZ2V0RGF0YS51cmwgPT09ICdkb3VibGVCYWNrJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZnJhZ21lbnQ6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKDIpLmZyYWdtZW50LFxuICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5idG5CYWNrU3ZjLmdldExhc3RVcmwoMikucXVlcnlQYXJhbXMsXG4gICAgICAgIHJvdXRlVXJsOiB0aGlzLmJ0bkJhY2tTdmMuZ2V0TGFzdFVybCgyKS5yb3V0ZSxcbiAgICAgIH1cbiAgICB9IGlmICh0aGlzLndpZGdldERhdGEudXJsID09PSAnYmFjaycpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZyYWdtZW50OiB0aGlzLmJ0bkJhY2tTdmMuZ2V0TGFzdFVybCgpLmZyYWdtZW50LFxuICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5idG5CYWNrU3ZjLmdldExhc3RVcmwoKS5xdWVyeVBhcmFtcyxcbiAgICAgICAgcm91dGVVcmw6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKCkucm91dGUsXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLndpZGdldERhdGEudXJsICE9PSAnYmFjaycgJiYgdGhpcy53aWRnZXREYXRhLnVybCAhPT0gJ2RvdWJsZUJhY2snKSB7XG5cbiAgICAgIHRoaXMuYnRuQmFja1N2Yy5jaGVja1VybCh0aGlzLndpZGdldERhdGEudXJsKVxuXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gICAgICByb3V0ZVVybDogdGhpcy53aWRnZXREYXRhLnVybCA/IHRoaXMud2lkZ2V0RGF0YS51cmwgOiAnL2FwcC9ob21lJyxcbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZSgpIHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBtZW51T3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgcm91dGU6ICdhbGwtZGlzY3Vzc2lvbnMnLFxuICAgICAgICAgIGxhYmVsOiAnQWxsIGRpc2N1c3Npb25zJyxcbiAgICAgICAgICBlbmFibGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICByb3V0ZTogJ2NhdGVnb3JpZXMnLFxuICAgICAgICAgIGxhYmVsOiAnQ2F0ZWdvcmllcycsXG4gICAgICAgICAgZW5hYmxlOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcm91dGU6ICd0YWdzJyxcbiAgICAgICAgICBsYWJlbDogJ1RhZ3MnLFxuICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHJvdXRlOiAnbXktZGlzY3Vzc2lvbicsXG4gICAgICAgICAgbGFiZWw6ICdZb3VyIGRpc2N1c3Npb24nLFxuICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB1c2VyTmFtZTogKHRoaXMuY29uZmlnU3ZjLm5vZGViYlVzZXJQcm9maWxlICYmIHRoaXMuY29uZmlnU3ZjLm5vZGViYlVzZXJQcm9maWxlLnVzZXJuYW1lKSB8fCAnJyxcbiAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgaWQ6IDEsXG4gICAgICB9LFxuICAgICAgY2F0ZWdvcmllczogeyByZXN1bHQ6IFtdIH0sXG4gICAgICByb3V0ZXJTbHVnOiAnL2FwcCcsXG4gICAgICBoZWFkZXJPcHRpb25zOiBmYWxzZSxcbiAgICAgIGJhbm5lck9wdGlvbjogdHJ1ZSxcbiAgICB9XG4gICAgdGhpcy5kaXNjdXNzVXRpbGl0eVN2Yy5zZXREaXNjdXNzaW9uQ29uZmlnKGNvbmZpZylcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnaG9tZScsIEpTT04uc3RyaW5naWZ5KGNvbmZpZykpXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwL2Rpc2N1c3Npb24tZm9ydW0nXSwgeyBxdWVyeVBhcmFtczogeyBwYWdlOiAnaG9tZScgfSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyB9KVxuICB9XG5cbiAgLy8gZ2V0IHRpdGxlVXJsKCk6IHsgZnJhZ21lbnQ/OiBzdHJpbmc7IHJvdXRlVXJsOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBhbnkgfSB7XG4gIC8vICAgcmV0dXJuIHtcbiAgLy8gICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXG4gIC8vICAgICByb3V0ZVVybDogdGhpcy53aWRnZXREYXRhLnVybCA/IHRoaXMud2lkZ2V0RGF0YS51cmwgOiAnL2FwcC9ob21lJyxcbiAgLy8gICB9XG4gIC8vIH1cbiAgdG9nZ2xlVmlzaWJpbGl0eSgpIHtcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlXG4gIH1cblxuICBoYXNSb2xlKHJvbGU6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgbGV0IHJldHVyblZhbHVlID0gZmFsc2VcbiAgICByb2xlLmZvckVhY2godiA9PiB7XG4gICAgICBjb25zdCByb2xlc0xpc3QgPSAodGhpcy5jb25maWdTdmMudXNlclJvbGVzIHx8IG5ldyBTZXQoKSlcbiAgICAgIGlmIChyb2xlc0xpc3QuaGFzKHYudG9Mb3dlckNhc2UoKSkgfHwgcm9sZXNMaXN0Lmhhcyh2LnRvVXBwZXJDYXNlKCkpKSB7XG4gICAgICAgIHJldHVyblZhbHVlID0gdHJ1ZVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJldHVyblZhbHVlXG4gIH1cblxuICBpc0FsbG93ZWQocG9ydGFsTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgcm9sZXMgPSBfLmdldChfLmZpcnN0KF8uZmlsdGVyKHRoaXMuZW52aXJvbm1lbnQucG9ydGFscywgeyBpZDogcG9ydGFsTmFtZSB9KSksICdyb2xlcycpIHx8IFtdXG4gICAgaWYgKCEocm9sZXMgJiYgcm9sZXMubGVuZ3RoKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmhhc1JvbGUocm9sZXMpXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICB0cmFuc2xhdGVMYWJlbHMobGFiZWw6IHN0cmluZywgdHlwZTogYW55LCBzdWJ0eXBlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndHJhbnNsYXRpb25zLnRyYW5zbGF0ZUxhYmVsKGxhYmVsLCB0eXBlLCBzdWJ0eXBlKVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYXNlLWxheW91dFwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgaWQ9XCJiYWNrLW5hdlwiIGFyaWEtbGFiZWw9XCJuYXZpZ2F0aW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItYmFsYW5jZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgZmxleC1jb2x1bW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBmbGV4LWNvbHVtblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZW5kLWxpbmUtZWxpcHNlcyBpdGVtcy1jZW50ZXIgbWFyZ2luLXRvcC1sIG1hcmdpbi1ib3R0b20tbFwiIHJvbGU9XCJtZW51YmFyXCI+XG4gICAgICAgICAgPCEtLSBkaXNhYmxlZCBmb3IgZXhwbG9yZSBidG4gZGlzYWJsZWQgb24gY29udGFjdCB1cyBwYWdlIHJlZnJlc2gtLT5cbiAgICAgICAgICA8YSBjbGFzcz1cImZsZXggY3Vyc29yLXBvaW50ZXIgc2ltcGxlLWh1YnMtbGluayBcIiBocmVmPVwiL1wiIHJvbGU9XCJtZW51aXRlbVwiIGFjY2Vzc2tleT1cIkhcIiBpMThuLWFyaWEtbGFiZWwgaTE4bi1hcmlhLXRpdGxlPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXJnaW4tYXV0byAgbWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMiB7e3dpZGdldERhdGE/LnRleHRDbGFzcz8gd2lkZ2V0RGF0YT8udGV4dENsYXNzOiAnd3MtbWF0LWRlZmF1bHQtdGV4dCd9fVwiPnt7ICdidG5wYWdlYmFjay5ob21lJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0RGF0YS50aXRsZXMgJiYgd2lkZ2V0RGF0YS50aXRsZXMubGVuZ3RoPjBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nRm9yPVwibGV0IHRpdGxlIG9mIHdpZGdldERhdGEudGl0bGVzXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm0tYXV0byBtci0yXCI+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInRpdGxlLnRpdGxlICYmIHRpdGxlLnVybCAmJiB0aXRsZS51cmwgPT09ICdub25lJ1wiIGkxOG4tYXJpYS1sYWJlbCBpMThuLWFyaWEtdGl0bGVcbiAgICAgICAgICAgICAgICBpMThuPVwicGFnZSB0aXRsZToge3t0aXRsZS50aXRsZX19XCIgY2xhc3M9XCJmbGV4IG0tYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tbWFyZ2luIG0tdC1iIHdzLW1hdC1ibGFjazYwLXRleHRcIiAqbmdJZj1cInRpdGxlLmljb25cIj57eyB0aXRsZS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdC1iIG1hdC1ib2R5LTIgZm9udC1ib2xkLWltcCB3cy1tYXQtYmxhY2s2MC10ZXh0XCI+e3sgdGl0bGUudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggbS1hdXRvIHdzLW1hdC1kZWZhdWx0LXRleHRcIiBpMThuLWFyaWEtbGFiZWwgKm5nSWY9XCJ0aXRsZS51cmwgJiYgdGl0bGUudXJsICE9PSAnbm9uZSdcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInRpdGxlLnVybFwiIFtxdWVyeVBhcmFtc109XCJ0aXRsZS5xdWVyeVBhcmFtc1wiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbFxuICAgICAgICAgICAgICAgIFthdHRyLmFjY2Vzc2tleV09XCJ0aXRsZS5hY2Nlc3NLZXlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ3cy1tYXQtZGVmYXVsdC10ZXh0IGljb24tbWFyZ2luXCIgKm5nSWY9XCJ0aXRsZS5pY29uXCI+e3t0aXRsZS5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS10LWIgbWF0LWJvZHktMiBmb250LWJvbGQtaW1wIHt7dGl0bGU/LnRleHRDbGFzc319XCIgKm5nSWY9XCIhdGl0bGU/LmRpc2FibGVUcmFuc2xhdGVcIj4ge3sgdHJhbnNsYXRlTGFiZWxzKHRpdGxlPy50aXRsZSwgJ2J0bnBhZ2ViYWNrJykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLXQtYiBtYXQtYm9keS0yIGZvbnQtYm9sZC1pbXAge3t0aXRsZT8udGV4dENsYXNzfX1cIiAqbmdJZj1cInRpdGxlPy5kaXNhYmxlVHJhbnNsYXRlXCI+IHt7IHRpdGxlPy50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiICpuZ0lmPVwidmlzaWJsZVwiIFtAZW50ZXJBbmltYXRpb25dPVwidmlzaWJsZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBtYXJnaW4teHNcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1hdC1oNCBuYXZfc3ViX2hlYWRpbmdcIj57eyAnYnRucGFnZWJhY2suaHVicycgfCB0cmFuc2xhdGUgfX08L2g0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMVwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwibWF0LWVycm9yIHRleHQtY2VudGVyXCIgKm5nSWY9XCJodWJzTGlzdC5sZW5ndGggPT09IDBcIiA+XG4gICAgICAgICAgICAgIHt7ICdidG5wYWdlYmFjay5ub0h1YnMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWFyZ2luLXhzIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIG1kOmdyaWQtY29scy00IGNvbC1nYXAtMlwiIHJvbGU9XCJtZW51YmFyXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGh1YnNPYmogb2YgaHVic0xpc3RcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ1c2VySW5kaXZpZHVhbE5ld1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGh1YnM6IGh1YnNPYmogfVwiPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIG1hcmdpbi14c1wiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwibWF0LWg0IG5hdl9zdWJfaGVhZGluZ1wiPnt7ICdidG5wYWdlYmFjay5kb01vcmUnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1hcmdpbi14cyBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBtZDpncmlkLWNvbHMtNCBjb2wtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBtYi00XCIgcm9sZT1cIm1lbnVpdGVtXCIgW3JvdXRlckxpbmtdPVwiWycvYXBwL2tub3dsZWRnZS1yZXNvdXJjZS9hbGwnXVwiID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIgbS1hdXRvIG1hdC1pY29uIG5vdHJhbnNsYXRlIG1hdGVyaWFsLWljb25zIG1hdC1pY29uLW5vLWNvbG9yXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPm1lbnVfYm9vazwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHMgY3Vyc29yLXBvaW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tMCBtYXQtc3ViaGVhZGluZy0yXCI+e3sgJ2J0bnBhZ2ViYWNrLmtub3dsZWRnZVJlc291cmNlcycgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7ICdidG5wYWdlYmFjay5rbm93bGVkZ2VSZXNvdXJjZXNTdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbWItNFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FwcC9teS1kYXNoYm9hcmQnXVwiID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1oaWRkZW49XCJmYWxzZVwiIGNsYXNzPVwibWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cImJhcl9jaGFydFwiIGFyaWEtbGFiZWxsZWRieT1cImJhcl9jaGFydFwiPiBiYXJfY2hhcnQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14cyBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj4ge3sgJ2J0bnBhZ2ViYWNrLmRhc2hib2FyZCcgfCB0cmFuc2xhdGUgfX0gPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57eyAnYnRucGFnZWJhY2suZGFzaGJvYXJkU3VidGl0bGUnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiByb2xlPVwibWVudWl0ZW1cIiBbcm91dGVyTGlua109XCJbJy9hcHAvcHJvZmlsZS9zZXR0aW5ncyddXCIgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiBtLWF1dG8gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+c2V0dGluZ3M8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMlwiPiB7eyAnYnRucGFnZWJhY2suc2V0dGluZ3MnIHwgdHJhbnNsYXRlIH19IDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1jYXB0aW9uIGNvaG9ydHMtZGVzYyB3cy1tYXQtYmxhY2s2MC10ZXh0XCI+e3sgJ2J0bnBhZ2ViYWNrLnNldHRpbmdTdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiByb2xlPVwibWVudWl0ZW1cIiBbcm91dGVyTGlua109XCJbJy9hcHAvc2V0dXAnXVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiBtLWF1dG8gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+dGh1bWJfdXA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzIGN1cnNvci1wb2ludGVyXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMlwiPiB7eyAnYnRucGFnZWJhY2suaW50ZXJlc3RzJyB8IHRyYW5zbGF0ZSB9fSA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7ICdidG5wYWdlYmFjay5pbnRlcmVzdHNTdWJ0aXRsZScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgbWFyZ2luLXhzXCI+XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJtYXQtaDQgbmF2X3N1Yl9oZWFkaW5nXCI+e3sgJ2J0bnBhZ2ViYWNrLnF1aWNrTGlua3MnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1hcmdpbi14cyBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBtZDpncmlkLWNvbHMtNCBjb2wtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcG9ydGFsIG9mIGVudmlyb25tZW50LnBvcnRhbHMgfCBvcmRlckJ5OiAnc3InXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvcnRhbC5pc1B1YmxpYyB8fCBpc0FsbG93ZWQocG9ydGFsLmlkKVwiPlxuICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBtYi00XCIgcm9sZT1cIm1lbnVpdGVtXCIgW2F0dHIuaHJlZl09XCJwb3J0YWwudXJpUGF0aFwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibS1hdXRvIG1hdC1pY29uIG5vdHJhbnNsYXRlIG1hdGVyaWFsLWljb25zIG1hdC1pY29uLW5vLWNvbG9yXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IHBvcnRhbC5pY29uIHx8ICdpbmZvJyB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14cyBjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tMCBtYXQtc3ViaGVhZGluZy0yXCI+IHt7cG9ydGFsLm5hbWV9fSA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57e3BvcnRhbC5kZXNjfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuPG5nLXRlbXBsYXRlICN1c2VySW5kaXZpZHVhbE5ldyBsZXQtaHVicz1cImh1YnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImh1YnMuaHVibmFtZSA9PSAnRGlzY3VzcydcIj5cbiAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiAoY2xpY2spPVwibmF2aWdhdGUoKVwiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24xXCI+e3todWJzLmljb259fTwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydjdXJzb3ItcG9pbnRlcic6IGVuYWJsZVBlb3BsZVNlYXJjaH1cIiBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj5cbiAgICAgICAgICB7eyB0cmFuc2xhdGVMYWJlbHMoaHVicy5odWJuYW1lLCAnY29tbW9uJykgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7aHVicy5kZXNjfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImh1YnMuaHVibmFtZSAhPSAnRGlzY3VzcydcIj5cbiAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiBbcm91dGVyTGlua109XCIoaHVicy5wYXRoKVwiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24xXCI+e3todWJzLmljb259fTwvbWF0LWljb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwieydjdXJzb3ItcG9pbnRlcic6IGVuYWJsZVBlb3BsZVNlYXJjaH1cIiBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj5cbiAgICAgICAgICB7eyB0cmFuc2xhdGVMYWJlbHMoaHVicy5odWJuYW1lLCAnY29tbW9uJykgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7aHVicy5kZXNjfX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
1
|
+
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { Component, HostBinding, Inject, Input } from '@angular/core';
|
|
3
|
+
import { WidgetBaseComponent } from '@sunbird-cb/resolver-v2';
|
|
4
|
+
// tslint:disable
|
|
5
|
+
import _ from 'lodash';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./btn-page-back.service";
|
|
8
|
+
import * as i2 from "@angular/router";
|
|
9
|
+
import * as i3 from "@sunbird-cb/utils-v2";
|
|
10
|
+
import * as i4 from "../../services/discuss-utils.service";
|
|
11
|
+
import * as i5 from "@ngx-translate/core";
|
|
12
|
+
import * as i6 from "@angular/common";
|
|
13
|
+
import * as i7 from "@angular/material/icon";
|
|
14
|
+
export class BtnPageBackComponent extends WidgetBaseComponent {
|
|
15
|
+
constructor(btnBackSvc, router, configSvc, discussUtilitySvc, translate, langtranslations, environment) {
|
|
16
|
+
super();
|
|
17
|
+
this.btnBackSvc = btnBackSvc;
|
|
18
|
+
this.router = router;
|
|
19
|
+
this.configSvc = configSvc;
|
|
20
|
+
this.discussUtilitySvc = discussUtilitySvc;
|
|
21
|
+
this.translate = translate;
|
|
22
|
+
this.langtranslations = langtranslations;
|
|
23
|
+
this.environment = environment;
|
|
24
|
+
this.widgetData = { url: 'none', titles: [] };
|
|
25
|
+
this.presentUrl = '';
|
|
26
|
+
this.id = 'nav-back';
|
|
27
|
+
this.visible = false;
|
|
28
|
+
this.enablePeopleSearch = true;
|
|
29
|
+
this.loggedinUser = !!(this.configSvc.userProfile && this.configSvc.userProfile.userId);
|
|
30
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
31
|
+
this.translate.setDefaultLang('en');
|
|
32
|
+
const lang = localStorage.getItem('websiteLanguage');
|
|
33
|
+
this.translate.use(lang);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
// environment is injected via constructor
|
|
38
|
+
const instanceConfig = this.configSvc.instanceConfig;
|
|
39
|
+
if (instanceConfig) {
|
|
40
|
+
this.hubsList = (instanceConfig.hubs || []).filter(i => i.active);
|
|
41
|
+
}
|
|
42
|
+
this.presentUrl = this.router.url;
|
|
43
|
+
if (this.configSvc.userProfile) {
|
|
44
|
+
this.loggedinUser = true;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.loggedinUser = false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
get isUserLoggegIn() {
|
|
51
|
+
return this.loggedinUser;
|
|
52
|
+
}
|
|
53
|
+
get backUrl() {
|
|
54
|
+
if (this.presentUrl === '/page/explore') {
|
|
55
|
+
return {
|
|
56
|
+
queryParams: undefined,
|
|
57
|
+
routeUrl: '/page/home',
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (this.widgetData.url === 'home') {
|
|
61
|
+
return {
|
|
62
|
+
queryParams: undefined,
|
|
63
|
+
routeUrl: '/page/home',
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (this.widgetData.url === 'doubleBack') {
|
|
67
|
+
return {
|
|
68
|
+
fragment: this.btnBackSvc.getLastUrl(2).fragment,
|
|
69
|
+
queryParams: this.btnBackSvc.getLastUrl(2).queryParams,
|
|
70
|
+
routeUrl: this.btnBackSvc.getLastUrl(2).route,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (this.widgetData.url === 'back') {
|
|
74
|
+
return {
|
|
75
|
+
fragment: this.btnBackSvc.getLastUrl().fragment,
|
|
76
|
+
queryParams: this.btnBackSvc.getLastUrl().queryParams,
|
|
77
|
+
routeUrl: this.btnBackSvc.getLastUrl().route,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
if (this.widgetData.url !== 'back' && this.widgetData.url !== 'doubleBack') {
|
|
81
|
+
this.btnBackSvc.checkUrl(this.widgetData.url);
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
queryParams: undefined,
|
|
85
|
+
routeUrl: this.widgetData.url ? this.widgetData.url : '/app/home',
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
navigate() {
|
|
89
|
+
const config = {
|
|
90
|
+
menuOptions: [
|
|
91
|
+
{
|
|
92
|
+
route: 'all-discussions',
|
|
93
|
+
label: 'All discussions',
|
|
94
|
+
enable: true,
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
route: 'categories',
|
|
98
|
+
label: 'Categories',
|
|
99
|
+
enable: true,
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
route: 'tags',
|
|
103
|
+
label: 'Tags',
|
|
104
|
+
enable: true,
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
route: 'my-discussion',
|
|
108
|
+
label: 'Your discussion',
|
|
109
|
+
enable: true,
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
userName: (this.configSvc.nodebbUserProfile && this.configSvc.nodebbUserProfile.username) || '',
|
|
113
|
+
context: {
|
|
114
|
+
id: 1,
|
|
115
|
+
},
|
|
116
|
+
categories: { result: [] },
|
|
117
|
+
routerSlug: '/app',
|
|
118
|
+
headerOptions: false,
|
|
119
|
+
bannerOption: true,
|
|
120
|
+
};
|
|
121
|
+
this.discussUtilitySvc.setDiscussionConfig(config);
|
|
122
|
+
localStorage.setItem('home', JSON.stringify(config));
|
|
123
|
+
this.router.navigate(['/app/discussion-forum'], { queryParams: { page: 'home' }, queryParamsHandling: 'merge' });
|
|
124
|
+
}
|
|
125
|
+
// get titleUrl(): { fragment?: string; routeUrl: string; queryParams: any } {
|
|
126
|
+
// return {
|
|
127
|
+
// queryParams: undefined,
|
|
128
|
+
// routeUrl: this.widgetData.url ? this.widgetData.url : '/app/home',
|
|
129
|
+
// }
|
|
130
|
+
// }
|
|
131
|
+
toggleVisibility() {
|
|
132
|
+
this.visible = !this.visible;
|
|
133
|
+
}
|
|
134
|
+
hasRole(role) {
|
|
135
|
+
let returnValue = false;
|
|
136
|
+
role.forEach(v => {
|
|
137
|
+
const rolesList = (this.configSvc.userRoles || new Set());
|
|
138
|
+
if (rolesList.has(v.toLowerCase()) || rolesList.has(v.toUpperCase())) {
|
|
139
|
+
returnValue = true;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
return returnValue;
|
|
143
|
+
}
|
|
144
|
+
isAllowed(portalName) {
|
|
145
|
+
const roles = _.get(_.first(_.filter(this.environment.portals, { id: portalName })), 'roles') || [];
|
|
146
|
+
if (!(roles && roles.length)) {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
const value = this.hasRole(roles);
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
translateLabels(label, type, subtype) {
|
|
153
|
+
return this.langtranslations.translateLabel(label, type, subtype);
|
|
154
|
+
}
|
|
155
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackComponent, deps: [{ token: i1.BtnPageBackService }, { token: i2.Router }, { token: i3.ConfigurationsService }, { token: i4.DiscussUtilsService }, { token: i5.TranslateService }, { token: i3.MultilingualTranslationsService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BtnPageBackComponent, selector: "ws-widget-btn-page-back", inputs: { widgetData: "widgetData" }, host: { properties: { "id": "this.id" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"base-layout\" role=\"navigation\" id=\"back-nav\" aria-label=\"navigation\">\r\n <div class=\"container-balanced\">\r\n <div class=\"flex flex-1 flex-column\">\r\n <div class=\"flex flex-1 flex-column\">\r\n <div class=\"flex flex-wrap end-line-elipses items-center margin-top-l margin-bottom-l\" role=\"menubar\">\r\n <!-- disabled for explore btn disabled on contact us page refresh-->\r\n <a class=\"flex cursor-pointer simple-hubs-link \" href=\"/\" role=\"menuitem\" accesskey=\"H\" i18n-aria-label i18n-aria-title>\r\n <span class=\"margin-auto margin-0 mat-subheading-2 {{widgetData?.textClass? widgetData?.textClass: 'ws-mat-default-text'}}\">{{ 'btnpageback.home' | translate }}</span>\r\n </a>\r\n\r\n <ng-container *ngIf=\"widgetData.titles && widgetData.titles.length>0\">\r\n <div class=\"flex\" *ngFor=\"let title of widgetData.titles\">\r\n <mat-icon class=\"m-auto mr-2\">keyboard_arrow_right</mat-icon>\r\n <span *ngIf=\"title.title && title.url && title.url === 'none'\" i18n-aria-label i18n-aria-title\r\n i18n=\"page title: {{title.title}}\" class=\"flex m-auto\">\r\n <mat-icon class=\"icon-margin m-t-b ws-mat-black60-text\" *ngIf=\"title.icon\">{{ title.icon }}</mat-icon>\r\n <span class=\"m-t-b mat-body-2 font-bold-imp ws-mat-black60-text\">{{ title.title }}</span>\r\n </span>\r\n\r\n <a class=\"flex m-auto ws-mat-default-text\" i18n-aria-label *ngIf=\"title.url && title.url !== 'none'\"\r\n [routerLink]=\"title.url\" [queryParams]=\"title.queryParams\" role=\"menuitem\" i18n-aria-label\r\n [attr.accesskey]=\"title.accessKey\">\r\n <mat-icon class=\"ws-mat-default-text icon-margin\" *ngIf=\"title.icon\">{{title.icon}}</mat-icon>\r\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"!title?.disableTranslate\"> {{ translateLabels(title?.title, 'btnpageback') }}</span>\r\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"title?.disableTranslate\"> {{ title?.title }}</span>\r\n </a>\r\n </div>\r\n \r\n </ng-container>\r\n </div>\r\n <div class=\"flex flex-col\" *ngIf=\"visible\" [@enterAnimation]=\"visible\">\r\n <div class=\"flex flex-1 margin-xs\">\r\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.hubs' | translate }}</h4>\r\n </div>\r\n <div class=\"flex flex-1\">\r\n <h3 class=\"mat-error text-center\" *ngIf=\"hubsList.length === 0\" >\r\n {{ 'btnpageback.noHubs' | translate }}\r\n </h3>\r\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\" role=\"menubar\">\r\n <ng-container *ngFor=\"let hubsObj of hubsList\" [ngTemplateOutlet]=\"userIndividualNew\" [ngTemplateOutletContext]=\"{ hubs: hubsObj }\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-1 margin-xs\">\r\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.doMore' | translate }}</h4>\r\n </div>\r\n <div class=\"flex flex-1\">\r\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/knowledge-resource/all']\" >\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">menu_book</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\">{{ 'btnpageback.knowledgeResources' | translate }}</div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.knowledgeResourcesSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/my-dashboard']\" >\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon aria-hidden=\"false\" class=\"mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-label=\"bar_chart\" aria-labelledby=\"bar_chart\"> bar_chart </mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.dashboard' | translate }} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.dashboardSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/profile/settings']\" >\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">settings</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.settings' | translate }} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.settingSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/setup']\">\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\"\r\n aria-hidden=\"true\">thumb_up</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.interests' | translate }} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.interestsSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-1 margin-xs\">\r\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.quickLinks' | translate }}</h4>\r\n </div>\r\n <div class=\"flex flex-1\">\r\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\r\n <ng-container *ngFor=\"let portal of environment.portals | orderBy: 'sr'\">\r\n <ng-container *ngIf=\"portal.isPublic || isAllowed(portal.id)\">\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [attr.href]=\"portal.uriPath\" target=\"_blank\">\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\"m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">{{ portal.icon || 'info' }}</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{portal.name}} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{portal.desc}}</div>\r\n </div>\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #userIndividualNew let-hubs=\"hubs\">\r\n <ng-container *ngIf=\"hubs.hubname == 'Discuss'\">\r\n <a class=\"flex flex-wrap mb-4\" (click)=\"navigate()\" role=\"menuitem\" i18n-aria-label>\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\r\n </div>\r\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\r\n <div class=\"margin-0 mat-subheading-2\">\r\n {{ translateLabels(hubs.hubname, 'common') }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\r\n </div>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hubs.hubname != 'Discuss'\">\r\n <a class=\"flex flex-wrap mb-4\" [routerLink]=\"(hubs.path)\" role=\"menuitem\" i18n-aria-label>\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\r\n </div>\r\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\r\n <div class=\"margin-0 mat-subheading-2\">\r\n {{ translateLabels(hubs.hubname, 'common') }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\r\n </div>\r\n </a>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{max-width:1230px;max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{height:auto}.show{display:flex!important;visibility:visible;opacity:1;transition-delay:1s;transition:visibility 0s linear .33s,opacity .33s linear}.hide{display:none!important;visibility:hidden;opacity:0;transition:visibility 0s linear .33s,opacity .33s linear}.base-layout{box-shadow:none!important;border:none!important;padding:0;margin:auto}.fix-ww{margin-left:auto;margin-right:auto;max-width:1202px;display:flex;flex:1}a[target=_blank]{color:#000!important}h4.nav_sub_heading{margin:0!important}.next-b{width:12px;height:16px;transform:matrix(0,1,-1,0,0,0);background:#00a9f4 0% 0% no-repeat padding-box}.icon-margin{margin:0 .5rem 0 .1rem}.m-t-b{margin-top:auto;margin-bottom:auto}.home-icon{margin:auto 20px}.main-back{font-size:32px;margin-bottom:10px;margin-right:12px}.mat-y-icon{color:#9acd32}.mat-y-icon svg path{fill:red}.top-fixed-menu{position:fixed;width:100%;z-index:99}.simple-hubs-link{margin:auto 12px}.center{text-align:center;padding-top:12px}mat-form-field{width:100%}mat-grid-list{margin-top:40px;margin-bottom:20px}.margin-0{margin:0!important}.icon{width:71px;height:64px;border-radius:4px;text-align:center}.icon .mat-icon{padding:18px 16px}.base-header{margin-left:5px}.mat-grid-tile{display:inline;position:absolute}.mat-icon1{padding:16px;color:#347bb6!important}.font-bold-imp{font-weight:700!important}a.disabled{pointer-events:none;cursor:default}.end-line-elipses{-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i3.OrderByPipe, name: "orderBy" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], animations: [
|
|
157
|
+
trigger('enterAnimation', [
|
|
158
|
+
transition(':enter', [
|
|
159
|
+
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 }),
|
|
160
|
+
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 })),
|
|
161
|
+
]),
|
|
162
|
+
transition(':leave', [
|
|
163
|
+
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 }),
|
|
164
|
+
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 })),
|
|
165
|
+
]),
|
|
166
|
+
]),
|
|
167
|
+
] }); }
|
|
168
|
+
}
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BtnPageBackComponent, decorators: [{
|
|
170
|
+
type: Component,
|
|
171
|
+
args: [{ selector: 'ws-widget-btn-page-back', animations: [
|
|
172
|
+
trigger('enterAnimation', [
|
|
173
|
+
transition(':enter', [
|
|
174
|
+
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 }),
|
|
175
|
+
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 })),
|
|
176
|
+
]),
|
|
177
|
+
transition(':leave', [
|
|
178
|
+
style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 1 }),
|
|
179
|
+
animate('300ms', style({ transition: 'visibility 0s linear 0.23s, opacity 0.33s linear', opacity: 0 })),
|
|
180
|
+
]),
|
|
181
|
+
]),
|
|
182
|
+
], template: "<div class=\"base-layout\" role=\"navigation\" id=\"back-nav\" aria-label=\"navigation\">\r\n <div class=\"container-balanced\">\r\n <div class=\"flex flex-1 flex-column\">\r\n <div class=\"flex flex-1 flex-column\">\r\n <div class=\"flex flex-wrap end-line-elipses items-center margin-top-l margin-bottom-l\" role=\"menubar\">\r\n <!-- disabled for explore btn disabled on contact us page refresh-->\r\n <a class=\"flex cursor-pointer simple-hubs-link \" href=\"/\" role=\"menuitem\" accesskey=\"H\" i18n-aria-label i18n-aria-title>\r\n <span class=\"margin-auto margin-0 mat-subheading-2 {{widgetData?.textClass? widgetData?.textClass: 'ws-mat-default-text'}}\">{{ 'btnpageback.home' | translate }}</span>\r\n </a>\r\n\r\n <ng-container *ngIf=\"widgetData.titles && widgetData.titles.length>0\">\r\n <div class=\"flex\" *ngFor=\"let title of widgetData.titles\">\r\n <mat-icon class=\"m-auto mr-2\">keyboard_arrow_right</mat-icon>\r\n <span *ngIf=\"title.title && title.url && title.url === 'none'\" i18n-aria-label i18n-aria-title\r\n i18n=\"page title: {{title.title}}\" class=\"flex m-auto\">\r\n <mat-icon class=\"icon-margin m-t-b ws-mat-black60-text\" *ngIf=\"title.icon\">{{ title.icon }}</mat-icon>\r\n <span class=\"m-t-b mat-body-2 font-bold-imp ws-mat-black60-text\">{{ title.title }}</span>\r\n </span>\r\n\r\n <a class=\"flex m-auto ws-mat-default-text\" i18n-aria-label *ngIf=\"title.url && title.url !== 'none'\"\r\n [routerLink]=\"title.url\" [queryParams]=\"title.queryParams\" role=\"menuitem\" i18n-aria-label\r\n [attr.accesskey]=\"title.accessKey\">\r\n <mat-icon class=\"ws-mat-default-text icon-margin\" *ngIf=\"title.icon\">{{title.icon}}</mat-icon>\r\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"!title?.disableTranslate\"> {{ translateLabels(title?.title, 'btnpageback') }}</span>\r\n <span class=\"m-t-b mat-body-2 font-bold-imp {{title?.textClass}}\" *ngIf=\"title?.disableTranslate\"> {{ title?.title }}</span>\r\n </a>\r\n </div>\r\n \r\n </ng-container>\r\n </div>\r\n <div class=\"flex flex-col\" *ngIf=\"visible\" [@enterAnimation]=\"visible\">\r\n <div class=\"flex flex-1 margin-xs\">\r\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.hubs' | translate }}</h4>\r\n </div>\r\n <div class=\"flex flex-1\">\r\n <h3 class=\"mat-error text-center\" *ngIf=\"hubsList.length === 0\" >\r\n {{ 'btnpageback.noHubs' | translate }}\r\n </h3>\r\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\" role=\"menubar\">\r\n <ng-container *ngFor=\"let hubsObj of hubsList\" [ngTemplateOutlet]=\"userIndividualNew\" [ngTemplateOutletContext]=\"{ hubs: hubsObj }\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-1 margin-xs\">\r\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.doMore' | translate }}</h4>\r\n </div>\r\n <div class=\"flex flex-1\">\r\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/knowledge-resource/all']\" >\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">menu_book</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\">{{ 'btnpageback.knowledgeResources' | translate }}</div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.knowledgeResourcesSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/my-dashboard']\" >\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon aria-hidden=\"false\" class=\"mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-label=\"bar_chart\" aria-labelledby=\"bar_chart\"> bar_chart </mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.dashboard' | translate }} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.dashboardSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/profile/settings']\" >\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">settings</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.settings' | translate }} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.settingSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [routerLink]=\"['/app/setup']\">\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\" m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\"\r\n aria-hidden=\"true\">thumb_up</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{ 'btnpageback.interests' | translate }} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{ 'btnpageback.interestsSubtitle' | translate }}</div>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex flex-1 margin-xs\">\r\n <h4 class=\"mat-h4 nav_sub_heading\">{{ 'btnpageback.quickLinks' | translate }}</h4>\r\n </div>\r\n <div class=\"flex flex-1\">\r\n <div class=\"grid grid-cols-1 margin-xs sm:grid-cols-2 md:grid-cols-3 md:grid-cols-4 col-gap-2\">\r\n <ng-container *ngFor=\"let portal of environment.portals | orderBy: 'sr'\">\r\n <ng-container *ngIf=\"portal.isPublic || isAllowed(portal.id)\">\r\n <a class=\"flex flex-wrap mb-4\" role=\"menuitem\" [attr.href]=\"portal.uriPath\" target=\"_blank\">\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\"m-auto mat-icon notranslate material-icons mat-icon-no-color\" role=\"img\" aria-hidden=\"true\">{{ portal.icon || 'info' }}</mat-icon>\r\n </div>\r\n <div class=\"width-expand padding-left-xs cursor-pointer\">\r\n <div class=\"margin-0 mat-subheading-2\"> {{portal.name}} </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{portal.desc}}</div>\r\n </div>\r\n </a>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n<ng-template #userIndividualNew let-hubs=\"hubs\">\r\n <ng-container *ngIf=\"hubs.hubname == 'Discuss'\">\r\n <a class=\"flex flex-wrap mb-4\" (click)=\"navigate()\" role=\"menuitem\" i18n-aria-label>\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\r\n </div>\r\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\r\n <div class=\"margin-0 mat-subheading-2\">\r\n {{ translateLabels(hubs.hubname, 'common') }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\r\n </div>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hubs.hubname != 'Discuss'\">\r\n <a class=\"flex flex-wrap mb-4\" [routerLink]=\"(hubs.path)\" role=\"menuitem\" i18n-aria-label>\r\n <div class=\"icon ws-mat-primary-tags\">\r\n <mat-icon class=\"mat-icon1\">{{hubs.icon}}</mat-icon>\r\n </div>\r\n <div [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\" class=\"width-expand padding-left-xs\">\r\n <div class=\"margin-0 mat-subheading-2\">\r\n {{ translateLabels(hubs.hubname, 'common') }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc ws-mat-black60-text\">{{hubs.desc}}</div>\r\n </div>\r\n </a>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{max-width:1230px;max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container-balanced{height:auto}.show{display:flex!important;visibility:visible;opacity:1;transition-delay:1s;transition:visibility 0s linear .33s,opacity .33s linear}.hide{display:none!important;visibility:hidden;opacity:0;transition:visibility 0s linear .33s,opacity .33s linear}.base-layout{box-shadow:none!important;border:none!important;padding:0;margin:auto}.fix-ww{margin-left:auto;margin-right:auto;max-width:1202px;display:flex;flex:1}a[target=_blank]{color:#000!important}h4.nav_sub_heading{margin:0!important}.next-b{width:12px;height:16px;transform:matrix(0,1,-1,0,0,0);background:#00a9f4 0% 0% no-repeat padding-box}.icon-margin{margin:0 .5rem 0 .1rem}.m-t-b{margin-top:auto;margin-bottom:auto}.home-icon{margin:auto 20px}.main-back{font-size:32px;margin-bottom:10px;margin-right:12px}.mat-y-icon{color:#9acd32}.mat-y-icon svg path{fill:red}.top-fixed-menu{position:fixed;width:100%;z-index:99}.simple-hubs-link{margin:auto 12px}.center{text-align:center;padding-top:12px}mat-form-field{width:100%}mat-grid-list{margin-top:40px;margin-bottom:20px}.margin-0{margin:0!important}.icon{width:71px;height:64px;border-radius:4px;text-align:center}.icon .mat-icon{padding:18px 16px}.base-header{margin-left:5px}.mat-grid-tile{display:inline;position:absolute}.mat-icon1{padding:16px;color:#347bb6!important}.font-bold-imp{font-weight:700!important}a.disabled{pointer-events:none;cursor:default}.end-line-elipses{-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%}\n"] }]
|
|
183
|
+
}], ctorParameters: function () { return [{ type: i1.BtnPageBackService }, { type: i2.Router }, { type: i3.ConfigurationsService }, { type: i4.DiscussUtilsService }, { type: i5.TranslateService }, { type: i3.MultilingualTranslationsService }, { type: undefined, decorators: [{
|
|
184
|
+
type: Inject,
|
|
185
|
+
args: ['environment']
|
|
186
|
+
}] }]; }, propDecorators: { widgetData: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], id: [{
|
|
189
|
+
type: HostBinding,
|
|
190
|
+
args: ['id']
|
|
191
|
+
}] } });
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLXBhZ2UtYmFjay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vYnRuLXBhZ2UtYmFjay9idG4tcGFnZS1iYWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9idG4tcGFnZS1iYWNrL2J0bi1wYWdlLWJhY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFBO0FBRXZGLE9BQU8sRUFBb0IsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUsvRSxpQkFBaUI7QUFDakIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFBOzs7Ozs7Ozs7QUF5QnRCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFVM0QsWUFDVSxVQUE4QixFQUMvQixNQUFjLEVBQ2IsU0FBZ0MsRUFDaEMsaUJBQXNDLEVBQ3RDLFNBQTJCLEVBQzNCLGdCQUFpRCxFQUMxQixXQUFnQjtRQUUvQyxLQUFLLEVBQUUsQ0FBQTtRQVJDLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ3RDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7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K0JBQ0UseUJBQXlCLGNBR3ZCO3dCQUNWLE9BQU8sQ0FDTCxnQkFBZ0IsRUFBRTs0QkFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3hHLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLGtEQUFrRCxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckYsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsa0RBQWtELEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQ3hHLENBQUM7eUJBQ0gsQ0FDQTtxQkFDRjs7MEJBbUJFLE1BQU07MkJBQUMsYUFBYTs0Q0FmZCxVQUFVO3NCQUFsQixLQUFLO2dCQUdDLEVBQUU7c0JBRFIsV0FBVzt1QkFBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJ1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xyXG5pbXBvcnQgeyBOc1dpZGdldFJlc29sdmVyLCBXaWRnZXRCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHN1bmJpcmQtY2IvcmVzb2x2ZXItdjInXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSwgTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSwgTnNJbnN0YW5jZUNvbmZpZyB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJ1xyXG5cclxuaW1wb3J0IHsgQnRuUGFnZUJhY2tTZXJ2aWNlIH0gZnJvbSAnLi9idG4tcGFnZS1iYWNrLnNlcnZpY2UnXHJcbmltcG9ydCB7IERpc2N1c3NVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kaXNjdXNzLXV0aWxzLnNlcnZpY2UnXHJcbi8vIHRzbGludDpkaXNhYmxlXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXHJcbi8vIHRzbGludDplbmFibGVcclxuLy8gdHNsaW50OmVuYWJsZVxyXG5cclxudHlwZSBUVXJsID0gdW5kZWZpbmVkIHwgJ25vbmUnIHwgJ2JhY2snIHwgc3RyaW5nXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3Mtd2lkZ2V0LWJ0bi1wYWdlLWJhY2snLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idG4tcGFnZS1iYWNrLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9idG4tcGFnZS1iYWNrLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcclxuICAgICAgJ2VudGVyQW5pbWF0aW9uJywgW1xyXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgICAgICAgc3R5bGUoeyB0cmFuc2l0aW9uOiAndmlzaWJpbGl0eSAwcyBsaW5lYXIgMC4yM3MsIG9wYWNpdHkgMC4zM3MgbGluZWFyJywgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICBhbmltYXRlKCczMDBtcycsIHN0eWxlKHsgdHJhbnNpdGlvbjogJ3Zpc2liaWxpdHkgMHMgbGluZWFyIDAuMjNzLCBvcGFjaXR5IDAuMzNzIGxpbmVhcicsIG9wYWNpdHk6IDEgfSkpLFxyXG4gICAgICBdKSxcclxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xyXG4gICAgICAgIHN0eWxlKHsgdHJhbnNpdGlvbjogJ3Zpc2liaWxpdHkgMHMgbGluZWFyIDAuMjNzLCBvcGFjaXR5IDAuMzNzIGxpbmVhcicsIG9wYWNpdHk6IDEgfSksXHJcbiAgICAgICAgYW5pbWF0ZSgnMzAwbXMnLCBzdHlsZSh7IHRyYW5zaXRpb246ICd2aXNpYmlsaXR5IDBzIGxpbmVhciAwLjIzcywgb3BhY2l0eSAwLjMzcyBsaW5lYXInLCBvcGFjaXR5OiAwIH0pKSxcclxuICAgICAgXSksXHJcbiAgICBdXHJcbiAgICApLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdG5QYWdlQmFja0NvbXBvbmVudCBleHRlbmRzIFdpZGdldEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgTnNXaWRnZXRSZXNvbHZlci5JV2lkZ2V0RGF0YTx7IHVybDogVFVybCB9PiB7XHJcbiAgQElucHV0KCkgd2lkZ2V0RGF0YTogeyB1cmw6IFRVcmwsIHRpdGxlcz86IE5zV2lkZ2V0UmVzb2x2ZXIuSVRpdGxlW10sIHRleHRDbGFzcz86IHN0cmluZyB9ID0geyB1cmw6ICdub25lJywgdGl0bGVzOiBbXSB9XHJcbiAgcHJlc2VudFVybCA9ICcnXHJcbiAgQEhvc3RCaW5kaW5nKCdpZCcpXHJcbiAgcHVibGljIGlkID0gJ25hdi1iYWNrJ1xyXG4gIHZpc2libGUgPSBmYWxzZVxyXG4gIGVuYWJsZVBlb3BsZVNlYXJjaCA9IHRydWVcclxuICBsb2dnZWRpblVzZXIgPSAhISh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQpXHJcbiAgaHVic0xpc3QhOiBOc0luc3RhbmNlQ29uZmlnLklIdWJzW11cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYnRuQmFja1N2YzogQnRuUGFnZUJhY2tTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlzY3Vzc1V0aWxpdHlTdmM6IERpc2N1c3NVdGlsc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGFuZ3RyYW5zbGF0aW9uczogTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XHJcbiAgKSB7XHJcbiAgICBzdXBlcigpXHJcbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXHJcbiAgICAgIGNvbnN0IGxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykhXHJcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvLyBlbnZpcm9ubWVudCBpcyBpbmplY3RlZCB2aWEgY29uc3RydWN0b3JcclxuICAgIGNvbnN0IGluc3RhbmNlQ29uZmlnID0gdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWdcclxuICAgIGlmIChpbnN0YW5jZUNvbmZpZykge1xyXG4gICAgICB0aGlzLmh1YnNMaXN0ID0gKGluc3RhbmNlQ29uZmlnLmh1YnMgfHwgW10pLmZpbHRlcihpID0+IGkuYWN0aXZlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5wcmVzZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsXHJcbiAgICBpZiAodGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUpIHtcclxuICAgICAgdGhpcy5sb2dnZWRpblVzZXIgPSB0cnVlXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvZ2dlZGluVXNlciA9IGZhbHNlXHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBpc1VzZXJMb2dnZWdJbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmxvZ2dlZGluVXNlclxyXG4gIH1cclxuICBnZXQgYmFja1VybCgpOiB7IGZyYWdtZW50Pzogc3RyaW5nOyByb3V0ZVVybDogc3RyaW5nOyBxdWVyeVBhcmFtczogYW55IH0ge1xyXG5cclxuICAgIGlmICh0aGlzLnByZXNlbnRVcmwgPT09ICcvcGFnZS9leHBsb3JlJykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXHJcbiAgICAgICAgcm91dGVVcmw6ICcvcGFnZS9ob21lJyxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMud2lkZ2V0RGF0YS51cmwgPT09ICdob21lJykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB1bmRlZmluZWQsXHJcbiAgICAgICAgcm91dGVVcmw6ICcvcGFnZS9ob21lJyxcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLndpZGdldERhdGEudXJsID09PSAnZG91YmxlQmFjaycpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBmcmFnbWVudDogdGhpcy5idG5CYWNrU3ZjLmdldExhc3RVcmwoMikuZnJhZ21lbnQsXHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKDIpLnF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgIHJvdXRlVXJsOiB0aGlzLmJ0bkJhY2tTdmMuZ2V0TGFzdFVybCgyKS5yb3V0ZSxcclxuICAgICAgfVxyXG4gICAgfSBpZiAodGhpcy53aWRnZXREYXRhLnVybCA9PT0gJ2JhY2snKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZnJhZ21lbnQ6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKCkuZnJhZ21lbnQsXHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKCkucXVlcnlQYXJhbXMsXHJcbiAgICAgICAgcm91dGVVcmw6IHRoaXMuYnRuQmFja1N2Yy5nZXRMYXN0VXJsKCkucm91dGUsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLndpZGdldERhdGEudXJsICE9PSAnYmFjaycgJiYgdGhpcy53aWRnZXREYXRhLnVybCAhPT0gJ2RvdWJsZUJhY2snKSB7XHJcblxyXG4gICAgICB0aGlzLmJ0bkJhY2tTdmMuY2hlY2tVcmwodGhpcy53aWRnZXREYXRhLnVybClcclxuXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHVuZGVmaW5lZCxcclxuICAgICAgcm91dGVVcmw6IHRoaXMud2lkZ2V0RGF0YS51cmwgPyB0aGlzLndpZGdldERhdGEudXJsIDogJy9hcHAvaG9tZScsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZSgpIHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHtcclxuICAgICAgbWVudU9wdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICByb3V0ZTogJ2FsbC1kaXNjdXNzaW9ucycsXHJcbiAgICAgICAgICBsYWJlbDogJ0FsbCBkaXNjdXNzaW9ucycsXHJcbiAgICAgICAgICBlbmFibGU6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICByb3V0ZTogJ2NhdGVnb3JpZXMnLFxyXG4gICAgICAgICAgbGFiZWw6ICdDYXRlZ29yaWVzJyxcclxuICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHJvdXRlOiAndGFncycsXHJcbiAgICAgICAgICBsYWJlbDogJ1RhZ3MnLFxyXG4gICAgICAgICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm91dGU6ICdteS1kaXNjdXNzaW9uJyxcclxuICAgICAgICAgIGxhYmVsOiAnWW91ciBkaXNjdXNzaW9uJyxcclxuICAgICAgICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICB1c2VyTmFtZTogKHRoaXMuY29uZmlnU3ZjLm5vZGViYlVzZXJQcm9maWxlICYmIHRoaXMuY29uZmlnU3ZjLm5vZGViYlVzZXJQcm9maWxlLnVzZXJuYW1lKSB8fCAnJyxcclxuICAgICAgY29udGV4dDoge1xyXG4gICAgICAgIGlkOiAxLFxyXG4gICAgICB9LFxyXG4gICAgICBjYXRlZ29yaWVzOiB7IHJlc3VsdDogW10gfSxcclxuICAgICAgcm91dGVyU2x1ZzogJy9hcHAnLFxyXG4gICAgICBoZWFkZXJPcHRpb25zOiBmYWxzZSxcclxuICAgICAgYmFubmVyT3B0aW9uOiB0cnVlLFxyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNjdXNzVXRpbGl0eVN2Yy5zZXREaXNjdXNzaW9uQ29uZmlnKGNvbmZpZylcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdob21lJywgSlNPTi5zdHJpbmdpZnkoY29uZmlnKSlcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcC9kaXNjdXNzaW9uLWZvcnVtJ10sIHsgcXVlcnlQYXJhbXM6IHsgcGFnZTogJ2hvbWUnIH0sIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScgfSlcclxuICB9XHJcblxyXG4gIC8vIGdldCB0aXRsZVVybCgpOiB7IGZyYWdtZW50Pzogc3RyaW5nOyByb3V0ZVVybDogc3RyaW5nOyBxdWVyeVBhcmFtczogYW55IH0ge1xyXG4gIC8vICAgcmV0dXJuIHtcclxuICAvLyAgICAgcXVlcnlQYXJhbXM6IHVuZGVmaW5lZCxcclxuICAvLyAgICAgcm91dGVVcmw6IHRoaXMud2lkZ2V0RGF0YS51cmwgPyB0aGlzLndpZGdldERhdGEudXJsIDogJy9hcHAvaG9tZScsXHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG4gIHRvZ2dsZVZpc2liaWxpdHkoKSB7XHJcbiAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlXHJcbiAgfVxyXG5cclxuICBoYXNSb2xlKHJvbGU6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmV0dXJuVmFsdWUgPSBmYWxzZVxyXG4gICAgcm9sZS5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICBjb25zdCByb2xlc0xpc3QgPSAodGhpcy5jb25maWdTdmMudXNlclJvbGVzIHx8IG5ldyBTZXQoKSlcclxuICAgICAgaWYgKHJvbGVzTGlzdC5oYXModi50b0xvd2VyQ2FzZSgpKSB8fCByb2xlc0xpc3QuaGFzKHYudG9VcHBlckNhc2UoKSkpIHtcclxuICAgICAgICByZXR1cm5WYWx1ZSA9IHRydWVcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiByZXR1cm5WYWx1ZVxyXG4gIH1cclxuXHJcbiAgaXNBbGxvd2VkKHBvcnRhbE5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgcm9sZXMgPSBfLmdldChfLmZpcnN0KF8uZmlsdGVyKHRoaXMuZW52aXJvbm1lbnQucG9ydGFscywgeyBpZDogcG9ydGFsTmFtZSB9KSksICdyb2xlcycpIHx8IFtdXHJcbiAgICBpZiAoIShyb2xlcyAmJiByb2xlcy5sZW5ndGgpKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaGFzUm9sZShyb2xlcylcclxuICAgIHJldHVybiB2YWx1ZVxyXG4gIH1cclxuXHJcbiAgdHJhbnNsYXRlTGFiZWxzKGxhYmVsOiBzdHJpbmcsIHR5cGU6IGFueSwgc3VidHlwZTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndHJhbnNsYXRpb25zLnRyYW5zbGF0ZUxhYmVsKGxhYmVsLCB0eXBlLCBzdWJ0eXBlKVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0XCIgcm9sZT1cIm5hdmlnYXRpb25cIiBpZD1cImJhY2stbmF2XCIgYXJpYS1sYWJlbD1cIm5hdmlnYXRpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWJhbGFuY2VkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgZmxleC1jb2x1bW5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGVuZC1saW5lLWVsaXBzZXMgaXRlbXMtY2VudGVyIG1hcmdpbi10b3AtbCBtYXJnaW4tYm90dG9tLWxcIiByb2xlPVwibWVudWJhclwiPlxyXG4gICAgICAgICAgPCEtLSBkaXNhYmxlZCBmb3IgZXhwbG9yZSBidG4gZGlzYWJsZWQgb24gY29udGFjdCB1cyBwYWdlIHJlZnJlc2gtLT5cclxuICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBjdXJzb3ItcG9pbnRlciBzaW1wbGUtaHVicy1saW5rIFwiIGhyZWY9XCIvXCIgcm9sZT1cIm1lbnVpdGVtXCIgYWNjZXNza2V5PVwiSFwiIGkxOG4tYXJpYS1sYWJlbCBpMThuLWFyaWEtdGl0bGU+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWFyZ2luLWF1dG8gIG1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTIge3t3aWRnZXREYXRhPy50ZXh0Q2xhc3M/IHdpZGdldERhdGE/LnRleHRDbGFzczogJ3dzLW1hdC1kZWZhdWx0LXRleHQnfX1cIj57eyAnYnRucGFnZWJhY2suaG9tZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldERhdGEudGl0bGVzICYmIHdpZGdldERhdGEudGl0bGVzLmxlbmd0aD4wXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCIgKm5nRm9yPVwibGV0IHRpdGxlIG9mIHdpZGdldERhdGEudGl0bGVzXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibS1hdXRvIG1yLTJcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0aXRsZS50aXRsZSAmJiB0aXRsZS51cmwgJiYgdGl0bGUudXJsID09PSAnbm9uZSdcIiBpMThuLWFyaWEtbGFiZWwgaTE4bi1hcmlhLXRpdGxlXHJcbiAgICAgICAgICAgICAgICBpMThuPVwicGFnZSB0aXRsZToge3t0aXRsZS50aXRsZX19XCIgY2xhc3M9XCJmbGV4IG0tYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1tYXJnaW4gbS10LWIgd3MtbWF0LWJsYWNrNjAtdGV4dFwiICpuZ0lmPVwidGl0bGUuaWNvblwiPnt7IHRpdGxlLmljb24gfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLXQtYiBtYXQtYm9keS0yIGZvbnQtYm9sZC1pbXAgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7IHRpdGxlLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmbGV4IG0tYXV0byB3cy1tYXQtZGVmYXVsdC10ZXh0XCIgaTE4bi1hcmlhLWxhYmVsICpuZ0lmPVwidGl0bGUudXJsICYmIHRpdGxlLnVybCAhPT0gJ25vbmUnXCJcclxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInRpdGxlLnVybFwiIFtxdWVyeVBhcmFtc109XCJ0aXRsZS5xdWVyeVBhcmFtc1wiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbFxyXG4gICAgICAgICAgICAgICAgW2F0dHIuYWNjZXNza2V5XT1cInRpdGxlLmFjY2Vzc0tleVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwid3MtbWF0LWRlZmF1bHQtdGV4dCBpY29uLW1hcmdpblwiICpuZ0lmPVwidGl0bGUuaWNvblwiPnt7dGl0bGUuaWNvbn19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS10LWIgbWF0LWJvZHktMiBmb250LWJvbGQtaW1wIHt7dGl0bGU/LnRleHRDbGFzc319XCIgKm5nSWY9XCIhdGl0bGU/LmRpc2FibGVUcmFuc2xhdGVcIj4ge3sgdHJhbnNsYXRlTGFiZWxzKHRpdGxlPy50aXRsZSwgJ2J0bnBhZ2ViYWNrJykgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdC1iIG1hdC1ib2R5LTIgZm9udC1ib2xkLWltcCB7e3RpdGxlPy50ZXh0Q2xhc3N9fVwiICpuZ0lmPVwidGl0bGU/LmRpc2FibGVUcmFuc2xhdGVcIj4ge3sgdGl0bGU/LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCIgKm5nSWY9XCJ2aXNpYmxlXCIgW0BlbnRlckFuaW1hdGlvbl09XCJ2aXNpYmxlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTEgbWFyZ2luLXhzXCI+XHJcbiAgICAgICAgICAgIDxoNCBjbGFzcz1cIm1hdC1oNCBuYXZfc3ViX2hlYWRpbmdcIj57eyAnYnRucGFnZWJhY2suaHVicycgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIj5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwibWF0LWVycm9yIHRleHQtY2VudGVyXCIgKm5nSWY9XCJodWJzTGlzdC5sZW5ndGggPT09IDBcIiA+XHJcbiAgICAgICAgICAgICAge3sgJ2J0bnBhZ2ViYWNrLm5vSHVicycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWFyZ2luLXhzIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIG1kOmdyaWQtY29scy00IGNvbC1nYXAtMlwiIHJvbGU9XCJtZW51YmFyXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaHVic09iaiBvZiBodWJzTGlzdFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVzZXJJbmRpdmlkdWFsTmV3XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaHViczogaHVic09iaiB9XCI+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIG1hcmdpbi14c1wiPlxyXG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJtYXQtaDQgbmF2X3N1Yl9oZWFkaW5nXCI+e3sgJ2J0bnBhZ2ViYWNrLmRvTW9yZScgfCB0cmFuc2xhdGUgfX08L2g0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWFyZ2luLXhzIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIG1kOmdyaWQtY29scy00IGNvbC1nYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbWItNFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FwcC9rbm93bGVkZ2UtcmVzb3VyY2UvYWxsJ11cIiA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiBtLWF1dG8gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+bWVudV9ib29rPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHMgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj57eyAnYnRucGFnZWJhY2sua25vd2xlZGdlUmVzb3VyY2VzJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57eyAnYnRucGFnZWJhY2sua25vd2xlZGdlUmVzb3VyY2VzU3VidGl0bGUnIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbWItNFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FwcC9teS1kYXNoYm9hcmQnXVwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBjbGFzcz1cIm1hdC1pY29uIG5vdHJhbnNsYXRlIG1hdGVyaWFsLWljb25zIG1hdC1pY29uLW5vLWNvbG9yXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJiYXJfY2hhcnRcIiBhcmlhLWxhYmVsbGVkYnk9XCJiYXJfY2hhcnRcIj4gYmFyX2NoYXJ0IDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tMCBtYXQtc3ViaGVhZGluZy0yXCI+IHt7ICdidG5wYWdlYmFjay5kYXNoYm9hcmQnIHwgdHJhbnNsYXRlIH19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57eyAnYnRucGFnZWJhY2suZGFzaGJvYXJkU3VidGl0bGUnIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbWItNFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FwcC9wcm9maWxlL3NldHRpbmdzJ11cIiA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiBtLWF1dG8gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+c2V0dGluZ3M8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14cyBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMlwiPiB7eyAnYnRucGFnZWJhY2suc2V0dGluZ3MnIHwgdHJhbnNsYXRlIH19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57eyAnYnRucGFnZWJhY2suc2V0dGluZ1N1YnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbWItNFwiIHJvbGU9XCJtZW51aXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL2FwcC9zZXR1cCddXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiBtLWF1dG8gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIiByb2xlPVwiaW1nXCJcclxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj50aHVtYl91cDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tMCBtYXQtc3ViaGVhZGluZy0yXCI+IHt7ICdidG5wYWdlYmFjay5pbnRlcmVzdHMnIHwgdHJhbnNsYXRlIH19IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57eyAnYnRucGFnZWJhY2suaW50ZXJlc3RzU3VidGl0bGUnIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIG1hcmdpbi14c1wiPlxyXG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJtYXQtaDQgbmF2X3N1Yl9oZWFkaW5nXCI+e3sgJ2J0bnBhZ2ViYWNrLnF1aWNrTGlua3MnIHwgdHJhbnNsYXRlIH19PC9oND5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIG1hcmdpbi14cyBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBtZDpncmlkLWNvbHMtNCBjb2wtZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwb3J0YWwgb2YgZW52aXJvbm1lbnQucG9ydGFscyB8IG9yZGVyQnk6ICdzcidcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwb3J0YWwuaXNQdWJsaWMgfHwgaXNBbGxvd2VkKHBvcnRhbC5pZClcIj5cclxuICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBtYi00XCIgcm9sZT1cIm1lbnVpdGVtXCIgW2F0dHIuaHJlZl09XCJwb3J0YWwudXJpUGF0aFwiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHdzLW1hdC1wcmltYXJ5LXRhZ3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm0tYXV0byBtYXQtaWNvbiBub3RyYW5zbGF0ZSBtYXRlcmlhbC1pY29ucyBtYXQtaWNvbi1uby1jb2xvclwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj57eyBwb3J0YWwuaWNvbiB8fCAnaW5mbycgfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLTAgbWF0LXN1YmhlYWRpbmctMlwiPiB7e3BvcnRhbC5uYW1lfX0gPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57e3BvcnRhbC5kZXNjfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdXNlckluZGl2aWR1YWxOZXcgbGV0LWh1YnM9XCJodWJzXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImh1YnMuaHVibmFtZSA9PSAnRGlzY3VzcydcIj5cclxuICAgIDxhIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgbWItNFwiIChjbGljayk9XCJuYXZpZ2F0ZSgpXCIgcm9sZT1cIm1lbnVpdGVtXCIgaTE4bi1hcmlhLWxhYmVsPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB3cy1tYXQtcHJpbWFyeS10YWdzXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24xXCI+e3todWJzLmljb259fTwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsnY3Vyc29yLXBvaW50ZXInOiBlbmFibGVQZW9wbGVTZWFyY2h9XCIgY2xhc3M9XCJ3aWR0aC1leHBhbmQgcGFkZGluZy1sZWZ0LXhzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmdpbi0wIG1hdC1zdWJoZWFkaW5nLTJcIj5cclxuICAgICAgICAgIHt7IHRyYW5zbGF0ZUxhYmVscyhodWJzLmh1Ym5hbWUsICdjb21tb24nKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2Mgd3MtbWF0LWJsYWNrNjAtdGV4dFwiPnt7aHVicy5kZXNjfX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2E+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJodWJzLmh1Ym5hbWUgIT0gJ0Rpc2N1c3MnXCI+XHJcbiAgICA8YSBjbGFzcz1cImZsZXggZmxleC13cmFwIG1iLTRcIiBbcm91dGVyTGlua109XCIoaHVicy5wYXRoKVwiIHJvbGU9XCJtZW51aXRlbVwiIGkxOG4tYXJpYS1sYWJlbD5cclxuICAgICAgPGRpdiBjbGFzcz1cImljb24gd3MtbWF0LXByaW1hcnktdGFnc1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uMVwiPnt7aHVicy5pY29ufX08L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J2N1cnNvci1wb2ludGVyJzogZW5hYmxlUGVvcGxlU2VhcmNofVwiIGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14c1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXJnaW4tMCBtYXQtc3ViaGVhZGluZy0yXCI+XHJcbiAgICAgICAgICB7eyB0cmFuc2xhdGVMYWJlbHMoaHVicy5odWJuYW1lLCAnY29tbW9uJykgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjIHdzLW1hdC1ibGFjazYwLXRleHRcIj57e2h1YnMuZGVzY319PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9hPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|