{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/_directives/alert.component.html","webpack:///./src/app/_directives/alert.component.ts","webpack:///./src/app/_directives/index.ts","webpack:///./src/app/_guards/auth.guard.ts","webpack:///./src/app/_guards/deactive.guard.ts","webpack:///./src/app/_guards/index.ts","webpack:///./src/app/_helpers/config.ts","webpack:///./src/app/_helpers/error.interceptor.ts","webpack:///./src/app/_helpers/fake-backend.ts","webpack:///./src/app/_helpers/index.ts","webpack:///./src/app/_helpers/jwt.interceptor.ts","webpack:///./src/app/_services/HttpClient.service.ts","webpack:///./src/app/_services/admin/authentication.service.ts","webpack:///./src/app/_services/admin/dashboard.service.ts","webpack:///./src/app/_services/admin/index.ts","webpack:///./src/app/_services/admin/map-specifications.service.ts","webpack:///./src/app/_services/admin/user.service.ts","webpack:///./src/app/_services/alert.service.ts","webpack:///./src/app/_services/common.service.ts","webpack:///./src/app/_services/doctor/authentication.service.ts","webpack:///./src/app/_services/doctor/index.ts","webpack:///./src/app/_services/doctor/user.service.ts","webpack:///./src/app/_services/event-emitter.service.ts","webpack:///./src/app/_services/excel.service.ts","webpack:///./src/app/_services/hospital/authentication.service.ts","webpack:///./src/app/_services/hospital/index.ts","webpack:///./src/app/_services/hospital/user.service.ts","webpack:///./src/app/_services/index.ts","webpack:///./src/app/_services/patient/authentication.service.ts","webpack:///./src/app/_services/patient/index.ts","webpack:///./src/app/_services/patient/user.service.ts","webpack:///./src/app/_services/report.service.ts","webpack:///./src/app/_services/setting.service.ts","webpack:///./src/app/_services/storage.service.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/components/_layout/app-layout/app-layout.component.css","webpack:///./src/app/components/_layout/app-layout/app-layout.component.html","webpack:///./src/app/components/_layout/app-layout/app-layout.component.ts","webpack:///./src/app/components/_layout/doctorlayout/doctorlayout.component.css","webpack:///./src/app/components/_layout/doctorlayout/doctorlayout.component.html","webpack:///./src/app/components/_layout/doctorlayout/doctorlayout.component.ts","webpack:///./src/app/components/_layout/hospitallayout/hospitallayout.component.css","webpack:///./src/app/components/_layout/hospitallayout/hospitallayout.component.html","webpack:///./src/app/components/_layout/hospitallayout/hospitallayout.component.ts","webpack:///./src/app/components/_layout/patientlayout/patientlayout.component.css","webpack:///./src/app/components/_layout/patientlayout/patientlayout.component.html","webpack:///./src/app/components/_layout/patientlayout/patientlayout.component.ts","webpack:///./src/app/components/_layout/site-layout/site-layout.component.css","webpack:///./src/app/components/_layout/site-layout/site-layout.component.html","webpack:///./src/app/components/_layout/site-layout/site-layout.component.ts","webpack:///./src/app/components/_layout/wbsite-layout/wbsite-layout.component.css","webpack:///./src/app/components/_layout/wbsite-layout/wbsite-layout.component.html","webpack:///./src/app/components/_layout/wbsite-layout/wbsite-layout.component.ts","webpack:///./src/app/components/admin/punjab/punjab.component.css","webpack:///./src/app/components/admin/punjab/punjab.component.html","webpack:///./src/app/components/admin/punjab/punjab.component.ts","webpack:///./src/app/components/dicomviewer/dicomviewer.component.html","webpack:///./src/app/components/dicomviewer/dicomviewer.component.scss","webpack:///./src/app/components/dicomviewer/dicomviewer.component.ts","webpack:///./src/app/components/dicomviewer/dicomviewer.module.ts","webpack:///./src/app/components/dicomviewer/tags-dialog.component.html","webpack:///./src/app/components/dicomviewer/tags-dialog.component.ts","webpack:///./src/app/components/dicomviewer/tags-table.component.html","webpack:///./src/app/components/dicomviewer/tags-table.component.ts","webpack:///./src/app/components/printreport/ncd/printenrollmentstatus/printenrollmentstatus.component.css","webpack:///./src/app/components/printreport/ncd/printenrollmentstatus/printenrollmentstatus.component.html","webpack:///./src/app/components/printreport/ncd/printenrollmentstatus/printenrollmentstatus.component.ts","webpack:///./src/app/components/printreport/printPOS/printPOSreport.component.html","webpack:///./src/app/components/printreport/printPOS/printPOSreport.component.ts","webpack:///./src/app/components/printreport/printconsulationstatusreport/printconsulationstatusreport.component.html","webpack:///./src/app/components/printreport/printconsulationstatusreport/printconsulationstatusreport.component.ts","webpack:///./src/app/components/printreport/printconsulationsummaryreport/printconsulationsummaryreport.component.html","webpack:///./src/app/components/printreport/printconsulationsummaryreport/printconsulationsummaryreport.component.ts","webpack:///./src/app/components/printreport/printdormantreport/printdormantreport.component.html","webpack:///./src/app/components/printreport/printdormantreport/printdormantreport.component.ts","webpack:///./src/app/components/printreport/printhfreport/printhfreport.component.html","webpack:///./src/app/components/printreport/printhfreport/printhfreport.component.ts","webpack:///./src/app/components/printreport/printproblemreport/printproblemreport.component.html","webpack:///./src/app/components/printreport/printproblemreport/printproblemreport.component.ts","webpack:///./src/app/components/signalRAdapter/signalr-adapter.ts","webpack:///./src/app/ng-chat.ts","webpack:///./src/app/ng-chat/assets/icons.css","webpack:///./src/app/ng-chat/assets/loading-spinner.css","webpack:///./src/app/ng-chat/assets/ng-chat.component.default.css","webpack:///./src/app/ng-chat/assets/themes/ng-chat.theme.dark.scss","webpack:///./src/app/ng-chat/assets/themes/ng-chat.theme.default.scss","webpack:///./src/app/ng-chat/components/ng-chat-options/ng-chat-options.component.css","webpack:///./src/app/ng-chat/components/ng-chat-options/ng-chat-options.component.html","webpack:///./src/app/ng-chat/components/ng-chat-options/ng-chat-options.component.ts","webpack:///./src/app/ng-chat/core/chat-adapter.ts","webpack:///./src/app/ng-chat/core/chat-participant-status.enum.ts","webpack:///./src/app/ng-chat/core/chat-participant-type.enum.ts","webpack:///./src/app/ng-chat/core/default-file-upload-adapter.ts","webpack:///./src/app/ng-chat/core/group.ts","webpack:///./src/app/ng-chat/core/guid.ts","webpack:///./src/app/ng-chat/core/message-type.enum.ts","webpack:///./src/app/ng-chat/core/message.ts","webpack:///./src/app/ng-chat/core/paged-history-chat-adapter.ts","webpack:///./src/app/ng-chat/core/participant-metadata.ts","webpack:///./src/app/ng-chat/core/participant-response.ts","webpack:///./src/app/ng-chat/core/scroll-direction.enum.ts","webpack:///./src/app/ng-chat/core/theme.enum.ts","webpack:///./src/app/ng-chat/core/user.ts","webpack:///./src/app/ng-chat/core/window.ts","webpack:///./src/app/ng-chat/ng-chat.component.html","webpack:///./src/app/ng-chat/ng-chat.component.ts","webpack:///./src/app/ng-chat/ng-chat.module.ts","webpack:///./src/app/ng-chat/pipes/emojify.pipe.ts","webpack:///./src/app/ng-chat/pipes/group-message-display-name.pipe.ts","webpack:///./src/app/ng-chat/pipes/linkfy.pipe.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qC;;;;;;;;;;;ACvOA,sD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","file":"main.js","sourcesContent":["var map = {\n\t\"src/app/components/admin/dashboard/_module\": [\n\t\t\"./src/app/components/admin/dashboard/_module.ts\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~3c8ec08e\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~24d26e75\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~357d25f0\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-dashboard-_module\"\n\t],\n\t\"src/app/components/admin/fgpassword/_module\": [\n\t\t\"./src/app/components/admin/fgpassword/_module.ts\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-fgpassword-_module\"\n\t],\n\t\"src/app/components/admin/hospital/_module\": [\n\t\t\"./src/app/components/admin/hospital/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-hospital-_module\"\n\t],\n\t\"src/app/components/admin/login/_module\": [\n\t\t\"./src/app/components/admin/login/_module.ts\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-login-_module\"\n\t],\n\t\"src/app/components/admin/loginotp/_module\": [\n\t\t\"./src/app/components/admin/loginotp/_module.ts\",\n\t\t\"src-app-components-admin-loginotp-_module\"\n\t],\n\t\"src/app/components/admin/member/_module\": [\n\t\t\"./src/app/components/admin/member/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-member-_module\"\n\t],\n\t\"src/app/components/admin/setting/_module\": [\n\t\t\"./src/app/components/admin/setting/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-setting-_module\"\n\t],\n\t\"src/app/components/admin/testdashboard/_module\": [\n\t\t\"./src/app/components/admin/testdashboard/_module.ts\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~3c8ec08e\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~24d26e75\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~357d25f0\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-testdashboard-_module\"\n\t],\n\t\"src/app/components/admin/wisedashboard/_module\": [\n\t\t\"./src/app/components/admin/wisedashboard/_module.ts\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~3c8ec08e\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~24d26e75\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~357d25f0\",\n\t\t\"common\",\n\t\t\"src-app-components-admin-wisedashboard-_module\"\n\t],\n\t\"src/app/components/covid/consultation/_module\": [\n\t\t\"./src/app/components/covid/consultation/_module.ts\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-covid-consultation-_module\"\n\t],\n\t\"src/app/components/covid/dashboard/_module\": [\n\t\t\"./src/app/components/covid/dashboard/_module.ts\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-covid-dashboard-_module\"\n\t],\n\t\"src/app/components/covid/login/_module\": [\n\t\t\"./src/app/components/covid/login/_module.ts\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-covid-login-_module\"\n\t],\n\t\"src/app/components/covid/loginotp/_module\": [\n\t\t\"./src/app/components/covid/loginotp/_module.ts\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-covid-loginotp-_module\"\n\t],\n\t\"src/app/components/covid/register/_module\": [\n\t\t\"./src/app/components/covid/register/_module.ts\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-covid-register-_module\"\n\t],\n\t\"src/app/components/doctor/caserefferedsummary/_module\": [\n\t\t\"./src/app/components/doctor/caserefferedsummary/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-caserefferedsummary-_module\"\n\t],\n\t\"src/app/components/doctor/consulatationdetail/_module\": [\n\t\t\"./src/app/components/doctor/consulatationdetail/_module.ts\",\n\t\t\"src-app-components-doctor-consulatationdetail-_module\"\n\t],\n\t\"src/app/components/doctor/dashboard/_module\": [\n\t\t\"./src/app/components/doctor/dashboard/_module.ts\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~3c8ec08e\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-dashboard-_module\"\n\t],\n\t\"src/app/components/doctor/inprocessconsultation/_module\": [\n\t\t\"./src/app/components/doctor/inprocessconsultation/_module.ts\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-inprocessconsultation-_module\"\n\t],\n\t\"src/app/components/doctor/ncdpatient/_module\": [\n\t\t\"./src/app/components/doctor/ncdpatient/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-ncdpatient-_module\"\n\t],\n\t\"src/app/components/doctor/patient/_module\": [\n\t\t\"./src/app/components/doctor/patient/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-patient-_module\"\n\t],\n\t\"src/app/components/doctor/prescription/_module\": [\n\t\t\"./src/app/components/doctor/prescription/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-prescription-_module\"\n\t],\n\t\"src/app/components/doctor/remote/_module\": [\n\t\t\"./src/app/components/doctor/remote/_module.ts\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-remote-_module\"\n\t],\n\t\"src/app/components/doctor/setting/_module\": [\n\t\t\"./src/app/components/doctor/setting/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-setting-_module\"\n\t],\n\t\"src/app/components/doctor/specialty/_module\": [\n\t\t\"./src/app/components/doctor/specialty/_module.ts\",\n\t\t\"src-app-components-covid-consultation-_module~src-app-components-covid-dashboard-_module~src-app-com~fe5fe929\",\n\t\t\"common\",\n\t\t\"src-app-components-doctor-specialty-_module\"\n\t],\n\t\"src/app/components/errorpage/_module\": [\n\t\t\"./src/app/components/errorpage/_module.ts\",\n\t\t\"src-app-components-errorpage-_module\"\n\t],\n\t\"src/app/components/hospital/dashboard/_module\": [\n\t\t\"./src/app/components/hospital/dashboard/_module.ts\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~3c8ec08e\",\n\t\t\"common\",\n\t\t\"src-app-components-hospital-dashboard-_module\"\n\t],\n\t\"src/app/components/hospital/doctor/_module\": [\n\t\t\"./src/app/components/hospital/doctor/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"common\",\n\t\t\"src-app-components-hospital-doctor-_module\"\n\t],\n\t\"src/app/components/hospital/fgpassword/_module\": [\n\t\t\"./src/app/components/hospital/fgpassword/_module.ts\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-hospital-fgpassword-_module\"\n\t],\n\t\"src/app/components/hospital/keralalogin/_module\": [\n\t\t\"./src/app/components/hospital/keralalogin/_module.ts\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-hospital-keralalogin-_module\"\n\t],\n\t\"src/app/components/hospital/login/_module\": [\n\t\t\"./src/app/components/hospital/login/_module.ts\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-hospital-login-_module\"\n\t],\n\t\"src/app/components/hospital/loginotp/_module\": [\n\t\t\"./src/app/components/hospital/loginotp/_module.ts\",\n\t\t\"src-app-components-hospital-loginotp-_module\"\n\t],\n\t\"src/app/components/hospital/setting/_module\": [\n\t\t\"./src/app/components/hospital/setting/_module.ts\",\n\t\t\"src-app-components-admin-hospital-_module~src-app-components-admin-member-_module~src-app-components~d2d51efe\",\n\t\t\"src-app-components-admin-fgpassword-_module~src-app-components-admin-login-_module~src-app-component~1e83068f\",\n\t\t\"common\",\n\t\t\"src-app-components-hospital-setting-_module\"\n\t],\n\t\"src/app/components/ncdreport/_module\": [\n\t\t\"./src/app/components/ncdreport/_module.ts\",\n\t\t\"common\",\n\t\t\"src-app-components-ncdreport-_module\"\n\t],\n\t\"src/app/components/nhmdashboard/_module\": [\n\t\t\"./src/app/components/nhmdashboard/_module.ts\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~3c8ec08e\",\n\t\t\"src-app-components-admin-dashboard-_module~src-app-components-admin-testdashboard-_module~src-app-co~24d26e75\",\n\t\t\"common\",\n\t\t\"src-app-components-nhmdashboard-_module\"\n\t],\n\t\"src/app/components/report/_module\": [\n\t\t\"./src/app/components/report/_module.ts\",\n\t\t\"src-app-components-report-_module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tvar ids = map[req];\n\tif(!ids) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\tvar module = __webpack_require__(ids[0]);\n\t\treturn module;\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","module.exports = \"
{{message.text}}
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { AlertService } from '../_services';\n\n@Component({\n selector: 'alert',\n templateUrl: 'alert.component.html'\n})\n\nexport class AlertComponent implements OnInit, OnDestroy {\n private subscription: Subscription;\n message: any;\n\n constructor(private alertService: AlertService) { }\n\n ngOnInit() {\n this.subscription = this.alertService.getMessage().subscribe(message => { \n this.message = message; \n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n","export * from './alert.component';","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n\n constructor(private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n\n\n if (localStorage.getItem(\"currentUserType\") == \"1\") {\n if (localStorage.getItem('currentAdminUser')) {\n // logged in so return true\n return true;\n }\n\n } else if (localStorage.getItem(\"currentUserType\") == \"2\") {\n if (localStorage.getItem('currentHospitalUser')) {\n // logged in so return true\n return true;\n }\n\n } else {\n if (localStorage.getItem('currentUser')) {\n // logged in so return true\n return true;\n }\n\n }\n\n\n\n // not logged in so redirect to login page with the return url\n // this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\n\n\n this.router.navigate(['/login']);\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { StorageService } from './../_services/storage.service';\nimport { Observable } from \"rxjs\";\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\nimport { Message } from '../ng-chat/core/message';\nimport { DUserService } from '../_services/doctor/index';\nimport { first, filter } from 'rxjs/operators';\nexport interface CanComponentDeactivate {\n canDeactivate: () => Observable | Promise | boolean;\n}\n\n@Injectable()\n\n\nexport class CanDeactivateGuard implements CanDeactivate {\n\n\n constructor(\n private router: Router,\n public storageService: StorageService,\n private _userService: DUserService,\n ) { }\n\n\n canDeactivate(component: CanComponentDeactivate,\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n nextState: RouterStateSnapshot\n ) {\n\n ///////////////last url///////////////\n let lasturl: string = state.url;\n const role = route.data.role;\n\n ////////////////////////////next url////////////////\n let nexturl: string = nextState.url;\n\n\n if (role == \"Speciality\") {\n\n if (this.storageService.isConsultationActive == true) {\n Swal.fire({\n title: '',\n text: \"Do you want to Leave Consultation?\",\n showCancelButton: true,\n confirmButtonColor: '#133656',\n cancelButtonColor: '#E5C151',\n confirmButtonText: 'Yes',\n cancelButtonText: \"No\",\n allowOutsideClick: false,\n allowEscapeKey: false,\n allowEnterKey: false\n\n }).then((result) => {\n\n\n if (result.value) {\n\n if (this.storageService.SenderId != undefined && this.storageService.SenderId != null && this.storageService.SenderId != 0) {\n\n\n this._userService.UpdateVCResponseTime({ \"ConsultationId\": this.storageService.consultationId, \"FromMemberId\": this.storageService.ReceiverId, \"ToMemberId\": this.storageService.SenderId })\n .pipe(first())\n .subscribe(\n data => {\n\n /////////////////////////////////////leave page\n let message = new Message();\n message.fromId = this.storageService.SenderId;\n message.toId = this.storageService.ReceiverId;\n\n if (this.storageService.SenderId != 0 && this.storageService.ReceiverId != 0) {\n\n this.storageService.hubConnection.send(\"SpecialistLeaveCall\", message);\n }\n\n window.location.href = nexturl;\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\n this.storageService.isConnectionEstablished = false;\n this.storageService.isConsultationActive= false;\n this.storageService.SignalRAdapter.LeaveConnference();\n\n\n })\n\n\n }\n\n\n } else {\n return true;\n }\n\n\n })\n return false;\n }\n else {\n\n return true;\n }\n } if (role == \"Remote\") {\n\n\n\n\n\n var mesage = \"\";\n if (this.storageService.isConsultationActive == true) {\n Swal.fire({\n title: '',\n text: \"Do you want to Leave Consultation?\",\n showCancelButton: true,\n confirmButtonColor: '#133656',\n cancelButtonColor: '#E5C151',\n confirmButtonText: 'Yes',\n cancelButtonText: \"No\",\n allowOutsideClick: false,\n allowEscapeKey: false,\n allowEnterKey: false\n\n }).then((result) => {\n if (result.value) {\n\n\n\n\n if (this.storageService.SenderId != undefined && this.storageService.SenderId != null && this.storageService.SenderId != 0) {\n\n\n this._userService.UpdateVCResponseTime({ \"ConsultationId\": this.storageService.consultationId, \"FromMemberId\": this.storageService.SenderId, \"ToMemberId\": this.storageService.ReceiverId })\n .pipe(first())\n .subscribe(\n data => {\n\n /////////////////////////////////////leave page\n let message = new Message();\n message.fromId = this.storageService.SenderId;\n message.toId = this.storageService.ReceiverId;\n if (this.storageService.SenderId != 0 && this.storageService.ReceiverId != 0) {\n this.storageService.hubConnection.send(\"RemoteLeaveCall\", message);\n }\n\n\n\n //////////////////////////\n\n window.location.href = nexturl;\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\n this.storageService.isConnectionEstablished = false;\n this.storageService.isConsultationActive= false;\n this.storageService.SignalRAdapter.LeaveConnference();\n })\n }\n\n } else {\n return false;\n }\n })\n\n return false;\n } else if (this.storageService.isConsultationActive == false && this.storageService.isDraftStatus == true ) {\n Swal.fire({\n title: '',\n text: \"Save as Draft?\",\n showCancelButton: true,\n confirmButtonColor: '#133656',\n cancelButtonColor: '#E5C151',\n confirmButtonText: 'Yes',\n cancelButtonText: \"No\",\n allowOutsideClick: false,\n allowEscapeKey: false,\n allowEnterKey: false\n\n }).then((result) => {\n if (result.value) {\n\n return false;\n\n } else {\n window.location.href = nexturl;\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\n this.storageService.isConnectionEstablished = false;\n this.storageService.isConsultationActive= false;\n this.storageService.SignalRAdapter.LeaveConnference();\n }\n })\n\n\n return false;\n\n } else {\n return true;\n }\n\n } else {\n return true;\n }\n }\n}\n\n\n","export * from './auth.guard';","import { Injectable, Inject } from '@angular/core';\r\n\r\n@Injectable()\r\n\r\nexport class AppConfig {\r\n\r\n private _config;\r\n\r\n private _gglobal = '';\r\n\r\n constructor(@Inject('BASE_URL') baseUrl: string) {\r\n\r\n this._config = {\r\n\r\n PathAPI: baseUrl + \"api\",\r\n //PathAPI: 'http://localhost:1773/api'\r\n // PathAPI: 'https://test.swasthyaingit.in/api'\r\n // PathAPI: 'https://demo.esanjeevani.in/api'\r\n //PathAPI: 'https://cdac.instavc.com/api'\r\n\r\n //PathAPI: '10.228.12.121:9666/api'\r\n\r\n\r\n\r\n\r\n };\r\n\r\n }\r\n getglobal(): Object {\r\n return this._gglobal;\r\n }\r\n\r\n setglobal(global) {\r\n\r\n this._gglobal = global;\r\n\r\n }\r\n\r\n getconfig(): Object {\r\n return this._config;\r\n }\r\n\r\n getdefaulturl(): Object {\r\n return this._config.PathAPI;\r\n }\r\n get setting(): { [key: string]: string } {\r\n\r\n return this._config;\r\n\r\n }\r\n\r\n get(key: any) {\r\n\r\n return this._config[key];\r\n\r\n }\r\n\r\n public static securecookie = true;\r\n};\r\n\r\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport {map , catchError } from 'rxjs/operators';\n\nimport { AuthenticationService } from '../_services/admin/index';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n \n constructor(private authenticationService: AuthenticationService) {\n\n \n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n \n return next.handle(request).pipe(catchError(err => {\n\n \n if (err.status === 401) {\n // auto logout if 401 response returned from api\n this.authenticationService.logout();\n location.reload(true);\n }\n \n const error = err.error.message || err.statusText;\n return throwError(error);\n }))\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpResponse, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Observable, of, throwError } from 'rxjs';\nimport { delay, mergeMap, materialize, dematerialize } from 'rxjs/operators';\n\n@Injectable()\nexport class FakeBackendInterceptor implements HttpInterceptor {\n\n constructor() { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // array in local storage for registered users\n let users: any[] = JSON.parse(localStorage.getItem('users')) || [];\n\n // wrap in delayed observable to simulate server api call\n return of(null).pipe(mergeMap(() => {\n\n // authenticate\n if (request.url.endsWith('/users/authenticate') && request.method === 'POST') {\n // find if any user matches login credentials\n let filteredUsers = users.filter(user => {\n return user.username === request.body.username && user.password === request.body.password;\n });\n\n if (filteredUsers.length) {\n // if login details are valid return 200 OK with user details and fake jwt token\n let user = filteredUsers[0];\n let body = {\n id: user.id,\n username: user.username,\n firstName: user.firstName,\n lastName: user.lastName,\n token: 'fake-jwt-token'\n };\n\n return of(new HttpResponse({ status: 200, body: body }));\n } else {\n // else return 400 bad request\n return throwError({ error: { message: 'Username or password is incorrect' } });\n }\n }\n\n // get users\n if (request.url.endsWith('/users') && request.method === 'GET') {\n // check for fake auth token in header and return users if valid, this security is implemented server side in a real application\n if (request.headers.get('Authorization') === 'Bearer fake-jwt-token') {\n return of(new HttpResponse({ status: 200, body: users }));\n } else {\n // return 401 not authorised if token is null or invalid\n return throwError({ status: 401, error: { message: 'Unauthorised' } });\n }\n }\n\n // get user by id\n if (request.url.match(/\\/users\\/\\d+$/) && request.method === 'GET') {\n // check for fake auth token in header and return user if valid, this security is implemented server side in a real application\n if (request.headers.get('Authorization') === 'Bearer fake-jwt-token') {\n // find user by id in users array\n let urlParts = request.url.split('/');\n let id = parseInt(urlParts[urlParts.length - 1]);\n let matchedUsers = users.filter(user => { return user.id === id; });\n let user = matchedUsers.length ? matchedUsers[0] : null;\n\n return of(new HttpResponse({ status: 200, body: user }));\n } else {\n // return 401 not authorised if token is null or invalid\n return throwError({ status: 401, error: { message: 'Unauthorised' } });\n }\n }\n\n // register user\n if (request.url.endsWith('/users/register') && request.method === 'POST') {\n // get new user object from post body\n let newUser = request.body;\n\n // validation\n let duplicateUser = users.filter(user => { return user.username === newUser.username; }).length;\n if (duplicateUser) {\n return throwError({ error: { message: 'Username \"' + newUser.username + '\" is already taken' } });\n }\n\n // save new user\n newUser.id = users.length + 1;\n users.push(newUser);\n localStorage.setItem('users', JSON.stringify(users));\n\n // respond 200 OK\n return of(new HttpResponse({ status: 200 }));\n }\n\n // delete user\n if (request.url.match(/\\/users\\/\\d+$/) && request.method === 'DELETE') {\n // check for fake auth token in header and return user if valid, this security is implemented server side in a real application\n if (request.headers.get('Authorization') === 'Bearer fake-jwt-token') {\n // find user by id in users array\n let urlParts = request.url.split('/');\n let id = parseInt(urlParts[urlParts.length - 1]);\n for (let i = 0; i < users.length; i++) {\n let user = users[i];\n if (user.id === id) {\n // delete user\n users.splice(i, 1);\n localStorage.setItem('users', JSON.stringify(users));\n break;\n }\n }\n\n // respond 200 OK\n return of(new HttpResponse({ status: 200 }));\n } else {\n // return 401 not authorised if token is null or invalid\n return throwError({ status: 401, error: { message: 'Unauthorised' } });\n }\n }\n\n // pass through any requests not handled above\n return next.handle(request);\n \n }))\n\n // call materialize and dematerialize to ensure delay even if an error is thrown (https://github.com/Reactive-Extensions/RxJS/issues/648)\n .pipe(materialize())\n .pipe(delay(500))\n .pipe(dematerialize());\n }\n}\n\nexport let fakeBackendProvider = {\n // use fake backend in place of Http service for backend-less development\n provide: HTTP_INTERCEPTORS,\n useClass: FakeBackendInterceptor,\n multi: true\n};\n","export * from './error.interceptor';\nexport * from './jwt.interceptor';\nexport * from './fake-backend';\nexport * from './config';\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // add authorization header with jwt token if available\n let currentUser;\n\n if (localStorage.getItem(\"currentUserType\") == \"1\") {\n let currentUser = localStorage.getItem(\"currentAdminUser\");\n\n\n } else if (localStorage.getItem(\"currentUserType\") == \"2\") {\n let currentUser = localStorage.getItem(\"currentHospitalUser\");\n\n\n } else {\n let currentUser = localStorage.getItem(\"currentUser\");\n\n\n }\n\n\n\n if (currentUser && currentUser.token) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${currentUser.token}`\n }\n });\n }\n\n return next.handle(request);\n }\n}","import { Injectable } from '@angular/core';\r\nimport { Http, Headers, Response } from '@angular/http';\r\n\r\nimport { StorageService } from './storage.service';\r\nimport { Processing, CloseModal } from '../app.helpers';\r\nimport { AppConfig } from './../_helpers/config';\r\nimport { Observable } from 'rxjs';\r\nimport { map, catchError, first } from 'rxjs/operators'\r\nimport { Router } from '@angular/router';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\n@Injectable()\r\nexport class HttpClient {\r\n config: any;\r\n BaseURL: string;\r\n constructor(private http: Http, private storage: StorageService, private appConfig: AppConfig, public storageService: StorageService, private router: Router, private cookieService: CookieService) {\r\n\r\n\r\n this.config = this.appConfig.getconfig();\r\n this.BaseURL = this.config.PathAPI;\r\n\r\n }\r\n\r\n\r\n\r\n createAuthorizationHeader(headers: Headers) {\r\n\r\n\r\n\r\n if (this.storage.get(\"currentUserType\") != null) {\r\n\r\n if (this.storage.get(\"currentUserType\") == \"1\") { //Admin\r\n let currentUser = this.storage.get(\"currentAdminUser\");\r\n headers.append('Authorization', 'Bearer ' + currentUser['token']);\r\n if (currentUser['token'] != this.cookieService.get(\"esanjacookie\")) {\r\n this.clearCookiesStorage();\r\n window.location.href = \"/Admin/Login\";\r\n }\r\n\r\n } else if (this.storage.get(\"currentUserType\") == \"2\") { //Hospital \r\n\r\n let currentUser = this.storage.get(\"currentHospitalUser\");\r\n headers.append('Authorization', 'Bearer ' + currentUser['token']);\r\n if (currentUser['token'] != this.cookieService.get(\"esanjhcookie\")) {\r\n this.clearCookiesStorage();\r\n window.location.href = \"/Login\";\r\n }\r\n\r\n } else {//Doctor\r\n let currentUser = this.storage.get(\"currentUser\");\r\n headers.append('Authorization', 'Bearer ' + currentUser['token']);\r\n\r\n if (currentUser['token'] != this.cookieService.get(\"esanjcookie\")) {\r\n this.clearCookiesStorage();\r\n window.location.href = \"/Login\";\r\n }\r\n }\r\n\r\n } else {\r\n\r\n\r\n this.clearCookiesStorage();\r\n window.location.href = \"/Login\";\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n clearCookiesStorage() {\r\n localStorage.removeItem('currentUserType');\r\n localStorage.removeItem('currentAdminUser');\r\n localStorage.removeItem('currentHospitalUser');\r\n localStorage.removeItem('currentUser');;\r\n\r\n var date = new Date();\r\n date.setTime(date.getTime() + (1 * 10));\r\n this.cookieService.set('esanjcookie', '', date, \"\", \"\", AppConfig.securecookie);\r\n this.cookieService.set('esanjhcookie', '', date, \"\", \"\", AppConfig.securecookie);\r\n this.cookieService.set('esanjacookie', '', date, \"\", \"\", AppConfig.securecookie);\r\n }\r\n get(url) {\r\n\r\n\r\n let headers = new Headers();\r\n this.createAuthorizationHeader(headers);\r\n // Processing(\"#Processing\", \"block\");\r\n\r\n return this.http.get(this.BaseURL + url, {\r\n headers: headers\r\n }).pipe(\r\n map((res: Response) => {\r\n\r\n\r\n\r\n // this.appConfig.setglobal(this.storage.get(\"currentUser\"));\r\n return this.checkRespose(res);\r\n }), catchError(\r\n this.handleError\r\n ));\r\n\r\n\r\n }\r\n delete(url) {\r\n /// Processing(\"#Processing\", \"block\");\r\n let headers = new Headers();\r\n this.createAuthorizationHeader(headers);\r\n\r\n return this.http.delete(this.BaseURL + url, {\r\n headers: headers\r\n }).pipe(map(this.handlerData),\r\n catchError(this.handleError));\r\n }\r\n post(url, data) {\r\n\r\n\r\n /// Processing(\"#Processing\", \"block\");\r\n let headers = new Headers();\r\n\r\n this.createAuthorizationHeader(headers); return this.http.post(this.BaseURL + url, data, {\r\n headers: headers\r\n }).pipe(\r\n map((res: Response) => {\r\n // this.appConfig.setglobal(this.storage.get(\"currentUser\"));\r\n return this.checkRespose(res);\r\n }), catchError(\r\n this.handleError\r\n ));\r\n }\r\n put(url, data) {\r\n // Processing(\"#Processing\", \"block\");\r\n let headers = new Headers();\r\n this.createAuthorizationHeader(headers);\r\n return this.http.put(this.BaseURL + url, data, {\r\n headers: headers\r\n }).pipe(\r\n map((res: Response) => {\r\n // this.appConfig.setglobal(this.storage.get(\"currentUser\"));\r\n return this.checkRespose(res);\r\n }), catchError(\r\n\r\n this.handleError\r\n\r\n ));\r\n }\r\n private handleError(error: Response) {\r\n\r\n return Observable.throw({ requestStatus: 0, msg: \"Server error\", arr: [] });\r\n }\r\n\r\n private handlerData(error: Response) {\r\n\r\n //Processing(\"#Processing\", \"none\");\r\n return error.json();\r\n }\r\n\r\n private checkRespose(res) {\r\n var result = res.json();\r\n\r\n\r\n if (result.success == false && (result.requestCode == 401 || result.requestCode == 403)) {\r\n\r\n this.clearCookiesStorage();\r\n\r\n var currentUserType = localStorage.getItem('currentUserType');\r\n\r\n Swal.fire({\r\n title: 'Oops...',\r\n text: 'You have been logged out. Some exceptions were encountered. Kindly re-login.',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#133656',\r\n cancelButtonColor: '#E5C151',\r\n confirmButtonText: 'Ok!',\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n if (currentUserType == \"1\") {\r\n\r\n window.location.href = \"/Admin/Login\";\r\n } else {\r\n window.location.href = \"/Login\";\r\n }\r\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.SignalRAdapter.LeaveConnference();\r\n\r\n }\r\n })\r\n\r\n\r\n return res.json();\r\n } if (result.Success == false && (result.RequestCode == 401 || result.RequestCode == 403)) {\r\n\r\n this.clearCookiesStorage();\r\n\r\n var currentUserType = localStorage.getItem('currentUserType');\r\n\r\n Swal.fire({\r\n title: 'Oops...',\r\n text: 'You have been logged out. Some exceptions were encountered. Kindly re-login.',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#133656',\r\n cancelButtonColor: '#E5C151',\r\n confirmButtonText: 'Ok!',\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n if (currentUserType == \"1\") {\r\n\r\n window.location.href = \"/Admin/Login\";\r\n } else {\r\n window.location.href = \"/Login\";\r\n }\r\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.SignalRAdapter.LeaveConnference();\r\n\r\n }\r\n })\r\n\r\n\r\n return res.json();\r\n } else if (result.success == false && (result.requestCode == 450)) {\r\n\r\n this.clearCookiesStorage();\r\n\r\n var currentUserType = localStorage.getItem('currentUserType');\r\n Swal.fire({\r\n title: 'Oops...',\r\n text: 'You have been logged out. Some exceptions were encountered. Kindly re-login.',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#133656',\r\n cancelButtonColor: '#E5C151',\r\n confirmButtonText: 'Ok!',\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n if (currentUserType == \"1\") {\r\n window.location.href = \"/Admin/Login\";\r\n } else {\r\n window.location.href = \"/Login\";\r\n }\r\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.SignalRAdapter.LeaveConnference();\r\n\r\n }\r\n })\r\n\r\n\r\n return res.json();\r\n }\r\n else if (result.Success == false && (result.RequestCode == 450)) {\r\n\r\n this.clearCookiesStorage();\r\n\r\n var currentUserType = localStorage.getItem('currentUserType');\r\n Swal.fire({\r\n title: 'Oops...',\r\n text: 'You have been logged out. Some exceptions were encountered. Kindly re-login.',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#133656',\r\n cancelButtonColor: '#E5C151',\r\n confirmButtonText: 'Ok!',\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n if (currentUserType == \"1\") {\r\n window.location.href = \"/Admin/Login\";\r\n } else {\r\n window.location.href = \"/Login\";\r\n }\r\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.SignalRAdapter.LeaveConnference();\r\n\r\n }\r\n })\r\n\r\n\r\n return res.json();\r\n }\r\n else {\r\n return res.json();\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { AppConfig } from '../../_helpers/config';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable()\nexport class AuthenticationService {\n constructor(private http: HttpClient, private appConfig: AppConfig, private cookieService: CookieService) { }\n\n\n private pathAPI = this.appConfig.getdefaulturl();\n login(username: string, password: string, capchavalue: string) {\n return this.http.post(`${this.pathAPI}/Auth/SignInAdmin`, { UserName: username, Password: password, Capchavalue: capchavalue })\n .pipe(map(user => {\n\n\n // login successful if there's a jwt token in the response\n if (user && user.token) {\n\n this.cookieService.set('esanjacookie', user.token, 1, \"\", \"\", AppConfig.securecookie);\n\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentAdminUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"1\");\n }\n\n return user;\n }));\n }\n\n logout() {\n // remove user from local storage to log user out\n\n return this.http.get(\"https://esanjeevani.in/api/AdminProfile/Logout\");\n }\n\n\n loginOTPSend(username: string, para: string) {\n return this.http.post(`${this.pathAPI}/Auth/AdminLoginRequestOTP`, { UserName: username, para: para });\n }\n\n\n loginVerifyOTP(username: string, otp: string) {\n return this.http.post(`${this.pathAPI}/Auth/AdminLoginVerifyOTP`, { UserName: username, LoginOTP: otp })\n .pipe(map(user => {\n\n\n // login successful if there's a jwt token in the response\n if (user && user.token) {\n this.cookieService.set('esanjacookie', user.token, 1, \"\", \"\", AppConfig.securecookie);\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentAdminUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"1\");\n }\n return user;\n }));\n }\n\n\n FGOTPSend(username: string, para: string) {\n return this.http.post(`${this.pathAPI}/Auth/AdminForgotRequestOTP`, { UserName: username, para: para });\n }\n\n\n\n FGVerifyOTPSend(username: string, otp: string, para: string) {\n return this.http.post(`${this.pathAPI}/Auth/AdminForgotVerifyOTP`, { UserName: username, LoginOTP: otp, para: para });\n }\n\n\n\n FGSavepwd(username: string, otp: string, NewPassword: string) {\n return this.http.post(`${this.pathAPI}/Auth/AdminChangePassword`, { UserName: username, LoginOTP: otp, Password: NewPassword });\n }\n\n\n DeleteTocken() {\n return this.http.get(`${this.pathAPI}/Auth/DeleteTocken`);\n }\n\n\n\n\n OPDashboardVCCount() {\n return this.http.get(`${this.pathAPI}/Integration/AdminInstVCCount`);\n }\n\n\n opcompareconsultbystates() {\n return this.http.get(`${this.pathAPI}/Integration/AdminCompare`);\n }\n\n\n opgenderCountService() {\n return this.http.get(`${this.pathAPI}/Integration/AdminPatientGenderDetail`);\n }\n\n\n\n \n opCount() {\n return this.http.get(`${this.pathAPI}/Integration/Counters`);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '../../_services/index';\nimport { AppConfig } from '../../_helpers/config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardService {\n config: any;\n\n constructor(private http: HttpClient, config: AppConfig) {\n\n this.config = config;\n\n }\n\n DashboardTabs(stateId, distId) {\n\n var distQuery = '';\n if (distId) {\n distQuery = '&districtId=' + distId\n }\n\n return this.http.get(\"/AdminDashboard/AdminInstDashLanding?stateid=\" + stateId + distQuery);\n\n }\n\n getDashboardChartsByFilterService(stateId, filterType, distId) {\n var distQuery = '';\n if (distId) {\n distQuery = '&DistrictId=' + distId\n }\n var url = '/AdminDashboard/AdminAvgConsStateDists?StateId=' + stateId + distQuery;\n if (filterType == 'averageconsultations') {\n\n url = '/AdminDashboard/AdminAvgConsStateDists?StateId=' + stateId + distQuery;\n\n } else if (filterType == 'totalhealthfacilities') {\n url = '/AdminDashboard/AdminHealthStateDists?StateId=' + stateId + distQuery;\n } else if (filterType == 'totalconsultations') {\n url = '/AdminDashboard/AdminConsStateDists?StateId=' + stateId + distQuery;\n } else if (filterType == 'totalpatients') {\n url = '/AdminDashboard/AdminPatientStateDists?StateId=' + stateId + distQuery;\n } else if (filterType == 'totalprescription') {\n url = '/AdminDashboard/AdminPresStateDists?StateId=' + stateId + distQuery;\n } else if (filterType == 'totalusers') {\n url = '/AdminDashboard/AdminUserStateDists?StateId=' + stateId + distQuery;\n }\n\n return this.http.get(url);\n }\n\n\n averageConsultationService(stateId) {\n\n return this.http.get(\"/AdminDashboard/AdminAvgConsStateDists?StateId=\" + stateId);\n\n }\n\n totalHealthService(stateId) {\n\n\n return this.http.get(\"/AdminDashboard/AdminHealthStateDists?StateId=\" + stateId);\n }\n\n totalConsultationService() {\n return this.http.get(\"/AdminDashboard/AdminConsultations\");\n }\n\n prescriptionService() {\n return this.http.get(\"/AdminDashboard/AdminPrescriptions\");\n }\n\n totalPatientsService() {\n\n return this.http.get(\"/AdminDashboard/AdminPatients\");\n }\n\n referalService() {\n return this.http.get(\"/AdminDashboard/AdminReferrals\");\n }\n\n genderCountService(stateId, distId) {\n var distQuery = '';\n if (distId) {\n distQuery = '&DistrictId=' + distId\n }\n return this.http.get(\"/AdminDashboard/AdminPatientGenderDash?StateId=\" + stateId + distQuery);\n }\n\n\n EMRCountService(stateId, distId) {\n var distQuery = '';\n if (distId) {\n distQuery = '&DistrictId=' + distId\n }\n return this.http.get(\"/AdminDashboard/AdminEMRStateDists?StateId=\" + stateId + distQuery);\n }\n\n daignosticService(stateId, distId) {\n var distQuery = '';\n if (distId) {\n distQuery = '&DistrictId=' + distId\n }\n return this.http.get(\"/AdminDashboard/AdminDiagnosticsStateDists?StateId=\" + stateId + distQuery);\n }\n\n getDropDown(stateId) {\n\n\n\n return this.http.get(\"/AdminDashboard/AdminStateDists?StateId=\" + stateId);\n }\n\n compareconsultbystates(stateoneval, statetwoval, statethreeval, timestamp, stateDist) {\n\n return this.http.get(\"/AdminDashboard/AdminCompare?StateDist=\" + stateDist + \"&State1=\" + stateoneval + \"&State2=\" + statetwoval + \"&State3=\" + statethreeval + \"&DWYLabel=\" + timestamp);\n\n }\n comparestateOne(stateId) {\n\n return this.http.get(\"/AdminDashboard/AdminStateDists?StateId=\" + stateId);\n }\n\n\n compareAllstate() {\n\n return this.http.get(\"/AdminDashboard/GetAllStateDetails\");\n }\n\n\n\n DashboardHUBSPOCKcount(TypeId, RecordId) {\n\n return this.http.get(\"/AdminDashboard/GetActiveMembersCount?TypeId=\" + TypeId + \"&RecordId=\" + RecordId);\n\n }\n\n\n\n DashboardVCCount(stateId, distId) {\n \n var distQuery = '';\n if (distId) {\n distQuery = '&districtId=' + distId\n }\n\n return this.http.get(\"/AdminDashboard/AdminInstVCCount?stateid=\" + stateId + distQuery);\n\n }\n\n\n\n\n ///////////////////////////////////////new dashboard //////////////\n\n\n\n DashboardTabCountera(data: any) {\n\n return this.http.post(\"/AdminDashboard/GetCounters\", data)\n\n }\n\n\n\n DashboardGenderCountera(data: any) {\n\n return this.http.post(\"/AdminDashboard/GetGenderCounters\", data)\n\n }\n\n\n GetBacthActiveMembersCount(data: any) {\n\n return this.http.post(\"/AdminDashboard/GetBacthActiveMembersCount\", data)\n\n }\n\n GetBacthVCCount(data: any) {\n\n return this.http.post(\"/AdminDashboard/GetBacthVCCount\", data)\n\n }\n\n\n \n GetConsultationPerDay(data: any) {\n\n return this.http.post(\"/AdminDashboard/GetConsultationPerDay\", data)\n\n }\n\n\n\n GetMapCounters(data: any) {\n\n return this.http.post(\"/AdminDashboard/GetMapCounters\", data)\n\n }\n\n\n GetDistrictLineChart(data: any) {\n\n return this.http.post(\"/AdminDashboard/GetDistrictLineChart\", data)\n\n }\n\n\n /////////////////////////////////////////////////////////////////////\n\n\n\n\n\n ///////////////////////////////wise Dashboard service api\n\n\n\n cumulativeconsults(data: any) {\n\n return this.http.post(\"/Wish/cumulativeConsult\", data)\n\n }\n\n \n genderAgeaggregate(data: any) {\n\n return this.http.post(\"/Wish/genderAgeaggregate\", data)\n\n }\n\n\n\n consultsData(data: any) {\n\n return this.http.post(\"/Wish/consultsData\", data)\n\n }\n\n}\n","export * from './authentication.service';\nexport * from './user.service';\nexport * from './dashboard.service';\nexport * from './map-specifications.service';\n\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '../../_services/index';\nimport { AppConfig } from '../../_helpers/config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MapSpecificationsService {\n\tchartAvgConsultation : any;\n\tchartTotalHealth :any;\n\tchartTotalConsultation : any;\n\tchartTotalPatients : any;\n\tchartTotalPrescriptions : any;\n\tchartTotalReferals : any;\n\tcolor : any;\n\n constructor(private http: HttpClient, config: AppConfig) {\n\nthis.chartAvgConsultation = \n{\n \n \"caption\": \"Average Consulation in the Country\",\n \"indecimalseparator\": \",\",\n \"decimalseparator\": \".\",\n \"theme\": \"fusion\",\n showlabels: 0,\n showLegend : 1,\n baseFont : \"roboto\",\n // exportEnabled : 1,\n // exportFileName : \"esanjeevani\",\n // showToolTip : 1,\n // legendAllowDrag : 1,\n captionFontSize : 15,\n fontColor : \"#fff\",\n legendShadow : 1,\n legendBgColor : \"#ccc\",\n // formatNumber : 1,\n // showCanvasBorder : 1,\n // bgColor : \"#ccc\",\n\n // \"includevalueinlabels\": \"1\",\n \"legendposition\": \"Bottom\",\n // \"legendcaption\": \"Number of registered instituitons\",\n // \"basefontcolor\": \"rgb(90, 90, 90)\",\n baseFontSize : 12,\n \"entitytooltext\":\n \"
$lName
$datavalue registered institutes
\",\n \"entityfillhovercolor\": \"#BBDEFB\"\n}\n\nthis.chartTotalHealth = \n{\n \"caption\": \"Total Health Facilities in the Country\",\n \n \"indecimalseparator\": \",\",\n \"decimalseparator\": \".\",\n \"theme\": \"fusion\",\n showlabels: 0,\n showLegend : 1,\n baseFont : \"roboto\",\n // exportEnabled : 1,\n // exportFileName : \"esanjeevani\",\n // showToolTip : 1,\n // legendAllowDrag : 1,\n captionFontSize : 15,\n // fontColor : \"#fff\",\n legendShadow : 1,\n legendBgColor : \"#ccc\",\n // formatNumber : 1,\n // showCanvasBorder : 1,\n // bgColor : \"#ccc\",\n\n // \"includevalueinlabels\": \"1\",\n \"legendposition\": \"Bottom\",\n // \"legendcaption\": \"Number of registered instituitons\",\n // \"basefontcolor\": \"#000000\",\n baseFontSize : 12,\n \"entitytooltext\":\n \"
$lName
$datavalue registered institutes
\",\n \"entityfillhovercolor\": \"#BBDEFB\"\n}\n\nthis.chartTotalConsultation = \n{\n \"caption\": \"Total Consultations in the Country\",\n \n \"indecimalseparator\": \",\",\n \"decimalseparator\": \".\",\n \"theme\": \"fusion\",\n showlabels: 0,\n showLegend : 1,\n baseFont : \"roboto\",\n // exportEnabled : 1,\n // exportFileName : \"esanjeevani\",\n // showToolTip : 1,\n // legendAllowDrag : 1,\n captionFontSize : 15,\n // fontColor : \"#fff\",\n legendShadow : 1,\n legendBgColor : \"#ccc\",\n // formatNumber : 1,\n // showCanvasBorder : 1,\n // bgColor : \"#ccc\",\n\n // \"includevalueinlabels\": \"1\",\n \"legendposition\": \"Bottom\",\n // \"legendcaption\": \"Number of registered instituitons\",\n // \"basefontcolor\": \"#000000\",\n baseFontSize : 12,\n \"entitytooltext\":\n \"
$lName
$datavalue registered institutes
\",\n \"entityfillhovercolor\": \"#BBDEFB\"\n}\n\nthis.chartTotalPatients = \n{\n \"caption\": \"Total Patients in the Country\",\n // \"caption\": \"Average Consulation in the Country\",\n \"indecimalseparator\": \",\",\n \"decimalseparator\": \".\",\n \"theme\": \"fusion\",\n showlabels: 0,\n showLegend : 1,\n baseFont : \"roboto\",\n // exportEnabled : 1,\n // exportFileName : \"esanjeevani\",\n // showToolTip : 1,\n // legendAllowDrag : 1,\n captionFontSize : 15,\n // fontColor : \"#fff\",\n legendShadow : 1,\n legendBgColor : \"#ccc\",\n // formatNumber : 1,\n // showCanvasBorder : 1,\n // bgColor : \"#ccc\",\n\n // \"includevalueinlabels\": \"1\",\n \"legendposition\": \"Bottom\",\n // \"legendcaption\": \"Number of registered instituitons\",\n // \"basefontcolor\": \"#000000\",\n baseFontSize : 12,\n \"entitytooltext\":\n \"
$lName
$datavalue registered institutes
\",\n \"entityfillhovercolor\": \"#BBDEFB\"\n}\nthis.chartTotalPrescriptions = \n{\n \n \"caption\": \"Total Prescriptions in the Country\",\n \"indecimalseparator\": \",\",\n \"decimalseparator\": \".\",\n \"theme\": \"fusion\",\n showlabels: 0,\n showLegend : 1,\n baseFont : \"roboto\",\n // exportEnabled : 1,\n // exportFileName : \"esanjeevani\",\n // showToolTip : 1,\n // legendAllowDrag : 1,\n captionFontSize : 15,\n // fontColor : \"#fff\",\n legendShadow : 1,\n legendBgColor : \"#ccc\",\n // formatNumber : 1,\n // showCanvasBorder : 1,\n // bgColor : \"#ccc\",\n\n // \"includevalueinlabels\": \"1\",\n \"legendposition\": \"Bottom\",\n // \"legendcaption\": \"Number of registered instituitons\",\n // \"basefontcolor\": \"#000000\",\n baseFontSize : 12,\n \"entitytooltext\":\n \"
$lName
$datavalue registered institutes
\",\n \"entityfillhovercolor\": \"#BBDEFB\"\n}\nthis.chartTotalReferals = \n{\n \"caption\": \"Total Referals in the Country\",\n \n \"indecimalseparator\": \",\",\n \"decimalseparator\": \".\",\n \"theme\": \"fusion\",\n showlabels: 0,\n showLegend : 1,\n baseFont : \"roboto\", // exportEnabled : 1,\n // exportFileName : \"esanjeevani\",\n // showToolTip : 1,\n // legendAllowDrag : 1,\n captionFontSize : 15,\n // fontColor : \"#fff\",\n legendShadow : 1,\n legendBgColor : \"#ccc\",\n // formatNumber : 1,\n // showCanvasBorder : 1,\n // bgColor : \"#ccc\",\n\n // \"includevalueinlabels\": \"1\",\n \"legendposition\": \"Bottom\",\n // \"legendcaption\": \"Number of registered instituitons\",\n // \"basefontcolor\": \"#000000\",\n baseFontSize : 12,\n \"entitytooltext\":\n \"
$lName
$datavalue registered institutes
\",\n \"entityfillhovercolor\": \"#BBDEFB\"\n}\n\n\n this.color = [{\n\t\t\"minvalue\": \"0\",\n\t\t\"maxvalue\": \"500\",\n\t\t\"displayvalue\": \"< 500\",\n\t\t\"code\": \"#FFEE75\"\n\t},\n\t{\n\t\t\"minvalue\": \"500\",\n\t\t\"maxvalue\": \"1000\",\n\t\t\"displayvalue\": \"500 - 1000\",\n\t\t\"code\": \"#FFD800\"\n\t},\n\t{\n\t\t\"minvalue\": \"1000\",\n\t\t\"maxvalue\": \"1500\",\n\t\t\"displayvalue\": \"1000 - 2000\",\n\t\t\"code\": \"#FFBA00\"\n\t},\n\t{\n\t\t\"minvalue\": \"1500\",\n\t\t\"maxvalue\": \"2000\",\n\t\t\"displayvalue\": \"2000 - 3000\",\n\t\t\"code\": \"#EF9B0F\"\n\t},\n\t{\n\t\t\"minvalue\": \"2000\",\n\t\t\"maxvalue\": \"5000\",\n\t\t\"displayvalue\": \"No data availale\",\n\t\t\"code\": \"#BBDEFB\"\n\t}\n]\n \n\n\n }\n\n chartCheck(){\n \n \treturn this.chartAvgConsultation;\t\n \n \t// if(value == 2){\n \t// \treturn this.chartTotalHealth;\n \t// }\n \t// if(value == 3){\n \t// \treturn this.chartTotalConsultation;\n\n \t// }\n \t// if(value == 4){\n \t// \treturn this.chartTotalPatients;\n\n \t// }\n \t// if(value == 5){\n \t// \treturn this.chartTotalPrescriptions;\n\n \t// }\n \t\n \t// if(value == 6){\n \t// \treturn this.chartTotalReferals;\n\n \t// }\n }\n\n chartCheck2(){\nreturn this.chartTotalHealth;\n }\n\n chartCheck3(){\nreturn this.chartTotalConsultation;\n }\n chartCheck4(){\nreturn this.chartTotalPrescriptions;\n }\n chartCheck5(){\nreturn this.chartTotalPatients;\n }\n chartCheck6(){\nreturn this.chartTotalReferals;\n }\n colorCHECK() {\n return this.color;\n }\n\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '../../_services/index';\r\nimport { AppConfig } from '../../_helpers/config';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n config: any;\r\n constructor(private http: HttpClient, config: AppConfig) { this.config = config }\r\n\r\n\r\n\r\n\r\n changepwd(OldPassword: string, NewPassword: string, ConfirmPassword: string) {\r\n\r\n\r\n return this.http.post(\"/AdminProfile/ChangePassword\", { OldPassword: OldPassword, Password: NewPassword, ConfirmPassword: ConfirmPassword });\r\n }\r\n\r\n\r\n changeprofilepic(File_Path: string, FileFlag: string, FileName: string) {\r\n\r\n return this.http.post(\"/AdminProfile/UpdateProfileImage\", { \"ImagePath\": File_Path, \"FileFlag\": FileFlag, \"FileName\": FileName });\r\n }\r\n\r\n\r\n addInstitution(Institutionobj: any) {\r\n\r\n return this.http.post(\"/AdminInstitution\", Institutionobj);\r\n }\r\n\r\n editInstitution(Institutionobj: any) {\r\n\r\n return this.http.put(\"/AdminInstitution\", Institutionobj);\r\n }\r\n\r\n Institutionlist() {\r\n\r\n return this.http.get(\"/Reports/GetInstitutions/0\");\r\n //return this.http.get(\"/AdminInstitution/List/0\");\r\n }\r\n\r\n\r\n\r\n SearchInstitutionlist(data: any) {\r\n\r\n return this.http.post(\"/AdminInstitution/GetHealthfacilities\", data);\r\n }\r\n\r\n\r\n\r\n GetInstitutionByID(id) {\r\n\r\n return this.http.get(\"/AdminInstitution/\" + id);\r\n }\r\n\r\n\r\n GetRoleByID(hospid) {\r\n\r\n return this.http.get(\"/AdminInstitution/GetMasterSubMenu/\" + hospid);\r\n }\r\n\r\n\r\n UserDefaultMenu(hospid) {\r\n\r\n return this.http.get(\"/AdminInstitution/GetUserDefaultMenu\");\r\n }\r\n\r\n SaveAdminRole(obj) {\r\n return this.http.post(\"/AdminInstitution/InsertInstitutionMemberMenuMapping\", obj);\r\n }\r\n\r\n AdminDashboard() {\r\n\r\n\r\n return this.http.get(\"/InstiDashboard/InstTypeInstiCount\");\r\n }\r\n\r\n\r\n Adminlogout() {\r\n\r\n\r\n return this.http.get(\"/AdminProfile/Logout\");\r\n }\r\n\r\n\r\n GetInstitutionByTypeId(id) {\r\n\r\n\r\n\r\n return this.http.get(\"/Network/GetInstitutionsByTypeId/\" + id);\r\n }\r\n\r\n\r\n\r\n GetInstitutionByTypeIdSearch(id, Name) {\r\n\r\n return this.http.get(\"/Network/GetInstitutionsByTypeId?Id=\" + id + \"&Name=\" + Name);\r\n\r\n }\r\n\r\n\r\n InstitutionlistSearch(id, Name) {\r\n\r\n return this.http.get(\"/Reports/GetInstitutions?Id=\" + id + \"&Name=\" + Name);\r\n //return this.http.get(\"/AdminInstitution/List/0\");\r\n }\r\n\r\n\r\n\r\n\r\n GetNetworkMappings(id) {\r\n\r\n return this.http.get(\"/Network/GetNetworkMappings/\" + id);\r\n }\r\n\r\n\r\n GetNetworkMappingsDetail(id) {\r\n\r\n return this.http.get(\"/Network/GetNetworkFareList/\" + id);\r\n }\r\n\r\n\r\n\r\n UpdateNetworkMappingsDetail(obj) {\r\n return this.http.post(\"/Network/UpdateNetworkDetail\", obj);\r\n }\r\n\r\n\r\n DeleteNetworkMapping(obj) {\r\n return this.http.post(\"/Network/DeleteNetworkMapping\", obj);\r\n }\r\n\r\n\r\n\r\n InsertNetworkMapping(obj) {\r\n return this.http.post(\"/Network/InsertNetworkMapping\", obj);\r\n }\r\n\r\n AddMemberDetail(obj) {\r\n return this.http.post(\"/AdminInstitution/CreateUser\", obj);\r\n }\r\n\r\n SearchMemberlist(data: any) {\r\n\r\n return this.http.post(\"/AdminInstitution/GetUsers\", data);\r\n }\r\n\r\n\r\n GetMemberByID(id) {\r\n\r\n return this.http.get(\"/AdminInstitution/GetUserById/\" + id);\r\n }\r\n\r\n\r\n\r\n EditMemberDetail(obj) {\r\n return this.http.post(\"/AdminInstitution/UpdateUser\", obj);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class AlertService {\n private subject = new Subject();\n private keepAfterNavigationChange = false;\n\n constructor(private router: Router) {\n // clear alert message on route change\n router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.keepAfterNavigationChange) {\n // only keep for a single location change\n this.keepAfterNavigationChange = false;\n } else {\n // clear alert\n this.subject.next();\n }\n }\n });\n }\n\n success(message: string, keepAfterNavigationChange = false) {\n this.keepAfterNavigationChange = keepAfterNavigationChange;\n this.subject.next({ type: 'success', text: message });\n }\n\n error(message: string, keepAfterNavigationChange = false) {\n this.keepAfterNavigationChange = keepAfterNavigationChange;\n this.subject.next({ type: 'error', text: message });\n }\n\n getMessage(): Observable {\n return this.subject.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '../_services/index';\r\nimport { AppConfig } from '../_helpers/config';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n\r\n config: any;\r\n constructor(private http: HttpClient, config: AppConfig) { this.config = config }\r\n\r\n\r\n\r\n GetState() {\r\n\r\n\r\n\r\n\r\n return this.http.get(\"/Masters/GetStateMaster/0\");\r\n }\r\n\r\n\r\n\r\n GetDistrict(stateid) {\r\n\r\n\r\n return this.http.get(\"/Masters/GetDistrictMaster/\" + stateid);\r\n }\r\n\r\n\r\n GetCity(Districtid) {\r\n\r\n\r\n return this.http.get(\"/Masters/GetCityMaster/\" + Districtid);\r\n }\r\n\r\n\r\n\r\n GetGender() {\r\n\r\n\r\n return this.http.get(\"/Masters/GetGenderMaster\");\r\n }\r\n\r\n GetSpeciality() {\r\n\r\n\r\n return this.http.get(\"/Masters/GetSpecialityMaster\");\r\n }\r\n\r\n\r\n GetInstitution() {\r\n\r\n\r\n return this.http.get(\"/Masters/GetInstitutionTypeMaster\");\r\n }\r\n\r\n\r\n\r\n GetSpecialization() {\r\n\r\n\r\n return this.http.get(\"/Masters/GetSpecialityMaster\");\r\n }\r\n\r\n\r\n GetQualification() {\r\n\r\n\r\n return this.http.get(\"/Masters/GetQualificationMaster\");\r\n }\r\n\r\n\r\n\r\n\r\n GetDisability() {\r\n\r\n\r\n return this.http.get(\"/Masters/GetDisabilityMaster\");\r\n }\r\n\r\n\r\n GetBloodGroup() {\r\n\r\n\r\n return this.http.get(\"/Masters/GetBloodGroupMaster\");\r\n }\r\n\r\n\r\n GetRegion() {\r\n return this.http.get(\"/Masters/GetRegionMaster\");\r\n }\r\n\r\n GetMaritalStatus() {\r\n return this.http.get(\"/Masters/GetMaritalStatusMaster\");\r\n }\r\n\r\n ProblemSearch(term) {\r\n\r\n return this.http.get(\"/Consultation/GetProblemType/\" + term);\r\n }\r\n\r\n\r\n AllergySearch(term) {\r\n\r\n return this.http.get(\"/Consultation/GetAllergyType/\" + term);\r\n }\r\n\r\n\r\n\r\n\r\n ProvisionalDiagnosisSearch(term) {\r\n\r\n return this.http.get(\"/Consultation/GetDiagnosis/\" + term);\r\n }\r\n\r\n\r\n\r\n RXSearch(term) {\r\n\r\n return this.http.get(\"/Consultation/GetMedicineType/\" + term);\r\n }\r\n\r\n\r\n\r\n\r\n HCsendSearch(data) {\r\n\r\n\r\n return this.http.post(\"/HCRequest/HealthcubeTestRequest\", data);\r\n }\r\n\r\n HCRecieved(data) {\r\n return this.http.post(\"/HCRequest/GetDiagnosticData\", data);\r\n }\r\n\r\n\r\n\r\n GetSeverityMaster() {\r\n\r\n return this.http.get(\"/Masters/GetSeverityMaster\");\r\n }\r\n\r\n\r\n\r\n GetDurationMaster() {\r\n\r\n return this.http.get(\"/Masters/GetDurationMaster\");\r\n }\r\n\r\n\r\n\r\n GetHCTestMaster() {\r\n\r\n return this.http.get(\"/Masters/GetHCTestMaster\");\r\n }\r\n\r\n\r\n GetDocByhospitallist(id) {\r\n return this.http.get(\"/Members/GetAllMembersByInstitutionId/\" + id);\r\n }\r\n\r\n\r\n Institutionlist() {\r\n\r\n return this.http.get(\"/AdminInstitution/List/0\");\r\n }\r\n\r\n\r\n\r\n addFeedback(objfeedback: any) {\r\n return this.http.post(\"/Feedback\", objfeedback);\r\n }\r\n\r\n showFeedback() {\r\n return this.http.get(\"/Feedback/List\");\r\n }\r\n\r\n\r\n\r\n ConnectedNetworkInstitutions() {\r\n \r\n // return this.http.get(\"/AdminInstitution/GetAllConnectedInstitutions\");\r\n return this.http.get(\"/Consultation/GetAllConnectedInstitutions\");\r\n }\r\n\r\n\r\n\r\n ConnectedInstitutions() {\r\n\r\n return this.http.get(\"/AdminInstitution/GetAllConnectedInstitutions\");\r\n }\r\n\r\n\r\n\r\n\r\n\r\n ConnectedForwordInstitutions() {\r\n\r\n return this.http.get(\"/AdminInstitution/GetAllConnectedHUB\");\r\n }\r\n\r\n\r\n ConnectedMembersByID(id) {\r\n return this.http.get(\"/Members/GetAllConnectedMembers/\" + id);\r\n }\r\n\r\n\r\n ConnectedHUBMembersByID(id) {\r\n return this.http.get(\"/Members/GetAllConnectedHUBMembers/\" + id);\r\n }\r\n\r\n\r\n\r\n GetToken() {\r\n\r\n return this.http.get(\"/eCollab/GenerateAuthToken\");\r\n\r\n }\r\n\r\n\r\n\r\n GetCaseid(data: any) {\r\n\r\n return this.http.post(\"/eCollab/InserteCollabview\", data);\r\n\r\n }\r\n\r\n GetViewToken() {\r\n return this.http.get(\"/eCollab/ViewToken\");\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { AppConfig } from '../../_helpers/config';\nimport { StorageService } from '../storage.service';\n@Injectable()\nexport class DAuthenticationService {\n constructor(private http: HttpClient, private appConfig: AppConfig, private storageService: StorageService) { }\n\n\n private pathAPI = this.appConfig.getdefaulturl();\n login(username: string, password: string) {\n return this.http.post(`${this.pathAPI}/Auth/SignInMember`, { UserName: username, Password: password, \"sourceId\": \"1\"})\n .pipe(map(user => {\n\n\n // login successful if there's a jwt token in the response\n if (user && user.token) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"3\");\n }\n\n return user;\n }));\n }\n\n logout() {\n\n \n return this.http.get(`${this.pathAPI}/MemberProfile/Logout`);\n }\n\n\n\n loginOTPSend(username: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberLoginRequestOTP`, { UserName: username });\n }\n\n\n loginVerifyOTP(username: string, otp: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberLoginVerifyOTP`, { UserName: username, LoginOTP: otp })\n .pipe(map(user => {\n\n\n // login successful if there's a jwt token in the response\n if (user && user.token) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"3\");\n }\n return user;\n }));\n }\n\n\n FGOTPSend(username: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberForgotRequestOTP`, { UserName: username });\n }\n\n\n\n FGVerifyOTPSend(username: string, otp: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberForgotVerifyOTP`, { UserName: username, LoginOTP: otp });\n }\n\n\n\n FGSavepwd(username: string, otp: string, NewPassword: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberChangePassword`, { UserName: username, LoginOTP: otp, Password: NewPassword });\n }\n\n DeleteTocken() {\n return this.http.get(`${this.pathAPI}/Auth/DeleteTocken`);\n }\n}\n","export * from './authentication.service';\nexport * from './user.service';\n\n\n\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '../../_services/index';\r\nimport { AppConfig } from '../../_helpers/config';\r\n\r\n@Injectable()\r\nexport class DUserService {\r\n config: any;\r\n constructor(private http: HttpClient, config: AppConfig) { this.config = config }\r\n\r\n\r\n\r\n\r\n changepwd(OldPassword: string, NewPassword: string, ConfirmPassword: string) {\r\n\r\n\r\n return this.http.post(\"/MemberProfile/ChangePassword\", { OldPassword: OldPassword, Password: NewPassword, ConfirmPassword: ConfirmPassword });\r\n }\r\n\r\n\r\n changeprofilepic(File_Path: string, FileFlag: string, FileName: string) {\r\n\r\n return this.http.post(\"/MemberProfile/UpdateProfileImage\", { \"ImagePath\": File_Path, \"FileFlag\": FileFlag, \"FileName\": FileName });\r\n }\r\n\r\n\r\n GetInstitutionDetail() {\r\n\r\n return this.http.get(\"/MemberProfile/GetInstitutionDetail\");\r\n }\r\n\r\n UpdateInstitutionDetail(data: any) {\r\n\r\n return this.http.post(\"/MemberProfile/UpdateInstitutionDetail\", data);\r\n }\r\n\r\n\r\n AddPatientDetail(data: any) {\r\n\r\n return this.http.post(\"/Patient\", data);\r\n }\r\n EditPatientDetail(data: any) {\r\n\r\n\r\n return this.http.put(\"/Patient\", data);\r\n }\r\n\r\n Patientlist(data: any) {\r\n\r\n return this.http.post(\"/Patient/List\", data);\r\n }\r\n\r\n\r\n GetPatientByID(id) {\r\n\r\n return this.http.get(\"/Patient/\" + id);\r\n }\r\n\r\n\r\n Doctorlist() {\r\n\r\n return this.http.get(\"/Members/List\");\r\n }\r\n\r\n\r\n GetDoctorByID(id) {\r\n\r\n return this.http.get(\"/Members/\" + id);\r\n }\r\n UploadDocSignature(data: any) {\r\n\r\n return this.http.post(\"/MemberProfile/FileUpload\", data);\r\n }\r\n\r\n GetDoctorprescriptionByID(id) {\r\n\r\n return this.http.get(\"/MemberProfile/GetMemberProfile/\" + id);\r\n }\r\n\r\n EditDoctor(data: any) {\r\n\r\n return this.http.put(\"/Members\", data);\r\n }\r\n GetDoctorProfile() {\r\n\r\n return this.http.get(\"/MemberProfile\");\r\n }\r\n EditDoctorProfile(data: any) {\r\n\r\n return this.http.post(\"/MemberProfile/UpdateProfile\", data);\r\n }\r\n\r\n\r\n SaveMemberRole(obj) {\r\n return this.http.post(\"/AdminInstitution/InsertInstitutionMemberMenuMapping\", obj);\r\n }\r\n\r\n\r\n\r\n addPrescription(obj) {\r\n return this.http.post(\"/Consultation/InsertConsultation\", obj);\r\n }\r\n\r\n addDraft(obj) {\r\n return this.http.post(\"/Consultation/DraftConsultation\", obj);\r\n }\r\n\r\n\r\n InProcessConsultaion(obj) {\r\n return this.http.post(\"/Consultation/InProcessConsultation\", obj);\r\n }\r\n\r\n SynceConsultaion(obj) {\r\n return this.http.post(\"/Consultation/SyncConsultation\", obj);\r\n }\r\n\r\n\r\n Fecthstatususer() {\r\n return this.http.get(\"/Consultation/CheckAvailability\");\r\n }\r\n\r\n\r\n\r\n Fecthstatusercall(id) {\r\n return this.http.get(\"/Consultation/CheckUserAvailability/\" + id);\r\n\r\n }\r\n\r\n\r\n\r\n CheckRecallStatus(id) {\r\n return this.http.get(\"/Consultation/CheckRecallStatus/\" + id);\r\n\r\n }\r\n\r\n InProcessLog(id) {\r\n return this.http.get(\"/Consultation/InProcessLog/\" + id);\r\n\r\n }\r\n\r\n\r\n\r\n CheckRealStatus(id) {\r\n return this.http.get(\"/Home/CheckRealStatus/\" + id);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n Fecthchangestatuser() {\r\n return this.http.get(\"/Members/SetStatus\");\r\n\r\n }\r\n\r\n GetCaseReceived(data: any) {\r\n\r\n return this.http.post(\"/Consultation/ReceivedList\", data);\r\n }\r\n\r\n GetCaseReffered(data: any) {\r\n\r\n return this.http.post(\"/Consultation/ReferredList\", data);\r\n }\r\n\r\n\r\n GetConsultationsViewsByID(id) {\r\n\r\n return this.http.get(\"/Consultation/PatientConsultationList/\" + id);\r\n }\r\n\r\n UploadMedicalDoc(data: any) {\r\n\r\n return this.http.post(\"/Consultation/FileUpload\", data);\r\n }\r\n\r\n addspecilPrescription(obj) {\r\n return this.http.post(\"/Consultation/InsertResponseConsultation\", obj);\r\n }\r\n\r\n\r\n\r\n UpdateConsultationStatus(obj) {\r\n return this.http.post(\"/Consultation/UpdateConsultationStatus\", obj);\r\n }\r\n\r\n\r\n ForwardConsultation(obj) {\r\n return this.http.post(\"/Consultation/ForwardConsultation\", obj);\r\n }\r\n\r\n GetConsultationRecordByID(id) {\r\n\r\n\r\n return this.http.get(\"/Reports/GetConsultationRecordByID/\" + id);\r\n }\r\n\r\n GetConsultationByID(id) {\r\n\r\n\r\n return this.http.get(\"/Consultation/\" + id);\r\n }\r\n\r\n\r\n DownloadPrescription(id) {\r\n\r\n\r\n return this.http.get(\"/Consultation/DownloadPrescription/\" + id);\r\n }\r\n\r\n\r\n\r\n checksession(id) {\r\n return this.http.get(\"/Consultation/CheckConsultationSession/\" + id);\r\n }\r\n\r\n\r\n CheckConsultationCurrentStatus(id) {\r\n return this.http.get(\"/Consultation/CheckConsultationCurrentStatus/\" + id);\r\n }\r\n\r\n\r\n\r\n Doctorlogout() {\r\n return this.http.get(\"/MemberProfile/Logout\");\r\n }\r\n\r\n\r\n\r\n\r\n UpdateVCResponseTime(data: any) {\r\n\r\n return this.http.post(\"/Consultation/InsertUpdateVCResponseTime\", data);\r\n }\r\n\r\n\r\n\r\n\r\n getCaseDetails(data: any) {\r\n return this.http.post(\"/eCollab/ShowCaseDetail\", data);\r\n }\r\n GetReport(data: any) {\r\n return this.http.post(\"/eCollab/ShowReport\", data);\r\n }\r\n\r\n\r\n}\r\n","\nimport { Injectable, EventEmitter } from '@angular/core'; \nimport { Subscription } from 'rxjs/internal/Subscription'; \n \n@Injectable({ \n providedIn: 'root' \n}) \nexport class EventEmitterService { \n \n invokeFirstComponentFunction = new EventEmitter(); \n subsVar: Subscription; \n \n constructor() { } \n \n onFirstComponentButtonClick() {\n\n \n\n this.invokeFirstComponentFunction.emit(); \n } \n} \n","import { Injectable } from '@angular/core';\nimport * as FileSaver from 'file-saver';\nimport * as XLSX from 'xlsx';\n\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst EXCEL_EXTENSION = '.xlsx';\n\n@Injectable()\nexport class ExcelService {\n\n constructor() { }\n\n public exportAsExcelFile(json: any[], excelFileName: string): void {\n \n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\n console.log('worksheet',worksheet);\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\n this.saveAsExcelFile(excelBuffer, excelFileName);\n }\n\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], {\n type: EXCEL_TYPE\n });\n FileSaver.saveAs(data, fileName + '_Report_' + new Date().getTime() + EXCEL_EXTENSION);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { AppConfig } from '../../_helpers/config';\nimport { StorageService } from '../storage.service';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable()\nexport class HAuthenticationService {\n\n\n constructor(private http: HttpClient, private appConfig: AppConfig, private storageService: StorageService, private cookieService: CookieService) { }\n\n\n private pathAPI = this.appConfig.getdefaulturl();\n login(username: string, password: string,capchavalue:string) {\n\n return this.http.post(`${this.pathAPI}/Auth/SignInMember`, { UserName: username, Password: password, \"sourceId\": \"1\",CapchaValue:capchavalue})\n .pipe(map(user => {\n\n\n \n // login successful if there's a jwt token in the response\n if (user && user.token) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n \n\n \n if (user.model.isMaster == true) {\n\n this.cookieService.set('esanjhcookie', user.token, 1, \"\", \"\", AppConfig.securecookie);\n localStorage.setItem('currentHospitalUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"2\");\n \n }else{\n this.cookieService.set('esanjcookie', user.token, 1, \"\", \"\", AppConfig.securecookie);\n localStorage.setItem('currentUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"3\");\n \n }\n \n localStorage.removeItem('HCubeStatus');\n if (user.model.lstSubMenuModel) {\n for (let menuname of user.model.lstSubMenuModel) {\n if (menuname.subMenuId == \"10\") {\n localStorage.setItem('HCubeStatus', \"1\");\n break;\n }\n\n }\n }\n\n }\n\n \n\n return user;\n }));\n }\n\n logout() {\n // remove user from local storage to log user out\n localStorage.removeItem('currentHospitalUser');\n localStorage.removeItem('currentUserType');\n localStorage.removeItem('HCubeStatus');\n localStorage.removeItem('MenuStaus');\n this.storageService.hubConnection.stop();\n return this.http.get(`${this.pathAPI}/Auth/MemberLogout`);\n }\n\n\n loginOTPSend(username: string,para:string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberLoginRequestOTP`, { UserName: username,para:para });\n }\n\n\n loginVerifyOTP(username: string, otp: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberLoginVerifyOTP`, { UserName: username, LoginOTP: otp })\n .pipe(map(user => {\n\n\n\n // login successful if there's a jwt token in the response\n if (user && user.token) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n \n\n \n \n\n \n\n if (user.model.isMaster == true) {\n\n this.cookieService.set('esanjhcookie', user.token, 1, \"\", \"\", AppConfig.securecookie);\n localStorage.setItem('currentHospitalUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"2\");\n \n }else{\n this.cookieService.set('esanjcookie', user.token, 1, \"\", \"\", AppConfig.securecookie);\n localStorage.setItem('currentUser', JSON.stringify(user));\n localStorage.setItem('currentUserType', \"3\");\n \n }\n \n localStorage.removeItem('HCubeStatus');\n if (user.model.lstSubMenuModel) {\n for (let menuname of user.model.lstSubMenuModel) {\n if (menuname.subMenuId == \"10\") {\n localStorage.setItem('HCubeStatus', \"1\");\n break;\n }\n\n }\n }\n\n }\n\n return user;\n }));\n }\n\n \n FGOTPSend(username: string, para: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberForgotRequestOTP`, { UserName: username,para: para});\n }\n\n\n\n FGVerifyOTPSend(username: string, otp: string,para: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberForgotVerifyOTP`, { UserName: username, LoginOTP: otp,para: para });\n }\n\n\n\n FGSavepwd(username: string, otp: string, NewPassword: string) {\n return this.http.post(`${this.pathAPI}/Auth/MemberChangePassword`, { UserName: username, LoginOTP: otp, Password: NewPassword });\n }\n\n\n \n DeleteTocken() {\n return this.http.get(`${this.pathAPI}/Auth/DeleteTocken`);\n }\n}\n","export * from './authentication.service';\nexport * from './user.service';\n\n\n\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '../../_services/index';\r\nimport { AppConfig } from '../../_helpers/config';\r\n\r\n@Injectable()\r\nexport class HUserService {\r\n config: any;\r\n constructor(private http: HttpClient, config: AppConfig) { this.config = config }\r\n\r\n\r\n\r\n\r\n changepwd(OldPassword: string, NewPassword: string, ConfirmPassword: string) {\r\n\r\n\r\n return this.http.post(\"/MemberProfile/ChangePassword\", { OldPassword: OldPassword, Password: NewPassword, ConfirmPassword: ConfirmPassword });\r\n }\r\n\r\n\r\n changeprofilepic(File_Path: string, FileFlag: string, FileName: string) {\r\n\r\n return this.http.post(\"/MemberProfile/UpdateProfileImage\", { \"ImagePath\": File_Path, \"FileFlag\": FileFlag, \"FileName\": FileName });\r\n }\r\n\r\n\r\n GetInstitutionDetail() {\r\n\r\n return this.http.get(\"/MemberProfile/GetInstitutionDetail\");\r\n }\r\n\r\n UpdateInstitutionDetail(data: any) {\r\n \r\n return this.http.post(\"/MemberProfile/UpdateInstitutionDetail\", data);\r\n }\r\n\r\n\r\n AddDoctorDetail(data: any) {\r\n \r\n return this.http.post(\"/Members/InsertMember\", data);\r\n }\r\n\r\n\r\n Doctorlist() {\r\n\r\n return this.http.get(\"/Members/List\");\r\n }\r\n\r\n\r\n GetDoctorByID(id) {\r\n\r\n return this.http.get(\"/Members/\" + id);\r\n }\r\n\r\n EditDoctor(data: any) {\r\n\r\n return this.http.put(\"/Members/UpdateMember\", data);\r\n }\r\n\r\n\r\n\r\n GetMemberByID(id) {\r\n\r\n return this.http.get(\"/Members/GetMemberMenu/\" + id);\r\n }\r\n\r\n\r\n SaveMemberRole(obj) {\r\n return this.http.post(\"/Members/InsertMemberMenuMapping\", obj);\r\n }\r\n\r\n\r\n\r\n HospitalAdminlogout() {\r\n return this.http.get(\"/MemberProfile/Logout\");\r\n }\r\n\r\n \r\n}\r\n","export * from './alert.service';\nexport * from './HttpClient.service';\nexport * from './storage.service';\n//export * from './common.service';\n//export * from './report.service';\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { AppConfig } from '../../_helpers/config';\nimport { StorageService } from '../storage.service';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable()\nexport class PAuthenticationService {\n\n\n constructor(private http: HttpClient, private appConfig: AppConfig, private storageService: StorageService, private cookieService: CookieService) { }\n\n\n private pathAPI = this.appConfig.getdefaulturl();\n login(username: string, password: string, capchavalue: string) {\n\n return this.http.post(`${this.pathAPI}/Auth/VerifyPatientLogin`, { UserName: username, Password: password, \"sourceId\": \"1\", CapchaValue: capchavalue })\n .pipe(map(user => {\n\n\n\n // login successful if there's a jwt token in the response\n if (user && user.token) {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n\n\n this.cookieService.set('esanjhpaientcookie', user.token, 1, \"\", \"\", AppConfig.securecookie);\n localStorage.setItem('currentPatientUser', JSON.stringify(user));\n\n }\n\n\n\n return user;\n }));\n }\n\n logout() {\n // remove user from local storage to log user out\n localStorage.removeItem('currentPatientUser');\n this.storageService.hubConnection.stop();\n return this.http.get(`${this.pathAPI}/Auth/MemberLogout`);\n }\n\n\n RegistrationOTPSend(mobile: string, para: string) {\n return this.http.post(`${this.pathAPI}/Auth/CovidRequestRegistrationOTP`, { Mobile: mobile, para: para });\n }\n\n\n RegistrationVerifyOTP(mobile: string, otp: string) {\n return this.http.post(`${this.pathAPI}/Auth/CovidVerifyRegistrationOTP`, { Mobile: mobile, OTP: otp });\n \n }\n\n\n\n RegistrationPatient(data: any) {\n return this.http.post(`${this.pathAPI}/Auth/CovidPatientRegistration`, data);\n }\n\n\n DeleteTocken() {\n return this.http.get(`${this.pathAPI}/Auth/DeleteTocken`);\n }\n\n\n\n\n GetState() {\n\n\n return this.http.get(`${this.pathAPI}/CovidCommon/GetStateMaster/0`);\n\n }\n\n\n\n GetDistrict(stateid) {\n\n\n return this.http.get(`${this.pathAPI}//CovidCommon/GetDistrictMaster/` + stateid);\n }\n\n\n GetCity(Districtid) {\n\n\n return this.http.get(`${this.pathAPI}/CovidCommon/GetCityMaster/` + Districtid);\n }\n\n\n\n GetGender() {\n\n\n return this.http.get(`${this.pathAPI}/CovidCommon/GetGenderMaster`);\n }\n\n\n}\n","export * from './authentication.service';\nexport * from './user.service';\n\n\n\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '../../_services/index';\r\nimport { AppConfig } from '../../_helpers/config';\r\n\r\n@Injectable()\r\nexport class PUserService {\r\n config: any;\r\n constructor(private http: HttpClient, config: AppConfig) { this.config = config }\r\n\r\n\r\n\r\n\r\n changepwd(OldPassword: string, NewPassword: string, ConfirmPassword: string) {\r\n\r\n\r\n return this.http.post(\"/MemberProfile/ChangePassword\", { OldPassword: OldPassword, Password: NewPassword, ConfirmPassword: ConfirmPassword });\r\n }\r\n\r\n\r\n changeprofilepic(File_Path: string, FileFlag: string, FileName: string) {\r\n\r\n return this.http.post(\"/MemberProfile/UpdateProfileImage\", { \"ImagePath\": File_Path, \"FileFlag\": FileFlag, \"FileName\": FileName });\r\n }\r\n\r\n\r\n GetInstitutionDetail() {\r\n\r\n return this.http.get(\"/MemberProfile/GetInstitutionDetail\");\r\n }\r\n\r\n UpdateInstitutionDetail(data: any) {\r\n \r\n return this.http.post(\"/MemberProfile/UpdateInstitutionDetail\", data);\r\n }\r\n\r\n\r\n AddDoctorDetail(data: any) {\r\n \r\n return this.http.post(\"/Members/InsertMember\", data);\r\n }\r\n\r\n\r\n Doctorlist() {\r\n\r\n return this.http.get(\"/Members/List\");\r\n }\r\n\r\n\r\n GetDoctorByID(id) {\r\n\r\n return this.http.get(\"/Members/\" + id);\r\n }\r\n\r\n EditDoctor(data: any) {\r\n\r\n return this.http.put(\"/Members/UpdateMember\", data);\r\n }\r\n\r\n\r\n\r\n GetMemberByID(id) {\r\n\r\n return this.http.get(\"/Members/GetMemberMenu/\" + id);\r\n }\r\n\r\n\r\n SaveMemberRole(obj) {\r\n return this.http.post(\"/Members/InsertMemberMenuMapping\", obj);\r\n }\r\n\r\n\r\n\r\n HospitalAdminlogout() {\r\n return this.http.get(\"/MemberProfile/Logout\");\r\n }\r\n\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '../_services/index';\nimport { AppConfig } from '../_helpers/config';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n config: any;\n constructor(private http: HttpClient, config: AppConfig) { this.config = config }\n\n\n\n ConsulatationReport(data: any) {\n\n return this.http.post(\"/Reports/GetConsultationReport\", data);\n }\n\n\n\n\n\n\n GetInstitutions() {\n\n return this.http.get(\"/Masters/GetInstitutions\");\n }\n\n\n\n GetInstitutionsReport(id) {\n\n return this.http.get(\"/Reports/GetInstitutions/\" + id);\n }\n\n\n\n\n GetInstitutionsReportsearch(id, Name) {\n\n return this.http.get(\"/Reports/GetInstitutions?Id=\" + id + \"&Name=\" + Name);\n\n }\n\n\n\n GetMemberByInstitution() {\n\n return this.http.get(\"/Masters/GetMemberByInstitutionId/0\");\n }\n\n\n\n GetMemberByInstitutionReport() {\n\n return this.http.get(\"/Reports/GetMemberByInstitutionId/0\");\n }\n\n\n\n ConsulatationProblemReport(data: any) {\n\n return this.http.post(\"/Reports/GetProblemReport\", data);\n }\n\n\n\n\n ConsulatationReceivedSummary(data: any) {\n\n return this.http.post(\"/Reports/GetReceivedSummaryReport\", data);\n }\n\n\n\n\n ConsulatationDormantummary(data: any) {\n\n return this.http.post(\"/Reports/DormatSummaryReport\", data);\n }\n\n\n\n\n ConsulatationPrintDormantummary(data: any) {\n\n return this.http.post(\"/Reports/DormatPrintSummaryReport\", data);\n }\n\n\n\n\n ConsulatationRefferedSummary(data: any) {\n\n return this.http.post(\"/Reports/GetRefferedSummaryReport\", data);\n }\n\n\n\n\n\n ConsulatationSearch(data: any) {\n \n return this.http.post(\"/Reports/DownloadConsultationReport\", data);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { Http } from '@angular/http';\nimport { Observable } from 'rxjs';\n\n\n@Injectable()\nexport class AppServices {\n\n constructor(private http: Http) {\n var obj;\n this.getJSON();\n }\n\n public getJSON(): Observable {\n return this.http.get(\"./assets/Branch_Format.xlsx\");\n\n\n }\n}","import { Injectable, Inject } from '@angular/core';\r\nimport * as signalR from \"@aspnet/signalr\";\r\nimport { SignalRAdapter } from '../components/signalRAdapter/signalr-adapter';\r\ndeclare var jQuery: any;\r\n@Injectable()\r\nexport class StorageService {\r\n constructor() {\r\n console.log(\"constructor: : StorageService \");\r\n\r\n }\r\n contentComponentIdList: any = [];\r\n\r\n add(key: string, value: any) {\r\n console.log(\"key: \", key);\r\n this.remove(key);\r\n if (value) {\r\n value = JSON.stringify(value);\r\n }\r\n localStorage.setItem(key, value);\r\n }\r\n\r\n get(key: string): T {\r\n let value: string = localStorage.getItem(key);\r\n\r\n if (value && value !== \"undefined\" && value !== \"null\") {\r\n try {\r\n return JSON.parse(value);\r\n } catch (ex) {\r\n return null;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n remove(key: string) {\r\n console.log(\"remove is called!!\");\r\n localStorage.removeItem(key);\r\n }\r\n\r\n public hubConnection: signalR.HubConnection;\r\n public otherEndChatId:any;\r\n public SignalRAdapter: SignalRAdapter;\r\n getconnection() {\r\n return this.hubConnection;\r\n }\r\n // theme change on dropdown------\r\n\r\n // text style //\r\n public globalprescription : any;\r\n\r\n getprescription() {\r\n\r\n return this.globalprescription;\r\n }\r\n public Issync: boolean;\r\n public hubmessage: any;\r\n public isConnectionEstablished: boolean=false;\r\n public isLoaderShow: boolean = false;\r\n public consultationId: any;\r\n public userId: any;\r\n public FromHospitalName: any;\r\n public Currenturl: any;\r\n\r\n public SenderId:any;\r\n public ReceiverId:any\r\n public showpop: boolean = false;\r\n public ddlshow: boolean = false;\r\n public singnalrstatus: boolean = false;\r\n public btnsavedraftStatus: boolean = false;\r\n public isDraftStatus: boolean=false;\r\n public isConsultationActive: boolean=false;\r\n public remoteType: boolean=false;\r\n}\r\n","module.exports = \".mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em 0}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0 1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\\\"Helvetica Neue\\\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\\\"Helvetica Neue\\\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,-webkit-transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1);transition:opacity,transform 0s cubic-bezier(0,0,.2,1),-webkit-transform 0s cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.mat-ripple-element{background-color:rgba(0,0,0,.1)}.mat-option{color:rgba(0,0,0,.87)}.mat-option:focus:not(.mat-option-disabled),.mat-option:hover:not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){background:rgba(0,0,0,.04)}.mat-option.mat-active{background:rgba(0,0,0,.04);color:rgba(0,0,0,.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,.38)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#3f51b5}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#ff4081}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#f44336}.mat-optgroup-label{color:rgba(0,0,0,.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-disabled{color:#b0b0b0}.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate,.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate{background:#ff4081}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#3f51b5}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#f44336}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-elevation-z0{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-elevation-z1{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-elevation-z2{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-elevation-z3{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-elevation-z4{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-elevation-z5{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.mat-elevation-z6{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-elevation-z7{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.mat-elevation-z8{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-elevation-z9{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.mat-elevation-z10{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.mat-elevation-z11{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.mat-elevation-z12{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-elevation-z13{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.mat-elevation-z14{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.mat-elevation-z15{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.mat-elevation-z16{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-elevation-z17{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.mat-elevation-z18{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.mat-elevation-z19{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.mat-elevation-z20{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.mat-elevation-z21{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.mat-elevation-z22{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.mat-elevation-z23{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.mat-elevation-z24{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-autocomplete-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,.87)}.mat-badge-content{color:#fff;background:#3f51b5}@media (-ms-high-contrast:active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-accent .mat-badge-content{background:#ff4081;color:#fff}.mat-badge-warn .mat-badge-content{color:#fff;background:#f44336}.mat-badge{position:relative}.mat-badge-hidden .mat-badge-content{display:none}.mat-badge-disabled .mat-badge-content{background:#b9b9b9;color:rgba(0,0,0,.38)}.mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out, -webkit-transform .2s ease-in-out;-webkit-transform:scale(.6);transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.mat-badge-content.mat-badge-active{-webkit-transform:none;transform:none}.mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.mat-bottom-sheet-container{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-button,.mat-icon-button,.mat-stroked-button{color:inherit;background:0 0}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#3f51b5}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#ff4081}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#f44336}.mat-button.mat-accent[disabled],.mat-button.mat-primary[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:#3f51b5}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:#ff4081}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:#f44336}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button[disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button .mat-ripple-element,.mat-icon-button .mat-ripple-element,.mat-stroked-button .mat-ripple-element{opacity:.1;background-color:currentColor}.mat-button-focus-overlay{background:#000}.mat-stroked-button:not([disabled]){border-color:rgba(0,0,0,.12)}.mat-fab,.mat-flat-button,.mat-mini-fab,.mat-raised-button{color:rgba(0,0,0,.87);background-color:#fff}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{color:#fff}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{color:#fff}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{color:#fff}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{color:rgba(0,0,0,.26)}.mat-fab.mat-primary,.mat-flat-button.mat-primary,.mat-mini-fab.mat-primary,.mat-raised-button.mat-primary{background-color:#3f51b5}.mat-fab.mat-accent,.mat-flat-button.mat-accent,.mat-mini-fab.mat-accent,.mat-raised-button.mat-accent{background-color:#ff4081}.mat-fab.mat-warn,.mat-flat-button.mat-warn,.mat-mini-fab.mat-warn,.mat-raised-button.mat-warn{background-color:#f44336}.mat-fab.mat-accent[disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled]{background-color:rgba(0,0,0,.12)}.mat-fab.mat-primary .mat-ripple-element,.mat-flat-button.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element,.mat-raised-button.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-accent .mat-ripple-element,.mat-flat-button.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element,.mat-raised-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-fab.mat-warn .mat-ripple-element,.mat-flat-button.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element,.mat-raised-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,.1)}.mat-flat-button:not([class*=mat-elevation-z]),.mat-stroked-button:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-raised-button:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-raised-button:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.mat-raised-button[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-fab:not([class*=mat-elevation-z]),.mat-mini-fab:not([class*=mat-elevation-z]){box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-fab:not([disabled]):active:not([class*=mat-elevation-z]),.mat-mini-fab:not([disabled]):active:not([class*=mat-elevation-z]){box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.mat-fab[disabled]:not([class*=mat-elevation-z]),.mat-mini-fab[disabled]:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-button-toggle-group,.mat-button-toggle-standalone{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{box-shadow:none}.mat-button-toggle{color:rgba(0,0,0,.38)}.mat-button-toggle .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,.12)}.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87);background:#fff}.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay{background-color:#000}.mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:solid 1px rgba(0,0,0,.12)}[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle+.mat-button-toggle{border-left:none;border-right:none;border-top:solid 1px rgba(0,0,0,.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,.54)}.mat-button-toggle-checked.mat-button-toggle-appearance-standard{color:rgba(0,0,0,.87)}.mat-button-toggle-disabled{color:rgba(0,0,0,.26);background-color:#eee}.mat-button-toggle-disabled.mat-button-toggle-appearance-standard{background:#fff}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-button-toggle-group-appearance-standard,.mat-button-toggle-standalone.mat-button-toggle-appearance-standard{border:solid 1px rgba(0,0,0,.12)}.mat-card{background:#fff;color:rgba(0,0,0,.87)}.mat-card:not([class*=mat-elevation-z]){box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.mat-card.mat-card-flat:not([class*=mat-elevation-z]){box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-card-subtitle{color:rgba(0,0,0,.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,.54)}.mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa!important}@media (-ms-high-contrast:black-on-white){.mat-checkbox-checkmark-path{stroke:#000!important}}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-checked.mat-primary .mat-checkbox-background,.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background{background-color:#3f51b5}.mat-checkbox-checked.mat-accent .mat-checkbox-background,.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background{background-color:#ff4081}.mat-checkbox-checked.mat-warn .mat-checkbox-background,.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background{background-color:#f44336}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:rgba(0,0,0,.54)}@media (-ms-high-contrast:active){.mat-checkbox-disabled{opacity:.5}}@media (-ms-high-contrast:active){.mat-checkbox-background{background:0 0}}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{background-color:#3f51b5}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:#ff4081}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:#f44336}.mat-chip.mat-standard-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mat-chip.mat-standard-chip .mat-chip-remove{color:rgba(0,0,0,.87);opacity:.4}.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active{box-shadow:0 3px 3px -2px rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12)}.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover{opacity:.54}.mat-chip.mat-standard-chip.mat-chip-disabled{opacity:.4}.mat-chip.mat-standard-chip::after{background:#000}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary{background-color:#3f51b5;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn{background-color:#f44336;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent{background-color:#ff4081;color:#fff}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:#fff;opacity:.4}.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element{background:rgba(255,255,255,.1)}.mat-table{background:#fff}.mat-table tbody,.mat-table tfoot,.mat-table thead,.mat-table-sticky,[mat-footer-row],[mat-header-row],[mat-row],mat-footer-row,mat-header-row,mat-row{background:inherit}mat-footer-row,mat-header-row,mat-row,td.mat-cell,td.mat-footer-cell,th.mat-header-cell{border-bottom-color:rgba(0,0,0,.12)}.mat-header-cell{color:rgba(0,0,0,.54)}.mat-cell,.mat-footer-cell{color:rgba(0,0,0,.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,.54)}.mat-datepicker-content .mat-calendar-next-button,.mat-datepicker-content .mat-calendar-previous-button,.mat-datepicker-toggle{color:rgba(0,0,0,.54)}.mat-calendar-table-header{color:rgba(0,0,0,.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,.12)}.mat-calendar-body-label{color:rgba(0,0,0,.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){color:rgba(0,0,0,.38)}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,.04)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.38)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,.18)}.mat-calendar-body-selected{background-color:#3f51b5;color:#fff}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(63,81,181,.4)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);background-color:#fff;color:rgba(0,0,0,.87)}.mat-datepicker-content.mat-accent .mat-calendar-body-selected{background-color:#ff4081;color:#fff}.mat-datepicker-content.mat-accent .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(255,64,129,.4)}.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content.mat-warn .mat-calendar-body-selected{background-color:#f44336;color:#fff}.mat-datepicker-content.mat-warn .mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(244,67,54,.4)}.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px #fff}.mat-datepicker-content-touch{box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.mat-datepicker-toggle-active{color:#3f51b5}.mat-datepicker-toggle-active.mat-accent{color:#ff4081}.mat-datepicker-toggle-active.mat-warn{color:#f44336}.mat-dialog-container{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);background:#fff;color:rgba(0,0,0,.87)}.mat-divider{border-top-color:rgba(0,0,0,.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,.87)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}.mat-action-row{border-top-color:rgba(0,0,0,.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:rgba(0,0,0,.04)}@media (hover:none){.mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover{background:#fff}}.mat-expansion-panel-header-title{color:rgba(0,0,0,.87)}.mat-expansion-indicator::after,.mat-expansion-panel-header-description{color:rgba(0,0,0,.54)}.mat-expansion-panel-header[aria-disabled=true]{color:rgba(0,0,0,.26)}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title{color:inherit}.mat-form-field-label{color:rgba(0,0,0,.6)}.mat-hint{color:rgba(0,0,0,.6)}.mat-form-field.mat-focused .mat-form-field-label{color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#ff4081}.mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#f44336}.mat-focused .mat-form-field-required-marker{color:#ff4081}.mat-form-field-ripple{background-color:rgba(0,0,0,.87)}.mat-form-field.mat-focused .mat-form-field-ripple{background-color:#3f51b5}.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#ff4081}.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#f44336}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after{color:#3f51b5}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after{color:#ff4081}.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker,.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent{color:#f44336}.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#f44336}.mat-error{color:#f44336}.mat-form-field-appearance-legacy .mat-form-field-label{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-hint{color:rgba(0,0,0,.54)}.mat-form-field-appearance-legacy .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-standard .mat-form-field-underline{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 33%,transparent 0);background-size:4px 100%;background-repeat:repeat-x}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:rgba(0,0,0,.04)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:rgba(0,0,0,.02)}.mat-form-field-appearance-fill .mat-form-field-underline::before{background-color:rgba(0,0,0,.42)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before{background-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline{color:rgba(0,0,0,.12)}.mat-form-field-appearance-outline .mat-form-field-outline-thick{color:rgba(0,0,0,.87)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#3f51b5}.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#ff4081}.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#f44336}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:rgba(0,0,0,.38)}.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:rgba(0,0,0,.06)}.mat-icon.mat-primary{color:#3f51b5}.mat-icon.mat-accent{color:#ff4081}.mat-icon.mat-warn{color:#f44336}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{color:rgba(0,0,0,.54)}.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after,.mat-input-element:disabled{color:rgba(0,0,0,.38)}.mat-input-element{caret-color:#3f51b5}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,.42)}.mat-accent .mat-input-element{caret-color:#ff4081}.mat-form-field-invalid .mat-input-element,.mat-warn .mat-input-element{caret-color:#f44336}.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after{color:#f44336}.mat-list-base .mat-list-item{color:rgba(0,0,0,.87)}.mat-list-base .mat-list-option{color:rgba(0,0,0,.87)}.mat-list-base .mat-subheader{color:rgba(0,0,0,.54)}.mat-list-item-disabled{background-color:#eee}.mat-action-list .mat-list-item:focus,.mat-action-list .mat-list-item:hover,.mat-list-option:focus,.mat-list-option:hover,.mat-nav-list .mat-list-item:focus,.mat-nav-list .mat-list-item:hover{background:rgba(0,0,0,.04)}.mat-menu-panel{background:#fff}.mat-menu-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-menu-item{background:0 0;color:rgba(0,0,0,.87)}.mat-menu-item[disabled],.mat-menu-item[disabled]::after{color:rgba(0,0,0,.38)}.mat-menu-item .mat-icon-no-color,.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,.54)}.mat-menu-item-highlighted:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item:hover:not([disabled]){background:rgba(0,0,0,.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,.54);border-right:2px solid rgba(0,0,0,.54)}.mat-paginator-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,.38)}.mat-progress-bar-background{fill:#c5cae9}.mat-progress-bar-buffer{background-color:#c5cae9}.mat-progress-bar-fill::after{background-color:#3f51b5}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ff80ab}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#ff4081}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#ffcdd2}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#f44336}.mat-progress-spinner circle,.mat-spinner circle{stroke:#3f51b5}.mat-progress-spinner.mat-accent circle,.mat-spinner.mat-accent circle{stroke:#ff4081}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#f44336}.mat-radio-outer-circle{border-color:rgba(0,0,0,.54)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#3f51b5}.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple{background-color:#3f51b5}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#ff4081}.mat-radio-button.mat-accent .mat-radio-inner-circle,.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple{background-color:#ff4081}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#f44336}.mat-radio-button.mat-warn .mat-radio-inner-circle,.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple{background-color:#f44336}.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle,.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle{border-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle,.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element{background-color:rgba(0,0,0,.38)}.mat-radio-button.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,.38)}.mat-radio-button .mat-ripple-element{background-color:#000}.mat-select-value{color:rgba(0,0,0,.87)}.mat-select-placeholder{color:rgba(0,0,0,.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,.38)}.mat-select-arrow{color:rgba(0,0,0,.54)}.mat-select-panel{background:#fff}.mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#3f51b5}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#ff4081}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#f44336}.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:rgba(0,0,0,.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer:not(.mat-drawer-side){box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.mat-drawer-side{border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-side.mat-drawer-end{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side{border-left:solid 1px rgba(0,0,0,.12);border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-left:none;border-right:solid 1px rgba(0,0,0,.12)}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,.6)}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#ff4081}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:rgba(255,64,129,.54)}.mat-slide-toggle.mat-checked .mat-ripple-element{background-color:#ff4081}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb{background-color:#3f51b5}.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar{background-color:rgba(63,81,181,.54)}.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element{background-color:#3f51b5}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb{background-color:#f44336}.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar{background-color:rgba(244,67,54,.54)}.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element{background-color:#f44336}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:#000}.mat-slide-toggle-thumb{box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,.38)}.mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label,.mat-primary .mat-slider-track-fill{background-color:#3f51b5}.mat-primary .mat-slider-thumb-label-text{color:#fff}.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label,.mat-accent .mat-slider-track-fill{background-color:#ff4081}.mat-accent .mat-slider-thumb-label-text{color:#fff}.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label,.mat-warn .mat-slider-track-fill{background-color:#f44336}.mat-warn .mat-slider-thumb-label-text{color:#fff}.mat-slider-focus-ring{background-color:rgba(255,64,129,.2)}.cdk-focused .mat-slider-track-background,.mat-slider:hover .mat-slider-track-background{background-color:rgba(0,0,0,.38)}.mat-slider-disabled .mat-slider-thumb,.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill{background-color:rgba(0,0,0,.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb{border-color:rgba(0,0,0,.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,.7)}.mat-slider-horizontal .mat-slider-ticks{background-image:repeating-linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent);background-image:-moz-repeating-linear-gradient(.0001deg,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom,rgba(0,0,0,.7),rgba(0,0,0,.7) 2px,transparent 0,transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,.04)}@media (hover:none){.mat-step-header:hover{background:0 0}}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,.54)}.mat-step-header .mat-step-icon{background-color:rgba(0,0,0,.54);color:#fff}.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit{background-color:#3f51b5;color:#fff}.mat-step-header .mat-step-icon-state-error{background-color:transparent;color:#f44336}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,.87)}.mat-step-header .mat-step-label.mat-step-label-error{color:#f44336}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{border-left-color:rgba(0,0,0,.12)}.mat-horizontal-stepper-header::after,.mat-horizontal-stepper-header::before,.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,.12)}.mat-sort-header-arrow{color:#757575}.mat-tab-header,.mat-tab-nav-bar{border-bottom:1px solid rgba(0,0,0,.12)}.mat-tab-group-inverted-header .mat-tab-header,.mat-tab-group-inverted-header .mat-tab-nav-bar{border-top:1px solid rgba(0,0,0,.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,.38)}.mat-tab-group[class*=mat-background-] .mat-tab-header,.mat-tab-nav-bar[class*=mat-background-]{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#3f51b5}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#ff4081}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#f44336}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(197,202,233,.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-links,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#3f51b5}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:#fff}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,128,171,.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#ff4081}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-link,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:#fff}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled){background-color:rgba(255,205,210,.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#f44336}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:#fff}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:#fff}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,.87)}.mat-toolbar.mat-primary{background:#3f51b5;color:#fff}.mat-toolbar.mat-accent{background:#ff4081;color:#fff}.mat-toolbar.mat-warn{background:#f44336;color:#fff}.mat-toolbar .mat-focused .mat-form-field-ripple,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-form-field-underline{background-color:currentColor}.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-select-value{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-tooltip{background:rgba(97,97,97,.9)}.mat-tree{background:#fff}.mat-nested-tree-node,.mat-tree-node{color:rgba(0,0,0,.87)}.mat-snack-bar-container{color:rgba(255,255,255,.7);background:#323232;box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.mat-simple-snackbar-action{color:#ff4081}\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","\r\nimport { Component } from '@angular/core';\r\nimport { StorageService } from './_services/index';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n\r\n\r\n constructor(\r\n public storageService: StorageService\r\n ) {\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpModule } from '@angular/http';\r\nimport { AppRoutingModule } from './app.routing';\r\n\r\nimport { AlertComponent } from './_directives';\r\nimport { AuthGuard } from './_guards';\r\n\r\n\r\nimport { CanDeactivateGuard } from './_guards/deactive.guard';\r\n\r\nimport { UserService, AuthenticationService } from './_services/admin/index';\r\nimport { HAuthenticationService } from './_services/hospital/index';\r\n\r\nimport { DUserService, DAuthenticationService } from './_services/doctor/index';\r\nimport { HUserService } from './_services/hospital/index';\r\n\r\n\r\nimport { PUserService, PAuthenticationService } from './_services/patient/index';\r\n\r\nimport { JwtInterceptor, ErrorInterceptor, AppConfig } from './_helpers';\r\nimport { AlertService, HttpClient, StorageService } from './_services';\r\n\r\nimport { AppLayoutComponent } from './components/_layout/app-layout/app-layout.component';\r\nimport { SiteLayoutComponent } from './components/_layout/site-layout/site-layout.component';\r\nimport { HospitallayoutComponent } from './components/_layout//hospitallayout/hospitallayout.component';\r\nimport { DoctorlayoutComponent } from './components/_layout//doctorlayout/doctorlayout.component';\r\n\r\nimport { PatientlayoutComponent } from './components/_layout/patientlayout/patientlayout.component';\r\n\r\nimport { WBSiteLayoutComponent } from './components/_layout/wbsite-layout/wbsite-layout.component';\r\n\r\n\r\nimport { PrinthfreportComponent } from './components/printreport/printhfreport/printhfreport.component';\r\nimport { PrintproblemreportComponent } from './components/printreport/printproblemreport/printproblemreport.component';\r\nimport { PrintconsulationstatusreportComponent } from './components/printreport/printconsulationstatusreport/printconsulationstatusreport.component';\r\nimport { PrintconsulationsummaryreportComponent } from './components/printreport/printconsulationsummaryreport/printconsulationsummaryreport.component';\r\nimport { PunjabComponent } from './components/admin/punjab/punjab.component';\r\nimport { PrintdormantreportComponent } from './components/printreport/printdormantreport/printdormantreport.component';\r\n\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\nimport { PrintPOSreportComponent } from './components/printreport/printPOS/printPOSreport.component'\r\n\r\nimport { AutocompleteLibModule } from 'angular-ng-autocomplete';\r\n\r\n//import { DoctorlayoutComponent } from './components/_layout/Doctorlayout/Doctorlayout.component';\r\nimport { NgDatepickerModule } from 'ng2-datepicker';\r\nimport { SweetAlert2Module } from '@sweetalert2/ngx-sweetalert2';\r\nimport { ToastrModule } from 'ng6-toastr-notifications';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport {\r\n MatAutocompleteModule, MatFormFieldModule, MatInputModule, MatButtonModule, MatMenuModule, MatSidenavModule, MatSelectModule, MatNativeDateModule, MatDatepickerModule, MatRadioModule, MatTableModule, MatTabsModule,\r\n MatToolbarModule, MatIconModule, MatCardModule} from '@angular/material';\r\nimport { NgChatModule } from './ng-chat';\r\nimport { TooltipModule } from 'ng2-tooltip-directive';\r\nimport { NgxLoadingModule } from 'ngx-loading';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { AngularDraggableModule } from 'angular2-draggable';\r\nimport { DwvModule } from './components/dicomviewer/dicomviewer.module';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { UserIdleModule } from 'angular-user-idle';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { ExcelService } from './_services/excel.service';\r\nimport { ReportService } from './_services/report.service';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\n\r\n\r\nimport { AppServices } from './_services/setting.service';\r\n\r\n\r\n\r\nimport { OwlModule } from 'ngx-owl-carousel';\r\nimport { PrintenrollmentstatusComponent } from './components/printreport/ncd/printenrollmentstatus/printenrollmentstatus.component';\r\n//import { NcdlayoutComponent } from './components/_layout/ncdlayout/ncdlayout.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n\r\n AppComponent,\r\n\r\n AlertComponent,\r\n\r\n AppLayoutComponent,\r\n SiteLayoutComponent,\r\n HospitallayoutComponent,\r\n DoctorlayoutComponent, WBSiteLayoutComponent,\r\n PrinthfreportComponent, PatientlayoutComponent,\r\n PrintproblemreportComponent,\r\n PrintconsulationstatusreportComponent,\r\n PrintconsulationsummaryreportComponent,\r\n PunjabComponent,\r\n PrintdormantreportComponent,\r\n PrintPOSreportComponent,\r\n PrintenrollmentstatusComponent,\r\n //NcdlayoutComponent\r\n\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule, OwlModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n MatAutocompleteModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatMenuModule,\r\n MatSidenavModule,\r\n MatSelectModule,\r\n NgxMaterialTimepickerModule,\r\n MatProgressSpinnerModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatRadioModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n ToastrModule.forRoot(),\r\n NgChatModule,\r\n TooltipModule,\r\n RouterModule.forRoot([]),\r\n NgxLoadingModule.forRoot({}),\r\n AngularDraggableModule,\r\n DwvModule, SweetAlert2Module, NgDatepickerModule, AutocompleteLibModule, NgxCaptchaModule,\r\n UserIdleModule.forRoot({ idle: 600, timeout: 300, ping: 2 }),\r\n NgxPaginationModule,\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatCardModule\r\n ],\r\n providers: [\r\n AppConfig,\r\n AuthGuard, CanDeactivateGuard,\r\n AlertService,\r\n HttpClient,\r\n StorageService,\r\n AuthenticationService,\r\n UserService,\r\n HAuthenticationService, DUserService, DAuthenticationService, AppServices,HUserService, CookieService, ExcelService, PUserService, PAuthenticationService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HttpModule, Http, Headers, Response, URLSearchParams, RequestOptions, RequestMethod } from '@angular/http';\r\n\r\nimport { WBSiteLayoutComponent } from './components/_layout/wbsite-layout/wbsite-layout.component';\r\n\r\nimport { SiteLayoutComponent } from './components/_layout/site-layout/site-layout.component';\r\nimport { AppLayoutComponent } from './components/_layout/app-layout/app-layout.component';\r\nimport { HospitallayoutComponent } from './components/_layout/hospitallayout/hospitallayout.component';\r\nimport { DicomviewerComponent } from './components/dicomviewer/dicomviewer.component';\r\nimport { DoctorlayoutComponent } from './components/_layout/doctorlayout/doctorlayout.component';\r\nimport { PatientlayoutComponent } from './components/_layout/patientlayout/patientlayout.component';\r\nimport { CanDeactivateGuard } from './_guards/deactive.guard';\r\nimport { PrinthfreportComponent } from './components/printreport/printhfreport/printhfreport.component';\r\nimport { PrintproblemreportComponent } from './components/printreport/printproblemreport/printproblemreport.component';\r\nimport { PrintconsulationstatusreportComponent } from './components/printreport/printconsulationstatusreport/printconsulationstatusreport.component';\r\nimport { PrintconsulationsummaryreportComponent } from './components/printreport/printconsulationsummaryreport/printconsulationsummaryreport.component';\r\nimport { PrintdormantreportComponent } from './components/printreport/printdormantreport/printdormantreport.component';\r\nimport { AuthGuard } from './_guards';\r\n\r\n\r\n\r\n\r\n\r\nimport { PrintPOSreportComponent } from './components/printreport/printPOS/printPOSreport.component'\r\n\r\n\r\nconst routes: Routes = [\r\n\r\n ////////////////////////////////////////////////////Hospital Admin Route////////////////////////\r\n\r\n {\r\n path: '',\r\n component: WBSiteLayoutComponent,\r\n children: [\r\n { path: '', loadChildren: 'src/app/components/hospital/login/_module#HAdminLoginModule', pathMatch: 'full' },\r\n { path: 'Login', loadChildren: 'src/app/components/hospital/login/_module#HAdminLoginModule' },\r\n ]\r\n },\r\n {\r\n path: '',\r\n component: SiteLayoutComponent,\r\n children: [\r\n\r\n // { path: 'Login', loadChildren: 'src/app/components/hospital/login/_module#HAdminLoginModule' },\r\n\r\n\r\n { path: 'LoginOTP', loadChildren: 'src/app/components/hospital/loginotp/_module#HAdminLoginOTPModule' },\r\n { path: 'ForgotPassword', loadChildren: 'src/app/components/hospital/fgpassword/_module#HAdminfgpwdModule' },\r\n { path: 'Admin/Login', loadChildren: 'src/app/components/admin/login/_module#AdminLoginModule' },\r\n { path: 'admin/login', loadChildren: 'src/app/components/admin/login/_module#AdminLoginModule' },\r\n { path: 'Admin/LoginOTP', loadChildren: 'src/app/components/admin/loginotp/_module#AdminLoginOTPModule' },\r\n { path: 'Admin/ForgotPassword', loadChildren: 'src/app/components/admin/fgpassword/_module#AdminFgpasswordModule' },\r\n\r\n { path: 'Covid19/Login', loadChildren: 'src/app/components/covid/login/_module#covidLoginModule' },\r\n { path: 'Covid19/LoginOTP', loadChildren: 'src/app/components/covid/loginotp/_module#covidLoginOTPModule' },\r\n { path: 'Covid19/Register', loadChildren: 'src/app/components/covid/register/_module#covidRegisterModule' }\r\n ]\r\n },\r\n\r\n {\r\n path: '',\r\n component: HospitallayoutComponent, canActivate: [AuthGuard],\r\n children: [\r\n { path: 'Hospital/Dashboard', loadChildren: 'src/app/components/hospital/dashboard/_module#HAdminDashboardModule' },\r\n { path: 'Hospital', loadChildren: 'src/app/components/hospital/doctor/_module#doctorModule' },\r\n { path: 'Hospital/Setting', loadChildren: 'src/app/components/hospital/setting/_module#HAdminSettingModule' },\r\n ]\r\n },\r\n {\r\n path: '',\r\n component: PatientlayoutComponent,\r\n children: [\r\n { path: 'Covid19/Dashboard', loadChildren: 'src/app/components/covid/dashboard/_module#covidDashboardModule' },\r\n { path: 'Covid19/consultation', loadChildren: 'src/app/components/covid/consultation/_module#covidConsultationModule' },\r\n\r\n ]\r\n },\r\n {\r\n path: '',\r\n component: DoctorlayoutComponent, canActivate: [AuthGuard],\r\n children: [\r\n { path: 'Doctor/Dashboard', loadChildren: 'src/app/components/doctor/dashboard/_module#DAdminDashboardModule' },\r\n { path: 'Doctor', loadChildren: 'src/app/components/doctor/patient/_module#patientModule' },\r\n { path: 'Doctor/Setting', loadChildren: 'src/app/components/doctor/setting/_module#DAdminSettingModule' },\r\n { path: 'Doctor/Specialty', loadChildren: 'src/app/components/doctor/specialty/_module#specialtyModule' },\r\n { path: 'Doctor/Remote', loadChildren: 'src/app/components/doctor/remote/_module#remoteModule' },\r\n {\r\n path: 'Doctor/Consulatationdetail',\r\n loadChildren: 'src/app/components/doctor/consulatationdetail/_module#consulationdetailModule',\r\n canDeactivate: [CanDeactivateGuard],\r\n data: {\r\n role: 'Speciality'\r\n }\r\n },\r\n {\r\n path: 'Doctor/Inprocessconsultation',\r\n loadChildren: 'src/app/components/doctor/inprocessconsultation/_module#inprocessconsultationModule',\r\n canDeactivate: [CanDeactivateGuard],\r\n data: {\r\n role: 'Speciality'\r\n }\r\n },\r\n {\r\n path: 'Doctor/prescription/:id',\r\n loadChildren: 'src/app/components/doctor/prescription/_module#prescriptionModule',\r\n canDeactivate: [CanDeactivateGuard],\r\n data: {\r\n role: 'Remote'\r\n }\r\n },\r\n {\r\n path: 'Doctor/Caserefferedsummary/:id',\r\n loadChildren: 'src/app/components/doctor/caserefferedsummary/_module#caserefferedsummaryModule',\r\n canDeactivate: [CanDeactivateGuard],\r\n data: {\r\n role: 'Remote'\r\n }\r\n },\r\n { path: 'Doctor/Ncd', loadChildren: 'src/app/components/doctor/ncdpatient/_module#ncdpatientModule' }\r\n ]\r\n }\r\n ,\r\n {\r\n path: '',\r\n component: AppLayoutComponent, canActivate: [AuthGuard],\r\n children: [\r\n { path: 'Admin', loadChildren: 'src/app/components/admin/hospital/_module#hospitalModule' },\r\n { path: 'Admin/Report', loadChildren: 'src/app/components/report/_module#AdminReportModule' },\r\n { path: 'Admin/Setting', loadChildren: 'src/app/components/admin/setting/_module#AdminSettingModule' },\r\n { path: 'Admin/TestDashboard', loadChildren: 'src/app/components/admin/dashboard/_module#AdminDashboardModule' },\r\n { path: 'Admin/Dashboard', loadChildren: 'src/app/components/admin/testdashboard/_module#TestAdminDashboardModule' },\r\n { path: 'Admin/Member', loadChildren: 'src/app/components/admin/member/_module#MemberModule' },\r\n { path: 'Admin/WishDashboard', loadChildren: 'src/app/components/admin/wisedashboard/_module#WishDashboardModule' },\r\n { path: 'Admin/NcdReport', loadChildren: 'src/app/components/ncdreport/_module#AdminNcdReportModule' },\r\n ]\r\n }\r\n ,\r\n {\r\n path: 'Kerala',\r\n loadChildren: 'src/app/components/hospital/keralalogin/_module#KeralaAdminLoginModule'\r\n },\r\n {\r\n path: 'kerala',\r\n loadChildren: 'src/app/components/hospital/keralalogin/_module#KeralaAdminLoginModule'\r\n }\r\n ,\r\n {\r\n path: 'Statistics',\r\n loadChildren: 'src/app/components/nhmdashboard/_module#NhmdashboardpageModule'\r\n\r\n }, {\r\n path: 'chi',\r\n loadChildren: 'src/app/components/nhmdashboard/_module#NhmdashboardpageModule'\r\n\r\n },\r\n {\r\n path: 'ErrorPage',\r\n loadChildren: 'src/app/components/errorpage/_module#ErrorpageModule'\r\n\r\n },\r\n {\r\n path: 'Error',\r\n loadChildren: 'src/app/components/errorpage/_module#ErrorpageModule'\r\n\r\n },\r\n {\r\n path: 'error',\r\n loadChildren: 'src/app/components/errorpage/_module#ErrorpageModule'\r\n\r\n },\r\n { path: 'PrintHealthFacility', component: PrinthfreportComponent, canActivate: [AuthGuard] },\r\n { path: 'PrintProblem', component: PrintproblemreportComponent, canActivate: [AuthGuard] },\r\n { path: 'Printconsulationstatus', component: PrintconsulationstatusreportComponent, canActivate: [AuthGuard] },\r\n { path: 'Printconsulationsummary', component: PrintconsulationsummaryreportComponent, canActivate: [AuthGuard] },\r\n { path: 'Printdormantsummary', component: PrintdormantreportComponent, canActivate: [AuthGuard] },\r\n\r\n { path: 'PrintPOSPrescription', component: PrintPOSreportComponent, canActivate: [AuthGuard] },\r\n\r\n\r\n { path: 'Doctor/dicomviewer', component: DicomviewerComponent, canActivate: [AuthGuard] },\r\n { path: '**', redirectTo: '' },\r\n\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forChild(routes),\r\n\r\n ],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\n\r\nexport class AppRoutingModule {\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n eSanjeevani\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n © eSanjeevani. All Rights Reserved\\r\\n
\\r\\n
\\r\\n Designed and Developed by C-DAC Mohali\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { first } from 'rxjs/operators';\nimport { AlertService } from '../../../_services';\nimport { AuthenticationService } from '../../../_services/admin/index';\nimport { UserService } from '../../../_services/admin/index';\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\nimport { UserIdleService } from 'angular-user-idle';\nimport { CookieService } from 'ngx-cookie-service';\n@Component({\n selector: 'app-app-layout',\n templateUrl: './app-layout.component.html',\n styleUrls: ['./app-layout.component.css']\n})\nexport class AppLayoutComponent implements OnInit {\n returnUrl: string; username: string;\n isCollapsed = false;\n mainBody = 'body_inner adminbody';\n mainClass = 'forced';\n profilepath: string;\n\n StateAdmin: boolean = false;\n districtAdmin: boolean = false;\n\n stateurl: string;\n stateid: any;\n constructor(\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService, private userIdle: UserIdleService,\n private alertService: AlertService, private UserService: UserService, private cookieService: CookieService) {\n\n\n\n }\n\n ngOnInit() {\n this.profilepath = 'assets/images/avatars/admin.png';\n\n var menustatus = JSON.parse(localStorage.getItem('MenuStaus'));\n if (!menustatus) {\n this.mainBody = 'body_inner adminbody';\n this.mainClass = 'forced';\n\n }\n else {\n this.mainBody = 'body_inner adminbody-void';\n this.mainClass = 'forced enlarged';\n\n }\n\n //location.reload();\n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n var localstore = JSON.parse(localStorage.getItem('currentAdminUser'));\n var usertype = localStorage.getItem('currentUserType');\n\n if (localstore == null || usertype == null) {\n\n window.location.href = \"Admin/Login\";\n\n }\n\n this.username = localstore.model.firstName + \" \" + localstore.model.middleName + \" \" + localstore.model.lastName;\n\n if (localstore.success) {\n if (localstore.model.imagePath) {\n this.profilepath = localstore.model.imagePath;\n }\n }\n\n\n\n this.userIdle.startWatching();\n\n this.userIdle.onTimerStart().subscribe(() => this.Logout());\n ///////////////Check Session Hijacking\n\n setInterval(() => {\n\n try {\n if (localstore.token != this.cookieService.get(\"esanjacookie\")) {\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentAdminUser');\n this.Logout();\n window.location.href = \"/Admin/Login\";\n }\n\n }\n catch (e) {\n this.Logout();\n }\n }, 1000);\n\n ///////////////Check Session Hijacking\n\n\n\n ////////////////////////////////////////////// check state admin\n\n\n\n if (localstore.model.stateId != \"0\") {\n\n\n this.StateAdmin = true;\n this.stateurl = localstore.stateurl;\n\n this.stateid=localstore.model.stateId;\n } else {\n this.StateAdmin = false;\n this.stateid=localstore.model.stateId;\n }\n\n if (localstore.model.adminTypeId == \"3\") {\n\n this.districtAdmin = true;\n } else {\n this.districtAdmin = false;\n }\n\n\n\n\n }\n\n\n\n Stateadmincall() {\n\n\n window.location.href = this.stateurl;\n }\n\n\n setLeftMenu() {\n this.isCollapsed = !this.isCollapsed;\n localStorage.setItem('MenuStaus', JSON.stringify(this.isCollapsed));\n\n if (!this.isCollapsed) {\n this.mainBody = 'body_inner adminbody';\n this.mainClass = 'forced';\n\n }\n else {\n this.mainBody = 'body_inner adminbody-void';\n this.mainClass = 'forced enlarged';\n\n }\n }\n\n Logout() {\n\n\n\n this.UserService.Adminlogout()\n .pipe(first())\n .subscribe(\n\n data => {\n\n localStorage.removeItem('currentAdminUser');\n localStorage.removeItem('currentUserType');\n localStorage.removeItem('HCubeStatus');\n localStorage.removeItem('MenuStaus');\n window.location.href = \"/Admin/Login\";\n\n });\n }\n}\n","module.exports = \"/*----- VC CSS Start ----*/\\r\\n\\r\\n.vc-custom-header {\\r\\n background-color: #14a39f;\\r\\n color: #FFF;\\r\\n padding: 8px;\\r\\n border-bottom: none !important;\\r\\n border-top-left-radius: 0 !important;\\r\\n border-top-right-radius: 0 !important;\\r\\n}\\r\\n\\r\\n.vc-custom-body {\\r\\n width: 300px;\\r\\n padding: 5px;\\r\\n padding-bottom: 0px;\\r\\n border-left: 1px solid #fff;\\r\\n border-right: 1px solid #fff;\\r\\n border-bottom: 1px solid #fff;\\r\\n background-color:#F1F1F1;\\r\\n}\\r\\n\\r\\n.vc-close {\\r\\n color: #fff;\\r\\n opacity: 1;\\r\\n text-shadow: none;\\r\\n}\\r\\n\\r\\n.vc-close:hover {\\r\\n color: #fff;\\r\\n opacity: 1;\\r\\n }\\r\\n\\r\\n.vc-video-thumb {\\r\\n width: 80px;\\r\\n height: 60px;\\r\\n position: absolute;\\r\\n /*background-color: #FFF;*/\\r\\n top: 48px;\\r\\n right: 10px;\\r\\n padding: 2px;\\r\\n}\\r\\n\\r\\n.vc-main-position {\\r\\n position: fixed;\\r\\n bottom: 156px;\\r\\n right: 20px;\\r\\n}\\r\\n\\r\\n.vc-main-body {\\r\\n border: none;\\r\\n box-shadow:5px 5px 5px #c3c3c3;\\r\\n}\\r\\n\\r\\n/********/\\r\\n\\r\\n.vc-volume {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n}\\r\\n\\r\\n.vc-volume:hover {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n }\\r\\n\\r\\n.vc-video {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n}\\r\\n\\r\\n.vc-video:hover {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n }\\r\\n\\r\\n.vc-expand {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n}\\r\\n\\r\\n.vc-expand:hover {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n }\\r\\n\\r\\n.vc-close {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n}\\r\\n\\r\\n.vc-close:hover {\\r\\n color: #FFF;\\r\\n font-size: 18px;\\r\\n padding-right: 8px;\\r\\n }\\r\\n\\r\\n#sidebar-menu .subdrop {\\r\\n background-color: #e5c151;\\r\\n}\\r\\n\\r\\n/*----- VC CSS End ----*/\\r\\n\\r\\n#divLoading {\\r\\n position: fixed;\\r\\n z-index: 100;\\r\\n background-image: url('data:image/gif;base64,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');\\r\\n background-color: #666;\\r\\n opacity: 0.4;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n top: 0;\\r\\n }\\r\\n\\r\\n#loadinggif {\\r\\n left: 50%;\\r\\n top: 50%;\\r\\n position: absolute;\\r\\n z-index: 101;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n margin-left: -16px;\\r\\n margin-top: -16px;\\r\\n}\\r\\n\\r\\n.blinking11{\\r\\n -webkit-animation:blinkingText 4.28s infinite;\\r\\n animation:blinkingText 4.28s infinite;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes blinkingText{\\r\\n 0%{ color: #000; }\\r\\n 49%{ color: transparent; }\\r\\n 50%{ color: transparent; }\\r\\n 99%{ color:transparent; }\\r\\n 100%{ color: #000; }\\r\\n}\\r\\n\\r\\n@keyframes blinkingText{\\r\\n 0%{ color: #000; }\\r\\n 49%{ color: transparent; }\\r\\n 50%{ color: transparent; }\\r\\n 99%{ color:transparent; }\\r\\n 100%{ color: #000; }\\r\\n}\\r\\n\"","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n eSanjeevani\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

{{Connectedstatus}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n © eSanjeevani. All Rights Reserved\\r\\n
\\r\\n
\\r\\n Designed and Developed by C-DAC Mohali\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ storageService.FromHospitalName!='' && storageService.FromHospitalName!=undefined ?(storageService.FromHospitalName.length>15 ? (storageService.FromHospitalName | slice:0:15) + '..' : storageService.FromHospitalName ): storageService.FromHospitalName}}
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, Input, ViewChild, HostListener } from '@angular/core';\r\nimport { first, filter } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AlertService } from '../../../_services';\r\nimport { DAuthenticationService } from '../../../_services/doctor/index';\r\nimport { DUserService } from '../../../_services/doctor/index';\r\n\r\n//import { SignalRAdapter } from '../../signalRAdapter/signalr-adapter';\r\n//import { SignalRGroupAdapter } from '../../signalRAdapter/signalr-group-adapter';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { SignalRAdapter } from '../../signalRAdapter/signalr-adapter';\r\nimport { StorageService } from '../../../_services/index';\r\nimport { IChatController } from 'src/app/ng-chat/core/chat-controller';\r\nimport { ToastrManager } from 'ng6-toastr-notifications';\r\nimport { EventEmitterService } from '../../../_services/event-emitter.service';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { ConnectionService } from 'ng-connection-service';\r\nimport { Message } from '../../../ng-chat/core/message';\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\nimport { UserIdleService } from 'angular-user-idle';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { AppConfig } from '../../../_helpers/config';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'app-doctorlayout',\r\n templateUrl: './doctorlayout.component.html',\r\n styleUrls: ['./doctorlayout.component.css']\r\n})\r\nexport class DoctorlayoutComponent implements OnInit {\r\n public serverBaseUrl: string;\r\n returnUrl: string;\r\n profilepath: any;\r\n doctorname: string;\r\n hospitalname: string;\r\n menulist: any;\r\n title = 'Online Doctors';\r\n currentTheme = 'light-theme';\r\n triggeredEvents = [];\r\n fileUploadUrl: string;\r\n searchPlaceholder: string = \"Search Available Doctor List\"\r\n userId: string = \"offline-demo\";\r\n username: string;\r\n signalRAdapter: SignalRAdapter; //SignalRGroupAdapter;\r\n\r\n AudioUnMute: boolean = false;\r\n AudioMute: boolean = true;\r\n VideoUnMute: boolean = false;\r\n VideoMute: boolean = true;\r\n lasturl: string;\r\n Connectedstatus = '';\r\n isConnected = true;\r\n isCollapsed = false;\r\n mainBody = 'body_inner adminbody';\r\n mainClass = 'forced';\r\n\r\n loding: boolean = false;\r\n\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: DAuthenticationService,\r\n private _userService: DUserService,\r\n public storageService: StorageService,\r\n private eventEmitterService: EventEmitterService,\r\n private alertService: AlertService, private http: HttpClient, @Inject('BASE_URL') baseUrl: string,\r\n private connectionService: ConnectionService,\r\n private toastr: ToastrManager,\r\n private userIdle: UserIdleService,\r\n private cookieService: CookieService,\r\n private domSanitizer: DomSanitizer\r\n\r\n ) {\r\n this.serverBaseUrl = baseUrl;\r\n\r\n this.fileUploadUrl = `${this.serverBaseUrl + \"api/Home/\"}UploadFile`;\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit() {\r\n\r\n\r\n\r\n\r\n this.connectionService.monitor().subscribe(isConnected => {\r\n this.isConnected = isConnected;\r\n if (this.isConnected) {\r\n this.Connectedstatus = \"\";\r\n } else {\r\n this.Connectedstatus = \"You are not connected to the internet. Please check your connection and try again.\";\r\n }\r\n\r\n })\r\n\r\n if (this.eventEmitterService.subsVar == undefined) {\r\n this.eventEmitterService.subsVar = this.eventEmitterService.\r\n invokeFirstComponentFunction.subscribe((name: string) => {\r\n this.firstFunction();\r\n });\r\n }\r\n\r\n\r\n //this.router.navigateByUrl(this.router.url);\r\n this.lasturl = this.router.url;\r\n\r\n this.profilepath = 'assets/images/avatars/admin.png';\r\n\r\n var menustatus = JSON.parse(localStorage.getItem('MenuStaus'));\r\n if (!menustatus) {\r\n this.mainBody = 'body_inner adminbody';\r\n this.mainClass = 'forced';\r\n\r\n }\r\n else {\r\n this.mainBody = 'body_inner adminbody-void';\r\n this.mainClass = 'forced enlarged';\r\n\r\n }\r\n\r\n var localstore = JSON.parse(localStorage.getItem('currentUser'));\r\n var usertype = localStorage.getItem('currentUserType');\r\n\r\n if (localstore == null || usertype == null) {\r\n\r\n window.location.href = \"/Login\";\r\n // Swal.fire({\r\n // title: 'Oops...',\r\n // text: 'Invalid Request!',\r\n // type: 'error',\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#133656',\r\n // cancelButtonColor: '#E5C151',\r\n // confirmButtonText: 'Ok!',\r\n // allowOutsideClick: false,\r\n // allowEscapeKey: false,\r\n // allowEnterKey: false\r\n\r\n // }).then((result) => {\r\n // if (result.value) {\r\n\r\n\r\n\r\n // window.location.href = \"/Login\";\r\n // this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\r\n // this.storageService.isConnectionEstablished = false;\r\n // this.storageService.SignalRAdapter.LeaveConnference();\r\n\r\n\r\n // //this.router.navigateByUrl('Hospital/Login');\r\n // }\r\n // })\r\n }\r\n\r\n\r\n\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n\r\n\r\n\r\n if (localstore.success) {\r\n if (localstore.model.imagePath) {\r\n\r\n this.profilepath = this.domSanitizer.bypassSecurityTrustUrl('data:image/jpg;base64,' + localstore.model.imagePath);\r\n\r\n\r\n }\r\n\r\n\r\n\r\n this.hospitalname = localstore.model.institutionName;\r\n\r\n //this.doctorname = localstore.model.prefix+\" \"+localstore.model.firstName + \" \" + localstore.model.middleName + \" \" + localstore.model.lastName;\r\n\r\n if (localstore.model.prefix == \"Dr.\") {\r\n\r\n this.doctorname = localstore.model.prefix + \" \" + localstore.model.firstName + \" \" + localstore.model.middleName + \" \" + localstore.model.lastName;\r\n\r\n } else {\r\n this.doctorname = localstore.model.firstName + \" \" + localstore.model.middleName + \" \" + localstore.model.lastName;\r\n\r\n }\r\n\r\n\r\n\r\n this.menulist = localstore.model.lstSubMenuModel;\r\n\r\n for (let i = 0; i < this.menulist.length; i++) {\r\n if (this.menulist[i].pathUrl == this.router.url) {\r\n this.menulist[i].isActive = true;\r\n } else {\r\n this.menulist[i].isActive = false;\r\n }\r\n }\r\n\r\n\r\n\r\n this.storageService.showpop = false;\r\n this.storageService.ddlshow = false;\r\n\r\n if (this.storageService.hubConnection == undefined) {\r\n this.joinSignalRChatRoom();\r\n }\r\n else {\r\n\r\n this.signalRAdapter = this.storageService.SignalRAdapter;\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n this.router.events.subscribe(e => {\r\n if (e instanceof NavigationEnd) {\r\n\r\n\r\n\r\n if (e.url.includes(\"Doctor/Consulatationdetail\")) {\r\n\r\n\r\n\r\n Swal.fire({\r\n title: '',\r\n text: \"Please wait\",\r\n imageUrl: 'https://esanjeevani.in/assets/images/3.gif',\r\n timer: 5000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n\r\n });\r\n\r\n this.loding = true;\r\n }\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n setInterval(() => {\r\n\r\n try {\r\n\r\n\r\n //this._userService.Fecthstatususer()\r\n\r\n this._userService.CheckRealStatus(localstore.model.memberId)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n\r\n if (data == -1) {\r\n console.log(\"Re join\");\r\n this.joinSignalRChatRoom();\r\n }\r\n\r\n\r\n },\r\n error => {\r\n\r\n\r\n });\r\n }\r\n catch (e) {\r\n // this.Logout();\r\n\r\n localStorage.removeItem('currentUserType');\r\n localStorage.removeItem('currentAdminUser');\r\n localStorage.removeItem('currentHospitalUser');\r\n localStorage.removeItem('currentUser');;\r\n\r\n var date = new Date();\r\n date.setTime(date.getTime() + (1 * 10));\r\n this.cookieService.set('esanjcookie', '', date, \"\", \"\", AppConfig.securecookie);\r\n this.cookieService.set('esanjhcookie', '', date, \"\", \"\", AppConfig.securecookie);\r\n this.cookieService.set('esanjacookie', '', date, \"\", \"\", AppConfig.securecookie);\r\n\r\n }\r\n }, 9000);\r\n\r\n\r\n\r\n ///////////////Check Session Hijacking\r\n\r\n\r\n ///////////////Check Session Hijacking\r\n\r\n this.userIdle.startWatching();\r\n\r\n this.userIdle.onTimerStart().subscribe(() => this.Logout());\r\n\r\n\r\n }\r\n\r\n\r\n\r\n firstFunction() {\r\n\r\n Swal.close();\r\n }\r\n\r\n\r\n\r\n callrouterLink(path) {\r\n\r\n this.storageService.Currenturl = path;\r\n\r\n this.router.navigate([path]);\r\n\r\n\r\n\r\n\r\n for (let i = 0; i < this.menulist.length; i++) {\r\n if (this.menulist[i].pathUrl == path) {\r\n this.menulist[i].isActive = true;\r\n } else {\r\n this.menulist[i].isActive = false;\r\n }\r\n }\r\n }\r\n\r\n Logout() {\r\n\r\n\r\n this._userService.Doctorlogout()\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n this.storageService.SignalRAdapter.CloseChatGrid(this.storageService.otherEndChatId);\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.SignalRAdapter.LeaveConnference();\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('currentUserType');\r\n localStorage.removeItem('HCubeStatus');\r\n localStorage.removeItem('MenuStaus');\r\n window.location.href = \"/login\";\r\n //this.router.navigate(['/Doctor/Login']);\r\n });\r\n }\r\n switchTheme(theme: string): void {\r\n this.currentTheme = theme;\r\n }\r\n\r\n onEventTriggered(event: string): void {\r\n this.triggeredEvents.push(event);\r\n }\r\n\r\n joinSignalRChatRoom(): void {\r\n\r\n\r\n\r\n\r\n //const userName = prompt('Please enter a user name:');\r\n\r\n\r\n\r\n\r\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n //Check whether user authorised for chat\r\n if (currentUser && currentUser.token) {\r\n\r\n\r\n const fname = (`${currentUser.model.firstName}` == null) || (`${currentUser.model.firstName}` == \"\") || (`${currentUser.model.firstName}` == \"undefined\") ? null : `${currentUser.model.firstName}`;\r\n\r\n const mID = `${currentUser.model.memberId}`;\r\n\r\n //alert(JSON.stringify(userName));\r\n\r\n if (fname != null && mID != null) {\r\n\r\n\r\n this.username = `${currentUser.model.prefix}` + \" \" + `${currentUser.model.firstName}` + \" \" + `${currentUser.model.middleName}` + \" \" + `${currentUser.model.lastName}`;\r\n\r\n\r\n this.signalRAdapter = new SignalRAdapter(this._userService, this.storageService, this.username, mID, this.http, this.serverBaseUrl, this.router, this.hospitalname, this.eventEmitterService);\r\n this.storageService.SignalRAdapter = this.signalRAdapter;\r\n\r\n //this.signalRAdapter = new SignalRGroupAdapter(this.username, this.http, this.serverBaseUrl);\r\n }\r\n else {\r\n alert(\"user details not available\");\r\n }\r\n\r\n }\r\n else {\r\n //Check whether user authorised for chat \r\n alert(\"You are not logged in for chat\");\r\n }\r\n }\r\n\r\n //addition 28th\r\n onAudioMuteCLick(): void {\r\n\r\n\r\n this.AudioUnMute = true;\r\n this.AudioMute = false;\r\n\r\n this.signalRAdapter.setMute('audio', true);\r\n\r\n }\r\n onAudioUnMuteCLick(): void {\r\n\r\n this.AudioUnMute = false;\r\n this.AudioMute = true;\r\n this.signalRAdapter.setMute('audio', false);\r\n\r\n\r\n }\r\n onVideoMuteCLick(): void {\r\n this.VideoUnMute = true;\r\n this.VideoMute = false;\r\n this.signalRAdapter.setMute('video', true);\r\n\r\n }\r\n onVideoUnMuteCLick(): void {\r\n this.VideoUnMute = false;\r\n this.VideoMute = true;\r\n this.signalRAdapter.setMute('video', false);\r\n\r\n }\r\n onEndCallSubmitCLick(): void {\r\n\r\n Swal.fire({\r\n title: '',\r\n text: \"Are You Sure, You Want To End VC?\",\r\n showCancelButton: true,\r\n confirmButtonColor: '#133656',\r\n cancelButtonColor: '#E5C151',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: \"No\",\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n\r\n this.storageService.isConnectionEstablished = false;\r\n\r\n this.signalRAdapter.requestEndVC();\r\n\r\n\r\n this._userService.UpdateVCResponseTime({ \"ConsultationId\": this.storageService.consultationId, \"FromMemberId\": this.storageService.SenderId, \"ToMemberId\": this.storageService.ReceiverId })\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n\r\n })\r\n\r\n\r\n\r\n\r\n }\r\n })\r\n\r\n\r\n }\r\n\r\n onFullScreen(): void {\r\n var remote: HTMLVideoElement;\r\n remote = document.getElementById('remote');\r\n\r\n if (remote.requestFullscreen) {\r\n remote.requestFullscreen();\r\n }\r\n }\r\n\r\n\r\n setLeftMenu() {\r\n this.isCollapsed = !this.isCollapsed;\r\n localStorage.setItem('MenuStaus', JSON.stringify(this.isCollapsed));\r\n\r\n if (!this.isCollapsed) {\r\n this.mainBody = 'body_inner adminbody';\r\n this.mainClass = 'forced';\r\n\r\n }\r\n else {\r\n this.mainBody = 'body_inner adminbody-void';\r\n this.mainClass = 'forced enlarged';\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n eSanjeevani\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Ministry of Health and Family Welfare

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n © eSanjeevani. All Rights Reserved\\r\\n
\\r\\n
\\r\\n Designed and Developed by C-DAC Mohali\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { first } from 'rxjs/operators';\nimport { AlertService } from '../../../_services';\nimport { HAuthenticationService } from '../../../_services/hospital/index';\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\n\nimport { HUserService } from '../../../_services/hospital/index';\nimport { UserIdleService } from 'angular-user-idle';\nimport { CookieService } from 'ngx-cookie-service';\n@Component({\n selector: 'app-hospitallayout',\n templateUrl: './hospitallayout.component.html',\n styleUrls: ['./hospitallayout.component.css']\n})\nexport class HospitallayoutComponent implements OnInit {\n returnUrl: string;\n profilepath: string;\n adminname: string;\n hospitalname: string;\n menulist: any;\n\n isCollapsed = false;\n mainBody = 'body_inner adminbody';\n mainClass = 'forced';\n constructor(\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: HAuthenticationService,\n private _HUserService: HUserService,\n private userIdle: UserIdleService,\n private alertService: AlertService,\n private cookieService: CookieService\n ) {\n\n\n\n }\n ngOnInit() {\n\n\n this.profilepath = 'assets/images/avatars/admin.png';\n\n var menustatus = JSON.parse(localStorage.getItem('MenuStaus'));\n\n if (!menustatus) {\n this.mainBody = 'body_inner adminbody';\n this.mainClass = 'forced';\n\n }\n else {\n this.mainBody = 'body_inner adminbody-void';\n this.mainClass = 'forced enlarged';\n\n }\n var localstore = JSON.parse(localStorage.getItem('currentHospitalUser'));\n var usertype = localStorage.getItem('currentUserType');\n if (localstore == null || usertype == null) {\n \n window.location.href = \"Login\";\n // Swal.fire({\n // title: 'Oops...',\n // text: 'Invalid Request!',\n // type: 'error',\n // showCancelButton: false,\n // confirmButtonColor: '#133656',\n // cancelButtonColor: '#E5C151',\n // confirmButtonText: 'Ok!',\n // allowOutsideClick: false,\n // allowEscapeKey: false,\n // allowEnterKey: false\n\n // }).then((result) => {\n // if (result.value) {\n // window.location.href = \"Login\";\n\n // //this.router.navigateByUrl('Hospital/Login');\n // }\n // })\n }\n\n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n\n\n\n if (localstore.success) {\n if (localstore.model.imagePath) {\n this.profilepath = localstore.model.imagePath;\n }\n\n this.hospitalname = localstore.model.institutionName;\n this.adminname = localstore.model.firstName + \" \" + localstore.model.middleName + \" \" + localstore.model.lastName;\n this.menulist = localstore.model.lstSubMenuModel;\n\n\n }\n this.userIdle.startWatching();\n this.userIdle.onTimerStart().subscribe(() => this.Logout());\n\n ///////////////Check Session Hijacking\n setInterval(() => {\n\n try {\n if (localstore.token != this.cookieService.get(\"esanjhcookie\")) {\n localStorage.removeItem('currentHospitalUser');\n localStorage.removeItem('currentUserType');\n this.Logout();\n window.location.href = \"/Login\";\n }\n }\n catch (e) {\n this.Logout();\n }\n }, 1000);\n ///////////////Check Session Hijacking\n }\n\n\n setLeftMenu() {\n this.isCollapsed = !this.isCollapsed;\n localStorage.setItem('MenuStaus', JSON.stringify(this.isCollapsed));\n\n if (!this.isCollapsed) {\n this.mainBody = 'body_inner adminbody';\n this.mainClass = 'forced';\n\n }\n else {\n this.mainBody = 'body_inner adminbody-void';\n this.mainClass = 'forced enlarged';\n\n }\n }\n\n\n Logout() {\n\n this._HUserService.HospitalAdminlogout()\n .pipe(first())\n .subscribe(\n\n data => {\n localStorage.removeItem('currentHospitalUser');\n localStorage.removeItem('currentUserType');\n localStorage.removeItem('HCubeStatus');\n localStorage.removeItem('MenuStaus');\n this.cookieService.delete('esanjhcookie');\n window.location.href = \"/login\";\n\n });\n\n }\n}\n","module.exports = \"\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n eSanjeevani\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"Logo\\\"\\r\\n \\\"Logo\\\"\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Ministry of Health and Family Welfare

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n © eSanjeevani. All Rights Reserved\\r\\n
\\r\\n
\\r\\n Designed and Developed by C-DAC Mohali\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { first } from 'rxjs/operators';\nimport { AlertService } from '../../../_services';\n\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\n\n\nimport { UserIdleService } from 'angular-user-idle';\nimport { CookieService } from 'ngx-cookie-service';\n@Component({\n selector: 'app-patientlayout',\n templateUrl: './patientlayout.component.html',\n styleUrls: ['./patientlayout.component.css']\n})\nexport class PatientlayoutComponent implements OnInit {\n returnUrl: string;\n profilepath: string;\n adminname: string;\n hospitalname: string;\n menulist: any;\n\n isCollapsed = false;\n mainBody = 'body_inner adminbody';\n mainClass = 'forced';\n username: string;\n constructor(\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n\n private userIdle: UserIdleService,\n private alertService: AlertService,\n private cookieService: CookieService\n ) {\n\n\n\n }\n ngOnInit() {\n\n\n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n\n\n var localstore = JSON.parse(localStorage.getItem('currentPatientUser'));\n\n\n this.username = localstore.model.firstName + \" \" + localstore.model.middleName + \" \" + localstore.model.lastName;\n \n\n }\n\n\n setLeftMenu() {\n this.isCollapsed = !this.isCollapsed;\n\n\n if (!this.isCollapsed) {\n this.mainBody = 'body_inner adminbody';\n this.mainClass = 'forced';\n\n }\n else {\n this.mainBody = 'body_inner adminbody-void';\n this.mainClass = 'forced enlarged';\n\n }\n }\n\n\n Logout() {\n\n\n localStorage.removeItem('currentPatientUser');\n this.cookieService.delete('esanjhpaientcookie');\n window.location.href = \"Covid19/Login\";\n\n\n\n }\n}\n","module.exports = \"input[type=number]::-webkit-outer-spin-button,\\r\\ninput[type=number]::-webkit-inner-spin-button {\\r\\n -webkit-appearance: none !important;\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\ninput[type=number] {\\r\\n -moz-appearance: textfield !important;\\r\\n}\\r\\n\"","module.exports = \"\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\n\\t\\t\\t
\\n\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t\\t

স্বাস্থ্য ও পরিবার কল্যাণ দপ্তর, পশ্চিমবঙ্গ সরকারের টেলিমেডিসিন\\n\\t\\t\\t\\t\\t\\tপরিষেবা

\\n\\t\\t\\t
\\n\\n\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t
\\n\\n\\t\\t
\\n\\t
\\t \\n
\\n\\n
\\n\\t
\\n\\t\\t\\t\\n\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\n\\t
\\n\\n\\t\\n
\\n\\n\\t\\n\\n\\n\\n
\\n\\t
\\n\\t\\t
\\n\\t\\t
\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

\\n\\t\\t\\t\\t\\tDesigned & Developed by Centre for Development of Advanced Computing (C-DAC).

\\n\\t\\t\\t
\\n\\t\\t
\\n\\t\\t\\n
\\n
\\n\\n\\n \\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-site-layout',\n templateUrl: './site-layout.component.html',\n styleUrls: ['./site-layout.component.css']\n})\nexport class SiteLayoutComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}","module.exports = \"/*********NEW CSS************/\\r\\n\\r\\n@media (min-width: 1200px){\\r\\n .container {\\r\\n max-width: 1300px!important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media (min-width: 1400px){\\r\\n .container {\\r\\n max-width: 1550px!important;\\r\\n }\\r\\n }\\r\\n\\r\\n/*********NEW CSS************/\\r\\n\\r\\nbody{\\r\\n background-image:url(\\\"/assets/images/wb/double-bubble-outline.png\\\");\\r\\n }\\r\\n\\r\\n.bg-new {\\r\\n background-color: #e3f2fd !important;\\r\\n padding: 5px 0;\\r\\n }\\r\\n\\r\\n.card-2 {\\r\\n background-color: #133656;\\r\\n color: #fff;\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n.input-radius-left {\\r\\n background-color: #ffffff;\\r\\n }\\r\\n\\r\\n.card-custom {\\r\\n background-color: #dee3e6;\\r\\n }\\r\\n\\r\\n.btn-custom {\\r\\n background-color: #3fa28e;\\r\\n border-color: #3fa28e;\\r\\n padding: 5px 20px;\\r\\n }\\r\\n\\r\\n.btn-custom:hover {\\r\\n background-color: #298270;\\r\\n border-color: #298270;\\r\\n }\\r\\n\\r\\n.forgot-custom {\\r\\n font-size: 12px;\\r\\n margin: 5px 0 0 0;\\r\\n }\\r\\n\\r\\n.info-custom {\\r\\n font-size: 14px;\\r\\n margin-bottom: 0;\\r\\n }\\r\\n\\r\\n.forgot-custom .forgot-link {\\r\\n color: #000;\\r\\n }\\r\\n\\r\\n.h-title{\\r\\n color:#285371;\\r\\n text-align:center;\\r\\n font-weight:bold;\\r\\n }\\r\\n\\r\\n.h-divider {\\r\\n width: 100%;\\r\\n border: 1px solid;\\r\\n margin: 15px 0px;\\r\\n }\\r\\n\\r\\n.footer1 {\\r\\n text-align: center;\\r\\n background: #e9e9e9;\\r\\n padding: 5px 0;\\r\\n border-top: 3px solid #56918a;\\r\\n }\\r\\n\\r\\n.footer-logo {\\r\\n width: 40px;\\r\\n }\\r\\n\\r\\n.f-text {\\r\\n font-size: 10px;\\r\\n margin-top: 10px;\\r\\n }\\r\\n\\r\\n.custom-carousel .owl-item img {\\r\\n height: 170px;\\r\\n }\\r\\n\\r\\n.custom-position {\\r\\n /*border-right: 2px solid #709fb3;*/\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n.c-vm {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n vertical-align: middle;\\r\\n align-items: center;\\r\\n }\\r\\n\\r\\n.content p{\\r\\n font-size:16px;\\r\\n text-align: justify;\\r\\n }\\r\\n\\r\\n/*.custom-right {\\r\\n padding-top: 15px;\\r\\n }*/\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n .owl-item img {\\r\\n min-height: auto;\\r\\n }\\r\\n .h-o-m{display:none !important;}\\r\\n \\r\\n .h-title {\\r\\n font-size: 25px;\\r\\n }\\r\\n .res-image {\\r\\n width: 200px;\\r\\n }\\r\\n .custom-position {\\r\\n text-align: center;\\r\\n margin-bottom: 15px;\\r\\n border:none;\\r\\n }\\r\\n .custom-position img {\\r\\n width: 50px;\\r\\n height: auto;\\r\\n }\\r\\n .custom-right {\\r\\n text-align: center !important;\\r\\n }\\r\\n .custom-carousel .owl-item img {\\r\\n height: 120px;\\r\\n }\\r\\n .custom-right img {\\r\\n width: 150px;\\r\\n margin: 0 !important;\\r\\n }\\r\\n .custom-middle img {\\r\\n width: 200px;\\r\\n margin: 15px 0;\\r\\n }\\r\\n }\\r\\n\\r\\n.text-part {\\r\\n padding-top: 25px;\\r\\n padding-bottom: 25px;\\r\\n background-color: #dee3e6;\\r\\n }\\r\\n\\r\\n.custom-text {\\r\\n font-size: 12px;\\r\\n }\"","module.exports = \"\\n\\n\\n\\n\\t
\\n\\t\\t\\n\\t\\t\\n\\t
\\n\\t
\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t

About Swasthya Ingit

\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\t

The West Bengal Government has taken all possible\\n\\t\\t\\t\\t\\t\\t\\tmeasures to ensure well being of the people in the state with special focus and care for\\n\\t\\t\\t\\t\\t\\t\\tunderprivileged section of the society. In line with its unwavering commitment to provide\\n\\t\\t\\t\\t\\t\\t\\taffordable, accessible, sustainable and high quality healthcare service delivery up to grass\\n\\t\\t\\t\\t\\t\\t\\troot level the State Government has launched “Swasthya Ingit”.

\\n\\t\\t\\t\\t\\t\\t

The Initiative envisages implementing Telemedicine Services at all Susasthya Kendras (SKs) of\\n\\t\\t\\t\\t\\t\\t\\tthe\\n\\t\\t\\t\\t\\t\\t\\tState and developing them in “Decentralised e-Clinics”. By doing so “quality healthcare”\\n\\t\\t\\t\\t\\t\\t\\twould\\n\\t\\t\\t\\t\\t\\t\\tbe more “accessible” to the villagers and the services of “Specialist Doctors” could also be\\n\\t\\t\\t\\t\\t\\t\\tmade available at the grass root level through Telemedicine. Amid COVID pandemic it will not\\n\\t\\t\\t\\t\\t\\t\\tonly promote early diagnosis of the COVID but would further strengthen efforts to combat\\n\\t\\t\\t\\t\\t\\t\\tCOVID\\n\\t\\t\\t\\t\\t\\t\\tin terms of active Surveillance, Screening, Isolation and Timely treatment of the COVID\\n\\t\\t\\t\\t\\t\\t\\taffected\\n\\t\\t\\t\\t\\t\\t\\tpeople. Apart from Quality, Accessible and Inclusive Healthcare in Rural Bengal it would\\n\\t\\t\\t\\t\\t\\t\\talso\\n\\t\\t\\t\\t\\t\\t\\thelp in reduction of out-of-pocket expenditure of villagers; facilitate easy follow ups;\\n\\t\\t\\t\\t\\t\\t\\tearly\\n\\t\\t\\t\\t\\t\\t\\tdiagnosis of the disease and timely medical intervention.

\\n\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\n\\t\\t
\\n\\n\\t
\\n\\t\\n\\t
\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t

\\n\\t\\t\\t\\t\\t\\tDesigned & Developed by Centre for Development of Advanced Computing (C-DAC).

\\n\\t\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t
\\n\\t
\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-wbsite-layout',\n templateUrl: './wbsite-layout.component.html',\n styleUrls: ['./wbsite-layout.component.css']\n})\nexport class WBSiteLayoutComponent implements OnInit {\n allimagelist: any = [];\n Images = ['../assets/images/wb/s1.jpg', '../assets/images/wb/s2.jpg', '../assets/images/wb/s3.jpg', '../assets/images/wb/s4.jpg', '../assets/images/wb/s5.jpg', '../assets/images/wb/s6.jpg', '../assets/images/wb/s7.jpg', '../assets/images/wb/s8.jpg', '../assets/images/wb/s9.jpg', '../assets/images/wb/s10.jpg']\n Images1 = ['../assets/images/wb/s11.jpg', '../assets/images/wb/s12.jpg', '../assets/images/wb/s14.jpg', '../assets/images/wb/s15.jpg', '../assets/images/wb/s16.jpg', '../assets/images/wb/s17.jpg', '../assets/images/wb/s18.jpg', '../assets/images/wb/s19.jpg']\n\n\n\n\n constructor() { }\n\n ngOnInit() {\n\n }\n\n\n\n SlideOptions = {\n\n loop: true,\n autoplay: true,\n autoplayTimeout: 5000,\n autoplayHoverPause: true,\n margin: 10,\n nav: false,\n autoHeight: true,\n dots: false,\n responsive: {\n 0: {\n items: 2,\n dots: true\n },\n 600: {\n items: 3\n },\n 1000: {\n items: 4\n }\n }\n };\n\n\n}","module.exports = \"\"","module.exports = \"

punjab dashboard

\"","import { Component, OnInit } from '@angular/core';\nimport { CommonService } from '../../../_services/common.service';\nimport { first } from 'rxjs/operators';\n\n\n@Component({\n selector: 'app-punjab',\n templateUrl: './punjab.component.html',\n styleUrls: ['./punjab.component.css']\n})\nexport class PunjabComponent implements OnInit {\n\n\n constructor(\n \n ) {\n\n\n\n\n\n\n }\n\n \n\n\n ngOnInit() {\n\n \n\n\n\n }\n\n} //END OF CLASS\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n eSanjeevani - Dicom Viewer \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
Drag and drop data here.
\\r\\n Only for HTML5 compatible browsers...\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"/* Theme for the ripple elements.*/\\n/* stylelint-disable material/no-prefixes */\\n/* stylelint-enable */\\n.mat-badge-content {\\n font-weight: 600;\\n font-size: 12px;\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-badge-small .mat-badge-content {\\n font-size: 6px; }\\n.mat-badge-large .mat-badge-content {\\n font-size: 24px; }\\n.mat-h1, .mat-headline, .mat-typography h1 {\\n font: 400 24px/32px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 16px; }\\n.mat-h2, .mat-title, .mat-typography h2 {\\n font: 500 20px/32px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 16px; }\\n.mat-h3, .mat-subheading-2, .mat-typography h3 {\\n font: 400 16px/28px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 16px; }\\n.mat-h4, .mat-subheading-1, .mat-typography h4 {\\n font: 400 15px/24px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 16px; }\\n.mat-h5, .mat-typography h5 {\\n font: 400 11.62px/20px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 12px; }\\n.mat-h6, .mat-typography h6 {\\n font: 400 9.38px/20px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 12px; }\\n.mat-body-strong, .mat-body-2 {\\n font: 500 14px/24px Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-body, .mat-body-1, .mat-typography {\\n font: 400 14px/20px Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-body p, .mat-body-1 p, .mat-typography p {\\n margin: 0 0 12px; }\\n.mat-small, .mat-caption {\\n font: 400 12px/20px Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-display-4, .mat-typography .mat-display-4 {\\n font: 300 112px/112px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 56px;\\n letter-spacing: -0.05em; }\\n.mat-display-3, .mat-typography .mat-display-3 {\\n font: 400 56px/56px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 64px;\\n letter-spacing: -0.02em; }\\n.mat-display-2, .mat-typography .mat-display-2 {\\n font: 400 45px/48px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 64px;\\n letter-spacing: -0.005em; }\\n.mat-display-1, .mat-typography .mat-display-1 {\\n font: 400 34px/40px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0 0 64px; }\\n.mat-bottom-sheet-container {\\n font: 400 14px/20px Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,\\n.mat-flat-button, .mat-fab, .mat-mini-fab {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px;\\n font-weight: 500; }\\n.mat-button-toggle {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-card {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-card-title {\\n font-size: 24px;\\n font-weight: 500; }\\n.mat-card-header .mat-card-title {\\n font-size: 20px; }\\n.mat-card-subtitle,\\n.mat-card-content {\\n font-size: 14px; }\\n.mat-checkbox {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-checkbox-layout .mat-checkbox-label {\\n line-height: 24px; }\\n.mat-chip {\\n font-size: 14px;\\n font-weight: 500; }\\n.mat-chip .mat-chip-trailing-icon.mat-icon,\\n .mat-chip .mat-chip-remove.mat-icon {\\n font-size: 18px; }\\n.mat-table {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-header-cell {\\n font-size: 12px;\\n font-weight: 500; }\\n.mat-cell, .mat-footer-cell {\\n font-size: 14px; }\\n.mat-calendar {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-calendar-body {\\n font-size: 13px; }\\n.mat-calendar-body-label,\\n.mat-calendar-period-button {\\n font-size: 14px;\\n font-weight: 500; }\\n.mat-calendar-table-header th {\\n font-size: 11px;\\n font-weight: 400; }\\n.mat-dialog-title {\\n font: 500 20px/32px Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-expansion-panel-header {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 15px;\\n font-weight: 400; }\\n.mat-expansion-panel-content {\\n font: 400 14px/20px Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-form-field {\\n font-size: inherit;\\n font-weight: 400;\\n line-height: 1.125;\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-form-field-wrapper {\\n padding-bottom: 1.34375em; }\\n.mat-form-field-prefix .mat-icon,\\n.mat-form-field-suffix .mat-icon {\\n font-size: 150%;\\n line-height: 1.125; }\\n.mat-form-field-prefix .mat-icon-button,\\n.mat-form-field-suffix .mat-icon-button {\\n height: 1.5em;\\n width: 1.5em; }\\n.mat-form-field-prefix .mat-icon-button .mat-icon,\\n .mat-form-field-suffix .mat-icon-button .mat-icon {\\n height: 1.125em;\\n line-height: 1.125; }\\n.mat-form-field-infix {\\n padding: 0.5em 0;\\n border-top: 0.84375em solid transparent; }\\n.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\\n.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\\n -webkit-transform: translateY(-1.34375em) scale(0.75);\\n transform: translateY(-1.34375em) scale(0.75);\\n width: 133.33333333%; }\\n.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\\n.mat-form-field-label {\\n -webkit-transform: translateY(-1.34374em) scale(0.75);\\n transform: translateY(-1.34374em) scale(0.75);\\n width: 133.33334333%; }\\n.mat-form-field-label-wrapper {\\n top: -0.84375em;\\n padding-top: 0.84375em; }\\n.mat-form-field-label {\\n top: 1.34375em; }\\n.mat-form-field-underline {\\n bottom: 1.34375em; }\\n.mat-form-field-subscript-wrapper {\\n font-size: 75%;\\n margin-top: 0.66666667em;\\n top: calc(100% - 1.79166667em); }\\n.mat-form-field-appearance-legacy .mat-form-field-wrapper {\\n padding-bottom: 1.25em; }\\n.mat-form-field-appearance-legacy .mat-form-field-infix {\\n padding: 0.4375em 0; }\\n.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\\n -webkit-transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);\\n -ms-transform: translateY(-1.28125em) scale(0.75);\\n width: 133.33333333%; }\\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\\n.mat-form-field-label {\\n -webkit-transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);\\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);\\n -ms-transform: translateY(-1.28124em) scale(0.75);\\n width: 133.33334333%; }\\n.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\\n.mat-form-field-label {\\n -webkit-transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);\\n transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);\\n -ms-transform: translateY(-1.28123em) scale(0.75);\\n width: 133.33335333%; }\\n.mat-form-field-appearance-legacy .mat-form-field-label {\\n top: 1.28125em; }\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\n bottom: 1.25em; }\\n.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {\\n margin-top: 0.54166667em;\\n top: calc(100% - 1.66666667em); }\\n@media print {\\n .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\\n -webkit-transform: translateY(-1.28122em) scale(0.75);\\n transform: translateY(-1.28122em) scale(0.75); }\\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper\\n.mat-form-field-label {\\n -webkit-transform: translateY(-1.28121em) scale(0.75);\\n transform: translateY(-1.28121em) scale(0.75); }\\n .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\\n.mat-form-field-label {\\n -webkit-transform: translateY(-1.2812em) scale(0.75);\\n transform: translateY(-1.2812em) scale(0.75); } }\\n.mat-form-field-appearance-fill .mat-form-field-infix {\\n padding: 0.25em 0 0.75em 0; }\\n.mat-form-field-appearance-fill .mat-form-field-label {\\n top: 1.09375em;\\n margin-top: -0.5em; }\\n.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\\n -webkit-transform: translateY(-0.59375em) scale(0.75);\\n transform: translateY(-0.59375em) scale(0.75);\\n width: 133.33333333%; }\\n.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\\n.mat-form-field-label {\\n -webkit-transform: translateY(-0.59374em) scale(0.75);\\n transform: translateY(-0.59374em) scale(0.75);\\n width: 133.33334333%; }\\n.mat-form-field-appearance-outline .mat-form-field-infix {\\n padding: 1em 0 1em 0; }\\n.mat-form-field-appearance-outline .mat-form-field-label {\\n top: 1.84375em;\\n margin-top: -0.25em; }\\n.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,\\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {\\n -webkit-transform: translateY(-1.59375em) scale(0.75);\\n transform: translateY(-1.59375em) scale(0.75);\\n width: 133.33333333%; }\\n.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper\\n.mat-form-field-label {\\n -webkit-transform: translateY(-1.59374em) scale(0.75);\\n transform: translateY(-1.59374em) scale(0.75);\\n width: 133.33334333%; }\\n.mat-grid-tile-header,\\n.mat-grid-tile-footer {\\n font-size: 14px; }\\n.mat-grid-tile-header .mat-line,\\n .mat-grid-tile-footer .mat-line {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: block;\\n box-sizing: border-box; }\\n.mat-grid-tile-header .mat-line:nth-child(n+2),\\n .mat-grid-tile-footer .mat-line:nth-child(n+2) {\\n font-size: 12px; }\\ninput.mat-input-element {\\n margin-top: -0.0625em; }\\n.mat-menu-item {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px;\\n font-weight: 400; }\\n.mat-paginator,\\n.mat-paginator-page-size .mat-select-trigger {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 12px; }\\n.mat-radio-button {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-select {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-select-trigger {\\n height: 1.125em; }\\n.mat-slide-toggle-content {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-slider-thumb-label-text {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 12px;\\n font-weight: 500; }\\n.mat-stepper-vertical, .mat-stepper-horizontal {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-step-label {\\n font-size: 14px;\\n font-weight: 400; }\\n.mat-step-sub-label-error {\\n font-weight: normal; }\\n.mat-step-label-error {\\n font-size: 14px; }\\n.mat-step-label-selected {\\n font-size: 14px;\\n font-weight: 500; }\\n.mat-tab-group {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-tab-label, .mat-tab-link {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px;\\n font-weight: 500; }\\n.mat-toolbar,\\n.mat-toolbar h1,\\n.mat-toolbar h2,\\n.mat-toolbar h3,\\n.mat-toolbar h4,\\n.mat-toolbar h5,\\n.mat-toolbar h6 {\\n font: 500 20px/32px Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n margin: 0; }\\n.mat-tooltip {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 10px;\\n padding-top: 6px;\\n padding-bottom: 6px; }\\n.mat-tooltip-handset {\\n font-size: 14px;\\n padding-top: 8px;\\n padding-bottom: 8px; }\\n.mat-list-item {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-list-option {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-list-base .mat-list-item {\\n font-size: 16px; }\\n.mat-list-base .mat-list-item .mat-line {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: block;\\n box-sizing: border-box; }\\n.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {\\n font-size: 14px; }\\n.mat-list-base .mat-list-option {\\n font-size: 16px; }\\n.mat-list-base .mat-list-option .mat-line {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: block;\\n box-sizing: border-box; }\\n.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {\\n font-size: 14px; }\\n.mat-list-base .mat-subheader {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px;\\n font-weight: 500; }\\n.mat-list-base[dense] .mat-list-item {\\n font-size: 12px; }\\n.mat-list-base[dense] .mat-list-item .mat-line {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: block;\\n box-sizing: border-box; }\\n.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {\\n font-size: 12px; }\\n.mat-list-base[dense] .mat-list-option {\\n font-size: 12px; }\\n.mat-list-base[dense] .mat-list-option .mat-line {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: block;\\n box-sizing: border-box; }\\n.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {\\n font-size: 12px; }\\n.mat-list-base[dense] .mat-subheader {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 12px;\\n font-weight: 500; }\\n.mat-option {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 16px; }\\n.mat-optgroup-label {\\n font: 500 14px/24px Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-simple-snackbar {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px; }\\n.mat-simple-snackbar-action {\\n line-height: 1;\\n font-family: inherit;\\n font-size: inherit;\\n font-weight: 500; }\\n.mat-tree {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif; }\\n.mat-tree-node,\\n.mat-nested-tree-node {\\n font-weight: 400;\\n font-size: 14px; }\\n.mat-ripple {\\n overflow: hidden;\\n position: relative; }\\n.mat-ripple.mat-ripple-unbounded {\\n overflow: visible; }\\n.mat-ripple-element {\\n position: absolute;\\n border-radius: 50%;\\n pointer-events: none;\\n transition: opacity, -webkit-transform 0ms cubic-bezier(0, 0, 0.2, 1);\\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0ms cubic-bezier(0, 0, 0.2, 1);\\n -webkit-transform: scale(0);\\n transform: scale(0); }\\n@media (-ms-high-contrast: active) {\\n .mat-ripple-element {\\n display: none; } }\\n.cdk-visually-hidden {\\n border: 0;\\n clip: rect(0 0 0 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n outline: 0;\\n -webkit-appearance: none;\\n -moz-appearance: none; }\\n.cdk-overlay-container, .cdk-global-overlay-wrapper {\\n pointer-events: none;\\n top: 0;\\n left: 0;\\n height: 100%;\\n width: 100%; }\\n.cdk-overlay-container {\\n position: fixed;\\n z-index: 1000; }\\n.cdk-overlay-container:empty {\\n display: none; }\\n.cdk-global-overlay-wrapper {\\n display: flex;\\n position: absolute;\\n z-index: 1000; }\\n.cdk-overlay-pane {\\n position: absolute;\\n pointer-events: auto;\\n box-sizing: border-box;\\n z-index: 1000;\\n display: flex;\\n max-width: 100%;\\n max-height: 100%; }\\n.cdk-overlay-backdrop {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n z-index: 1000;\\n pointer-events: auto;\\n -webkit-tap-highlight-color: transparent;\\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\\n opacity: 0; }\\n.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 1; }\\n@media screen and (-ms-high-contrast: active) {\\n .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0.6; } }\\n.cdk-overlay-dark-backdrop {\\n background: rgba(0, 0, 0, 0.32); }\\n.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {\\n opacity: 0; }\\n.cdk-overlay-connected-position-bounding-box {\\n position: absolute;\\n z-index: 1000;\\n display: flex;\\n flex-direction: column;\\n min-width: 1px;\\n min-height: 1px; }\\n.cdk-global-scrollblock {\\n position: fixed;\\n width: 100%;\\n overflow-y: scroll; }\\n@-webkit-keyframes cdk-text-field-autofill-start {\\n /*!*/ }\\n@keyframes cdk-text-field-autofill-start {\\n /*!*/ }\\n@-webkit-keyframes cdk-text-field-autofill-end {\\n /*!*/ }\\n@keyframes cdk-text-field-autofill-end {\\n /*!*/ }\\n.cdk-text-field-autofill-monitored:-webkit-autofill {\\n -webkit-animation-name: cdk-text-field-autofill-start;\\n animation-name: cdk-text-field-autofill-start; }\\n.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {\\n -webkit-animation-name: cdk-text-field-autofill-end;\\n animation-name: cdk-text-field-autofill-end; }\\ntextarea.cdk-textarea-autosize {\\n resize: none; }\\ntextarea.cdk-textarea-autosize-measuring {\\n height: auto !important;\\n overflow: hidden !important;\\n padding: 2px 0 !important;\\n box-sizing: content-box !important; }\\n.mat-ripple-element {\\n background-color: rgba(0, 0, 0, 0.1); }\\n.mat-option {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {\\n background: rgba(0, 0, 0, 0.04); }\\n.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {\\n background: rgba(0, 0, 0, 0.04); }\\n.mat-option.mat-active {\\n background: rgba(0, 0, 0, 0.04);\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-option.mat-option-disabled {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {\\n color: #212121; }\\n.mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {\\n color: #ff4081; }\\n.mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {\\n color: #f44336; }\\n.mat-optgroup-label {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-optgroup-disabled .mat-optgroup-label {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-pseudo-checkbox {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-pseudo-checkbox::after {\\n color: #fafafa; }\\n.mat-pseudo-checkbox-disabled {\\n color: #b0b0b0; }\\n.mat-pseudo-checkbox-checked,\\n.mat-pseudo-checkbox-indeterminate,\\n.mat-accent .mat-pseudo-checkbox-checked,\\n.mat-accent .mat-pseudo-checkbox-indeterminate {\\n background: #ff4081; }\\n.mat-primary .mat-pseudo-checkbox-checked,\\n.mat-primary .mat-pseudo-checkbox-indeterminate {\\n background: #212121; }\\n.mat-warn .mat-pseudo-checkbox-checked,\\n.mat-warn .mat-pseudo-checkbox-indeterminate {\\n background: #f44336; }\\n.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,\\n.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\\n background: #b0b0b0; }\\n.mat-elevation-z0 {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z1 {\\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z2 {\\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z3 {\\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z4 {\\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z5 {\\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z6 {\\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z7 {\\n box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z8 {\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z9 {\\n box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z10 {\\n box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z11 {\\n box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z12 {\\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z13 {\\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z14 {\\n box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z15 {\\n box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z16 {\\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z17 {\\n box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z18 {\\n box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z19 {\\n box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z20 {\\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z21 {\\n box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z22 {\\n box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z23 {\\n box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12); }\\n.mat-elevation-z24 {\\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12); }\\n.mat-app-background {\\n background-color: #fafafa;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-theme-loaded-marker {\\n display: none; }\\n.mat-autocomplete-panel {\\n background: white;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-autocomplete-panel:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {\\n background: white; }\\n.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-badge-content {\\n color: white;\\n background: #212121; }\\n@media (-ms-high-contrast: active) {\\n .mat-badge-content {\\n outline: solid 1px;\\n border-radius: 0; } }\\n.mat-badge-accent .mat-badge-content {\\n background: #ff4081;\\n color: white; }\\n.mat-badge-warn .mat-badge-content {\\n color: white;\\n background: #f44336; }\\n.mat-badge {\\n position: relative; }\\n.mat-badge-hidden .mat-badge-content {\\n display: none; }\\n.mat-badge-disabled .mat-badge-content {\\n background: #b9b9b9;\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-badge-content {\\n position: absolute;\\n text-align: center;\\n display: inline-block;\\n border-radius: 50%;\\n transition: -webkit-transform 200ms ease-in-out;\\n transition: transform 200ms ease-in-out;\\n transition: transform 200ms ease-in-out, -webkit-transform 200ms ease-in-out;\\n -webkit-transform: scale(0.6);\\n transform: scale(0.6);\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n pointer-events: none; }\\n.mat-badge-content.mat-badge-active {\\n -webkit-transform: none;\\n transform: none; }\\n.mat-badge-small .mat-badge-content {\\n width: 16px;\\n height: 16px;\\n line-height: 16px; }\\n.mat-badge-small.mat-badge-above .mat-badge-content {\\n top: -8px; }\\n.mat-badge-small.mat-badge-below .mat-badge-content {\\n bottom: -8px; }\\n.mat-badge-small.mat-badge-before .mat-badge-content {\\n left: -16px; }\\n[dir='rtl'] .mat-badge-small.mat-badge-before .mat-badge-content {\\n left: auto;\\n right: -16px; }\\n.mat-badge-small.mat-badge-after .mat-badge-content {\\n right: -16px; }\\n[dir='rtl'] .mat-badge-small.mat-badge-after .mat-badge-content {\\n right: auto;\\n left: -16px; }\\n.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\\n left: -8px; }\\n[dir='rtl'] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {\\n left: auto;\\n right: -8px; }\\n.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\\n right: -8px; }\\n[dir='rtl'] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {\\n right: auto;\\n left: -8px; }\\n.mat-badge-medium .mat-badge-content {\\n width: 22px;\\n height: 22px;\\n line-height: 22px; }\\n.mat-badge-medium.mat-badge-above .mat-badge-content {\\n top: -11px; }\\n.mat-badge-medium.mat-badge-below .mat-badge-content {\\n bottom: -11px; }\\n.mat-badge-medium.mat-badge-before .mat-badge-content {\\n left: -22px; }\\n[dir='rtl'] .mat-badge-medium.mat-badge-before .mat-badge-content {\\n left: auto;\\n right: -22px; }\\n.mat-badge-medium.mat-badge-after .mat-badge-content {\\n right: -22px; }\\n[dir='rtl'] .mat-badge-medium.mat-badge-after .mat-badge-content {\\n right: auto;\\n left: -22px; }\\n.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\\n left: -11px; }\\n[dir='rtl'] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {\\n left: auto;\\n right: -11px; }\\n.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\\n right: -11px; }\\n[dir='rtl'] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {\\n right: auto;\\n left: -11px; }\\n.mat-badge-large .mat-badge-content {\\n width: 28px;\\n height: 28px;\\n line-height: 28px; }\\n.mat-badge-large.mat-badge-above .mat-badge-content {\\n top: -14px; }\\n.mat-badge-large.mat-badge-below .mat-badge-content {\\n bottom: -14px; }\\n.mat-badge-large.mat-badge-before .mat-badge-content {\\n left: -28px; }\\n[dir='rtl'] .mat-badge-large.mat-badge-before .mat-badge-content {\\n left: auto;\\n right: -28px; }\\n.mat-badge-large.mat-badge-after .mat-badge-content {\\n right: -28px; }\\n[dir='rtl'] .mat-badge-large.mat-badge-after .mat-badge-content {\\n right: auto;\\n left: -28px; }\\n.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\\n left: -14px; }\\n[dir='rtl'] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {\\n left: auto;\\n right: -14px; }\\n.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\\n right: -14px; }\\n[dir='rtl'] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {\\n right: auto;\\n left: -14px; }\\n.mat-bottom-sheet-container {\\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);\\n background: white;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-button, .mat-icon-button, .mat-stroked-button {\\n color: inherit;\\n background: transparent; }\\n.mat-button.mat-primary, .mat-icon-button.mat-primary, .mat-stroked-button.mat-primary {\\n color: #212121; }\\n.mat-button.mat-accent, .mat-icon-button.mat-accent, .mat-stroked-button.mat-accent {\\n color: #ff4081; }\\n.mat-button.mat-warn, .mat-icon-button.mat-warn, .mat-stroked-button.mat-warn {\\n color: #f44336; }\\n.mat-button.mat-primary[disabled], .mat-button.mat-accent[disabled], .mat-button.mat-warn[disabled], .mat-button[disabled][disabled], .mat-icon-button.mat-primary[disabled], .mat-icon-button.mat-accent[disabled], .mat-icon-button.mat-warn[disabled], .mat-icon-button[disabled][disabled], .mat-stroked-button.mat-primary[disabled], .mat-stroked-button.mat-accent[disabled], .mat-stroked-button.mat-warn[disabled], .mat-stroked-button[disabled][disabled] {\\n color: rgba(0, 0, 0, 0.26); }\\n.mat-button.mat-primary .mat-button-focus-overlay, .mat-icon-button.mat-primary .mat-button-focus-overlay, .mat-stroked-button.mat-primary .mat-button-focus-overlay {\\n background-color: #212121; }\\n.mat-button.mat-accent .mat-button-focus-overlay, .mat-icon-button.mat-accent .mat-button-focus-overlay, .mat-stroked-button.mat-accent .mat-button-focus-overlay {\\n background-color: #ff4081; }\\n.mat-button.mat-warn .mat-button-focus-overlay, .mat-icon-button.mat-warn .mat-button-focus-overlay, .mat-stroked-button.mat-warn .mat-button-focus-overlay {\\n background-color: #f44336; }\\n.mat-button[disabled] .mat-button-focus-overlay, .mat-icon-button[disabled] .mat-button-focus-overlay, .mat-stroked-button[disabled] .mat-button-focus-overlay {\\n background-color: transparent; }\\n.mat-button .mat-ripple-element, .mat-icon-button .mat-ripple-element, .mat-stroked-button .mat-ripple-element {\\n opacity: 0.1;\\n background-color: currentColor; }\\n.mat-button-focus-overlay {\\n background: black; }\\n.mat-stroked-button:not([disabled]) {\\n border-color: rgba(0, 0, 0, 0.12); }\\n.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {\\n color: rgba(0, 0, 0, 0.87);\\n background-color: white; }\\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\\n color: white; }\\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\\n color: white; }\\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\\n color: white; }\\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\\n color: rgba(0, 0, 0, 0.26); }\\n.mat-flat-button.mat-primary, .mat-raised-button.mat-primary, .mat-fab.mat-primary, .mat-mini-fab.mat-primary {\\n background-color: #212121; }\\n.mat-flat-button.mat-accent, .mat-raised-button.mat-accent, .mat-fab.mat-accent, .mat-mini-fab.mat-accent {\\n background-color: #ff4081; }\\n.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {\\n background-color: #f44336; }\\n.mat-flat-button.mat-primary[disabled], .mat-flat-button.mat-accent[disabled], .mat-flat-button.mat-warn[disabled], .mat-flat-button[disabled][disabled], .mat-raised-button.mat-primary[disabled], .mat-raised-button.mat-accent[disabled], .mat-raised-button.mat-warn[disabled], .mat-raised-button[disabled][disabled], .mat-fab.mat-primary[disabled], .mat-fab.mat-accent[disabled], .mat-fab.mat-warn[disabled], .mat-fab[disabled][disabled], .mat-mini-fab.mat-primary[disabled], .mat-mini-fab.mat-accent[disabled], .mat-mini-fab.mat-warn[disabled], .mat-mini-fab[disabled][disabled] {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {\\n background-color: rgba(255, 255, 255, 0.1); }\\n.mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {\\n background-color: rgba(255, 255, 255, 0.1); }\\n.mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {\\n background-color: rgba(255, 255, 255, 0.1); }\\n.mat-stroked-button:not([class*='mat-elevation-z']), .mat-flat-button:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n.mat-raised-button:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\\n.mat-raised-button:not([disabled]):active:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }\\n.mat-raised-button[disabled]:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n.mat-fab:not([class*='mat-elevation-z']), .mat-mini-fab:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\\n.mat-fab:not([disabled]):active:not([class*='mat-elevation-z']), .mat-mini-fab:not([disabled]):active:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12); }\\n.mat-fab[disabled]:not([class*='mat-elevation-z']), .mat-mini-fab[disabled]:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n.mat-button-toggle-standalone,\\n.mat-button-toggle-group {\\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\\n.mat-button-toggle-group-appearance-standard {\\n box-shadow: none; }\\n.mat-button-toggle {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-button-toggle .mat-button-toggle-focus-overlay {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.mat-button-toggle-appearance-standard {\\n color: rgba(0, 0, 0, 0.87);\\n background: white; }\\n.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {\\n background-color: black; }\\n.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\\n border-left: solid 1px rgba(0, 0, 0, 0.12); }\\n[dir='rtl'] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {\\n border-left: none;\\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\\n.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {\\n border-left: none;\\n border-right: none;\\n border-top: solid 1px rgba(0, 0, 0, 0.12); }\\n.mat-button-toggle-checked {\\n background-color: #e0e0e0;\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-button-toggle-checked.mat-button-toggle-appearance-standard {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-button-toggle-disabled {\\n color: rgba(0, 0, 0, 0.26);\\n background-color: #eeeeee; }\\n.mat-button-toggle-disabled.mat-button-toggle-appearance-standard {\\n background: white; }\\n.mat-button-toggle-disabled.mat-button-toggle-checked {\\n background-color: #bdbdbd; }\\n.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,\\n.mat-button-toggle-group-appearance-standard {\\n border: solid 1px rgba(0, 0, 0, 0.12); }\\n.mat-card {\\n background: white;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-card:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12); }\\n.mat-card.mat-card-flat:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n.mat-card-subtitle {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-checkbox-frame {\\n border-color: rgba(0, 0, 0, 0.54); }\\n.mat-checkbox-checkmark {\\n fill: #fafafa; }\\n.mat-checkbox-checkmark-path {\\n stroke: #fafafa !important; }\\n@media (-ms-high-contrast: black-on-white) {\\n .mat-checkbox-checkmark-path {\\n stroke: #000 !important; } }\\n.mat-checkbox-mixedmark {\\n background-color: #fafafa; }\\n.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .mat-checkbox-checked.mat-primary .mat-checkbox-background {\\n background-color: #212121; }\\n.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #ff4081; }\\n.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.mat-warn .mat-checkbox-background {\\n background-color: #f44336; }\\n.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {\\n background-color: #b0b0b0; }\\n.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {\\n border-color: #b0b0b0; }\\n.mat-checkbox-disabled .mat-checkbox-label {\\n color: rgba(0, 0, 0, 0.54); }\\n@media (-ms-high-contrast: active) {\\n .mat-checkbox-disabled {\\n opacity: 0.5; } }\\n@media (-ms-high-contrast: active) {\\n .mat-checkbox-background {\\n background: none; } }\\n.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element {\\n background-color: #212121; }\\n.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element {\\n background-color: #ff4081; }\\n.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element {\\n background-color: #f44336; }\\n.mat-chip.mat-standard-chip {\\n background-color: #e0e0e0;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-chip.mat-standard-chip .mat-chip-remove {\\n color: rgba(0, 0, 0, 0.87);\\n opacity: 0.4; }\\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {\\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12); }\\n.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {\\n opacity: 0.54; }\\n.mat-chip.mat-standard-chip.mat-chip-disabled {\\n opacity: 0.4; }\\n.mat-chip.mat-standard-chip::after {\\n background: black; }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {\\n background-color: #212121;\\n color: white; }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {\\n color: white;\\n opacity: 0.4; }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {\\n background: rgba(255, 255, 255, 0.1); }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {\\n background-color: #f44336;\\n color: white; }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {\\n color: white;\\n opacity: 0.4; }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {\\n background: rgba(255, 255, 255, 0.1); }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {\\n background-color: #ff4081;\\n color: white; }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {\\n color: white;\\n opacity: 0.4; }\\n.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {\\n background: rgba(255, 255, 255, 0.1); }\\n.mat-table {\\n background: white; }\\n.mat-table thead, .mat-table tbody, .mat-table tfoot,\\nmat-header-row, mat-row, mat-footer-row,\\n[mat-header-row], [mat-row], [mat-footer-row],\\n.mat-table-sticky {\\n background: inherit; }\\nmat-row, mat-header-row, mat-footer-row,\\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\\n border-bottom-color: rgba(0, 0, 0, 0.12); }\\n.mat-header-cell {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-cell, .mat-footer-cell {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-calendar-arrow {\\n border-top-color: rgba(0, 0, 0, 0.54); }\\n.mat-datepicker-toggle,\\n.mat-datepicker-content .mat-calendar-next-button,\\n.mat-datepicker-content .mat-calendar-previous-button {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-calendar-table-header {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-calendar-table-header-divider::after {\\n background: rgba(0, 0, 0, 0.12); }\\n.mat-calendar-body-label {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-calendar-body-cell-content {\\n color: rgba(0, 0, 0, 0.87);\\n border-color: transparent; }\\n.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\\n.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected),\\n.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {\\n background-color: rgba(0, 0, 0, 0.04); }\\n.mat-calendar-body-today:not(.mat-calendar-body-selected) {\\n border-color: rgba(0, 0, 0, 0.38); }\\n.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected) {\\n border-color: rgba(0, 0, 0, 0.18); }\\n.mat-calendar-body-selected {\\n background-color: #212121;\\n color: white; }\\n.mat-calendar-body-disabled > .mat-calendar-body-selected {\\n background-color: rgba(33, 33, 33, 0.4); }\\n.mat-calendar-body-today.mat-calendar-body-selected {\\n box-shadow: inset 0 0 0 1px white; }\\n.mat-datepicker-content {\\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);\\n background-color: white;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-datepicker-content.mat-accent .mat-calendar-body-selected {\\n background-color: #ff4081;\\n color: white; }\\n.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {\\n background-color: rgba(255, 64, 129, 0.4); }\\n.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {\\n box-shadow: inset 0 0 0 1px white; }\\n.mat-datepicker-content.mat-warn .mat-calendar-body-selected {\\n background-color: #f44336;\\n color: white; }\\n.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {\\n background-color: rgba(244, 67, 54, 0.4); }\\n.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {\\n box-shadow: inset 0 0 0 1px white; }\\n.mat-datepicker-content-touch {\\n box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); }\\n.mat-datepicker-toggle-active {\\n color: #212121; }\\n.mat-datepicker-toggle-active.mat-accent {\\n color: #ff4081; }\\n.mat-datepicker-toggle-active.mat-warn {\\n color: #f44336; }\\n.mat-dialog-container {\\n box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);\\n background: white;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-divider {\\n border-top-color: rgba(0, 0, 0, 0.12); }\\n.mat-divider-vertical {\\n border-right-color: rgba(0, 0, 0, 0.12); }\\n.mat-expansion-panel {\\n background: white;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-expansion-panel:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12); }\\n.mat-action-row {\\n border-top-color: rgba(0, 0, 0, 0.12); }\\n.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled='true']).cdk-keyboard-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled='true']).cdk-program-focused, .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled='true']):hover {\\n background: rgba(0, 0, 0, 0.04); }\\n@media (hover: none) {\\n .mat-expansion-panel:not(.mat-expanded):not([aria-disabled='true'])\\n.mat-expansion-panel-header:hover {\\n background: white; } }\\n.mat-expansion-panel-header-title {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-expansion-panel-header-description,\\n.mat-expansion-indicator::after {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-expansion-panel-header[aria-disabled='true'] {\\n color: rgba(0, 0, 0, 0.26); }\\n.mat-expansion-panel-header[aria-disabled='true'] .mat-expansion-panel-header-title,\\n .mat-expansion-panel-header[aria-disabled='true'] .mat-expansion-panel-header-description {\\n color: inherit; }\\n.mat-form-field-label {\\n color: rgba(0, 0, 0, 0.6); }\\n.mat-hint {\\n color: rgba(0, 0, 0, 0.6); }\\n.mat-form-field.mat-focused .mat-form-field-label {\\n color: #212121; }\\n.mat-form-field.mat-focused .mat-form-field-label.mat-accent {\\n color: #ff4081; }\\n.mat-form-field.mat-focused .mat-form-field-label.mat-warn {\\n color: #f44336; }\\n.mat-focused .mat-form-field-required-marker {\\n color: #ff4081; }\\n.mat-form-field-ripple {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.mat-form-field.mat-focused .mat-form-field-ripple {\\n background-color: #212121; }\\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {\\n background-color: #ff4081; }\\n.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {\\n background-color: #f44336; }\\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {\\n color: #212121; }\\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {\\n color: #ff4081; }\\n.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {\\n color: #f44336; }\\n.mat-form-field.mat-form-field-invalid .mat-form-field-label {\\n color: #f44336; }\\n.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,\\n .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {\\n color: #f44336; }\\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,\\n.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {\\n background-color: #f44336; }\\n.mat-error {\\n color: #f44336; }\\n.mat-form-field-appearance-legacy .mat-form-field-label {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-form-field-appearance-legacy .mat-hint {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-form-field-appearance-legacy .mat-form-field-underline {\\n background-color: rgba(0, 0, 0, 0.42); }\\n.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\\n background-size: 4px 100%;\\n background-repeat: repeat-x; }\\n.mat-form-field-appearance-standard .mat-form-field-underline {\\n background-color: rgba(0, 0, 0, 0.42); }\\n.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);\\n background-size: 4px 100%;\\n background-repeat: repeat-x; }\\n.mat-form-field-appearance-fill .mat-form-field-flex {\\n background-color: rgba(0, 0, 0, 0.04); }\\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {\\n background-color: rgba(0, 0, 0, 0.02); }\\n.mat-form-field-appearance-fill .mat-form-field-underline::before {\\n background-color: rgba(0, 0, 0, 0.42); }\\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {\\n background-color: transparent; }\\n.mat-form-field-appearance-outline .mat-form-field-outline {\\n color: rgba(0, 0, 0, 0.12); }\\n.mat-form-field-appearance-outline .mat-form-field-outline-thick {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {\\n color: #212121; }\\n.mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {\\n color: #ff4081; }\\n.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {\\n color: #f44336; }\\n.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {\\n color: #f44336; }\\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {\\n color: rgba(0, 0, 0, 0.06); }\\n.mat-icon.mat-primary {\\n color: #212121; }\\n.mat-icon.mat-accent {\\n color: #ff4081; }\\n.mat-icon.mat-warn {\\n color: #f44336; }\\n.mat-form-field-type-mat-native-select .mat-form-field-infix::after {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-input-element:disabled,\\n.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-input-element {\\n caret-color: #212121; }\\n.mat-input-element::-webkit-input-placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-input-element:-ms-input-placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-input-element::-ms-input-placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-input-element::placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-input-element::-moz-placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-input-element::-webkit-input-placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-input-element:-ms-input-placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-accent .mat-input-element {\\n caret-color: #ff4081; }\\n.mat-warn .mat-input-element,\\n.mat-form-field-invalid .mat-input-element {\\n caret-color: #f44336; }\\n.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {\\n color: #f44336; }\\n.mat-list-base .mat-list-item {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-list-base .mat-list-option {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-list-base .mat-subheader {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-list-item-disabled {\\n background-color: #eeeeee; }\\n.mat-list-option:hover, .mat-list-option:focus,\\n.mat-nav-list .mat-list-item:hover,\\n.mat-nav-list .mat-list-item:focus,\\n.mat-action-list .mat-list-item:hover,\\n.mat-action-list .mat-list-item:focus {\\n background: rgba(0, 0, 0, 0.04); }\\n.mat-menu-panel {\\n background: white; }\\n.mat-menu-panel:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\\n.mat-menu-item {\\n background: transparent;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-menu-item[disabled], .mat-menu-item[disabled]::after {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-menu-item .mat-icon-no-color,\\n.mat-menu-item-submenu-trigger::after {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-menu-item:hover:not([disabled]),\\n.mat-menu-item.cdk-program-focused:not([disabled]),\\n.mat-menu-item.cdk-keyboard-focused:not([disabled]),\\n.mat-menu-item-highlighted:not([disabled]) {\\n background: rgba(0, 0, 0, 0.04); }\\n.mat-paginator {\\n background: white; }\\n.mat-paginator,\\n.mat-paginator-page-size .mat-select-trigger {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-paginator-decrement,\\n.mat-paginator-increment {\\n border-top: 2px solid rgba(0, 0, 0, 0.54);\\n border-right: 2px solid rgba(0, 0, 0, 0.54); }\\n.mat-paginator-first,\\n.mat-paginator-last {\\n border-top: 2px solid rgba(0, 0, 0, 0.54); }\\n.mat-icon-button[disabled] .mat-paginator-decrement,\\n.mat-icon-button[disabled] .mat-paginator-increment,\\n.mat-icon-button[disabled] .mat-paginator-first,\\n.mat-icon-button[disabled] .mat-paginator-last {\\n border-color: rgba(0, 0, 0, 0.38); }\\n.mat-progress-bar-background {\\n fill: whitesmoke; }\\n.mat-progress-bar-buffer {\\n background-color: whitesmoke; }\\n.mat-progress-bar-fill::after {\\n background-color: #212121; }\\n.mat-progress-bar.mat-accent .mat-progress-bar-background {\\n fill: #ff80ab; }\\n.mat-progress-bar.mat-accent .mat-progress-bar-buffer {\\n background-color: #ff80ab; }\\n.mat-progress-bar.mat-accent .mat-progress-bar-fill::after {\\n background-color: #ff4081; }\\n.mat-progress-bar.mat-warn .mat-progress-bar-background {\\n fill: #ffcdd2; }\\n.mat-progress-bar.mat-warn .mat-progress-bar-buffer {\\n background-color: #ffcdd2; }\\n.mat-progress-bar.mat-warn .mat-progress-bar-fill::after {\\n background-color: #f44336; }\\n.mat-progress-spinner circle, .mat-spinner circle {\\n stroke: #212121; }\\n.mat-progress-spinner.mat-accent circle, .mat-spinner.mat-accent circle {\\n stroke: #ff4081; }\\n.mat-progress-spinner.mat-warn circle, .mat-spinner.mat-warn circle {\\n stroke: #f44336; }\\n.mat-radio-outer-circle {\\n border-color: rgba(0, 0, 0, 0.54); }\\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {\\n border-color: #212121; }\\n.mat-radio-button.mat-primary .mat-radio-inner-circle,\\n.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\\n.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,\\n.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {\\n background-color: #212121; }\\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {\\n border-color: #ff4081; }\\n.mat-radio-button.mat-accent .mat-radio-inner-circle,\\n.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\\n.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple,\\n.mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {\\n background-color: #ff4081; }\\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {\\n border-color: #f44336; }\\n.mat-radio-button.mat-warn .mat-radio-inner-circle,\\n.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),\\n.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple,\\n.mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {\\n background-color: #f44336; }\\n.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,\\n.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {\\n border-color: rgba(0, 0, 0, 0.38); }\\n.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,\\n.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {\\n background-color: rgba(0, 0, 0, 0.38); }\\n.mat-radio-button.mat-radio-disabled .mat-radio-label-content {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-radio-button .mat-ripple-element {\\n background-color: black; }\\n.mat-select-value {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-select-placeholder {\\n color: rgba(0, 0, 0, 0.42); }\\n.mat-select-disabled .mat-select-value {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-select-arrow {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-select-panel {\\n background: white; }\\n.mat-select-panel:not([class*='mat-elevation-z']) {\\n box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12); }\\n.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {\\n background: rgba(0, 0, 0, 0.12); }\\n.mat-form-field.mat-focused.mat-primary .mat-select-arrow {\\n color: #212121; }\\n.mat-form-field.mat-focused.mat-accent .mat-select-arrow {\\n color: #ff4081; }\\n.mat-form-field.mat-focused.mat-warn .mat-select-arrow {\\n color: #f44336; }\\n.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {\\n color: #f44336; }\\n.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-drawer-container {\\n background-color: #fafafa;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-drawer {\\n background-color: white;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-drawer.mat-drawer-push {\\n background-color: white; }\\n.mat-drawer:not(.mat-drawer-side) {\\n box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12); }\\n.mat-drawer-side {\\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\\n.mat-drawer-side.mat-drawer-end {\\n border-left: solid 1px rgba(0, 0, 0, 0.12);\\n border-right: none; }\\n[dir='rtl'] .mat-drawer-side {\\n border-left: solid 1px rgba(0, 0, 0, 0.12);\\n border-right: none; }\\n[dir='rtl'] .mat-drawer-side.mat-drawer-end {\\n border-left: none;\\n border-right: solid 1px rgba(0, 0, 0, 0.12); }\\n.mat-drawer-backdrop.mat-drawer-shown {\\n background-color: rgba(0, 0, 0, 0.6); }\\n.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {\\n background-color: #ff4081; }\\n.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {\\n background-color: rgba(255, 64, 129, 0.54); }\\n.mat-slide-toggle.mat-checked .mat-ripple-element {\\n background-color: #ff4081; }\\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {\\n background-color: #212121; }\\n.mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {\\n background-color: rgba(33, 33, 33, 0.54); }\\n.mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {\\n background-color: #212121; }\\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {\\n background-color: #f44336; }\\n.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {\\n background-color: rgba(244, 67, 54, 0.54); }\\n.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {\\n background-color: #f44336; }\\n.mat-slide-toggle:not(.mat-checked) .mat-ripple-element {\\n background-color: black; }\\n.mat-slide-toggle-thumb {\\n box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);\\n background-color: #fafafa; }\\n.mat-slide-toggle-bar {\\n background-color: rgba(0, 0, 0, 0.38); }\\n.mat-slider-track-background {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.mat-primary .mat-slider-track-fill,\\n.mat-primary .mat-slider-thumb,\\n.mat-primary .mat-slider-thumb-label {\\n background-color: #212121; }\\n.mat-primary .mat-slider-thumb-label-text {\\n color: white; }\\n.mat-accent .mat-slider-track-fill,\\n.mat-accent .mat-slider-thumb,\\n.mat-accent .mat-slider-thumb-label {\\n background-color: #ff4081; }\\n.mat-accent .mat-slider-thumb-label-text {\\n color: white; }\\n.mat-warn .mat-slider-track-fill,\\n.mat-warn .mat-slider-thumb,\\n.mat-warn .mat-slider-thumb-label {\\n background-color: #f44336; }\\n.mat-warn .mat-slider-thumb-label-text {\\n color: white; }\\n.mat-slider-focus-ring {\\n background-color: rgba(255, 64, 129, 0.2); }\\n.mat-slider:hover .mat-slider-track-background,\\n.cdk-focused .mat-slider-track-background {\\n background-color: rgba(0, 0, 0, 0.38); }\\n.mat-slider-disabled .mat-slider-track-background,\\n.mat-slider-disabled .mat-slider-track-fill,\\n.mat-slider-disabled .mat-slider-thumb {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.mat-slider-disabled:hover .mat-slider-track-background {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.mat-slider-min-value .mat-slider-focus-ring {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,\\n.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,\\n.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {\\n border-color: rgba(0, 0, 0, 0.26);\\n background-color: transparent; }\\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {\\n border-color: rgba(0, 0, 0, 0.38); }\\n.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {\\n border-color: rgba(0, 0, 0, 0.26); }\\n.mat-slider-has-ticks .mat-slider-wrapper::after {\\n border-color: rgba(0, 0, 0, 0.7); }\\n.mat-slider-horizontal .mat-slider-ticks {\\n background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);\\n background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\\n.mat-slider-vertical .mat-slider-ticks {\\n background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent); }\\n.mat-step-header.cdk-keyboard-focused, .mat-step-header.cdk-program-focused, .mat-step-header:hover {\\n background-color: rgba(0, 0, 0, 0.04); }\\n@media (hover: none) {\\n .mat-step-header:hover {\\n background: none; } }\\n.mat-step-header .mat-step-label,\\n.mat-step-header .mat-step-optional {\\n color: rgba(0, 0, 0, 0.54); }\\n.mat-step-header .mat-step-icon {\\n background-color: rgba(0, 0, 0, 0.54);\\n color: white; }\\n.mat-step-header .mat-step-icon-selected,\\n.mat-step-header .mat-step-icon-state-done,\\n.mat-step-header .mat-step-icon-state-edit {\\n background-color: #212121;\\n color: white; }\\n.mat-step-header .mat-step-icon-state-error {\\n background-color: transparent;\\n color: #f44336; }\\n.mat-step-header .mat-step-label.mat-step-label-active {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-step-header .mat-step-label.mat-step-label-error {\\n color: #f44336; }\\n.mat-stepper-horizontal, .mat-stepper-vertical {\\n background-color: white; }\\n.mat-stepper-vertical-line::before {\\n border-left-color: rgba(0, 0, 0, 0.12); }\\n.mat-horizontal-stepper-header::before,\\n.mat-horizontal-stepper-header::after,\\n.mat-stepper-horizontal-line {\\n border-top-color: rgba(0, 0, 0, 0.12); }\\n.mat-sort-header-arrow {\\n color: #757575; }\\n.mat-tab-nav-bar,\\n.mat-tab-header {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.12); }\\n.mat-tab-group-inverted-header .mat-tab-nav-bar,\\n.mat-tab-group-inverted-header .mat-tab-header {\\n border-top: 1px solid rgba(0, 0, 0, 0.12);\\n border-bottom: none; }\\n.mat-tab-label, .mat-tab-link {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {\\n color: rgba(0, 0, 0, 0.38); }\\n.mat-tab-header-pagination-chevron {\\n border-color: rgba(0, 0, 0, 0.87); }\\n.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\\n border-color: rgba(0, 0, 0, 0.38); }\\n.mat-tab-group[class*='mat-background-'] .mat-tab-header,\\n.mat-tab-nav-bar[class*='mat-background-'] {\\n border-bottom: none;\\n border-top: none; }\\n.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\\n background-color: rgba(245, 245, 245, 0.3); }\\n.mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar {\\n background-color: #212121; }\\n.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar {\\n background-color: white; }\\n.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\\n background-color: rgba(255, 128, 171, 0.3); }\\n.mat-tab-group.mat-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent .mat-ink-bar {\\n background-color: #ff4081; }\\n.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar, .mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar {\\n background-color: white; }\\n.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\\n background-color: rgba(255, 205, 210, 0.3); }\\n.mat-tab-group.mat-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn .mat-ink-bar {\\n background-color: #f44336; }\\n.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar {\\n background-color: white; }\\n.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\\n background-color: rgba(245, 245, 245, 0.3); }\\n.mat-tab-group.mat-background-primary .mat-tab-header, .mat-tab-group.mat-background-primary .mat-tab-links, .mat-tab-nav-bar.mat-background-primary .mat-tab-header, .mat-tab-nav-bar.mat-background-primary .mat-tab-links {\\n background-color: #212121; }\\n.mat-tab-group.mat-background-primary .mat-tab-label, .mat-tab-group.mat-background-primary .mat-tab-link, .mat-tab-nav-bar.mat-background-primary .mat-tab-label, .mat-tab-nav-bar.mat-background-primary .mat-tab-link {\\n color: white; }\\n.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled {\\n color: rgba(255, 255, 255, 0.4); }\\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron {\\n border-color: white; }\\n.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\\n border-color: rgba(255, 255, 255, 0.4); }\\n.mat-tab-group.mat-background-primary .mat-ripple-element, .mat-tab-nav-bar.mat-background-primary .mat-ripple-element {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\\n background-color: rgba(255, 128, 171, 0.3); }\\n.mat-tab-group.mat-background-accent .mat-tab-header, .mat-tab-group.mat-background-accent .mat-tab-links, .mat-tab-nav-bar.mat-background-accent .mat-tab-header, .mat-tab-nav-bar.mat-background-accent .mat-tab-links {\\n background-color: #ff4081; }\\n.mat-tab-group.mat-background-accent .mat-tab-label, .mat-tab-group.mat-background-accent .mat-tab-link, .mat-tab-nav-bar.mat-background-accent .mat-tab-label, .mat-tab-nav-bar.mat-background-accent .mat-tab-link {\\n color: white; }\\n.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled {\\n color: rgba(255, 255, 255, 0.4); }\\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron {\\n border-color: white; }\\n.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\\n border-color: rgba(255, 255, 255, 0.4); }\\n.mat-tab-group.mat-background-accent .mat-ripple-element, .mat-tab-nav-bar.mat-background-accent .mat-ripple-element {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),\\n.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {\\n background-color: rgba(255, 205, 210, 0.3); }\\n.mat-tab-group.mat-background-warn .mat-tab-header, .mat-tab-group.mat-background-warn .mat-tab-links, .mat-tab-nav-bar.mat-background-warn .mat-tab-header, .mat-tab-nav-bar.mat-background-warn .mat-tab-links {\\n background-color: #f44336; }\\n.mat-tab-group.mat-background-warn .mat-tab-label, .mat-tab-group.mat-background-warn .mat-tab-link, .mat-tab-nav-bar.mat-background-warn .mat-tab-label, .mat-tab-nav-bar.mat-background-warn .mat-tab-link {\\n color: white; }\\n.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled {\\n color: rgba(255, 255, 255, 0.4); }\\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron {\\n border-color: white; }\\n.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {\\n border-color: rgba(255, 255, 255, 0.4); }\\n.mat-tab-group.mat-background-warn .mat-ripple-element, .mat-tab-nav-bar.mat-background-warn .mat-ripple-element {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.mat-toolbar {\\n background: whitesmoke;\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-toolbar.mat-primary {\\n background: #212121;\\n color: white; }\\n.mat-toolbar.mat-accent {\\n background: #ff4081;\\n color: white; }\\n.mat-toolbar.mat-warn {\\n background: #f44336;\\n color: white; }\\n.mat-toolbar .mat-form-field-underline,\\n .mat-toolbar .mat-form-field-ripple,\\n .mat-toolbar .mat-focused .mat-form-field-ripple {\\n background-color: currentColor; }\\n.mat-toolbar .mat-form-field-label,\\n .mat-toolbar .mat-focused .mat-form-field-label,\\n .mat-toolbar .mat-select-value,\\n .mat-toolbar .mat-select-arrow,\\n .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {\\n color: inherit; }\\n.mat-toolbar .mat-input-element {\\n caret-color: currentColor; }\\n.mat-tooltip {\\n background: rgba(97, 97, 97, 0.9); }\\n.mat-tree {\\n background: white; }\\n.mat-tree-node,\\n.mat-nested-tree-node {\\n color: rgba(0, 0, 0, 0.87); }\\n.mat-snack-bar-container {\\n color: rgba(255, 255, 255, 0.7);\\n background: #323232;\\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12); }\\n.mat-simple-snackbar-action {\\n color: #ff4081; }\\nhtml, body {\\n height: 100% !important;\\n margin: 0;\\n background-color: #252525;\\n border-color: #1b1b1b;\\n color: #fff;\\n text-shadow: 0 1px 0 #111; }\\n#dwv {\\n height: 90%; }\\na {\\n color: #ff4081; }\\na:hover {\\n color: #212121; }\\n.button-row {\\n text-align: center;\\n padding: 5px; }\\n.mat-raised-button {\\n margin: 0.1em; }\\n.legend {\\n text-align: center;\\n font-size: 8pt;\\n margin: 1em; }\\n/* Layers */\\n.layerContainer {\\n position: relative;\\n padding: 0;\\n margin: auto;\\n text-align: center;\\n height: 520px !important; }\\n.imageLayer {\\n position: absolute;\\n left: 0px;\\n height: 520px !important; }\\n.drawDiv {\\n position: absolute;\\n pointer-events: none; }\\n/* drag&drop */\\n.dropBox {\\n border: 5px dashed whitesmoke;\\n margin: auto;\\n text-align: center;\\n vertical-align: middle; }\\n.dropBox.hover {\\n border: 5px dashed #212121; }\\n/* Info */\\n.info {\\n color: #cde;\\n text-shadow: 1px 1px #000;\\n font-size: 80%; }\\n.infoc {\\n color: #ff0;\\n text-shadow: 1px 1px #000;\\n font-size: 120%; }\\n.infotl {\\n position: absolute;\\n top: 0;\\n left: 0;\\n text-align: left; }\\n.infotc {\\n position: absolute;\\n top: 0;\\n left: 50%;\\n right: 50%;\\n text-align: center; }\\n.infotr {\\n position: absolute;\\n top: 0;\\n right: 0;\\n text-align: right; }\\n.infocl {\\n position: absolute;\\n bottom: 50%;\\n left: 0;\\n text-align: left; }\\n.infocr {\\n position: absolute;\\n bottom: 50%;\\n right: 2px;\\n text-align: right; }\\n.infobl {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n text-align: left; }\\n.infobc {\\n position: absolute;\\n bottom: 0;\\n left: 50%;\\n right: 50%;\\n text-align: center; }\\n.infobr {\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n text-align: right; }\\n.plot {\\n position: absolute;\\n width: 100px;\\n height: 50px;\\n bottom: 15px;\\n right: 0; }\\n.infoLayer ul {\\n margin: 0;\\n padding: 2px;\\n list-style-type: none; }\\n.infoLayer li {\\n margin-top: 0; }\\n.infoLayer canvas {\\n margin: 0;\\n padding: 2px; }\\n.buttonstyle {\\n text-align: center;\\n background-color: #252525;\\n border-color: #1b1b1b;\\n color: #fff;\\n text-shadow: 0 1px 0 #111; }\\n.maindiv {\\n text-align: center;\\n height: 100%;\\n background-color: #252525;\\n border-color: #1b1b1b;\\n color: #fff;\\n text-shadow: 0 1px 0 #111; }\\n\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { VERSION } from '@angular/core';\r\nimport * as dwv from 'dwv';\r\nimport { MatDialog } from '@angular/material';\r\nimport { TagsDialogComponent } from './tags-dialog.component';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\n// gui overrides\r\n\r\n// decode query\r\ndwv.utils.decodeQuery = dwv.utils.base.decodeQuery;\r\n// progress\r\ndwv.gui.displayProgress = function () { };\r\n// get element\r\ndwv.gui.getElement = dwv.gui.base.getElement;\r\n// refresh element\r\ndwv.gui.refreshElement = dwv.gui.base.refreshElement;\r\n\r\n// check browser support\r\ndwv.browser.check();\r\n// initialise i18n\r\n//dwv.i18nInitialise(\"auto\", \"node_modules/dwv\");\r\n\r\n// Image decoders (for web workers)\r\ndwv.image.decoderScripts = {\r\n 'jpeg2000': 'assets/dwv/decoders/pdfjs/decode-jpeg2000.js',\r\n 'jpeg-lossless': 'assets/dwv/decoders/rii-mango/decode-jpegloss.js',\r\n 'jpeg-baseline': 'assets/dwv/decoders/pdfjs/decode-jpegbaseline.js'\r\n};\r\n\r\n@Component({\r\n selector: 'app-dwv',\r\n templateUrl: './dicomviewer.component.html',\r\n styleUrls: ['./dicomviewer.component.scss']\r\n})\r\n\r\nexport class DicomviewerComponent implements OnInit {\r\n public versions: any;\r\n public tools = ['Scroll', 'ZoomAndPan', 'WindowLevel', 'Draw']; //['Livewire', 'Filter', 'Floodfill']\r\n public selectedTool = 'Select Tool';\r\n public loadProgress = 0;\r\n public dataLoaded = false;\r\n public dataZoom = false;\r\n public dataSave = false;\r\n private dwvApp: any;\r\n private tags: any[];\r\n\r\n\r\n constructor(public dialog: MatDialog) {\r\n this.versions =\r\n {\r\n 'dwv': dwv.getVersion(),\r\n 'angular': VERSION.full\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n // translate page\r\n dwv.i18nPage();\r\n\r\n // create app\r\n this.dwvApp = new dwv.App();\r\n\r\n // initialise app\r\n this.dwvApp.init({\r\n 'containerDivId': 'dwv',\r\n 'loaders': ['File', 'Url', 'GoogleDrive', 'Dropbox'],\r\n 'tools': this.tools,\r\n 'filters': ['Threshold', 'Sharpen', 'Sobel'],\r\n 'shapes': ['Ruler'],\r\n 'isMobile': true\r\n });\r\n\r\n\r\n // progress\r\n const self = this;\r\n this.dwvApp.addEventListener('load-progress', function (event)\r\n {\r\n self.loadProgress = event.loaded;\r\n });\r\n\r\n this.dwvApp.addEventListener('load-end', function (event)\r\n {\r\n // set data loaded flag\r\n self.dataLoaded = true;\r\n // set dicom tags\r\n self.tags = self.dwvApp.getTags();\r\n // set the selected tool\r\n if (self.dwvApp.isMonoSliceData() && self.dwvApp.getImage().getNumberOfFrames() === 1)\r\n {\r\n self.selectedTool = 'ZoomAndPan';\r\n self.dataZoom = true;\r\n }\r\n else\r\n {\r\n self.selectedTool = 'Scroll';\r\n }\r\n });\r\n\r\n }\r\n\r\n onChangeTool(tool): void\r\n {\r\n if (this.dwvApp)\r\n {\r\n this.selectedTool = tool;\r\n\r\n if (this.selectedTool == 'ZoomAndPan')\r\n {\r\n this.dataZoom = true;\r\n }\r\n else\r\n {\r\n this.dataZoom = false;\r\n }\r\n\r\n if (this.selectedTool == 'Draw')\r\n {\r\n this.dataSave = true;\r\n }\r\n else\r\n {\r\n this.dataSave = false;\r\n }\r\n\r\n\r\n this.dwvApp.onChangeTool({ currentTarget: { value: tool } });\r\n }\r\n }\r\n\r\n onReset(): void\r\n {\r\n if (this.dwvApp)\r\n {\r\n this.dwvApp.onDisplayReset();\r\n }\r\n }\r\n\r\n openTagsDialog(): void\r\n {\r\n this.dialog.open(TagsDialogComponent,\r\n {\r\n width: '60%',\r\n height: '70%',\r\n data: { title: 'DICOM Tags', value: this.tags }\r\n }\r\n );\r\n }\r\n\r\n saveDraw(): void\r\n {\r\n if (this.dwvApp)\r\n {\r\n /*\r\n Step1: If state.json file has to be downloaded then we can use below code in html\r\n \r\n \r\n \r\n Step2: this.dwvApp.onStateSave();\r\n */\r\n\r\n var state = new dwv.State();\r\n var jsonData = state.toJSON(this.dwvApp);\r\n\r\n if (jsonData != null && !isNullOrUndefined(jsonData))\r\n {\r\n console.log(\"State :\" + jsonData);\r\n }\r\n else\r\n {\r\n alert(\"No Data available for - Draw Point Anotations\");\r\n }\r\n }\r\n else\r\n {\r\n alert(\"Something Went wrong for - Draw Point Anotations\");\r\n }\r\n }\r\n\r\n redoDraw(): void\r\n {\r\n if (this.dwvApp)\r\n {\r\n this.dwvApp.onRedo();\r\n }\r\n else\r\n {\r\n alert(\"Something Went wrong for - Redo\");\r\n }\r\n }\r\n\r\n undoDraw(): void\r\n {\r\n if (this.dwvApp)\r\n {\r\n this.dwvApp.onUndo();\r\n }\r\n else\r\n {\r\n alert(\"Something Went wrong for - Undo\")\r\n }\r\n }\r\n\r\n showInfo(): void\r\n {\r\n if (this.dwvApp)\r\n {\r\n this.dwvApp.toggleInfoLayerDisplay(); //toggleInfoLayerDisplay\r\n }\r\n else\r\n {\r\n alert(\"Something Went wrong for - Information\")\r\n }\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { MatButtonModule } from '@angular/material';\nimport { MatDialogModule } from '@angular/material';\nimport { MatIconModule } from '@angular/material';\nimport { MatMenuModule } from '@angular/material';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatTableModule, MatPaginatorModule, MatSortModule, MatFormFieldModule, MatInputModule } from '@angular/material';\n\nimport { DicomviewerComponent } from './dicomviewer.component';\nimport { TagsDialogComponent } from './tags-dialog.component';\nimport { TagsTableComponent } from './tags-table.component';\n\n@NgModule({\n declarations: [\n DicomviewerComponent,\n TagsDialogComponent,\n TagsTableComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n MatMenuModule,\n MatProgressBarModule,\n MatInputModule,\n MatTableModule,\n MatPaginatorModule,\n MatSortModule,\n MatFormFieldModule\n ],\n entryComponents: [\n TagsDialogComponent\n ],\n exports: [\n DicomviewerComponent\n ]\n})\n\nexport class DwvModule { }\n","module.exports = \"

{{data.title}}

\\n
\\n \\n
\\n\"","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';\n\n@Component({\n selector: 'app-dwv-tags-dialog',\n templateUrl: './tags-dialog.component.html'\n})\n\nexport class TagsDialogComponent {\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) {}\n\n}\n","module.exports = \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Name {{element.name}} Value {{element.value}}
\\n\\n \\n
\\n\"","import { Component, Input, ViewChild, OnInit } from '@angular/core';\nimport { MatPaginator, MatTableDataSource, MatSort } from '@angular/material';\n\n@Component({\n selector: 'app-dwv-tags-table',\n templateUrl: './tags-table.component.html'\n})\n\nexport class TagsTableComponent implements OnInit {\n\n @Input() data: any;\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort;\n\n displayedColumns: string[] = ['name', 'value'];\n\n dataSource: any;\n\n constructor() {}\n\n ngOnInit() {\n this.dataSource = new MatTableDataSource(this.data);\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n }\n\n applyFilter(filterValue: string) {\n filterValue = filterValue.trim(); // Remove whitespace\n filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches\n this.dataSource.filter = filterValue;\n }\n\n}\n\ninterface DicomTags {\n name: string;\n value: string;\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n
\\n\\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
\\n District Name\\n \\n City Name\\n \\n Sub Center\\n \\n User Name\\n \\n Enrollment Date\\n \\n Enrollment Completed\\n \\n CBAC Completed\\n
No data found
{{user.districtName}}{{user.cityName}}{{user.subCenter}} {{user.userName}} {{user.entryDate | date:'dd MMM yyyy'}} {{user.familyMemberEntryDone}} {{user.cbacEntryDone}}
\\n
\\n
\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport * as jspdf from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport { ExcelService } from '../../../../_services/excel.service';\nimport { formatDate } from '@angular/common';\n\n@Component({\n selector: 'app-printenrollmentstatus',\n templateUrl: './printenrollmentstatus.component.html',\n styleUrls: ['./printenrollmentstatus.component.css']\n})\nexport class PrintenrollmentstatusComponent implements OnInit {\n feacthchdata: any;\n searchdatalist: any;\n currentdate: Date = new Date();\n PrintSearchlst: any[];\n loading: boolean;\n constructor(private excelService: ExcelService) { }\n\n ngOnInit() {\n this.feacthchdata = window;\n\n this.searchdatalist = this.feacthchdata.searchdata\n console.log(this.searchdatalist);\n }\n printDiv() {\n\n window.print();\n return false;\n\n\n }\n public captureScreen() {\n this.PrintSearchlst = [];\n for (let i = 0; i < this.searchdatalist.length; i++) {\n let printjson = {\n \"Sr No.\": i + 1, \"District Name\": this.searchdatalist[i].districtName,\n \"City Name\": this.searchdatalist[i].cityName,\n \"Sub Center\": this.searchdatalist[i].subCenter,\n \"User Name\": this.searchdatalist[i].userName,\n \"Enrollment Date\": formatDate(this.searchdatalist[i].entryDate, 'dd MMM, yyyy', 'en'),\n \"Enrollment Completed\": this.searchdatalist[i].familyMemberEntryDone,\n \"CBAC Completed\": this.searchdatalist[i].cbacEntryDone\n }\n this.PrintSearchlst.push(printjson);\n \n }\n this.excelService.exportAsExcelFile(this.PrintSearchlst, 'Enrollmentstatus');\n this.loading = false;\n }\n}\n","module.exports = \"
\\n \\n \\n \\n \\n \\n \\n \\n

{{searchdatalist.toInstitutionPrescription.name}},\\n {{searchdatalist.toInstitutionPrescription.addressLine1}}

\\n

{{searchdatalist.toInstitutionPrescription.cityName}} -\\n {{searchdatalist.toInstitutionPrescription.pinCode}}

\\n \\n\\n
\\n \\n
\\\"nhm\\\"\\n
\\n \\n \\n \\n \\n \\n \\n
\\n

Consultation Date: {{searchdatalist.patientConsultationModel.startTime | date:'dd MMM yyyy, hh:mm\\n a'}}

\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n \\n
\\n  CR No:\\n  {{searchdatalist.patientConsultationModel.crNumber}}\\n
\\n  Teleconsultation Id:\\n  {{searchdatalist.patientConsultationModel.consultationId}}\\n
\\n  Patient / Age / Gender:\\n  {{searchdatalist.patientConsultationModel.patientFirstName\\n |\\n uppercase}} \\n {{searchdatalist.patientConsultationModel.patientMiddleName |\\n uppercase}} {{searchdatalist.patientConsultationModel.patientLastName | uppercase}} / {{ ageyear.toFixed(0)}} Year(s) {{\\n agemonth.toFixed(0)}} Month(s) \\n /  \\n\\n

\\n Male\\n

\\n

\\n Female\\n

\\n

\\n Transgender\\n

\\n
\\n  Mobile:\\n  \\n {{searchdatalist.patientConsultationModel.patientMobile}}
\\n  Address:\\n \\n  {{searchdatalist.patientConsultationModel.patientAddress}}\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n
\\n  General Information:\\n  General\\n Examination:
\\n  H/O Diabetes - {{true ==\\n searchdatalist.consultationModel.isDiabetic ? 'Yes' : 'No' }}\\n  Weight\\n - {{Weight}}
\\n  H/O Smoking - {{true ==\\n searchdatalist.consultationModel.isSmoker ? 'Yes' : 'No' }}\\n  Blood\\n Pressure - {{BloodPressure}}
\\n  H/O Alcohol Intake - {{true ==\\n searchdatalist.consultationModel.isAlcoholic ? 'Yes' : 'No' }}\\n  SpO2/Pulse Rate -\\n {{PulseRate}}
\\n  \\n \\n  Temperature -\\n {{Temperature}}\\n
\\n  \\n \\n  Blood Glucose -\\n {{BloodGlucose}}\\n
\\n  \\n \\n  Blood Group -\\n {{BloodGroup}}\\n
\\n\\n \\n \\n\\n\\n \\n \\n \\n\\n \\n \\n \\n\\n\\n \\n
\\n  Allergy:\\n {{i==0?'':','}}\\n {{problem.name}}\\n
\\n  \\n {{searchdatalist.consultationModel.additionalAllergy}}\\n
\\n \\n \\n \\n \\n
\\n  Query:\\n {{searchdatalist.lstConsultationMessageModel[0].message}}\\n
\\n\\n \\n \\n\\n\\n \\n \\n \\n\\n \\n \\n \\n\\n\\n \\n
\\n  Provisional\\n Diagnosis:{{AdviceNote[0]?.provisionalDiagnosis}}\\n
\\n  {{searchdatalist.consultationModel.additionalDiagnosis}}\\n
\\n\\n\\n 0\\\">\\n\\n \\n \\n Sr No.\\n Medicine\\n \\n Frequency\\n Dose\\n Type\\n Duration\\n \\n \\n \\n \\n\\n \\n {{i+1}}\\n {{rx.rxName}}\\n \\n {{rx.frequency}}\\n {{rx.quant}}\\n {{rx.dosageType}}\\n\\n {{rx.durationtype}} {{rx.durationvalue}}\\n \\n \\n \\n \\n\\n\\n \\n \\n \\n \\n \\n \\n
\\n  Advice:\\n {{AdviceNote[0].message}}\\n
\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n Dr.\\n {{searchdatalist.fromMembersPrescription.firstName | uppercase}} {{searchdatalist.fromMembersPrescription.middleName\\n | uppercase}} {{searchdatalist.fromMembersPrescription.lastName |\\n uppercase}}\\n \\n \\n Dr.\\n {{searchdatalist.toMembersPrescription.firstName | uppercase}} {{searchdatalist.toMembersPrescription.middleName\\n | uppercase}}  {{searchdatalist.toMembersPrescription.lastName |\\n uppercase}}\\n \\n \\n \\n \\n  {{searchdatalist.fromInstitutionPrescription.name\\n }},\\n {{searchdatalist.fromInstitutionPrescription.cityName }}\\n \\n \\n  {{searchdatalist.toMembersPrescription.registrationNumber}}\\n {{searchdatalist.toInstitutionPrescription.name}},\\n {{searchdatalist.toInstitutionPrescription.cityName}}\\n \\n \\n \\n \\n\\n \\n \\n  {{searchdatalist.patientConsultationModel.closeTime\\n | date:'dd\\n MMM\\n yyyy, hh:mm a'}}\\n \\n \\n\\n \\n \\n\\n\\n \\n \\n \\n Printed On : {{currentdate | date:'dd MMM yyyy, hh:mm\\n a'}}\\n \\n \\n
\\n
\"","import { Component, OnInit } from '@angular/core';\nimport * as jspdf from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport { ExcelService } from '../../../_services/excel.service';\nimport { formatDate } from '@angular/common';\n@Component({\n selector: 'app-printPOSreport.component',\n templateUrl: './printPOSreport.component.html'\n})\nexport class PrintPOSreportComponent implements OnInit {\n\n\n\n feacthchdata: any;\n searchdatalist: any;\n casedata: any;\n AdviceNote: any;\n AdviceNoteshow: boolean = false;\n currentdate: Date = new Date();\n Weight: string = \"NA\";\n BloodPressure: string = \"NA\";\n PulseRate: string = \"NA\";\n Temperature: string = \"NA\";\n BloodGlucose: string = \"NA\";\n BloodGroup: string = \"NA\";\n ageyear: number = 0;\n agemonth: number = 0;\n\n ageyearstatus: boolean = false;\n agemonthstatus: boolean = false;\n printedhow: boolean = true;\n Note: any = [];\n\n\n constructor(private excelService: ExcelService) { }\n\n\n\n\n ngOnInit() {\n\n this.feacthchdata = window;\n this.searchdatalist = this.feacthchdata.searchdata\n\n\n if (this.searchdatalist == null || this.searchdatalist == undefined || this.searchdatalist == \"\") {\n window.close();\n }\n\n\n var agedata = this.feacthchdata.searchdata.patientConsultationModel.patientAge;\n if (agedata == 0) {\n\n this.ageyear = 0;\n this.agemonth = 0;\n if (this.ageyear == 0) {\n this.ageyearstatus = false;\n }\n if (this.agemonth == 0) {\n this.agemonthstatus = false;\n }\n\n } else {\n\n this.ageyear = Math.floor(agedata / 12);\n this.agemonth = parseInt(agedata) % 12;\n if (this.ageyear == 0) {\n this.ageyearstatus = true;\n }\n if (this.agemonth == 0) {\n this.agemonthstatus = true;\n }\n\n }\n\n this.AdviceNote = this.searchdatalist.lstConsultationMessageModel.filter(x => x.messageTypeId == 2);\n if (this.AdviceNote.length > 0) {\n this.AdviceNoteshow = true;\n } else {\n this.AdviceNoteshow = false;\n }\n\n\n if (this.searchdatalist.lstConsultationTestResultsModel != null && this.searchdatalist.lstConsultationTestResultsModel.length > 0) {\n\n\n\n\n if (this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 4) != \"\") {\n this.Weight = this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 4)[0].result;;\n };\n\n\n\n\n if (this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 2) != \"\") {\n this.BloodPressure = this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 2)[0].result;\n };\n\n\n if (this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 7) != \"\") {\n this.PulseRate = this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 7)[0].result;\n };\n\n\n if (this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 1) != \"\") {\n this.Temperature = this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 1)[0].result;\n };\n\n\n if (this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 8) != \"\") {\n this.BloodGlucose = this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 8)[0].result;\n };\n\n\n if (this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 13) != \"\") {\n this.BloodGroup = this.searchdatalist.lstConsultationTestResultsModel.filter(x => x.testId == 13)[0].result;\n };\n\n }\n\n\n if (this.searchdatalist.lstConsultationMedicineModel != null && this.searchdatalist.lstConsultationMedicineModel.length > 0) {\n\n for (var i = 0; i < this.searchdatalist.lstConsultationMedicineModel.length; i++) {\n if (this.searchdatalist.lstConsultationMedicineModel[i].medComments != \"\") {\n this.Note.push({\n \"medComments\": this.searchdatalist.lstConsultationMedicineModel[i].medComments, \"medCommentsno\": i + 1\n });\n }\n }\n\n }\n\n this.printDiv();\n }\n\n\n\n\n\n\n\n\n\n\n printDiv() {\n\n window.print();\n return false;\n\n\n }\n\n}\n","module.exports = \"\\n\\n\\n \\n \\n e-Sanjeevni\\n \\n \\n\\n\\n\\n\\n\\n\\n
\\n\\n
\\n\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n\\n\\n \\n\\n \\n \\n \\n \\n \\n
\\n

\\n Printed by:\\n {{feacthchdata.PrintedBy}}

\\n
\\n\\n
\\n\\n \\n \\n \\n \\n \\n
\\n

Report: {{feacthchdata.leftheader}}\\n

\\n
\\n

Printed Time: \\n {{currentdate | date:'dd MMM yyyy, hh:mm a'}}

\\n
\\n\\n \\n \\n \\n\\n \\n
\\n

Total Count :\\n {{this.searchdatalist.length}}

\\n
\\n\\n\\n\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n\\n\\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Sr No.Consultation IdDistrictFrom Health FacilityFrom UserTo Health FacilityTo UserSpecialityStatusConsultation Date
{{i + 1}}\\n {{lstdata.consultationId}}\\n \\n {{lstdata.fromDistrictName}}\\n \\n {{lstdata.fromInstitutionName}}\\n \\n {{'Dr.' == lstdata.prefixBy ? 'Dr. ' : '' }} {{lstdata.sendBy | titlecase}}\\n \\n {{lstdata.toInstitutionName}}\\n \\n {{'Dr.' == lstdata.prefixTo ? 'Dr. ' : '' }} {{lstdata.sendTo | titlecase}}\\n \\n {{lstdata.toSpecialityName}}\\n \\n {{lstdata.status}}\\n \\n {{lstdata.createdDate | date:'dd MMM, yyyy'}}\\n
\\n \\n
\\n
\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport * as jspdf from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport { ExcelService } from '../../../_services/excel.service';\nimport { formatDate } from '@angular/common';\n@Component({\n selector: 'app-printconsulationstatusreport',\n templateUrl: './printconsulationstatusreport.component.html'\n})\nexport class PrintconsulationstatusreportComponent implements OnInit {\n\n\n\n feacthchdata: any;\n searchdatalist: any;\n currentdate: Date = new Date();\n PrintSearchlst: any[];\n loading: boolean;\n constructor(private excelService: ExcelService) { }\n\n\n\n\n ngOnInit() {\n\n this.feacthchdata = window;\n\n if (this.feacthchdata.PrintedBy == undefined) {\n window.close()\n } else {\n\n this.searchdatalist = this.feacthchdata.searchdata\n }\n }\n\n\n\n\n public captureScreen() {\n \n this.PrintSearchlst = [];\n for (let i = 0; i < this.searchdatalist.length; i++) {\n\n var doctorprefixfrom = \"\";\n var doctorprefixto = \"\";\n\n if (this.searchdatalist[i].prefixBy == \"Dr.\") {\n doctorprefixfrom = \"Dr.\";\n } else {\n doctorprefixfrom = \"\";\n }\n\n\n\n if (this.searchdatalist[i].prefixTo == \"Dr.\") {\n doctorprefixto = \"Dr.\";\n } else {\n doctorprefixto = \"\";\n }\n\n\n let printjson = { \"Sr No.\": i + 1, \"Consultation Id\": this.searchdatalist[i].consultationId, \"District\": this.searchdatalist[i].fromDistrictName, \"From Health Facility\": this.searchdatalist[i].fromInstitutionName, \"From User\": doctorprefixfrom + \" \" + this.searchdatalist[i].sendBy, \"To Health Facility\": this.searchdatalist[i].toInstitutionName, \"To User\": doctorprefixto + \" \" + this.searchdatalist[i].sendTo, \"Speciality\": this.searchdatalist[i].toSpecialityName, \"Status\": this.searchdatalist[i].status, \"Consultation Date\": formatDate(this.searchdatalist[i].createdDate, 'dd MMM, yyyy', 'en') }\n this.PrintSearchlst.push(printjson);\n\n }\n\n\n this.excelService.exportAsExcelFile(this.PrintSearchlst, 'Consultation');\n this.loading = false;\n\n }\n\n\n\n\n downloadpdf() {\n\n\n\n var data = document.getElementById('print-section');\n html2canvas(data).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('Report.pdf'); // Generated PDF\n\n });\n //this.subscription.unsubscribe()\n }\n\n\n\n printDiv() {\n\n window.print();\n return false;\n\n\n }\n\n}\n","module.exports = \"\\n\\n\\n \\n \\n e-Sanjeevni\\n \\n \\n\\n\\n\\n\\n\\n\\n
\\n \\n
\\n\\n \\n \\n \\n \\n \\n
\\n\\n \\n \\n \\n \\n
\\n\\n\\n\\n\\n
\\n
\\n\\n \\n\\n\\n\\n\\n\\n \\n\\n \\n \\n \\n \\n \\n
\\n

\\n Printed by:\\n {{feacthchdata.PrintedBy}}

\\n
\\n\\n
\\n\\n \\n \\n \\n \\n \\n
\\n

Report: {{feacthchdata.leftheader}}\\n

\\n
\\n

Printed Time: \\n {{currentdate | date:'dd MMM yyyy, hh:mm a'}}

\\n
\\n\\n \\n\\n\\n\\n\\n
\\n
\\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n\\n\\n \\n\\n\\n \\n \\n \\n\\n \\n \\n\\n \\n\\n \\n \\n
Sr No. Health FacilityDistrictUserTotalCompleteInProcess
{{i + 1}}\\n {{lstdata.institutionName}}\\n \\n {{lstdata.districtName}}\\n \\n {{'Dr.' == lstdata.prefix ? 'Dr.' : '' }} {{lstdata.userName | titlecase}}\\n \\n {{lstdata.total}}\\n \\n {{lstdata.complete}}\\n \\n {{lstdata.inProcess}}\\n
\\n \\n
\\n
\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport * as jspdf from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport { ExcelService } from '../../../_services/excel.service';\n@Component({\n selector: 'app-printconsulationsummaryreport',\n templateUrl: './printconsulationsummaryreport.component.html'\n})\nexport class PrintconsulationsummaryreportComponent implements OnInit {\n\n feacthchdata: any;\n searchdatalist: any;\n currentdate: Date = new Date();\n PrintSearchlst: any[];\n loading: boolean;\n constructor(private excelService: ExcelService) { }\n\n\n\n\n ngOnInit() {\n\n this.feacthchdata = window;\n\n if (this.feacthchdata.PrintedBy == undefined) {\n window.close()\n } else {\n\n this.searchdatalist = this.feacthchdata.searchdata\n }\n }\n\n\n\n downloadpdf() {\n\n\n\n var data = document.getElementById('print-section');\n html2canvas(data).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('Report.pdf'); // Generated PDF\n\n });\n //this.subscription.unsubscribe()\n }\n\n\n\n\n public captureScreen() {\n this.loading = true;\n this.PrintSearchlst=[];\n for (let i = 0; i < this.searchdatalist.length; i++) {\n\n var doctorprefix = \"\";\n\n if (this.searchdatalist[i].prefix == \"Dr.\") {\n doctorprefix = \"Dr.\";\n } else {\n doctorprefix = \"\";\n }\n let printjson = { \"Sr No.\": i+1,\" Health Facility\": this.searchdatalist[i].institutionName,\"District\":this.searchdatalist[i].districtName, \"User\": doctorprefix+\" \"+this.searchdatalist[i].userName, \"Total\": this.searchdatalist[i].total, \"Complete\": this.searchdatalist[i].complete, \"InProcess\": this.searchdatalist[i].inProcess }\n this.PrintSearchlst.push(printjson);\n\n }\n\n\n this.excelService.exportAsExcelFile(this.PrintSearchlst, 'Consultation');\n this.loading = false;\n\n }\n \n printDiv() {\n\n window.print();\n return false;\n\n\n }\n\n\n}\n","module.exports = \"\\n\\n\\n \\n \\n e-Sanjeevni\\n \\n \\n\\n\\n\\n\\n\\n\\n
\\n \\n
\\n\\n \\n \\n \\n \\n \\n
\\n\\n \\n \\n \\n \\n
\\n\\n\\n\\n\\n
\\n
\\n\\n \\n\\n\\n\\n\\n\\n \\n\\n \\n \\n \\n \\n \\n
\\n

\\n Printed by:\\n {{feacthchdata.PrintedBy}}

\\n
\\n\\n
\\n\\n \\n \\n \\n \\n \\n
\\n

Report: {{feacthchdata.leftheader}}\\n

\\n
\\n

Printed Time: \\n {{currentdate | date:'dd MMM yyyy, hh:mm a'}}

\\n
\\n\\n\\n \\n \\n \\n\\n \\n
\\n

Total Count :\\n {{this.searchdatalist.length}}

\\n
\\n\\n\\n \\n\\n\\n\\n\\n
\\n
\\n \\n \\n\\n \\n \\n \\n \\n \\n \\n\\n \\n\\n\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n
Sr No.User Health FacilityDistrict
{{i + 1}}\\n {{'Dr.' == lstdata.prefix ? 'Dr.' : '' }} {{lstdata.userName | titlecase}}\\n \\n {{lstdata.institutionName}}\\n \\n {{lstdata.districtName}}\\n
\\n \\n
\\n
\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport * as jspdf from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport { ExcelService } from '../../../_services/excel.service';\n\n@Component({\n selector: 'app-printdormantreport',\n templateUrl: './printdormantreport.component.html'\n})\n\n\n\nexport class PrintdormantreportComponent implements OnInit {\n\n feacthchdata: any;\n searchdatalist: any;\n currentdate: Date = new Date();\n PrintSearchlst: any[];\n loading: boolean;\n constructor(private excelService: ExcelService) { }\n\n\n\n\n ngOnInit() {\n\n this.feacthchdata = window;\n\n if (this.feacthchdata.PrintedBy == undefined) {\n window.close()\n } else {\n\n this.searchdatalist = this.feacthchdata.searchdata\n }\n }\n\n\n\n downloadpdf() {\n\n\n\n var data = document.getElementById('print-section');\n html2canvas(data).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save('Report.pdf'); // Generated PDF\n\n });\n //this.subscription.unsubscribe()\n }\n\n\n\n\n public captureScreen() {\n this.loading = true;\n this.PrintSearchlst=[];\n for (let i = 0; i < this.searchdatalist.length; i++) {\n\n var doctorprefix = \"\";\n\n if (this.searchdatalist[i].prefix == \"Dr.\") {\n doctorprefix = \"Dr.\";\n } else {\n doctorprefix = \"\";\n }\n let printjson = { \"Sr No.\": i+1, \"User\": doctorprefix+\" \"+this.searchdatalist[i].userName,\" Health Facility\": this.searchdatalist[i].institutionName,\"District\":this.searchdatalist[i].districtName }\n this.PrintSearchlst.push(printjson);\n\n }\n\n\n this.excelService.exportAsExcelFile(this.PrintSearchlst, 'Consultation');\n this.loading = false;\n\n }\n \n printDiv() {\n\n window.print();\n return false;\n\n\n }\n\n\n}","module.exports = \"\\n\\n\\n \\n \\n e-Sanjeevni\\n \\n \\n\\n\\n\\n\\n\\n\\n
\\n \\n
\\n\\n \\n \\n \\n \\n \\n
\\n\\n \\n \\n \\n \\n
\\n\\n\\n\\n\\n
\\n
\\n\\n \\n\\n\\n\\n
\\n \\n \\n \\n \\n \\n \\n

Printed by:\\n {{feacthchdata.PrintedBy}}

\\n\\n
\\n\\n \\n \\n \\n \\n \\n

Report: {{feacthchdata.leftheader}}

Printed Time: \\n {{currentdate | date:'dd MMM yyyy, hh:mm a'}}

\\n\\n \\n \\n \\n \\n \\n

Total Count :\\n {{this.searchdatalist.length}}

\\n \\n \\n\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n
Sr No.DistrictFrom Health FacilityFrom UserTo Health FacilityTo UserSpecialityConsultation Date{{i + 1}}\\n {{lstdata.fromDistrictName}}\\n \\n {{lstdata.fromInstitutionName}}\\n \\n {{'Dr.' == lstdata.prefixBy ? 'Dr. ' : '' }} {{lstdata.sendBy}}\\n \\n {{lstdata.toInstitutionName}}\\n \\n {{'Dr.' == lstdata.prefixTo ? 'Dr. ' : '' }} {{lstdata.sendTo}}\\n \\n {{lstdata.toSpecialityName}}\\n \\n {{lstdata.createdDate | date:'dd MMM, yyyy'}}\\n
\\n \\n
\\n
\\n
\\n\\n\\n\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { ReportService } from '../../../_services/report.service';\nimport { ToastrManager } from 'ng6-toastr-notifications';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CommonService } from './../../../_services/common.service';\nimport { formatDate } from '@angular/common';\nimport { ExcelService } from '../../../_services/excel.service';\n@Component({\n selector: 'app-printhfreport',\n templateUrl: './printhfreport.component.html'\n})\nexport class PrinthfreportComponent implements OnInit {\n\n\n\n feacthchdata: any;\n searchdatalist: any;\n searchjson: any;\n\n currentdate: Date = new Date();\n PrintSearchlst: any[];\n constructor(private reportService: ReportService, private toastr: ToastrManager, private commonService: CommonService, private router: Router,private excelService: ExcelService,) {\n\n }\n\n ngOnInit() {\n this.feacthchdata = window;\n\n if (this.feacthchdata.PrintedBy == undefined) {\n window.close()\n } else {\n \n this.searchdatalist = this.feacthchdata.searchdata;\n }\n }\n\n printDiv() {\n\n window.print();\n return false;\n\n\n }\n\n\n\n public captureScreen() {\n\n this.PrintSearchlst = [];\n\n for (let i = 0; i < this.searchdatalist.length; i++) {\n\n var doctorprefixfrom = \"\";\n var doctorprefixto = \"\";\n\n if (this.searchdatalist[i].prefixBy == \"Dr.\") {\n doctorprefixfrom = \"Dr.\";\n } else {\n doctorprefixfrom = \"\";\n }\n\n\n\n if (this.searchdatalist[i].prefixTo == \"Dr.\") {\n doctorprefixto = \"Dr.\";\n } else {\n doctorprefixto = \"\";\n }\n\n let printjson = { \"Sr No.\": i + 1, \"District\": this.searchdatalist[i].fromDistrictName, \"From Health Facility\": this.searchdatalist[i].fromInstitutionName, \"From User\": doctorprefixfrom + \" \" + this.searchdatalist[i].sendBy, \"To Health Facility\": this.searchdatalist[i].toInstitutionName, \"To User\": doctorprefixto + \" \" + this.searchdatalist[i].sendTo, \"Speciality\": this.searchdatalist[i].toSpecialityName, \"Consultation Date\": formatDate(this.searchdatalist[i].createdDate, 'dd MMM, yyyy', 'en') }\n this.PrintSearchlst.push(printjson);\n\n\n }\n this.excelService.exportAsExcelFile(this.PrintSearchlst, 'Consultation');\n\n }\n\n\n\n}\n","module.exports = \"\\n\\n\\n \\n \\n e-Sanjeevni\\n \\n \\n\\n\\n\\n\\n\\n\\n \\n
\\n \\n \\n
\\n\\n \\n \\n \\n \\n \\n
\\n\\n \\n \\n \\n \\n
\\n\\n\\n\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n \\n \\n \\n \\n \\n

Printed by:\\n {{feacthchdata.PrintedBy}}

\\n\\n
\\n\\n \\n \\n \\n \\n \\n

Report: {{feacthchdata.leftheader}}

Printed Time: \\n {{currentdate | date:'dd MMM yyyy, hh:mm a'}}

\\n\\n \\n \\n \\n \\n \\n

Total Count :\\n {{this.searchdatalist.length}}

\\n \\n \\n\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n\\n \\n \\n \\n\\n \\n \\n \\n \\n \\n\\n \\n
Sr No.ProblemDistrictFrom Health FacilityFrom UserSpecialityConsultation Date
No data found
{{i + 1}}\\n {{lstdata.problemName}}\\n \\n {{lstdata.fromDistrictName}}\\n \\n {{lstdata.fromInstitutionName}}\\n \\n {{'Dr.' == lstdata.prefixSendBy ? 'Dr. ' : '' }} {{lstdata.sendBy | titlecase}}\\n \\n {{lstdata.toSpecialityName}}\\n \\n {{lstdata.createdDate | date:'dd MMM, yyyy'}}\\n
\\n \\n
\\n
\\n
\\n\\n\\n\\n\\n\\n\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\n\n\n\nimport { ExcelService } from '../../../_services/excel.service';\nimport { formatDate } from '@angular/common';\n@Component({\n selector: 'app-printproblemreport',\n templateUrl: './printproblemreport.component.html'\n})\nexport class PrintproblemreportComponent implements OnInit {\n\n\n\n feacthchdata: any;\n searchdatalist: any;\n currentdate: Date = new Date();\n PrintSearchlst: any;\n loading: boolean;\n constructor(private excelService: ExcelService) { }\n\n\n\n\n ngOnInit() {\n\n this.feacthchdata = window;\n\n if (this.feacthchdata.PrintedBy == undefined) {\n window.close()\n } else {\n\n this.searchdatalist = this.feacthchdata.searchdata\n }\n }\n\n\n public captureScreen() {\n\n this.PrintSearchlst = [];\n this.loading = true;\n for (let i = 0; i < this.searchdatalist.length; i++) {\n var doctorprefix = \"\";\n\n if (this.searchdatalist[i].prefixSendBy == \"Dr.\") {\n doctorprefix = \"Dr.\";\n } else {\n doctorprefix = \"\";\n }\n let printjson = { \"Sr No.\": i + 1, \"Problem\": this.searchdatalist[i].problemName, \"District\": this.searchdatalist[i].fromDistrictName, \"From Health Facility\": this.searchdatalist[i].fromInstitutionName, \"From User\": doctorprefix + \" \" + this.searchdatalist[i].sendBy, \"Speciality\": this.searchdatalist[i].toSpecialityName, \"Consultation Date\": formatDate(this.searchdatalist[i].createdDate, 'dd MMM, yyyy', 'en') }\n this.PrintSearchlst.push(printjson);\n\n }\n\n\n this.excelService.exportAsExcelFile(this.PrintSearchlst, 'Consultation');\n this.loading = false;\n }\n\n\n\n printDiv() {\n\n window.print();\n return false;\n\n\n }\n\n}\n","import { ChatAdapter, IChatGroupAdapter, User, Group, Message, ChatParticipantStatus, ParticipantResponse, ParticipantMetadata, ChatParticipantType, IChatParticipant } from '../../ng-chat';\r\nimport { Observable, of } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport * as signalR from \"@aspnet/signalr\";\r\nimport { StorageService } from '../../_services/index';\r\nimport { AppConfig } from '../../_helpers/config';\r\nimport { Router } from '@angular/router';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nimport 'sweetalert2/src/sweetalert2.scss';\r\n//import { ConsulatationdetailComponent } from '../doctor';\r\n//import { Input } from '@angular/core';\r\nimport { DUserService } from '../../_services/doctor/index';\r\nimport { first, catchError, map } from 'rxjs/operators';\r\nimport { MessageType } from '../../ng-chat/core/message-type.enum';\r\ndeclare var SignalingChannel: any;\r\n//declare var Ics: any; // june-06-2019\r\nimport { EventEmitterService } from '../../_services/event-emitter.service';\r\nimport { Console } from '@angular/core/src/console';\r\ndeclare var Owt: any;\r\nexport class SignalRAdapter extends ChatAdapter {\r\n\r\n /**********/\r\n //PPL\r\n public remoteUser: string; //addition 28th\r\n public signaling = new SignalingChannel();\r\n public serverAddress: string = 'https://awspeer2.instavc.com';\r\n\r\n //public serverAddress: string = 'https://cdacpeer.golive.ai';\r\n public publicationForCamera;\r\n public isP2PConnected: Boolean = false;\r\n public localStream;\r\n public earlyJoin;\r\n public p2p = null;\r\n public publishedA = false; // june-06-2019\r\n\r\n\r\n\r\n\r\n //Commented now\r\n //public p2p = new Ics.P2P.P2PClient({\r\n // audioEncodings: true,\r\n // videoEncodings: [{ codec: { name: 'h264' } }, { codec: { name: 'vp9' } }, { codec: { name: 'vp8' } }],\r\n // rtcConfiguration: {\r\n // iceServers: [{\r\n // urls: \"stun:120.25.230.17:19302\"\r\n // }, {\r\n // urls: [\"turn:5.187.21.5:443?transport=udp\",\r\n // \"turn:5.187.21.7:443?transport=tcp\"\r\n // ],\r\n // credential: \"admin123\",\r\n // username: \"admin\"\r\n // }]\r\n // },\r\n //}, this.signaling);\r\n\r\n //PPL END\r\n\r\n /**********/\r\n\r\n public userId: string;\r\n\r\n //public hubConnection: signalR.HubConnection\r\n //public static serverBaseUrl: string = 'http://localhost:54412/'; //''; // Set this to 'https://localhost:5001/' if running locally\r\n //@Input() oConsulatationdetailComponent: ConsulatationdetailComponent;\r\n public serverBaseUrl: string;\r\n\r\n public memberId: string;\r\n public hospitalname: string;\r\n constructor(private UserService: DUserService, private storageService: StorageService, private username: string, private _memberId: string, private http: HttpClient, private _serverBaseUrl: string, private router: Router, private _hospitalname: string, private eventEmitterService: EventEmitterService) {\r\n\r\n super();\r\n\r\n\r\n this.memberId = _memberId;\r\n this.hospitalname = _hospitalname;\r\n this.serverBaseUrl = _serverBaseUrl;\r\n\r\n this.initializeConnection();\r\n }\r\n\r\n private initializeConnection(): void {\r\n //this.hubConnection = new signalR.HubConnectionBuilder()\r\n // .withUrl(`${SignalRAdapter.serverBaseUrl}chat`)\r\n // .build();\r\n\r\n\r\n\r\n this.storageService.hubConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(`${this.serverBaseUrl}chat`)\r\n //.configureLogging(signalR.LogLevel.Trace)\r\n .configureLogging({\r\n log: function (logLevel, message) {\r\n // console.log(new Date().toISOString() + \": \" + \" Log Level : \" + logLevel + \" Message : \" + message);\r\n }\r\n })\r\n .build();\r\n //Specify TimeOUT\r\n this.storageService.hubConnection.serverTimeoutInMilliseconds = 30000; //1000 * 60 * 10; // 1 second * 60 * 10 = 10 minutes.\r\n\r\n\r\n\r\n this.storageService.hubConnection\r\n .start()\r\n .then(() => {\r\n this.joinRoom();\r\n\r\n this.initializeListeners();\r\n })\r\n .catch(err => console.log(`Error while starting SignalR connection: ${err}`));\r\n // localStorage.setItem('adapter', JSON.stringify(this.hubConnection));\r\n // re-establish the connection if connection dropped\r\n\r\n // this.storageService.hubConnection.onclose(() => setTimeout(startSignalRConnection(this.storageService.hubConnection), 5000));\r\n\r\n // const startSignalRConnection = connection => connection.start()\r\n // .then(() => {\r\n // this.joinRoom();\r\n\r\n // this.initializeListeners();\r\n // })\r\n // .catch(err => console.log(`Error while reconnecting SignalR connection: ${err}`));\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n private initializeListeners(): void {\r\n this.storageService.hubConnection.on(\"generatedUserId\", (connectionid, memberId) => {\r\n //alert(\"ConnectionID:\" + connectionid + \" Memberid:\" + memberId);\r\n // With the userId set the chat will be rendered\r\n console.log('Signaling', this.signaling);\r\n this.userId = connectionid;\r\n });\r\n\r\n this.storageService.hubConnection.on(\"messageReceived\", (participant, message) => {\r\n this.storageService.otherEndChatId = message.fromId;\r\n\r\n // Handle the received message to ng-chat\r\n console.log(\"OnMessageReceived:\", this.userId, message);\r\n\r\n if (message.type === MessageType.VCCommand && message.message === \"VideoCallRequested\") {\r\n console.log('Share while VidecALLrEQUESTED', this.userId, message.fromId);\r\n this.initP2PConnection(this.userId, message.fromId, false);\r\n } else if ((message.type === MessageType.VCCommand && message.message === \"VideoCallConnected\")) { //VideoCallConnected\r\n //this.publishedA = true; // june-06-2019\r\n //this.shareCamera(message.fromId); // june-06-2019\r\n console.log('Share while VideoCallConnected', message.fromId);\r\n } else if ((message.type === MessageType.VCCommand && message.message === \"EndCallRequested\")) {\r\n this.LeaveConnference();\r\n this.clientSwalClose(message);\r\n\r\n } else if (message.type === MessageType.VCCommand && message.message === \"VideoCallReConnectRequest\") {\r\n if (!this.isP2PConnected) {\r\n this.initP2PConnection(this.userId, message.fromId, true);\r\n }\r\n }\r\n\r\n\r\n this.onMessageReceived(participant, message);\r\n\r\n\r\n });\r\n this.storageService.hubConnection.on(\"vcReceived\", (participant, message) => {\r\n //alert(\"VC Call Received\");\r\n\r\n //Call for VC Allow Camera Functionalities.\r\n this.sendMessage(message);\r\n\r\n //if (message.fromID != this.userId)\r\n // this.callBackVCSendMessage(message);\r\n\r\n });\r\n this.storageService.hubConnection.on(\"friendsListChanged\", (participantsResponse: Array) => {\r\n // Handle the received response to ng-chat\r\n this.onFriendsListChanged(participantsResponse.filter(x => x.participant.id != this.userId));\r\n });\r\n\r\n\r\n this.storageService.hubConnection.on(\"objectReceived\", (participant, message) => {\r\n if (this.storageService.consultationId == message.consultationId) {\r\n this.storageService.hubmessage = message;\r\n //this.storageService.consultationId = message.consultationId;\r\n this.storageService.Issync = true;\r\n this.fetchdata();\r\n }\r\n //alert(message.consultationId);\r\n // this.oConsulatationdetailComponent.checkobject();\r\n //\r\n // this.router.navigate(['/Doctor/Consulatationdetail']);\r\n });\r\n this.storageService.hubConnection.on(\"RedirectToRefferredGrid\", (participant, message) => {\r\n //alert(\"RedirectToReceivedGrid Paricipantdata : \" + JSON.stringify(participant) + \" Message Data : \" + JSON.stringify(message));\r\n //this.storageService.hubConnection.stop();\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n // this.requestEndVC();\r\n\r\n //Receiver Close\r\n // this.onGridChatClosed(message.fromId);\r\n\r\n //Close Call Back vc and chat\r\n // this.gridCloseCallBackControl();\r\n\r\n this.onGridChatClosed(message.fromId);\r\n this.router.navigate(['/Doctor/Casereffered']);\r\n });\r\n\r\n this.storageService.hubConnection.on(\"RedirectToReceivedGrid\", (participant, message) => {\r\n\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.onGridChatClosed(message.fromId);\r\n\r\n this.router.navigate(['/Doctor/Casereceived']);\r\n });\r\n\r\n\r\n this.storageService.hubConnection.on(\"AcceptCall\", (participant, message) => {\r\n\r\n Swal.fire({\r\n title: '',\r\n text: 'Call Accepted',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n });\r\n\r\n\r\n this.storageService.hubConnection.on(\"DenyCall\", (participant, message) => {\r\n\r\n\r\n Swal.fire({\r\n title: '',\r\n text: 'Call Denied',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 4000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.btnsavedraftStatus = false;\r\n });\r\n\r\n\r\n this.storageService.hubConnection.on(\"RemoteLeaveCall\", (participant, message) => {\r\n\r\n this.storageService.SenderId = 0;\r\n this.storageService.ReceiverId = 0;\r\n Swal.fire({\r\n title: '',\r\n text: 'Consultation ended by other side ',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n window.location.href = '/Doctor/Specialty/Casereceived';\r\n });\r\n\r\n\r\n this.storageService.hubConnection.on(\"SpecialistLeaveCall\", (participant, message) => {\r\n\r\n this.storageService.SenderId = 0;\r\n this.storageService.ReceiverId = 0;\r\n Swal.fire({\r\n title: '',\r\n text: 'Consultation ended by other side ',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n window.location.href = '/Doctor/Remote/Casereffered';\r\n\r\n });\r\n\r\n\r\n\r\n this.storageService.hubConnection.on(\"fallbackcall\", (participant, message) => {\r\n\r\n this.storageService.SenderId = 0;\r\n this.storageService.ReceiverId = 0;\r\n Swal.fire({\r\n title: '',\r\n text: 'User is busy in another session',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n this.storageService.isConnectionEstablished = false;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.ddlshow = false;\r\n this.storageService.btnsavedraftStatus = false;\r\n });\r\n\r\n\r\n this.storageService.hubConnection.on(\"successcall\", (participant, message) => {\r\n\r\n\r\n Swal.fire({\r\n title: '',\r\n text: 'Call Initiating',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n this.storageService.isConnectionEstablished = true;\r\n this.storageService.isConsultationActive = true;\r\n this.storageService.ddlshow = true;\r\n });\r\n\r\n\r\n\r\n this.storageService.hubConnection.on(\"Ping\", (participant, message) => {\r\n\r\n\r\n let msg = new Message();\r\n msg.fromId = message.toId;\r\n msg.toId = message.fromId;\r\n\r\n this.storageService.hubConnection.send(\"PingResponse\", msg);\r\n });\r\n\r\n\r\n\r\n\r\n this.storageService.hubConnection.on(\"PingResponse\", (participant, message) => {\r\n\r\n this.storageService.singnalrstatus = true;\r\n });\r\n\r\n\r\n\r\n this.storageService.hubConnection.on(\"successrecall\", (participant, message) => {\r\n\r\n\r\n Swal.fire({\r\n title: '',\r\n text: 'Call Re-initiating ',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n this.storageService.isConnectionEstablished = true;\r\n this.storageService.isConsultationActive = true;\r\n this.storageService.ddlshow = true;\r\n });\r\n\r\n\r\n\r\n this.storageService.hubConnection.on(\"consultationReceived\", (participant, message) => {\r\n\r\n console.log(this.storageService.showpop);\r\n if (this.storageService.showpop == false) {\r\n\r\n this.storageService.showpop = true;\r\n this.RingSound(true);\r\n //console.log(this.storageService.globalprescription);\r\n Swal.fire({\r\n title: 'Consultation Request',\r\n text: \"From \" + participant.displayName.replace('Mr.', '') + \", \" + participant.fromHospitalName,\r\n showCancelButton: true,\r\n confirmButtonColor: '#133656',\r\n cancelButtonColor: '#E5C151',\r\n confirmButtonText: 'Accept',\r\n cancelButtonText: \"Deny\",\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n\r\n }).then((result) => {\r\n\r\n\r\n\r\n \r\n\r\n if (result.value) {\r\n\r\n this.RingSound(false);\r\n\r\n this.UserService.CheckConsultationCurrentStatus(message.consultationId)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n if (data.model != null) {\r\n\r\n this.storageService.SenderId = message.toId;\r\n this.storageService.ReceiverId = message.fromId;\r\n\r\n //alert(this.userId +\" aaa gya\")\r\n console.log(\"CurrentUser: \", this.userId);\r\n\r\n console.log(\"Reciever: \", JSON.stringify(participant));\r\n\r\n console.log(\"Message: \", JSON.stringify(message));\r\n\r\n this.storageService.hubmessage = message;\r\n this.storageService.userId = this.userId;\r\n this.storageService.globalprescription = message.consultationId;\r\n this.storageService.consultationId = message.consultationId;\r\n this.storageService.isConnectionEstablished = true;\r\n this.storageService.isConsultationActive = false;\r\n this.storageService.isLoaderShow = true;\r\n this.storageService.FromHospitalName = participant.fromHospitalName;\r\n this.storageService.Currenturl = \"/Doctor/Consulatationdetail\";\r\n\r\n\r\n this.eventEmitterService.onFirstComponentButtonClick();\r\n\r\n this.storageService.showpop = false;\r\n\r\n var resquestjson = {\r\n \"consultationId\": message.consultationId,\r\n \"requestFrom\": this.storageService.hubmessage.fromId,\r\n \"requestTo\": this.storageService.hubmessage.toId,\r\n\r\n }\r\n\r\n\r\n this.UserService.UpdateConsultationStatus(resquestjson)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n\r\n if (data.success) {\r\n this.router.navigate(['/Doctor/Consulatationdetail'], { queryParams: { id: message.consultationId } });\r\n\r\n } else {\r\n\r\n error => {\r\n Swal.fire({\r\n type: 'error',\r\n title: 'Oops...',\r\n text: 'Something went wrong',\r\n confirmButtonText: 'Ok',\r\n showCancelButton: false,\r\n })\r\n\r\n\r\n }\r\n }\r\n });\r\n\r\n } else {\r\n\r\n\r\n\r\n Swal.fire({\r\n title: '',\r\n text: 'Case discarded from other side',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n })\r\n\r\n\r\n }\r\n\r\n\r\n })\r\n\r\n\r\n } else {\r\n\r\n\r\n let messagecall = new Message();\r\n messagecall.fromId = message.toId;\r\n messagecall.toId = message.fromId;\r\n this.storageService.showpop = false;\r\n\r\n this.storageService.hubConnection.send(\"DenyCall\", messagecall);\r\n\r\n\r\n this.RingSound(false);\r\n\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n });\r\n\r\n\r\n\r\n\r\n this.storageService.hubConnection.on(\"consultationRecall\", (participant, message) => {\r\n\r\n console.log(this.storageService.showpop);\r\n\r\n if (this.storageService.showpop == false) {\r\n\r\n this.storageService.showpop = true;\r\n //console.log(this.storageService.globalprescription);\r\n Swal.fire({\r\n title: 'Consultation Request',\r\n text: \"From \" + participant.displayName.replace('Mr.', '') + \", \" + participant.fromHospitalName,\r\n showCancelButton: true,\r\n confirmButtonColor: '#133656',\r\n cancelButtonColor: '#E5C151',\r\n confirmButtonText: 'Accept',\r\n cancelButtonText: \"Deny\",\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n\r\n }).then((result) => {\r\n if (result.value) {\r\n\r\n\r\n this.UserService.CheckConsultationCurrentStatus(message.consultationId)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n if (data.model != null) {\r\n\r\n //alert(this.userId +\" aaa gya\")\r\n console.log(\"CurrentUser: \", this.userId);\r\n\r\n console.log(\"Reciever: \", JSON.stringify(participant));\r\n\r\n console.log(\"Message: \", JSON.stringify(message));\r\n\r\n this.storageService.SenderId = message.toId;\r\n this.storageService.ReceiverId = message.fromId;\r\n\r\n this.storageService.hubmessage = message;\r\n this.storageService.userId = this.userId;\r\n this.storageService.globalprescription = message.consultationId;\r\n this.storageService.consultationId = message.consultationId;\r\n\r\n this.storageService.isConnectionEstablished = true;\r\n this.storageService.isConsultationActive = true;\r\n this.storageService.isLoaderShow = true;\r\n\r\n this.storageService.FromHospitalName = participant.fromHospitalName;\r\n\r\n this.storageService.Currenturl = window.location.href;\r\n\r\n\r\n if (this.storageService.Currenturl.includes(\"Consulatationdetail\")) {\r\n\r\n if (!this.storageService.SignalRAdapter.isP2PConnected) {\r\n\r\n\r\n this.storageService.SignalRAdapter.initP2PConnection(this.storageService.userId, this.storageService.hubmessage.connectionId, true);\r\n this.storageService.isConnectionEstablished = true;\r\n this.storageService.isConsultationActive = true;\r\n\r\n }\r\n ////Open Received user message Window\r\n\r\n //if (this.storageService.hubmessage.fromID != this.storageService.userId)\r\n // this.storageService.SignalRAdapter.callBackSendMessage(this.storageService.hubmessage);\r\n\r\n //////Open Sender Window Send back Message\r\n ////Only Called When Consulatation is accepted by Receiver\r\n\r\n\r\n\r\n var resquestjson = {\r\n \"consultationId\": message.consultationId,\r\n \"requestFrom\": this.storageService.hubmessage.fromId,\r\n \"requestTo\": this.storageService.hubmessage.toId,\r\n\r\n }\r\n\r\n\r\n\r\n this.UserService.UpdateConsultationStatus(resquestjson)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n });\r\n\r\n\r\n\r\n this.UserService.GetConsultationByID(message.consultationId)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n if (data.success) {\r\n\r\n\r\n if (data.model != null && data.model.patientConsultationModel != null) {\r\n this.storageService.globalprescription = data.model;\r\n this.storageService.isConnectionEstablished = true;\r\n this.storageService.isConsultationActive = true;\r\n }\r\n } else {\r\n this.storageService.globalprescription = [];\r\n\r\n }\r\n\r\n },\r\n error => {\r\n this.storageService.globalprescription = [];\r\n\r\n\r\n });\r\n\r\n\r\n } else {\r\n\r\n\r\n var resquestjson = {\r\n \"consultationId\": message.consultationId,\r\n \"requestFrom\": message.fromId,\r\n \"requestTo\": message.toId,\r\n\r\n }\r\n\r\n this.UserService.UpdateConsultationStatus(resquestjson)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n });\r\n\r\n\r\n\r\n this.router.navigate(['/Doctor/Consulatationdetail'], { queryParams: { id: message.consultationId } });\r\n }\r\n\r\n } else {\r\n\r\n\r\n Swal.fire({\r\n title: '',\r\n text: 'Case discarded from other side',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n })\r\n\r\n\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n else {\r\n\r\n this.storageService.showpop = false;\r\n let messagecall = new Message();\r\n messagecall.fromId = message.toId;\r\n messagecall.toId = message.fromId;\r\n\r\n\r\n this.storageService.hubConnection.send(\"DenyCall\", messagecall);\r\n\r\n }\r\n\r\n })\r\n\r\n\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n initP2PConnection(selfId, toId, earlyJoin = true): void {\r\n /**Addition*****/\r\n\r\n if (!this.signaling) {\r\n console.log('Sinalling Created');\r\n this.signaling = new SignalingChannel();\r\n }\r\n\r\n if (!this.p2p) {\r\n // june-06-2019\r\n /* \r\n this.p2p = new Owt.P2P.P2PClient({\r\n audioEncodings: true,\r\n videoEncodings: [{ codec: { name: 'h264' } }, { codec: { name: 'vp9' } }, { codec: { name: 'vp8' } }],\r\n rtcConfiguration: {\r\n iceServers: [{\r\n urls: \"stun:120.25.230.17:19302\"\r\n }, {\r\n urls: [\"turn:5.187.21.5:443?transport=udp\",\r\n \"turn:5.187.21.7:443?transport=tcp\"\r\n ],\r\n credential: \"admin123\",\r\n username: \"admin\"\r\n }]\r\n },\r\n }, this.signaling);\r\n */\r\n\r\n this.p2p = new Owt.P2P.P2PClient({\r\n audioEncodings: true,\r\n videoEncodings: [{ codec: { name: 'h264' } }, { codec: { name: 'vp9' } }, { codec: { name: 'vp8' } }],\r\n rtcConfiguration: {\r\n iceServers: [{\r\n urls: \"stun:139.59.12.194:19302\"\r\n }, {\r\n urls: [\"turn:coturn.instavc.com:443?transport=udp\",\r\n \"turns:coturn.instavc.com:443?transport=tcp\"\r\n ],\r\n credential: \"admin123\",\r\n username: \"admin\"\r\n }]\r\n },\r\n }, this.signaling);\r\n\r\n }\r\n\r\n this.p2p.addEventListener('serverdisconnected', (e) => {\r\n console.log('Server Disconnected');\r\n });\r\n\r\n this.p2p.addEventListener('streamadded', (e) => { // A remote stream is available.\r\n\r\n /*if (e.stream.source.video === 'screen-cast') {\r\n $('#screen video').show();\r\n $('#screen video').get(0).srcObject = e.stream.mediaStream;\r\n $('#screen video').get(0).play();\r\n } else */\r\n console.log('Adding Remote Stream');\r\n if (e.stream.source.audio || e.stream.source.video) {\r\n var remote: HTMLVideoElement;\r\n remote = document.getElementById('remote');\r\n remote.srcObject = e.stream.mediaStream;\r\n remote.play();\r\n\r\n e.stream.addEventListener('ended', () => {\r\n console.log('Stream is removed.');\r\n remote.srcObject = null;\r\n //this.isP2PConnected = false;\r\n });\r\n // june-06-2019\r\n if (this.earlyJoin) {\r\n this.shareCamera(toId);\r\n }\r\n }\r\n });\r\n\r\n this.p2p.connect({\r\n host: this.serverAddress,\r\n token: this.userId\r\n }).then((res) => {\r\n console.log('P2P Connected', this.p2p);\r\n this.remoteUser = toId;\r\n console.log(\"Remote ID Allowed\", toId);\r\n this.p2p.allowedRemoteIds = [toId];\r\n this.isP2PConnected = true;\r\n this.earlyJoin = earlyJoin;\r\n if (earlyJoin) {\r\n console.log('Early join - so no camera');\r\n this.requestVC(selfId, toId);\r\n } else {\r\n console.log('Late Join share camera');\r\n this.shareCamera(toId);\r\n //this.callBackVCSendMessage()\r\n }\r\n\r\n });\r\n }\r\n\r\n shareCamera(strTo): void {\r\n if (this.localStream) {\r\n this.p2p.publish(strTo, this.localStream).then(publication => {\r\n this.publicationForCamera = publication;\r\n console.log('Publication', this.publicationForCamera); //addition 28th\r\n }); // Publish local stream to remote client\r\n } else {\r\n const audioConstraintsForMic = new Owt.Base.AudioTrackConstraints(Owt.Base.AudioSourceInfo.MIC);\r\n const videoConstraintsForCamera = new Owt.Base.VideoTrackConstraints(Owt.Base.VideoSourceInfo.CAMERA);\r\n let mediaStream;\r\n Owt.Base.MediaStreamFactory.createMediaStream(new Owt.Base.StreamConstraints(audioConstraintsForMic, videoConstraintsForCamera)).then(stream => {\r\n mediaStream = stream;\r\n this.localStream = new Owt.Base.LocalStream(mediaStream, new Owt.Base.StreamSourceInfo('mic', 'camera'));\r\n var local: HTMLVideoElement;\r\n local = document.getElementById('local');\r\n local.srcObject = this.localStream.mediaStream; //URL.createObjectURL(stream);\r\n local.muted = true;\r\n this.p2p.publish(strTo, this.localStream).then(publication => {\r\n console.log('Video Published to ', strTo, publication);\r\n this.publicationForCamera = publication;\r\n\r\n if (!this.earlyJoin) {\r\n let msgcallback = new Message();\r\n msgcallback.type = MessageType.VCCommand;\r\n msgcallback.fromId = this.userId;\r\n msgcallback.toId = strTo;\r\n msgcallback.message = \"VideoCallConnected\";\r\n msgcallback.dateSent = new Date();\r\n\r\n //alert(JSON.stringify(msgcallback));\r\n\r\n this.sendMessage(msgcallback);\r\n }\r\n });\r\n }, err => {\r\n console.error('Failed to create MediaStream, ' + err);\r\n });\r\n }\r\n }\r\n\r\n\r\n /*******/\r\n\r\n requestEndVC(): void {\r\n let msgvc = new Message();\r\n msgvc.type = MessageType.VCCommand;\r\n msgvc.fromId = this.userId;\r\n msgvc.toId = this.remoteUser;\r\n msgvc.message = \"EndCallRequested\";\r\n msgvc.dateSent = new Date();\r\n this.sendMessage(msgvc);\r\n this.LeaveConnference();\r\n }\r\n\r\n /*******/\r\n\r\n requestVC(fromId: string, toID: string): void {\r\n // alert(\"i am requestVC\");\r\n let msgvc = new Message();\r\n msgvc.type = MessageType.VCCommand;\r\n msgvc.fromId = fromId;\r\n msgvc.toId = toID;\r\n msgvc.message = \"VideoCallRequested\";\r\n msgvc.dateSent = new Date();\r\n\r\n this.vcCall(msgvc);\r\n }\r\n\r\n vcCall(message: Message): void {\r\n //Use this to initialize sender camera\r\n // alert(\"VC Call\");\r\n console.log(\"vccall message: \", this.userId, message);\r\n\r\n if (this.storageService.hubConnection && this.storageService.hubConnection.state == signalR.HubConnectionState.Connected) {\r\n this.storageService.hubConnection.send(\"vcCall\", message);\r\n if (message.type === MessageType.VCCommand) {\r\n //this.shareCamera(message.toId);\r\n }\r\n }\r\n }\r\n\r\n /***/\r\n\r\n setMute = (resource, muteStatus) => {\r\n if (muteStatus && resource === 'audio') { //Mute\r\n for (const track of this.localStream.mediaStream.getTracks()) {\r\n if (track.kind === resource)\r\n track.enabled = false;\r\n }\r\n } else if (resource === 'audio') { //Un Mute\r\n for (const track of this.localStream.mediaStream.getTracks()) {\r\n if (track.kind === resource)\r\n track.enabled = true;\r\n }\r\n } else if (muteStatus && resource === 'video') { //Mute\r\n for (const track of this.localStream.mediaStream.getTracks()) {\r\n if (track.kind === resource)\r\n track.enabled = false;\r\n }\r\n } else if (resource === 'video') { //Mute\r\n for (const track of this.localStream.mediaStream.getTracks()) {\r\n if (track.kind === resource)\r\n track.enabled = true;\r\n }\r\n }\r\n }\r\n\r\n LeaveConnference = async () => {\r\n console.log('Disconnecting Server...');\r\n try {\r\n if (this.isP2PConnected) {\r\n this.publicationForCamera.stop();\r\n for (const track of this.localStream.mediaStream.getTracks()) {\r\n track.stop();\r\n };\r\n this.localStream = null;\r\n await this.p2p.disconnect();\r\n this.p2p.removeEventListener('serverdisconnected', () => { });\r\n this.p2p.removeEventListener('streamadded', () => { });\r\n //delete this.p2p;\r\n //delete this.signaling;\r\n this.isP2PConnected = false;\r\n }\r\n }\r\n catch (error) {\r\n this.localStream = null;\r\n }\r\n }\r\n\r\n\r\n /****/\r\n\r\n joinRoom(): void {\r\n\r\n\r\n if (this.storageService.hubConnection && this.storageService.hubConnection.state == signalR.HubConnectionState.Connected) {\r\n this.storageService.hubConnection.send(\"join\", this.username, this.memberId, this.hospitalname);\r\n }\r\n }\r\n\r\n listFriends(): Observable {\r\n\r\n // List connected users to show in the friends list\r\n // Sending the userId from the request body as this is just a demo\r\n\r\n\r\n //.post(`${this.serverBaseUrl}listFriends`\r\n\r\n //To be used for live users list of eSanjeevani, Should be filtered basis on TimeSchedule.\r\n let currentUser = this.storageService.get(\"currentUser\");\r\n\r\n let headers = new HttpHeaders({\r\n 'Authorization': 'Bearer ' + currentUser['token']\r\n });\r\n\r\n let headerOptions = { headers: headers };\r\n\r\n return this.http\r\n .post(`${this.serverBaseUrl + \"api/Home/\"}listFriends`, { currentUserId: this.userId }, headerOptions)\r\n .pipe(\r\n map((res: any) => res),\r\n catchError((error: any) => Observable.throw(error.error || 'Server error'))\r\n );\r\n\r\n }\r\n\r\n getMessageHistory(destinataryId: any): Observable {\r\n // This could be an API call to your web application that would go to the database\r\n // and retrieve a N amount of history messages between the users.\r\n return of([]);\r\n }\r\n\r\n sendMessage(message: Message): void {\r\n if (this.storageService.hubConnection && this.storageService.hubConnection.state == signalR.HubConnectionState.Connected)\r\n this.storageService.hubConnection.send(\"sendMessage\", message);\r\n }\r\n\r\n\r\n\r\n\r\n StartConsultationMessage(message: Message): void {\r\n if (this.storageService.hubConnection && this.storageService.hubConnection.state == signalR.HubConnectionState.Connected)\r\n this.storageService.hubConnection.send(\"StartConsultationMessage\", message);\r\n }\r\n //Only Called When Consulatation is accepted by Receiver\r\n callBackSendMessage(message: Message): void {\r\n let msgcallback = new Message();\r\n\r\n msgcallback.fromId = message.toId;\r\n msgcallback.toId = message.fromId;\r\n msgcallback.message = \"CallConnected\";\r\n msgcallback.dateSent = new Date();\r\n\r\n\r\n\r\n this.StartConsultationMessage(msgcallback);\r\n }\r\n\r\n consultationCall(message: Message): void {\r\n\r\n if (this.storageService.hubConnection && this.storageService.hubConnection.state == signalR.HubConnectionState.Connected)\r\n this.storageService.hubConnection.send(\"consultationCall\", message);\r\n }\r\n\r\n\r\n consultationReCall(message: Message): void {\r\n\r\n if (this.storageService.hubConnection && this.storageService.hubConnection.state == signalR.HubConnectionState.Connected)\r\n this.storageService.hubConnection.send(\"consultationReCall\", message);\r\n }\r\n\r\n fetchdata() {\r\n this.storageService.Issync = false;\r\n\r\n this.UserService.GetConsultationByID(this.storageService.consultationId)\r\n .pipe(first())\r\n .subscribe(\r\n\r\n data => {\r\n\r\n if (data.success) {\r\n\r\n if (data.model != null && data.model.patientConsultationModel != null) {\r\n this.storageService.globalprescription = data.model;\r\n\r\n\r\n\r\n // this.router.navigate(['/Doctor/Consulatationdetail']);\r\n }\r\n } else {\r\n this.storageService.globalprescription = [];\r\n\r\n }\r\n\r\n },\r\n error => {\r\n this.storageService.globalprescription = [];\r\n\r\n });\r\n }\r\n\r\n\r\n\r\n callBackVCSendMessage(message: Message): void {\r\n // alert(\"VC CALL BACK\");\r\n\r\n let msgcallback = new Message();\r\n msgcallback.type = MessageType.VCCommand;\r\n msgcallback.fromId = message.toId;\r\n msgcallback.toId = message.fromId;\r\n msgcallback.message = \"VideoCallConnected\";\r\n msgcallback.dateSent = new Date();\r\n\r\n //alert(JSON.stringify(msgcallback));\r\n\r\n this.sendMessage(msgcallback);\r\n }\r\n\r\n //Close Chat from Grid\r\n gridCloseCallBackControl(): void {\r\n //Callback\r\n let msgvc = new Message();\r\n msgvc.type = MessageType.VCCommand;\r\n msgvc.fromId = this.userId;\r\n msgvc.toId = this.remoteUser;\r\n msgvc.message = \"EndGridVCCHAT\";\r\n msgvc.dateSent = new Date();\r\n this.sendMessage(msgvc);\r\n // this.LeaveConnference();\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n clientSwalClose(message: Message): void {\r\n //console.log(\"ClientSwal::\"+JSON.stringify(message));\r\n\r\n //' + this.storageService.FromHospitalName\r\n\r\n Swal.fire({\r\n title: '',\r\n text: 'VC Closed by other side',\r\n type: 'success',\r\n confirmButtonText: 'Ok',\r\n timer: 1000,\r\n showConfirmButton: false,\r\n showCancelButton: false,\r\n });\r\n\r\n this.storageService.isConnectionEstablished = false;\r\n\r\n }\r\n\r\n\r\n\r\n \r\n RingSound(audioRingEnabled: boolean): void {\r\n var audioRingSource: string; //'https://raw.githubusercontent.com/rpaschoal/ng-chat/master/src/ng-chat/assets/notification.wav';\r\n audioRingSource = '../../../assets/ringer.mp3';\r\n var audio: HTMLAudioElement;\r\n audio = document.getElementById('ringeraudio');\r\n audio.src = audioRingSource;\r\n //audio.muted = true;\r\n console.log(\"SoundCalled\");\r\n\r\n if (audioRingEnabled) {\r\n console.log(\"SoundPlayed\");\r\n\r\n audio.load();\r\n audio.play();\r\n\r\n }\r\n else {\r\n console.log(\"SoundPaused\");\r\n\r\n audio.pause();\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export * from './ng-chat/core/chat-adapter';\nexport * from './ng-chat/core/message';\nexport * from './ng-chat/core/chat-participant-status.enum';\nexport * from './ng-chat/core/user';\nexport * from './ng-chat/core/participant-response';\nexport * from './ng-chat/core/participant-metadata';\nexport * from './ng-chat/core/window';\nexport * from './ng-chat/core/localization';\nexport * from './ng-chat/core/chat-controller';\nexport * from './ng-chat/core/paged-history-chat-adapter';\nexport * from './ng-chat/core/theme.enum';\nexport * from './ng-chat/core/chat-option';\nexport * from './ng-chat/core/group';\nexport * from './ng-chat/core/chat-participant';\nexport * from './ng-chat/core/chat-group-adapter';\nexport * from './ng-chat/core/chat-participant-type.enum';\n\nexport { NgChatModule } from './ng-chat/ng-chat.module';\n","module.exports = \".user-icon\\n{\\n box-sizing: border-box;\\n background-color: #FFF;\\n border: 2px solid;\\n width: 32px;\\n height: 20px;\\n border-radius: 64px 64px 0 0/64px;\\n margin-top: 14px;\\n margin-left: -1px;\\n display: inline-block;\\n vertical-align: middle;\\n position: relative;\\n font-style: normal;\\n color: #ddd;\\n text-align: left;\\n text-indent: -9999px;\\n}\\n .user-icon:before{\\n border: 2px solid;\\n background-color: #FFF;\\n width: 12px;\\n height: 12px;\\n top: -19px;\\n border-radius: 50%;\\n position: absolute;\\n left: 50%;\\n -webkit-transform: translateX(-50%);\\n transform: translateX(-50%);\\n }\\n .user-icon:before, .user-icon:after\\n {\\n content: '';\\n pointer-events: none;\\n }\\n .upload-icon {\\n position: absolute;\\n margin-left: 3px;\\n margin-top: 12px;\\n width: 13px;\\n height: 4px;\\n border: solid 1px currentColor;\\n border-top: none;\\n border-radius: 1px;\\n}\\n .upload-icon:before {\\n content: '';\\n position: absolute;\\n top: -8px;\\n left: 6px;\\n width: 1px;\\n height: 9px;\\n background-color: currentColor;\\n }\\n .upload-icon:after {\\n content: '';\\n position: absolute;\\n top: -8px;\\n left: 4px;\\n width: 4px;\\n height: 4px;\\n border-top: solid 1px currentColor;\\n border-right: solid 1px currentColor;\\n -webkit-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n }\\n .paperclip-icon {\\n position: absolute;\\n margin-left: 9px;\\n margin-top: 2px;\\n width: 6px;\\n height: 12px;\\n border-radius: 4px 4px 0 0;\\n border-left: solid 1px currentColor;\\n border-right: solid 1px currentColor;\\n border-top: solid 1px currentColor;\\n -webkit-transform: rotate(45deg);\\n transform: rotate(45deg);\\n}\\n .paperclip-icon:before {\\n content: '';\\n position: absolute;\\n top: 11px;\\n left: -1px;\\n width: 4px;\\n height: 6px;\\n border-radius: 0 0 3px 3px;\\n border-left: solid 1px currentColor;\\n border-right: solid 1px currentColor;\\n border-bottom: solid 1px currentColor;\\n }\\n .paperclip-icon:after {\\n content: '';\\n position: absolute;\\n left: 1px;\\n top: 1px;\\n width: 2px;\\n height: 10px;\\n border-radius: 4px 4px 0 0;\\n border-left: solid 1px currentColor;\\n border-right: solid 1px currentColor;\\n border-top: solid 1px currentColor;\\n }\\n .check-icon {\\n color: #000;\\n position: absolute;\\n margin-left: 3px;\\n margin-top: 4px;\\n width: 14px;\\n height: 8px;\\n border-bottom: solid 1px currentColor;\\n border-left: solid 1px currentColor;\\n -webkit-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n }\\n .remove-icon {\\n color: #000;\\n position: absolute;\\n margin-left: 3px;\\n margin-top: 10px;\\n }\\n .remove-icon:before {\\n content: '';\\n position: absolute;\\n width: 15px;\\n height: 1px;\\n background-color: currentColor;\\n -webkit-transform: rotate(45deg);\\n transform: rotate(45deg);\\n }\\n .remove-icon:after {\\n content: '';\\n position: absolute;\\n width: 15px;\\n height: 1px;\\n background-color: currentColor;\\n -webkit-transform: rotate(-45deg);\\n transform: rotate(-45deg);\\n }\\n\"","module.exports = \".loader,\\n.loader:before,\\n.loader:after {\\n background: #E3E3E3;\\n -webkit-animation: load1 1s infinite ease-in-out;\\n animation: load1 1s infinite ease-in-out;\\n width: 1em;\\n height: 4em;\\n}\\n.loader {\\n color: #E3E3E3;\\n text-indent: -9999em;\\n margin: 4px auto 0 auto;\\n position: relative;\\n font-size: 4px;\\n -webkit-transform: translateZ(0);\\n transform: translateZ(0);\\n -webkit-animation-delay: -0.16s;\\n animation-delay: -0.16s;\\n}\\n.loader:before,\\n.loader:after {\\n position: absolute;\\n top: 0;\\n content: '';\\n}\\n.loader:before {\\n left: -1.5em;\\n -webkit-animation-delay: -0.32s;\\n animation-delay: -0.32s;\\n}\\n.loader:after {\\n left: 1.5em;\\n}\\n@-webkit-keyframes load1 {\\n 0%,\\n 80%,\\n 100% {\\n box-shadow: 0 0;\\n height: 4em;\\n }\\n 40% {\\n box-shadow: 0 -2em;\\n height: 5em;\\n }\\n}\\n@keyframes load1 {\\n 0%,\\n 80%,\\n 100% {\\n box-shadow: 0 0;\\n height: 4em;\\n }\\n 40% {\\n box-shadow: 0 -2em;\\n height: 5em;\\n }\\n}\"","module.exports = \"#ng-chat {\\n position: fixed;\\n z-index: 999;\\n right: 0;\\n bottom: 0;\\n box-sizing: initial;\\n font-size: 11pt;\\n text-align: left;\\n}\\n\\n #ng-chat .shadowed {\\n box-shadow: 0 4px 8px rgba(0,0,0,.25);\\n }\\n\\n .ng-chat-loading-wrapper {\\n height: 30px;\\n text-align: center;\\n font-size: 0.9em;\\n}\\n\\n #ng-chat-people {\\n position: relative;\\n width: 240px;\\n height: 220px;\\n border-width: 1px;\\n border-style: solid;\\n margin-right: 20px;\\n box-shadow: 0 4px 8px rgba(0,0,0,.25);\\n border-bottom: 0;\\n}\\n\\n #ng-chat-people.ng-chat-people-collapsed {\\n height: 30px;\\n }\\n\\n .ng-chat-close {\\n text-decoration: none;\\n float: right;\\n}\\n\\n .ng-chat-video {\\n}\\n\\n .ng-chat-title, .ng-chat-title:hover {\\n position: relative;\\n z-index: 2;\\n height: 30px;\\n line-height: 30px;\\n font-size: 0.9em;\\n padding: 0 10px;\\n display: block;\\n text-decoration: none;\\n color: inherit;\\n font-weight: 400;\\n cursor: pointer;\\n color: #fff;\\n}\\n\\n .ng-chat-title .ng-chat-title-visibility-toggle-area {\\n display: inline-block;\\n width: 85%;\\n }\\n\\n .ng-chat-title .ng-chat-title-visibility-toggle-area > strong {\\n font-weight: 600;\\n display: block;\\n overflow: hidden;\\n height: 30px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n max-width: 85%;\\n float: left;\\n }\\n\\n .ng-chat-title .ng-chat-title-visibility-toggle-area .ng-chat-participant-status {\\n float: left;\\n margin-left: 5px;\\n }\\n\\n .ng-chat-people-actions {\\n position: absolute;\\n top: 4px;\\n right: 5px;\\n margin: 0;\\n padding: 0;\\n z-index: 2;\\n}\\n\\n .ng-chat-people-actions > a.ng-chat-people-action {\\n display: inline-block;\\n width: 21px;\\n height: 21px;\\n margin-right: 8px;\\n text-decoration: none;\\n border: none;\\n border-radius: 25px;\\n padding: 1px;\\n }\\n\\n #ng-chat-search_friend {\\n display: block;\\n padding: 7px 10px;\\n margin: 0 auto;\\n width: calc(100% - 20px);\\n margin-top: 10px;\\n font-size: 0.9em;\\n -webkit-appearance: searchfield;\\n}\\n\\n #ng-chat-users {\\n padding: 0 10px;\\n list-style: none;\\n margin: 0;\\n overflow: auto;\\n position: absolute;\\n top: 42px;\\n bottom: 0;\\n width: 100%;\\n box-sizing: border-box;\\n}\\n\\n #ng-chat-users.offset-search {\\n top: 84px;\\n }\\n\\n #ng-chat-users .ng-chat-users-checkbox {\\n float: left;\\n margin-right: 5px;\\n margin-top: 8px;\\n }\\n\\n #ng-chat-users li {\\n clear: both;\\n margin-bottom: 10px;\\n overflow: hidden;\\n cursor: pointer;\\n max-height: 30px;\\n }\\n\\n #ng-chat-users li > .ng-chat-friends-list-selectable-offset {\\n margin-left: 22px;\\n }\\n\\n #ng-chat-users li .ng-chat-friends-list-container {\\n display: inline-block;\\n width: 100%;\\n }\\n\\n #ng-chat-users li > .ng-chat-friends-list-selectable-offset.ng-chat-friends-list-container {\\n display: block;\\n width: auto;\\n }\\n\\n #ng-chat-users li .ng-chat-friends-list-container > img.avatar, #ng-chat-users li .ng-chat-friends-list-container > .icon-wrapper {\\n float: left;\\n margin-right: 5px;\\n border-radius: 25px;\\n }\\n\\n #ng-chat-users li .ng-chat-friends-list-container > .icon-wrapper {\\n background-color: #BABABA;\\n overflow: hidden;\\n width: 30px;\\n height: 30px;\\n }\\n\\n #ng-chat-users li .ng-chat-friends-list-container > .icon-wrapper > i {\\n color: #FFF;\\n -webkit-transform: scale(0.7);\\n transform: scale(0.7);\\n }\\n\\n #ng-chat-users li .ng-chat-friends-list-container > strong {\\n float: left;\\n line-height: 30px;\\n font-size: 0.8em;\\n max-width: 57%;\\n max-height: 30px;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n }\\n\\n #ng-chat-users li .ng-chat-friends-list-container > .ng-chat-participant-status {\\n float: right;\\n }\\n\\n .ng-chat-participant-status {\\n display: inline-block;\\n border-radius: 25px;\\n width: 8px;\\n height: 8px;\\n margin-top: 10px;\\n}\\n\\n .ng-chat-participant-status.online {\\n background-color: #92A400;\\n }\\n\\n .ng-chat-participant-status.busy {\\n background-color: #F91C1E;\\n }\\n\\n .ng-chat-participant-status.away {\\n background-color: #F7D21B;\\n }\\n\\n .ng-chat-participant-status.offline {\\n background-color: #BABABA;\\n }\\n\\n .ng-chat-unread-messages-count {\\n margin-left: 5px;\\n padding: 0 5px;\\n border-radius: 25px;\\n font-size: 0.9em;\\n line-height: 30px;\\n}\\n\\n .ng-chat-window {\\n right: 260px;\\n height: 180px;\\n z-index: 999;\\n bottom: 0;\\n position: fixed;\\n width: 300px;\\n border-width: 1px;\\n border-style: solid;\\n border-bottom: 0;\\n box-shadow: 0 4px 8px rgba(0,0,0,.25);\\n}\\n\\n .ng-chat-window-collapsed {\\n height: 30px !important;\\n}\\n\\n .ng-chat-window .ng-chat-footer {\\n box-sizing: border-box;\\n padding: 0;\\n display: block;\\n height: calc(10%);\\n width: 100%;\\n border: none;\\n border-top: 1px solid transparent;\\n border-color: inherit;\\n}\\n\\n .ng-chat-window .ng-chat-footer > input {\\n font-size: 0.8em;\\n box-sizing: border-box;\\n padding: 0 5px;\\n display: block;\\n height: 100%;\\n width: 100%;\\n border: none;\\n }\\n\\n .ng-chat-window .ng-chat-footer > input.has-side-action {\\n width: calc(100% - 30px);\\n }\\n\\n .ng-chat-window .ng-chat-footer .btn-add-file {\\n position: absolute;\\n right: 5px;\\n bottom: 1px;\\n height: 17px;\\n width: 20px;\\n cursor: pointer;\\n }\\n\\n .ng-chat-window .ng-chat-footer .loader {\\n position: absolute;\\n right: 14px;\\n bottom: 8px;\\n }\\n\\n .ng-chat-window .ng-chat-load-history {\\n height: 30px;\\n text-align: center;\\n font-size: 0.8em;\\n}\\n\\n .ng-chat-window .ng-chat-load-history > a {\\n border-radius: 15px;\\n cursor: pointer;\\n padding: 5px 10px;\\n }\\n\\n .ng-chat-window .ng-chat-messages {\\n padding: 5px;\\n height: calc(90% - 30px);\\n box-sizing: border-box;\\n position: relative;\\n overflow: auto;\\n}\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message {\\n clear: both;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message > img.avatar, .ng-chat-window .ng-chat-messages .ng-chat-message > .icon-wrapper {\\n position: absolute;\\n left: 10px;\\n border-radius: 25px;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .ng-chat-participant-name {\\n display: inline-block;\\n margin-left: 40px;\\n padding-bottom: 5px;\\n font-weight: bold;\\n font-size: 0.8em;\\n text-overflow: ellipsis;\\n max-width: 180px;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message > .icon-wrapper {\\n background-color: #BABABA;\\n overflow: hidden;\\n width: 30px;\\n height: 30px;\\n padding: 0;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message > .icon-wrapper > i {\\n color: #FFF;\\n -webkit-transform: scale(0.7);\\n transform: scale(0.7);\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .message-sent-date {\\n font-size: 0.8em;\\n display: block;\\n /*text-align: right;*/\\n margin-top: 5px;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message > div {\\n float: right;\\n width: 182px;\\n padding: 0;\\n margin-top: 0;\\n border-radius: 5px;\\n padding: 5px;\\n margin-top: 0;\\n margin-bottom: 5px;\\n font-size: 0.9em;\\n word-wrap: break-word;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message.ng-chat-message-received > div.received-chat-message-container {\\n float: left;\\n margin-left: 40px;\\n padding-top: 5px;\\n padding-bottom: 5px;\\n /*border-style: solid;\\n border-width: 3px;*/\\n margin-top: 0;\\n margin-bottom: 5px;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container {\\n float: right;\\n width: 202px;\\n border-style: solid;\\n border-width: 3px;\\n border-radius: 5px;\\n overflow: hidden;\\n margin-bottom: 5px;\\n display: block;\\n text-decoration: none;\\n font-size: 0.9em;\\n padding: 0;\\n box-sizing: border-box;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container.received {\\n float: left;\\n margin-left: 40px;\\n width: 208px;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container > .file-message-icon-container {\\n width: 20px;\\n height: 35px;\\n padding: 10px 5px;\\n float: left;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container > .file-message-icon-container i {\\n margin-top: 8px;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container > .file-details {\\n float: left;\\n padding: 10px;\\n width: calc(100% - 60px);\\n color: currentColor;\\n text-decoration: none;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container > .file-details:hover {\\n text-decoration: underline;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container > .file-details span {\\n display: block;\\n width: 100%;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container > .file-details .file-message-title {\\n font-weight: bold;\\n }\\n\\n .ng-chat-window .ng-chat-messages .ng-chat-message .file-message-container > .file-details .file-message-size {\\n font-size: 0.8em;\\n margin-top: 5px;\\n }\\n\\n .ng-chat-options-container {\\n float: right;\\n margin-right: 5px;\\n}\\n\"","module.exports = \".dark-theme, .dark-theme .primary-text {\\n color: #FFF;\\n font-family: Arial, Helvetica, sans-serif; }\\n\\n.dark-theme .primary-background {\\n background-color: #565656; }\\n\\n.dark-theme .secondary-background {\\n background-color: #444; }\\n\\n.dark-theme .primary-outline-color {\\n border-color: #353535; }\\n\\n.dark-theme .friends-search-bar {\\n background-color: #444;\\n border: 1px solid #444;\\n color: #FFF; }\\n\\n.dark-theme .unread-messages-counter-container, .dark-theme .ng-chat-people-action, .dark-theme .ng-chat-people-action > i {\\n background-color: #FFF;\\n color: #444; }\\n\\n.dark-theme .load-history-action {\\n background-color: #444; }\\n\\n.dark-theme .chat-window-input {\\n background-color: #444;\\n color: #FFF; }\\n\\n.dark-theme .sent-chat-message-container, .dark-theme .file-message-container {\\n border-color: #444;\\n background-color: #444; }\\n\\n.dark-theme .received-chat-message-container, .dark-theme .file-message-container.received {\\n background-color: #565656;\\n border-color: #444; }\\n\\n.dark-theme .ng-chat-footer {\\n background-color: #444; }\\n\"","module.exports = \".light-theme, .light-theme .primary-text {\\n color: #5C5C5C;\\n font-family: Arial, Helvetica, sans-serif; }\\n\\n.extra-white {\\n color: #fff !important; }\\n\\n.light-theme .primary-background {\\n background-color: #F1F1F1; }\\n\\n.light-theme .secondary-background {\\n /*background-color: #FAFAFA;*/\\n background-color: #14a39f; }\\n\\n.light-theme .primary-outline-color {\\n border-color: #A3A3A3; }\\n\\n.light-theme .friends-search-bar {\\n background-color: #F1F1F1; }\\n\\n.light-theme .unread-messages-counter-container, .light-theme .ng-chat-people-action, .light-theme .ng-chat-people-action > i {\\n color: #5C5C5C;\\n background-color: #E3E3E3; }\\n\\n.light-theme .load-history-action {\\n background-color: #E3E3E3; }\\n\\n.light-theme .chat-window-input {\\n background-color: #F1F1F1; }\\n\\n.light-theme .sent-chat-message-container, .light-theme .file-message-container {\\n background-color: #E3E3E3;\\n border-color: #E3E3E3; }\\n\\n.light-theme .received-chat-message-container, .light-theme .file-message-container.received {\\n background-color: #F1F1F1;\\n border-color: #E3E3E3; }\\n\"","module.exports = \"/* Dropdown Button */\\n.ng-chat-options-activator {\\n background-color: unset;\\n color: white;\\n line-height: 28px;\\n border: none;\\n position: relative;\\n}\\n.ng-chat-options-activator > span\\n {\\n position: relative;\\n top: -5px;\\n left: 0;\\n }\\n.ng-chat-options {\\n position: relative;\\n display: inline-block;\\n}\\n.ng-chat-options:hover .ng-chat-options-content {\\n display: block;\\n }\\n.ng-chat-options:hover .ng-chat-options-activator {\\n background-color: #ddd;\\n }\\n.ng-chat-options-content {\\n display: none;\\n position: absolute;\\n min-width: 160px;\\n z-index: 1;\\n}\\n.ng-chat-options-content a:hover {\\n background-color: #ddd;\\n}\\n.ng-chat-options-content a {\\n padding: 6px 16px;\\n text-decoration: none;\\n display: block;\\n}\\n\\n\"","module.exports = \"
0\\\" class=\\\"ng-chat-options\\\">\\n \\n \\n
\\n\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { Window } from '../../core/window';\nimport { IChatOption } from '../../core/chat-option';\n\n@Component({\n selector: 'ng-chat-options',\n templateUrl: './ng-chat-options.component.html',\n styleUrls: ['./ng-chat-options.component.css']\n})\nexport class NgChatOptionsComponent implements OnInit {\n\n constructor() { }\n\n @Input()\n public options: IChatOption[];\n\n @Input()\n public activeOptionTracker: IChatOption;\n\n @Output()\n public activeOptionTrackerChange: EventEmitter = new EventEmitter();\n\n @Input()\n public chattingTo: Window;\n\n ngOnInit() {\n }\n\n onOptionClicked(option: IChatOption): void\n {\n if (option.action)\n {\n option.isActive = true;\n option.action(this.chattingTo);\n this.activeOptionTrackerChange.emit(option);\n }\n }\n}\n","import { Observable } from 'rxjs';\nimport { Message } from \"./message\";\nimport { User } from \"./user\";\nimport { ParticipantResponse } from \"./participant-response\";\nimport { IChatParticipant } from './chat-participant';\n\nexport abstract class ChatAdapter {\n // ### Abstract adapter methods ###\n\n public abstract listFriends(): Observable;\n\n public abstract getMessageHistory(destinataryId: any): Observable;\n\n public abstract sendMessage(message: Message): void;\n\n public abstract consultationCall(message: Message): void;\n\n public abstract vcCall(message: Message): void;\n\n public abstract shareCamera(strTo: string): void;\n // ### Adapter/Chat income/ingress events ###\n\n public onFriendsListChanged(participantsResponse: ParticipantResponse[]): void {\n this.friendsListChangedHandler(participantsResponse);\n }\n\n public onMessageReceived(participant: IChatParticipant, message: Message): void {\n this.messageReceivedHandler(participant, message);\n }\n\n \n public onConsultationReceived(participant: IChatParticipant, message: Message): void {\n this.consultationReceivedHandler(participant, message);\n }\n\n public onVCReceived(participant: IChatParticipant, message: Message): void {\n this.VCReceivedHandler(participant, message);\n }\n\n //Close Chat from Grid\n public onGridChatClosed(userId: any): void {\n this.CloseChatGrid(userId);\n }\n\n // Event handlers\n friendsListChangedHandler: (participantsResponse: ParticipantResponse[]) => void = (participantsResponse: ParticipantResponse[]) => { };\n messageReceivedHandler: (participant: IChatParticipant, message: Message) => void = (participant: IChatParticipant, message: Message) => { };\n\n consultationReceivedHandler: (participant: IChatParticipant, message: Message) => void = (participant: IChatParticipant, message: Message) => { };\n\n VCReceivedHandler: (participant: IChatParticipant, message: Message) => void = (participant: IChatParticipant, message: Message) => { };\n\n //Close Chat from Grid\n CloseChatGrid: (userId: any) => void = (userId: any) => { };\n\n}\n","export enum ChatParticipantStatus\n{\n Online,\n Busy,\n Away,\n Offline\n}\n","export enum ChatParticipantType\n{\n User,\n Group\n}\n","import { IFileUploadAdapter } from './file-upload-adapter';\nimport { HttpClient, HttpRequest, HttpEventType, HttpResponse, HttpHeaders } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { User } from './user';\nimport { Message } from './message';\n\nexport class DefaultFileUploadAdapter implements IFileUploadAdapter\n{\n /**\n * @summary Basic file upload adapter implementation for HTTP request form file consumption\n * @param _serverEndpointUrl The API endpoint full qualified address that will receive a form file to process and return the metadata.\n */\n constructor(private _serverEndpointUrl: string, private _http: HttpClient) {\n }\n\n uploadFile(file: File, participantId: any): Observable {\n const formData: FormData = new FormData();\n\n //formData.append('ng-chat-sender-userid', currentUserId);\n formData.append('ng-chat-participant-id', participantId);\n formData.append('file', file, file.name);\n\n return this._http.post(this._serverEndpointUrl, formData);\n\n // TODO: Leaving this if we want to track upload progress in detail in the future. Might need a different Subject generic type wrapper\n // const fileRequest = new HttpRequest('POST', this._serverEndpointUrl, formData, {\n // reportProgress: true\n // });\n\n // const uploadProgress = new Subject();\n // const uploadStatus = uploadProgress.asObservable();\n\n //const responsePromise = new Subject();\n\n // this._http\n // .request(fileRequest)\n // .subscribe(event => {\n // // if (event.type == HttpEventType.UploadProgress)\n // // {\n // // const percentDone = Math.round(100 * event.loaded / event.total);\n\n // // uploadProgress.next(percentDone);\n // // }\n // // else if (event instanceof HttpResponse)\n // // {\n \n // // uploadProgress.complete();\n // // }\n // });\n }\n}\n","import { Guid } from \"./guid\";\nimport { User } from \"./user\";\nimport { ChatParticipantStatus } from \"./chat-participant-status.enum\";\nimport { IChatParticipant } from \"./chat-participant\";\nimport { ChatParticipantType } from \"./chat-participant-type.enum\";\n\nexport class Group implements IChatParticipant\n{\n constructor(participants: User[])\n { \n this.chattingTo = participants;\n this.status = ChatParticipantStatus.Online;\n\n // TODO: Add some customization for this in future releases\n this.displayName = participants.map((p) => p.displayName).sort((first, second) => second > first ? -1 : 1).join(\", \");\n }\n\n public id: string = Guid.newGuid();\n public chattingTo: User[];\n\n public readonly participantType: ChatParticipantType = ChatParticipantType.Group;\n\n public status: ChatParticipantStatus;\n public avatar: string | null;\n public displayName: string;\n}\n","// Poached from: https://github.com/Steve-Fenton/TypeScriptUtilities\n// @dynamic\nexport class Guid {\n static newGuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);\n return v.toString(16);\n });\n }\n}\n","export enum MessageType {\n Text = 1,\n File = 2,\n VCCommand = 3\n}\n","import { MessageType } from './message-type.enum';\n\nexport class Message\n{\n public type?: MessageType = MessageType.Text;\n public fromId: any;\n public toId: any;\n public message: string;\n public dateSent?: Date;\n public dateSeen?: Date;\n public prescription: any;\n public ConsultationId: any;\n}\n","import { Observable } from 'rxjs';\nimport { Message } from \"./message\";\nimport { User } from \"./user\";\nimport { ChatAdapter } from \"./chat-adapter\";\n\n/**\n * @description Chat Adapter decorator class that adds pagination to load the history of messagesr. \n * You will need an existing @see ChatAdapter implementation\n */\nexport abstract class PagedHistoryChatAdapter extends ChatAdapter\n{ \n abstract getMessageHistoryByPage(destinataryId: any, size: number, page: number) : Observable;\n}\n","export class ParticipantMetadata\n{\n public totalUnreadMessages: number = 0;\n}\n","import { User } from \"./user\";\nimport { ParticipantMetadata } from \"./participant-metadata\";\nimport { IChatParticipant } from \"./chat-participant\";\n\nexport class ParticipantResponse\n{\n public participant: IChatParticipant;\n public metadata: ParticipantMetadata;\n}\n","export enum ScrollDirection {\n Top,\n Bottom\n}","export enum Theme\n{\n Custom = 'custom-theme',\n Light = 'light-theme',\n Dark = 'dark-theme'\n}\n","import { ChatParticipantStatus } from \"./chat-participant-status.enum\";\nimport { IChatParticipant } from \"./chat-participant\";\nimport { ChatParticipantType } from \"./chat-participant-type.enum\";\n\nexport class User implements IChatParticipant\n{\n public readonly participantType: ChatParticipantType = ChatParticipantType.User;\n public id: any;\n public displayName: string;\n public status: ChatParticipantStatus;\n public avatar: string;\n}\n","import { Message } from \"./message\";\nimport { User } from \"./user\";\nimport { ChatParticipantType } from \"./chat-participant-type.enum\";\nimport { ChatParticipantStatus } from \"./chat-participant-status.enum\";\nimport { Group } from \"./group\";\nimport { IChatParticipant } from \"./chat-participant\";\n\nexport class Window\n{\n constructor(participant: IChatParticipant, isLoadingHistory: boolean, isCollapsed: boolean)\n {\n this.participant = participant;\n this.messages = [];\n this.isLoadingHistory = isLoadingHistory;\n this.hasFocus = false; // This will be triggered when the 'newMessage' input gets the current focus\n this.isCollapsed = isCollapsed;\n this.hasMoreMessages = false;\n this.historyPage = 0;\n }\n\n public participant: IChatParticipant; \n public messages: Message[] = [];\n public newMessage?: string = \"\";\n\n // UI Behavior properties\n public isCollapsed?: boolean = false; \n public isLoadingHistory: boolean = false;\n public hasFocus: boolean = false;\n public hasMoreMessages: boolean = true;\n public historyPage: number = 0;\n}\n","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{localization.title}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\\"\\\"\\r\\n {{user.displayName | uppercase}}\\r\\n \\r\\n 0\\\" class=\\\"ng-chat-unread-messages-count unread-messages-counter-container primary-text\\\">{{unreadMessagesTotalByParticipant(user)}}\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{window.participant.displayName | uppercase}}\\r\\n \\r\\n \\r\\n 0\\\" class=\\\"ng-chat-unread-messages-count unread-messages-counter-container primary-text\\\">{{unreadMessagesTotal(window)}}\\r\\n
\\r\\n \\r\\n X\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{window.participant.displayName | uppercase}}\\r\\n \\r\\n \\r\\n 0\\\" class=\\\"ng-chat-unread-messages-count unread-messages-counter-container primary-text\\\">{{unreadMessagesTotal(window)}}\\r\\n
\\r\\n \\r\\n X\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Loading history...
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n {{window.participant | groupMessageDisplayName:message}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{message.message | emojify:emojisEnabled | linkfy:linkfyEnabled}}\\r\\n \\r\\n {{message.dateSent | date:messageDatePipeFormat}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, Input, OnInit, ViewChildren, ViewChild, HostListener, Output, EventEmitter, ElementRef, ViewEncapsulation } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { ChatAdapter } from './core/chat-adapter';\r\nimport { IChatGroupAdapter } from './core/chat-group-adapter';\r\nimport { User } from \"./core/user\";\r\nimport { ParticipantResponse } from \"./core/participant-response\";\r\nimport { Message } from \"./core/message\";\r\nimport { FileMessage } from \"./core/file-message\";\r\nimport { MessageType } from \"./core/message-type.enum\";\r\nimport { Window } from \"./core/window\";\r\nimport { ChatParticipantStatus } from \"./core/chat-participant-status.enum\";\r\nimport { ScrollDirection } from \"./core/scroll-direction.enum\";\r\nimport { Localization, StatusDescription } from './core/localization';\r\nimport { IChatController } from './core/chat-controller';\r\nimport { PagedHistoryChatAdapter } from './core/paged-history-chat-adapter';\r\nimport { IFileUploadAdapter } from './core/file-upload-adapter';\r\nimport { DefaultFileUploadAdapter } from './core/default-file-upload-adapter';\r\nimport { Theme } from './core/theme.enum';\r\nimport { IChatOption } from './core/chat-option';\r\nimport { Group } from \"./core/group\";\r\nimport { ChatParticipantType } from \"./core/chat-participant-type.enum\";\r\nimport { IChatParticipant } from \"./core/chat-participant\";\r\n\r\nimport { map } from 'rxjs/operators';\r\n//import { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'ng-chat',\r\n templateUrl: 'ng-chat.component.html',\r\n styleUrls: [\r\n 'assets/icons.css',\r\n 'assets/loading-spinner.css',\r\n 'assets/ng-chat.component.default.css',\r\n 'assets/themes/ng-chat.theme.default.scss',\r\n 'assets/themes/ng-chat.theme.dark.scss'\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class NgChat implements OnInit, IChatController {\r\n constructor(public sanitizer: DomSanitizer, private _httpClient: HttpClient) { }\r\n\r\n // Exposes enums for the ng-template\r\n public ChatParticipantType = ChatParticipantType;\r\n public ChatParticipantStatus = ChatParticipantStatus;\r\n public MessageType = MessageType;\r\n\r\n @Input()\r\n public adapter: ChatAdapter;\r\n\r\n @Input()\r\n public groupAdapter: IChatGroupAdapter;\r\n\r\n @Input()\r\n public userId: any;\r\n\r\n @Input()\r\n public isCollapsed: boolean = false;\r\n\r\n @Input()\r\n public maximizeWindowOnNewMessage: boolean = true;\r\n\r\n @Input()\r\n public pollFriendsList: boolean = false;\r\n\r\n @Input()\r\n public pollingInterval: number = 5000;\r\n\r\n @Input()\r\n public historyEnabled: boolean = true;\r\n\r\n @Input()\r\n public emojisEnabled: boolean = true;\r\n\r\n @Input()\r\n public linkfyEnabled: boolean = true;\r\n\r\n @Input()\r\n public audioEnabled: boolean = true;\r\n\r\n @Input()\r\n public searchEnabled: boolean = true;\r\n\r\n @Input() // TODO: This might need a better content strategy\r\n public audioSource: string = 'https://raw.githubusercontent.com/rpaschoal/ng-chat/master/src/ng-chat/assets/notification.wav';\r\n\r\n @Input()\r\n public persistWindowsState: boolean = true;\r\n\r\n @Input()\r\n public title: string = \"Friends\";\r\n\r\n @Input()\r\n public messagePlaceholder: string = \"Type a message\";\r\n\r\n @Input()\r\n public searchPlaceholder: string = \"Search\";\r\n\r\n @Input()\r\n public browserNotificationsEnabled: boolean = true;\r\n\r\n @Input() // TODO: This might need a better content strategy\r\n public browserNotificationIconSource: string = 'https://raw.githubusercontent.com/rpaschoal/ng-chat/master/src/ng-chat/assets/notification.png';\r\n\r\n @Input()\r\n public browserNotificationTitle: string = \"New message from\";\r\n\r\n @Input()\r\n public historyPageSize: number = 10;\r\n\r\n @Input()\r\n public localization: Localization;\r\n\r\n @Input()\r\n public hideFriendsList: boolean = false;\r\n\r\n @Input()\r\n public hideFriendsListOnUnsupportedViewport: boolean = true;\r\n\r\n @Input()\r\n public fileUploadUrl: string;\r\n\r\n @Input()\r\n public theme: Theme = Theme.Light;\r\n\r\n @Input()\r\n public customTheme: string;\r\n\r\n @Input()\r\n public messageDatePipeFormat: string = \"short\";\r\n\r\n @Input()\r\n public showMessageDate: boolean = true;\r\n\r\n @Output()\r\n public onParticipantClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n public onParticipantChatOpened: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n public onParticipantChatClosed: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n public onMessagesSeen: EventEmitter = new EventEmitter();\r\n\r\n private browserNotificationsBootstrapped: boolean = false;\r\n\r\n public hasPagedHistory: boolean = false;\r\n\r\n // Don't want to add this as a setting to simplify usage. Previous placeholder and title settings available to be used, or use full Localization object.\r\n private statusDescription: StatusDescription = {\r\n online: 'Online',\r\n busy: 'Busy',\r\n away: 'Away',\r\n offline: 'Offline'\r\n };\r\n\r\n private audioFile: HTMLAudioElement;\r\n\r\n public searchInput: string = '';\r\n\r\n protected participants: IChatParticipant[];\r\n\r\n protected participantsResponse: ParticipantResponse[];\r\n\r\n private participantsInteractedWith: IChatParticipant[] = [];\r\n\r\n public currentActiveOption: IChatOption | null;\r\n\r\n protected selectedUsersFromFriendsList: User[] = [];\r\n\r\n public defaultWindowOptions(currentWindow: Window): IChatOption[] {\r\n if (this.groupAdapter && currentWindow.participant.participantType == ChatParticipantType.User) {\r\n return [{\r\n isActive: false,\r\n action: (chattingWindow: Window) => {\r\n\r\n this.selectedUsersFromFriendsList = this.selectedUsersFromFriendsList.concat(chattingWindow.participant as User);\r\n },\r\n validateContext: (participant: IChatParticipant) => {\r\n return participant.participantType == ChatParticipantType.User;\r\n },\r\n displayLabel: 'Add People' // TODO: Localize this\r\n }];\r\n }\r\n\r\n return [];\r\n }\r\n\r\n private get localStorageKey(): string {\r\n return `ng-chat-users-${this.userId}`; // Appending the user id so the state is unique per user in a computer. \r\n };\r\n\r\n get filteredParticipants(): IChatParticipant[] {\r\n if (this.searchInput.length > 0) {\r\n // Searches in the friend list by the inputted search string\r\n return this.participants.filter(x => x.displayName.toUpperCase().includes(this.searchInput.toUpperCase()));\r\n }\r\n\r\n return this.participants;\r\n }\r\n\r\n // Defines the size of each opened window to calculate how many windows can be opened on the viewport at the same time.\r\n public windowSizeFactor: number = 320;\r\n\r\n // Total width size of the friends list section\r\n public friendsListWidth: number = 262;\r\n\r\n // Available area to render the plugin\r\n private viewPortTotalArea: number;\r\n\r\n // Set to true if there is no space to display at least one chat window and 'hideFriendsListOnUnsupportedViewport' is true\r\n public unsupportedViewport: boolean = false;\r\n\r\n // File upload state\r\n public isUploadingFile = false;\r\n public fileUploadAdapter: IFileUploadAdapter;\r\n\r\n windows: Window[] = [];\r\n\r\n isBootstrapped: boolean = false;\r\n\r\n @ViewChildren('chatMessages') chatMessageClusters: any;\r\n\r\n @ViewChildren('chatWindowInput') chatWindowInputs: any;\r\n\r\n @ViewChild('nativeFileInput') nativeFileInput: ElementRef;\r\n\r\n ngOnInit() {\r\n this.bootstrapChat();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.viewPortTotalArea = event.target.innerWidth;\r\n\r\n this.NormalizeWindows();\r\n }\r\n\r\n // Checks if there are more opened windows than the view port can display\r\n private NormalizeWindows(): void {\r\n let maxSupportedOpenedWindows = Math.floor((this.viewPortTotalArea - (!this.hideFriendsList ? this.friendsListWidth : 0)) / this.windowSizeFactor);\r\n let difference = this.windows.length - maxSupportedOpenedWindows;\r\n\r\n if (difference >= 0) {\r\n this.windows.splice(this.windows.length - difference);\r\n }\r\n\r\n this.updateWindowsState(this.windows);\r\n\r\n // Viewport should have space for at least one chat window.\r\n this.unsupportedViewport = this.hideFriendsListOnUnsupportedViewport && maxSupportedOpenedWindows < 1;\r\n }\r\n\r\n // Initializes the chat plugin and the messaging adapter\r\n private bootstrapChat(): void {\r\n let initializationException = null;\r\n\r\n if (this.adapter != null && this.userId != null) {\r\n try {\r\n this.viewPortTotalArea = window.innerWidth;\r\n\r\n this.initializeTheme();\r\n this.initializeDefaultText();\r\n this.initializeBrowserNotifications();\r\n\r\n // Binding event listeners\r\n this.adapter.messageReceivedHandler = (participant, msg) => this.onMessageReceived(participant, msg);\r\n this.adapter.friendsListChangedHandler = (participantsResponse) => this.onFriendsListChanged(participantsResponse);\r\n\r\n this.adapter.consultationReceivedHandler = (participant, msg) => this.onConsultationReceived(participant, msg);\r\n\r\n this.adapter.VCReceivedHandler = (participant, msg) => this.onVCReceived(participant, msg);\r\n\r\n //Close Chat from Grid\r\n this.adapter.CloseChatGrid = (userID) => this.closeChatGrid(userID);\r\n\r\n // Loading current users list\r\n if (this.pollFriendsList) {\r\n // Setting a long poll interval to update the friends list\r\n this.fetchFriendsList(true);\r\n setInterval(() => this.fetchFriendsList(false), this.pollingInterval);\r\n }\r\n else {\r\n // Since polling was disabled, a friends list update mechanism will have to be implemented in the ChatAdapter.\r\n this.fetchFriendsList(true);\r\n }\r\n\r\n this.bufferAudioFile();\r\n\r\n this.hasPagedHistory = this.adapter instanceof PagedHistoryChatAdapter;\r\n\r\n if (this.fileUploadUrl && this.fileUploadUrl !== \"\") {\r\n this.fileUploadAdapter = new DefaultFileUploadAdapter(this.fileUploadUrl, this._httpClient);\r\n }\r\n\r\n this.isBootstrapped = true;\r\n }\r\n catch (ex) {\r\n initializationException = ex;\r\n }\r\n }\r\n\r\n if (!this.isBootstrapped) {\r\n console.error(\"ng-chat component couldn't be bootstrapped.\");\r\n\r\n if (this.userId == null) {\r\n console.error(\"ng-chat can't be initialized without an user id. Please make sure you've provided an userId as a parameter of the ng-chat component.\");\r\n }\r\n if (this.adapter == null) {\r\n console.error(\"ng-chat can't be bootstrapped without a ChatAdapter. Please make sure you've provided a ChatAdapter implementation as a parameter of the ng-chat component.\");\r\n }\r\n if (initializationException) {\r\n console.error(`An exception has occurred while initializing ng-chat. Details: ${initializationException.message}`);\r\n console.error(initializationException);\r\n }\r\n }\r\n }\r\n\r\n // Initializes browser notifications\r\n private async initializeBrowserNotifications() {\r\n if (this.browserNotificationsEnabled && (\"Notification\" in window)) {\r\n if (await Notification.requestPermission()) {\r\n this.browserNotificationsBootstrapped = true;\r\n }\r\n }\r\n }\r\n\r\n // Initializes default text\r\n private initializeDefaultText(): void {\r\n if (!this.localization) {\r\n this.localization = {\r\n messagePlaceholder: this.messagePlaceholder,\r\n searchPlaceholder: this.searchPlaceholder,\r\n title: this.title,\r\n statusDescription: this.statusDescription,\r\n browserNotificationTitle: this.browserNotificationTitle,\r\n loadMessageHistoryPlaceholder: \"Load older messages\"\r\n };\r\n }\r\n }\r\n\r\n private initializeTheme(): void {\r\n if (this.customTheme) {\r\n this.theme = Theme.Custom;\r\n }\r\n else if (this.theme != Theme.Light && this.theme != Theme.Dark) {\r\n // TODO: Use es2017 in future with Object.values(Theme).includes(this.theme) to do this check\r\n throw new Error(`Invalid theme configuration for ng-chat. \"${this.theme}\" is not a valid theme value.`);\r\n }\r\n }\r\n\r\n // Sends a request to load the friends list\r\n private fetchFriendsList(isBootstrapping: boolean): void {\r\n this.adapter.listFriends()\r\n .pipe(\r\n map((participantsResponse: ParticipantResponse[]) => {\r\n this.participantsResponse = participantsResponse;\r\n\r\n this.participants = participantsResponse.map((response: ParticipantResponse) => {\r\n return response.participant;\r\n });\r\n })\r\n ).subscribe(() => {\r\n if (isBootstrapping) {\r\n this.restoreWindowsState();\r\n }\r\n });\r\n }\r\n\r\n fetchMessageHistory(window: Window) {\r\n // Not ideal but will keep this until we decide if we are shipping pagination with the default adapter\r\n if (this.adapter instanceof PagedHistoryChatAdapter) {\r\n window.isLoadingHistory = true;\r\n\r\n this.adapter.getMessageHistoryByPage(window.participant.id, this.historyPageSize, ++window.historyPage)\r\n .pipe(\r\n map((result: Message[]) => {\r\n result.forEach((message) => this.assertMessageType(message));\r\n\r\n window.messages = result.concat(window.messages);\r\n window.isLoadingHistory = false;\r\n\r\n const direction: ScrollDirection = (window.historyPage == 1) ? ScrollDirection.Bottom : ScrollDirection.Top;\r\n window.hasMoreMessages = result.length == this.historyPageSize;\r\n\r\n setTimeout(() => this.onFetchMessageHistoryLoaded(result, window, direction, true));\r\n })\r\n ).subscribe();\r\n }\r\n else {\r\n this.adapter.getMessageHistory(window.participant.id)\r\n .pipe(\r\n map((result: Message[]) => {\r\n result.forEach((message) => this.assertMessageType(message));\r\n\r\n window.messages = result.concat(window.messages);\r\n window.isLoadingHistory = false;\r\n\r\n setTimeout(() => this.onFetchMessageHistoryLoaded(result, window, ScrollDirection.Bottom));\r\n })\r\n ).subscribe();\r\n }\r\n }\r\n\r\n private onFetchMessageHistoryLoaded(messages: Message[], window: Window, direction: ScrollDirection, forceMarkMessagesAsSeen: boolean = false): void {\r\n this.scrollChatWindow(window, direction)\r\n\r\n if (window.hasFocus || forceMarkMessagesAsSeen) {\r\n const unseenMessages = messages.filter(m => !m.dateSeen);\r\n\r\n this.markMessagesAsRead(unseenMessages);\r\n this.onMessagesSeen.emit(unseenMessages);\r\n }\r\n }\r\n\r\n // Updates the friends list via the event handler\r\n private onFriendsListChanged(participantsResponse: ParticipantResponse[]): void {\r\n if (participantsResponse) {\r\n this.participantsResponse = participantsResponse;\r\n\r\n this.participants = participantsResponse.map((response: ParticipantResponse) => {\r\n return response.participant;\r\n });\r\n\r\n this.participantsInteractedWith = [];\r\n }\r\n }\r\n\r\n // Handles received messages by the adapter\r\n private onMessageReceived(participant: IChatParticipant, message: Message) {\r\n if (participant && message) {\r\n let chatWindow = this.openChatWindow(participant);\r\n\r\n this.assertMessageType(message);\r\n\r\n if (!chatWindow[1] || !this.historyEnabled) {\r\n chatWindow[0].messages.push(message);\r\n\r\n this.scrollChatWindow(chatWindow[0], ScrollDirection.Bottom);\r\n\r\n if (chatWindow[0].hasFocus) {\r\n this.markMessagesAsRead([message]);\r\n this.onMessagesSeen.emit([message]);\r\n }\r\n }\r\n\r\n this.emitMessageSound(chatWindow[0]);\r\n\r\n // Github issue #58 \r\n // Do not push browser notifications with message content for privacy purposes if the 'maximizeWindowOnNewMessage' setting is off and this is a new chat window.\r\n if (this.maximizeWindowOnNewMessage || (!chatWindow[1] && !chatWindow[0].isCollapsed)) {\r\n // Some messages are not pushed because they are loaded by fetching the history hence why we supply the message here\r\n this.emitBrowserNotification(chatWindow[0], message);\r\n }\r\n }\r\n }\r\n\r\n \r\n private onConsultationReceived(participant: IChatParticipant, message: Message)\r\n {\r\n if (participant && message)\r\n {\r\n \r\n let chatWindow = this.openChatWindow(participant);\r\n\r\n this.assertMessageType(message);\r\n\r\n if (!chatWindow[1] || !this.historyEnabled) {\r\n chatWindow[0].messages.push(message);\r\n\r\n this.scrollChatWindow(chatWindow[0], ScrollDirection.Bottom);\r\n\r\n if (chatWindow[0].hasFocus) {\r\n this.markMessagesAsRead([message]);\r\n this.onMessagesSeen.emit([message]);\r\n }\r\n }\r\n\r\n this.emitMessageSound(chatWindow[0]);\r\n \r\n\r\n\r\n\r\n // Github issue #58 \r\n // Do not push browser notifications with message content for privacy purposes if the 'maximizeWindowOnNewMessage' setting is off and this is a new chat window.\r\n if (this.maximizeWindowOnNewMessage || (!chatWindow[1] && !chatWindow[0].isCollapsed)) {\r\n // Some messages are not pushed because they are loaded by fetching the history hence why we supply the message here\r\n this.emitBrowserNotification(chatWindow[0], message);\r\n }\r\n \r\n }\r\n }\r\n\r\n private onVCReceived(participant: IChatParticipant, message: Message) {\r\n if (participant && message) {\r\n\r\n let chatWindow = this.openChatWindow(participant);\r\n\r\n this.assertMessageType(message);\r\n\r\n if (!chatWindow[1] || !this.historyEnabled) {\r\n chatWindow[0].messages.push(message);\r\n\r\n this.scrollChatWindow(chatWindow[0], ScrollDirection.Bottom);\r\n\r\n if (chatWindow[0].hasFocus) {\r\n this.markMessagesAsRead([message]);\r\n this.onMessagesSeen.emit([message]);\r\n }\r\n }\r\n\r\n this.emitMessageSound(chatWindow[0]);\r\n\r\n\r\n\r\n\r\n // Github issue #58 \r\n // Do not push browser notifications with message content for privacy purposes if the 'maximizeWindowOnNewMessage' setting is off and this is a new chat window.\r\n if (this.maximizeWindowOnNewMessage || (!chatWindow[1] && !chatWindow[0].isCollapsed)) {\r\n // Some messages are not pushed because they are loaded by fetching the history hence why we supply the message here\r\n this.emitBrowserNotification(chatWindow[0], message);\r\n }\r\n\r\n }\r\n }\r\n\r\n // Opens a new chat whindow. Takes care of available viewport\r\n // Works for opening a chat window for an user or for a group\r\n // Returns => [Window: Window object reference, boolean: Indicates if this window is a new chat window]\r\n public openChatWindow(participant: IChatParticipant, focusOnNewWindow: boolean = false, invokedByUserClick: boolean = false): [Window, boolean] {\r\n // Is this window opened?\r\n let openedWindow = this.windows.find(x => x.participant.id == participant.id);\r\n\r\n if (!openedWindow) {\r\n if (invokedByUserClick) {\r\n this.onParticipantClicked.emit(participant);\r\n }\r\n\r\n // Refer to issue #58 on Github \r\n let collapseWindow = invokedByUserClick ? false : !this.maximizeWindowOnNewMessage;\r\n\r\n let newChatWindow: Window = new Window(participant, this.historyEnabled, collapseWindow);\r\n\r\n // Loads the chat history via an RxJs Observable\r\n if (this.historyEnabled) {\r\n this.fetchMessageHistory(newChatWindow);\r\n }\r\n\r\n this.windows.unshift(newChatWindow);\r\n\r\n // Is there enough space left in the view port ?\r\n if (this.windows.length * this.windowSizeFactor >= this.viewPortTotalArea - (!this.hideFriendsList ? this.friendsListWidth : 0)) {\r\n this.windows.pop();\r\n }\r\n\r\n this.updateWindowsState(this.windows);\r\n\r\n if (focusOnNewWindow && !collapseWindow) {\r\n this.focusOnWindow(newChatWindow);\r\n }\r\n\r\n this.participantsInteractedWith.push(participant);\r\n this.onParticipantChatOpened.emit(participant);\r\n\r\n return [newChatWindow, true];\r\n }\r\n else {\r\n // Returns the existing chat window \r\n return [openedWindow, false];\r\n }\r\n }\r\n\r\n // Focus on the input element of the supplied window\r\n private focusOnWindow(window: Window, callback: Function = () => { }): void {\r\n let windowIndex = this.windows.indexOf(window);\r\n if (windowIndex >= 0) {\r\n setTimeout(() => {\r\n if (this.chatWindowInputs) {\r\n let messageInputToFocus = this.chatWindowInputs.toArray()[windowIndex];\r\n\r\n messageInputToFocus.nativeElement.focus();\r\n }\r\n\r\n callback();\r\n });\r\n }\r\n }\r\n\r\n // Scrolls a chat window message flow to the bottom\r\n private scrollChatWindow(window: Window, direction: ScrollDirection): void {\r\n if (!window.isCollapsed) {\r\n let windowIndex = this.windows.indexOf(window);\r\n setTimeout(() => {\r\n if (this.chatMessageClusters) {\r\n let targetWindow = this.chatMessageClusters.toArray()[windowIndex];\r\n\r\n if (targetWindow) {\r\n let element = this.chatMessageClusters.toArray()[windowIndex].nativeElement;\r\n let position = (direction === ScrollDirection.Top) ? 0 : element.scrollHeight;\r\n element.scrollTop = position;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n // Marks all messages provided as read with the current time.\r\n public markMessagesAsRead(messages: Message[]): void {\r\n let currentDate = new Date();\r\n\r\n messages.forEach((msg) => {\r\n msg.dateSeen = currentDate;\r\n });\r\n }\r\n\r\n // Buffers audio file (For component's bootstrapping)\r\n private bufferAudioFile(): void {\r\n if (this.audioSource && this.audioSource.length > 0) {\r\n this.audioFile = new Audio();\r\n this.audioFile.src = this.audioSource;\r\n this.audioFile.load();\r\n }\r\n }\r\n\r\n // Emits a message notification audio if enabled after every message received\r\n private emitMessageSound(window: Window): void {\r\n if (this.audioEnabled && !window.hasFocus && this.audioFile) {\r\n this.audioFile.play();\r\n }\r\n }\r\n\r\n // Emits a browser notification\r\n private emitBrowserNotification(window: Window, message: Message): void {\r\n if (this.browserNotificationsBootstrapped && !window.hasFocus && message) {\r\n let notification = new Notification(`${this.localization.browserNotificationTitle} ${window.participant.displayName}`, {\r\n 'body': message.message,\r\n 'icon': this.browserNotificationIconSource\r\n });\r\n\r\n setTimeout(() => {\r\n notification.close();\r\n }, message.message.length <= 50 ? 5000 : 7000); // More time to read longer messages\r\n }\r\n }\r\n\r\n // Saves current windows state into local storage if persistence is enabled\r\n private updateWindowsState(windows: Window[]): void {\r\n if (this.persistWindowsState) {\r\n let participantIds = windows.map((w) => {\r\n return w.participant.id;\r\n });\r\n\r\n localStorage.setItem(this.localStorageKey, JSON.stringify(participantIds));\r\n }\r\n }\r\n\r\n private restoreWindowsState(): void {\r\n try {\r\n if (this.persistWindowsState) {\r\n let stringfiedParticipantIds = localStorage.getItem(this.localStorageKey);\r\n\r\n if (stringfiedParticipantIds && stringfiedParticipantIds.length > 0) {\r\n let participantIds = JSON.parse(stringfiedParticipantIds);\r\n\r\n let participantsToRestore = this.participants.filter(u => participantIds.indexOf(u.id) >= 0);\r\n\r\n participantsToRestore.forEach((participant) => {\r\n this.openChatWindow(participant);\r\n });\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n console.error(`An error occurred while restoring ng-chat windows state. Details: ${ex}`);\r\n }\r\n }\r\n\r\n // Gets closest open window if any. Most recent opened has priority (Right)\r\n private getClosestWindow(window: Window): Window | undefined {\r\n let index = this.windows.indexOf(window);\r\n\r\n if (index > 0) {\r\n return this.windows[index - 1];\r\n }\r\n else if (index == 0 && this.windows.length > 1) {\r\n return this.windows[index + 1];\r\n }\r\n }\r\n\r\n private assertMessageType(message: Message): void {\r\n // Always fallback to \"Text\" messages to avoid rendenring issues\r\n if (!message.type) {\r\n message.type = MessageType.Text;\r\n }\r\n }\r\n\r\n private formatUnreadMessagesTotal(totalUnreadMessages: number): string {\r\n if (totalUnreadMessages > 0) {\r\n\r\n if (totalUnreadMessages > 99)\r\n return \"99+\";\r\n else\r\n return String(totalUnreadMessages);\r\n }\r\n\r\n // Empty fallback.\r\n return \"\";\r\n }\r\n\r\n // Returns the total unread messages from a chat window. TODO: Could use some Angular pipes in the future \r\n unreadMessagesTotal(window: Window): string {\r\n let totalUnreadMessages = 0;\r\n\r\n if (window) {\r\n totalUnreadMessages = window.messages.filter(x => x.fromId != this.userId && !x.dateSeen).length;\r\n }\r\n\r\n return this.formatUnreadMessagesTotal(totalUnreadMessages);\r\n }\r\n\r\n unreadMessagesTotalByParticipant(participant: IChatParticipant): string {\r\n let openedWindow = this.windows.find(x => x.participant.id == participant.id);\r\n\r\n if (openedWindow) {\r\n return this.unreadMessagesTotal(openedWindow);\r\n }\r\n else {\r\n let totalUnreadMessages = this.participantsResponse\r\n .filter(x => x.participant.id == participant.id && !this.participantsInteractedWith.find(u => u.id == participant.id) && x.metadata && x.metadata.totalUnreadMessages > 0)\r\n .map((participantResponse) => {\r\n return participantResponse.metadata.totalUnreadMessages\r\n })[0];\r\n\r\n return this.formatUnreadMessagesTotal(totalUnreadMessages);\r\n }\r\n }\r\n\r\n /* Monitors pressed keys on a chat window\r\n - Dispatches a message when the ENTER key is pressed\r\n - Tabs between windows on TAB or SHIFT + TAB\r\n - Closes the current focused window on ESC\r\n */\r\n onChatInputTyped(event: any, window: Window): void {\r\n switch (event.keyCode) {\r\n case 13:\r\n if (window.newMessage && window.newMessage.trim() != \"\") {\r\n let message = new Message();\r\n\r\n message.fromId = this.userId;\r\n message.toId = window.participant.id;\r\n message.message = window.newMessage;\r\n message.dateSent = new Date();\r\n\r\n window.messages.push(message);\r\n\r\n this.adapter.sendMessage(message);\r\n\r\n window.newMessage = \"\"; // Resets the new message input\r\n\r\n this.scrollChatWindow(window, ScrollDirection.Bottom);\r\n }\r\n break;\r\n case 9:\r\n event.preventDefault();\r\n\r\n let currentWindowIndex = this.windows.indexOf(window);\r\n let messageInputToFocus = this.chatWindowInputs.toArray()[currentWindowIndex + (event.shiftKey ? 1 : -1)]; // Goes back on shift + tab\r\n\r\n if (!messageInputToFocus) {\r\n // Edge windows, go to start or end\r\n messageInputToFocus = this.chatWindowInputs.toArray()[currentWindowIndex > 0 ? 0 : this.chatWindowInputs.length - 1];\r\n }\r\n\r\n messageInputToFocus.nativeElement.focus();\r\n\r\n break;\r\n case 27:\r\n let closestWindow = this.getClosestWindow(window);\r\n\r\n if (closestWindow) {\r\n this.focusOnWindow(closestWindow, () => { this.onCloseChatWindow(window); });\r\n }\r\n else {\r\n this.onCloseChatWindow(window);\r\n }\r\n }\r\n }\r\n\r\n // Closes a chat window via the close 'X' button\r\n onCloseChatWindow(window: Window): void {\r\n let index = this.windows.indexOf(window);\r\n\r\n this.windows.splice(index, 1);\r\n\r\n this.updateWindowsState(this.windows);\r\n\r\n this.onParticipantChatClosed.emit(window.participant);\r\n }\r\n\r\n onVideoChatWindow(window: Window): void\r\n {\r\n //alert(JSON.stringify(window.participant.id));\r\n\r\n if (window.participant != null)\r\n {\r\n let message = new Message();\r\n message.type = MessageType.VCCommand;\r\n message.fromId = this.userId;\r\n message.toId = window.participant.id;\r\n message.message = \"VideoCallReConnectRequest\";\r\n message.dateSent = new Date();\r\n\r\n this.adapter.sendMessage(message);\r\n }\r\n }\r\n\r\n // Toggle friends list visibility\r\n onChatTitleClicked(event: any): void {\r\n this.isCollapsed = !this.isCollapsed;\r\n }\r\n\r\n // Toggles a chat window visibility between maximized/minimized\r\n onChatWindowClicked(window: Window): void {\r\n window.isCollapsed = !window.isCollapsed;\r\n this.scrollChatWindow(window, ScrollDirection.Bottom);\r\n }\r\n\r\n // Asserts if a user avatar is visible in a chat cluster\r\n isAvatarVisible(window: Window, message: Message, index: number): boolean {\r\n if (message.fromId != this.userId) {\r\n if (index == 0) {\r\n return true; // First message, good to show the thumbnail\r\n }\r\n else {\r\n // Check if the previous message belongs to the same user, if it belongs there is no need to show the avatar again to form the message cluster\r\n if (window.messages[index - 1].fromId != message.fromId) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getChatWindowAvatar(participant: IChatParticipant, message: Message): string | null {\r\n if (participant.participantType == ChatParticipantType.User) {\r\n return participant.avatar;\r\n }\r\n else if (participant.participantType == ChatParticipantType.Group) {\r\n let group = participant as Group;\r\n let userIndex = group.chattingTo.findIndex(x => x.id == message.fromId);\r\n\r\n return group.chattingTo[userIndex >= 0 ? userIndex : 0].avatar;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // Toggles a window focus on the focus/blur of a 'newMessage' input\r\n toggleWindowFocus(window: Window): void {\r\n window.hasFocus = !window.hasFocus;\r\n if (window.hasFocus) {\r\n const unreadMessages = window.messages\r\n .filter(message => message.dateSeen == null\r\n && (message.toId == this.userId || window.participant.participantType === ChatParticipantType.Group));\r\n\r\n if (unreadMessages && unreadMessages.length > 0) {\r\n this.markMessagesAsRead(unreadMessages);\r\n this.onMessagesSeen.emit(unreadMessages);\r\n }\r\n }\r\n }\r\n\r\n // [Localized] Returns the status descriptive title\r\n getStatusTitle(status: ChatParticipantStatus): any {\r\n let currentStatus = status.toString().toLowerCase();\r\n\r\n return this.localization.statusDescription[currentStatus];\r\n }\r\n\r\n triggerOpenChatWindow(user: User): void {\r\n if (user) {\r\n this.openChatWindow(user);\r\n }\r\n }\r\n\r\n getCurrentConnectionId(): string {\r\n \r\n return this.userId;\r\n }\r\n\r\n triggerCloseChatWindow(userId: any): void {\r\n let openedWindow = this.windows.find(x => x.participant.id == userId);\r\n\r\n if (openedWindow) {\r\n this.onCloseChatWindow(openedWindow);\r\n }\r\n }\r\n\r\n triggerToggleChatWindowVisibility(userId: any): void {\r\n let openedWindow = this.windows.find(x => x.participant.id == userId);\r\n\r\n if (openedWindow) {\r\n this.onChatWindowClicked(openedWindow);\r\n }\r\n }\r\n\r\n // Triggers native file upload for file selection from the user\r\n triggerNativeFileUpload(): void {\r\n this.nativeFileInput.nativeElement.click();\r\n }\r\n\r\n // Handles file selection and uploads the selected file using the file upload adapter\r\n onFileChosen(window: Window): void {\r\n const file: File = this.nativeFileInput.nativeElement.files[0];\r\n\r\n this.isUploadingFile = true;\r\n\r\n this.fileUploadAdapter.uploadFile(file, window.participant.id)\r\n .subscribe(fileMessage => {\r\n this.isUploadingFile = false;\r\n\r\n fileMessage.fromId = this.userId;\r\n\r\n // Push file message to current user window \r\n window.messages.push(fileMessage);\r\n\r\n this.adapter.sendMessage(fileMessage);\r\n\r\n this.scrollChatWindow(window, ScrollDirection.Bottom);\r\n\r\n // Resets the file upload element\r\n this.nativeFileInput.nativeElement.value = '';\r\n }, (error) => {\r\n this.isUploadingFile = false;\r\n\r\n // Resets the file upload element\r\n this.nativeFileInput.nativeElement.value = '';\r\n\r\n // TODO: Invoke a file upload adapter error here\r\n });\r\n }\r\n\r\n onFriendsListCheckboxChange(selectedUser: User, isChecked: boolean): void {\r\n if (isChecked) {\r\n this.selectedUsersFromFriendsList.push(selectedUser);\r\n }\r\n else {\r\n this.selectedUsersFromFriendsList.splice(this.selectedUsersFromFriendsList.indexOf(selectedUser), 1);\r\n }\r\n }\r\n\r\n onFriendsListActionCancelClicked(): void {\r\n if (this.currentActiveOption) {\r\n this.currentActiveOption.isActive = false;\r\n this.currentActiveOption = null;\r\n this.selectedUsersFromFriendsList = [];\r\n }\r\n }\r\n\r\n onFriendsListActionConfirmClicked(): void {\r\n let newGroup = new Group(this.selectedUsersFromFriendsList);\r\n\r\n this.openChatWindow(newGroup);\r\n\r\n if (this.groupAdapter) {\r\n this.groupAdapter.groupCreated(newGroup);\r\n }\r\n\r\n // Canceling current state\r\n this.onFriendsListActionCancelClicked();\r\n }\r\n\r\n isUserSelectedFromFriendsList(user: User): boolean {\r\n return (this.selectedUsersFromFriendsList.filter(item => item.id == user.id)).length > 0\r\n }\r\n\r\n //Close Chat from Grid\r\n closeChatGrid(userId: any): void {\r\n this.triggerCloseChatWindow(userId);\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { NgChat } from './ng-chat.component';\nimport { EmojifyPipe } from './pipes/emojify.pipe';\nimport { LinkfyPipe } from './pipes/linkfy.pipe';\nimport { GroupMessageDisplayNamePipe } from './pipes/group-message-display-name.pipe';\nimport { NgChatOptionsComponent } from './components/ng-chat-options/ng-chat-options.component';\nimport { AngularDraggableModule } from 'angular2-draggable';\n@NgModule({\n imports: [CommonModule, FormsModule, HttpClientModule, AngularDraggableModule],\n declarations: [NgChat, EmojifyPipe, LinkfyPipe, GroupMessageDisplayNamePipe, NgChatOptionsComponent],\n exports: [NgChat]\n})\nexport class NgChatModule {\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nlet emojiDictionary = [\n { patterns: [':)', ':-)', '=)'], unicode: '😃' },\n { patterns: [':D', ':-D', '=D'], unicode: '😀' },\n { patterns: [':(', ':-(', '=('], unicode: '🙁' },\n { patterns: [':|', ':-|', '=|'], unicode: '😐' },\n { patterns: [':*', ':-*', '=*'], unicode: '😙' },\n { patterns: ['T_T', 'T.T'], unicode: '😭' },\n { patterns: [':O', ':-O', '=O', ':o', ':-o', '=o'], unicode: '😮' },\n { patterns: [':P', ':-P', '=P', ':p', ':-p', '=p'], unicode: '😋' },\n { patterns: ['>.<'], unicode: '😣' },\n { patterns: ['@.@'], unicode: '😵' },\n { patterns: ['*.*'], unicode: '😍' },\n { patterns: ['<3'], unicode: '❤️' },\n { patterns: ['^.^'], unicode: '😊' },\n { patterns: [':+1'], unicode: '👍' },\n { patterns: [':-1'], unicode: '👎' }\n];\n\n/*\n * Transforms common emoji text to UTF encoded emojis\n*/\n@Pipe({name: 'emojify'})\nexport class EmojifyPipe implements PipeTransform {\n transform(message: string, pipeEnabled: boolean): string {\n if (pipeEnabled && message && message.length > 1) { \n emojiDictionary.forEach(emoji => {\n emoji.patterns.forEach(pattern => {\n message = message.replace(pattern, emoji.unicode);\n })\n });\n }\n\n return message;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Group } from \"../core/group\";\nimport { ChatParticipantType } from \"../core/chat-participant-type.enum\";\nimport { IChatParticipant } from \"../core/chat-participant\";\nimport { Message } from \"../core/message\";\n\n/*\n * Renders the display name of a participant in a group based on who's sent the message\n*/\n@Pipe({name: 'groupMessageDisplayName'})\nexport class GroupMessageDisplayNamePipe implements PipeTransform {\n transform(participant: IChatParticipant, message: Message): string {\n if (participant && participant.participantType == ChatParticipantType.Group)\n {\n let group = participant as Group;\n let userIndex = group.chattingTo.findIndex(x => x.id == message.fromId);\n\n return group.chattingTo[userIndex >= 0 ? userIndex : 0].displayName;\n }\n else\n return \"\";\n } \n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/*\n * Transforms text containing URLs or E-mails to valid links/mailtos\n*/\n@Pipe({name: 'linkfy'})\nexport class LinkfyPipe implements PipeTransform {\n transform(message: string, pipeEnabled: boolean): string {\n if (pipeEnabled && message && message.length > 1)\n {\n let replacedText;\n let replacePatternProtocol;\n let replacePatternWWW;\n let replacePatternMailTo;\n\n // URLs starting with http://, https://, or ftp://\n replacePatternProtocol = /(\\b(https?|ftp):\\/\\/[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|])/gim;\n replacedText = message.replace(replacePatternProtocol, '$1');\n\n // URLs starting with \"www.\" (ignoring // before it).\n replacePatternWWW = /(^|[^\\/])(www\\.[\\S]+(\\b|$))/gim;\n replacedText = replacedText.replace(replacePatternWWW, '$1$2');\n\n // Change email addresses to mailto:: links.\n replacePatternMailTo = /(([a-zA-Z0-9\\-\\_\\.])+@[a-zA-Z\\_]+?(\\.[a-zA-Z]{2,6})+)/gim;\n replacedText = replacedText.replace(replacePatternMailTo, '$1');\n\n return replacedText;\n }\n else\n return message;\n } \n}\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport 'hammerjs';\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}