@sunbird-cb/toc 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +55 -0
- package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +126 -0
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +32 -0
- package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +85 -0
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +100 -0
- package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +48 -0
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +120 -0
- package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +92 -0
- package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +48 -0
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +25 -0
- package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +41 -0
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +89 -0
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +42 -0
- package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +41 -0
- package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +78 -0
- package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +45 -0
- package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +2 -0
- package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +70 -0
- package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +28 -0
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +187 -0
- package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +86 -0
- package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +31 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +941 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +183 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +327 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +297 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +223 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +591 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +16 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +43 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +133 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +66 -0
- package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +278 -0
- package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +21 -0
- package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +21 -0
- package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +847 -0
- package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +219 -0
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +209 -0
- package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +26 -0
- package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +19 -0
- package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +23 -0
- package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +113 -0
- package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +110 -0
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +26 -0
- package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +19 -0
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +67 -0
- package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +28 -0
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +77 -0
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +2 -0
- package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +61 -0
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +20 -0
- package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +73 -0
- package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +139 -0
- package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +71 -0
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +34 -0
- package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +56 -0
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +25 -0
- package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +37 -0
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +32 -0
- package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +30 -0
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +38 -0
- package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +51 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +115 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +12 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +51 -0
- package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +61 -0
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +87 -0
- package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +36 -0
- package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +62 -0
- package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +24 -0
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +192 -0
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +44 -0
- package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +99 -0
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +58 -0
- package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +67 -0
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +112 -0
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +2 -0
- package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +69 -0
- package/esm2022/lib/_collection-api.mjs +57 -0
- package/esm2022/lib/_constants/widget-content.constants.mjs +19 -0
- package/esm2022/lib/_directives/tooltip.directive.mjs +68 -0
- package/esm2022/lib/_models/common.model.mjs +2 -0
- package/esm2022/lib/_models/error.model.mjs +2 -0
- package/esm2022/lib/_pipes/highlight.pipe.mjs +24 -0
- package/esm2022/lib/_services/rating.service.mjs +89 -0
- package/esm2022/lib/_services/samuhik-charcha.service.mjs +29 -0
- package/esm2022/lib/_services/viewer-route-util.mjs +103 -0
- package/esm2022/lib/_services/widget-content.model.mjs +246 -0
- package/esm2022/lib/_services/widget-content.service.mjs +589 -0
- package/esm2022/lib/_shared/translate-loader.factory.mjs +9 -0
- package/esm2022/lib/app-toc-lib.module.mjs +499 -0
- package/esm2022/lib/collection.config.mjs +161 -0
- package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +37 -0
- package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +1436 -0
- package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +475 -0
- package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +119 -0
- package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +80 -0
- package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +249 -0
- package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +39 -0
- package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +58 -0
- package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +2229 -0
- package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +2796 -0
- package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +157 -0
- package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +48 -0
- package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +47 -0
- package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +766 -0
- package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +243 -0
- package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +116 -0
- package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +44 -0
- package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +1838 -0
- package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +236 -0
- package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +213 -0
- package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +36 -0
- package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +256 -0
- package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +133 -0
- package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +36 -0
- package/esm2022/lib/models/app-toc-analytics.model.mjs +2 -0
- package/esm2022/lib/models/app-toc.model.mjs +38 -0
- package/esm2022/lib/models/auto-complete.model.mjs +2 -0
- package/esm2022/lib/models/card-content.model.mjs +13 -0
- package/esm2022/lib/models/content-strip-with-tabs.model.mjs +2 -0
- package/esm2022/lib/models/discussion-forum.model.mjs +14 -0
- package/esm2022/lib/models/goal.model.mjs +2 -0
- package/esm2022/lib/models/meta-tag.model.mjs +8 -0
- package/esm2022/lib/models/playlist.model.mjs +2 -0
- package/esm2022/lib/models/profile-revamp.model.mjs +2 -0
- package/esm2022/lib/models/rating.model.mjs +2 -0
- package/esm2022/lib/models/user-profile.model.mjs +21 -0
- package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +24 -0
- package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +24 -0
- package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +60 -0
- package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +25 -0
- package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +106 -0
- package/esm2022/lib/resolvers/config-resolver.service.mjs +25 -0
- package/esm2022/lib/resolvers/profile-resolver.service.mjs +25 -0
- package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +25 -0
- package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +51 -0
- package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +16 -0
- package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +18 -0
- package/esm2022/lib/services/access-control.service.mjs +56 -0
- package/esm2022/lib/services/action.service.mjs +23 -0
- package/esm2022/lib/services/app-toc-v2.service.mjs +47 -0
- package/esm2022/lib/services/app-toc.service.mjs +1001 -0
- package/esm2022/lib/services/certificate.service.mjs +69 -0
- package/esm2022/lib/services/discuss-utils.service.mjs +58 -0
- package/esm2022/lib/services/editor.service.mjs +34 -0
- package/esm2022/lib/services/load-check.service.mjs +21 -0
- package/esm2022/lib/services/loader.service.mjs +33 -0
- package/esm2022/lib/services/mobile-apps.service.mjs +67 -0
- package/esm2022/lib/services/netcore.service.mjs +56 -0
- package/esm2022/lib/services/nps-grid.service.mjs +31 -0
- package/esm2022/lib/services/otp.service.mjs +43 -0
- package/esm2022/lib/services/profile-v2.service.mjs +43 -0
- package/esm2022/lib/services/reset-ratings.service.mjs +19 -0
- package/esm2022/lib/services/resource-download-helper.service.mjs +64 -0
- package/esm2022/lib/services/timer.service.mjs +23 -0
- package/esm2022/lib/services/title-tag.service.mjs +71 -0
- package/esm2022/lib/services/user-profile.service.mjs +55 -0
- package/esm2022/lib/services/viewer-data.service.mjs +64 -0
- package/esm2022/lib/services/viewer-util.service.mjs +500 -0
- package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +291 -0
- package/esm2022/lib/share-toc/share-toc.module.mjs +119 -0
- package/esm2022/public-api.mjs +56 -0
- package/esm2022/sunbird-cb-toc.mjs +5 -0
- package/fesm2022/sunbird-cb-toc.mjs +23517 -0
- package/fesm2022/sunbird-cb-toc.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +17 -0
- package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +1 -0
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +32 -0
- package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +1 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +16 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +1 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +21 -0
- package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +1 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +23 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +1 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +16 -0
- package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +1 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +23 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +1 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +23 -0
- package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +1 -0
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +10 -0
- package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +1 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +12 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +1 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +13 -0
- package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +1 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +19 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +1 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +15 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +1 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +12 -0
- package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +1 -0
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts +18 -0
- package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +1 -0
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts +15 -0
- package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +1 -0
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +200 -0
- package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +1 -0
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts +17 -0
- package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts +11 -0
- package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +39 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +20 -0
- package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +12 -0
- package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +184 -0
- package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +42 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +55 -0
- package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +48 -0
- package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +49 -0
- package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +92 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +9 -0
- package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +17 -0
- package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +41 -0
- package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +22 -0
- package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +46 -0
- package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +11 -0
- package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +11 -0
- package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts +129 -0
- package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts +52 -0
- package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +30 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +10 -0
- package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +8 -0
- package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +8 -0
- package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +29 -0
- package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +1 -0
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +25 -0
- package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +15 -0
- package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +10 -0
- package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +13 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +1 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +11 -0
- package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +1 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +23 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +1 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +9 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +1 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +19 -0
- package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +1 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +9 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +1 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +17 -0
- package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +1 -0
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts +36 -0
- package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +1 -0
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts +20 -0
- package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +1 -0
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +15 -0
- package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +1 -0
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +14 -0
- package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +1 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +12 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +12 -0
- package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +1 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +16 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +1 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +11 -0
- package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +1 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +17 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +1 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +12 -0
- package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +35 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +18 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +16 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +1 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +16 -0
- package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +1 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +22 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +1 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +13 -0
- package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +1 -0
- package/lib/_collection/_common/user-image/user-image.component.d.ts +22 -0
- package/lib/_collection/_common/user-image/user-image.component.d.ts.map +1 -0
- package/lib/_collection/_common/user-image/user-image.module.d.ts +10 -0
- package/lib/_collection/_common/user-image/user-image.module.d.ts.map +1 -0
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +48 -0
- package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +1 -0
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +15 -0
- package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +1 -0
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +23 -0
- package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +1 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +20 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +1 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +16 -0
- package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +1 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +26 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +1 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +22 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +1 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +19 -0
- package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +1 -0
- package/lib/_collection-api.d.ts +35 -0
- package/lib/_collection-api.d.ts.map +1 -0
- package/lib/_constants/widget-content.constants.d.ts +8 -0
- package/lib/_constants/widget-content.constants.d.ts.map +1 -0
- package/lib/_directives/tooltip.directive.d.ts +18 -0
- package/lib/_directives/tooltip.directive.d.ts.map +1 -0
- package/lib/_models/common.model.d.ts +4 -0
- package/lib/_models/common.model.d.ts.map +1 -0
- package/lib/_models/error.model.d.ts +6 -0
- package/lib/_models/error.model.d.ts.map +1 -0
- package/lib/_pipes/highlight.pipe.d.ts +11 -0
- package/lib/_pipes/highlight.pipe.d.ts.map +1 -0
- package/lib/_services/rating.service.d.ts +19 -0
- package/lib/_services/rating.service.d.ts.map +1 -0
- package/lib/_services/samuhik-charcha.service.d.ts +14 -0
- package/lib/_services/samuhik-charcha.service.d.ts.map +1 -0
- package/lib/_services/viewer-route-util.d.ts +9 -0
- package/lib/_services/viewer-route-util.d.ts.map +1 -0
- package/lib/_services/widget-content.model.d.ts +515 -0
- package/lib/_services/widget-content.model.d.ts.map +1 -0
- package/lib/_services/widget-content.service.d.ts +101 -0
- package/lib/_services/widget-content.service.d.ts.map +1 -0
- package/lib/_shared/translate-loader.factory.d.ts +8 -0
- package/lib/_shared/translate-loader.factory.d.ts.map +1 -0
- package/lib/app-toc-lib.module.d.ts +89 -0
- package/lib/app-toc-lib.module.d.ts.map +1 -0
- package/lib/collection.config.d.ts +160 -0
- package/lib/collection.config.d.ts.map +1 -0
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +18 -0
- package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +1 -0
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +226 -0
- package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +1 -0
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +79 -0
- package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +1 -0
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +23 -0
- package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +1 -0
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +32 -0
- package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +1 -0
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +48 -0
- package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +1 -0
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +15 -0
- package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +1 -0
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +22 -0
- package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +1 -0
- package/lib/components/app-toc-home/app-toc-home.component.d.ts +315 -0
- package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +1 -0
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +386 -0
- package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +1 -0
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +48 -0
- package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +1 -0
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +23 -0
- package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +1 -0
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +15 -0
- package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +1 -0
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +150 -0
- package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +1 -0
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +43 -0
- package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +1 -0
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +28 -0
- package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +1 -0
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +16 -0
- package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +1 -0
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +196 -0
- package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +1 -0
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +45 -0
- package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +1 -0
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +55 -0
- package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +1 -0
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +19 -0
- package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +1 -0
- package/lib/components/public-survey-form/public-survey-form.component.d.ts +44 -0
- package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +1 -0
- package/lib/components/survey-form-question/survey-form-question.component.d.ts +21 -0
- package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +1 -0
- package/lib/components/survey-form-section/survey-form-section.component.d.ts +14 -0
- package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +1 -0
- package/lib/models/app-toc-analytics.model.d.ts +153 -0
- package/lib/models/app-toc-analytics.model.d.ts.map +1 -0
- package/lib/models/app-toc.model.d.ts +85 -0
- package/lib/models/app-toc.model.d.ts.map +1 -0
- package/lib/models/auto-complete.model.d.ts +28 -0
- package/lib/models/auto-complete.model.d.ts.map +1 -0
- package/lib/models/card-content.model.d.ts +20 -0
- package/lib/models/card-content.model.d.ts.map +1 -0
- package/lib/models/content-strip-with-tabs.model.d.ts +45 -0
- package/lib/models/content-strip-with-tabs.model.d.ts.map +1 -0
- package/lib/models/discussion-forum.model.d.ts +41 -0
- package/lib/models/discussion-forum.model.d.ts.map +1 -0
- package/lib/models/goal.model.d.ts +23 -0
- package/lib/models/goal.model.d.ts.map +1 -0
- package/lib/models/meta-tag.model.d.ts +7 -0
- package/lib/models/meta-tag.model.d.ts.map +1 -0
- package/lib/models/playlist.model.d.ts +24 -0
- package/lib/models/playlist.model.d.ts.map +1 -0
- package/lib/models/profile-revamp.model.d.ts +15 -0
- package/lib/models/profile-revamp.model.d.ts.map +1 -0
- package/lib/models/rating.model.d.ts +18 -0
- package/lib/models/rating.model.d.ts.map +1 -0
- package/lib/models/user-profile.model.d.ts +38 -0
- package/lib/models/user-profile.model.d.ts.map +1 -0
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts +13 -0
- package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +13 -0
- package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +17 -0
- package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +13 -0
- package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/app-toc-resolver.service.d.ts +17 -0
- package/lib/resolvers/app-toc-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/config-resolver.service.d.ts +12 -0
- package/lib/resolvers/config-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/profile-resolver.service.d.ts +12 -0
- package/lib/resolvers/profile-resolver.service.d.ts.map +1 -0
- package/lib/resolvers/restricted-features-resolver.service.d.ts +12 -0
- package/lib/resolvers/restricted-features-resolver.service.d.ts.map +1 -0
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts +20 -0
- package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +1 -0
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +9 -0
- package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +1 -0
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts +9 -0
- package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +1 -0
- package/lib/services/access-control.service.d.ts +30 -0
- package/lib/services/access-control.service.d.ts.map +1 -0
- package/lib/services/action.service.d.ts +10 -0
- package/lib/services/action.service.d.ts.map +1 -0
- package/lib/services/app-toc-v2.service.d.ts +8 -0
- package/lib/services/app-toc-v2.service.d.ts.map +1 -0
- package/lib/services/app-toc.service.d.ts +131 -0
- package/lib/services/app-toc.service.d.ts.map +1 -0
- package/lib/services/certificate.service.d.ts +43 -0
- package/lib/services/certificate.service.d.ts.map +1 -0
- package/lib/services/discuss-utils.service.d.ts +34 -0
- package/lib/services/discuss-utils.service.d.ts.map +1 -0
- package/lib/services/editor.service.d.ts +18 -0
- package/lib/services/editor.service.d.ts.map +1 -0
- package/lib/services/load-check.service.d.ts +9 -0
- package/lib/services/load-check.service.d.ts.map +1 -0
- package/lib/services/loader.service.d.ts +17 -0
- package/lib/services/loader.service.d.ts.map +1 -0
- package/lib/services/mobile-apps.service.d.ts +39 -0
- package/lib/services/mobile-apps.service.d.ts.map +1 -0
- package/lib/services/netcore.service.d.ts +34 -0
- package/lib/services/netcore.service.d.ts.map +1 -0
- package/lib/services/nps-grid.service.d.ts +16 -0
- package/lib/services/nps-grid.service.d.ts.map +1 -0
- package/lib/services/otp.service.d.ts +21 -0
- package/lib/services/otp.service.d.ts.map +1 -0
- package/lib/services/profile-v2.service.d.ts +21 -0
- package/lib/services/profile-v2.service.d.ts.map +1 -0
- package/lib/services/reset-ratings.service.d.ts +9 -0
- package/lib/services/reset-ratings.service.d.ts.map +1 -0
- package/lib/services/resource-download-helper.service.d.ts +30 -0
- package/lib/services/resource-download-helper.service.d.ts.map +1 -0
- package/lib/services/timer.service.d.ts +10 -0
- package/lib/services/timer.service.d.ts.map +1 -0
- package/lib/services/title-tag.service.d.ts +22 -0
- package/lib/services/title-tag.service.d.ts.map +1 -0
- package/lib/services/user-profile.service.d.ts +25 -0
- package/lib/services/user-profile.service.d.ts.map +1 -0
- package/lib/services/viewer-data.service.d.ts +59 -0
- package/lib/services/viewer-data.service.d.ts.map +1 -0
- package/lib/services/viewer-util.service.d.ts +63 -0
- package/lib/services/viewer-util.service.d.ts.map +1 -0
- package/lib/share-toc/share-toc/share-toc.component.d.ts +57 -0
- package/lib/share-toc/share-toc/share-toc.component.d.ts.map +1 -0
- package/lib/share-toc/share-toc.module.d.ts +33 -0
- package/lib/share-toc/share-toc.module.d.ts.map +1 -0
- package/package.json +36 -0
- package/public-api.d.ts +44 -0
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-toc.d.ts.map +1 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/legacy-dialog";
|
|
5
|
+
import * as i2 from "./../../../_services/widget-content.service";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
import * as i4 from "@angular/material/legacy-card";
|
|
8
|
+
import * as i5 from "@angular/material/icon";
|
|
9
|
+
import * as i6 from "@angular/material/divider";
|
|
10
|
+
import * as i7 from "@angular/router";
|
|
11
|
+
export class MarkAsCompleteComponent {
|
|
12
|
+
constructor(dialog,
|
|
13
|
+
// private appTocSvc: AppTocService,
|
|
14
|
+
contentSvc) {
|
|
15
|
+
this.dialog = dialog;
|
|
16
|
+
this.contentSvc = contentSvc;
|
|
17
|
+
this.forPreview = false;
|
|
18
|
+
}
|
|
19
|
+
confirm() {
|
|
20
|
+
if (!this.forPreview) {
|
|
21
|
+
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
|
|
22
|
+
width: '450px',
|
|
23
|
+
data: {
|
|
24
|
+
body: this.reqBody,
|
|
25
|
+
contentId: this.content.identifier,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
dialogRef.afterClosed().subscribe(result => {
|
|
29
|
+
if (result === 'Marked' && this.content.progress) {
|
|
30
|
+
this.content.progress.progressStatus = 'completed';
|
|
31
|
+
this.content.progress.showMarkAsComplete = false;
|
|
32
|
+
this.content.progress.markAsCompleteReason = 'already.completed';
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
get showStart() {
|
|
38
|
+
return { show: true };
|
|
39
|
+
// return this.appTocSvc.showStartButton(this.content)
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
}
|
|
43
|
+
ngOnChanges(props) {
|
|
44
|
+
for (const prop in props) {
|
|
45
|
+
if (prop === 'content') {
|
|
46
|
+
if (this.content) {
|
|
47
|
+
if (!this.forPreview) {
|
|
48
|
+
this.contentSvc
|
|
49
|
+
.fetchMarkAsCompleteMeta(this.content.identifier)
|
|
50
|
+
.then(progress => {
|
|
51
|
+
this.content.progress = progress;
|
|
52
|
+
})
|
|
53
|
+
.catch(() => { });
|
|
54
|
+
this.reqBody = {
|
|
55
|
+
content_type: this.content.contentType,
|
|
56
|
+
current: ['1'],
|
|
57
|
+
max_size: 1,
|
|
58
|
+
mime_type: this.content.mimeType,
|
|
59
|
+
user_id_type: 'uuid',
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarkAsCompleteComponent, deps: [{ token: i1.MatLegacyDialog }, { token: i2.WidgetContentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MarkAsCompleteComponent, selector: "ws-widget-mark-as-complete", inputs: { content: "content", forPreview: "forPreview" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.progress?.progressSupported && showStart.show\">\n <mat-card class=\"mb-4 block\">\n <h2 class=\"margin-remove-bottom\"><span >Learning Progress </span>\n <a i18n-aria-label aria-label=\"Learning Progress FAQ\" [routerLink]=\"'/app/info/faq'\"\n [queryParams]=\"{tab: 'mark_as_complete'}\">\n <mat-icon class=\"align-text-top ws-mat-primary-text\">help</mat-icon>\n </a>\n </h2>\n <h3><span >Status: </span>\n <ng-container *ngIf=\"content?.progress?.progressStatus; let status\">\n <span *ngIf=\"status === 'open'\">Open</span>\n <span *ngIf=\"status === 'started'\">Started</span>\n <span *ngIf=\"status === 'completed'\">Completed</span>\n </ng-container>\n </h3>\n <ng-container *ngIf=\"content?.progress?.markAsCompleteReason !== 'not.supported'\">\n <mat-divider></mat-divider>\n <!-- <ng-container *ngIf=\"content?.progress?.showMarkAsComplete\">\n <h4 class=\"pt-3\">I confirm that I have gone through this content and want to mark it as complete.</h4>\n <div class=\"flex justify-center\">\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">Mark as Complete</button>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"!content?.progress?.showMarkAsComplete\">\n <h4 class=\"pt-3\" *ngIf=\"content?.progress?.markAsCompleteReason; let msg\">\n <span *ngIf=\"msg === 'pass.required'\">Content will be marked as complete once you pass this\n assessment.</span>\n <span *ngIf=\"msg === 'submission.required'\">Content will be marked as complete once you submit this\n quiz/exercise.</span>\n <span i18n\n *ngIf=\"msg === 'external.vendor.provided' && content?.progress?.progressStatus !== 'completed'\">Your\n learning progress for this content is captured externally and will be updated in this portal once it is\n received.</span>\n <span i18n\n *ngIf=\"msg === 'external.vendor.provided' && content?.progress?.progressStatus === 'completed'\">Your\n progress was automatically captured from its source.</span>\n <span *ngIf=\"msg === 'has.children'\">This content is hierarchical. Progress will be calculated on the\n basis\n of children resources</span>\n <span *ngIf=\"msg === 'already.completed'\">Completed</span>\n <span *ngIf=\"msg === 'instructor.led'\">Progress will be calculated based on your classroom\n attendance.</span>\n </h4>\n </ng-container>\n </ng-container>\n </mat-card>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
68
|
+
}
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarkAsCompleteComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'ws-widget-mark-as-complete', template: "<ng-container *ngIf=\"content?.progress?.progressSupported && showStart.show\">\n <mat-card class=\"mb-4 block\">\n <h2 class=\"margin-remove-bottom\"><span >Learning Progress </span>\n <a i18n-aria-label aria-label=\"Learning Progress FAQ\" [routerLink]=\"'/app/info/faq'\"\n [queryParams]=\"{tab: 'mark_as_complete'}\">\n <mat-icon class=\"align-text-top ws-mat-primary-text\">help</mat-icon>\n </a>\n </h2>\n <h3><span >Status: </span>\n <ng-container *ngIf=\"content?.progress?.progressStatus; let status\">\n <span *ngIf=\"status === 'open'\">Open</span>\n <span *ngIf=\"status === 'started'\">Started</span>\n <span *ngIf=\"status === 'completed'\">Completed</span>\n </ng-container>\n </h3>\n <ng-container *ngIf=\"content?.progress?.markAsCompleteReason !== 'not.supported'\">\n <mat-divider></mat-divider>\n <!-- <ng-container *ngIf=\"content?.progress?.showMarkAsComplete\">\n <h4 class=\"pt-3\">I confirm that I have gone through this content and want to mark it as complete.</h4>\n <div class=\"flex justify-center\">\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">Mark as Complete</button>\n </div>\n </ng-container> -->\n <ng-container *ngIf=\"!content?.progress?.showMarkAsComplete\">\n <h4 class=\"pt-3\" *ngIf=\"content?.progress?.markAsCompleteReason; let msg\">\n <span *ngIf=\"msg === 'pass.required'\">Content will be marked as complete once you pass this\n assessment.</span>\n <span *ngIf=\"msg === 'submission.required'\">Content will be marked as complete once you submit this\n quiz/exercise.</span>\n <span i18n\n *ngIf=\"msg === 'external.vendor.provided' && content?.progress?.progressStatus !== 'completed'\">Your\n learning progress for this content is captured externally and will be updated in this portal once it is\n received.</span>\n <span i18n\n *ngIf=\"msg === 'external.vendor.provided' && content?.progress?.progressStatus === 'completed'\">Your\n progress was automatically captured from its source.</span>\n <span *ngIf=\"msg === 'has.children'\">This content is hierarchical. Progress will be calculated on the\n basis\n of children resources</span>\n <span *ngIf=\"msg === 'already.completed'\">Completed</span>\n <span *ngIf=\"msg === 'instructor.led'\">Progress will be calculated based on your classroom\n attendance.</span>\n </h4>\n </ng-container>\n </ng-container>\n </mat-card>\n</ng-container>" }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.MatLegacyDialog }, { type: i2.WidgetContentService }]; }, propDecorators: { content: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], forPreview: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay1hcy1jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9tYXJrLWFzLWNvbXBsZXRlL21hcmstYXMtY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vbWFyay1hcy1jb21wbGV0ZS9tYXJrLWFzLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxNQUFNLGVBQWUsQ0FBQTtBQUlsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTs7Ozs7Ozs7O0FBU25GLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFDUyxNQUFpQjtJQUN4QixvQ0FBb0M7SUFDNUIsVUFBZ0M7UUFGakMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUVoQixlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQUxqQyxlQUFVLEdBQUcsS0FBSyxDQUFBO0lBTXZCLENBQUM7SUFFTCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7Z0JBQ3pELEtBQUssRUFBRSxPQUFPO2dCQUNkLElBQUksRUFBRTtvQkFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU87b0JBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7aUJBQ25DO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDekMsSUFBSSxNQUFNLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO29CQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFBO29CQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUE7b0JBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixHQUFHLG1CQUFtQixDQUFBO2lCQUNqRTtZQUNILENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQTtRQUNyQixzREFBc0Q7SUFDeEQsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQzlCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3hCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtnQkFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTt3QkFDcEIsSUFBSSxDQUFDLFVBQVU7NkJBQ1osdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7NkJBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTs0QkFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7d0JBQ2xDLENBQUMsQ0FBQzs2QkFDRCxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUE7d0JBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUc7NEJBQ2IsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVzs0QkFDdEMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDOzRCQUNkLFFBQVEsRUFBRSxDQUFDOzRCQUNYLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7NEJBQ2hDLFlBQVksRUFBRSxNQUFNO3lCQUNyQixDQUFBO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7K0dBOURVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGlKQ2JwQywrbkZBOENlOzs0RkRqQ0YsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLDRCQUE0Qjt5SUFNdEMsT0FBTztzQkFETixLQUFLO2dCQUdHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZydcbi8vIGltcG9ydCB7IEFwcFRvY1NlcnZpY2UgfSBmcm9tICdAd3MvYXBwL3NyYy9saWIvcm91dGVzL2FwcC10b2Mvc2VydmljZXMvYXBwLXRvYy5zZXJ2aWNlJ1xuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi8uLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQubW9kZWwnXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50J1xuaW1wb3J0IHsgSVJlcU1hcmtBc0NvbXBsZXRlIH0gZnJvbSAnLi9tYXJrLWFzLWNvbXBsZXRlLm1vZGVsJ1xuaW1wb3J0IHsgV2lkZ2V0Q29udGVudFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3cy13aWRnZXQtbWFyay1hcy1jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrLWFzLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFyay1hcy1jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNYXJrQXNDb21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgY29udGVudCE6IE5zQ29udGVudC5JQ29udGVudFxuICByZXFCb2R5ITogSVJlcU1hcmtBc0NvbXBsZXRlXG4gIEBJbnB1dCgpIGZvclByZXZpZXcgPSBmYWxzZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAvLyBwcml2YXRlIGFwcFRvY1N2YzogQXBwVG9jU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRlbnRTdmM6IFdpZGdldENvbnRlbnRTZXJ2aWNlLFxuICApIHsgfVxuXG4gIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZvclByZXZpZXcpIHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICB3aWR0aDogJzQ1MHB4JyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGJvZHk6IHRoaXMucmVxQm9keSxcbiAgICAgICAgICBjb250ZW50SWQ6IHRoaXMuY29udGVudC5pZGVudGlmaWVyLFxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQgPT09ICdNYXJrZWQnICYmIHRoaXMuY29udGVudC5wcm9ncmVzcykge1xuICAgICAgICAgIHRoaXMuY29udGVudC5wcm9ncmVzcy5wcm9ncmVzc1N0YXR1cyA9ICdjb21wbGV0ZWQnXG4gICAgICAgICAgdGhpcy5jb250ZW50LnByb2dyZXNzLnNob3dNYXJrQXNDb21wbGV0ZSA9IGZhbHNlXG4gICAgICAgICAgdGhpcy5jb250ZW50LnByb2dyZXNzLm1hcmtBc0NvbXBsZXRlUmVhc29uID0gJ2FscmVhZHkuY29tcGxldGVkJ1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93U3RhcnQoKSB7XG4gICAgcmV0dXJuIHsgc2hvdzogdHJ1ZSB9XG4gICAgLy8gcmV0dXJuIHRoaXMuYXBwVG9jU3ZjLnNob3dTdGFydEJ1dHRvbih0aGlzLmNvbnRlbnQpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHByb3BzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgZm9yIChjb25zdCBwcm9wIGluIHByb3BzKSB7XG4gICAgICBpZiAocHJvcCA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuZm9yUHJldmlldykge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50U3ZjXG4gICAgICAgICAgICAgIC5mZXRjaE1hcmtBc0NvbXBsZXRlTWV0YSh0aGlzLmNvbnRlbnQuaWRlbnRpZmllcilcbiAgICAgICAgICAgICAgLnRoZW4ocHJvZ3Jlc3MgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudC5wcm9ncmVzcyA9IHByb2dyZXNzXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7IH0pXG4gICAgICAgICAgICB0aGlzLnJlcUJvZHkgPSB7XG4gICAgICAgICAgICAgIGNvbnRlbnRfdHlwZTogdGhpcy5jb250ZW50LmNvbnRlbnRUeXBlLFxuICAgICAgICAgICAgICBjdXJyZW50OiBbJzEnXSxcbiAgICAgICAgICAgICAgbWF4X3NpemU6IDEsXG4gICAgICAgICAgICAgIG1pbWVfdHlwZTogdGhpcy5jb250ZW50Lm1pbWVUeXBlLFxuICAgICAgICAgICAgICB1c2VyX2lkX3R5cGU6ICd1dWlkJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50Py5wcm9ncmVzcz8ucHJvZ3Jlc3NTdXBwb3J0ZWQgJiYgc2hvd1N0YXJ0LnNob3dcIj5cbiAgPG1hdC1jYXJkIGNsYXNzPVwibWItNCBibG9ja1wiPlxuICAgIDxoMiBjbGFzcz1cIm1hcmdpbi1yZW1vdmUtYm90dG9tXCI+PHNwYW4gPkxlYXJuaW5nIFByb2dyZXNzIDwvc3Bhbj5cbiAgICAgIDxhIGkxOG4tYXJpYS1sYWJlbCBhcmlhLWxhYmVsPVwiTGVhcm5pbmcgUHJvZ3Jlc3MgRkFRXCIgW3JvdXRlckxpbmtdPVwiJy9hcHAvaW5mby9mYXEnXCJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInt0YWI6ICdtYXJrX2FzX2NvbXBsZXRlJ31cIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWxpZ24tdGV4dC10b3Agd3MtbWF0LXByaW1hcnktdGV4dFwiPmhlbHA8L21hdC1pY29uPlxuICAgICAgPC9hPlxuICAgIDwvaDI+XG4gICAgPGgzPjxzcGFuID5TdGF0dXM6IDwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50Py5wcm9ncmVzcz8ucHJvZ3Jlc3NTdGF0dXM7IGxldCBzdGF0dXNcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXMgPT09ICdvcGVuJ1wiPk9wZW48L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic3RhdHVzID09PSAnc3RhcnRlZCdcIj5TdGFydGVkPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInN0YXR1cyA9PT0gJ2NvbXBsZXRlZCdcIj5Db21wbGV0ZWQ8L3NwYW4+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2gzPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50Py5wcm9ncmVzcz8ubWFya0FzQ29tcGxldGVSZWFzb24gIT09ICdub3Quc3VwcG9ydGVkJ1wiPlxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50Py5wcm9ncmVzcz8uc2hvd01hcmtBc0NvbXBsZXRlXCI+XG4gICAgICAgIDxoNCBjbGFzcz1cInB0LTNcIj5JIGNvbmZpcm0gdGhhdCBJIGhhdmUgZ29uZSB0aHJvdWdoIHRoaXMgY29udGVudCBhbmQgd2FudCB0byBtYXJrIGl0IGFzIGNvbXBsZXRlLjwvaDQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybSgpXCI+TWFyayBhcyBDb21wbGV0ZTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29udGVudD8ucHJvZ3Jlc3M/LnNob3dNYXJrQXNDb21wbGV0ZVwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJwdC0zXCIgKm5nSWY9XCJjb250ZW50Py5wcm9ncmVzcz8ubWFya0FzQ29tcGxldGVSZWFzb247IGxldCBtc2dcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZyA9PT0gJ3Bhc3MucmVxdWlyZWQnXCI+Q29udGVudCB3aWxsIGJlIG1hcmtlZCBhcyBjb21wbGV0ZSBvbmNlIHlvdSBwYXNzIHRoaXNcbiAgICAgICAgICAgIGFzc2Vzc21lbnQuPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwibXNnID09PSAnc3VibWlzc2lvbi5yZXF1aXJlZCdcIj5Db250ZW50IHdpbGwgYmUgbWFya2VkIGFzIGNvbXBsZXRlIG9uY2UgeW91IHN1Ym1pdCB0aGlzXG4gICAgICAgICAgICBxdWl6L2V4ZXJjaXNlLjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBpMThuXG4gICAgICAgICAgICAqbmdJZj1cIm1zZyA9PT0gJ2V4dGVybmFsLnZlbmRvci5wcm92aWRlZCcgJiYgY29udGVudD8ucHJvZ3Jlc3M/LnByb2dyZXNzU3RhdHVzICE9PSAnY29tcGxldGVkJ1wiPllvdXJcbiAgICAgICAgICAgIGxlYXJuaW5nIHByb2dyZXNzIGZvciB0aGlzIGNvbnRlbnQgaXMgY2FwdHVyZWQgZXh0ZXJuYWxseSBhbmQgd2lsbCBiZSB1cGRhdGVkIGluIHRoaXMgcG9ydGFsIG9uY2UgaXQgaXNcbiAgICAgICAgICAgIHJlY2VpdmVkLjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBpMThuXG4gICAgICAgICAgICAqbmdJZj1cIm1zZyA9PT0gJ2V4dGVybmFsLnZlbmRvci5wcm92aWRlZCcgJiYgY29udGVudD8ucHJvZ3Jlc3M/LnByb2dyZXNzU3RhdHVzID09PSAnY29tcGxldGVkJ1wiPllvdXJcbiAgICAgICAgICAgIHByb2dyZXNzIHdhcyBhdXRvbWF0aWNhbGx5IGNhcHR1cmVkIGZyb20gaXRzIHNvdXJjZS48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJtc2cgPT09ICdoYXMuY2hpbGRyZW4nXCI+VGhpcyBjb250ZW50IGlzIGhpZXJhcmNoaWNhbC4gUHJvZ3Jlc3Mgd2lsbCBiZSBjYWxjdWxhdGVkIG9uIHRoZVxuICAgICAgICAgICAgYmFzaXNcbiAgICAgICAgICAgIG9mIGNoaWxkcmVuIHJlc291cmNlczwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZyA9PT0gJ2FscmVhZHkuY29tcGxldGVkJ1wiPkNvbXBsZXRlZDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZyA9PT0gJ2luc3RydWN0b3IubGVkJ1wiPlByb2dyZXNzIHdpbGwgYmUgY2FsY3VsYXRlZCBiYXNlZCBvbiB5b3VyIGNsYXNzcm9vbVxuICAgICAgICAgICAgYXR0ZW5kYW5jZS48L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtY2FyZD5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay1hcy1jb21wbGV0ZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9fY29tbW9uL21hcmstYXMtY29tcGxldGUvbWFyay1hcy1jb21wbGV0ZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi8uLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcU1hcmtBc0NvbXBsZXRlIHtcbiAgY29udGVudF90eXBlOiBOc0NvbnRlbnQuRUNvbnRlbnRUeXBlcyxcbiAgY3VycmVudDogWycxJ10sXG4gIG1heF9zaXplOiAxLFxuICBtaW1lX3R5cGU6IE5zQ29udGVudC5FTWltZVR5cGVzLFxuICB1c2VyX2lkX3R5cGU6ICd1dWlkJyxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MarkAsCompleteComponent } from './mark-as-complete.component';
|
|
4
|
+
import { ConfirmDialogModule } from '../confirm-dialog/confirm-dialog.module';
|
|
5
|
+
import { RouterModule } from '@angular/router';
|
|
6
|
+
import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
|
|
7
|
+
import { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';
|
|
8
|
+
import { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';
|
|
9
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
10
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
11
|
+
import { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';
|
|
12
|
+
import { MatLegacySnackBarModule as MatSnackBarModule } from '@angular/material/legacy-snack-bar';
|
|
13
|
+
import { MatLegacyTooltipModule as MatTooltipModule } from '@angular/material/legacy-tooltip';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
// import { AppTocService } from '@ws/app/src/lib/routes/app-toc/services/app-toc.service'
|
|
16
|
+
export class MarkAsCompleteModule {
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarkAsCompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: MarkAsCompleteModule, declarations: [MarkAsCompleteComponent], imports: [CommonModule,
|
|
19
|
+
MatCardModule,
|
|
20
|
+
MatIconModule,
|
|
21
|
+
MatDividerModule,
|
|
22
|
+
MatButtonModule,
|
|
23
|
+
MatDialogModule,
|
|
24
|
+
MatProgressSpinnerModule,
|
|
25
|
+
MatSnackBarModule,
|
|
26
|
+
MatTooltipModule,
|
|
27
|
+
RouterModule,
|
|
28
|
+
ConfirmDialogModule], exports: [MarkAsCompleteComponent] }); }
|
|
29
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarkAsCompleteModule, imports: [CommonModule,
|
|
30
|
+
MatCardModule,
|
|
31
|
+
MatIconModule,
|
|
32
|
+
MatDividerModule,
|
|
33
|
+
MatButtonModule,
|
|
34
|
+
MatDialogModule,
|
|
35
|
+
MatProgressSpinnerModule,
|
|
36
|
+
MatSnackBarModule,
|
|
37
|
+
MatTooltipModule,
|
|
38
|
+
RouterModule,
|
|
39
|
+
ConfirmDialogModule] }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MarkAsCompleteModule, decorators: [{
|
|
42
|
+
type: NgModule,
|
|
43
|
+
args: [{
|
|
44
|
+
declarations: [MarkAsCompleteComponent],
|
|
45
|
+
imports: [
|
|
46
|
+
CommonModule,
|
|
47
|
+
MatCardModule,
|
|
48
|
+
MatIconModule,
|
|
49
|
+
MatDividerModule,
|
|
50
|
+
MatButtonModule,
|
|
51
|
+
MatDialogModule,
|
|
52
|
+
MatProgressSpinnerModule,
|
|
53
|
+
MatSnackBarModule,
|
|
54
|
+
MatTooltipModule,
|
|
55
|
+
RouterModule,
|
|
56
|
+
ConfirmDialogModule,
|
|
57
|
+
],
|
|
58
|
+
exports: [MarkAsCompleteComponent]
|
|
59
|
+
}]
|
|
60
|
+
}] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay1hcy1jb21wbGV0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9tYXJrLWFzLWNvbXBsZXRlL21hcmstYXMtY29tcGxldGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUscUJBQXFCLElBQUksZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3BGLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLDhCQUE4QixJQUFJLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDdEgsT0FBTyxFQUFFLHVCQUF1QixJQUFJLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixJQUFJLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7O0FBQzdGLDBGQUEwRjtBQW1CMUYsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBaEJkLHVCQUF1QixhQUVsQyxZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGVBQWU7WUFDZix3QkFBd0I7WUFDeEIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osbUJBQW1CLGFBRWIsdUJBQXVCO2dIQUV4QixvQkFBb0IsWUFkekIsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLG1CQUFtQjs7NEZBSWQsb0JBQW9CO2tCQWpCaEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXJrQXNDb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vbWFyay1hcy1jb21wbGV0ZS5jb21wb25lbnQnXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cubW9kdWxlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgTWF0TGVnYWN5QnV0dG9uTW9kdWxlIGFzIE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1idXR0b24nXG5pbXBvcnQgeyBNYXRMZWdhY3lDYXJkTW9kdWxlIGFzIE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY2FyZCdcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZ01vZHVsZSBhcyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJ1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdExlZ2FjeVByb2dyZXNzU3Bpbm5lck1vZHVsZSBhcyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcHJvZ3Jlc3Mtc3Bpbm5lcidcbmltcG9ydCB7IE1hdExlZ2FjeVNuYWNrQmFyTW9kdWxlIGFzIE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXNuYWNrLWJhcidcbmltcG9ydCB7IE1hdExlZ2FjeVRvb2x0aXBNb2R1bGUgYXMgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10b29sdGlwJ1xuLy8gaW1wb3J0IHsgQXBwVG9jU2VydmljZSB9IGZyb20gJ0B3cy9hcHAvc3JjL2xpYi9yb3V0ZXMvYXBwLXRvYy9zZXJ2aWNlcy9hcHAtdG9jLnNlcnZpY2UnXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTWFya0FzQ29tcGxldGVDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgICAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBDb25maXJtRGlhbG9nTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW01hcmtBc0NvbXBsZXRlQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBNYXJrQXNDb21wbGV0ZU1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { PipeContentRoutePipe } from './pipe-content-route.pipe';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class PipeContentRouteModule {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRouteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRouteModule, declarations: [PipeContentRoutePipe], imports: [CommonModule], exports: [PipeContentRoutePipe] }); }
|
|
8
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRouteModule, imports: [CommonModule] }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRouteModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [PipeContentRoutePipe],
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
],
|
|
17
|
+
exports: [PipeContentRoutePipe],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1jb250ZW50LXJvdXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9fY29tbW9uL3BpcGUtY29udGVudC1yb3V0ZS9waXBlLWNvbnRlbnQtcm91dGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBOztBQVNoRSxNQUFNLE9BQU8sc0JBQXNCOytHQUF0QixzQkFBc0I7Z0hBQXRCLHNCQUFzQixpQkFObEIsb0JBQW9CLGFBRWpDLFlBQVksYUFFSixvQkFBb0I7Z0hBRW5CLHNCQUFzQixZQUovQixZQUFZOzs0RkFJSCxzQkFBc0I7a0JBUGxDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFBpcGVDb250ZW50Um91dGVQaXBlIH0gZnJvbSAnLi9waXBlLWNvbnRlbnQtcm91dGUucGlwZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUGlwZUNvbnRlbnRSb3V0ZVBpcGVdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbUGlwZUNvbnRlbnRSb3V0ZVBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBQaXBlQ29udGVudFJvdXRlTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Pipe, Injectable } from '@angular/core';
|
|
2
|
+
import { NsContent } from '../../../_services/widget-content.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class PipeContentRoutePipe {
|
|
5
|
+
constructor() { }
|
|
6
|
+
transform(content, forPreview = false) {
|
|
7
|
+
// commercial_begin
|
|
8
|
+
const location = forPreview ? '/public' : '/app';
|
|
9
|
+
// commercial_end
|
|
10
|
+
if (content.contentType === 'Knowledge Board') {
|
|
11
|
+
return {
|
|
12
|
+
url: forPreview
|
|
13
|
+
? `${location}/toc/${content.identifier}/overview`
|
|
14
|
+
: `${location}/knowledge-board/${content.identifier}`,
|
|
15
|
+
queryParams: this.getQueryParams(),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
if (content.primaryCategory === NsContent.EPrimaryCategory.CHANNEL) {
|
|
19
|
+
return {
|
|
20
|
+
url: `/${forPreview ? 'author/viewer/channel' : 'page'}/${content.identifier}`,
|
|
21
|
+
queryParams: this.getQueryParams(),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (content.contentType === 'Learning Journeys') {
|
|
25
|
+
if (content.resourceType === 'Dynamic Learning Paths') {
|
|
26
|
+
return {
|
|
27
|
+
url: `/app/learning-journey/dlp/${content.identifier}/0`,
|
|
28
|
+
queryParams: this.getQueryParams(),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
url: `/app/learning-journey/cdp/${content.identifier}`,
|
|
33
|
+
queryParams: this.getQueryParams(),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (content.continueLearningData
|
|
37
|
+
&& content.continueLearningData.contextType === 'playlist'
|
|
38
|
+
&& content.continueLearningData.contextPathId) {
|
|
39
|
+
return {
|
|
40
|
+
url: `/app/playlist/me/${content.continueLearningData.contextPathId}`,
|
|
41
|
+
queryParams: this.getQueryParams(),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (content.planType === 'cbPlan') {
|
|
45
|
+
return {
|
|
46
|
+
url: `${location}/toc/${content.identifier}/overview`,
|
|
47
|
+
queryParams: { planType: 'cbPlan', endDate: content.endDate },
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
url: `${location}/toc/${content.identifier}/overview`,
|
|
52
|
+
queryParams: this.getQueryParams(),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
getQueryParams() {
|
|
56
|
+
return {};
|
|
57
|
+
}
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRoutePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
59
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRoutePipe, name: "pipeContentRoute" }); }
|
|
60
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRoutePipe, providedIn: 'root' }); }
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PipeContentRoutePipe, decorators: [{
|
|
63
|
+
type: Injectable,
|
|
64
|
+
args: [{
|
|
65
|
+
providedIn: 'root'
|
|
66
|
+
}]
|
|
67
|
+
}, {
|
|
68
|
+
type: Pipe,
|
|
69
|
+
args: [{
|
|
70
|
+
name: 'pipeContentRoute',
|
|
71
|
+
}]
|
|
72
|
+
}], ctorParameters: function () { return []; } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS1jb250ZW50LXJvdXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9waXBlLWNvbnRlbnQtcm91dGUvcGlwZS1jb250ZW50LXJvdXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTs7QUFPbkUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixnQkFBZ0IsQ0FBQztJQUVqQixTQUFTLENBQ1AsT0FBMkIsRUFDM0IsVUFBVSxHQUFHLEtBQUs7UUFFbEIsbUJBQW1CO1FBQ25CLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFDaEQsaUJBQWlCO1FBQ2pCLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxpQkFBaUIsRUFBRTtZQUM3QyxPQUFPO2dCQUNMLEdBQUcsRUFBRSxVQUFVO29CQUNiLENBQUMsQ0FBQyxHQUFHLFFBQVEsUUFBUSxPQUFPLENBQUMsVUFBVSxXQUFXO29CQUNsRCxDQUFDLENBQUMsR0FBRyxRQUFRLG9CQUFvQixPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUN2RCxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTthQUNuQyxDQUFBO1NBQ0Y7UUFDRCxJQUFJLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRTtZQUNsRSxPQUFPO2dCQUNMLEdBQUcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUM5RSxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTthQUNuQyxDQUFBO1NBQ0Y7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssbUJBQW1CLEVBQUU7WUFDL0MsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLHdCQUF3QixFQUFFO2dCQUNyRCxPQUFPO29CQUNMLEdBQUcsRUFBRSw2QkFBNkIsT0FBTyxDQUFDLFVBQVUsSUFBSTtvQkFDeEQsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7aUJBQ25DLENBQUE7YUFDRjtZQUNELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLDZCQUE2QixPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUN0RCxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTthQUNuQyxDQUFBO1NBQ0Y7UUFDRCxJQUFJLE9BQU8sQ0FBQyxvQkFBb0I7ZUFDM0IsT0FBTyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsS0FBSyxVQUFVO2VBQ3ZELE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUU7WUFDL0MsT0FBTztnQkFDTCxHQUFHLEVBQUUsb0JBQW9CLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUU7Z0JBQ3JFLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO2FBQ25DLENBQUE7U0FDRjtRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDakMsT0FBTztnQkFDTCxHQUFHLEVBQUUsR0FBRyxRQUFRLFFBQVEsT0FBTyxDQUFDLFVBQVUsV0FBVztnQkFDckQsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRTthQUM5RCxDQUFBO1NBQ0Y7UUFDRCxPQUFPO1lBQ0wsR0FBRyxFQUFFLEdBQUcsUUFBUSxRQUFRLE9BQU8sQ0FBQyxVQUFVLFdBQVc7WUFDckQsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7U0FDbkMsQ0FBQTtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQzsrR0ExRFUsb0JBQW9COzZHQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUxuQixNQUFNOzs0RkFLUCxvQkFBb0I7a0JBTmhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztrQkFDQSxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQubW9kZWwnXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbkBQaXBlKHtcbiAgbmFtZTogJ3BpcGVDb250ZW50Um91dGUnLFxufSlcbmV4cG9ydCBjbGFzcyBQaXBlQ29udGVudFJvdXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHRyYW5zZm9ybShcbiAgICBjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQsXG4gICAgZm9yUHJldmlldyA9IGZhbHNlLFxuICApOiB7IHVybDogc3RyaW5nOyBxdWVyeVBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9IHtcbiAgICAvLyBjb21tZXJjaWFsX2JlZ2luXG4gICAgY29uc3QgbG9jYXRpb24gPSBmb3JQcmV2aWV3ID8gJy9wdWJsaWMnIDogJy9hcHAnXG4gICAgLy8gY29tbWVyY2lhbF9lbmRcbiAgICBpZiAoY29udGVudC5jb250ZW50VHlwZSA9PT0gJ0tub3dsZWRnZSBCb2FyZCcpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogZm9yUHJldmlld1xuICAgICAgICAgID8gYCR7bG9jYXRpb259L3RvYy8ke2NvbnRlbnQuaWRlbnRpZmllcn0vb3ZlcnZpZXdgXG4gICAgICAgICAgOiBgJHtsb2NhdGlvbn0va25vd2xlZGdlLWJvYXJkLyR7Y29udGVudC5pZGVudGlmaWVyfWAsXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmdldFF1ZXJ5UGFyYW1zKCksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuQ0hBTk5FTCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXJsOiBgLyR7Zm9yUHJldmlldyA/ICdhdXRob3Ivdmlld2VyL2NoYW5uZWwnIDogJ3BhZ2UnfS8ke2NvbnRlbnQuaWRlbnRpZmllcn1gLFxuICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5nZXRRdWVyeVBhcmFtcygpLFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY29udGVudC5jb250ZW50VHlwZSA9PT0gJ0xlYXJuaW5nIEpvdXJuZXlzJykge1xuICAgICAgaWYgKGNvbnRlbnQucmVzb3VyY2VUeXBlID09PSAnRHluYW1pYyBMZWFybmluZyBQYXRocycpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB1cmw6IGAvYXBwL2xlYXJuaW5nLWpvdXJuZXkvZGxwLyR7Y29udGVudC5pZGVudGlmaWVyfS8wYCxcbiAgICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5nZXRRdWVyeVBhcmFtcygpLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cmw6IGAvYXBwL2xlYXJuaW5nLWpvdXJuZXkvY2RwLyR7Y29udGVudC5pZGVudGlmaWVyfWAsXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmdldFF1ZXJ5UGFyYW1zKCksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjb250ZW50LmNvbnRpbnVlTGVhcm5pbmdEYXRhXG4gICAgICAmJiBjb250ZW50LmNvbnRpbnVlTGVhcm5pbmdEYXRhLmNvbnRleHRUeXBlID09PSAncGxheWxpc3QnXG4gICAgICAmJiBjb250ZW50LmNvbnRpbnVlTGVhcm5pbmdEYXRhLmNvbnRleHRQYXRoSWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogYC9hcHAvcGxheWxpc3QvbWUvJHtjb250ZW50LmNvbnRpbnVlTGVhcm5pbmdEYXRhLmNvbnRleHRQYXRoSWR9YCxcbiAgICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbnRlbnQucGxhblR5cGUgPT09ICdjYlBsYW4nKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cmw6IGAke2xvY2F0aW9ufS90b2MvJHtjb250ZW50LmlkZW50aWZpZXJ9L292ZXJ2aWV3YCxcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgcGxhblR5cGU6ICdjYlBsYW4nLCBlbmREYXRlOiBjb250ZW50LmVuZERhdGUgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogYCR7bG9jYXRpb259L3RvYy8ke2NvbnRlbnQuaWRlbnRpZmllcn0vb3ZlcnZpZXdgLFxuICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXJ5UGFyYW1zKCkge1xuICAgIHJldHVybiB7fVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@sunbird-cb/utils-v2";
|
|
4
|
+
import * as i2 from "@angular/router";
|
|
5
|
+
import * as i3 from "../../../_services/widget-content.service";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "../display-content-type/display-content-type.component";
|
|
8
|
+
import * as i6 from "@angular/material/divider";
|
|
9
|
+
import * as i7 from "@angular/material/legacy-chips";
|
|
10
|
+
import * as i8 from "@angular/material/icon";
|
|
11
|
+
import * as i9 from "@angular/material/legacy-card";
|
|
12
|
+
import * as i10 from "../user-image/user-image.component";
|
|
13
|
+
import * as i11 from "@angular/material/legacy-button";
|
|
14
|
+
import * as i12 from "../mark-as-complete/mark-as-complete.component";
|
|
15
|
+
import * as i13 from "@ngx-translate/core";
|
|
16
|
+
export class PlayerBriefComponent {
|
|
17
|
+
constructor(configSvc, utilitySvc, router, widgetContentSvc, langtranslations) {
|
|
18
|
+
this.configSvc = configSvc;
|
|
19
|
+
this.utilitySvc = utilitySvc;
|
|
20
|
+
this.router = router;
|
|
21
|
+
this.widgetContentSvc = widgetContentSvc;
|
|
22
|
+
this.langtranslations = langtranslations;
|
|
23
|
+
this.content = null;
|
|
24
|
+
this.hasTocStructure = false;
|
|
25
|
+
this.tocStructure = null;
|
|
26
|
+
this.isPreviewMode = false;
|
|
27
|
+
this.forPreview = false;
|
|
28
|
+
this.askAuthorEnabled = false;
|
|
29
|
+
this.tocConfig = null;
|
|
30
|
+
this.showMoreGlance = false;
|
|
31
|
+
this.isDownloadableDesktop = false;
|
|
32
|
+
this.isDownloadableIos = false;
|
|
33
|
+
this.isDownloadableAndroid = false;
|
|
34
|
+
}
|
|
35
|
+
ngOnInit() {
|
|
36
|
+
this.getTocConfig();
|
|
37
|
+
if (this.configSvc.restrictedFeatures) {
|
|
38
|
+
this.isDownloadableIos = this.configSvc.restrictedFeatures.has('iosDownload');
|
|
39
|
+
this.isDownloadableAndroid = this.configSvc.restrictedFeatures.has('androidDownload');
|
|
40
|
+
this.isDownloadableDesktop = this.configSvc.restrictedFeatures.has('downloadRequest');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get isDownloadable() {
|
|
44
|
+
if (this.configSvc.instanceConfig &&
|
|
45
|
+
this.configSvc.instanceConfig.isDownloadableSource &&
|
|
46
|
+
this.configSvc.instanceConfig.isDownloadableAndroidResource &&
|
|
47
|
+
this.content &&
|
|
48
|
+
this.content.sourceName &&
|
|
49
|
+
this.configSvc.instanceConfig.isDownloadableIosResource &&
|
|
50
|
+
Object.keys(this.configSvc.instanceConfig.isDownloadableSource).includes(this.content.sourceName.toLowerCase())) {
|
|
51
|
+
const sourceShortName = this.content.sourceName || '';
|
|
52
|
+
// tslint:disable-next-line:max-line-length
|
|
53
|
+
if (!this.utilitySvc.isMobile &&
|
|
54
|
+
!this.isDownloadableDesktop &&
|
|
55
|
+
this.configSvc.instanceConfig.isDownloadableSource[sourceShortName.toLowerCase()].includes(this.content.resourceType.toLowerCase())) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
if (this.utilitySvc.isIos &&
|
|
59
|
+
!this.isDownloadableIos &&
|
|
60
|
+
// tslint:disable-next-line: ter-computed-property-spacing
|
|
61
|
+
this.configSvc.instanceConfig.isDownloadableIosResource[sourceShortName.toLowerCase()
|
|
62
|
+
// tslint:disable-next-line: ter-computed-property-spacing
|
|
63
|
+
].includes(this.content.resourceType.toLowerCase())) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
if (this.utilitySvc.isAndroid &&
|
|
67
|
+
!this.isDownloadableAndroid &&
|
|
68
|
+
// tslint:disable-next-line: ter-computed-property-spacing
|
|
69
|
+
this.configSvc.instanceConfig.isDownloadableAndroidResource[sourceShortName.toLowerCase()
|
|
70
|
+
// tslint:disable-next-line: ter-computed-property-spacing
|
|
71
|
+
].includes(this.content.resourceType.toLowerCase())) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
goToContent(id) {
|
|
79
|
+
this.router.navigate([`/app/toc/${id}/overview`]);
|
|
80
|
+
}
|
|
81
|
+
getViewCount(content) {
|
|
82
|
+
if (content && this.configSvc.rootOrg && content.viewCount) {
|
|
83
|
+
return content.viewCount[this.configSvc.rootOrg];
|
|
84
|
+
}
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
getTocConfig() {
|
|
88
|
+
const url = `${this.configSvc.sitePath}/feature/toc.json`;
|
|
89
|
+
this.widgetContentSvc.fetchConfig(url).subscribe(data => {
|
|
90
|
+
this.tocConfig = data;
|
|
91
|
+
this.widgetContentSvc.updateTocConfig(data);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
download() {
|
|
95
|
+
if (this.content && !this.forPreview) {
|
|
96
|
+
const link = document.createElement('a');
|
|
97
|
+
link.download = this.content.name;
|
|
98
|
+
link.target = '_self';
|
|
99
|
+
// Construct the URI
|
|
100
|
+
link.href = this.content.artifactUrl || '';
|
|
101
|
+
document.body.appendChild(link);
|
|
102
|
+
link.click();
|
|
103
|
+
// Cleanup the DOM
|
|
104
|
+
document.body.removeChild(link);
|
|
105
|
+
}
|
|
106
|
+
// delete link;
|
|
107
|
+
}
|
|
108
|
+
parseJsonData(s) {
|
|
109
|
+
try {
|
|
110
|
+
const parsedString = JSON.parse(s);
|
|
111
|
+
return parsedString;
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
translateLabels(label, type) {
|
|
118
|
+
return this.langtranslations.translateLabel(label, type, '');
|
|
119
|
+
}
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlayerBriefComponent, deps: [{ token: i1.ConfigurationsService }, { token: i1.UtilityService }, { token: i2.Router }, { token: i3.WidgetContentService }, { token: i1.MultilingualTranslationsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PlayerBriefComponent, selector: "ws-widget-player-brief", inputs: { content: "content", hasTocStructure: "hasTocStructure", tocStructure: "tocStructure", isPreviewMode: "isPreviewMode", forPreview: "forPreview", askAuthorEnabled: "askAuthorEnabled" }, ngImport: i0, template: "<div class=\"md:px-2\">\n <ws-widget-mark-as-complete [forPreview]=\"forPreview\" [content]=\"content\"></ws-widget-mark-as-complete>\n <ng-container *ngIf=\"content && isDownloadable\">\n <mat-card class=\"mb-4\">\n <button mat-button color=\"primary\" (click)=\"download()\">\n <mat-icon>cloud_download</mat-icon>\n <span class=\"px-2\">{{ 'apptochome.download' | translate }}</span>\n </button>\n </mat-card>\n </ng-container>\n <mat-card class=\"ws-mat-primary-lite-background-on-day ws-mat-primary-border-top-bolder info-container\">\n <h2 >{{ 'apptochome.atGlance' | translate }}</h2>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.displayContentType?.enabled && content?.displayContentType\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.displayContentType?.displayName, 'apptoc') }}</h3>\n <ws-widget-display-content-type *ngIf=\"content?.contentType !== contentTypes.RESOURCE\"\n class=\"ws-mat-accent-text width-expand mat-body-strong\" [displayContentType]=\"content?.displayContentType\">\n </ws-widget-display-content-type>\n <div *ngIf=\"content?.contentType === contentTypes.RESOURCE\"\n class=\"ws-mat-accent-text width-expand mat-body-strong\">\n {{ content?.resourceType }}\n </div>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.displayContentType?.enabled && content?.displayContentType\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.complexityLevel?.enabled && content?.complexityLevel\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.complexityLevel?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.complexityLevel }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.complexityLevel?.enabled && content?.complexityLevel\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.duration?.enabled && content?.duration\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.duration?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.duration | pipeDurationTransform: 'hms' }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.duration?.enabled && content?.duration\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.cost?.enabled\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.cost?.displayName, 'apptoc') }}</h3>\n <h3 *ngIf=\"content?.exclusiveContent\" class=\"ws-mat-accent-text width-expand\">{{'apptochome.paidContent' | translate}}</h3>\n <h3 *ngIf=\"!content?.exclusiveContent\" class=\"ws-mat-accent-text width-expand\">{{'apptochome.free' | translate}}</h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.cost?.enabled\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.viewCount?.enabled && content?.viewCount && configSvc?.rootOrg\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.viewCount?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ getViewCount(content) | pipeCountTransform }}\n <ng-container *ngIf=\"content?.uniqueLearners\">\n ({{ content?.uniqueLearners | pipeCountTransform }}\n <ng-container >Unique)</ng-container>\n </ng-container>\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.viewCount?.enabled && content?.viewCount && configSvc?.rootOrg\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.sourceShortName?.enabled && content?.sourceShortName\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.sourceShortName?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.sourceShortName }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.sourceShortName?.enabled && content?.sourceShortName\"></mat-divider>\n <!-- Structure -->\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.structure?.enabled && hasTocStructure && content?.children?.length\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.structure?.displayName, 'apptoc') }}</h3>\n <div class=\"ws-mat-accent-text width-expand\">\n <h3 *ngIf=\"tocStructure?.course > 0\">\n <ng-container>{{ tocStructure?.course }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.course === 1\" > {{'apptochome.course1' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.course > 1\" > {{'apptochome.courses1' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.learningModule > 0\">\n <ng-container>{{ tocStructure?.learningModule }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.learningModule === 1\" > {{'apptochome.module' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.learningModule > 1\" > {{'apptochome.modules' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.video > 0\">\n <ng-container>{{ tocStructure?.video }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.video === 1\" > {{'apptochome.video' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.video > 1\" > {{'apptochome.videos' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.interactiveVideo > 0\">\n <ng-container>{{ tocStructure?.interactiveVideo }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.interactiveVideo === 1\" >\n {{'playerbrief.interactiveVideo' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.interactiveVideo > 1\" >\n {{'playerbrief.interactiveVideos' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.youtube > 0\">\n <ng-container>{{ tocStructure?.youtube }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.youtube === 1\" > {{'playerbrief.youtubeVideo' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.youtube > 1\" > {{'playerbrief.youtubeVideos' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.pdf > 0\">\n <ng-container>{{ tocStructure?.pdf }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.pdf === 1\" > {{'apptochome.pdf' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.pdf > 1\" > {{'apptochome.pdfs' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.podcast > 0\">\n <ng-container>{{ tocStructure?.podcast }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.podcast === 1\" > {{'playerbrief.podcast' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.podcast > 1\" > {{'playerbrief.podcasts' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.webModule > 0\">\n <ng-container>{{ tocStructure?.webModule }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webModule === 1\" > {{'playerbrief.webModule' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webModule > 1\" > {{'playerbrief.webModules' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.webPage > 0\">\n <ng-container>{{ tocStructure?.webPage }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webPage === 1\" > {{'apptochome.webPage' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webPage > 1\" > {{'apptochome.webPages' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.quiz > 0\">\n <ng-container>{{ tocStructure?.quiz }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.quiz === 1\" > {{'playerbrief.quiz' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.quiz > 1\" > {{'playerbrief.quizzes' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.assessment > 0\">\n <ng-container>{{ tocStructure?.assessment }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.assessment === 1\" > {{'apptochome.assessment' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.assessment > 1\" > {{'apptochome.assessments' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.other > 0\">\n <ng-container>{{ tocStructure?.other }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.other === 1\" > {{'apptochome.otherItem' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.other > 1\" > {{'apptochome.otherItems' | translate}}</ng-container>\n </h3>\n </div>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.structure?.enabled && hasTocStructure && content?.children?.length\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.lastUpdatedOn?.enabled && content?.lastUpdatedOn\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.lastUpdatedOn?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.lastUpdatedOn | date }}\n </h3>\n </div>\n <ng-container *ngIf=\"showMoreGlance\">\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.lastUpdatedOn?.enabled && content?.lastUpdatedOn\"></mat-divider>\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.expiryDate?.enabled && content?.expiryDate && content?.expiryDate?.startsWith('20')\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.expiryDate?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.expiryDate | date }}\n </h3>\n </div>\n <mat-divider\n *ngIf=\"tocConfig?.atAGlance?.expiryDate?.enabled && content?.expiryDate && content?.expiryDate?.startsWith('20')\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.learningMode?.enabled && content?.learningMode\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.learningMode?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.learningMode }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.learningMode?.enabled && content?.learningMode\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.region?.enabled && content?.region?.length\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.region?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.region }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.region?.enabled && content?.region?.length\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.locale?.enabled && content?.locale\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.locale?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.locale | uppercase }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.locale?.enabled && content?.locale\"></mat-divider>\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.hasTranslations?.enabled && (content?.hasTranslations?.length || content?.isTranslationOf?.length)\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{tocConfig?.atAGlance?.hasTranslations?.displayName}}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n <span class=\"cursor-pointer\" (click)=\"goToContent(trans?.identifier)\"\n *ngFor=\"let trans of content?.hasTranslations || content?.isTranslationOf\">{{ trans.locale | uppercase }}\n </span>\n </h3>\n </div>\n <mat-divider\n *ngIf=\"tocConfig?.atAGlance?.hasTranslations?.enabled && (content?.hasTranslations?.length || content?.isTranslationOf?.length)\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.keywords?.enabled && content?.keywords?.length\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{tocConfig?.atAGlance?.keywords?.displayName}}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.keywords?.join(', ') }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.keywords?.enabled && content?.keywords?.length\"></mat-divider>\n <ng-container *ngFor=\"let item of content?.collections\">\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.curatedInKB?.enabled && item.contentType === 'Knowledge Board' && item.status === 'Live'\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{tocConfig?.atAGlance?.curatedInKB?.displayName}}</h3>\n <mat-chip-list>\n <mat-chip>\n <h3 class=\"ws-mat-accent-text width-expand\">\n <ng-container *ngIf=\"item.contentType === 'Knowledge Board' && item.status === 'Live'\">\n <a [href]=\"'/app/toc/' + item.identifier + '/overview?primaryCategory='+ item.primaryCategory \"> {{\n item.name }} </a>\n </ng-container>\n </h3>\n </mat-chip>\n </mat-chip-list>\n </div>\n </ng-container>\n <mat-divider></mat-divider>\n </ng-container>\n <div class=\"text-right mt-2\">\n <button mat-button (click)=\"showMoreGlance = !showMoreGlance\">\n <mat-icon>{{ !showMoreGlance ? 'arrow_drop_down' : 'arrow_drop_up' }}</mat-icon>\n <ng-container *ngIf=\"!showMoreGlance\">{{'playerbrief.showMore' | translate}}</ng-container>\n <ng-container *ngIf=\"showMoreGlance\">{{'playerbrief.showLess' | translate}}</ng-container>\n </button>\n </div>\n </mat-card>\n <!-- <ws-widget-user-content-rating class=\"mb-4 block\" *ngIf=\"content?.identifier\" [contentId]=\"content?.identifier\"\n [isDisabled]=\"isPreviewMode\" [forPreview]=\"forPreview\">\n </ws-widget-user-content-rating> -->\n <div class=\"hidden sm:block margin-bottom-m\" *ngIf=\"content?.creatorDetails?.length\">\n <ng-container [ngTemplateOutlet]=\"creators\" [ngTemplateOutletContext]=\"{\n authors: content?.creatorDetails,\n title: 'AUTHOR'\n }\">\n </ng-container>\n </div>\n <div class=\"hidden sm:block margin-bottom-m\" *ngIf=\"content?.creatorContacts?.length\">\n <ng-container [ngTemplateOutlet]=\"creators\" [ngTemplateOutletContext]=\"{\n authors: content?.creatorContacts,\n title: 'CONTACT'\n }\">\n </ng-container>\n </div>\n</div>\n\n<ng-template #creators let-authors=\"authors\" let-title=\"title\">\n <mat-card>\n <h2 *ngIf=\"title === 'AUTHOR'\">{{'playerbrief.authors' | translate}}</h2>\n <h2 *ngIf=\"title === 'CONTACT'\">{{'playerbrief.curatorcontact' | translate}}</h2>\n <mat-divider></mat-divider>\n <div *ngFor=\"let author of parseJsonData(authors)\" class=\"author\">\n <ws-widget-user-image class=\"author-image\" [imageType]=\"'name-initial'\" [userName]=\"author.name || ''\"\n [email]=\"author.email\"></ws-widget-user-image>\n <div class=\"width-expand flex flex-middle flex-between\">\n <h3 class=\"margin-remove\">{{ author.name }}</h3>\n <ws-widget-btn-mail-user *ngIf=\"askAuthorEnabled\" [widgetData]=\"{ content: content, emails: [author.email] }\">\n </ws-widget-btn-mail-user>\n </div>\n </div>\n </mat-card>\n</ng-template>", styles: [".info-container{padding:12px 16px;margin-bottom:16px}.info-container .info-item{display:flex;align-items:center;padding:8px 0;box-sizing:border-box}.info-container .info-item h3{margin:0}.info-container .info-item .item-heading{width:40%;min-width:80px;max-width:140px}.info-container .info-item .item-icon{width:20px;height:20px;font-size:20px;margin-left:8px}.author{padding:12px 0;display:flex}.author .author-image{margin-right:12px;height:44px;width:44px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.DisplayContentTypeComponent, selector: "ws-widget-display-content-type", inputs: ["displayContentType"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatLegacyChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i7.MatLegacyChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i10.UserImageComponent, selector: "ws-widget-user-image", inputs: ["email", "userId", "userName", "imageType", "imageUrl", "imageSize"] }, { kind: "component", type: i11.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i12.MarkAsCompleteComponent, selector: "ws-widget-mark-as-complete", inputs: ["content", "forPreview"] }, { kind: "pipe", type: i4.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i4.DatePipe, name: "date" }, { kind: "pipe", type: i1.PipeCountTransformPipe, name: "pipeCountTransform" }, { kind: "pipe", type: i1.PipeDurationTransformPipe, name: "pipeDurationTransform" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
|
|
122
|
+
}
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PlayerBriefComponent, decorators: [{
|
|
124
|
+
type: Component,
|
|
125
|
+
args: [{ selector: 'ws-widget-player-brief', template: "<div class=\"md:px-2\">\n <ws-widget-mark-as-complete [forPreview]=\"forPreview\" [content]=\"content\"></ws-widget-mark-as-complete>\n <ng-container *ngIf=\"content && isDownloadable\">\n <mat-card class=\"mb-4\">\n <button mat-button color=\"primary\" (click)=\"download()\">\n <mat-icon>cloud_download</mat-icon>\n <span class=\"px-2\">{{ 'apptochome.download' | translate }}</span>\n </button>\n </mat-card>\n </ng-container>\n <mat-card class=\"ws-mat-primary-lite-background-on-day ws-mat-primary-border-top-bolder info-container\">\n <h2 >{{ 'apptochome.atGlance' | translate }}</h2>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.displayContentType?.enabled && content?.displayContentType\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.displayContentType?.displayName, 'apptoc') }}</h3>\n <ws-widget-display-content-type *ngIf=\"content?.contentType !== contentTypes.RESOURCE\"\n class=\"ws-mat-accent-text width-expand mat-body-strong\" [displayContentType]=\"content?.displayContentType\">\n </ws-widget-display-content-type>\n <div *ngIf=\"content?.contentType === contentTypes.RESOURCE\"\n class=\"ws-mat-accent-text width-expand mat-body-strong\">\n {{ content?.resourceType }}\n </div>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.displayContentType?.enabled && content?.displayContentType\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.complexityLevel?.enabled && content?.complexityLevel\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.complexityLevel?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.complexityLevel }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.complexityLevel?.enabled && content?.complexityLevel\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.duration?.enabled && content?.duration\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.duration?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.duration | pipeDurationTransform: 'hms' }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.duration?.enabled && content?.duration\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.cost?.enabled\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.cost?.displayName, 'apptoc') }}</h3>\n <h3 *ngIf=\"content?.exclusiveContent\" class=\"ws-mat-accent-text width-expand\">{{'apptochome.paidContent' | translate}}</h3>\n <h3 *ngIf=\"!content?.exclusiveContent\" class=\"ws-mat-accent-text width-expand\">{{'apptochome.free' | translate}}</h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.cost?.enabled\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.viewCount?.enabled && content?.viewCount && configSvc?.rootOrg\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.viewCount?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ getViewCount(content) | pipeCountTransform }}\n <ng-container *ngIf=\"content?.uniqueLearners\">\n ({{ content?.uniqueLearners | pipeCountTransform }}\n <ng-container >Unique)</ng-container>\n </ng-container>\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.viewCount?.enabled && content?.viewCount && configSvc?.rootOrg\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.sourceShortName?.enabled && content?.sourceShortName\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.sourceShortName?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.sourceShortName }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.sourceShortName?.enabled && content?.sourceShortName\"></mat-divider>\n <!-- Structure -->\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.structure?.enabled && hasTocStructure && content?.children?.length\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.structure?.displayName, 'apptoc') }}</h3>\n <div class=\"ws-mat-accent-text width-expand\">\n <h3 *ngIf=\"tocStructure?.course > 0\">\n <ng-container>{{ tocStructure?.course }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.course === 1\" > {{'apptochome.course1' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.course > 1\" > {{'apptochome.courses1' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.learningModule > 0\">\n <ng-container>{{ tocStructure?.learningModule }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.learningModule === 1\" > {{'apptochome.module' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.learningModule > 1\" > {{'apptochome.modules' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.video > 0\">\n <ng-container>{{ tocStructure?.video }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.video === 1\" > {{'apptochome.video' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.video > 1\" > {{'apptochome.videos' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.interactiveVideo > 0\">\n <ng-container>{{ tocStructure?.interactiveVideo }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.interactiveVideo === 1\" >\n {{'playerbrief.interactiveVideo' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.interactiveVideo > 1\" >\n {{'playerbrief.interactiveVideos' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.youtube > 0\">\n <ng-container>{{ tocStructure?.youtube }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.youtube === 1\" > {{'playerbrief.youtubeVideo' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.youtube > 1\" > {{'playerbrief.youtubeVideos' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.pdf > 0\">\n <ng-container>{{ tocStructure?.pdf }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.pdf === 1\" > {{'apptochome.pdf' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.pdf > 1\" > {{'apptochome.pdfs' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.podcast > 0\">\n <ng-container>{{ tocStructure?.podcast }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.podcast === 1\" > {{'playerbrief.podcast' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.podcast > 1\" > {{'playerbrief.podcasts' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.webModule > 0\">\n <ng-container>{{ tocStructure?.webModule }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webModule === 1\" > {{'playerbrief.webModule' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webModule > 1\" > {{'playerbrief.webModules' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.webPage > 0\">\n <ng-container>{{ tocStructure?.webPage }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webPage === 1\" > {{'apptochome.webPage' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.webPage > 1\" > {{'apptochome.webPages' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.quiz > 0\">\n <ng-container>{{ tocStructure?.quiz }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.quiz === 1\" > {{'playerbrief.quiz' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.quiz > 1\" > {{'playerbrief.quizzes' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.assessment > 0\">\n <ng-container>{{ tocStructure?.assessment }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.assessment === 1\" > {{'apptochome.assessment' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.assessment > 1\" > {{'apptochome.assessments' | translate}}</ng-container>\n </h3>\n <h3 *ngIf=\"tocStructure?.other > 0\">\n <ng-container>{{ tocStructure?.other }}</ng-container>\n <ng-container *ngIf=\"tocStructure?.other === 1\" > {{'apptochome.otherItem' | translate}}</ng-container>\n <ng-container *ngIf=\"tocStructure?.other > 1\" > {{'apptochome.otherItems' | translate}}</ng-container>\n </h3>\n </div>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.structure?.enabled && hasTocStructure && content?.children?.length\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.lastUpdatedOn?.enabled && content?.lastUpdatedOn\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.lastUpdatedOn?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.lastUpdatedOn | date }}\n </h3>\n </div>\n <ng-container *ngIf=\"showMoreGlance\">\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.lastUpdatedOn?.enabled && content?.lastUpdatedOn\"></mat-divider>\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.expiryDate?.enabled && content?.expiryDate && content?.expiryDate?.startsWith('20')\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.expiryDate?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.expiryDate | date }}\n </h3>\n </div>\n <mat-divider\n *ngIf=\"tocConfig?.atAGlance?.expiryDate?.enabled && content?.expiryDate && content?.expiryDate?.startsWith('20')\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.learningMode?.enabled && content?.learningMode\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.learningMode?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.learningMode }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.learningMode?.enabled && content?.learningMode\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.region?.enabled && content?.region?.length\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.region?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.region }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.region?.enabled && content?.region?.length\"></mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.locale?.enabled && content?.locale\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{ translateLabels(tocConfig?.atAGlance?.locale?.displayName, 'apptoc') }}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.locale | uppercase }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.locale?.enabled && content?.locale\"></mat-divider>\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.hasTranslations?.enabled && (content?.hasTranslations?.length || content?.isTranslationOf?.length)\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{tocConfig?.atAGlance?.hasTranslations?.displayName}}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n <span class=\"cursor-pointer\" (click)=\"goToContent(trans?.identifier)\"\n *ngFor=\"let trans of content?.hasTranslations || content?.isTranslationOf\">{{ trans.locale | uppercase }}\n </span>\n </h3>\n </div>\n <mat-divider\n *ngIf=\"tocConfig?.atAGlance?.hasTranslations?.enabled && (content?.hasTranslations?.length || content?.isTranslationOf?.length)\">\n </mat-divider>\n <div class=\"info-item\" *ngIf=\"tocConfig?.atAGlance?.keywords?.enabled && content?.keywords?.length\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{tocConfig?.atAGlance?.keywords?.displayName}}</h3>\n <h3 class=\"ws-mat-accent-text width-expand\">\n {{ content?.keywords?.join(', ') }}\n </h3>\n </div>\n <mat-divider *ngIf=\"tocConfig?.atAGlance?.keywords?.enabled && content?.keywords?.length\"></mat-divider>\n <ng-container *ngFor=\"let item of content?.collections\">\n <div class=\"info-item\"\n *ngIf=\"tocConfig?.atAGlance?.curatedInKB?.enabled && item.contentType === 'Knowledge Board' && item.status === 'Live'\">\n <h3 class=\"item-heading ws-mat-primary-text\">{{tocConfig?.atAGlance?.curatedInKB?.displayName}}</h3>\n <mat-chip-list>\n <mat-chip>\n <h3 class=\"ws-mat-accent-text width-expand\">\n <ng-container *ngIf=\"item.contentType === 'Knowledge Board' && item.status === 'Live'\">\n <a [href]=\"'/app/toc/' + item.identifier + '/overview?primaryCategory='+ item.primaryCategory \"> {{\n item.name }} </a>\n </ng-container>\n </h3>\n </mat-chip>\n </mat-chip-list>\n </div>\n </ng-container>\n <mat-divider></mat-divider>\n </ng-container>\n <div class=\"text-right mt-2\">\n <button mat-button (click)=\"showMoreGlance = !showMoreGlance\">\n <mat-icon>{{ !showMoreGlance ? 'arrow_drop_down' : 'arrow_drop_up' }}</mat-icon>\n <ng-container *ngIf=\"!showMoreGlance\">{{'playerbrief.showMore' | translate}}</ng-container>\n <ng-container *ngIf=\"showMoreGlance\">{{'playerbrief.showLess' | translate}}</ng-container>\n </button>\n </div>\n </mat-card>\n <!-- <ws-widget-user-content-rating class=\"mb-4 block\" *ngIf=\"content?.identifier\" [contentId]=\"content?.identifier\"\n [isDisabled]=\"isPreviewMode\" [forPreview]=\"forPreview\">\n </ws-widget-user-content-rating> -->\n <div class=\"hidden sm:block margin-bottom-m\" *ngIf=\"content?.creatorDetails?.length\">\n <ng-container [ngTemplateOutlet]=\"creators\" [ngTemplateOutletContext]=\"{\n authors: content?.creatorDetails,\n title: 'AUTHOR'\n }\">\n </ng-container>\n </div>\n <div class=\"hidden sm:block margin-bottom-m\" *ngIf=\"content?.creatorContacts?.length\">\n <ng-container [ngTemplateOutlet]=\"creators\" [ngTemplateOutletContext]=\"{\n authors: content?.creatorContacts,\n title: 'CONTACT'\n }\">\n </ng-container>\n </div>\n</div>\n\n<ng-template #creators let-authors=\"authors\" let-title=\"title\">\n <mat-card>\n <h2 *ngIf=\"title === 'AUTHOR'\">{{'playerbrief.authors' | translate}}</h2>\n <h2 *ngIf=\"title === 'CONTACT'\">{{'playerbrief.curatorcontact' | translate}}</h2>\n <mat-divider></mat-divider>\n <div *ngFor=\"let author of parseJsonData(authors)\" class=\"author\">\n <ws-widget-user-image class=\"author-image\" [imageType]=\"'name-initial'\" [userName]=\"author.name || ''\"\n [email]=\"author.email\"></ws-widget-user-image>\n <div class=\"width-expand flex flex-middle flex-between\">\n <h3 class=\"margin-remove\">{{ author.name }}</h3>\n <ws-widget-btn-mail-user *ngIf=\"askAuthorEnabled\" [widgetData]=\"{ content: content, emails: [author.email] }\">\n </ws-widget-btn-mail-user>\n </div>\n </div>\n </mat-card>\n</ng-template>", styles: [".info-container{padding:12px 16px;margin-bottom:16px}.info-container .info-item{display:flex;align-items:center;padding:8px 0;box-sizing:border-box}.info-container .info-item h3{margin:0}.info-container .info-item .item-heading{width:40%;min-width:80px;max-width:140px}.info-container .info-item .item-icon{width:20px;height:20px;font-size:20px;margin-left:8px}.author{padding:12px 0;display:flex}.author .author-image{margin-right:12px;height:44px;width:44px}\n"] }]
|
|
126
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigurationsService }, { type: i1.UtilityService }, { type: i2.Router }, { type: i3.WidgetContentService }, { type: i1.MultilingualTranslationsService }]; }, propDecorators: { content: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], hasTocStructure: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], tocStructure: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], isPreviewMode: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], forPreview: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], askAuthorEnabled: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}] } });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWVyLWJyaWVmLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9fY29tbW9uL3BsYXllci1icmllZi9wbGF5ZXItYnJpZWYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vcGxheWVyLWJyaWVmL3BsYXllci1icmllZi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7O0FBV3hELE1BQU0sT0FBTyxvQkFBb0I7SUFnQi9CLFlBQ1MsU0FBZ0MsRUFDL0IsVUFBMEIsRUFDMUIsTUFBYyxFQUNkLGdCQUFzQyxFQUN0QyxnQkFBaUQ7UUFKbEQsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBc0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQztRQW5CM0QsWUFBTyxHQUE4QixJQUFJLENBQUE7UUFFekMsb0JBQWUsR0FBRyxLQUFLLENBQUE7UUFFdkIsaUJBQVksR0FBUSxJQUFJLENBQUE7UUFFeEIsa0JBQWEsR0FBRyxLQUFLLENBQUE7UUFFckIsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUVsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUFDeEIsY0FBUyxHQUFRLElBQUksQ0FBQTtRQUVyQixtQkFBYyxHQUFHLEtBQUssQ0FBQTtRQVF0QiwwQkFBcUIsR0FBRyxLQUFLLENBQUE7UUFDN0Isc0JBQWlCLEdBQUcsS0FBSyxDQUFBO1FBQ3pCLDBCQUFxQixHQUFHLEtBQUssQ0FBQTtJQUh6QixDQUFDO0lBS0wsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUNuQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUU7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzdFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1lBQ3JGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1NBQ3RGO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixJQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0I7WUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsNkJBQTZCO1lBQzNELElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLHlCQUF5QjtZQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxDQUN0RSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FDdEMsRUFDRDtZQUNBLE1BQU0sZUFBZSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQTtZQUM3RCwyQ0FBMkM7WUFDM0MsSUFDRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtnQkFDekIsQ0FBQyxJQUFJLENBQUMscUJBQXFCO2dCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUN4QyxFQUNEO2dCQUNBLE9BQU8sSUFBSSxDQUFBO2FBQ1o7WUFDRCxJQUNFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztnQkFDckIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCO2dCQUN2QiwwREFBMEQ7Z0JBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUNyRCxlQUFlLENBQUMsV0FBVyxFQUFFO2dCQUM3QiwwREFBMEQ7aUJBQzNELENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQ25EO2dCQUNBLE9BQU8sSUFBSSxDQUFBO2FBQ1o7WUFDRCxJQUNFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUztnQkFDekIsQ0FBQyxJQUFJLENBQUMscUJBQXFCO2dCQUMzQiwwREFBMEQ7Z0JBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLDZCQUE2QixDQUN6RCxlQUFlLENBQUMsV0FBVyxFQUFFO2dCQUM3QiwwREFBMEQ7aUJBQzNELENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQ25EO2dCQUNBLE9BQU8sSUFBSSxDQUFBO2FBQ1o7WUFDRCxPQUFPLEtBQUssQ0FBQTtTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQTtJQUNuRCxDQUFDO0lBQ0QsWUFBWSxDQUFDLE9BQWtDO1FBQzdDLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDMUQsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDakQ7UUFDRCxPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFDRCxZQUFZO1FBQ1YsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsbUJBQW1CLENBQUE7UUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUE7WUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUE7WUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUE7WUFFckIsb0JBQW9CO1lBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFBO1lBQzFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQy9CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUVaLGtCQUFrQjtZQUNsQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtTQUNoQztRQUVELGVBQWU7SUFDakIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxDQUFTO1FBQzVCLElBQUk7WUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2xDLE9BQU8sWUFBWSxDQUFBO1NBQ3BCO1FBQUMsTUFBTTtZQUNOLE9BQU8sRUFBRSxDQUFBO1NBQ1Y7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzlELENBQUM7K0dBcElVLG9CQUFvQjttR0FBcEIsb0JBQW9CLGdRQ1hqQywwd2ZBMlBjOzs0RkRoUEQsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLHdCQUF3QjsrT0FNbEMsT0FBTztzQkFETixLQUFLO2dCQUdOLGVBQWU7c0JBRGQsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixnQkFBZ0I7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQubW9kZWwnXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UsIE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3cy13aWRnZXQtcGxheWVyLWJyaWVmJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYXllci1icmllZi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BsYXllci1icmllZi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQbGF5ZXJCcmllZkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGNvbnRlbnQ6IE5zQ29udGVudC5JQ29udGVudCB8IG51bGwgPSBudWxsXG4gIEBJbnB1dCgpXG4gIGhhc1RvY1N0cnVjdHVyZSA9IGZhbHNlXG4gIEBJbnB1dCgpXG4gIHRvY1N0cnVjdHVyZTogYW55ID0gbnVsbFxuICBASW5wdXQoKVxuICBpc1ByZXZpZXdNb2RlID0gZmFsc2VcbiAgQElucHV0KClcbiAgZm9yUHJldmlldyA9IGZhbHNlXG4gIEBJbnB1dCgpXG4gIGFza0F1dGhvckVuYWJsZWQgPSBmYWxzZVxuICB0b2NDb25maWc6IGFueSA9IG51bGxcblxuICBzaG93TW9yZUdsYW5jZSA9IGZhbHNlXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxpdHlTdmM6IFV0aWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSB3aWRnZXRDb250ZW50U3ZjOiBXaWRnZXRDb250ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd0cmFuc2xhdGlvbnM6IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UsXG4gICkgeyB9XG4gIGlzRG93bmxvYWRhYmxlRGVza3RvcCA9IGZhbHNlXG4gIGlzRG93bmxvYWRhYmxlSW9zID0gZmFsc2VcbiAgaXNEb3dubG9hZGFibGVBbmRyb2lkID0gZmFsc2VcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldFRvY0NvbmZpZygpXG4gICAgaWYgKHRoaXMuY29uZmlnU3ZjLnJlc3RyaWN0ZWRGZWF0dXJlcykge1xuICAgICAgdGhpcy5pc0Rvd25sb2FkYWJsZUlvcyA9IHRoaXMuY29uZmlnU3ZjLnJlc3RyaWN0ZWRGZWF0dXJlcy5oYXMoJ2lvc0Rvd25sb2FkJylcbiAgICAgIHRoaXMuaXNEb3dubG9hZGFibGVBbmRyb2lkID0gdGhpcy5jb25maWdTdmMucmVzdHJpY3RlZEZlYXR1cmVzLmhhcygnYW5kcm9pZERvd25sb2FkJylcbiAgICAgIHRoaXMuaXNEb3dubG9hZGFibGVEZXNrdG9wID0gdGhpcy5jb25maWdTdmMucmVzdHJpY3RlZEZlYXR1cmVzLmhhcygnZG93bmxvYWRSZXF1ZXN0JylcbiAgICB9XG4gIH1cblxuICBnZXQgaXNEb3dubG9hZGFibGUoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcgJiZcbiAgICAgIHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnLmlzRG93bmxvYWRhYmxlU291cmNlICYmXG4gICAgICB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZy5pc0Rvd25sb2FkYWJsZUFuZHJvaWRSZXNvdXJjZSAmJlxuICAgICAgdGhpcy5jb250ZW50ICYmXG4gICAgICB0aGlzLmNvbnRlbnQuc291cmNlTmFtZSAmJlxuICAgICAgdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcuaXNEb3dubG9hZGFibGVJb3NSZXNvdXJjZSAmJlxuICAgICAgT2JqZWN0LmtleXModGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcuaXNEb3dubG9hZGFibGVTb3VyY2UpLmluY2x1ZGVzKFxuICAgICAgICB0aGlzLmNvbnRlbnQuc291cmNlTmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc3Qgc291cmNlU2hvcnROYW1lOiBzdHJpbmcgPSB0aGlzLmNvbnRlbnQuc291cmNlTmFtZSB8fCAnJ1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy51dGlsaXR5U3ZjLmlzTW9iaWxlICYmXG4gICAgICAgICF0aGlzLmlzRG93bmxvYWRhYmxlRGVza3RvcCAmJlxuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZy5pc0Rvd25sb2FkYWJsZVNvdXJjZVtzb3VyY2VTaG9ydE5hbWUudG9Mb3dlckNhc2UoKV0uaW5jbHVkZXMoXG4gICAgICAgICAgdGhpcy5jb250ZW50LnJlc291cmNlVHlwZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy51dGlsaXR5U3ZjLmlzSW9zICYmXG4gICAgICAgICF0aGlzLmlzRG93bmxvYWRhYmxlSW9zICYmXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdGVyLWNvbXB1dGVkLXByb3BlcnR5LXNwYWNpbmdcbiAgICAgICAgdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcuaXNEb3dubG9hZGFibGVJb3NSZXNvdXJjZVtcbiAgICAgICAgICBzb3VyY2VTaG9ydE5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdGVyLWNvbXB1dGVkLXByb3BlcnR5LXNwYWNpbmdcbiAgICAgICAgXS5pbmNsdWRlcyh0aGlzLmNvbnRlbnQucmVzb3VyY2VUeXBlLnRvTG93ZXJDYXNlKCkpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy51dGlsaXR5U3ZjLmlzQW5kcm9pZCAmJlxuICAgICAgICAhdGhpcy5pc0Rvd25sb2FkYWJsZUFuZHJvaWQgJiZcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiB0ZXItY29tcHV0ZWQtcHJvcGVydHktc3BhY2luZ1xuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy5pbnN0YW5jZUNvbmZpZy5pc0Rvd25sb2FkYWJsZUFuZHJvaWRSZXNvdXJjZVtcbiAgICAgICAgICBzb3VyY2VTaG9ydE5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdGVyLWNvbXB1dGVkLXByb3BlcnR5LXNwYWNpbmdcbiAgICAgICAgXS5pbmNsdWRlcyh0aGlzLmNvbnRlbnQucmVzb3VyY2VUeXBlLnRvTG93ZXJDYXNlKCkpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdvVG9Db250ZW50KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9hcHAvdG9jLyR7aWR9L292ZXJ2aWV3YF0pXG4gIH1cbiAgZ2V0Vmlld0NvdW50KGNvbnRlbnQ6IE5zQ29udGVudC5JQ29udGVudCB8IG51bGwpIHtcbiAgICBpZiAoY29udGVudCAmJiB0aGlzLmNvbmZpZ1N2Yy5yb290T3JnICYmIGNvbnRlbnQudmlld0NvdW50KSB7XG4gICAgICByZXR1cm4gY29udGVudC52aWV3Q291bnRbdGhpcy5jb25maWdTdmMucm9vdE9yZ11cbiAgICB9XG4gICAgcmV0dXJuIDBcbiAgfVxuICBnZXRUb2NDb25maWcoKSB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWdTdmMuc2l0ZVBhdGh9L2ZlYXR1cmUvdG9jLmpzb25gXG4gICAgdGhpcy53aWRnZXRDb250ZW50U3ZjLmZldGNoQ29uZmlnKHVybCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy50b2NDb25maWcgPSBkYXRhXG4gICAgICB0aGlzLndpZGdldENvbnRlbnRTdmMudXBkYXRlVG9jQ29uZmlnKGRhdGEpXG4gICAgfSlcbiAgfVxuXG4gIGRvd25sb2FkKCkge1xuICAgIGlmICh0aGlzLmNvbnRlbnQgJiYgIXRoaXMuZm9yUHJldmlldykge1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgICAgbGluay5kb3dubG9hZCA9IHRoaXMuY29udGVudC5uYW1lXG4gICAgICBsaW5rLnRhcmdldCA9ICdfc2VsZidcblxuICAgICAgLy8gQ29uc3RydWN0IHRoZSBVUklcbiAgICAgIGxpbmsuaHJlZiA9IHRoaXMuY29udGVudC5hcnRpZmFjdFVybCB8fCAnJ1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKVxuICAgICAgbGluay5jbGljaygpXG5cbiAgICAgIC8vIENsZWFudXAgdGhlIERPTVxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKVxuICAgIH1cblxuICAgIC8vIGRlbGV0ZSBsaW5rO1xuICB9XG5cbiAgcHVibGljIHBhcnNlSnNvbkRhdGEoczogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZFN0cmluZyA9IEpTT04ucGFyc2UocylcbiAgICAgIHJldHVybiBwYXJzZWRTdHJpbmdcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zbGF0ZUxhYmVscyhsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndHJhbnNsYXRpb25zLnRyYW5zbGF0ZUxhYmVsKGxhYmVsLCB0eXBlLCAnJylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1kOnB4LTJcIj5cbiAgPHdzLXdpZGdldC1tYXJrLWFzLWNvbXBsZXRlIFtmb3JQcmV2aWV3XT1cImZvclByZXZpZXdcIiBbY29udGVudF09XCJjb250ZW50XCI+PC93cy13aWRnZXQtbWFyay1hcy1jb21wbGV0ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnQgJiYgaXNEb3dubG9hZGFibGVcIj5cbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJtYi00XCI+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImRvd25sb2FkKClcIj5cbiAgICAgICAgPG1hdC1pY29uPmNsb3VkX2Rvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJweC0yXCI+e3sgJ2FwcHRvY2hvbWUuZG93bmxvYWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtY2FyZD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxtYXQtY2FyZCBjbGFzcz1cIndzLW1hdC1wcmltYXJ5LWxpdGUtYmFja2dyb3VuZC1vbi1kYXkgd3MtbWF0LXByaW1hcnktYm9yZGVyLXRvcC1ib2xkZXIgaW5mby1jb250YWluZXJcIj5cbiAgICA8aDIgPnt7ICdhcHB0b2Nob21lLmF0R2xhbmNlJyB8IHRyYW5zbGF0ZSB9fTwvaDI+XG4gICAgPGRpdiBjbGFzcz1cImluZm8taXRlbVwiICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LmRpc3BsYXlDb250ZW50VHlwZT8uZW5hYmxlZCAmJiBjb250ZW50Py5kaXNwbGF5Q29udGVudFR5cGVcIj5cbiAgICAgIDxoMyBjbGFzcz1cIml0ZW0taGVhZGluZyB3cy1tYXQtcHJpbWFyeS10ZXh0XCI+e3sgdHJhbnNsYXRlTGFiZWxzKHRvY0NvbmZpZz8uYXRBR2xhbmNlPy5kaXNwbGF5Q29udGVudFR5cGU/LmRpc3BsYXlOYW1lLCAnYXBwdG9jJykgfX08L2gzPlxuICAgICAgPHdzLXdpZGdldC1kaXNwbGF5LWNvbnRlbnQtdHlwZSAqbmdJZj1cImNvbnRlbnQ/LmNvbnRlbnRUeXBlICE9PSBjb250ZW50VHlwZXMuUkVTT1VSQ0VcIlxuICAgICAgICBjbGFzcz1cIndzLW1hdC1hY2NlbnQtdGV4dCB3aWR0aC1leHBhbmQgbWF0LWJvZHktc3Ryb25nXCIgW2Rpc3BsYXlDb250ZW50VHlwZV09XCJjb250ZW50Py5kaXNwbGF5Q29udGVudFR5cGVcIj5cbiAgICAgIDwvd3Mtd2lkZ2V0LWRpc3BsYXktY29udGVudC10eXBlPlxuICAgICAgPGRpdiAqbmdJZj1cImNvbnRlbnQ/LmNvbnRlbnRUeXBlID09PSBjb250ZW50VHlwZXMuUkVTT1VSQ0VcIlxuICAgICAgICBjbGFzcz1cIndzLW1hdC1hY2NlbnQtdGV4dCB3aWR0aC1leHBhbmQgbWF0LWJvZHktc3Ryb25nXCI+XG4gICAgICAgIHt7IGNvbnRlbnQ/LnJlc291cmNlVHlwZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LmRpc3BsYXlDb250ZW50VHlwZT8uZW5hYmxlZCAmJiBjb250ZW50Py5kaXNwbGF5Q29udGVudFR5cGVcIj48L21hdC1kaXZpZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIiAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5jb21wbGV4aXR5TGV2ZWw/LmVuYWJsZWQgJiYgY29udGVudD8uY29tcGxleGl0eUxldmVsXCI+XG4gICAgICA8aDMgY2xhc3M9XCJpdGVtLWhlYWRpbmcgd3MtbWF0LXByaW1hcnktdGV4dFwiPnt7IHRyYW5zbGF0ZUxhYmVscyh0b2NDb25maWc/LmF0QUdsYW5jZT8uY29tcGxleGl0eUxldmVsPy5kaXNwbGF5TmFtZSwgJ2FwcHRvYycpIH19PC9oMz5cbiAgICAgIDxoMyBjbGFzcz1cIndzLW1hdC1hY2NlbnQtdGV4dCB3aWR0aC1leHBhbmRcIj5cbiAgICAgICAge3sgY29udGVudD8uY29tcGxleGl0eUxldmVsIH19XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5jb21wbGV4aXR5TGV2ZWw/LmVuYWJsZWQgJiYgY29udGVudD8uY29tcGxleGl0eUxldmVsXCI+PC9tYXQtZGl2aWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5mby1pdGVtXCIgKm5nSWY9XCJ0b2NDb25maWc/LmF0QUdsYW5jZT8uZHVyYXRpb24/LmVuYWJsZWQgJiYgY29udGVudD8uZHVyYXRpb25cIj5cbiAgICAgIDxoMyBjbGFzcz1cIml0ZW0taGVhZGluZyB3cy1tYXQtcHJpbWFyeS10ZXh0XCI+e3sgdHJhbnNsYXRlTGFiZWxzKHRvY0NvbmZpZz8uYXRBR2xhbmNlPy5kdXJhdGlvbj8uZGlzcGxheU5hbWUsICdhcHB0b2MnKSB9fTwvaDM+XG4gICAgICA8aDMgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LXRleHQgd2lkdGgtZXhwYW5kXCI+XG4gICAgICAgIHt7IGNvbnRlbnQ/LmR1cmF0aW9uIHwgcGlwZUR1cmF0aW9uVHJhbnNmb3JtOiAnaG1zJyB9fVxuICAgICAgPC9oMz5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJ0b2NDb25maWc/LmF0QUdsYW5jZT8uZHVyYXRpb24/LmVuYWJsZWQgJiYgY29udGVudD8uZHVyYXRpb25cIj48L21hdC1kaXZpZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIiAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5jb3N0Py5lbmFibGVkXCI+XG4gICAgICA8aDMgY2xhc3M9XCJpdGVtLWhlYWRpbmcgd3MtbWF0LXByaW1hcnktdGV4dFwiPnt7IHRyYW5zbGF0ZUxhYmVscyh0b2NDb25maWc/LmF0QUdsYW5jZT8uY29zdD8uZGlzcGxheU5hbWUsICdhcHB0b2MnKSB9fTwvaDM+XG4gICAgICA8aDMgKm5nSWY9XCJjb250ZW50Py5leGNsdXNpdmVDb250ZW50XCIgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LXRleHQgd2lkdGgtZXhwYW5kXCI+e3snYXBwdG9jaG9tZS5wYWlkQ29udGVudCcgfCB0cmFuc2xhdGV9fTwvaDM+XG4gICAgICA8aDMgKm5nSWY9XCIhY29udGVudD8uZXhjbHVzaXZlQ29udGVudFwiIGNsYXNzPVwid3MtbWF0LWFjY2VudC10ZXh0IHdpZHRoLWV4cGFuZFwiPnt7J2FwcHRvY2hvbWUuZnJlZScgfCB0cmFuc2xhdGV9fTwvaDM+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LmNvc3Q/LmVuYWJsZWRcIj48L21hdC1kaXZpZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIiAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy52aWV3Q291bnQ/LmVuYWJsZWQgJiYgY29udGVudD8udmlld0NvdW50ICYmIGNvbmZpZ1N2Yz8ucm9vdE9yZ1wiPlxuICAgICAgPGgzIGNsYXNzPVwiaXRlbS1oZWFkaW5nIHdzLW1hdC1wcmltYXJ5LXRleHRcIj57eyB0cmFuc2xhdGVMYWJlbHModG9jQ29uZmlnPy5hdEFHbGFuY2U/LnZpZXdDb3VudD8uZGlzcGxheU5hbWUsICdhcHB0b2MnKSB9fTwvaDM+XG4gICAgICA8aDMgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LXRleHQgd2lkdGgtZXhwYW5kXCI+XG4gICAgICAgIHt7IGdldFZpZXdDb3VudChjb250ZW50KSB8IHBpcGVDb3VudFRyYW5zZm9ybSB9fVxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudD8udW5pcXVlTGVhcm5lcnNcIj5cbiAgICAgICAgICAoe3sgY29udGVudD8udW5pcXVlTGVhcm5lcnMgfCBwaXBlQ291bnRUcmFuc2Zvcm0gfX1cbiAgICAgICAgICA8bmctY29udGFpbmVyID5VbmlxdWUpPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9oMz5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJ0b2NDb25maWc/LmF0QUdsYW5jZT8udmlld0NvdW50Py5lbmFibGVkICYmIGNvbnRlbnQ/LnZpZXdDb3VudCAmJiBjb25maWdTdmM/LnJvb3RPcmdcIj5cbiAgICA8L21hdC1kaXZpZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIiAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5zb3VyY2VTaG9ydE5hbWU/LmVuYWJsZWQgJiYgY29udGVudD8uc291cmNlU2hvcnROYW1lXCI+XG4gICAgICA8aDMgY2xhc3M9XCJpdGVtLWhlYWRpbmcgd3MtbWF0LXByaW1hcnktdGV4dFwiPnt7IHRyYW5zbGF0ZUxhYmVscyh0b2NDb25maWc/LmF0QUdsYW5jZT8uc291cmNlU2hvcnROYW1lPy5kaXNwbGF5TmFtZSwgJ2FwcHRvYycpIH19PC9oMz5cbiAgICAgIDxoMyBjbGFzcz1cIndzLW1hdC1hY2NlbnQtdGV4dCB3aWR0aC1leHBhbmRcIj5cbiAgICAgICAge3sgY29udGVudD8uc291cmNlU2hvcnROYW1lIH19XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5zb3VyY2VTaG9ydE5hbWU/LmVuYWJsZWQgJiYgY29udGVudD8uc291cmNlU2hvcnROYW1lXCI+PC9tYXQtZGl2aWRlcj5cbiAgICA8IS0tIFN0cnVjdHVyZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiaW5mby1pdGVtXCJcbiAgICAgICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LnN0cnVjdHVyZT8uZW5hYmxlZCAmJiBoYXNUb2NTdHJ1Y3R1cmUgJiYgY29udGVudD8uY2hpbGRyZW4/Lmxlbmd0aFwiPlxuICAgICAgPGgzIGNsYXNzPVwiaXRlbS1oZWFkaW5nIHdzLW1hdC1wcmltYXJ5LXRleHRcIj57eyB0cmFuc2xhdGVMYWJlbHModG9jQ29uZmlnPy5hdEFHbGFuY2U/LnN0cnVjdHVyZT8uZGlzcGxheU5hbWUsICdhcHB0b2MnKSB9fTwvaDM+XG4gICAgICA8ZGl2IGNsYXNzPVwid3MtbWF0LWFjY2VudC10ZXh0IHdpZHRoLWV4cGFuZFwiPlxuICAgICAgICA8aDMgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LmNvdXJzZSA+IDBcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyPnt7IHRvY1N0cnVjdHVyZT8uY291cnNlIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8uY291cnNlID09PSAxXCIgPiB7eydhcHB0b2Nob21lLmNvdXJzZTEnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy5jb3Vyc2UgPiAxXCIgPiB7eydhcHB0b2Nob21lLmNvdXJzZXMxJyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxoMyAqbmdJZj1cInRvY1N0cnVjdHVyZT8ubGVhcm5pbmdNb2R1bGUgPiAwXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj57eyB0b2NTdHJ1Y3R1cmU/LmxlYXJuaW5nTW9kdWxlIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8ubGVhcm5pbmdNb2R1bGUgPT09IDFcIiA+IHt7J2FwcHRvY2hvbWUubW9kdWxlJyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8ubGVhcm5pbmdNb2R1bGUgPiAxXCIgPiB7eydhcHB0b2Nob21lLm1vZHVsZXMnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGgzICpuZ0lmPVwidG9jU3RydWN0dXJlPy52aWRlbyA+IDBcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyPnt7IHRvY1N0cnVjdHVyZT8udmlkZW8gfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy52aWRlbyA9PT0gMVwiID4ge3snYXBwdG9jaG9tZS52aWRlbycgfCB0cmFuc2xhdGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LnZpZGVvID4gMVwiID4ge3snYXBwdG9jaG9tZS52aWRlb3MnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGgzICpuZ0lmPVwidG9jU3RydWN0dXJlPy5pbnRlcmFjdGl2ZVZpZGVvID4gMFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXI+e3sgdG9jU3RydWN0dXJlPy5pbnRlcmFjdGl2ZVZpZGVvIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8uaW50ZXJhY3RpdmVWaWRlbyA9PT0gMVwiID5cbiAgICAgICAgICAgIHt7J3BsYXllcmJyaWVmLmludGVyYWN0aXZlVmlkZW8nIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy5pbnRlcmFjdGl2ZVZpZGVvID4gMVwiID5cbiAgICAgICAgICAgIHt7J3BsYXllcmJyaWVmLmludGVyYWN0aXZlVmlkZW9zJyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxoMyAqbmdJZj1cInRvY1N0cnVjdHVyZT8ueW91dHViZSA+IDBcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyPnt7IHRvY1N0cnVjdHVyZT8ueW91dHViZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LnlvdXR1YmUgPT09IDFcIiA+IHt7J3BsYXllcmJyaWVmLnlvdXR1YmVWaWRlbycgfCB0cmFuc2xhdGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LnlvdXR1YmUgPiAxXCIgPiB7eydwbGF5ZXJicmllZi55b3V0dWJlVmlkZW9zJyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxoMyAqbmdJZj1cInRvY1N0cnVjdHVyZT8ucGRmID4gMFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXI+e3sgdG9jU3RydWN0dXJlPy5wZGYgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy5wZGYgPT09IDFcIiA+IHt7J2FwcHRvY2hvbWUucGRmJyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8ucGRmID4gMVwiID4ge3snYXBwdG9jaG9tZS5wZGZzJyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvaDM+XG4gICAgICAgIDxoMyAqbmdJZj1cInRvY1N0cnVjdHVyZT8ucG9kY2FzdCA+IDBcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyPnt7IHRvY1N0cnVjdHVyZT8ucG9kY2FzdCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LnBvZGNhc3QgPT09IDFcIiA+IHt7J3BsYXllcmJyaWVmLnBvZGNhc3QnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy5wb2RjYXN0ID4gMVwiID4ge3sncGxheWVyYnJpZWYucG9kY2FzdHMnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGgzICpuZ0lmPVwidG9jU3RydWN0dXJlPy53ZWJNb2R1bGUgPiAwXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj57eyB0b2NTdHJ1Y3R1cmU/LndlYk1vZHVsZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LndlYk1vZHVsZSA9PT0gMVwiID4ge3sncGxheWVyYnJpZWYud2ViTW9kdWxlJyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8ud2ViTW9kdWxlID4gMVwiID4ge3sncGxheWVyYnJpZWYud2ViTW9kdWxlcycgfCB0cmFuc2xhdGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8aDMgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LndlYlBhZ2UgPiAwXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj57eyB0b2NTdHJ1Y3R1cmU/LndlYlBhZ2UgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy53ZWJQYWdlID09PSAxXCIgPiB7eydhcHB0b2Nob21lLndlYlBhZ2UnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy53ZWJQYWdlID4gMVwiID4ge3snYXBwdG9jaG9tZS53ZWJQYWdlcycgfCB0cmFuc2xhdGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2gzPlxuICAgICAgICA8aDMgKm5nSWY9XCJ0b2NTdHJ1Y3R1cmU/LnF1aXogPiAwXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lcj57eyB0b2NTdHJ1Y3R1cmU/LnF1aXogfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy5xdWl6ID09PSAxXCIgPiB7eydwbGF5ZXJicmllZi5xdWl6JyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8ucXVpeiA+IDFcIiA+IHt7J3BsYXllcmJyaWVmLnF1aXp6ZXMnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGgzICpuZ0lmPVwidG9jU3RydWN0dXJlPy5hc3Nlc3NtZW50ID4gMFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXI+e3sgdG9jU3RydWN0dXJlPy5hc3Nlc3NtZW50IH19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8uYXNzZXNzbWVudCA9PT0gMVwiID4ge3snYXBwdG9jaG9tZS5hc3Nlc3NtZW50JyB8IHRyYW5zbGF0ZX19PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvY1N0cnVjdHVyZT8uYXNzZXNzbWVudCA+IDFcIiA+IHt7J2FwcHRvY2hvbWUuYXNzZXNzbWVudHMnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGgzICpuZ0lmPVwidG9jU3RydWN0dXJlPy5vdGhlciA+IDBcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyPnt7IHRvY1N0cnVjdHVyZT8ub3RoZXIgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy5vdGhlciA9PT0gMVwiID4ge3snYXBwdG9jaG9tZS5vdGhlckl0ZW0nIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidG9jU3RydWN0dXJlPy5vdGhlciA+IDFcIiA+IHt7J2FwcHRvY2hvbWUub3RoZXJJdGVtcycgfCB0cmFuc2xhdGV9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2gzPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LnN0cnVjdHVyZT8uZW5hYmxlZCAmJiBoYXNUb2NTdHJ1Y3R1cmUgJiYgY29udGVudD8uY2hpbGRyZW4/Lmxlbmd0aFwiPlxuICAgIDwvbWF0LWRpdmlkZXI+XG4gICAgPGRpdiBjbGFzcz1cImluZm8taXRlbVwiICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/Lmxhc3RVcGRhdGVkT24/LmVuYWJsZWQgJiYgY29udGVudD8ubGFzdFVwZGF0ZWRPblwiPlxuICAgICAgPGgzIGNsYXNzPVwiaXRlbS1oZWFkaW5nIHdzLW1hdC1wcmltYXJ5LXRleHRcIj57eyB0cmFuc2xhdGVMYWJlbHModG9jQ29uZmlnPy5hdEFHbGFuY2U/Lmxhc3RVcGRhdGVkT24/LmRpc3BsYXlOYW1lLCAnYXBwdG9jJykgfX08L2gzPlxuICAgICAgPGgzIGNsYXNzPVwid3MtbWF0LWFjY2VudC10ZXh0IHdpZHRoLWV4cGFuZFwiPlxuICAgICAgICB7eyBjb250ZW50Py5sYXN0VXBkYXRlZE9uIHwgZGF0ZSB9fVxuICAgICAgPC9oMz5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd01vcmVHbGFuY2VcIj5cbiAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5sYXN0VXBkYXRlZE9uPy5lbmFibGVkICYmIGNvbnRlbnQ/Lmxhc3RVcGRhdGVkT25cIj48L21hdC1kaXZpZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cImluZm8taXRlbVwiXG4gICAgICAgICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LmV4cGlyeURhdGU/LmVuYWJsZWQgJiYgY29udGVudD8uZXhwaXJ5RGF0ZSAmJiBjb250ZW50Py5leHBpcnlEYXRlPy5zdGFydHNXaXRoKCcyMCcpXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIml0ZW0taGVhZGluZyB3cy1tYXQtcHJpbWFyeS10ZXh0XCI+e3sgdHJhbnNsYXRlTGFiZWxzKHRvY0NvbmZpZz8uYXRBR2xhbmNlPy5leHBpcnlEYXRlPy5kaXNwbGF5TmFtZSwgJ2FwcHRvYycpIH19PC9oMz5cbiAgICAgICAgPGgzIGNsYXNzPVwid3MtbWF0LWFjY2VudC10ZXh0IHdpZHRoLWV4cGFuZFwiPlxuICAgICAgICAgIHt7IGNvbnRlbnQ/LmV4cGlyeURhdGUgfCBkYXRlIH19XG4gICAgICAgIDwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxtYXQtZGl2aWRlclxuICAgICAgICAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5leHBpcnlEYXRlPy5lbmFibGVkICYmIGNvbnRlbnQ/LmV4cGlyeURhdGUgJiYgY29udGVudD8uZXhwaXJ5RGF0ZT8uc3RhcnRzV2l0aCgnMjAnKVwiPlxuICAgICAgPC9tYXQtZGl2aWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIiAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5sZWFybmluZ01vZGU/LmVuYWJsZWQgJiYgY29udGVudD8ubGVhcm5pbmdNb2RlXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIml0ZW0taGVhZGluZyB3cy1tYXQtcHJpbWFyeS10ZXh0XCI+e3sgdHJhbnNsYXRlTGFiZWxzKHRvY0NvbmZpZz8uYXRBR2xhbmNlPy5sZWFybmluZ01vZGU/LmRpc3BsYXlOYW1lLCAnYXBwdG9jJykgfX08L2gzPlxuICAgICAgICA8aDMgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LXRleHQgd2lkdGgtZXhwYW5kXCI+XG4gICAgICAgICAge3sgY29udGVudD8ubGVhcm5pbmdNb2RlIH19XG4gICAgICAgIDwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5sZWFybmluZ01vZGU/LmVuYWJsZWQgJiYgY29udGVudD8ubGVhcm5pbmdNb2RlXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIiAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5yZWdpb24/LmVuYWJsZWQgJiYgY29udGVudD8ucmVnaW9uPy5sZW5ndGhcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiaXRlbS1oZWFkaW5nIHdzLW1hdC1wcmltYXJ5LXRleHRcIj57eyB0cmFuc2xhdGVMYWJlbHModG9jQ29uZmlnPy5hdEFHbGFuY2U/LnJlZ2lvbj8uZGlzcGxheU5hbWUsICdhcHB0b2MnKSB9fTwvaDM+XG4gICAgICAgIDxoMyBjbGFzcz1cIndzLW1hdC1hY2NlbnQtdGV4dCB3aWR0aC1leHBhbmRcIj5cbiAgICAgICAgICB7eyBjb250ZW50Py5yZWdpb24gfX1cbiAgICAgICAgPC9oMz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LnJlZ2lvbj8uZW5hYmxlZCAmJiBjb250ZW50Py5yZWdpb24/Lmxlbmd0aFwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1pdGVtXCIgKm5nSWY9XCJ0b2NDb25maWc/LmF0QUdsYW5jZT8ubG9jYWxlPy5lbmFibGVkICYmIGNvbnRlbnQ/LmxvY2FsZVwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJpdGVtLWhlYWRpbmcgd3MtbWF0LXByaW1hcnktdGV4dFwiPnt7IHRyYW5zbGF0ZUxhYmVscyh0b2NDb25maWc/LmF0QUdsYW5jZT8ubG9jYWxlPy5kaXNwbGF5TmFtZSwgJ2FwcHRvYycpIH19PC9oMz5cbiAgICAgICAgPGgzIGNsYXNzPVwid3MtbWF0LWFjY2VudC10ZXh0IHdpZHRoLWV4cGFuZFwiPlxuICAgICAgICAgIHt7IGNvbnRlbnQ/LmxvY2FsZSB8IHVwcGVyY2FzZSB9fVxuICAgICAgICA8L2gzPlxuICAgICAgPC9kaXY+XG4gICAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJ0b2NDb25maWc/LmF0QUdsYW5jZT8ubG9jYWxlPy5lbmFibGVkICYmIGNvbnRlbnQ/LmxvY2FsZVwiPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mby1pdGVtXCJcbiAgICAgICAgKm5nSWY9XCJ0b2NDb25maWc/LmF0QUdsYW5jZT8uaGFzVHJhbnNsYXRpb25zPy5lbmFibGVkICYmIChjb250ZW50Py5oYXNUcmFuc2xhdGlvbnM/Lmxlbmd0aCB8fCBjb250ZW50Py5pc1RyYW5zbGF0aW9uT2Y/Lmxlbmd0aClcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiaXRlbS1oZWFkaW5nIHdzLW1hdC1wcmltYXJ5LXRleHRcIj57e3RvY0NvbmZpZz8uYXRBR2xhbmNlPy5oYXNUcmFuc2xhdGlvbnM/LmRpc3BsYXlOYW1lfX08L2gzPlxuICAgICAgICA8aDMgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LXRleHQgd2lkdGgtZXhwYW5kXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJnb1RvQ29udGVudCh0cmFucz8uaWRlbnRpZmllcilcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRyYW5zIG9mIGNvbnRlbnQ/Lmhhc1RyYW5zbGF0aW9ucyB8fCBjb250ZW50Py5pc1RyYW5zbGF0aW9uT2ZcIj57eyB0cmFucy5sb2NhbGUgfCB1cHBlcmNhc2UgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxtYXQtZGl2aWRlclxuICAgICAgICAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5oYXNUcmFuc2xhdGlvbnM/LmVuYWJsZWQgJiYgKGNvbnRlbnQ/Lmhhc1RyYW5zbGF0aW9ucz8ubGVuZ3RoIHx8IGNvbnRlbnQ/LmlzVHJhbnNsYXRpb25PZj8ubGVuZ3RoKVwiPlxuICAgICAgPC9tYXQtZGl2aWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWl0ZW1cIiAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5rZXl3b3Jkcz8uZW5hYmxlZCAmJiBjb250ZW50Py5rZXl3b3Jkcz8ubGVuZ3RoXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIml0ZW0taGVhZGluZyB3cy1tYXQtcHJpbWFyeS10ZXh0XCI+e3t0b2NDb25maWc/LmF0QUdsYW5jZT8ua2V5d29yZHM/LmRpc3BsYXlOYW1lfX08L2gzPlxuICAgICAgICA8aDMgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LXRleHQgd2lkdGgtZXhwYW5kXCI+XG4gICAgICAgICAge3sgY29udGVudD8ua2V5d29yZHM/LmpvaW4oJywgJykgfX1cbiAgICAgICAgPC9oMz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwidG9jQ29uZmlnPy5hdEFHbGFuY2U/LmtleXdvcmRzPy5lbmFibGVkICYmIGNvbnRlbnQ/LmtleXdvcmRzPy5sZW5ndGhcIj48L21hdC1kaXZpZGVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250ZW50Py5jb2xsZWN0aW9uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1pdGVtXCJcbiAgICAgICAgICAqbmdJZj1cInRvY0NvbmZpZz8uYXRBR2xhbmNlPy5jdXJhdGVkSW5LQj8uZW5hYmxlZCAmJiBpdGVtLmNvbnRlbnRUeXBlID09PSAnS25vd2xlZGdlIEJvYXJkJyAmJiBpdGVtLnN0YXR1cyA9PT0gJ0xpdmUnXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiaXRlbS1oZWFkaW5nIHdzLW1hdC1wcmltYXJ5LXRleHRcIj57e3RvY0NvbmZpZz8uYXRBR2xhbmNlPy5jdXJhdGVkSW5LQj8uZGlzcGxheU5hbWV9fTwvaDM+XG4gICAgICAgICAgPG1hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgICA8bWF0LWNoaXA+XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cIndzLW1hdC1hY2NlbnQtdGV4dCB3aWR0aC1leHBhbmRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jb250ZW50VHlwZSA9PT0gJ0tub3dsZWRnZSBCb2FyZCcgJiYgaXRlbS5zdGF0dXMgPT09ICdMaXZlJ1wiPlxuICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiJy9hcHAvdG9jLycgKyBpdGVtLmlkZW50aWZpZXIgKyAnL292ZXJ2aWV3P3ByaW1hcnlDYXRlZ29yeT0nKyBpdGVtLnByaW1hcnlDYXRlZ29yeSBcIj4ge3tcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5uYW1lIH19IDwvYT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDwvbWF0LWNoaXA+XG4gICAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHQgbXQtMlwiPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzaG93TW9yZUdsYW5jZSA9ICFzaG93TW9yZUdsYW5jZVwiPlxuICAgICAgICA8bWF0LWljb24+e3sgIXNob3dNb3JlR2xhbmNlID8gJ2Fycm93X2Ryb3BfZG93bicgOiAnYXJyb3dfZHJvcF91cCcgfX08L21hdC1pY29uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNob3dNb3JlR2xhbmNlXCI+e3sncGxheWVyYnJpZWYuc2hvd01vcmUnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dNb3JlR2xhbmNlXCI+e3sncGxheWVyYnJpZWYuc2hvd0xlc3MnIHwgdHJhbnNsYXRlfX08L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkPlxuICA8IS0tIDx3cy13aWRnZXQtdXNlci1jb250ZW50LXJhdGluZyBjbGFzcz1cIm1iLTQgYmxvY2tcIiAqbmdJZj1cImNvbnRlbnQ/LmlkZW50aWZpZXJcIiBbY29udGVudElkXT1cImNvbnRlbnQ/LmlkZW50aWZpZXJcIlxuICAgIFtpc0Rpc2FibGVkXT1cImlzUHJldmlld01vZGVcIiBbZm9yUHJldmlld109XCJmb3JQcmV2aWV3XCI+XG4gIDwvd3Mtd2lkZ2V0LXVzZXItY29udGVudC1yYXRpbmc+IC0tPlxuICA8ZGl2IGNsYXNzPVwiaGlkZGVuIHNtOmJsb2NrIG1hcmdpbi1ib3R0b20tbVwiICpuZ0lmPVwiY29udGVudD8uY3JlYXRvckRldGFpbHM/Lmxlbmd0aFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3JlYXRvcnNcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICBhdXRob3JzOiBjb250ZW50Py5jcmVhdG9yRGV0YWlscyxcbiAgICAgICAgdGl0bGU6ICdBVVRIT1InXG4gICAgICB9XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiaGlkZGVuIHNtOmJsb2NrIG1hcmdpbi1ib3R0b20tbVwiICpuZ0lmPVwiY29udGVudD8uY3JlYXRvckNvbnRhY3RzPy5sZW5ndGhcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNyZWF0b3JzXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgYXV0aG9yczogY29udGVudD8uY3JlYXRvckNvbnRhY3RzLFxuICAgICAgICB0aXRsZTogJ0NPTlRBQ1QnXG4gICAgICB9XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY3JlYXRvcnMgbGV0LWF1dGhvcnM9XCJhdXRob3JzXCIgbGV0LXRpdGxlPVwidGl0bGVcIj5cbiAgPG1hdC1jYXJkPlxuICAgIDxoMiAqbmdJZj1cInRpdGxlID09PSAnQVVUSE9SJ1wiPnt7J3BsYXllcmJyaWVmLmF1dGhvcnMnIHwgdHJhbnNsYXRlfX08L2gyPlxuICAgIDxoMiAqbmdJZj1cInRpdGxlID09PSAnQ09OVEFDVCdcIj57eydwbGF5ZXJicmllZi5jdXJhdG9yY29udGFjdCcgfCB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYXV0aG9yIG9mIHBhcnNlSnNvbkRhdGEoYXV0aG9ycylcIiBjbGFzcz1cImF1dGhvclwiPlxuICAgICAgPHdzLXdpZGdldC11c2VyLWltYWdlIGNsYXNzPVwiYXV0aG9yLWltYWdlXCIgW2ltYWdlVHlwZV09XCInbmFtZS1pbml0aWFsJ1wiIFt1c2VyTmFtZV09XCJhdXRob3IubmFtZSB8fCAnJ1wiXG4gICAgICAgIFtlbWFpbF09XCJhdXRob3IuZW1haWxcIj48L3dzLXdpZGdldC11c2VyLWltYWdlPlxuICAgICAgPGRpdiBjbGFzcz1cIndpZHRoLWV4cGFuZCBmbGV4IGZsZXgtbWlkZGxlIGZsZXgtYmV0d2VlblwiPlxuICAgICAgICA8aDMgY2xhc3M9XCJtYXJnaW4tcmVtb3ZlXCI+e3sgYXV0aG9yLm5hbWUgfX08L2gzPlxuICAgICAgICA8d3Mtd2lkZ2V0LWJ0bi1tYWlsLXVzZXIgKm5nSWY9XCJhc2tBdXRob3JFbmFibGVkXCIgW3dpZGdldERhdGFdPVwieyBjb250ZW50OiBjb250ZW50LCBlbWFpbHM6IFthdXRob3IuZW1haWxdIH1cIj5cbiAgICAgICAgPC93cy13aWRnZXQtYnRuLW1haWwtdXNlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|