{"version":3,"file":"main.b72f2280868c7f31.js","sources":["en.js","./projects/helper-client/src/api/gen/api/appointmentRecording.service.ts","./projects/helper-client/src/api/gen/api/ping.service.ts","./projects/helper-client/src/api/gen/configuration.ts","./projects/helper-client/src/api/gen/encoder.ts","./projects/helper-client/src/api/gen/api/analytics.service.ts","./projects/helper-client/src/api/gen/api/applicationSettings.service.ts","./projects/helper-client/src/api/gen/api/appointment.service.ts","./projects/helper-client/src/api/gen/api/assignInquiry.service.ts","./projects/helper-client/src/api/gen/api/attachment.service.ts","./projects/helper-client/src/api/gen/api/attachmentCv.service.ts","./projects/helper-client/src/api/gen/api/authenticationToken.service.ts","./projects/helper-client/src/api/gen/api/brandingColor.service.ts","./projects/helper-client/src/api/gen/api/brandingInvitation.service.ts","./projects/helper-client/src/api/gen/api/company.service.ts","./projects/helper-client/src/api/gen/api/companyAddress.service.ts","./projects/helper-client/src/api/gen/api/companyLogin.service.ts","./projects/helper-client/src/api/gen/api/distance.service.ts","./projects/helper-client/src/api/gen/api/emailAvailable.service.ts","./projects/helper-client/src/api/gen/api/employee.service.ts","./projects/helper-client/src/api/gen/api/employeeInvite.service.ts","./projects/helper-client/src/api/gen/api/employeeOtp.service.ts","./projects/helper-client/src/api/gen/api/featureTracking.service.ts","./projects/helper-client/src/api/gen/api/initializationStatus.service.ts","./projects/helper-client/src/api/gen/api/inquiry.service.ts","./projects/helper-client/src/api/gen/api/inquiryDashboard.service.ts","./projects/helper-client/src/api/gen/api/inquiryEdit.service.ts","./projects/helper-client/src/api/gen/api/inquiryLocation.service.ts","./projects/helper-client/src/api/gen/api/invitationStatus.service.ts","./projects/helper-client/src/api/gen/api/legalEntity.service.ts","./projects/helper-client/src/api/gen/api/liveChat.service.ts","./projects/helper-client/src/api/gen/api/liveChatTranslation.service.ts","./projects/helper-client/src/api/gen/api/notesDocumentation.service.ts","./projects/helper-client/src/api/gen/api/notificationCenter.service.ts","./projects/helper-client/src/api/gen/api/notificationValidation.service.ts","./projects/helper-client/src/api/gen/api/otp.service.ts","./projects/helper-client/src/api/gen/api/password.service.ts","./projects/helper-client/src/api/gen/api/plugin.service.ts","./projects/helper-client/src/api/gen/api/profile.service.ts","./projects/helper-client/src/api/gen/api/quota.service.ts","./projects/helper-client/src/api/gen/api/registrationValidation.service.ts","./projects/helper-client/src/api/gen/api/report.service.ts","./projects/helper-client/src/api/gen/api/savedDuration.service.ts","./projects/helper-client/src/api/gen/api/staticTemplate.service.ts","./projects/helper-client/src/api/gen/api/subscription.service.ts","./projects/helper-client/src/api/gen/api/syncAppointment.service.ts","./projects/helper-client/src/api/gen/api/validateEmail.service.ts","./projects/helper-client/src/api/gen/api/api.ts","./projects/helper-client/src/api/gen/model/author.ts","./projects/helper-client/src/api/gen/model/devicePermission.ts","./projects/helper-client/src/api/gen/model/distance.ts","./projects/helper-client/src/api/gen/model/employeeType.ts","./projects/helper-client/src/api/gen/model/inquiryState.ts","./projects/helper-client/src/api/gen/model/origin.ts","./projects/helper-client/src/api/gen/model/savedDuration.ts","./projects/helper-client/src/api/gen/model/smsStatus.ts","./projects/helper-client/src/api/gen/model/timelineEventType.ts","./projects/helper-client/src/api/gen/api.module.ts","./projects/helper-client/src/api/gen/variables.ts","./projects/helper-client/src/app/annotations/drawing-canvas/drawing-canvas.component.ts","./projects/helper-client/src/app/annotations/drawing-canvas/drawing-canvas.component.html","./projects/helper-client/src/app/services/file/avatar-file.service.ts","./projects/helper-client/src/app/profile/dialogs/edit-contact-dialog/edit-contact-dialog.component.ts","./projects/helper-client/src/app/profile/dialogs/edit-contact-dialog/edit-contact-dialog.component.html","./projects/helper-client/src/app/profile/personal-information-contact/personal-information-contact.component.html","./projects/helper-client/src/app/profile/personal-information-contact/personal-information-contact.component.ts","./projects/helper-client/src/app/model/employee/otp/otp-info.ts","./projects/helper-client/src/app/model/employee/otp/request/delete-otp-request.ts","./projects/helper-client/src/app/services/api/employee-otp.service.ts","./projects/helper-client/src/app/profile/dialogs/edit-authentication-dialog/edit-authentication-dialog.component.html","./projects/helper-client/src/app/profile/dialogs/edit-authentication-dialog/edit-authentication-dialog.component.ts","./projects/helper-client/src/app/profile/personal-information-authentication/personal-information-authentication.component.html","./projects/helper-client/src/app/profile/personal-information-authentication/personal-information-authentication.component.ts","./projects/helper-client/src/app/model/employee/department.ts","./projects/helper-client/src/app/profile/dialogs/edit-department-dialog/edit-department-dialog.component.html","./projects/helper-client/src/app/profile/dialogs/edit-department-dialog/edit-department-dialog.component.ts","./projects/helper-client/src/app/profile/personal-information-department/personal-information-department.component.html","./projects/helper-client/src/app/profile/personal-information-department/personal-information-department.component.ts","./projects/helper-client/src/app/profile/dialogs/edit-legal-entity-dialog/edit-legal-entity-dialog.component.html","./projects/helper-client/src/app/profile/dialogs/edit-legal-entity-dialog/edit-legal-entity-dialog.component.ts","./projects/helper-client/src/app/profile/personal-information-legal-entity/personal-information-legal-entity.component.html","./projects/helper-client/src/app/profile/personal-information-legal-entity/personal-information-legal-entity.component.ts","./projects/helper-client/src/app/profile/personal-information/personal-information.component.ts","./projects/helper-client/src/app/profile/personal-information/personal-information.component.html","./projects/helper-client/src/app/profile/profile.component.html","./projects/helper-client/src/app/profile/profile.component.ts","./projects/helper-client/src/app/services/api/integrations/salesforce-tenant-resolver.service.ts","./projects/helper-client/src/app/integrations/salesforce-canvas/salesforce-canvas.component.ts","./projects/helper-client/src/app/integrations/salesforce-canvas/salesforce-canvas.component.html","./projects/helper-client/src/app/integrations/salesforce-canvas-callback/salesforce-canvas-callback.component.ts","./projects/helper-client/src/app/integrations/salesforce-canvas-callback/salesforce-canvas-callback.component.html","./projects/helper-client/src/app/authentication/authentication.guard.ts","./projects/helper-client/src/app/app-routing.module.ts","./projects/helper-client/src/app/model/initialization-status.ts","./projects/aidar-branding/src/lib/color/branding-color-data-service.ts","./projects/aidar-branding/src/lib/branding-data-service.ts","./projects/helper-client/src/app/authentication/auth-callback/auth-callback.component.ts","./projects/helper-client/src/app/authentication/auth-callback/auth-callback.component.html","./node_modules/oidc-client-ts/dist/esm/oidc-client-ts.js","./projects/helper-client/src/app/authentication/authentication.service.ts","./projects/helper-client/src/app/authentication/backend-role.ts","./projects/helper-client/src/app/authentication/initiated-action.service.ts","./projects/helper-client/src/app/model/plugin/credentials.ts","./projects/helper-client/src/app/services/api/plugin.service.ts","./projects/helper-client/src/app/authentication/login/login.component.ts","./projects/helper-client/src/app/authentication/login/login.component.html","./projects/helper-client/src/app/authentication/realm.service.ts","./projects/helper-client/src/app/authentication/role.service.ts","./projects/helper-client/src/app/authentication/roles.ts","./projects/helper-client/src/app/chat/message.model.ts","./projects/helper-client/src/app/employee/services/password-validator.ts","./projects/helper-client/src/app/employee/verify-email/validate-email.component.html","./projects/helper-client/src/app/employee/verify-email/validate-email.component.ts","./projects/helper-client/src/app/model/Quota.ts","./projects/helper-client/src/app/model/attachment/associated-call-period.ts","./projects/helper-client/src/app/model/attachment/attachment-content-type.ts","./projects/helper-client/src/app/model/attachment/invalidation.ts","./projects/helper-client/src/app/model/attachment/attachment.ts","./projects/helper-client/src/app/model/company/application-settings.ts","./projects/helper-client/src/app/model/company/company-address.ts","./projects/helper-client/src/app/model/company/company-settings.ts","./projects/helper-client/src/app/model/email-available.ts","./projects/helper-client/src/app/model/employee/employee-type.ts","./projects/helper-client/src/app/model/employee/employee.ts","./projects/helper-client/src/app/model/inquiry/inquiry-dashboard-summary.ts","./projects/helper-client/src/app/model/inquiry/lat-lng.ts","./projects/helper-client/src/app/model/inquiry/inquiry-location.ts","./projects/helper-client/src/app/model/inquiry/inquiry.ts","./projects/helper-client/src/app/model/inquiry/invitation.ts","./projects/helper-client/src/app/model/registration-validation.ts","./projects/helper-client/src/app/model/report/report-output-format.ts","./projects/helper-client/src/app/model/report/report-type.ts","./projects/helper-client/src/app/model/report/static-template-identifier.ts","./projects/helper-client/src/app/scheduling/date-range/date-range.component.html","./projects/helper-client/src/app/scheduling/date-range/date-range.component.ts","./projects/helper-client/src/app/util/isSameDay.ts","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/data/attachment-state.ts","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/data/attachment-with-state.ts","./node_modules/@angular/material/fesm2022/datepicker.mjs","./node_modules/@mattlewis92/dom-autoscroller/dist/bundle.es.js","./node_modules/angular-draggable-droppable/fesm2015/angular-draggable-droppable.js","./projects/helper-client/src/app/shared/tab-chip/inquiry-detail-component-chip.ts","./projects/helper-client/src/app/shared/tab-chip/tab-chip.component.ts","./projects/helper-client/src/app/shared/tab-chip/tab-chip.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-report/rename-report-dialog/rename-report-dialog.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-report/rename-report-dialog/rename-report-dialog.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-report/create-custom-report-dialog/create-custom-report-dialog.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-report/create-custom-report-dialog/create-custom-report-dialog.component.ts","./projects/helper-client/src/app/shared/info-text-with-icon/info-text-with-icon.component.ts","./projects/helper-client/src/app/shared/info-text-with-icon/info-text-with-icon.component.html","./projects/helper-client/src/app/shared/heading-with-icon-and-action-menu/heading-with-icon-and-action-menu.component.html","./projects/helper-client/src/app/shared/heading-with-icon-and-action-menu/heading-with-icon-and-action-menu.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-report/inquiry-details-report.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-report/inquiry-details-report.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-timeline/inquiry-details-timeline.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-timeline/inquiry-details-timeline.component.ts","./node_modules/file-saver-es/src/FileSaver.js","./projects/helper-client/src/app/shared/dialogs/delete-attachment-dialog/delete-attachment-dialog.component.html","./projects/helper-client/src/app/shared/dialogs/delete-attachment-dialog/delete-attachment-dialog.component.ts","./projects/helper-client/src/app/scheduling/dialogs/view-attachment-image/view-attachment-image.component.html","./projects/helper-client/src/app/scheduling/dialogs/view-attachment-image/view-attachment-image.component.ts","./projects/helper-client/src/app/scheduling/dialogs/view-attachment-live-photo/view-attachment-live-photo.component.ts","./projects/helper-client/src/app/scheduling/dialogs/view-attachment-live-photo/view-attachment-live-photo.component.html","./projects/helper-client/src/app/scheduling/dialogs/view-attachment-dialog/view-attachment-dialog.component.html","./projects/helper-client/src/app/scheduling/dialogs/view-attachment-dialog/view-attachment-dialog.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/attachment/attachment.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/attachment/attachment.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/attachment-preview/attachment-preview.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/attachment-preview/attachment-preview.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-attachments/inquiry-details-attachments.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-attachments/inquiry-details-attachments.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-call-data/inquiry-details-call-data.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-call-data/inquiry-details-call-data.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-customer-data/inquiry-details-customer-data.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-customer-data/inquiry-details-customer-data.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-deletion-data/inquiry-details-deletion-data.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-deletion-data/inquiry-details-deletion-data.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-savings/inquiry-details-savings.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-savings/inquiry-details-savings.component.ts","./projects/helper-client/src/app/scheduling/dialogs/redial-dialog/redial-dialog.component.html","./projects/helper-client/src/app/scheduling/dialogs/redial-dialog/redial-dialog.component.ts","./projects/helper-client/src/app/scheduling/dialogs/confirm-delete-inquiry-dialog/confirm-delete-inquiry-dialog.component.html","./projects/helper-client/src/app/scheduling/dialogs/confirm-delete-inquiry-dialog/confirm-delete-inquiry-dialog.component.ts","./projects/helper-client/src/app/model/inquiry/inquiry-state.ts","./projects/helper-client/src/app/scheduling/services/invitation-data.service.ts","./projects/helper-client/src/app/shared/back-button/back-button.component.ts","./projects/helper-client/src/app/shared/back-button/back-button.component.html","./projects/helper-client/src/app/scheduling/status-tag/status-tag.component.html","./projects/helper-client/src/app/scheduling/status-tag/status-tag.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-header/inquiry-details-header.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-header/inquiry-details-header.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-chat/inquiry-details-chat.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details-chat/inquiry-details-chat.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/inquiry-details.component.ts","./projects/helper-client/src/app/shared/dialogs/subscription-expired-dialog/subscription-expired-dialog.component.ts","./projects/helper-client/src/app/shared/dialogs/subscription-expired-dialog/subscription-expired-dialog.component.html","./projects/helper-client/src/app/scheduling/models/inquiry.ts","./projects/helper-client/src/app/services/api/assign-inquiry/assign-inquiry.service.ts","./projects/helper-client/src/app/scheduling/models/employee-overview-data.ts","./projects/helper-client/src/app/scheduling/appointment-date/appointment-date.component.html","./projects/helper-client/src/app/scheduling/appointment-date/appointment-date.component.ts","./projects/helper-client/src/app/scheduling/call-history-overview/call-history-overview.component.html","./projects/helper-client/src/app/scheduling/call-history-overview/call-history-overview.component.ts","./projects/helper-client/src/app/scheduling/start-appointment-without-invitation/start-appointment-without-invitation.component.html","./projects/helper-client/src/app/scheduling/start-appointment-without-invitation/start-appointment-without-invitation.component.ts","./projects/helper-client/src/app/scheduling/dialogs/not-allowed-to-make-call/not-allowed-to-make-call.component.ts","./projects/helper-client/src/app/scheduling/dialogs/not-allowed-to-make-call/not-allowed-to-make-call.component.html","./projects/helper-client/src/app/model/notification/validation/line-type-intelligence.ts","./projects/helper-client/src/app/model/notification/validation/phone-number-validation-error.ts","./projects/helper-client/src/app/model/notification/validation/phone-number-validation.ts","./projects/helper-client/src/app/model/notification/validation/phone-number-validation-result.ts","./projects/helper-client/src/app/model/notification/validation/validate-phone-number-request.ts","./projects/helper-client/src/app/services/api/notification-validation.service.ts","./projects/helper-client/src/app/scheduling/dialogs/phone-number-not-valid-dialog/phone-number-not-valid-dialog.component.html","./projects/helper-client/src/app/scheduling/dialogs/phone-number-not-valid-dialog/phone-number-not-valid-dialog.component.ts","./projects/helper-client/src/app/scheduling/start-appointment/start-appointment.component.html","./projects/helper-client/src/app/scheduling/start-appointment/start-appointment.component.ts","./projects/helper-client/src/app/scheduling/appointment-invitation-text/appointment-invitation-text.component.html","./projects/helper-client/src/app/scheduling/appointment-invitation-text/appointment-invitation-text.component.ts","./projects/helper-client/src/app/scheduling/start-appointment-expansion-panel/start-appointment-expansion-panel.component.ts","./projects/helper-client/src/app/scheduling/start-appointment-expansion-panel/start-appointment-expansion-panel.component.html","./projects/helper-client/src/app/scheduling/dashboard/dashboard.component.ts","./projects/helper-client/src/app/scheduling/dashboard/dashboard.component.html","./projects/helper-client/src/app/scheduling/scheduling-routing.module.ts","./projects/helper-client/src/app/scheduling/scheduling.component.ts","./projects/helper-client/src/app/scheduling/scheduling.component.html","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/navigate-to-attachment/navigate-to-attachment.component.ts","./projects/helper-client/src/app/scheduling/inquiry-details/attachments/navigate-to-attachment/navigate-to-attachment.component.html","./projects/helper-client/src/app/scheduling/scheduling.module.ts","./projects/helper-client/src/app/scheduling/services/dashboard-information.service.ts","./projects/helper-client/src/app/model/appointment/video-appointment.ts","./projects/helper-client/src/app/services/api/appointment.service.ts","./projects/helper-client/src/app/model/attachment/found-text-translation.ts","./projects/helper-client/src/app/model/attachment/found-text.ts","./projects/helper-client/src/app/services/api/attachment-cv.service.ts","./projects/helper-client/src/app/model/attachment/request/update-attachment-note.ts","./projects/helper-client/src/app/model/attachment/attachment-upload.ts","./projects/helper-client/src/app/model/attachment/marker-js-annotation-state.ts","./projects/helper-client/src/app/services/api/attachment.service.ts","./projects/helper-client/src/app/model/company/branding/branding-invitation.ts","./projects/helper-client/src/app/model/company/branding/request/update-branding-invitation-request.ts","./projects/helper-client/src/app/model/company/branding/request/create-branding-invitation-request.ts","./projects/helper-client/src/app/services/api/branding-invitation.service.ts","./projects/helper-client/src/app/model/company-login/company-login-info.ts","./projects/helper-client/src/app/services/api/company-login.service.ts","./projects/helper-client/src/app/model/company/request/update-company-logo.ts","./projects/helper-client/src/app/model/company/request/update-company-settings-request.ts","./projects/helper-client/src/app/services/api/company.service.ts","./projects/helper-client/src/app/services/api/distance.service.ts","./projects/helper-client/src/app/model/signup/request/create-user-from-validation-token-request.ts","./projects/helper-client/src/app/model/employee/request/create-user-manually-request.ts","./projects/helper-client/src/app/model/employee/employee-name.ts","./projects/helper-client/src/app/services/api/employee.service.ts","./projects/helper-client/src/app/model/inquiry/InquiryOpen.ts","./projects/helper-client/src/app/services/api/inquiry-dashboard.service.ts","./projects/helper-client/src/app/model/inquiry/request/create-new-scheduled-inquiry.ts","./projects/helper-client/src/app/services/api/inquiry.service.ts","./projects/helper-client/src/app/model/legal-entity/legal-entity-address.ts","./projects/helper-client/src/app/model/legal-entity/legal-entity.ts","./projects/helper-client/src/app/model/legal-entity/request/create-legal-entity.ts","./projects/helper-client/src/app/services/api/legal-entity.service.ts","./projects/helper-client/src/app/model/employee/password-check.ts","./projects/helper-client/src/app/services/api/password.service.ts","./projects/helper-client/src/app/model/employee/request/update-employee-request.ts","./projects/helper-client/src/app/services/api/profile-service.ts","./projects/helper-client/src/app/services/api/quota.service.ts","./projects/helper-client/src/app/model/report/report.ts","./projects/helper-client/src/app/model/report/inquiry-summary-report-configuration.ts","./projects/helper-client/src/app/model/report/request/create-inquiry-summary-report-request.ts","./projects/helper-client/src/app/model/report/report-mail-result.ts","./projects/helper-client/src/app/services/api/report.service.ts","./projects/helper-client/src/app/services/api/saved-duration.service.ts","./projects/helper-client/src/app/model/report/static-template.ts","./projects/helper-client/src/app/services/api/static-template.service.ts","./projects/helper-client/src/app/model/plan/referrer.ts","./projects/helper-client/src/app/model/plan/corporate-identity-configuration.ts","./projects/helper-client/src/app/model/plan/feature-configuration.ts","./projects/helper-client/src/app/model/plan/billing-address.ts","./projects/helper-client/src/app/model/plan/billing-information.ts","./projects/helper-client/src/app/model/plan/subscription.ts","./projects/helper-client/src/app/model/plan/subscription-end-time.ts","./projects/helper-client/src/app/model/plan/latest-subscription-period.ts","./projects/helper-client/src/app/services/api/subscription.service.ts","./projects/helper-client/src/app/services/api/validate-email.service.ts","./projects/helper-client/src/app/services/data/profile-data.service.ts","./projects/helper-client/src/app/services/data/quota-data.service.ts","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BatchUtils.browser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BatchResponseParser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/utils/Mutex.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BlobBatch.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BlobBatchClient.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/ContainerClient.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/AccountSASPermissions.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/AccountSASResourceTypes.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/AccountSASServices.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BlobServiceClient.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/AccountSASSignatureValues.js","./node_modules/rxjs/dist/esm/internal/operators/timeout.js","./projects/helper-client/src/app/services/file/attachment-file.service.ts","./projects/helper-client/src/app/model/attachment/origin.ts","./projects/helper-client/src/app/model/attachment/author.ts","./projects/helper-client/src/app/services/signaling/commands/appointment-commands.ts","./projects/helper-client/src/app/services/signaling/messaging/appointment-messaging.service.ts","./projects/helper-client/src/app/services/signaling/commands/employee-commands.ts","./projects/helper-client/src/app/services/signaling/messaging/employee-messaging.service.ts","./projects/helper-client/src/app/services/signaling/commands/inquiry-commands.ts","./projects/helper-client/src/app/services/signaling/messaging/inquiry-messaging.service.ts","./projects/helper-client/src/app/services/signaling/commands/notification-center-commands.ts","./projects/helper-client/src/app/services/signaling/messaging/notification-center-messaging.service.ts","./projects/helper-client/src/app/services/signaling/commands/plan-commands.ts","./projects/helper-client/src/app/services/signaling/messaging/plan-messaging.service.ts","./projects/helper-client/src/app/services/signaling/signaling-connection.service.ts","./node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js","./node_modules/@microsoft/signalr/dist/esm/Errors.js","./node_modules/@microsoft/signalr/dist/esm/HttpClient.js","./node_modules/@microsoft/signalr/dist/esm/ILogger.js","./node_modules/@microsoft/signalr/dist/esm/Loggers.js","./node_modules/@microsoft/signalr/dist/esm/Utils.js","./node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js","./node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js","./node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js","./node_modules/@microsoft/signalr/dist/esm/HeaderNames.js","./node_modules/@microsoft/signalr/dist/esm/ITransport.js","./node_modules/@microsoft/signalr/dist/esm/AbortController.js","./node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js","./node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js","./node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js","./node_modules/@microsoft/signalr/dist/esm/HttpConnection.js","./node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js","./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js","./node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js","./node_modules/@microsoft/signalr/dist/esm/Subject.js","./node_modules/@microsoft/signalr/dist/esm/HubConnection.js","./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js","./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js","./projects/helper-client/src/app/services/signaling/signaling.service.ts","./projects/helper-client/src/app/services/util/navigation.service.ts","./projects/helper-client/src/app/util/supported-file-types.ts","./projects/helper-client/src/app/setup/setup-platform-overview/setup-platform-overview.component.html","./projects/helper-client/src/app/setup/setup-platform-overview/setup-platform-overview.component.ts","./projects/helper-client/src/app/shared/attachment-list/attachment-list-card/attachment-list-card.component.html","./projects/helper-client/src/app/shared/attachment-list/attachment-list-card/attachment-list-card.component.ts","./projects/helper-client/src/app/shared/attachment-list/attachment-list-item/attachment-list-item.component.html","./projects/helper-client/src/app/shared/attachment-list/attachment-list-item/attachment-list-item.component.ts","./projects/helper-client/src/app/shared/attachment-list/attachment-list-placeholder/attachment-list-placeholder.component.ts","./projects/helper-client/src/app/shared/attachment-list/attachment-list-placeholder/attachment-list-placeholder.component.html","./projects/helper-client/src/app/shared/attachment-list/attachment-list-uploading/attachment-list-uploading.component.html","./projects/helper-client/src/app/shared/attachment-list/attachment-list-uploading/attachment-list-uploading.component.ts","./projects/helper-client/src/app/model/notes/notes-documentation.ts","./projects/helper-client/src/app/model/notes/request/update-notes-documentation-request.ts","./projects/helper-client/src/app/services/api/notes-documentation.service.ts","./projects/helper-client/src/app/shared/call-notes/call-notes.component.html","./projects/helper-client/src/app/shared/call-notes/call-notes.component.ts","./projects/helper-client/src/app/shared/card-header-with-action/card-header-with-action.component.html","./projects/helper-client/src/app/shared/card-header-with-action/card-header-with-action.component.ts","./projects/helper-client/src/app/shared/dialogs/edit-attachment-note-dialog/edit-attachment-note-dialog.component.html","./projects/helper-client/src/app/shared/dialogs/edit-attachment-note-dialog/edit-attachment-note-dialog.component.ts","./projects/helper-client/src/app/model/inquiry/request/edit-inquiry-base-data.ts","./projects/helper-client/src/app/services/api/inquiry-edit.service.ts","./projects/helper-client/src/app/shared/dialogs/edit-basic-inquiry-info-dialog/edit-basic-inquiry-info-dialog.component.html","./projects/helper-client/src/app/shared/dialogs/edit-basic-inquiry-info-dialog/edit-basic-inquiry-info-dialog.component.ts","./projects/helper-client/src/app/shared/heading-with-icon-and-action/heading-with-icon-and-action.component.html","./projects/helper-client/src/app/shared/heading-with-icon-and-action/heading-with-icon-and-action.component.ts","./projects/helper-client/src/app/shared/invitation-preview/invitation-preview.component.html","./projects/helper-client/src/app/shared/invitation-preview/invitation-preview.component.ts","./projects/helper-client/src/app/shared/multi-select-input/distance-input.component.html","./projects/helper-client/src/app/shared/multi-select-input/distance-input.component.ts","./projects/helper-client/src/app/shared/multi-select-input/duration-input.component.html","./projects/helper-client/src/app/shared/multi-select-input/duration-input.component.ts","./projects/helper-client/src/app/shared/phone-number-input/country-data.service.ts","./projects/helper-client/src/app/shared/phone-number-input/only-number.directive.ts","./node_modules/libphonenumber-js/es6/getCountries.js","./node_modules/libphonenumber-js/metadata.max.json.js","./node_modules/libphonenumber-js/es6/normalizeArguments.js","./node_modules/libphonenumber-js/es6/ParseError.js","./node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","./node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","./node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","./node_modules/libphonenumber-js/es6/parse.js","./node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","./node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","./node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","./node_modules/libphonenumber-js/es6/isValidPhoneNumber.js","./projects/helper-client/src/app/shared/phone-number-input/country-filter.service.ts","./projects/helper-client/src/app/shared/phone-number-input/scroll-into-view.directive.ts","./projects/helper-client/src/app/shared/phone-number-input/is-outside.directive.ts","./projects/helper-client/src/app/shared/phone-number-input/phone-number-input.component.html","./projects/helper-client/src/app/shared/phone-number-input/phone-number-input.component.ts","./node_modules/libphonenumber-js/max/exports/isValidPhoneNumber.js","./node_modules/libphonenumber-js/max/exports/withMetadataArgument.js","./node_modules/libphonenumber-js/min/exports/getCountries.js","./projects/helper-client/src/app/shared/pipes/safe.pipe.ts","./projects/helper-client/src/app/shared/shared.module.ts","./projects/helper-client/src/app/model/signup/request/validate-registration-token-request.ts","./projects/helper-client/src/app/services/api/registration-validation.service.ts","./projects/helper-client/src/app/signup/signup-invitation-landing/signup-invitation-landing.component.html","./projects/helper-client/src/app/signup/signup-invitation-landing/signup-invitation-landing.component.ts","./projects/helper-client/src/app/subscription/manage-subscription/manage-subscription.component.ts","./projects/helper-client/src/app/subscription/manage-subscription/manage-subscription.component.html","./projects/helper-client/src/app/subscription/trial-expired-dialog/trial-expired-dialog.component.ts","./projects/helper-client/src/app/subscription/trial-expired-dialog/trial-expired-dialog.component.html","./projects/helper-client/src/app/types/content-types.ts","./node_modules/@mad-tech/aidar-live-chat/fesm2022/mad-tech-aidar-live-chat.mjs","./projects/helper-client/src/app/video-appointment/dialogs/ocr-result-dialog/ocr-result-dialog.component.html","./projects/helper-client/src/app/video-appointment/dialogs/ocr-result-dialog/ocr-result-dialog.component.ts","./projects/helper-client/src/app/video-appointment/inquiry-infos/inquiry-info-item/inquiry-info-item.component.html","./projects/helper-client/src/app/video-appointment/inquiry-infos/inquiry-info-item/inquiry-info-item.component.ts","./projects/helper-client/src/app/video-appointment/live-image-in-progress-overlay/live-image-in-progress-overlay.component.ts","./projects/helper-client/src/app/video-appointment/live-image-in-progress-overlay/live-image-in-progress-overlay.component.html","./projects/helper-client/src/app/video-appointment/services/appointment-attachments.service.ts","./projects/helper-client/src/app/video-appointment/diagnostics/audio-analyzer.ts","./projects/helper-client/src/app/video-appointment/services/audio-level-service.ts","./projects/helper-client/src/app/video-appointment/services/call-ctrl.service.ts","./projects/helper-client/src/app/video-appointment/services/capabilities.service.ts","./projects/helper-client/src/app/video-appointment/services/device.service.ts","./projects/helper-client/src/app/video-appointment/services/device-availability.service.ts","./projects/helper-client/src/app/video-appointment/services/diagnostics/diagnostics.service.ts","./projects/helper-client/src/app/video-appointment/services/local-storage.service.ts","./projects/helper-client/src/app/video-appointment/services/location/location-data.service.ts","./projects/helper-client/src/app/video-appointment/services/permission.service.ts","./projects/helper-client/src/app/video-appointment/services/recording.service.ts","./projects/helper-client/src/app/video-appointment/services/sync.service.ts","./projects/helper-client/src/app/video-appointment/services/track-ctrl/data-track.service.ts","./projects/helper-client/src/app/video-appointment/services/track-ctrl/aidar-media-track.ts","./projects/helper-client/src/app/video-appointment/services/track-ctrl/camera-selection-util.ts","./projects/helper-client/src/app/video-appointment/services/track-ctrl/media-track.service.ts","./projects/helper-client/src/app/video-appointment/services/videochat-content.service.ts","./projects/helper-client/src/app/video-appointment/dialogs/connection-error-dialog/connection-error-dialog.component.ts","./projects/helper-client/src/app/video-appointment/dialogs/connection-error-dialog/connection-error-dialog.component.html","./projects/helper-client/src/app/video-appointment/dialogs/disconnected-dialog/disconnected-dialog.component.html","./projects/helper-client/src/app/video-appointment/dialogs/disconnected-dialog/disconnected-dialog.component.ts","./projects/helper-client/src/app/video-appointment/dialogs/devices-forbidden-dialog/devices-forbidden-dialog.component.ts","./projects/helper-client/src/app/video-appointment/dialogs/devices-forbidden-dialog/devices-forbidden-dialog.component.html","./projects/helper-client/src/app/video-appointment/services/videochat.service.ts","./projects/helper-client/src/app/annotations/services/canvas-sync.service.ts","./projects/helper-client/src/app/video-appointment/dialogs/end-call-dialog/end-call-dialog.component.ts","./projects/helper-client/src/app/video-appointment/dialogs/end-call-dialog/end-call-dialog.component.html","./node_modules/rxjs/dist/esm/internal/operators/distinct.js","./projects/helper-client/src/app/services/api/analytics.service.ts","./projects/helper-client/src/app/services/overscroll.service.ts","./projects/helper-client/src/app/video-appointment/new-attachment-preview/new-attachment-preview.component.html","./projects/helper-client/src/app/video-appointment/new-attachment-preview/new-attachment-preview.component.ts","./projects/helper-client/src/app/video-appointment/shared/camera/camera.component.html","./projects/helper-client/src/app/video-appointment/shared/camera/camera.component.ts","./projects/helper-client/src/app/video-appointment/services/invitation-status.service.ts","./projects/helper-client/src/app/shared/join-with-link/copy-inquiry-link.component.ts","./projects/helper-client/src/app/shared/join-with-link/copy-inquiry-link.component.html","./projects/helper-client/src/app/video-appointment/invitation/invitation.component.ts","./projects/helper-client/src/app/video-appointment/invitation/invitation.component.html","./projects/helper-client/src/app/video-appointment/invitation-status/invitation-status.component.html","./projects/helper-client/src/app/video-appointment/invitation-status/invitation-status.component.ts","./projects/helper-client/src/app/video-appointment/shared/participants/participants.component.html","./projects/helper-client/src/app/video-appointment/shared/participants/participants.component.ts","./projects/helper-client/src/app/video-appointment/settings/device-select.component.html","./projects/helper-client/src/app/video-appointment/settings/device-select.component.ts","./projects/helper-client/src/app/video-appointment/settings/camera-settings-preview/camera-settings-preview.component.html","./projects/helper-client/src/app/video-appointment/settings/camera-settings-preview/camera-settings-preview.component.ts","./projects/helper-client/src/app/video-appointment/settings/audio-visualization/audio-visualization.component.ts","./projects/helper-client/src/app/video-appointment/settings/audio-visualization/audio-visualization.component.html","./projects/helper-client/src/app/video-appointment/settings/mic-settings-preview/mic-settings-preview.component.html","./projects/helper-client/src/app/video-appointment/settings/mic-settings-preview/mic-settings-preview.component.ts","./projects/helper-client/src/app/video-appointment/settings/play-test-sound/play-test-sound.component.html","./projects/helper-client/src/app/video-appointment/settings/play-test-sound/play-test-sound.component.ts","./projects/helper-client/src/app/video-appointment/settings/settings.component.ts","./projects/helper-client/src/app/video-appointment/settings/settings.component.html","./projects/helper-client/src/app/video-appointment/dialogs/setting-dialog/setting-dialog.component.ts","./projects/helper-client/src/app/video-appointment/dialogs/setting-dialog/setting-dialog.component.html","./projects/helper-client/src/app/video-appointment/landscape/call-ctrl/call-ctrl.component.html","./projects/helper-client/src/app/video-appointment/landscape/call-ctrl/call-ctrl.component.ts","./node_modules/markerjs2/markerjs2.esm.js","./projects/helper-client/src/app/annotations/annotate-image/annotate-image.component.ts","./projects/helper-client/src/app/annotations/annotate-image/annotate-image.component.html","./projects/helper-client/src/app/video-appointment/shared/content/present-image/present-image.component.html","./projects/helper-client/src/app/video-appointment/shared/content/present-image/present-image.component.ts","./projects/helper-client/src/app/video-appointment/shared/content/present-live-image/present-live-image.component.ts","./projects/helper-client/src/app/video-appointment/shared/content/present-live-image/present-live-image.component.html","./projects/helper-client/src/app/services/util/date-format.service.ts","./projects/customer-client/src/app/types/content-types.ts","./projects/helper-client/src/app/shared/dropzone.directive.ts","./projects/helper-client/src/app/video-appointment/landscape/appointment-attachments/add-attachment-button/add-attachment-button.component.ts","./projects/helper-client/src/app/video-appointment/landscape/appointment-attachments/add-attachment-button/add-attachment-button.component.html","./projects/helper-client/src/app/video-appointment/landscape/appointment-attachments/appointment-attachments.component.html","./projects/helper-client/src/app/video-appointment/landscape/appointment-attachments/appointment-attachments.component.ts","./projects/helper-client/src/app/video-appointment/dialogs/request-location-dialog/request-location-dialog.component.html","./projects/helper-client/src/app/video-appointment/dialogs/request-location-dialog/request-location-dialog.component.ts","./projects/helper-client/src/app/services/api/inquiry-location.service.ts","./projects/helper-client/src/app/video-appointment/dialogs/view-location-dialog/view-location-dialog.component.ts","./projects/helper-client/src/app/video-appointment/dialogs/view-location-dialog/view-location-dialog.component.html","./projects/helper-client/src/app/video-appointment/inquiry-infos/inquiry-infos.component.html","./projects/helper-client/src/app/video-appointment/inquiry-infos/inquiry-infos.component.ts","./projects/helper-client/src/app/video-appointment/diagnostics/device-trouble/device-trouble.component.ts","./projects/helper-client/src/app/video-appointment/diagnostics/device-trouble/device-trouble.component.html","./projects/helper-client/src/app/video-appointment/diagnostics/user-stats-card/user-stats-card.component.html","./projects/helper-client/src/app/video-appointment/diagnostics/user-stats-card/user-stats-card.component.ts","./projects/helper-client/src/app/video-appointment/diagnostics/diagnostics.component.html","./projects/helper-client/src/app/video-appointment/diagnostics/diagnostics.component.ts","./projects/helper-client/src/app/video-appointment/landscape/side-bar/side-bar/side-bar.component.html","./projects/helper-client/src/app/video-appointment/landscape/side-bar/side-bar/side-bar.component.ts","./projects/helper-client/src/app/video-appointment/picture-overlay/picture-overlay.component.html","./projects/helper-client/src/app/video-appointment/picture-overlay/picture-overlay.component.ts","./projects/helper-client/src/app/video-appointment/landscape/landscape-appointment/landscape-appointment.component.html","./projects/helper-client/src/app/video-appointment/landscape/landscape-appointment/landscape-appointment.component.ts","./projects/helper-client/src/app/video-appointment/shared/move-hand-overlay/move-hand-overlay.component.ts","./projects/helper-client/src/app/video-appointment/shared/move-hand-overlay/move-hand-overlay.component.html","./projects/helper-client/src/app/video-appointment/portrait/portrait-attachment-list/portrait-attachment-list.component.html","./projects/helper-client/src/app/video-appointment/portrait/portrait-attachment-list/portrait-attachment-list.component.ts","./projects/helper-client/src/app/video-appointment/portrait/attachment-panel/attachment-panel.component.html","./projects/helper-client/src/app/video-appointment/portrait/attachment-panel/attachment-panel.component.ts","./projects/helper-client/src/app/video-appointment/portrait/portrait-call-ctrl/portrait-call-ctrl.component.html","./projects/helper-client/src/app/video-appointment/portrait/portrait-call-ctrl/portrait-call-ctrl.component.ts","./projects/helper-client/src/app/video-appointment/portrait/portrait-appointment/portrait-appointment.component.html","./projects/helper-client/src/app/video-appointment/portrait/portrait-appointment/portrait-appointment.component.ts","./projects/helper-client/src/app/video-appointment/video-appointment.component.html","./projects/helper-client/src/app/video-appointment/video-appointment.component.ts","./projects/helper-client/src/app/video-appointment/services/deactivate-guard.service.ts","./projects/helper-client/src/app/video-appointment/video-appointment-routing.module.ts","./projects/helper-client/src/app/annotations/annotations.module.ts","./projects/helper-client/src/app/video-appointment/video-appointment.module.ts","./projects/helper-client/src/detectPlatform.ts","./projects/helper-client/src/environments/constants.ts","./projects/helper-client/src/environments/environment.production.ts","./projects/helper-client/src/app/menu/menu-visibility-helper.ts","./projects/helper-client/src/app/services/notification-bar.service.ts","./projects/helper-client/src/app/menu/side-nav/install-pwa/install-pwa.component.html","./projects/helper-client/src/app/menu/side-nav/install-pwa/install-pwa.component.ts","./projects/helper-client/src/app/menu/side-nav/version-info/version-info.component.html","./projects/helper-client/src/app/menu/side-nav/version-info/version-info.component.ts","./projects/helper-client/src/environments/version.production.ts","./projects/helper-client/src/app/menu/side-nav/side-nav.component.html","./projects/helper-client/src/app/menu/side-nav/side-nav.component.ts","./projects/helper-client/src/app/menu/join-open-appointment/join-open-appointment.component.html","./projects/helper-client/src/app/menu/join-open-appointment/join-open-appointment.component.ts","./node_modules/@angular/material/fesm2022/toolbar.mjs","./projects/helper-client/src/app/menu/quota-display/quota-display.component.html","./projects/helper-client/src/app/menu/quota-display/quota-display.component.ts","./projects/helper-client/src/app/model/notification-center/notification.ts","./projects/helper-client/src/app/model/notification-center/notification-center-connection-info.ts","./projects/helper-client/src/app/services/api/notification-center.service.ts","./projects/helper-client/src/app/menu/notification-center/notification-item/notification-item.component.ts","./projects/helper-client/src/app/model/notification-center/notification-type.ts","./projects/helper-client/src/app/model/notification-center/reference-type.ts","./projects/helper-client/src/app/menu/notification-center/notification-item/notification-item.component.html","./projects/helper-client/src/app/menu/notification-center/notification-center.component.html","./projects/helper-client/src/app/menu/notification-center/notification-center.component.ts","./projects/helper-client/src/app/menu/menu-bar/menu-bar.component.html","./projects/helper-client/src/app/menu/menu-bar/menu-bar.component.ts","./projects/helper-client/src/app/menu/notification-bar/notification-bar.component.html","./projects/helper-client/src/app/menu/notification-bar/notification-bar.component.ts","./projects/helper-client/src/app/app.component.html","./projects/helper-client/src/app/app.component.ts","./node_modules/@angular/animations/fesm2022/browser.mjs","./node_modules/@angular/platform-browser/fesm2022/animations.mjs","./node_modules/keycloak-js/dist/keycloak.mjs","./node_modules/keycloak-angular/fesm2022/keycloak-angular.mjs","./projects/helper-client/src/app/util/interceptors/connectivty-banner.service.ts","./node_modules/rxjs/dist/esm/internal/operators/retry.js","./projects/helper-client/src/app/util/interceptors/connectivity-interceptor.service.ts","./projects/helper-client/src/app/util/interceptors/tenant-header-interceptor-service.ts","./node_modules/@sentry/utils/esm/worldwide.js","./node_modules/@sentry/core/esm/constants.js","./node_modules/@sentry/utils/esm/is.js","./node_modules/@sentry/utils/esm/browser.js","./node_modules/@sentry/utils/esm/debug-build.js","./node_modules/@sentry/utils/esm/logger.js","./node_modules/@sentry/utils/esm/string.js","./node_modules/@sentry/utils/esm/object.js","./node_modules/@sentry/utils/esm/misc.js","./node_modules/@sentry/utils/esm/time.js","./node_modules/@sentry/core/esm/debug-build.js","./node_modules/@sentry/utils/esm/syncpromise.js","./node_modules/@sentry/core/esm/eventProcessors.js","./node_modules/@sentry/core/esm/session.js","./node_modules/@sentry/core/esm/utils/getRootSpan.js","./node_modules/@sentry/utils/esm/baggage.js","./node_modules/@sentry/utils/esm/tracing.js","./node_modules/@sentry/core/esm/utils/spanUtils.js","./node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js","./node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js","./node_modules/@sentry/core/esm/scope.js","./node_modules/@sentry/core/esm/version.js","./node_modules/@sentry/core/esm/hub.js","./node_modules/@sentry/utils/esm/stacktrace.js","./node_modules/@sentry/utils/esm/normalize.js","./node_modules/@sentry/utils/esm/memo.js","./node_modules/@sentry/core/esm/utils/prepareEvent.js","./node_modules/@sentry/core/esm/exports.js","./projects/helper-client/src/app/authentication/authentication-token-interceptor.service.ts","./projects/helper-client/src/reportErrorExternally.ts","./projects/helper-client/src/app/interceptors.ts","./projects/helper-client/src/app/init/gesture-config.ts","./node_modules/@sentry/core/esm/integration.js","./node_modules/@sentry/core/esm/integrations/inboundfilters.js","./node_modules/@sentry/core/esm/integrations/functiontostring.js","./node_modules/@sentry/utils/esm/dsn.js","./node_modules/@sentry/core/esm/api.js","./node_modules/@sentry/utils/esm/supports.js","./node_modules/@sentry/utils/esm/vendor/supportsHistory.js","./node_modules/@sentry/utils/esm/instrument/_handlers.js","./node_modules/@sentry/utils/esm/instrument/history.js","./node_modules/@sentry/utils/esm/envelope.js","./node_modules/@sentry/utils/esm/error.js","./node_modules/@sentry/core/esm/baseclient.js","./node_modules/@sentry/core/esm/envelope.js","./node_modules/@sentry/core/esm/metrics/envelope.js","./node_modules/@sentry/core/esm/metrics/utils.js","./node_modules/@sentry/core/esm/utils/sdkMetadata.js","./node_modules/@sentry/browser/esm/debug-build.js","./node_modules/@sentry/browser/esm/eventbuilder.js","./node_modules/@sentry/browser/esm/helpers.js","./node_modules/@sentry/browser/esm/client.js","./node_modules/@sentry/browser/esm/userfeedback.js","./node_modules/@sentry/utils/esm/clientreport.js","./node_modules/@sentry/utils/esm/instrument/console.js","./node_modules/@sentry/utils/esm/instrument/dom.js","./node_modules/@sentry/utils/esm/instrument/xhr.js","./node_modules/@sentry/utils/esm/instrument/fetch.js","./node_modules/@sentry/utils/esm/severity.js","./node_modules/@sentry/utils/esm/url.js","./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","./node_modules/@sentry/browser/esm/integrations/dedupe.js","./node_modules/@sentry/utils/esm/instrument/globalError.js","./node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js","./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","./node_modules/@sentry/browser/esm/integrations/httpcontext.js","./node_modules/@sentry/utils/esm/aggregate-errors.js","./node_modules/@sentry/browser/esm/integrations/linkederrors.js","./node_modules/@sentry/browser/esm/integrations/trycatch.js","./node_modules/@sentry/browser/esm/stack-parsers.js","./node_modules/@sentry/utils/esm/ratelimit.js","./node_modules/@sentry/core/esm/transports/base.js","./node_modules/@sentry/utils/esm/promisebuffer.js","./node_modules/@sentry/browser/esm/transports/utils.js","./node_modules/@sentry/browser/esm/transports/fetch.js","./node_modules/@sentry/browser/esm/transports/xhr.js","./node_modules/@sentry/browser/esm/sdk.js","./node_modules/@sentry/core/esm/sdk.js","./node_modules/@sentry/core/esm/metrics/metric-summary.js","./node_modules/@sentry/core/esm/semanticAttributes.js","./node_modules/@sentry/core/esm/tracing/spanstatus.js","./node_modules/@sentry/core/esm/tracing/span.js","./node_modules/@sentry/core/esm/utils/hasTracingEnabled.js","./node_modules/@sentry/core/esm/tracing/trace.js","./node_modules/@sentry/core/esm/tracing/transaction.js","./node_modules/@sentry/core/esm/tracing/idletransaction.js","./node_modules/@sentry/core/esm/tracing/utils.js","./node_modules/@sentry/core/esm/tracing/errors.js","./node_modules/@sentry/core/esm/tracing/sampling.js","./node_modules/@sentry/core/esm/tracing/hubextensions.js","./node_modules/@sentry-internal/tracing/esm/common/debug-build.js","./node_modules/@sentry-internal/tracing/esm/browser/types.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/bindReporter.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getNavigationEntry.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getActivationStart.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/initMetric.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/generateUniqueID.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/observe.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/onHidden.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getCLS.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/getVisibilityWatcher.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getFID.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/lib/polyfills/interactionCountPolyfill.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getINP.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/getLCP.js","./node_modules/@sentry-internal/tracing/esm/browser/web-vitals/onTTFB.js","./node_modules/@sentry-internal/tracing/esm/browser/instrument.js","./node_modules/@sentry/core/esm/span.js","./node_modules/@sentry-internal/tracing/esm/browser/metrics/utils.js","./node_modules/@sentry-internal/tracing/esm/browser/metrics/index.js","./node_modules/@sentry-internal/tracing/esm/browser/request.js","./node_modules/@sentry-internal/tracing/esm/common/fetch.js","./node_modules/@sentry-internal/tracing/esm/browser/browserTracingIntegration.js","./node_modules/@sentry/core/esm/tracing/measurement.js","./node_modules/@sentry-internal/tracing/esm/browser/backgroundtab.js","./node_modules/@sentry/angular-ivy/fesm2015/sentry-angular-ivy.js","./projects/helper-client/src/app/chat/helper-chat-service.ts","./node_modules/rxjs/dist/esm/internal/observable/never.js","./node_modules/rxjs/dist/esm/internal/operators/connect.js","./node_modules/rxjs/dist/esm/internal/observable/fromSubscribable.js","./node_modules/@angular/service-worker/fesm2022/service-worker.mjs","./node_modules/rxjs/dist/esm/internal/operators/publish.js","./node_modules/rxjs/dist/esm/internal/operators/multicast.js","./projects/helper-client/src/app/model/company/branding/branding-color.ts","./projects/helper-client/src/app/services/api/branding-color.service.ts","./projects/helper-client/src/app/app.module.ts","./node_modules/@sentry/integrations/esm/captureconsole.js","./node_modules/@sentry/utils/esm/buildPolyfills/_optionalChain.js","./node_modules/@sentry/core/esm/utils/isSentryRequestUrl.js","./node_modules/@sentry/utils/esm/isBrowser.js","./node_modules/@sentry/replay/esm/index.js","./node_modules/@sentry/utils/esm/buildPolyfills/_nullishCoalesce.js","./projects/helper-client/src/main.ts","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BlobLeaseClient.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BlobQueryResponse.browser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/models.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/PageBlobRangeResponse.js","./node_modules/@azure/core-lro/dist/browser/logger.js","./node_modules/@azure/core-lro/dist/browser/legacy/poller.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/pollers/BlobStartCopyFromUrlPoller.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/Range.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/utils/Batch.js","./node_modules/@azure/storage-blob/dist-esm/storage-common/src/BufferScheduler.browser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/Clients.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/BlobDownloadResponse.browser.js","./node_modules/@azure/abort-controller/dist-esm/src/AbortController.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/StorageRetryPolicy.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/StorageRetryPolicyFactory.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/utils/cache.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/StorageBrowserPolicyV2.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/StorageRetryPolicyV2.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/StorageBrowserPolicy.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/StorageBrowserPolicyFactory.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/Pipeline.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/StorageClient.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/models/mappers.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/models/parameters.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/operations/service.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/operations/container.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/operations/blob.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/operations/pageBlob.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/operations/appendBlob.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/operations/blockBlob.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/generated/src/storageClient.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/StorageContextClient.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/CredentialPolicy.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/AnonymousCredentialPolicy.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/credentials/Credential.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/credentials/AnonymousCredential.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/credentials/StorageSharedKeyCredential.browser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/log.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/RequestPolicy.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/policies/StorageSharedKeyCredentialPolicyV2.browser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/BlobSASPermissions.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/ContainerSASPermissions.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/credentials/UserDelegationKeyCredential.browser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/BlobSASSignatureValues.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/SASQueryParameters.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/sas/SasIPRange.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/utils/constants.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/utils/tracing.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/utils/utils.browser.js","./node_modules/@azure/storage-blob/dist-esm/storage-blob/src/utils/utils.common.js","./node_modules/@ctrl/tinycolor/dist/module/util.js","./node_modules/@ctrl/tinycolor/dist/module/conversion.js","./node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","./node_modules/@ctrl/tinycolor/dist/module/format-input.js","./node_modules/@ctrl/tinycolor/dist/module/index.js","./node_modules/@sentry/utils/esm/env.js","./node_modules/@sentry/utils/esm/node.js","./node_modules/events/events.js","./node_modules/hammerjs/hammer.js","./node_modules/js-sha256/src/sha256.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/firstValueFrom.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","./node_modules/rxjs/dist/esm/internal/operators/delay.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/pairwise.js","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/ArgumentOutOfRangeError.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/twilio-video/es5/cancelableroompromise.js","./node_modules/twilio-video/es5/connect.js","./node_modules/twilio-video/es5/createlocaltrack.js","./node_modules/twilio-video/es5/createlocaltracks.js","./node_modules/twilio-video/es5/data/receiver.js","./node_modules/twilio-video/es5/data/sender.js","./node_modules/twilio-video/es5/data/transceiver.js","./node_modules/twilio-video/es5/data/transport.js","./node_modules/twilio-video/es5/encodingparameters.js","./node_modules/twilio-video/es5/eventemitter.js","./node_modules/twilio-video/es5/eventtarget.js","./node_modules/twilio-video/es5/index.js","./node_modules/twilio-video/es5/localparticipant.js","./node_modules/twilio-video/es5/media/track/audiotrack.js","./node_modules/twilio-video/es5/media/track/es5/index.js","./node_modules/twilio-video/es5/media/track/es5/localaudiotrack.js","./node_modules/twilio-video/es5/media/track/es5/localdatatrack.js","./node_modules/twilio-video/es5/media/track/es5/localvideotrack.js","./node_modules/twilio-video/es5/media/track/index.js","./node_modules/twilio-video/es5/media/track/localaudiotrack.js","./node_modules/twilio-video/es5/media/track/localaudiotrackpublication.js","./node_modules/twilio-video/es5/media/track/localdatatrack.js","./node_modules/twilio-video/es5/media/track/localdatatrackpublication.js","./node_modules/twilio-video/es5/media/track/localmediatrack.js","./node_modules/twilio-video/es5/media/track/localtrackpublication.js","./node_modules/twilio-video/es5/media/track/localvideotrack.js","./node_modules/twilio-video/es5/media/track/localvideotrackpublication.js","./node_modules/twilio-video/es5/media/track/mediatrack.js","./node_modules/twilio-video/es5/media/track/noisecancellationimpl.js","./node_modules/twilio-video/es5/media/track/receiver.js","./node_modules/twilio-video/es5/media/track/remoteaudiotrack.js","./node_modules/twilio-video/es5/media/track/remoteaudiotrackpublication.js","./node_modules/twilio-video/es5/media/track/remotedatatrack.js","./node_modules/twilio-video/es5/media/track/remotedatatrackpublication.js","./node_modules/twilio-video/es5/media/track/remotemediatrack.js","./node_modules/twilio-video/es5/media/track/remotetrackpublication.js","./node_modules/twilio-video/es5/media/track/remotevideotrack.js","./node_modules/twilio-video/es5/media/track/remotevideotrackpublication.js","./node_modules/twilio-video/es5/media/track/sender.js","./node_modules/twilio-video/es5/media/track/trackpublication.js","./node_modules/twilio-video/es5/media/track/transceiver.js","./node_modules/twilio-video/es5/media/track/videoprocessoreventobserver.js","./node_modules/twilio-video/es5/media/track/videotrack.js","./node_modules/twilio-video/es5/networkqualityconfiguration.js","./node_modules/twilio-video/es5/noisecancellationadapter.js","./node_modules/twilio-video/es5/participant.js","./node_modules/twilio-video/es5/preflight/getCombinedConnectionStats.js","./node_modules/twilio-video/es5/preflight/getturncredentials.js","./node_modules/twilio-video/es5/preflight/makestat.js","./node_modules/twilio-video/es5/preflight/mos.js","./node_modules/twilio-video/es5/preflight/preflighttest.js","./node_modules/twilio-video/es5/preflight/syntheticaudio.js","./node_modules/twilio-video/es5/preflight/syntheticvideo.js","./node_modules/twilio-video/es5/preflight/timer.js","./node_modules/twilio-video/es5/queueingeventemitter.js","./node_modules/twilio-video/es5/remoteparticipant.js","./node_modules/twilio-video/es5/room.js","./node_modules/twilio-video/es5/signaling/index.js","./node_modules/twilio-video/es5/signaling/localparticipant.js","./node_modules/twilio-video/es5/signaling/localtrackpublication.js","./node_modules/twilio-video/es5/signaling/participant.js","./node_modules/twilio-video/es5/signaling/recording.js","./node_modules/twilio-video/es5/signaling/remoteparticipant.js","./node_modules/twilio-video/es5/signaling/remotetrackpublication.js","./node_modules/twilio-video/es5/signaling/room.js","./node_modules/twilio-video/es5/signaling/track.js","./node_modules/twilio-video/es5/signaling/v2/cancelableroomsignalingpromise.js","./node_modules/twilio-video/es5/signaling/v2/dominantspeakersignaling.js","./node_modules/twilio-video/es5/signaling/v2/icebox.js","./node_modules/twilio-video/es5/signaling/v2/iceconnectionmonitor.js","./node_modules/twilio-video/es5/signaling/v2/index.js","./node_modules/twilio-video/es5/signaling/v2/localparticipant.js","./node_modules/twilio-video/es5/signaling/v2/localtrackpublication.js","./node_modules/twilio-video/es5/signaling/v2/mediasignaling.js","./node_modules/twilio-video/es5/signaling/v2/networkqualitymonitor.js","./node_modules/twilio-video/es5/signaling/v2/networkqualitysignaling.js","./node_modules/twilio-video/es5/signaling/v2/peerconnection.js","./node_modules/twilio-video/es5/signaling/v2/peerconnectionmanager.js","./node_modules/twilio-video/es5/signaling/v2/publisherhintsignaling.js","./node_modules/twilio-video/es5/signaling/v2/recording.js","./node_modules/twilio-video/es5/signaling/v2/remoteparticipant.js","./node_modules/twilio-video/es5/signaling/v2/remotetrackpublication.js","./node_modules/twilio-video/es5/signaling/v2/renderhintssignaling.js","./node_modules/twilio-video/es5/signaling/v2/room.js","./node_modules/twilio-video/es5/signaling/v2/trackprioritysignaling.js","./node_modules/twilio-video/es5/signaling/v2/trackswitchoffsignaling.js","./node_modules/twilio-video/es5/signaling/v2/twilioconnectiontransport.js","./node_modules/twilio-video/es5/statemachine.js","./node_modules/twilio-video/es5/stats/average.js","./node_modules/twilio-video/es5/stats/icereport.js","./node_modules/twilio-video/es5/stats/icereportfactory.js","./node_modules/twilio-video/es5/stats/localaudiotrackstats.js","./node_modules/twilio-video/es5/stats/localtrackstats.js","./node_modules/twilio-video/es5/stats/localvideotrackstats.js","./node_modules/twilio-video/es5/stats/networkqualityaudiostats.js","./node_modules/twilio-video/es5/stats/networkqualitybandwidthstats.js","./node_modules/twilio-video/es5/stats/networkqualityfractionloststats.js","./node_modules/twilio-video/es5/stats/networkqualitylatencystats.js","./node_modules/twilio-video/es5/stats/networkqualitymediastats.js","./node_modules/twilio-video/es5/stats/networkqualityrecvstats.js","./node_modules/twilio-video/es5/stats/networkqualitysendorrecvstats.js","./node_modules/twilio-video/es5/stats/networkqualitysendstats.js","./node_modules/twilio-video/es5/stats/networkqualitystats.js","./node_modules/twilio-video/es5/stats/networkqualityvideostats.js","./node_modules/twilio-video/es5/stats/peerconnectionreport.js","./node_modules/twilio-video/es5/stats/peerconnectionreportfactory.js","./node_modules/twilio-video/es5/stats/receiverreport.js","./node_modules/twilio-video/es5/stats/receiverreportfactory.js","./node_modules/twilio-video/es5/stats/remoteaudiotrackstats.js","./node_modules/twilio-video/es5/stats/remotetrackstats.js","./node_modules/twilio-video/es5/stats/remotevideotrackstats.js","./node_modules/twilio-video/es5/stats/senderorreceiverreport.js","./node_modules/twilio-video/es5/stats/senderorreceiverreportfactory.js","./node_modules/twilio-video/es5/stats/senderreport.js","./node_modules/twilio-video/es5/stats/senderreportfactory.js","./node_modules/twilio-video/es5/stats/statsreport.js","./node_modules/twilio-video/es5/stats/sum.js","./node_modules/twilio-video/es5/stats/trackstats.js","./node_modules/twilio-video/es5/transceiver.js","./node_modules/twilio-video/es5/twilioconnection.js","./node_modules/twilio-video/es5/util/asyncvar.js","./node_modules/twilio-video/es5/util/backoff.js","./node_modules/twilio-video/es5/util/browserdetection.js","./node_modules/twilio-video/es5/util/cancelablepromise.js","./node_modules/twilio-video/es5/util/constants.js","./node_modules/twilio-video/es5/util/detectsilentaudio.js","./node_modules/twilio-video/es5/util/detectsilentvideo.js","./node_modules/twilio-video/es5/util/documentvisibilitymonitor.js","./node_modules/twilio-video/es5/util/dynamicimport.js","./node_modules/twilio-video/es5/util/eventobserver.js","./node_modules/twilio-video/es5/util/filter.js","./node_modules/twilio-video/es5/util/index.js","./node_modules/twilio-video/es5/util/insightspublisher/index.js","./node_modules/twilio-video/es5/util/insightspublisher/null.js","./node_modules/twilio-video/es5/util/localmediarestartdeferreds.js","./node_modules/twilio-video/es5/util/log.js","./node_modules/twilio-video/es5/util/movingaveragedelta.js","./node_modules/twilio-video/es5/util/networkmonitor.js","./node_modules/twilio-video/es5/util/nullobserver.js","./node_modules/twilio-video/es5/util/sdp/index.js","./node_modules/twilio-video/es5/util/sdp/issue8329.js","./node_modules/twilio-video/es5/util/sdp/simulcast.js","./node_modules/twilio-video/es5/util/sdp/trackmatcher.js","./node_modules/twilio-video/es5/util/sid.js","./node_modules/twilio-video/es5/util/support.js","./node_modules/twilio-video/es5/util/timeout.js","./node_modules/twilio-video/es5/util/twilio-video-errors.js","./node_modules/twilio-video/es5/util/twilioerror.js","./node_modules/twilio-video/es5/util/twiliowarning.js","./node_modules/twilio-video/es5/util/validate.js","./node_modules/twilio-video/es5/vendor/inherits.js","./node_modules/twilio-video/es5/vendor/loglevel.js","./node_modules/twilio-video/es5/webaudio/audiocontext.js","./node_modules/twilio-video/es5/webaudio/detectsilence.js","./node_modules/twilio-video/es5/webaudio/workaround180748.js","./node_modules/twilio-video/es5/webrtc/getstats.js","./node_modules/twilio-video/es5/webrtc/getusermedia.js","./node_modules/twilio-video/es5/webrtc/index.js","./node_modules/twilio-video/es5/webrtc/mediastream.js","./node_modules/twilio-video/es5/webrtc/mediastreamtrack.js","./node_modules/twilio-video/es5/webrtc/rtcicecandidate.js","./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/chrome.js","./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/firefox.js","./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/index.js","./node_modules/twilio-video/es5/webrtc/rtcpeerconnection/safari.js","./node_modules/twilio-video/es5/webrtc/rtcrtpsender.js","./node_modules/twilio-video/es5/webrtc/rtcsessiondescription/chrome.js","./node_modules/twilio-video/es5/webrtc/rtcsessiondescription/firefox.js","./node_modules/twilio-video/es5/webrtc/rtcsessiondescription/index.js","./node_modules/twilio-video/es5/webrtc/util/index.js","./node_modules/twilio-video/es5/webrtc/util/latch.js","./node_modules/twilio-video/es5/webrtc/util/sdp.js","./node_modules/twilio-video/src/ws.js","./node_modules/@angular-material-extensions/select-country/fesm2022/angular-material-extensions-select-country.mjs","./node_modules/@angular/animations/fesm2022/animations.mjs","./node_modules/@angular/cdk/fesm2022/a11y.mjs","./node_modules/@angular/cdk/fesm2022/bidi.mjs","./node_modules/@angular/cdk/fesm2022/clipboard.mjs","./node_modules/@angular/cdk/fesm2022/coercion.mjs","./node_modules/@angular/cdk/fesm2022/collections.mjs","./node_modules/@angular/cdk/fesm2022/keycodes.mjs","./node_modules/@angular/cdk/fesm2022/layout.mjs","./node_modules/@angular/cdk/fesm2022/observers.mjs","./node_modules/@angular/cdk/fesm2022/overlay.mjs","./node_modules/@angular/cdk/fesm2022/platform.mjs","./node_modules/@angular/cdk/fesm2022/portal.mjs","./node_modules/@angular/cdk/fesm2022/scrolling.mjs","./node_modules/@angular/cdk/fesm2022/text-field.mjs","./node_modules/@angular/common/fesm2022/common.mjs","./node_modules/@angular/common/fesm2022/http.mjs","./node_modules/@angular/core/fesm2022/primitives/signals.mjs","./node_modules/@angular/core/fesm2022/core.mjs","./node_modules/@angular/forms/fesm2022/forms.mjs","./node_modules/@angular/material/fesm2022/autocomplete.mjs","./node_modules/@angular/material/fesm2022/badge.mjs","./node_modules/@angular/material/fesm2022/button-toggle.mjs","./node_modules/@angular/material/fesm2022/button.mjs","./node_modules/@angular/material/fesm2022/card.mjs","./node_modules/@angular/material/fesm2022/checkbox.mjs","./node_modules/@angular/material/fesm2022/chips.mjs","./node_modules/@angular/material/fesm2022/core.mjs","./node_modules/@angular/cdk/fesm2022/dialog.mjs","./node_modules/@angular/material/fesm2022/dialog.mjs","./node_modules/@angular/material/fesm2022/divider.mjs","./node_modules/@angular/cdk/fesm2022/accordion.mjs","./node_modules/@angular/material/fesm2022/expansion.mjs","./node_modules/@angular/cdk/fesm2022/observers/private.mjs","./node_modules/@angular/material/fesm2022/form-field.mjs","./node_modules/@angular/material/fesm2022/icon.mjs","./node_modules/@angular/material/fesm2022/input.mjs","./node_modules/@angular/material/fesm2022/list.mjs","./node_modules/@angular/material/fesm2022/menu.mjs","./node_modules/@angular/material/fesm2022/progress-bar.mjs","./node_modules/@angular/material/fesm2022/progress-spinner.mjs","./node_modules/@angular/material/fesm2022/select.mjs","./node_modules/@angular/material/fesm2022/sidenav.mjs","./node_modules/@angular/material/fesm2022/snack-bar.mjs","./node_modules/@angular/material/fesm2022/sort.mjs","./node_modules/@angular/cdk/fesm2022/stepper.mjs","./node_modules/@angular/material/fesm2022/stepper.mjs","./node_modules/@angular/cdk/fesm2022/table.mjs","./node_modules/@angular/material/fesm2022/table.mjs","./node_modules/@angular/material/fesm2022/tabs.mjs","./node_modules/@angular/material/fesm2022/tooltip.mjs","./node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs","./node_modules/@angular/router/fesm2022/router.mjs","./node_modules/@azure/core-auth/dist/browser/tokenCredential.js","./node_modules/@azure/core-client/dist/browser/base64.js","./node_modules/@azure/core-client/dist/browser/interfaces.js","./node_modules/@azure/core-client/dist/browser/utils.js","./node_modules/@azure/core-client/dist/browser/serializer.js","./node_modules/@azure/core-client/dist/browser/state.js","./node_modules/@azure/core-client/dist/browser/operationHelpers.js","./node_modules/@azure/core-client/dist/browser/deserializationPolicy.js","./node_modules/@azure/core-client/dist/browser/interfaceHelpers.js","./node_modules/@azure/core-client/dist/browser/serializationPolicy.js","./node_modules/@azure/core-client/dist/browser/pipeline.js","./node_modules/@azure/core-client/dist/browser/httpClientCache.js","./node_modules/@azure/core-client/dist/browser/urlHelpers.js","./node_modules/@azure/core-client/dist/browser/log.js","./node_modules/@azure/core-client/dist/browser/serviceClient.js","./node_modules/@azure/core-client/dist/browser/authorizeRequestOnTenantChallenge.js","./node_modules/@azure/core-http-compat/dist/browser/policies/disableKeepAlivePolicy.js","./node_modules/@azure/core-http-compat/dist/browser/util.js","./node_modules/@azure/core-http-compat/dist/browser/response.js","./node_modules/@azure/core-http-compat/dist/browser/extendedClient.js","./node_modules/@azure/core-http-compat/dist/browser/policies/requestPolicyFactoryPolicy.js","./node_modules/@azure/core-http-compat/dist/browser/httpClientAdapter.js","./node_modules/@azure/core-rest-pipeline/dist/browser/pipeline.js","./node_modules/@azure/core-rest-pipeline/dist/browser/log.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/sanitizer.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/logPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/redirectPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/constants.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgent.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgentPlatform.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/userAgentPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/file.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/typeGuards.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/concat.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/multipartPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/decompressResponsePolicy.js","./node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller/dist/browser/AbortError.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/helpers.js","./node_modules/@azure/core-rest-pipeline/dist/browser/retryStrategies/throttlingRetryStrategy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/retryStrategies/exponentialRetryStrategy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/retryPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/defaultRetryPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/httpHeaders.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/formDataPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/proxyPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/setClientRequestIdPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/tlsPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/inspect.js","./node_modules/@azure/core-rest-pipeline/dist/browser/restError.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/tracingPolicy.js","./node_modules/@azure/core-rest-pipeline/dist/browser/createPipelineFromOptions.js","./node_modules/@azure/core-rest-pipeline/dist/browser/fetchHttpClient.js","./node_modules/@azure/core-rest-pipeline/dist/browser/defaultHttpClient.js","./node_modules/@azure/core-rest-pipeline/dist/browser/pipelineRequest.js","./node_modules/@azure/core-rest-pipeline/dist/browser/util/tokenCycler.js","./node_modules/@azure/core-rest-pipeline/dist/browser/policies/bearerTokenAuthenticationPolicy.js","./node_modules/@azure/core-tracing/dist/browser/tracingContext.js","./node_modules/@azure/core-tracing/dist/browser/state.js","./node_modules/@azure/core-tracing/dist/browser/instrumenter.js","./node_modules/@azure/core-tracing/dist/browser/tracingClient.js","./node_modules/@azure/core-util/node_modules/@azure/abort-controller/dist/browser/AbortError.js","./node_modules/@azure/core-util/dist/browser/delay.js","./node_modules/@azure/core-util/dist/browser/createAbortablePromise.js","./node_modules/@azure/core-util/dist/browser/random.js","./node_modules/@azure/core-util/dist/browser/object.js","./node_modules/@azure/core-util/dist/browser/error.js","./node_modules/@azure/core-util/dist/browser/bytesEncoding.js","./node_modules/@azure/core-util/dist/browser/uuidUtils.js","./node_modules/@azure/core-util/dist/browser/uuidUtils.common.js","./node_modules/@azure/core-util/dist/browser/checkEnvironment.js","./node_modules/@azure/core-xml/dist/browser/xml.common.js","./node_modules/@azure/core-xml/dist/browser/xml.js","./node_modules/@azure/logger/dist/browser/debug.js","./node_modules/@azure/logger/dist/browser/log.js","./node_modules/@azure/logger/dist/browser/index.js","./node_modules/@tinymce/tinymce-angular/fesm2020/tinymce-tinymce-angular.mjs","./node_modules/angular-split/fesm2020/angular-split.mjs","./node_modules/jwt-decode/build/esm/index.js","./node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","./node_modules/libphonenumber-js/es6/format.js","./node_modules/libphonenumber-js/es6/PhoneNumber.js","./node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","./node_modules/libphonenumber-js/es6/isValid.js","./node_modules/libphonenumber-js/es6/helpers/RFC3966.js","./node_modules/libphonenumber-js/es6/constants.js","./node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","./node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","./node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","./node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","./node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","./node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","./node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","./node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","./node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","./node_modules/libphonenumber-js/es6/helpers/getNumberType.js","./node_modules/libphonenumber-js/es6/helpers/isObject.js","./node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","./node_modules/libphonenumber-js/es6/helpers/parseDigits.js","./node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","./node_modules/libphonenumber-js/es6/isPossible.js","./node_modules/libphonenumber-js/es6/tools/semver-compare.js","./node_modules/libphonenumber-js/es6/metadata.js","./node_modules/libphonenumber-js/es6/AsYouTypeState.js","./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js","./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js","./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js","./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternMatcher.js","./node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js","./node_modules/libphonenumber-js/es6/AsYouTypeParser.js","./node_modules/libphonenumber-js/es6/AsYouType.js","./node_modules/libphonenumber-js/es6/formatIncompletePhoneNumber.js","./node_modules/libphonenumber-js/min/exports/formatIncompletePhoneNumber.js","./node_modules/libphonenumber-js/metadata.min.json.js","./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","./node_modules/ngx-lottie/fesm2020/ngx-lottie.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","./node_modules/tslib/tslib.es6.mjs"],"sourceRoot":"webpack:///","sourcesContent":["\"use strict\";(function(global,_global$ng,_global$ng2,_global$ng2$common,_global$ng$common,_global$ng$common$loc){(_global$ng=global.ng)!==null&&_global$ng!==void 0?_global$ng:global.ng={};(_global$ng2$common=(_global$ng2=global.ng).common)!==null&&_global$ng2$common!==void 0?_global$ng2$common:_global$ng2.common={};(_global$ng$common$loc=(_global$ng$common=global.ng.common).locales)!==null&&_global$ng$common$loc!==void 0?_global$ng$common$loc:_global$ng$common.locales={};const u=undefined;function plural(val){const n=val,i=Math.floor(Math.abs(val)),v=val.toString().replace(/^[^.]*\\.?/,\"\").length;if(i===1&&v===0)return 1;return 5}global.ng.common.locales[\"en\"]=[\"en\",[[\"a\",\"p\"],[\"AM\",\"PM\"],u],[[\"AM\",\"PM\"],u,u],[[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"],[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"]],u,[[\"J\",\"F\",\"M\",\"A\",\"M\",\"J\",\"J\",\"A\",\"S\",\"O\",\"N\",\"D\"],[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]],u,[[\"B\",\"A\"],[\"BC\",\"AD\"],[\"Before Christ\",\"Anno Domini\"]],0,[6,0],[\"M/d/yy\",\"MMM d, y\",\"MMMM d, y\",\"EEEE, MMMM d, y\"],[\"h:mm a\",\"h:mm:ss a\",\"h:mm:ss a z\",\"h:mm:ss a zzzz\"],[\"{1}, {0}\",u,\"{1} 'at' {0}\",u],[\".\",\",\",\";\",\"%\",\"+\",\"-\",\"E\",\"\\xD7\",\"\\u2030\",\"\\u221E\",\"NaN\",\":\"],[\"#,##0.###\",\"#,##0%\",\"\\xA4#,##0.00\",\"#E0\"],\"USD\",\"$\",\"US Dollar\",{},\"ltr\",plural,[[[\"mi\",\"n\",\"in the morning\",\"in the afternoon\",\"in the evening\",\"at night\"],[\"midnight\",\"noon\",\"in the morning\",\"in the afternoon\",\"in the evening\",\"at night\"],u],[[\"midnight\",\"noon\",\"morning\",\"afternoon\",\"evening\",\"night\"],u,u],[\"00:00\",\"12:00\",[\"06:00\",\"12:00\"],[\"12:00\",\"18:00\"],[\"18:00\",\"21:00\"],[\"21:00\",\"06:00\"]]]]})(globalThis);","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { StartRecordingRequest } from '../model/startRecordingRequest';\n// @ts-ignore\nimport { StopRecordingRequest } from '../model/stopRecordingRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppointmentRecordingService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param startRecordingRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsRoomInquiryRecordStartPost(startRecordingRequest?: StartRecordingRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public appointmentsRoomInquiryRecordStartPost(startRecordingRequest?: StartRecordingRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsRoomInquiryRecordStartPost(startRecordingRequest?: StartRecordingRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsRoomInquiryRecordStartPost(startRecordingRequest?: StartRecordingRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/appointments/room/inquiry/record/start`,\n startRecordingRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param stopRecordingRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsRoomInquiryRecordStopPost(stopRecordingRequest?: StopRecordingRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public appointmentsRoomInquiryRecordStopPost(stopRecordingRequest?: StopRecordingRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsRoomInquiryRecordStopPost(stopRecordingRequest?: StopRecordingRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsRoomInquiryRecordStopPost(stopRecordingRequest?: StopRecordingRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/appointments/room/inquiry/record/stop`,\n stopRecordingRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PingService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public pingGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public pingGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public pingGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public pingGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/ping`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport interface ConfigurationParameters {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials: {[ key: string ]: string | (() => string | undefined)};\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n this.encoder = configurationParameters.encoder;\n if (configurationParameters.credentials) {\n this.credentials = configurationParameters.credentials;\n }\n else {\n this.credentials = {};\n }\n\n // init default Bearer credential\n if (!this.credentials['Bearer']) {\n this.credentials['Bearer'] = () => {\n return typeof this.accessToken === 'function'\n ? this.accessToken()\n : this.accessToken;\n };\n }\n\n // init default oauth2 credential\n if (!this.credentials['oauth2']) {\n this.credentials['oauth2'] = () => {\n return typeof this.accessToken === 'function'\n ? this.accessToken()\n : this.accessToken;\n };\n }\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or undefined if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or undefined if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n const type = accepts.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n\n public lookupCredential(key: string): string | undefined {\n const value = this.credentials[key];\n return typeof value === 'function'\n ? value()\n : value;\n }\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n decodeValue(v: string): string {\n return decodeURIComponent(v);\n }\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AvailableDevices } from '../model/availableDevices';\n// @ts-ignore\nimport { ClientInfos } from '../model/clientInfos';\n// @ts-ignore\nimport { NetworkInformationRequest } from '../model/networkInformationRequest';\n// @ts-ignore\nimport { PermissionUpdateRequest } from '../model/permissionUpdateRequest';\n// @ts-ignore\nimport { UsedCamera } from '../model/usedCamera';\n// @ts-ignore\nimport { WebSocketUpdateDto } from '../model/webSocketUpdateDto';\n// @ts-ignore\nimport { WebSocketUpdateRequest } from '../model/webSocketUpdateRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalyticsService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param availableDevices \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public analyticsAvailableDevicesAgentPost(availableDevices?: AvailableDevices, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public analyticsAvailableDevicesAgentPost(availableDevices?: AvailableDevices, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsAvailableDevicesAgentPost(availableDevices?: AvailableDevices, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsAvailableDevicesAgentPost(availableDevices?: AvailableDevices, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/analytics/available-devices/agent`,\n availableDevices,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param clientInfos \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public analyticsClientInfoAgentPost(clientInfos?: ClientInfos, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public analyticsClientInfoAgentPost(clientInfos?: ClientInfos, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsClientInfoAgentPost(clientInfos?: ClientInfos, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsClientInfoAgentPost(clientInfos?: ClientInfos, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/analytics/client-info/agent`,\n clientInfos,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param networkInformationRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public analyticsNetworkInformationAgentPost(networkInformationRequest?: NetworkInformationRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public analyticsNetworkInformationAgentPost(networkInformationRequest?: NetworkInformationRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public analyticsNetworkInformationAgentPost(networkInformationRequest?: NetworkInformationRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public analyticsNetworkInformationAgentPost(networkInformationRequest?: NetworkInformationRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/analytics/network-information/agent`,\n networkInformationRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param permissionUpdateRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public analyticsPermissionUpdateAgentPost(permissionUpdateRequest?: PermissionUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public analyticsPermissionUpdateAgentPost(permissionUpdateRequest?: PermissionUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsPermissionUpdateAgentPost(permissionUpdateRequest?: PermissionUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsPermissionUpdateAgentPost(permissionUpdateRequest?: PermissionUpdateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/analytics/permission-update/agent`,\n permissionUpdateRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param usedCamera \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public analyticsUsedCameraAgentPost(usedCamera?: UsedCamera, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public analyticsUsedCameraAgentPost(usedCamera?: UsedCamera, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsUsedCameraAgentPost(usedCamera?: UsedCamera, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public analyticsUsedCameraAgentPost(usedCamera?: UsedCamera, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/analytics/used-camera/agent`,\n usedCamera,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param webSocketUpdateRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public analyticsWebsocketUpdateAgentPost(webSocketUpdateRequest?: WebSocketUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public analyticsWebsocketUpdateAgentPost(webSocketUpdateRequest?: WebSocketUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public analyticsWebsocketUpdateAgentPost(webSocketUpdateRequest?: WebSocketUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public analyticsWebsocketUpdateAgentPost(webSocketUpdateRequest?: WebSocketUpdateRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/analytics/websocket-update/agent`,\n webSocketUpdateRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { ApplicationSettingsDto } from '../model/applicationSettingsDto';\n// @ts-ignore\nimport { AutoDeletionDto } from '../model/autoDeletionDto';\n// @ts-ignore\nimport { CompanySettingsDto } from '../model/companySettingsDto';\n// @ts-ignore\nimport { GetAutoDeletionInfoForApplicationSettings } from '../model/getAutoDeletionInfoForApplicationSettings';\n// @ts-ignore\nimport { UpdateApplicationSettings } from '../model/updateApplicationSettings';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationSettingsService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param getAutoDeletionInfoForApplicationSettings \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyApplicationSettingsAutoDeletionPost(getAutoDeletionInfoForApplicationSettings?: GetAutoDeletionInfoForApplicationSettings, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyApplicationSettingsAutoDeletionPost(getAutoDeletionInfoForApplicationSettings?: GetAutoDeletionInfoForApplicationSettings, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyApplicationSettingsAutoDeletionPost(getAutoDeletionInfoForApplicationSettings?: GetAutoDeletionInfoForApplicationSettings, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyApplicationSettingsAutoDeletionPost(getAutoDeletionInfoForApplicationSettings?: GetAutoDeletionInfoForApplicationSettings, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company/application-settings/auto-deletion`,\n getAutoDeletionInfoForApplicationSettings,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyApplicationSettingsGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyApplicationSettingsGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyApplicationSettingsGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyApplicationSettingsGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/company/application-settings`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateApplicationSettings \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyApplicationSettingsPut(updateApplicationSettings?: UpdateApplicationSettings, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyApplicationSettingsPut(updateApplicationSettings?: UpdateApplicationSettings, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyApplicationSettingsPut(updateApplicationSettings?: UpdateApplicationSettings, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyApplicationSettingsPut(updateApplicationSettings?: UpdateApplicationSettings, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/company/application-settings`,\n updateApplicationSettings,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AttachmentDto } from '../model/attachmentDto';\n// @ts-ignore\nimport { RoomDetailDto } from '../model/roomDetailDto';\n// @ts-ignore\nimport { VideoAppointmentDto } from '../model/videoAppointmentDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppointmentService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param attachmentId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsInquiryIdAttachmentAttachmentIdDelete(inquiryId: string, attachmentId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public appointmentsInquiryIdAttachmentAttachmentIdDelete(inquiryId: string, attachmentId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsInquiryIdAttachmentAttachmentIdDelete(inquiryId: string, attachmentId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsInquiryIdAttachmentAttachmentIdDelete(inquiryId: string, attachmentId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling appointmentsInquiryIdAttachmentAttachmentIdDelete.');\n }\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling appointmentsInquiryIdAttachmentAttachmentIdDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/appointments/${encodeURIComponent(String(inquiryId))}/attachment/${encodeURIComponent(String(attachmentId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param includeInProcess \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsInquiryIdAttachmentGet(inquiryId: string, includeInProcess?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsInquiryIdAttachmentGet(inquiryId: string, includeInProcess?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public appointmentsInquiryIdAttachmentGet(inquiryId: string, includeInProcess?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public appointmentsInquiryIdAttachmentGet(inquiryId: string, includeInProcess?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling appointmentsInquiryIdAttachmentGet.');\n }\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (includeInProcess !== undefined && includeInProcess !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n includeInProcess, 'includeInProcess');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/appointments/${encodeURIComponent(String(inquiryId))}/attachment`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param attachmentId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsInquiryIdAttachmentPresentAttachmentIdPost(inquiryId: string, attachmentId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public appointmentsInquiryIdAttachmentPresentAttachmentIdPost(inquiryId: string, attachmentId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsInquiryIdAttachmentPresentAttachmentIdPost(inquiryId: string, attachmentId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsInquiryIdAttachmentPresentAttachmentIdPost(inquiryId: string, attachmentId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling appointmentsInquiryIdAttachmentPresentAttachmentIdPost.');\n }\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling appointmentsInquiryIdAttachmentPresentAttachmentIdPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/appointments/${encodeURIComponent(String(inquiryId))}/attachment/present/${encodeURIComponent(String(attachmentId))}`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsInquiryIdAttachmentPresentDelete(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public appointmentsInquiryIdAttachmentPresentDelete(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsInquiryIdAttachmentPresentDelete(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public appointmentsInquiryIdAttachmentPresentDelete(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling appointmentsInquiryIdAttachmentPresentDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/appointments/${encodeURIComponent(String(inquiryId))}/attachment/present`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsInquiryIdFinishPost(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public appointmentsInquiryIdFinishPost(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsInquiryIdFinishPost(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsInquiryIdFinishPost(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling appointmentsInquiryIdFinishPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/appointments/${encodeURIComponent(String(inquiryId))}/finish`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsOpenGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsOpenGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public appointmentsOpenGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public appointmentsOpenGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/appointments/open`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AssignEmployeeToOpenInquiry } from '../model/assignEmployeeToOpenInquiry';\n// @ts-ignore\nimport { InquiryDto } from '../model/inquiryDto';\n// @ts-ignore\nimport { UnAssignEmployeeFromOpenInquiry } from '../model/unAssignEmployeeFromOpenInquiry';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AssignInquiryService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param assignEmployeeToOpenInquiry \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryAgentAssignPost(assignEmployeeToOpenInquiry?: AssignEmployeeToOpenInquiry, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryAgentAssignPost(assignEmployeeToOpenInquiry?: AssignEmployeeToOpenInquiry, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryAgentAssignPost(assignEmployeeToOpenInquiry?: AssignEmployeeToOpenInquiry, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryAgentAssignPost(assignEmployeeToOpenInquiry?: AssignEmployeeToOpenInquiry, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/contact/inquiry/agent/assign`,\n assignEmployeeToOpenInquiry,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param unAssignEmployeeFromOpenInquiry \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryAgentUnassignPost(unAssignEmployeeFromOpenInquiry?: UnAssignEmployeeFromOpenInquiry, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryAgentUnassignPost(unAssignEmployeeFromOpenInquiry?: UnAssignEmployeeFromOpenInquiry, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryAgentUnassignPost(unAssignEmployeeFromOpenInquiry?: UnAssignEmployeeFromOpenInquiry, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryAgentUnassignPost(unAssignEmployeeFromOpenInquiry?: UnAssignEmployeeFromOpenInquiry, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/contact/inquiry/agent/unassign`,\n unAssignEmployeeFromOpenInquiry,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AddAnnotation } from '../model/addAnnotation';\n// @ts-ignore\nimport { AttachmentDto } from '../model/attachmentDto';\n// @ts-ignore\nimport { AttachmentFilters } from '../model/attachmentFilters';\n// @ts-ignore\nimport { AttachmentUploadRequest } from '../model/attachmentUploadRequest';\n// @ts-ignore\nimport { CreateAttachment } from '../model/createAttachment';\n// @ts-ignore\nimport { CreateAttachmentUploadRequest } from '../model/createAttachmentUploadRequest';\n// @ts-ignore\nimport { MarkerJsAnnotationStateDto } from '../model/markerJsAnnotationStateDto';\n// @ts-ignore\nimport { UpdateAttachment } from '../model/updateAttachment';\n// @ts-ignore\nimport { UpdateAttachmentNoteRequest } from '../model/updateAttachmentNoteRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AttachmentService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param attachmentId \n * @param addAnnotation \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentAttachmentIdAnnotationPost(attachmentId: string, addAnnotation?: AddAnnotation, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentAttachmentIdAnnotationPost(attachmentId: string, addAnnotation?: AddAnnotation, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdAnnotationPost(attachmentId: string, addAnnotation?: AddAnnotation, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdAnnotationPost(attachmentId: string, addAnnotation?: AddAnnotation, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentAttachmentIdAnnotationPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/attachment/${encodeURIComponent(String(attachmentId))}/annotation`,\n addAnnotation,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param attachmentId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentAttachmentIdAnnotationStateGet(attachmentId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentAttachmentIdAnnotationStateGet(attachmentId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdAnnotationStateGet(attachmentId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdAnnotationStateGet(attachmentId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentAttachmentIdAnnotationStateGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/attachment/${encodeURIComponent(String(attachmentId))}/annotation/state`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param attachmentId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentAttachmentIdAnnotationUploadPost(attachmentId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentAttachmentIdAnnotationUploadPost(attachmentId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdAnnotationUploadPost(attachmentId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdAnnotationUploadPost(attachmentId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentAttachmentIdAnnotationUploadPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/attachment/${encodeURIComponent(String(attachmentId))}/annotation/upload`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param attachmentId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentAttachmentIdDelete(attachmentId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentAttachmentIdDelete(attachmentId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdDelete(attachmentId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdDelete(attachmentId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentAttachmentIdDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/attachment/${encodeURIComponent(String(attachmentId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param attachmentId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentAttachmentIdGet(attachmentId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentAttachmentIdGet(attachmentId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdGet(attachmentId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdGet(attachmentId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentAttachmentIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/attachment/${encodeURIComponent(String(attachmentId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param attachmentId \n * @param updateAttachmentNoteRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentAttachmentIdNotePut(attachmentId: string, updateAttachmentNoteRequest?: UpdateAttachmentNoteRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentAttachmentIdNotePut(attachmentId: string, updateAttachmentNoteRequest?: UpdateAttachmentNoteRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdNotePut(attachmentId: string, updateAttachmentNoteRequest?: UpdateAttachmentNoteRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentAttachmentIdNotePut(attachmentId: string, updateAttachmentNoteRequest?: UpdateAttachmentNoteRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentAttachmentIdNotePut.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/attachment/${encodeURIComponent(String(attachmentId))}/note`,\n updateAttachmentNoteRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param attachmentFilters \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentInquiryInquiryIdPost(inquiryId: string, attachmentFilters?: AttachmentFilters, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentInquiryInquiryIdPost(inquiryId: string, attachmentFilters?: AttachmentFilters, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public attachmentInquiryInquiryIdPost(inquiryId: string, attachmentFilters?: AttachmentFilters, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public attachmentInquiryInquiryIdPost(inquiryId: string, attachmentFilters?: AttachmentFilters, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling attachmentInquiryInquiryIdPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post>(`${this.configuration.basePath}/attachment/inquiry/${encodeURIComponent(String(inquiryId))}`,\n attachmentFilters,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createAttachment \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentPost(createAttachment?: CreateAttachment, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentPost(createAttachment?: CreateAttachment, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentPost(createAttachment?: CreateAttachment, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentPost(createAttachment?: CreateAttachment, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/attachment`,\n createAttachment,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateAttachment \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentPut(updateAttachment?: UpdateAttachment, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentPut(updateAttachment?: UpdateAttachment, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentPut(updateAttachment?: UpdateAttachment, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentPut(updateAttachment?: UpdateAttachment, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/attachment`,\n updateAttachment,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createAttachmentUploadRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentUploadPost(createAttachmentUploadRequest?: CreateAttachmentUploadRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentUploadPost(createAttachmentUploadRequest?: CreateAttachmentUploadRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentUploadPost(createAttachmentUploadRequest?: CreateAttachmentUploadRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentUploadPost(createAttachmentUploadRequest?: CreateAttachmentUploadRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/attachment/upload`,\n createAttachmentUploadRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { FoundTextDto } from '../model/foundTextDto';\n// @ts-ignore\nimport { TranslateFoundText } from '../model/translateFoundText';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AttachmentCvService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param attachmentId \n * @param foundTextId \n * @param translateFoundText \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentsAttachmentIdCvFoundTextIdTranslatePost(attachmentId: string, foundTextId: string, translateFoundText?: TranslateFoundText, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public attachmentsAttachmentIdCvFoundTextIdTranslatePost(attachmentId: string, foundTextId: string, translateFoundText?: TranslateFoundText, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentsAttachmentIdCvFoundTextIdTranslatePost(attachmentId: string, foundTextId: string, translateFoundText?: TranslateFoundText, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentsAttachmentIdCvFoundTextIdTranslatePost(attachmentId: string, foundTextId: string, translateFoundText?: TranslateFoundText, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentsAttachmentIdCvFoundTextIdTranslatePost.');\n }\n if (foundTextId === null || foundTextId === undefined) {\n throw new Error('Required parameter foundTextId was null or undefined when calling attachmentsAttachmentIdCvFoundTextIdTranslatePost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/attachments/${encodeURIComponent(String(attachmentId))}/cv/${encodeURIComponent(String(foundTextId))}/translate`,\n translateFoundText,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param attachmentId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public attachmentsAttachmentIdCvPost(attachmentId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public attachmentsAttachmentIdCvPost(attachmentId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public attachmentsAttachmentIdCvPost(attachmentId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public attachmentsAttachmentIdCvPost(attachmentId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (attachmentId === null || attachmentId === undefined) {\n throw new Error('Required parameter attachmentId was null or undefined when calling attachmentsAttachmentIdCvPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post>(`${this.configuration.basePath}/attachments/${encodeURIComponent(String(attachmentId))}/cv`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateAppointmentAccessTokenHelper } from '../model/createAppointmentAccessTokenHelper';\n// @ts-ignore\nimport { VideoAppointmentAccessDto } from '../model/videoAppointmentAccessDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthenticationTokenService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param createAppointmentAccessTokenHelper \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsTokenAgentPost(createAppointmentAccessTokenHelper?: CreateAppointmentAccessTokenHelper, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public appointmentsTokenAgentPost(createAppointmentAccessTokenHelper?: CreateAppointmentAccessTokenHelper, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsTokenAgentPost(createAppointmentAccessTokenHelper?: CreateAppointmentAccessTokenHelper, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsTokenAgentPost(createAppointmentAccessTokenHelper?: CreateAppointmentAccessTokenHelper, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/appointments/token/agent`,\n createAppointmentAccessTokenHelper,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsTokenInquiryIdAgentGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public appointmentsTokenInquiryIdAgentGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsTokenInquiryIdAgentGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsTokenInquiryIdAgentGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling appointmentsTokenInquiryIdAgentGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/appointments/token/${encodeURIComponent(String(inquiryId))}/agent`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { BrandingColorDto } from '../model/brandingColorDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BrandingColorService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public brandingColorGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public brandingColorGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public brandingColorGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public brandingColorGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/branding/color`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { BrandingInvitationDto } from '../model/brandingInvitationDto';\n// @ts-ignore\nimport { CreateBrandingInvitation } from '../model/createBrandingInvitation';\n// @ts-ignore\nimport { UpdateBrandingInvitation } from '../model/updateBrandingInvitation';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BrandingInvitationService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyBrandingInvitationGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public companyBrandingInvitationGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public companyBrandingInvitationGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/company/branding/invitation`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param id \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyBrandingInvitationIdDelete(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyBrandingInvitationIdDelete(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationIdDelete(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationIdDelete(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (id === null || id === undefined) {\n throw new Error('Required parameter id was null or undefined when calling companyBrandingInvitationIdDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/company/branding/invitation/${encodeURIComponent(String(id))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param id \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyBrandingInvitationIdGet(id: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyBrandingInvitationIdGet(id: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationIdGet(id: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationIdGet(id: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (id === null || id === undefined) {\n throw new Error('Required parameter id was null or undefined when calling companyBrandingInvitationIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/company/branding/invitation/${encodeURIComponent(String(id))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param id \n * @param updateBrandingInvitation \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyBrandingInvitationIdPatch(id: string, updateBrandingInvitation?: UpdateBrandingInvitation, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyBrandingInvitationIdPatch(id: string, updateBrandingInvitation?: UpdateBrandingInvitation, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationIdPatch(id: string, updateBrandingInvitation?: UpdateBrandingInvitation, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationIdPatch(id: string, updateBrandingInvitation?: UpdateBrandingInvitation, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (id === null || id === undefined) {\n throw new Error('Required parameter id was null or undefined when calling companyBrandingInvitationIdPatch.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.patch(`${this.configuration.basePath}/company/branding/invitation/${encodeURIComponent(String(id))}`,\n updateBrandingInvitation,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createBrandingInvitation \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyBrandingInvitationPost(createBrandingInvitation?: CreateBrandingInvitation, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyBrandingInvitationPost(createBrandingInvitation?: CreateBrandingInvitation, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationPost(createBrandingInvitation?: CreateBrandingInvitation, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyBrandingInvitationPost(createBrandingInvitation?: CreateBrandingInvitation, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company/branding/invitation`,\n createBrandingInvitation,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CompanySettingsDto } from '../model/companySettingsDto';\n// @ts-ignore\nimport { UpdateCompanyInformation } from '../model/updateCompanyInformation';\n// @ts-ignore\nimport { UpdateCompanyLogo } from '../model/updateCompanyLogo';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CompanyService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/company`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateCompanyLogo \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyLogoPost(updateCompanyLogo?: UpdateCompanyLogo, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyLogoPost(updateCompanyLogo?: UpdateCompanyLogo, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLogoPost(updateCompanyLogo?: UpdateCompanyLogo, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLogoPost(updateCompanyLogo?: UpdateCompanyLogo, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company/logo`,\n updateCompanyLogo,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyPost(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyPost(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyPost(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyPost(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateCompanyInformation \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyPut(updateCompanyInformation?: UpdateCompanyInformation, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyPut(updateCompanyInformation?: UpdateCompanyInformation, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyPut(updateCompanyInformation?: UpdateCompanyInformation, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyPut(updateCompanyInformation?: UpdateCompanyInformation, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/company`,\n updateCompanyInformation,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CompanyAddressDto } from '../model/companyAddressDto';\n// @ts-ignore\nimport { CompanySettingsDto } from '../model/companySettingsDto';\n// @ts-ignore\nimport { CreateCompanyAddress } from '../model/createCompanyAddress';\n// @ts-ignore\nimport { UpdateCompanyAddress } from '../model/updateCompanyAddress';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CompanyAddressService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyAddressGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyAddressGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyAddressGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyAddressGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/company/address`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createCompanyAddress \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyAddressPost(createCompanyAddress?: CreateCompanyAddress, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyAddressPost(createCompanyAddress?: CreateCompanyAddress, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyAddressPost(createCompanyAddress?: CreateCompanyAddress, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyAddressPost(createCompanyAddress?: CreateCompanyAddress, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company/address`,\n createCompanyAddress,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateCompanyAddress \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyAddressPut(updateCompanyAddress?: UpdateCompanyAddress, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyAddressPut(updateCompanyAddress?: UpdateCompanyAddress, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyAddressPut(updateCompanyAddress?: UpdateCompanyAddress, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyAddressPut(updateCompanyAddress?: UpdateCompanyAddress, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/company/address`,\n updateCompanyAddress,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CompanyLoginInfoDto } from '../model/companyLoginInfoDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CompanyLoginService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyLoginGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyLoginGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLoginGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLoginGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/company/login`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { Distance } from '../model/distance';\n// @ts-ignore\nimport { UpdateCustomerDistanceRequest } from '../model/updateCustomerDistanceRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DistanceService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public inquiryIdDistanceGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public inquiryIdDistanceGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public inquiryIdDistanceGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public inquiryIdDistanceGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling inquiryIdDistanceGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/${encodeURIComponent(String(inquiryId))}/distance`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param updateCustomerDistanceRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public inquiryIdDistancePost(inquiryId: string, updateCustomerDistanceRequest?: UpdateCustomerDistanceRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public inquiryIdDistancePost(inquiryId: string, updateCustomerDistanceRequest?: UpdateCustomerDistanceRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public inquiryIdDistancePost(inquiryId: string, updateCustomerDistanceRequest?: UpdateCustomerDistanceRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public inquiryIdDistancePost(inquiryId: string, updateCustomerDistanceRequest?: UpdateCustomerDistanceRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling inquiryIdDistancePost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/${encodeURIComponent(String(inquiryId))}/distance`,\n updateCustomerDistanceRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { EmailAvailableDto } from '../model/emailAvailableDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmailAvailableService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param email \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public emailAvailableGet(email?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public emailAvailableGet(email?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public emailAvailableGet(email?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public emailAvailableGet(email?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (email !== undefined && email !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n email, 'email');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/email-available`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateUserFromValidationToken } from '../model/createUserFromValidationToken';\n// @ts-ignore\nimport { CreateUserManually } from '../model/createUserManually';\n// @ts-ignore\nimport { EmailAvailableDto } from '../model/emailAvailableDto';\n// @ts-ignore\nimport { EmployeeDto } from '../model/employeeDto';\n// @ts-ignore\nimport { EmployeeNameDto } from '../model/employeeNameDto';\n// @ts-ignore\nimport { UpdateEmployee } from '../model/updateEmployee';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmployeeService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param email \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeAvailableEmailGet(email: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeAvailableEmailGet(email: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeAvailableEmailGet(email: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeAvailableEmailGet(email: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (email === null || email === undefined) {\n throw new Error('Required parameter email was null or undefined when calling employeeAvailableEmailGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/employee/available/${encodeURIComponent(String(email))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param username \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeDeleteAgentDelete(username?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public employeeDeleteAgentDelete(username?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public employeeDeleteAgentDelete(username?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public employeeDeleteAgentDelete(username?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (username !== undefined && username !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n username, 'username');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/employee/delete/agent`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param username \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeDeleteManagerDelete(username?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public employeeDeleteManagerDelete(username?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public employeeDeleteManagerDelete(username?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public employeeDeleteManagerDelete(username?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (username !== undefined && username !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n username, 'username');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/employee/delete/manager`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/employee`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param identifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeIdentifierAssignManagerRolePost(identifier: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeIdentifierAssignManagerRolePost(identifier: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeIdentifierAssignManagerRolePost(identifier: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeIdentifierAssignManagerRolePost(identifier: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (identifier === null || identifier === undefined) {\n throw new Error('Required parameter identifier was null or undefined when calling employeeIdentifierAssignManagerRolePost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/employee/${encodeURIComponent(String(identifier))}/assign-manager-role`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param identifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeIdentifierNameGet(identifier: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeIdentifierNameGet(identifier: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeIdentifierNameGet(identifier: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeIdentifierNameGet(identifier: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (identifier === null || identifier === undefined) {\n throw new Error('Required parameter identifier was null or undefined when calling employeeIdentifierNameGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/employee/${encodeURIComponent(String(identifier))}/name`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param identifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeIdentifierRemoveManagerRolePost(identifier: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeIdentifierRemoveManagerRolePost(identifier: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeIdentifierRemoveManagerRolePost(identifier: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeIdentifierRemoveManagerRolePost(identifier: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (identifier === null || identifier === undefined) {\n throw new Error('Required parameter identifier was null or undefined when calling employeeIdentifierRemoveManagerRolePost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/employee/${encodeURIComponent(String(identifier))}/remove-manager-role`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createUserManually \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeManuallyPost(createUserManually?: CreateUserManually, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeManuallyPost(createUserManually?: CreateUserManually, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeManuallyPost(createUserManually?: CreateUserManually, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeManuallyPost(createUserManually?: CreateUserManually, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/employee/manually`,\n createUserManually,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeNamesGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeNamesGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeNamesGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeNamesGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/employee/names`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createUserFromValidationToken \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeePost(createUserFromValidationToken?: CreateUserFromValidationToken, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeePost(createUserFromValidationToken?: CreateUserFromValidationToken, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeePost(createUserFromValidationToken?: CreateUserFromValidationToken, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeePost(createUserFromValidationToken?: CreateUserFromValidationToken, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/employee`,\n createUserFromValidationToken,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateEmployee \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeePut(updateEmployee?: UpdateEmployee, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeePut(updateEmployee?: UpdateEmployee, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeePut(updateEmployee?: UpdateEmployee, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeePut(updateEmployee?: UpdateEmployee, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/employee`,\n updateEmployee,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { IncludedUsersDto } from '../model/includedUsersDto';\n// @ts-ignore\nimport { RegistrationValidationDto } from '../model/registrationValidationDto';\n// @ts-ignore\nimport { RegistrationValidationResultDto } from '../model/registrationValidationResultDto';\n// @ts-ignore\nimport { SendRegistrationValidationEmailToEmployees } from '../model/sendRegistrationValidationEmailToEmployees';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmployeeInviteService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param registrationValidationId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeInviteDelete(registrationValidationId?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeInviteDelete(registrationValidationId?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInviteDelete(registrationValidationId?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInviteDelete(registrationValidationId?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (registrationValidationId !== undefined && registrationValidationId !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n registrationValidationId, 'registrationValidationId');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/employee/invite`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param email \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeInviteEmailPost(email: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeInviteEmailPost(email: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInviteEmailPost(email: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInviteEmailPost(email: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (email === null || email === undefined) {\n throw new Error('Required parameter email was null or undefined when calling employeeInviteEmailPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/employee/invite/${encodeURIComponent(String(email))}`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeInviteLeftGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public employeeInviteLeftGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInviteLeftGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInviteLeftGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/employee/invite/left`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeInviteOpenGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInviteOpenGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeInviteOpenGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeInviteOpenGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/employee/invite/open`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param sendRegistrationValidationEmailToEmployees \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeInvitePost(sendRegistrationValidationEmailToEmployees?: SendRegistrationValidationEmailToEmployees, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeInvitePost(sendRegistrationValidationEmailToEmployees?: SendRegistrationValidationEmailToEmployees, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeInvitePost(sendRegistrationValidationEmailToEmployees?: SendRegistrationValidationEmailToEmployees, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeInvitePost(sendRegistrationValidationEmailToEmployees?: SendRegistrationValidationEmailToEmployees, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post>(`${this.configuration.basePath}/employee/invite`,\n sendRegistrationValidationEmailToEmployees,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { DeleteOtp } from '../model/deleteOtp';\n// @ts-ignore\nimport { OtpInfoDto } from '../model/otpInfoDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmployeeOtpService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param deleteOtp \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeOtpDeletePost(deleteOtp?: DeleteOtp, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public employeeOtpDeletePost(deleteOtp?: DeleteOtp, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public employeeOtpDeletePost(deleteOtp?: DeleteOtp, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public employeeOtpDeletePost(deleteOtp?: DeleteOtp, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/employee/otp/delete`,\n deleteOtp,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public employeeOtpGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public employeeOtpGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeOtpGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public employeeOtpGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/employee/otp`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { TrackDrawEventRequest } from '../model/trackDrawEventRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeatureTrackingService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param trackDrawEventRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public featureTrackingDrawAgentPost(trackDrawEventRequest?: TrackDrawEventRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public featureTrackingDrawAgentPost(trackDrawEventRequest?: TrackDrawEventRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public featureTrackingDrawAgentPost(trackDrawEventRequest?: TrackDrawEventRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public featureTrackingDrawAgentPost(trackDrawEventRequest?: TrackDrawEventRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/featureTracking/draw/agent`,\n trackDrawEventRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateInitializationStatus } from '../model/createInitializationStatus';\n// @ts-ignore\nimport { InitializationStatusDto } from '../model/initializationStatusDto';\n// @ts-ignore\nimport { UpdateInitializationStatus } from '../model/updateInitializationStatus';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InitializationStatusService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public initializationDelete(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public initializationDelete(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public initializationDelete(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public initializationDelete(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/initialization`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public initializationGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public initializationGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public initializationGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public initializationGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/initialization`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createInitializationStatus \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public initializationPost(createInitializationStatus?: CreateInitializationStatus, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public initializationPost(createInitializationStatus?: CreateInitializationStatus, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public initializationPost(createInitializationStatus?: CreateInitializationStatus, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public initializationPost(createInitializationStatus?: CreateInitializationStatus, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/initialization`,\n createInitializationStatus,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateInitializationStatus \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public initializationPut(updateInitializationStatus?: UpdateInitializationStatus, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public initializationPut(updateInitializationStatus?: UpdateInitializationStatus, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public initializationPut(updateInitializationStatus?: UpdateInitializationStatus, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public initializationPut(updateInitializationStatus?: UpdateInitializationStatus, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/initialization`,\n updateInitializationStatus,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CancelInquiry } from '../model/cancelInquiry';\n// @ts-ignore\nimport { CreateNewScheduledInquiry } from '../model/createNewScheduledInquiry';\n// @ts-ignore\nimport { InquiryDto } from '../model/inquiryDto';\n// @ts-ignore\nimport { InquiryScheduleStatusDto } from '../model/inquiryScheduleStatusDto';\n// @ts-ignore\nimport { UpdateInquiryScheduledFor } from '../model/updateInquiryScheduledFor';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InquiryService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param from \n * @param to \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryBetweenGet(from?: string, to?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryBetweenGet(from?: string, to?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public contactInquiryBetweenGet(from?: string, to?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public contactInquiryBetweenGet(from?: string, to?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (from !== undefined && from !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n from, 'from');\n }\n if (to !== undefined && to !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n to, 'to');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/contact/inquiry/between`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param cancelInquiry \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryCancelPost(cancelInquiry?: CancelInquiry, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryCancelPost(cancelInquiry?: CancelInquiry, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryCancelPost(cancelInquiry?: CancelInquiry, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryCancelPost(cancelInquiry?: CancelInquiry, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/contact/inquiry/cancel`,\n cancelInquiry,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryInquiryIdDelete(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryInquiryIdDelete(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdDelete(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdDelete(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling contactInquiryInquiryIdDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/contact/inquiry/${encodeURIComponent(String(inquiryId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryInquiryIdGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryInquiryIdGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling contactInquiryInquiryIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/contact/inquiry/${encodeURIComponent(String(inquiryId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createNewScheduledInquiry \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryPost(createNewScheduledInquiry?: CreateNewScheduledInquiry, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryPost(createNewScheduledInquiry?: CreateNewScheduledInquiry, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryPost(createNewScheduledInquiry?: CreateNewScheduledInquiry, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryPost(createNewScheduledInquiry?: CreateNewScheduledInquiry, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/contact/inquiry`,\n createNewScheduledInquiry,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryIdentifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryScheduleGet(inquiryIdentifier?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryScheduleGet(inquiryIdentifier?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryScheduleGet(inquiryIdentifier?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryScheduleGet(inquiryIdentifier?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (inquiryIdentifier !== undefined && inquiryIdentifier !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n inquiryIdentifier, 'inquiryIdentifier');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/contact/inquiry/schedule`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateInquiryScheduledFor \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquirySchedulePost(updateInquiryScheduledFor?: UpdateInquiryScheduledFor, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquirySchedulePost(updateInquiryScheduledFor?: UpdateInquiryScheduledFor, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquirySchedulePost(updateInquiryScheduledFor?: UpdateInquiryScheduledFor, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquirySchedulePost(updateInquiryScheduledFor?: UpdateInquiryScheduledFor, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/contact/inquiry/schedule`,\n updateInquiryScheduledFor,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InquiryDashboardSummaryDto } from '../model/inquiryDashboardSummaryDto';\n// @ts-ignore\nimport { InquiryOpenDto } from '../model/inquiryOpenDto';\n// @ts-ignore\nimport { InquirySummaryFilters } from '../model/inquirySummaryFilters';\n// @ts-ignore\nimport { InquiryTimelineDto } from '../model/inquiryTimelineDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InquiryDashboardService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryDashboardDetailsInquiryIdGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryDashboardDetailsInquiryIdGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryDashboardDetailsInquiryIdGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryDashboardDetailsInquiryIdGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling contactInquiryDashboardDetailsInquiryIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/contact/inquiry/dashboard/details/${encodeURIComponent(String(inquiryId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryDashboardDetailsInquiryIdTimelineGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryDashboardDetailsInquiryIdTimelineGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryDashboardDetailsInquiryIdTimelineGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryDashboardDetailsInquiryIdTimelineGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling contactInquiryDashboardDetailsInquiryIdTimelineGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/contact/inquiry/dashboard/details/${encodeURIComponent(String(inquiryId))}/timeline`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryDashboardOpenMeGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryDashboardOpenMeGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public contactInquiryDashboardOpenMeGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public contactInquiryDashboardOpenMeGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/contact/inquiry/dashboard/open/me`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquirySummaryFilters \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryDashboardPost(inquirySummaryFilters?: InquirySummaryFilters, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryDashboardPost(inquirySummaryFilters?: InquirySummaryFilters, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public contactInquiryDashboardPost(inquirySummaryFilters?: InquirySummaryFilters, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public contactInquiryDashboardPost(inquirySummaryFilters?: InquirySummaryFilters, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post>(`${this.configuration.basePath}/contact/inquiry/dashboard`,\n inquirySummaryFilters,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { EditInquiryBaseDataBody } from '../model/editInquiryBaseDataBody';\n// @ts-ignore\nimport { InquiryDto } from '../model/inquiryDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InquiryEditService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param editInquiryBaseDataBody \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryInquiryIdEditPut(inquiryId: string, editInquiryBaseDataBody?: EditInquiryBaseDataBody, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryInquiryIdEditPut(inquiryId: string, editInquiryBaseDataBody?: EditInquiryBaseDataBody, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdEditPut(inquiryId: string, editInquiryBaseDataBody?: EditInquiryBaseDataBody, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdEditPut(inquiryId: string, editInquiryBaseDataBody?: EditInquiryBaseDataBody, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling contactInquiryInquiryIdEditPut.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/contact/inquiry/${encodeURIComponent(String(inquiryId))}/edit`,\n editInquiryBaseDataBody,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateInquiryLocation } from '../model/createInquiryLocation';\n// @ts-ignore\nimport { InquiryLocationDto } from '../model/inquiryLocationDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InquiryLocationService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param createInquiryLocation \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public contactInquiryInquiryIdLocationPost(inquiryId: string, createInquiryLocation?: CreateInquiryLocation, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public contactInquiryInquiryIdLocationPost(inquiryId: string, createInquiryLocation?: CreateInquiryLocation, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdLocationPost(inquiryId: string, createInquiryLocation?: CreateInquiryLocation, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public contactInquiryInquiryIdLocationPost(inquiryId: string, createInquiryLocation?: CreateInquiryLocation, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling contactInquiryInquiryIdLocationPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/contact/inquiry/${encodeURIComponent(String(inquiryId))}/location`,\n createInquiryLocation,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InvitationStatusDto } from '../model/invitationStatusDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InvitationStatusService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public notificationStatusInquiryIdGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public notificationStatusInquiryIdGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationStatusInquiryIdGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationStatusInquiryIdGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling notificationStatusInquiryIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/notification/status/${encodeURIComponent(String(inquiryId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateLegalEntity } from '../model/createLegalEntity';\n// @ts-ignore\nimport { LegalEntityDto } from '../model/legalEntityDto';\n// @ts-ignore\nimport { UpdateLegalEntityRequest } from '../model/updateLegalEntityRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LegalEntityService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyLegalEntityGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public companyLegalEntityGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public companyLegalEntityGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/company/legal-entity`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param legalEntityId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyLegalEntityLegalEntityIdDelete(legalEntityId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyLegalEntityLegalEntityIdDelete(legalEntityId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityLegalEntityIdDelete(legalEntityId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityLegalEntityIdDelete(legalEntityId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (legalEntityId === null || legalEntityId === undefined) {\n throw new Error('Required parameter legalEntityId was null or undefined when calling companyLegalEntityLegalEntityIdDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/company/legal-entity/${encodeURIComponent(String(legalEntityId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param legalEntityId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyLegalEntityLegalEntityIdGet(legalEntityId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyLegalEntityLegalEntityIdGet(legalEntityId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityLegalEntityIdGet(legalEntityId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityLegalEntityIdGet(legalEntityId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (legalEntityId === null || legalEntityId === undefined) {\n throw new Error('Required parameter legalEntityId was null or undefined when calling companyLegalEntityLegalEntityIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/company/legal-entity/${encodeURIComponent(String(legalEntityId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param legalEntityId \n * @param updateLegalEntityRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyLegalEntityLegalEntityIdPatch(legalEntityId: string, updateLegalEntityRequest?: UpdateLegalEntityRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyLegalEntityLegalEntityIdPatch(legalEntityId: string, updateLegalEntityRequest?: UpdateLegalEntityRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityLegalEntityIdPatch(legalEntityId: string, updateLegalEntityRequest?: UpdateLegalEntityRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityLegalEntityIdPatch(legalEntityId: string, updateLegalEntityRequest?: UpdateLegalEntityRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (legalEntityId === null || legalEntityId === undefined) {\n throw new Error('Required parameter legalEntityId was null or undefined when calling companyLegalEntityLegalEntityIdPatch.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.patch(`${this.configuration.basePath}/company/legal-entity/${encodeURIComponent(String(legalEntityId))}`,\n updateLegalEntityRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createLegalEntity \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyLegalEntityPost(createLegalEntity?: CreateLegalEntity, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyLegalEntityPost(createLegalEntity?: CreateLegalEntity, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityPost(createLegalEntity?: CreateLegalEntity, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyLegalEntityPost(createLegalEntity?: CreateLegalEntity, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company/legal-entity`,\n createLegalEntity,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { ChatMessageDto } from '../model/chatMessageDto';\n// @ts-ignore\nimport { NewChatMessageRequest } from '../model/newChatMessageRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LiveChatService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public chatAgentInquiryIdGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public chatAgentInquiryIdGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public chatAgentInquiryIdGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public chatAgentInquiryIdGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling chatAgentInquiryIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/chat/agent/${encodeURIComponent(String(inquiryId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param newChatMessageRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public chatAgentInquiryIdPost(inquiryId: string, newChatMessageRequest?: NewChatMessageRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public chatAgentInquiryIdPost(inquiryId: string, newChatMessageRequest?: NewChatMessageRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public chatAgentInquiryIdPost(inquiryId: string, newChatMessageRequest?: NewChatMessageRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public chatAgentInquiryIdPost(inquiryId: string, newChatMessageRequest?: NewChatMessageRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling chatAgentInquiryIdPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/chat/agent/${encodeURIComponent(String(inquiryId))}`,\n newChatMessageRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { ChatMessageTranslationDto } from '../model/chatMessageTranslationDto';\n// @ts-ignore\nimport { TranslateChatMessageRequest } from '../model/translateChatMessageRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LiveChatTranslationService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param messageId \n * @param translateChatMessageRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public chatTranslationsMessageIdPatch(messageId: string, translateChatMessageRequest?: TranslateChatMessageRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public chatTranslationsMessageIdPatch(messageId: string, translateChatMessageRequest?: TranslateChatMessageRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public chatTranslationsMessageIdPatch(messageId: string, translateChatMessageRequest?: TranslateChatMessageRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public chatTranslationsMessageIdPatch(messageId: string, translateChatMessageRequest?: TranslateChatMessageRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (messageId === null || messageId === undefined) {\n throw new Error('Required parameter messageId was null or undefined when calling chatTranslationsMessageIdPatch.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.patch(`${this.configuration.basePath}/chat/translations/${encodeURIComponent(String(messageId))}`,\n translateChatMessageRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { NotesDocumentationDto } from '../model/notesDocumentationDto';\n// @ts-ignore\nimport { UpdateNotesDocumentationBody } from '../model/updateNotesDocumentationBody';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotesDocumentationService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public notesInquiryIdGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public notesInquiryIdGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notesInquiryIdGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notesInquiryIdGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling notesInquiryIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/notes/${encodeURIComponent(String(inquiryId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param updateNotesDocumentationBody \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public notesInquiryIdPost(inquiryId: string, updateNotesDocumentationBody?: UpdateNotesDocumentationBody, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public notesInquiryIdPost(inquiryId: string, updateNotesDocumentationBody?: UpdateNotesDocumentationBody, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notesInquiryIdPost(inquiryId: string, updateNotesDocumentationBody?: UpdateNotesDocumentationBody, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notesInquiryIdPost(inquiryId: string, updateNotesDocumentationBody?: UpdateNotesDocumentationBody, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling notesInquiryIdPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/notes/${encodeURIComponent(String(inquiryId))}`,\n updateNotesDocumentationBody,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { NotificationCenterConnectionInfoDto } from '../model/notificationCenterConnectionInfoDto';\n// @ts-ignore\nimport { NotificationDto } from '../model/notificationDto';\n// @ts-ignore\nimport { UpdateNotificationRequest } from '../model/updateNotificationRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationCenterService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public notificationCenterConnectionInfoGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public notificationCenterConnectionInfoGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationCenterConnectionInfoGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationCenterConnectionInfoGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/notification-center/connection-info`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public notificationCenterNotificationMonthGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationCenterNotificationMonthGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public notificationCenterNotificationMonthGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public notificationCenterNotificationMonthGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/notification-center/notification/month`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateNotificationRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public notificationCenterNotificationPatch(updateNotificationRequest?: UpdateNotificationRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public notificationCenterNotificationPatch(updateNotificationRequest?: UpdateNotificationRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationCenterNotificationPatch(updateNotificationRequest?: UpdateNotificationRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationCenterNotificationPatch(updateNotificationRequest?: UpdateNotificationRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.patch(`${this.configuration.basePath}/notification-center/notification`,\n updateNotificationRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { PhoneNumberValidationResult } from '../model/phoneNumberValidationResult';\n// @ts-ignore\nimport { ValidatePhoneNumber } from '../model/validatePhoneNumber';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificationValidationService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param validatePhoneNumber \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public notificationValidatePhoneNumberPost(validatePhoneNumber?: ValidatePhoneNumber, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public notificationValidatePhoneNumberPost(validatePhoneNumber?: ValidatePhoneNumber, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationValidatePhoneNumberPost(validatePhoneNumber?: ValidatePhoneNumber, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public notificationValidatePhoneNumberPost(validatePhoneNumber?: ValidatePhoneNumber, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/notification/validate/phone-number`,\n validatePhoneNumber,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { OtpSettingsDto } from '../model/otpSettingsDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OtpService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyOtpGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public companyOtpGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyOtpGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public companyOtpGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/company/otp`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param body \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyOtpOptionalPost(body?: object, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public companyOtpOptionalPost(body?: object, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public companyOtpOptionalPost(body?: object, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public companyOtpOptionalPost(body?: object, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company/otp/optional`,\n body,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param body \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public companyOtpRequirePost(body?: object, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public companyOtpRequirePost(body?: object, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public companyOtpRequirePost(body?: object, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public companyOtpRequirePost(body?: object, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/company/otp/require`,\n body,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CheckPassword } from '../model/checkPassword';\n// @ts-ignore\nimport { PasswordCheckDto } from '../model/passwordCheckDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PasswordService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param checkPassword \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public passwordValidatePost(checkPassword?: CheckPassword, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public passwordValidatePost(checkPassword?: CheckPassword, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public passwordValidatePost(checkPassword?: CheckPassword, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public passwordValidatePost(checkPassword?: CheckPassword, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/password/validate`,\n checkPassword,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CredentialsDto } from '../model/credentialsDto';\n// @ts-ignore\nimport { GetPluginAccessToken } from '../model/getPluginAccessToken';\n// @ts-ignore\nimport { GetPluginCredentials } from '../model/getPluginCredentials';\n// @ts-ignore\nimport { OpenIdConnectDto } from '../model/openIdConnectDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PluginService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param getPluginCredentials \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public pluginCredentialsPost(getPluginCredentials?: GetPluginCredentials, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public pluginCredentialsPost(getPluginCredentials?: GetPluginCredentials, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public pluginCredentialsPost(getPluginCredentials?: GetPluginCredentials, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public pluginCredentialsPost(getPluginCredentials?: GetPluginCredentials, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/plugin/credentials`,\n getPluginCredentials,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param getPluginAccessToken \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public pluginTokenPost(getPluginAccessToken?: GetPluginAccessToken, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public pluginTokenPost(getPluginAccessToken?: GetPluginAccessToken, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public pluginTokenPost(getPluginAccessToken?: GetPluginAccessToken, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public pluginTokenPost(getPluginAccessToken?: GetPluginAccessToken, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/plugin/token`,\n getPluginAccessToken,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { EmployeeDto } from '../model/employeeDto';\n// @ts-ignore\nimport { UpdateEmployee } from '../model/updateEmployee';\n// @ts-ignore\nimport { UploadAndUpdateAvatar } from '../model/uploadAndUpdateAvatar';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param uploadAndUpdateAvatar \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public profileAvatarPost(uploadAndUpdateAvatar?: UploadAndUpdateAvatar, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public profileAvatarPost(uploadAndUpdateAvatar?: UploadAndUpdateAvatar, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public profileAvatarPost(uploadAndUpdateAvatar?: UploadAndUpdateAvatar, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public profileAvatarPost(uploadAndUpdateAvatar?: UploadAndUpdateAvatar, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/profile/avatar`,\n uploadAndUpdateAvatar,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public profileGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public profileGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public profileGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public profileGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/profile`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param updateEmployee \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public profilePut(updateEmployee?: UpdateEmployee, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public profilePut(updateEmployee?: UpdateEmployee, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public profilePut(updateEmployee?: UpdateEmployee, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public profilePut(updateEmployee?: UpdateEmployee, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/profile`,\n updateEmployee,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { QuotaDto } from '../model/quotaDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class QuotaService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public quotaGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public quotaGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public quotaGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public quotaGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/quota`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { RegistrationValidationDto } from '../model/registrationValidationDto';\n// @ts-ignore\nimport { ValidateRegistrationToken } from '../model/validateRegistrationToken';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegistrationValidationService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param validateRegistrationToken \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public registrationValidationValidateTokenPost(validateRegistrationToken?: ValidateRegistrationToken, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public registrationValidationValidateTokenPost(validateRegistrationToken?: ValidateRegistrationToken, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public registrationValidationValidateTokenPost(validateRegistrationToken?: ValidateRegistrationToken, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public registrationValidationValidateTokenPost(validateRegistrationToken?: ValidateRegistrationToken, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/registration-validation/validate-token`,\n validateRegistrationToken,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateInquirySummaryReport } from '../model/createInquirySummaryReport';\n// @ts-ignore\nimport { ReportDto } from '../model/reportDto';\n// @ts-ignore\nimport { ReportMailResultDto } from '../model/reportMailResultDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public reportInquiryInquiryIdGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public reportInquiryInquiryIdGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public reportInquiryInquiryIdGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public reportInquiryInquiryIdGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling reportInquiryInquiryIdGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/report/inquiry/${encodeURIComponent(String(inquiryId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param createInquirySummaryReport \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public reportInquiryPost(createInquirySummaryReport?: CreateInquirySummaryReport, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public reportInquiryPost(createInquirySummaryReport?: CreateInquirySummaryReport, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public reportInquiryPost(createInquirySummaryReport?: CreateInquirySummaryReport, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public reportInquiryPost(createInquirySummaryReport?: CreateInquirySummaryReport, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/report/inquiry`,\n createInquirySummaryReport,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param reportId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public reportReportIdDelete(reportId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public reportReportIdDelete(reportId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public reportReportIdDelete(reportId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public reportReportIdDelete(reportId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n if (reportId === null || reportId === undefined) {\n throw new Error('Required parameter reportId was null or undefined when calling reportReportIdDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/report/${encodeURIComponent(String(reportId))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param reportId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public reportReportIdEmailPost(reportId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public reportReportIdEmailPost(reportId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public reportReportIdEmailPost(reportId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public reportReportIdEmailPost(reportId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (reportId === null || reportId === undefined) {\n throw new Error('Required parameter reportId was null or undefined when calling reportReportIdEmailPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/report/${encodeURIComponent(String(reportId))}/email`,\n null,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param reportId \n * @param fileName \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public reportReportIdPut(reportId: string, fileName?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public reportReportIdPut(reportId: string, fileName?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public reportReportIdPut(reportId: string, fileName?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public reportReportIdPut(reportId: string, fileName?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (reportId === null || reportId === undefined) {\n throw new Error('Required parameter reportId was null or undefined when calling reportReportIdPut.');\n }\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (fileName !== undefined && fileName !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n fileName, 'fileName');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.put(`${this.configuration.basePath}/report/${encodeURIComponent(String(reportId))}`,\n null,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { SavedDuration } from '../model/savedDuration';\n// @ts-ignore\nimport { UpdateCustomerSavedDurationRequest } from '../model/updateCustomerSavedDurationRequest';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SavedDurationService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public inquiryIdSavedDurationGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public inquiryIdSavedDurationGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public inquiryIdSavedDurationGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public inquiryIdSavedDurationGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling inquiryIdSavedDurationGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/${encodeURIComponent(String(inquiryId))}/saved-duration`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param inquiryId \n * @param updateCustomerSavedDurationRequest \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public inquiryIdSavedDurationPost(inquiryId: string, updateCustomerSavedDurationRequest?: UpdateCustomerSavedDurationRequest, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public inquiryIdSavedDurationPost(inquiryId: string, updateCustomerSavedDurationRequest?: UpdateCustomerSavedDurationRequest, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public inquiryIdSavedDurationPost(inquiryId: string, updateCustomerSavedDurationRequest?: UpdateCustomerSavedDurationRequest, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public inquiryIdSavedDurationPost(inquiryId: string, updateCustomerSavedDurationRequest?: UpdateCustomerSavedDurationRequest, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling inquiryIdSavedDurationPost.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/${encodeURIComponent(String(inquiryId))}/saved-duration`,\n updateCustomerSavedDurationRequest,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { StaticTemplateDto } from '../model/staticTemplateDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StaticTemplateService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public staticTemplateGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public staticTemplateGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public staticTemplateGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public staticTemplateGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/static-template`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param identifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public staticTemplateIdentifierAllCulturesGet(identifier: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public staticTemplateIdentifierAllCulturesGet(identifier: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public staticTemplateIdentifierAllCulturesGet(identifier: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public staticTemplateIdentifierAllCulturesGet(identifier: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (identifier === null || identifier === undefined) {\n throw new Error('Required parameter identifier was null or undefined when calling staticTemplateIdentifierAllCulturesGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/static-template/${encodeURIComponent(String(identifier))}/all-cultures`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param identifier \n * @param cultureCode \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public staticTemplateIdentifierGet(identifier: string, cultureCode?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public staticTemplateIdentifierGet(identifier: string, cultureCode?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public staticTemplateIdentifierGet(identifier: string, cultureCode?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public staticTemplateIdentifierGet(identifier: string, cultureCode?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (identifier === null || identifier === undefined) {\n throw new Error('Required parameter identifier was null or undefined when calling staticTemplateIdentifierGet.');\n }\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (cultureCode !== undefined && cultureCode !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n cultureCode, 'cultureCode');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/static-template/${encodeURIComponent(String(identifier))}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CurrentSubscriptionPeriodDto } from '../model/currentSubscriptionPeriodDto';\n// @ts-ignore\nimport { SubscriptionDto } from '../model/subscriptionDto';\n// @ts-ignore\nimport { SubscriptionEndTimeDto } from '../model/subscriptionEndTimeDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SubscriptionService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public subscriptionActiveGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public subscriptionActiveGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionActiveGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionActiveGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/subscription/active`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public subscriptionGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public subscriptionGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>>;\n public subscriptionGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get>(`${this.configuration.basePath}/subscription`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public subscriptionLatestPeriodGet(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public subscriptionLatestPeriodGet(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionLatestPeriodGet(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionLatestPeriodGet(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/subscription/latestPeriod`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param subscriptionIdentifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public subscriptionSubscriptionIdentifierDelete(subscriptionIdentifier: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public subscriptionSubscriptionIdentifierDelete(subscriptionIdentifier: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionSubscriptionIdentifierDelete(subscriptionIdentifier: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionSubscriptionIdentifierDelete(subscriptionIdentifier: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (subscriptionIdentifier === null || subscriptionIdentifier === undefined) {\n throw new Error('Required parameter subscriptionIdentifier was null or undefined when calling subscriptionSubscriptionIdentifierDelete.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.delete(`${this.configuration.basePath}/subscription/${encodeURIComponent(String(subscriptionIdentifier))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param subscriptionIdentifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public subscriptionSubscriptionIdentifierEndTimeGet(subscriptionIdentifier: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public subscriptionSubscriptionIdentifierEndTimeGet(subscriptionIdentifier: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionSubscriptionIdentifierEndTimeGet(subscriptionIdentifier: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionSubscriptionIdentifierEndTimeGet(subscriptionIdentifier: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (subscriptionIdentifier === null || subscriptionIdentifier === undefined) {\n throw new Error('Required parameter subscriptionIdentifier was null or undefined when calling subscriptionSubscriptionIdentifierEndTimeGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/subscription/${encodeURIComponent(String(subscriptionIdentifier))}/end-time`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param subscriptionIdentifier \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public subscriptionSubscriptionIdentifierGet(subscriptionIdentifier: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public subscriptionSubscriptionIdentifierGet(subscriptionIdentifier: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionSubscriptionIdentifierGet(subscriptionIdentifier: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public subscriptionSubscriptionIdentifierGet(subscriptionIdentifier: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (subscriptionIdentifier === null || subscriptionIdentifier === undefined) {\n throw new Error('Required parameter subscriptionIdentifier was null or undefined when calling subscriptionSubscriptionIdentifierGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/subscription/${encodeURIComponent(String(subscriptionIdentifier))}`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { VideoAppointmentSyncDto } from '../model/videoAppointmentSyncDto';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SyncAppointmentService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param inquiryId \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public appointmentsRoomInquiryIdSyncGet(inquiryId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable;\n public appointmentsRoomInquiryIdSyncGet(inquiryId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsRoomInquiryIdSyncGet(inquiryId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable>;\n public appointmentsRoomInquiryIdSyncGet(inquiryId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json', context?: HttpContext}): Observable {\n if (inquiryId === null || inquiryId === undefined) {\n throw new Error('Required parameter inquiryId was null or undefined when calling appointmentsRoomInquiryIdSyncGet.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'text/plain',\n 'application/json',\n 'text/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.get(`${this.configuration.basePath}/appointments/room/${encodeURIComponent(String(inquiryId))}/sync`,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { RequestValidateEmail } from '../model/requestValidateEmail';\n// @ts-ignore\nimport { ValidateEmail } from '../model/validateEmail';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ValidateEmailService {\n\n protected basePath = 'http://localhost';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * @param validateEmail \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public validateEmailPost(validateEmail?: ValidateEmail, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public validateEmailPost(validateEmail?: ValidateEmail, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public validateEmailPost(validateEmail?: ValidateEmail, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public validateEmailPost(validateEmail?: ValidateEmail, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/validate-email`,\n validateEmail,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param requestValidateEmail \n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public validateEmailRequestPost(requestValidateEmail?: RequestValidateEmail, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable;\n public validateEmailRequestPost(requestValidateEmail?: RequestValidateEmail, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public validateEmailRequestPost(requestValidateEmail?: RequestValidateEmail, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable>;\n public validateEmailRequestPost(requestValidateEmail?: RequestValidateEmail, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: undefined, context?: HttpContext}): Observable {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (Bearer) required\n localVarCredential = this.configuration.lookupCredential('Bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n // authentication (oauth2) required\n localVarCredential = this.configuration.lookupCredential('oauth2');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json-patch+json',\n 'application/json',\n 'text/json',\n 'application/*+json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n return this.httpClient.post(`${this.configuration.basePath}/validate-email/request`,\n requestValidateEmail,\n {\n context: localVarHttpContext,\n responseType: responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './analytics.service';\nimport { AnalyticsService } from './analytics.service';\nexport * from './applicationSettings.service';\nimport { ApplicationSettingsService } from './applicationSettings.service';\nexport * from './appointment.service';\nimport { AppointmentService } from './appointment.service';\nexport * from './appointmentDashboard.service';\nimport { AppointmentDashboardService } from './appointmentDashboard.service';\nexport * from './appointmentRecording.service';\nimport { AppointmentRecordingService } from './appointmentRecording.service';\nexport * from './assignInquiry.service';\nimport { AssignInquiryService } from './assignInquiry.service';\nexport * from './attachment.service';\nimport { AttachmentService } from './attachment.service';\nexport * from './attachmentCv.service';\nimport { AttachmentCvService } from './attachmentCv.service';\nexport * from './authenticationToken.service';\nimport { AuthenticationTokenService } from './authenticationToken.service';\nexport * from './brandingColor.service';\nimport { BrandingColorService } from './brandingColor.service';\nexport * from './brandingInvitation.service';\nimport { BrandingInvitationService } from './brandingInvitation.service';\nexport * from './company.service';\nimport { CompanyService } from './company.service';\nexport * from './companyAddress.service';\nimport { CompanyAddressService } from './companyAddress.service';\nexport * from './companyLogin.service';\nimport { CompanyLoginService } from './companyLogin.service';\nexport * from './distance.service';\nimport { DistanceService } from './distance.service';\nexport * from './emailAvailable.service';\nimport { EmailAvailableService } from './emailAvailable.service';\nexport * from './employee.service';\nimport { EmployeeService } from './employee.service';\nexport * from './employeeInvite.service';\nimport { EmployeeInviteService } from './employeeInvite.service';\nexport * from './employeeOtp.service';\nimport { EmployeeOtpService } from './employeeOtp.service';\nexport * from './featureTracking.service';\nimport { FeatureTrackingService } from './featureTracking.service';\nexport * from './initializationStatus.service';\nimport { InitializationStatusService } from './initializationStatus.service';\nexport * from './inquiry.service';\nimport { InquiryService } from './inquiry.service';\nexport * from './inquiryAccess.service';\nimport { InquiryAccessService } from './inquiryAccess.service';\nexport * from './inquiryDashboard.service';\nimport { InquiryDashboardService } from './inquiryDashboard.service';\nexport * from './inquiryEdit.service';\nimport { InquiryEditService } from './inquiryEdit.service';\nexport * from './inquiryLocation.service';\nimport { InquiryLocationService } from './inquiryLocation.service';\nexport * from './inquirySettings.service';\nimport { InquirySettingsService } from './inquirySettings.service';\nexport * from './invitationStatus.service';\nimport { InvitationStatusService } from './invitationStatus.service';\nexport * from './legalEntity.service';\nimport { LegalEntityService } from './legalEntity.service';\nexport * from './liveChat.service';\nimport { LiveChatService } from './liveChat.service';\nexport * from './liveChatTranslation.service';\nimport { LiveChatTranslationService } from './liveChatTranslation.service';\nexport * from './notesDocumentation.service';\nimport { NotesDocumentationService } from './notesDocumentation.service';\nexport * from './notificationCenter.service';\nimport { NotificationCenterService } from './notificationCenter.service';\nexport * from './notificationValidation.service';\nimport { NotificationValidationService } from './notificationValidation.service';\nexport * from './otp.service';\nimport { OtpService } from './otp.service';\nexport * from './password.service';\nimport { PasswordService } from './password.service';\nexport * from './ping.service';\nimport { PingService } from './ping.service';\nexport * from './plugin.service';\nimport { PluginService } from './plugin.service';\nexport * from './profile.service';\nimport { ProfileService } from './profile.service';\nexport * from './quota.service';\nimport { QuotaService } from './quota.service';\nexport * from './registrationValidation.service';\nimport { RegistrationValidationService } from './registrationValidation.service';\nexport * from './report.service';\nimport { ReportService } from './report.service';\nexport * from './savedDuration.service';\nimport { SavedDurationService } from './savedDuration.service';\nexport * from './staticTemplate.service';\nimport { StaticTemplateService } from './staticTemplate.service';\nexport * from './subscription.service';\nimport { SubscriptionService } from './subscription.service';\nexport * from './syncAppointment.service';\nimport { SyncAppointmentService } from './syncAppointment.service';\nexport * from './validateEmail.service';\nimport { ValidateEmailService } from './validateEmail.service';\nexport const APIS = [AnalyticsService, ApplicationSettingsService, AppointmentService, AppointmentDashboardService, AppointmentRecordingService, AssignInquiryService, AttachmentService, AttachmentCvService, AuthenticationTokenService, BrandingColorService, BrandingInvitationService, CompanyService, CompanyAddressService, CompanyLoginService, DistanceService, EmailAvailableService, EmployeeService, EmployeeInviteService, EmployeeOtpService, FeatureTrackingService, InitializationStatusService, InquiryService, InquiryAccessService, InquiryDashboardService, InquiryEditService, InquiryLocationService, InquirySettingsService, InvitationStatusService, LegalEntityService, LiveChatService, LiveChatTranslationService, NotesDocumentationService, NotificationCenterService, NotificationValidationService, OtpService, PasswordService, PingService, PluginService, ProfileService, QuotaService, RegistrationValidationService, ReportService, SavedDurationService, StaticTemplateService, SubscriptionService, SyncAppointmentService, ValidateEmailService];\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type Author = 'Helper' | 'Customer';\n\nexport const Author = {\n Helper: 'Helper' as Author,\n Customer: 'Customer' as Author\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DevicePermission = 'Denied' | 'Granted' | 'Prompt' | 'PermissionApiUnavailable' | 'Unknown' | 'DeniedOnSystemLevel';\n\nexport const DevicePermission = {\n Denied: 'Denied' as DevicePermission,\n Granted: 'Granted' as DevicePermission,\n Prompt: 'Prompt' as DevicePermission,\n PermissionApiUnavailable: 'PermissionApiUnavailable' as DevicePermission,\n Unknown: 'Unknown' as DevicePermission,\n DeniedOnSystemLevel: 'DeniedOnSystemLevel' as DevicePermission\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type Distance = 'OneToFifty' | 'FiftyToHundred' | 'HundredToTwoHundred' | 'MoreThanTwoHundred';\n\nexport const Distance = {\n OneToFifty: 'OneToFifty' as Distance,\n FiftyToHundred: 'FiftyToHundred' as Distance,\n HundredToTwoHundred: 'HundredToTwoHundred' as Distance,\n MoreThanTwoHundred: 'MoreThanTwoHundred' as Distance\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type EmployeeType = 'Agent' | 'Manager' | 'Administrator';\n\nexport const EmployeeType = {\n Agent: 'Agent' as EmployeeType,\n Manager: 'Manager' as EmployeeType,\n Administrator: 'Administrator' as EmployeeType\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type InquiryState = 'Open' | 'SuccessfullyFinished' | 'Cancelled' | 'Expired' | 'Error' | 'Deleted';\n\nexport const InquiryState = {\n Open: 'Open' as InquiryState,\n SuccessfullyFinished: 'SuccessfullyFinished' as InquiryState,\n Cancelled: 'Cancelled' as InquiryState,\n Expired: 'Expired' as InquiryState,\n Error: 'Error' as InquiryState,\n Deleted: 'Deleted' as InquiryState\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type Origin = 'Uploaded' | 'Recorded';\n\nexport const Origin = {\n Uploaded: 'Uploaded' as Origin,\n Recorded: 'Recorded' as Origin\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type SavedDuration = 'ZeroToOneHour' | 'OneHourToTwoHours' | 'TwoHoursToFiveHours' | 'MoreThanFiveHours';\n\nexport const SavedDuration = {\n ZeroToOneHour: 'ZeroToOneHour' as SavedDuration,\n OneHourToTwoHours: 'OneHourToTwoHours' as SavedDuration,\n TwoHoursToFiveHours: 'TwoHoursToFiveHours' as SavedDuration,\n MoreThanFiveHours: 'MoreThanFiveHours' as SavedDuration\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type SmsStatus = 'Sent' | 'Delivered' | 'Clicked' | 'Error';\n\nexport const SmsStatus = {\n Sent: 'Sent' as SmsStatus,\n Delivered: 'Delivered' as SmsStatus,\n Clicked: 'Clicked' as SmsStatus,\n Error: 'Error' as SmsStatus\n};\n\n","/**\n * Agent Client\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type TimelineEventType = 'InquiryCreated' | 'AppointmentSuggested' | 'AppointmentAccepted' | 'CallFinished' | 'Expired' | 'Canceled' | 'Finished' | 'InstantInquiryCreated';\n\nexport const TimelineEventType = {\n InquiryCreated: 'InquiryCreated' as TimelineEventType,\n AppointmentSuggested: 'AppointmentSuggested' as TimelineEventType,\n AppointmentAccepted: 'AppointmentAccepted' as TimelineEventType,\n CallFinished: 'CallFinished' as TimelineEventType,\n Expired: 'Expired' as TimelineEventType,\n Canceled: 'Canceled' as TimelineEventType,\n Finished: 'Finished' as TimelineEventType,\n InstantInquiryCreated: 'InstantInquiryCreated' as TimelineEventType\n};\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AnalyticsService } from './api/analytics.service';\nimport { ApplicationSettingsService } from './api/applicationSettings.service';\nimport { AppointmentService } from './api/appointment.service';\nimport { AppointmentDashboardService } from './api/appointmentDashboard.service';\nimport { AppointmentRecordingService } from './api/appointmentRecording.service';\nimport { AssignInquiryService } from './api/assignInquiry.service';\nimport { AttachmentService } from './api/attachment.service';\nimport { AttachmentCvService } from './api/attachmentCv.service';\nimport { AuthenticationTokenService } from './api/authenticationToken.service';\nimport { BrandingColorService } from './api/brandingColor.service';\nimport { BrandingInvitationService } from './api/brandingInvitation.service';\nimport { CompanyService } from './api/company.service';\nimport { CompanyAddressService } from './api/companyAddress.service';\nimport { CompanyLoginService } from './api/companyLogin.service';\nimport { DistanceService } from './api/distance.service';\nimport { EmailAvailableService } from './api/emailAvailable.service';\nimport { EmployeeService } from './api/employee.service';\nimport { EmployeeInviteService } from './api/employeeInvite.service';\nimport { EmployeeOtpService } from './api/employeeOtp.service';\nimport { FeatureTrackingService } from './api/featureTracking.service';\nimport { InitializationStatusService } from './api/initializationStatus.service';\nimport { InquiryService } from './api/inquiry.service';\nimport { InquiryAccessService } from './api/inquiryAccess.service';\nimport { InquiryDashboardService } from './api/inquiryDashboard.service';\nimport { InquiryEditService } from './api/inquiryEdit.service';\nimport { InquiryLocationService } from './api/inquiryLocation.service';\nimport { InquirySettingsService } from './api/inquirySettings.service';\nimport { InvitationStatusService } from './api/invitationStatus.service';\nimport { LegalEntityService } from './api/legalEntity.service';\nimport { LiveChatService } from './api/liveChat.service';\nimport { LiveChatTranslationService } from './api/liveChatTranslation.service';\nimport { NotesDocumentationService } from './api/notesDocumentation.service';\nimport { NotificationCenterService } from './api/notificationCenter.service';\nimport { NotificationValidationService } from './api/notificationValidation.service';\nimport { OtpService } from './api/otp.service';\nimport { PasswordService } from './api/password.service';\nimport { PingService } from './api/ping.service';\nimport { PluginService } from './api/plugin.service';\nimport { ProfileService } from './api/profile.service';\nimport { QuotaService } from './api/quota.service';\nimport { RegistrationValidationService } from './api/registrationValidation.service';\nimport { ReportService } from './api/report.service';\nimport { SavedDurationService } from './api/savedDuration.service';\nimport { StaticTemplateService } from './api/staticTemplate.service';\nimport { SubscriptionService } from './api/subscription.service';\nimport { SyncAppointmentService } from './api/syncAppointment.service';\nimport { ValidateEmailService } from './api/validateEmail.service';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: []\n})\nexport class ApiModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\n return {\n ngModule: ApiModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { fromEvent, merge, Observable, Subject, Subscription } from 'rxjs';\nimport { map, pairwise, switchMap, takeUntil } from 'rxjs/operators';\nimport { CanvasSyncService } from '../services/canvas-sync.service';\n\n// TODO: Maybe it would be better if the canvas does not know about modes and origins (local, remote) etc, but rather just\n// receives events which should be drawn\n@Component({\n selector: 'app-drawing-canvas',\n templateUrl: './drawing-canvas.component.html',\n styleUrls: ['./drawing-canvas.component.scss'],\n})\nexport class DrawingCanvasComponent implements OnInit, OnDestroy {\n @ViewChild('canvas', { static: true })\n public canvas: ElementRef;\n\n @Input() public mode$: Observable;\n @Input() public externalDrawEvent$: Observable;\n @Input() public canvasSyncService: CanvasSyncService;\n @Output()\n public drawn = new EventEmitter();\n private mode: Mode;\n private drawingStack: { start: Point; end: Point }[][] = [];\n private cx: CanvasRenderingContext2D;\n\n private readonly drawUnsubscribe$ = new Subject();\n private readonly unsubscribeFromExternalEvent$ = new Subject();\n\n private modeListener: Subscription;\n\n private readonly drawStyle = {\n lineWidth: 3,\n color: '#fff000',\n };\n private readonly pointStyle = {\n lineWidth: 10,\n color: '#ff0000',\n };\n\n private readonly externalPointStyle = {\n lineWidth: 10,\n color: '#5468ea',\n };\n\n public ngOnInit() {\n this.setupCanvas();\n\n this.modeListener = this.mode$.subscribe((mode) => {\n if (mode === Mode.Idle) {\n this.drawUnsubscribe$.next();\n } else if (mode !== Mode.Annotate_Attachment) {\n this.drawUnsubscribe$.next();\n this.mode = mode;\n if (this.mode !== Mode.Arrow) {\n this.captureEvents(this.canvas.nativeElement);\n } else {\n this.setupAnnotationClickListener();\n }\n }\n });\n\n if (this.externalDrawEvent$) {\n this.externalDrawEvent$\n .pipe(takeUntil(this.unsubscribeFromExternalEvent$))\n .subscribe((drawEvent) => {\n const canvasEl: HTMLCanvasElement = this.canvas.nativeElement;\n if (!this.cx) {\n this.cx = canvasEl.getContext('2d');\n }\n if (drawEvent.mode === Mode.Point || drawEvent.mode === Mode.Draw) {\n this.drawOnCanvas(\n {\n x: drawEvent.prevPosition.x * canvasEl.width,\n y: drawEvent.prevPosition.y * canvasEl.height,\n },\n {\n x: drawEvent.currentPosition.x * canvasEl.width,\n y: drawEvent.currentPosition.y * canvasEl.height,\n },\n drawEvent.mode === Mode.Point\n ? this.externalPointStyle\n : this.drawStyle,\n );\n } else if (drawEvent.mode == Mode.Delete) {\n this.resetCanvas();\n }\n });\n }\n }\n\n ngOnDestroy() {\n this.resetCanvas();\n this.drawUnsubscribe$.next();\n this.drawUnsubscribe$.complete();\n this.unsubscribeFromExternalEvent$.next();\n this.unsubscribeFromExternalEvent$.complete();\n this.modeListener.unsubscribe();\n }\n\n clear() {\n this.resetCanvas();\n }\n\n public setupCanvas() {\n const canvasEl: HTMLCanvasElement = this.canvas.nativeElement;\n this.cx = canvasEl.getContext('2d');\n if (this.canvasSyncService)\n this.canvasSyncService.setDrawingCanvas(canvasEl);\n }\n\n public undoLine() {\n const idx = this.drawingStack.findIndex((x) => x.length === 0) - 1;\n if (idx >= 0) {\n this.drawingStack.splice(idx, 1);\n }\n this.redrawFromStack();\n }\n\n // we might want to use host listeners here as well: https://pusher.com/tutorials/collaborative-painting-angular/\n private captureEvents(canvasEl: HTMLCanvasElement) {\n down(canvasEl)\n .pipe(\n takeUntil(this.drawUnsubscribe$),\n switchMap((e) => {\n return move(canvasEl).pipe(\n takeUntil(up(canvasEl)),\n takeUntil(this.drawUnsubscribe$),\n // pairwise lets us get the previous value to draw a line from\n // the previous point to the current point\n pairwise(),\n );\n }),\n )\n .subscribe(\n (res: [{ x: number; y: number }, { x: number; y: number }]) => {\n const rect = canvasEl.getBoundingClientRect();\n\n // previous and current position with the offset\n const prevPos = {\n x: res[0].x - rect.left,\n y: res[0].y - rect.top,\n };\n\n const currentPos = {\n x: res[1].x - rect.left,\n y: res[1].y - rect.top,\n };\n\n this.drawOnCanvas(\n prevPos,\n currentPos,\n this.mode === Mode.Point ? this.pointStyle : this.drawStyle,\n );\n\n this.escalateDrawEvent(prevPos, currentPos, rect);\n if (this.mode === Mode.Draw) {\n if (this.drawingStack.length === 0) this.drawingStack.push([]);\n this.drawingStack[this.drawingStack.length - 1].push({\n start: prevPos,\n end: currentPos,\n });\n }\n },\n );\n\n up(canvasEl)\n .pipe(takeUntil(this.drawUnsubscribe$))\n .subscribe((_) => {\n if (this.mode === Mode.Point) {\n setTimeout(() => {\n this.redrawFromStack();\n this.drawn.emit({\n mode: Mode.Delete,\n prevPosition: { x: -1, y: -1 },\n currentPosition: { x: -1, y: -1 },\n });\n }, 1000);\n } else if (this.mode === Mode.Draw) {\n this.drawingStack.push([]);\n }\n });\n }\n\n private drawOnCanvas(\n prevPos: Point,\n currentPos: Point,\n style: { lineWidth: number; color: string },\n ) {\n if (!this.cx) {\n return;\n }\n this.cx.lineWidth = style.lineWidth;\n this.cx.lineCap = 'round';\n this.cx.strokeStyle = style.color;\n\n this.cx.beginPath();\n\n if (prevPos) {\n this.cx.moveTo(prevPos.x, prevPos.y); // from\n this.cx.lineTo(currentPos.x, currentPos.y);\n this.cx.stroke();\n }\n }\n\n private setupAnnotationClickListener() {\n const canvasEl: HTMLCanvasElement = this.canvas.nativeElement;\n down(canvasEl)\n .pipe(\n map((e) => e as MouseEvent),\n takeUntil(this.drawUnsubscribe$),\n )\n .subscribe((event: MouseEvent) => {\n this.drawn.emit({ mode: Mode.Arrow, currentPosition: event });\n });\n }\n\n private escalateDrawEvent(prevPos: Point, currentPos: Point, rect: any) {\n const prevNorm = {\n x: prevPos.x / rect.width,\n y: prevPos.y / rect.height,\n };\n const currNorm = {\n x: currentPos.x / rect.width,\n y: currentPos.y / rect.height,\n };\n\n this.drawn.emit({\n mode: this.mode,\n currentPosition: currNorm,\n prevPosition: prevNorm,\n });\n }\n\n private resetCanvas() {\n this.clearCanvas();\n this.drawingStack = [];\n }\n\n private clearCanvas() {\n this.cx &&\n this.cx.clearRect(\n 0,\n 0,\n this.canvas.nativeElement.width,\n this.canvas.nativeElement.height,\n );\n }\n\n private redrawFromStack() {\n this.clearCanvas();\n this.drawingStack.forEach((x) => {\n x.forEach((y) => {\n this.drawOnCanvas(y.start, y.end, this.drawStyle);\n });\n });\n }\n}\n\nconst down = (element: HTMLElement) =>\n merge(fromEvent(element, 'mousedown'), fromEvent(element, 'touchstart')).pipe(\n map(mapEvent),\n );\nconst up = (element: HTMLElement) =>\n merge(fromEvent(element, 'mouseup'), fromEvent(element, 'touchend')).pipe(\n map(mapEvent),\n );\nconst move = (element: HTMLElement) =>\n merge(fromEvent(element, 'mousemove'), fromEvent(element, 'touchmove')).pipe(\n map(mapEvent),\n );\nconst leave = (element: HTMLElement) =>\n merge(\n fromEvent(element, 'mouseleave'),\n fromEvent(element, 'touchcancel'),\n ).pipe(map(mapEvent));\n\nconst mapEvent = (event: Event) => {\n // Attention: PreventDefault also prevents creation of a click event. Thus, if focus of listener is wrong, we cant click on anything anymore\n event.preventDefault();\n event.stopPropagation();\n // Needed, as Safari does not know the type \"TouchEvent\"\n if ('touches' in event) {\n return {\n x: (event as any).touches[0]?.clientX ?? -1,\n y: (event as any).touches[0]?.clientY ?? -1,\n };\n }\n if (event instanceof MouseEvent) {\n return { x: event.clientX, y: event.clientY };\n }\n return null;\n};\n\nexport enum Mode {\n Idle,\n Draw,\n Point,\n Delete,\n Arrow,\n Object,\n Annotate_Attachment, // This might not be the right place, depending if we introduce ar. Yet, its nice as we block drawing on the canvas this way as well\n}\n\nexport interface DrawEvent {\n mode: Mode;\n currentPosition?: Point;\n prevPosition?: Point;\n}\n\nexport interface Point {\n x: number;\n y: number;\n}\n","\n","import { Injectable } from '@angular/core';\nimport { firstValueFrom, map, Observable } from 'rxjs';\nimport { Employee } from '../../model/employee/employee';\nimport { ProfileService, UploadAndUpdateAvatar } from '../../../api/gen';\n\n@Injectable({ providedIn: 'root' })\nexport class AvatarFileService {\n constructor(private readonly profileService: ProfileService) {}\n\n public uploadAvatar(file: File): Observable {\n return new Observable((observer) => {\n if (file) {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = (e) => {\n if (e.target?.result) {\n const fileName = file.name;\n const content = e.target.result.toString();\n\n const avatarUploadData = {\n fileName: fileName,\n data: content,\n } as UploadAndUpdateAvatar;\n\n firstValueFrom(\n this.profileService\n .profileAvatarPost(avatarUploadData)\n .pipe(map((dto) => Employee.fromDto(dto))),\n ).then((value) => {\n observer.next(value);\n observer.complete();\n });\n }\n };\n }\n });\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { Employee } from '../../../model/employee/employee';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\nimport { ProfileService } from '../../../services/api/profile-service';\nimport { UpdateEmployeeRequest } from '../../../model/employee/request/update-employee-request';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-edit-contact-dialog',\n templateUrl: './edit-contact-dialog.component.html',\n styleUrls: ['./edit-contact-dialog.component.scss'],\n providers: [ProfileService],\n})\nexport class EditContactDialogComponent {\n protected readonly loading$ = new BehaviorSubject(false);\n protected employee: Employee;\n\n employeeContactForm = new FormGroup({\n firstName: new FormControl('', Validators.required),\n lastName: new FormControl('', Validators.required),\n email: new FormControl({ value: '', disabled: true }, [\n Validators.email,\n Validators.required,\n ]),\n });\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: Employee,\n private readonly dialogRef: MatDialogRef,\n private readonly profileService: ProfileService,\n private readonly snackBar: MatSnackBar,\n ) {\n this.employee = data;\n this.employeeContactForm.controls.firstName.setValue(data.firstName);\n this.employeeContactForm.controls.lastName.setValue(data.lastName);\n this.employeeContactForm.controls.email.setValue(data.email);\n }\n\n onClickSaveEmployee() {\n this.loading$.next(true);\n const request = {\n externalIdentifier: this.employee.externalIdentifier,\n firstName: this.employeeContactForm.controls.firstName.value,\n lastName: this.employeeContactForm.controls.lastName.value,\n eMail: this.employee.email,\n department: this.employee.department,\n } as UpdateEmployeeRequest;\n\n this.profileService.updateProfile(request).subscribe((employee) => {\n this.snackBar.open(\n $localize`Kontaktdaten wurden erfolgreich aktualisiert`,\n $localize`Ok`,\n {\n duration: 3_000,\n },\n );\n this.dialogRef.close(employee);\n this.loading$.next(false);\n });\n }\n}\n","

Kontaktdaten bearbeiten

\n\n
\n
\n \n Vorname\n \n \n\n \n Nachname\n \n \n
\n\n \n E-Mail\n \n \n
\n
\n\n \n \n save\n Speichern\n \n\n","\n \n
\n \n \n people\n
\n {{ employee.firstName }}\n {{ employee.lastName }}\n
\n
\n\n \n mail\n
\n
\n {{ employee.email }}\n verified\n \n @if (!employee.emailVerified) {\n error\n @if (validatingEmail$()) {\n \n } @else if (!emailValidationSent$()) {\n \n E-Mail validieren\n \n }\n }\n
\n
\n
\n\n \n people\n
{{ getRoleText() }}
\n
\n
\n
\n
\n","import { ChangeDetectorRef, Component, Input, signal } from '@angular/core';\nimport { Employee } from '../../model/employee/employee';\nimport { EmployeeType } from '../../../api/gen';\nimport { MatDialog } from '@angular/material/dialog';\nimport { EditContactDialogComponent } from '../dialogs/edit-contact-dialog/edit-contact-dialog.component';\nimport { ValidateEmailService } from '../../services/api/validate-email.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-personal-information-contact',\n templateUrl: './personal-information-contact.component.html',\n styleUrls: ['./personal-information-contact.component.scss'],\n providers: [ValidateEmailService],\n})\nexport class PersonalInformationContactComponent {\n @Input() employee: Employee;\n\n protected validatingEmail$ = signal(false);\n protected emailValidationSent$ = signal(false);\n\n constructor(\n private readonly validateEmailService: ValidateEmailService,\n private readonly snackBar: MatSnackBar,\n private readonly dialog: MatDialog,\n private readonly cdr: ChangeDetectorRef,\n ) {}\n\n getRoleText(): string {\n if (this.employee == null) {\n return '-';\n }\n\n switch (this.employee.type) {\n case EmployeeType.Administrator:\n return $localize`Adminstrator`;\n case EmployeeType.Manager:\n return $localize`Manager`;\n case EmployeeType.Agent:\n return $localize`Benutzer`;\n }\n\n return $localize`Keine Rolle`;\n }\n\n showEditContactDialog() {\n const dialogRef = this.dialog.open(EditContactDialogComponent, {\n data: this.employee,\n });\n\n dialogRef.afterClosed().subscribe((employee: Employee) => {\n if (employee) {\n this.employee = employee;\n this.cdr.markForCheck();\n }\n });\n }\n\n onSendValidationEmail(employee: Employee) {\n this.validatingEmail$.set(true);\n this.validateEmailService\n .requestValidateEmail(employee.email, employee.externalIdentifier)\n .subscribe(() => {\n this.emailValidationSent$.set(true);\n this.validatingEmail$.set(false);\n this.snackBar.open(\n $localize`Validierungs E-Mail erfolgreich gesendet.`,\n $localize`Ok`,\n { duration: 3000 },\n );\n });\n }\n}\n","import { OtpInfoDto } from '../../../../api/gen';\n\nexport class OtpInfo {\n credentialId?: string | null;\n\n static fromDto(dto: OtpInfoDto): OtpInfo {\n return { credentialId: dto.credentialId } as OtpInfo;\n }\n}\n","import { DeleteOtp } from '../../../../../api/gen';\n\nexport class DeleteOtpRequest {\n otpIdentifiers?: string[] | null;\n\n static toRequest(r: DeleteOtpRequest): DeleteOtp {\n return { otpIdentifiers: r.otpIdentifiers } as DeleteOtp;\n }\n}\n","import { EmployeeOtpService as Api } from '../../../api/gen';\nimport { map, Observable } from 'rxjs';\nimport { OtpInfo } from '../../model/employee/otp/otp-info';\nimport { DeleteOtpRequest } from '../../model/employee/otp/request/delete-otp-request';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class EmployeeOtpService {\n constructor(private readonly employeeOtpService: Api) {}\n\n getOtpInfo(): Observable {\n return this.employeeOtpService\n .employeeOtpGet()\n .pipe(map((x) => x.map((dto) => OtpInfo.fromDto(dto))));\n }\n\n deleteOtpInfo(identifiers: string[]): Observable {\n const request = { otpIdentifiers: identifiers } as DeleteOtpRequest;\n return this.employeeOtpService.employeeOtpDeletePost(\n DeleteOtpRequest.toRequest(request),\n );\n }\n}\n","

Authentifizierungsoptionen ändern

\n\n \n\n @if (otpEnabled$()) {\n \n } @else {\n \n }\n\n\n \n\n","import { Component, Inject, signal, WritableSignal } from '@angular/core';\nimport {\n MAT_DIALOG_DATA,\n MatDialogActions,\n MatDialogClose,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle,\n} from '@angular/material/dialog';\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { OtpInfo } from '../../../model/employee/otp/otp-info';\nimport { EmployeeOtpService } from '../../../services/api/employee-otp.service';\nimport { AuthenticationService } from '../../../authentication/authentication.service';\n\n@Component({\n selector: 'app-edit-authentication-dialog',\n standalone: true,\n imports: [\n MatButton,\n MatIcon,\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatDialogClose,\n ],\n templateUrl: './edit-authentication-dialog.component.html',\n styleUrl: './edit-authentication-dialog.component.scss',\n providers: [EmployeeOtpService],\n})\nexport class EditAuthenticationDialogComponent {\n otpEnabled$: WritableSignal;\n constructor(\n private readonly employeeOtpService: EmployeeOtpService,\n private readonly dialogRef: MatDialogRef,\n private readonly authService: AuthenticationService,\n @Inject(MAT_DIALOG_DATA)\n private readonly data: EditAuthenticationDialogComponentData,\n ) {\n this.otpEnabled$ = signal(data.otpInfo.length > 0);\n }\n\n resetPassword() {\n this.authService.resetPassword('/profile');\n this.dialogRef.close(true);\n }\n\n enableTwoFactor() {\n this.authService.configureTotp('/profile');\n this.dialogRef.close(true);\n }\n\n disableTwoFactor() {\n this.employeeOtpService\n .deleteOtpInfo(this.data.otpInfo.map((x) => x.credentialId))\n .subscribe(() => {\n this.dialogRef.close(true);\n });\n }\n}\n\nexport class EditAuthenticationDialogComponentData {\n otpInfo: OtpInfo[];\n}\n","\n \n\n
\n \n \n lock\n
••••••••
\n
\n \n security\n
\n
\n
2-Faktor-Authentifizierung
\n @if (twoFactorEnabled$()) {\n verified\n } @else {\n error\n }\n
\n
\n
\n
\n
\n
\n","import { Component, Input, signal } from '@angular/core';\nimport { Employee } from '../../model/employee/employee';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { KeycloakInitiatedActionStatus } from '../../authentication/initiated-action.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n EditAuthenticationDialogComponent,\n EditAuthenticationDialogComponentData,\n} from '../dialogs/edit-authentication-dialog/edit-authentication-dialog.component';\nimport { EmployeeOtpService } from '../../services/api/employee-otp.service';\nimport { OtpInfo } from '../../model/employee/otp/otp-info';\n\n@Component({\n selector: 'app-personal-information-authentication',\n templateUrl: './personal-information-authentication.component.html',\n styleUrls: ['./personal-information-authentication.component.scss'],\n providers: [EmployeeOtpService],\n})\nexport class PersonalInformationAuthenticationComponent {\n @Input() employee: Employee;\n isLoading$ = signal(true);\n twoFactorEnabled$ = signal(false);\n otpInfo: OtpInfo[] = [];\n\n constructor(\n private readonly employeeOtpService: EmployeeOtpService,\n private readonly activatedRoute: ActivatedRoute,\n private readonly router: Router,\n private readonly snackBar: MatSnackBar,\n private readonly dialog: MatDialog,\n ) {\n this.activatedRoute.queryParams.subscribe((params) => {\n const actionStatus = params['kc_action_status'];\n this.showPasswordChangeActionInformation(actionStatus);\n this.router.navigate(['profile']);\n });\n\n this.reloadOtpInformation();\n }\n\n onEdit() {\n const dialogRef = this.dialog.open(EditAuthenticationDialogComponent, {\n data: { otpInfo: this.otpInfo } as EditAuthenticationDialogComponentData,\n });\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.reloadOtpInformation();\n this.snackBar.open(\n $localize`Einstellungen wurden gespeichert.`,\n $localize`Ok`,\n { duration: 3000 },\n );\n }\n });\n }\n\n private showPasswordChangeActionInformation(actionStatus: string) {\n if (actionStatus === KeycloakInitiatedActionStatus.Success) {\n this.snackBar.open(\n $localize`Passwort wurde erfolgreich geändert.`,\n $localize`Ok`,\n {\n duration: 3_000,\n },\n );\n } else if (actionStatus === KeycloakInitiatedActionStatus.Cancelled) {\n this.snackBar.open(\n $localize`Änderung des Passworts wurde abgebrochen.`,\n $localize`Ok`,\n {\n duration: 3_000,\n },\n );\n } else if (actionStatus === KeycloakInitiatedActionStatus.Error) {\n this.snackBar.open(\n $localize`Fehler beim Ändern deines Passwortes.`,\n $localize`Ok`,\n {\n duration: 3_000,\n },\n );\n }\n }\n\n private reloadOtpInformation() {\n this.employeeOtpService.getOtpInfo().subscribe((res) => {\n this.otpInfo = res;\n this.twoFactorEnabled$.set(res.length > 0);\n this.isLoading$.set(false);\n });\n }\n}\n","export type Department =\n | 'None'\n | 'Sales'\n | 'Technology'\n | 'Procurement'\n | 'Marketing'\n | 'Support'\n | 'Management';\n\nexport const Department = {\n None: 'None' as Department,\n Sales: 'Sales' as Department,\n Technology: 'Technology' as Department,\n Procurement: 'Procurement' as Department,\n Marketing: 'Marketing' as Department,\n Support: 'Support' as Department,\n Management: 'Management' as Department,\n};\n\nexport class DepartmentOption {\n displayName: string;\n department: Department;\n\n constructor(displayName: string, department: Department) {\n this.displayName = displayName;\n this.department = department;\n }\n\n public static getOptions(): DepartmentOption[] {\n return [\n new DepartmentOption($localize`Kein Department`, Department.None),\n new DepartmentOption($localize`Verkauf`, Department.Sales),\n new DepartmentOption($localize`Entwicklung`, Department.Technology),\n new DepartmentOption($localize`Einkauf`, Department.Procurement),\n new DepartmentOption($localize`Marketing`, Department.Marketing),\n new DepartmentOption($localize`Support`, Department.Support),\n new DepartmentOption($localize`Management`, Department.Management),\n ];\n }\n\n public static getOption(department: Department) {\n const departments = this.getOptions();\n return departments.find((d) => d.department === department);\n }\n}\n","

Department ändern

\n\n
\n \n Department\n \n \n {{ department.displayName }}\n \n \n \n
\n
\n\n \n \n\n","import { Component, Inject } from '@angular/core';\nimport { Employee } from '../../../model/employee/employee';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DepartmentOption } from '../../../model/employee/department';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { UpdateEmployeeRequest } from '../../../model/employee/request/update-employee-request';\nimport { ProfileService } from '../../../services/api/profile-service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'app-edit-department-dialog',\n templateUrl: './edit-department-dialog.component.html',\n styleUrls: ['./edit-department-dialog.component.scss'],\n providers: [ProfileService],\n})\nexport class EditDepartmentDialogComponent {\n protected readonly loading$ = new BehaviorSubject(false);\n protected employee: Employee;\n protected departmentForm = new FormGroup({\n department: new FormControl('', Validators.required),\n });\n\n departments = DepartmentOption.getOptions();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) data: Employee,\n private readonly dialogRef: MatDialogRef,\n private readonly profileService: ProfileService,\n private readonly snackBar: MatSnackBar,\n ) {\n this.employee = data;\n this.departmentForm.controls.department.setValue(this.employee.department);\n }\n\n onClickSaveDepartment() {\n this.loading$.next(true);\n const request = {\n externalIdentifier: this.employee.externalIdentifier,\n firstName: this.employee.firstName,\n lastName: this.employee.lastName,\n eMail: this.employee.email,\n department: this.departmentForm.controls.department.value,\n } as UpdateEmployeeRequest;\n\n this.profileService.updateProfile(request).subscribe((employee) => {\n this.snackBar.open(\n $localize`Department wurde erfolgreich aktualisiert`,\n $localize`Ok`,\n {\n duration: 3_000,\n },\n );\n this.dialogRef.close(employee);\n this.loading$.next(false);\n });\n }\n}\n","\n \n\n
\n \n \n business\n
\n {{ DepartmentOption.getOption(employee.department).displayName }}\n
\n
\n
\n
\n
\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { Employee } from '../../model/employee/employee';\nimport { MatDialog } from '@angular/material/dialog';\nimport { EditDepartmentDialogComponent } from '../dialogs/edit-department-dialog/edit-department-dialog.component';\nimport { DepartmentOption } from '../../model/employee/department';\n\n@Component({\n selector: 'app-personal-information-department',\n templateUrl: './personal-information-department.component.html',\n styleUrls: ['./personal-information-department.component.scss'],\n})\nexport class PersonalInformationDepartmentComponent implements OnInit {\n @Input() employee: Employee;\n department: DepartmentOption;\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.department = DepartmentOption.getOption(this.employee.department);\n }\n\n onChangeDepartment() {\n const dialogRef = this.dialog.open(EditDepartmentDialogComponent, {\n data: this.employee,\n minWidth: '25rem',\n });\n\n dialogRef.afterClosed().subscribe((result: Employee) => {\n if (result) {\n this.employee = result;\n this.cdr.markForCheck();\n }\n });\n }\n\n protected readonly DepartmentOption = DepartmentOption;\n}\n","

Standort ändern

\n\n
\n \n Standort\n \n \n {{ legalEntity.displayName }}\n \n \n \n
\n
\n\n \n \n\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Employee } from '../../../model/employee/employee';\nimport { BehaviorSubject } from 'rxjs';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { LegalEntity } from '../../../model/legal-entity/legal-entity';\nimport { LegalEntityService } from '../../../services/api/legal-entity.service';\nimport { UpdateEmployeeRequest } from '../../../model/employee/request/update-employee-request';\nimport { ProfileService } from '../../../services/api/profile-service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-edit-legal-entity-dialog',\n templateUrl: './edit-legal-entity-dialog.component.html',\n styleUrls: ['./edit-legal-entity-dialog.component.scss'],\n providers: [LegalEntityService, ProfileService],\n})\nexport class EditLegalEntityDialogComponent {\n protected readonly loading$ = new BehaviorSubject(false);\n protected employee: Employee;\n protected legalEntityForm = new FormGroup({\n legalEntity: new FormControl('', Validators.required),\n });\n\n protected legalEntities$ = new BehaviorSubject([]);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) data: Employee,\n private readonly dialogRef: MatDialogRef,\n private readonly snackBar: MatSnackBar,\n private readonly legalEntityService: LegalEntityService,\n private readonly profileService: ProfileService,\n ) {\n this.employee = data;\n this.legalEntityForm.controls.legalEntity.setValue(\n this.employee.legalEntityId,\n );\n this.legalEntityService.getLegalEntities().subscribe((le) => {\n this.legalEntities$.next(le);\n });\n }\n\n onClickSaveLegalEntity() {\n this.loading$.next(true);\n const request = {\n externalIdentifier: this.employee.externalIdentifier,\n firstName: this.employee.firstName,\n lastName: this.employee.lastName,\n eMail: this.employee.email,\n department: this.employee.department,\n legalEntityId: this.legalEntityForm.controls.legalEntity.value,\n } as UpdateEmployeeRequest;\n\n this.profileService.updateProfile(request).subscribe((employee) => {\n this.snackBar.open(\n $localize`Standort wurde erfolgreich aktualisiert`,\n $localize`Ok`,\n {\n duration: 3_000,\n },\n );\n this.dialogRef.close(employee);\n this.loading$.next(false);\n });\n }\n}\n","\n \n\n @if (legalEntity$ | async; as le) {\n
\n \n \n location_city\n
\n {{ le.displayName }}\n
\n
\n
\n
\n } @else {\n \n }\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { LegalEntity } from '../../model/legal-entity/legal-entity';\nimport { LegalEntityService } from '../../services/api/legal-entity.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Employee } from '../../model/employee/employee';\nimport { EditLegalEntityDialogComponent } from '../dialogs/edit-legal-entity-dialog/edit-legal-entity-dialog.component';\n\n@Component({\n selector: 'app-personal-information-legal-entity',\n templateUrl: './personal-information-legal-entity.component.html',\n styleUrls: ['./personal-information-legal-entity.component.scss'],\n providers: [LegalEntityService],\n})\nexport class PersonalInformationLegalEntityComponent implements OnInit {\n @Input() employee: Employee;\n\n protected readonly legalEntity$ = new BehaviorSubject(null);\n\n constructor(\n private readonly legalEntityService: LegalEntityService,\n private readonly dialog: MatDialog,\n ) {}\n\n ngOnInit() {\n this.updateLegalEntity();\n }\n\n onChangeLegalEntity() {\n const dialogRef = this.dialog.open(EditLegalEntityDialogComponent, {\n data: this.employee,\n minWidth: '25rem',\n });\n\n dialogRef.afterClosed().subscribe((result: Employee) => {\n if (result) {\n this.employee = result;\n this.updateLegalEntity();\n }\n });\n }\n\n private updateLegalEntity() {\n if (this.employee.legalEntityId) {\n this.legalEntityService\n .getLegalEntity(this.employee.legalEntityId)\n .subscribe((legalEntity) => this.legalEntity$.next(legalEntity));\n }\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { Employee } from '../../model/employee/employee';\n\n@Component({\n selector: 'app-personal-information',\n templateUrl: './personal-information.component.html',\n styleUrls: ['./personal-information.component.scss'],\n})\nexport class PersonalInformationComponent {\n @Input() employee: Employee;\n}\n","
\n \n\n \n \n\n \n\n \n
\n","
\n
\n
\n
\n \n
\n
\n\n
\n Persönliche Informationen\n\n
\n \n
\n \n
\n \n
\n
\n
\n\n
\n \n
\n","import { Component } from '@angular/core';\nimport { BehaviorSubject, map } from 'rxjs';\nimport { ProfileService } from '../../api/gen';\nimport { ProfileDataService } from '../services/data/profile-data.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AvatarFileService } from '../services/file/avatar-file.service';\nimport { Employee } from '../model/employee/employee';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss'],\n providers: [AvatarFileService],\n})\nexport class ProfileComponent {\n protected employeeInformation$: BehaviorSubject =\n new BehaviorSubject(null);\n protected loading$: BehaviorSubject;\n\n constructor(\n private readonly profileDataService: ProfileDataService,\n private readonly profileService: ProfileService,\n private readonly avatarFileService: AvatarFileService,\n private readonly snackBar: MatSnackBar,\n ) {\n this.loading$ = new BehaviorSubject(false);\n this.refreshEmployeeInformation();\n\n this.profileDataService.employeeInformation$.subscribe((employee) => {\n this.employeeInformation$.next(employee);\n });\n }\n\n newAvatarSelected(event: Event) {\n if (event.target) {\n const eventTarget = event.target as HTMLInputElement;\n if (eventTarget.files) {\n if (eventTarget.files.length !== 1) {\n this.snackBar.open(\n $localize`Bitte wähle nur ein Bild als deinen Avatar aus.`,\n null,\n { duration: 5_000 },\n );\n return;\n }\n\n const uploadSnackbarRef = this.snackBar.open(\n $localize`Lade neuen Avatar hoch...`,\n );\n\n this.avatarFileService.uploadAvatar(eventTarget.files[0]).subscribe({\n next: (employee) => {\n this.profileDataService.updateEmployeeInformation(employee);\n },\n error: () => {\n uploadSnackbarRef.dismiss();\n this.snackBar.open(\n $localize`Datei konnte nicht hochgeladen werden.`,\n null,\n {\n duration: 5_000,\n },\n );\n },\n complete: () => {\n uploadSnackbarRef.dismiss();\n },\n });\n }\n }\n }\n\n private refreshEmployeeInformation(): void {\n this.loading$.next(true);\n this.profileService\n .profileGet()\n .pipe(map((dto) => Employee.fromDto(dto)))\n .subscribe((value) => {\n this.profileDataService.updateEmployeeInformation(value);\n this.loading$.next(false);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\n@Injectable()\nexport class SalesforceTenantResolverService {\n resolveTenant(orgId: string, userId: string): Observable {\n // TODO: Fetch from backend\n console.log(`${orgId} - ${userId}`);\n return of('madtech');\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { SalesforceTenantResolverService } from '../../services/api/integrations/salesforce-tenant-resolver.service';\nimport { MatButton } from '@angular/material/button';\n\n@Component({\n selector: 'app-salesforce-canvas',\n standalone: true,\n imports: [MatButton],\n templateUrl: './salesforce-canvas.component.html',\n styleUrl: './salesforce-canvas.component.scss',\n providers: [SalesforceTenantResolverService],\n})\nexport class SalesforceCanvasComponent implements OnInit {\n constructor(\n private readonly route: ActivatedRoute,\n private readonly resolver: SalesforceTenantResolverService,\n ) {}\n\n ngOnInit(): void {\n this.route.queryParams.subscribe((params) => {\n if (params['signed_request']) {\n this.handleSignedRequest(params['signed_request']);\n }\n });\n }\n\n private handleSignedRequest(signedRequest: string) {\n // TODO: Validate signature\n const [signature, payload] = signedRequest.split('.');\n console.log(`Signature: ${signature}`);\n const decodedPayload = JSON.parse(atob(payload));\n\n // Extract Salesforce org ID and user info\n const orgId = decodedPayload.context.organization.id;\n const userId = decodedPayload.context.user.userId;\n\n this.resolver.resolveTenant(orgId, userId).subscribe((tenant) => {\n if (tenant) {\n this.redirectToKeycloak(tenant);\n }\n });\n }\n\n redirectToKeycloak(realm: string) {\n const clientId = 'salesforce-canvas';\n const redirectUri = encodeURIComponent(\n window.location.origin + '/callback',\n );\n window.location.href = `https://auth.blankmile.com/realms/${realm}/protocol/openid-connect/auth?client_id=${clientId}&redirect_uri=${redirectUri}&response_type=code`;\n }\n\n openOtherSite() {\n window.open('https://demo.blankmile.com', '_blank', 'noopener');\n }\n}\n","

salesforce-canvas works!

\n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n selector: 'app-salesforce-canvas-callback',\n standalone: true,\n imports: [],\n templateUrl: './salesforce-canvas-callback.component.html',\n styleUrl: './salesforce-canvas-callback.component.scss',\n})\nexport class SalesforceCanvasCallbackComponent implements OnInit {\n constructor(\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n ) {}\n\n ngOnInit() {\n this.route.queryParams.subscribe((params) => {\n if (params['code']) {\n console.log(params['code']);\n this.router.navigate(['scheduling']);\n }\n });\n }\n}\n","

salesforce-canvas-callback works!

\n","import {\n ActivatedRouteSnapshot,\n CanActivateFn,\n RouterStateSnapshot,\n UrlTree,\n} from '@angular/router';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { inject } from '@angular/core';\nimport { AuthenticationService } from './authentication.service';\n\nexport const authenticationGuard: CanActivateFn = (\n route: ActivatedRouteSnapshot, // eslint-disable-line @typescript-eslint/no-unused-vars\n state: RouterStateSnapshot, // eslint-disable-line @typescript-eslint/no-unused-vars\n): Observable => {\n const authService = inject(AuthenticationService);\n\n return authService.getUser().pipe(\n switchMap((user) => {\n return of(!!user);\n }),\n );\n};\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { Roles } from './authentication/roles';\nimport { ProfileComponent } from './profile/profile.component';\nimport { SignupInvitationLandingComponent } from './signup/signup-invitation-landing/signup-invitation-landing.component';\nimport { SetupPlatformOverviewComponent } from './setup/setup-platform-overview/setup-platform-overview.component';\nimport { LoginComponent } from './authentication/login/login.component';\nimport { AuthCallbackComponent } from './authentication/auth-callback/auth-callback.component';\nimport { ValidateEmailComponent } from './employee/verify-email/validate-email.component';\nimport { SalesforceCanvasComponent } from './integrations/salesforce-canvas/salesforce-canvas.component';\nimport { SalesforceCanvasCallbackComponent } from './integrations/salesforce-canvas-callback/salesforce-canvas-callback.component';\nimport { authenticationGuard } from './authentication/authentication.guard';\n\nexport const videoAppointmentRoute = 'video-appointment';\n\nexport const routes: Routes = [\n { path: '', component: LoginComponent },\n { path: 'auth-callback', component: AuthCallbackComponent },\n {\n path: 'profile',\n component: ProfileComponent,\n canActivate: [authenticationGuard],\n },\n {\n path: 'employee',\n loadChildren: () =>\n import('./employee/employee.module').then((m) => m.EmployeeModule),\n canActivate: [authenticationGuard],\n data: { roles: [Roles.Manager] },\n },\n {\n path: 'validate-email',\n component: ValidateEmailComponent,\n },\n {\n path: 'scheduling',\n loadChildren: () =>\n import('./scheduling/scheduling.module').then((m) => m.SchedulingModule),\n canActivate: [authenticationGuard],\n },\n {\n path: 'company',\n loadChildren: () =>\n import('./company/company.module').then((m) => m.CompanyModule),\n canActivate: [authenticationGuard],\n },\n {\n path: videoAppointmentRoute,\n loadChildren: () =>\n import('./video-appointment/video-appointment.module').then(\n (m) => m.VideoAppointmentModule,\n ),\n canActivate: [authenticationGuard],\n },\n {\n path: 'signup',\n component: SignupInvitationLandingComponent,\n },\n {\n path: 'setup',\n component: SetupPlatformOverviewComponent,\n canActivate: [authenticationGuard],\n },\n {\n path: 'integrations/salesforce',\n component: SalesforceCanvasComponent,\n children: [\n { path: 'auth-callback', component: SalesforceCanvasCallbackComponent },\n ],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { InitializationStatusDto } from '../../api/gen';\n\nexport class InitializationStatus {\n companySettingsInitialized?: boolean;\n inquiryReportTemplateInitialized?: boolean;\n\n static fromDto(dto: InitializationStatusDto): InitializationStatus {\n return {\n companySettingsInitialized: dto.companySettingsInitialized,\n inquiryReportTemplateInitialized: dto.inquiryReportTemplateInitialized,\n } as InitializationStatus;\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { catchError, Observable, of, switchMap } from 'rxjs';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { BrandingColorApiInterface } from './branding-color-api-interface';\nimport { BrandingColorResult } from './branding-color-result';\nimport { BrandingColor } from './branding-color';\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingColorDataService {\n defaultPrimaryColor = '#1976d2';\n defaultAccentColor = '#cb6816';\n defaultWarnColor = '#f44336';\n\n constructor(\n @Inject('BrandingColorApi')\n private readonly brandingColorService: BrandingColorApiInterface,\n ) {}\n\n public applyBrandingColor(): Observable {\n return this.brandingColorService.getActiveBrandingColor().pipe(\n switchMap((brandingColor: BrandingColor) => {\n this.updateColorValues(\n brandingColor.primaryColorHex,\n brandingColor.accentColorHex,\n brandingColor.warnColorHex,\n );\n return of({\n success: true,\n usedDefaultColors: false,\n } as BrandingColorResult);\n }),\n catchError(() => {\n this.updateColorValues();\n return of({\n success: true,\n usedDefaultColors: true,\n } as BrandingColorResult);\n }),\n );\n }\n\n private updateColorValues(\n primaryColor?: string,\n accentColor?: string,\n warnColor?: string,\n ) {\n const dynamicPrimaryColorPalette = this.computePrimaryThemePalette(\n primaryColor || this.defaultPrimaryColor,\n accentColor || this.defaultAccentColor,\n );\n this.updatePrimaryThemePalette(dynamicPrimaryColorPalette);\n\n const dynamicWarnColorPalette = this.computeWarnThemePalette(\n warnColor || this.defaultWarnColor,\n );\n this.updateWarnThemePalette(dynamicWarnColorPalette);\n }\n\n private updatePrimaryThemePalette(colors: Color[]) {\n colors.forEach((color) => {\n document.documentElement.style.setProperty(\n `--theme-dynamic-palette-${color.name}`,\n color.hex,\n );\n document.documentElement.style.setProperty(\n `--theme-dynamic-palette-contrast-${color.name}`,\n color.darkContrast ? 'rgba(black, 0.87)' : 'white',\n );\n });\n }\n\n private updateWarnThemePalette(colors: Color[]) {\n colors.forEach((color) => {\n document.documentElement.style.setProperty(\n `--theme-dynamic-warn-palette-${color.name}`,\n color.hex,\n );\n document.documentElement.style.setProperty(\n `--theme-dynamic-warn-palette-contrast-${color.name}`,\n color.darkContrast ? 'rgba(black, 0.87)' : 'white',\n );\n });\n }\n\n private computeWarnThemePalette(warnHex: string) {\n return this.computePrimaryThemePalette(warnHex, warnHex);\n }\n\n private computePrimaryThemePalette(\n primaryHex: string,\n accentHex: string,\n ): Color[] {\n return [\n this.getColorObject(new TinyColor(primaryHex).lighten(52), '50'),\n this.getColorObject(new TinyColor(primaryHex).lighten(37), '100'),\n this.getColorObject(new TinyColor(primaryHex).lighten(26), '200'),\n this.getColorObject(new TinyColor(primaryHex).lighten(12), '300'),\n this.getColorObject(new TinyColor(primaryHex).lighten(6), '400'),\n this.getColorObject(new TinyColor(primaryHex), '500'), // Default\n this.getColorObject(new TinyColor(primaryHex).darken(6), '600'),\n this.getColorObject(new TinyColor(primaryHex).darken(12), '700'),\n this.getColorObject(new TinyColor(primaryHex).darken(18), '800'),\n this.getColorObject(new TinyColor(primaryHex).darken(24), '900'),\n this.getColorObject(new TinyColor(accentHex).lighten(50), 'A100'),\n this.getColorObject(new TinyColor(accentHex), 'A200'), // Default\n this.getColorObject(new TinyColor(accentHex).darken(20), 'A400'),\n this.getColorObject(new TinyColor(accentHex).darken(50), 'A700'),\n ];\n }\n\n private getColorObject(value: TinyColor, name: string): Color {\n const c = new TinyColor(value);\n return {\n name: name,\n hex: c.toHexString(),\n darkContrast: c.isLight(),\n };\n }\n}\n\ninterface Color {\n name: string;\n hex: string;\n darkContrast: boolean;\n}\n","import { Injectable } from '@angular/core';\nimport { BrandingResult } from './branding-result';\nimport { BrandingColorDataService } from './color/branding-color-data-service';\nimport { Observable, of, switchMap } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingDataService {\n constructor(\n private readonly brandingColorService: BrandingColorDataService,\n ) {}\n\n public applyBranding(): Observable {\n return this.brandingColorService.applyBrandingColor().pipe(\n switchMap((res) => {\n return of({ success: res.success } as BrandingResult);\n }),\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from '../authentication.service';\nimport { InitializationStatusService } from '../../../api/gen';\nimport { map } from 'rxjs/operators';\nimport { InitializationStatus } from '../../model/initialization-status';\nimport { RoleService } from '../role.service';\nimport { BackendRole } from '../backend-role';\nimport { firstValueFrom } from 'rxjs';\nimport { BrandingDataService } from '../../../../../aidar-branding/src/lib/branding-data-service';\nimport { SignalingConnectionService } from '../../services/signaling/signaling-connection.service';\n\n@Component({\n selector: 'app-auth-callback',\n templateUrl: './auth-callback.component.html',\n styleUrls: ['./auth-callback.component.scss'],\n})\nexport class AuthCallbackComponent implements OnInit {\n constructor(\n private readonly router: Router,\n private readonly authService: AuthenticationService,\n private readonly roleService: RoleService,\n private readonly initializationStatusService: InitializationStatusService,\n private readonly signalingConnectionService: SignalingConnectionService,\n private readonly brandingService: BrandingDataService,\n ) {}\n\n async ngOnInit() {\n try {\n await this.authService.authCallback();\n } catch {\n this.router.navigate(['/login']);\n }\n\n if (this.roleService.hasRole(BackendRole.Admin)) {\n await this.checkInitializationStatus();\n } else {\n await this.navigateToHome();\n }\n }\n\n private async checkInitializationStatus() {\n this.initializationStatusService\n .initializationGet()\n .pipe(map((dto) => InitializationStatus.fromDto(dto)))\n .subscribe(async (initializationStatus) => {\n if (\n initializationStatus.companySettingsInitialized === false ||\n initializationStatus.inquiryReportTemplateInitialized === false\n ) {\n await this.router.navigate(['setup']);\n } else {\n await this.navigateToHome();\n }\n });\n }\n\n private async navigateToHome() {\n this.authService.getUser().subscribe((user) => {\n firstValueFrom(this.brandingService.applyBranding());\n this.signalingConnectionService.connect(user.profile.sub);\n this.router.navigate(['scheduling']);\n });\n }\n}\n","
\n \n Authentifizierung\n
\n","// src/utils/Logger.ts\nvar nopLogger = {\n debug: () => void 0,\n info: () => void 0,\n warn: () => void 0,\n error: () => void 0\n};\nvar level;\nvar logger;\nvar Log = /* @__PURE__ */ ((Log2) => {\n Log2[Log2[\"NONE\"] = 0] = \"NONE\";\n Log2[Log2[\"ERROR\"] = 1] = \"ERROR\";\n Log2[Log2[\"WARN\"] = 2] = \"WARN\";\n Log2[Log2[\"INFO\"] = 3] = \"INFO\";\n Log2[Log2[\"DEBUG\"] = 4] = \"DEBUG\";\n return Log2;\n})(Log || {});\n((Log2) => {\n function reset() {\n level = 3 /* INFO */;\n logger = nopLogger;\n }\n Log2.reset = reset;\n function setLevel(value) {\n if (!(0 /* NONE */ <= value && value <= 4 /* DEBUG */)) {\n throw new Error(\"Invalid log level\");\n }\n level = value;\n }\n Log2.setLevel = setLevel;\n function setLogger(value) {\n logger = value;\n }\n Log2.setLogger = setLogger;\n})(Log || (Log = {}));\nvar Logger = class _Logger {\n constructor(_name) {\n this._name = _name;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n debug(...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(_Logger._format(this._name, this._method), ...args);\n }\n }\n info(...args) {\n if (level >= 3 /* INFO */) {\n logger.info(_Logger._format(this._name, this._method), ...args);\n }\n }\n warn(...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(_Logger._format(this._name, this._method), ...args);\n }\n }\n error(...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(_Logger._format(this._name, this._method), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n throw(err) {\n this.error(err);\n throw err;\n }\n create(method) {\n const methodLogger = Object.create(this);\n methodLogger._method = method;\n methodLogger.debug(\"begin\");\n return methodLogger;\n }\n static createStatic(name, staticMethod) {\n const staticLogger = new _Logger(`${name}.${staticMethod}`);\n staticLogger.debug(\"begin\");\n return staticLogger;\n }\n static _format(name, method) {\n const prefix = `[${name}]`;\n return method ? `${prefix} ${method}:` : prefix;\n }\n /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */\n // helpers for static class methods\n static debug(name, ...args) {\n if (level >= 4 /* DEBUG */) {\n logger.debug(_Logger._format(name), ...args);\n }\n }\n static info(name, ...args) {\n if (level >= 3 /* INFO */) {\n logger.info(_Logger._format(name), ...args);\n }\n }\n static warn(name, ...args) {\n if (level >= 2 /* WARN */) {\n logger.warn(_Logger._format(name), ...args);\n }\n }\n static error(name, ...args) {\n if (level >= 1 /* ERROR */) {\n logger.error(_Logger._format(name), ...args);\n }\n }\n /* eslint-enable @typescript-eslint/no-unsafe-enum-comparison */\n};\nLog.reset();\n\n// src/utils/CryptoUtils.ts\nvar UUID_V4_TEMPLATE = \"10000000-1000-4000-8000-100000000000\";\nvar toBase64 = (val) => btoa([...new Uint8Array(val)].map((chr) => String.fromCharCode(chr)).join(\"\"));\nvar CryptoUtils = class _CryptoUtils {\n static _randomWord() {\n const arr = new Uint32Array(1);\n crypto.getRandomValues(arr);\n return arr[0];\n }\n /**\n * Generates RFC4122 version 4 guid\n */\n static generateUUIDv4() {\n const uuid = UUID_V4_TEMPLATE.replace(\n /[018]/g,\n (c) => (+c ^ _CryptoUtils._randomWord() & 15 >> +c / 4).toString(16)\n );\n return uuid.replace(/-/g, \"\");\n }\n /**\n * PKCE: Generate a code verifier\n */\n static generateCodeVerifier() {\n return _CryptoUtils.generateUUIDv4() + _CryptoUtils.generateUUIDv4() + _CryptoUtils.generateUUIDv4();\n }\n /**\n * PKCE: Generate a code challenge\n */\n static async generateCodeChallenge(code_verifier) {\n if (!crypto.subtle) {\n throw new Error(\"Crypto.subtle is available only in secure contexts (HTTPS).\");\n }\n try {\n const encoder = new TextEncoder();\n const data = encoder.encode(code_verifier);\n const hashed = await crypto.subtle.digest(\"SHA-256\", data);\n return toBase64(hashed).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n } catch (err) {\n Logger.error(\"CryptoUtils.generateCodeChallenge\", err);\n throw err;\n }\n }\n /**\n * Generates a base64-encoded string for a basic auth header\n */\n static generateBasicAuth(client_id, client_secret) {\n const encoder = new TextEncoder();\n const data = encoder.encode([client_id, client_secret].join(\":\"));\n return toBase64(data);\n }\n};\n\n// src/utils/Event.ts\nvar Event = class {\n constructor(_name) {\n this._name = _name;\n this._logger = new Logger(`Event('${this._name}')`);\n this._callbacks = [];\n }\n addHandler(cb) {\n this._callbacks.push(cb);\n return () => this.removeHandler(cb);\n }\n removeHandler(cb) {\n const idx = this._callbacks.lastIndexOf(cb);\n if (idx >= 0) {\n this._callbacks.splice(idx, 1);\n }\n }\n async raise(...ev) {\n this._logger.debug(\"raise:\", ...ev);\n for (const cb of this._callbacks) {\n await cb(...ev);\n }\n }\n};\n\n// src/utils/JwtUtils.ts\nimport { jwtDecode } from \"jwt-decode\";\nvar JwtUtils = class {\n // IMPORTANT: doesn't validate the token\n static decode(token) {\n try {\n return jwtDecode(token);\n } catch (err) {\n Logger.error(\"JwtUtils.decode\", err);\n throw err;\n }\n }\n};\n\n// src/utils/PopupUtils.ts\nvar PopupUtils = class {\n /**\n * Populates a map of window features with a placement centered in front of\n * the current window. If no explicit width is given, a default value is\n * binned into [800, 720, 600, 480, 360] based on the current window's width.\n */\n static center({ ...features }) {\n var _a, _b, _c;\n if (features.width == null)\n features.width = (_a = [800, 720, 600, 480].find((width) => width <= window.outerWidth / 1.618)) != null ? _a : 360;\n (_b = features.left) != null ? _b : features.left = Math.max(0, Math.round(window.screenX + (window.outerWidth - features.width) / 2));\n if (features.height != null)\n (_c = features.top) != null ? _c : features.top = Math.max(0, Math.round(window.screenY + (window.outerHeight - features.height) / 2));\n return features;\n }\n static serialize(features) {\n return Object.entries(features).filter(([, value]) => value != null).map(([key, value]) => `${key}=${typeof value !== \"boolean\" ? value : value ? \"yes\" : \"no\"}`).join(\",\");\n }\n};\n\n// src/utils/Timer.ts\nvar Timer = class _Timer extends Event {\n constructor() {\n super(...arguments);\n this._logger = new Logger(`Timer('${this._name}')`);\n this._timerHandle = null;\n this._expiration = 0;\n this._callback = () => {\n const diff = this._expiration - _Timer.getEpochTime();\n this._logger.debug(\"timer completes in\", diff);\n if (this._expiration <= _Timer.getEpochTime()) {\n this.cancel();\n void super.raise();\n }\n };\n }\n // get the time\n static getEpochTime() {\n return Math.floor(Date.now() / 1e3);\n }\n init(durationInSeconds) {\n const logger2 = this._logger.create(\"init\");\n durationInSeconds = Math.max(Math.floor(durationInSeconds), 1);\n const expiration = _Timer.getEpochTime() + durationInSeconds;\n if (this.expiration === expiration && this._timerHandle) {\n logger2.debug(\"skipping since already initialized for expiration at\", this.expiration);\n return;\n }\n this.cancel();\n logger2.debug(\"using duration\", durationInSeconds);\n this._expiration = expiration;\n const timerDurationInSeconds = Math.min(durationInSeconds, 5);\n this._timerHandle = setInterval(this._callback, timerDurationInSeconds * 1e3);\n }\n get expiration() {\n return this._expiration;\n }\n cancel() {\n this._logger.create(\"cancel\");\n if (this._timerHandle) {\n clearInterval(this._timerHandle);\n this._timerHandle = null;\n }\n }\n};\n\n// src/utils/UrlUtils.ts\nvar UrlUtils = class {\n static readParams(url, responseMode = \"query\") {\n if (!url)\n throw new TypeError(\"Invalid URL\");\n const parsedUrl = new URL(url, \"http://127.0.0.1\");\n const params = parsedUrl[responseMode === \"fragment\" ? \"hash\" : \"search\"];\n return new URLSearchParams(params.slice(1));\n }\n};\nvar URL_STATE_DELIMITER = \";\";\n\n// src/errors/ErrorResponse.ts\nvar ErrorResponse = class extends Error {\n constructor(args, form) {\n var _a, _b, _c;\n super(args.error_description || args.error || \"\");\n this.form = form;\n /** Marker to detect class: \"ErrorResponse\" */\n this.name = \"ErrorResponse\";\n if (!args.error) {\n Logger.error(\"ErrorResponse\", \"No error passed\");\n throw new Error(\"No error passed\");\n }\n this.error = args.error;\n this.error_description = (_a = args.error_description) != null ? _a : null;\n this.error_uri = (_b = args.error_uri) != null ? _b : null;\n this.state = args.userState;\n this.session_state = (_c = args.session_state) != null ? _c : null;\n this.url_state = args.url_state;\n }\n};\n\n// src/errors/ErrorTimeout.ts\nvar ErrorTimeout = class extends Error {\n constructor(message) {\n super(message);\n /** Marker to detect class: \"ErrorTimeout\" */\n this.name = \"ErrorTimeout\";\n }\n};\n\n// src/AccessTokenEvents.ts\nvar AccessTokenEvents = class {\n constructor(args) {\n this._logger = new Logger(\"AccessTokenEvents\");\n this._expiringTimer = new Timer(\"Access token expiring\");\n this._expiredTimer = new Timer(\"Access token expired\");\n this._expiringNotificationTimeInSeconds = args.expiringNotificationTimeInSeconds;\n }\n load(container) {\n const logger2 = this._logger.create(\"load\");\n if (container.access_token && container.expires_in !== void 0) {\n const duration = container.expires_in;\n logger2.debug(\"access token present, remaining duration:\", duration);\n if (duration > 0) {\n let expiring = duration - this._expiringNotificationTimeInSeconds;\n if (expiring <= 0) {\n expiring = 1;\n }\n logger2.debug(\"registering expiring timer, raising in\", expiring, \"seconds\");\n this._expiringTimer.init(expiring);\n } else {\n logger2.debug(\"canceling existing expiring timer because we're past expiration.\");\n this._expiringTimer.cancel();\n }\n const expired = duration + 1;\n logger2.debug(\"registering expired timer, raising in\", expired, \"seconds\");\n this._expiredTimer.init(expired);\n } else {\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n }\n unload() {\n this._logger.debug(\"unload: canceling existing access token timers\");\n this._expiringTimer.cancel();\n this._expiredTimer.cancel();\n }\n /**\n * Add callback: Raised prior to the access token expiring.\n */\n addAccessTokenExpiring(cb) {\n return this._expiringTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised prior to the access token expiring.\n */\n removeAccessTokenExpiring(cb) {\n this._expiringTimer.removeHandler(cb);\n }\n /**\n * Add callback: Raised after the access token has expired.\n */\n addAccessTokenExpired(cb) {\n return this._expiredTimer.addHandler(cb);\n }\n /**\n * Remove callback: Raised after the access token has expired.\n */\n removeAccessTokenExpired(cb) {\n this._expiredTimer.removeHandler(cb);\n }\n};\n\n// src/CheckSessionIFrame.ts\nvar CheckSessionIFrame = class {\n constructor(_callback, _client_id, url, _intervalInSeconds, _stopOnError) {\n this._callback = _callback;\n this._client_id = _client_id;\n this._intervalInSeconds = _intervalInSeconds;\n this._stopOnError = _stopOnError;\n this._logger = new Logger(\"CheckSessionIFrame\");\n this._timer = null;\n this._session_state = null;\n this._message = (e) => {\n if (e.origin === this._frame_origin && e.source === this._frame.contentWindow) {\n if (e.data === \"error\") {\n this._logger.error(\"error message from check session op iframe\");\n if (this._stopOnError) {\n this.stop();\n }\n } else if (e.data === \"changed\") {\n this._logger.debug(\"changed message from check session op iframe\");\n this.stop();\n void this._callback();\n } else {\n this._logger.debug(e.data + \" message from check session op iframe\");\n }\n }\n };\n const parsedUrl = new URL(url);\n this._frame_origin = parsedUrl.origin;\n this._frame = window.document.createElement(\"iframe\");\n this._frame.style.visibility = \"hidden\";\n this._frame.style.position = \"fixed\";\n this._frame.style.left = \"-1000px\";\n this._frame.style.top = \"0\";\n this._frame.width = \"0\";\n this._frame.height = \"0\";\n this._frame.src = parsedUrl.href;\n }\n load() {\n return new Promise((resolve) => {\n this._frame.onload = () => {\n resolve();\n };\n window.document.body.appendChild(this._frame);\n window.addEventListener(\"message\", this._message, false);\n });\n }\n start(session_state) {\n if (this._session_state === session_state) {\n return;\n }\n this._logger.create(\"start\");\n this.stop();\n this._session_state = session_state;\n const send = () => {\n if (!this._frame.contentWindow || !this._session_state) {\n return;\n }\n this._frame.contentWindow.postMessage(this._client_id + \" \" + this._session_state, this._frame_origin);\n };\n send();\n this._timer = setInterval(send, this._intervalInSeconds * 1e3);\n }\n stop() {\n this._logger.create(\"stop\");\n this._session_state = null;\n if (this._timer) {\n clearInterval(this._timer);\n this._timer = null;\n }\n }\n};\n\n// src/InMemoryWebStorage.ts\nvar InMemoryWebStorage = class {\n constructor() {\n this._logger = new Logger(\"InMemoryWebStorage\");\n this._data = {};\n }\n clear() {\n this._logger.create(\"clear\");\n this._data = {};\n }\n getItem(key) {\n this._logger.create(`getItem('${key}')`);\n return this._data[key];\n }\n setItem(key, value) {\n this._logger.create(`setItem('${key}')`);\n this._data[key] = value;\n }\n removeItem(key) {\n this._logger.create(`removeItem('${key}')`);\n delete this._data[key];\n }\n get length() {\n return Object.getOwnPropertyNames(this._data).length;\n }\n key(index) {\n return Object.getOwnPropertyNames(this._data)[index];\n }\n};\n\n// src/JsonService.ts\nvar JsonService = class {\n constructor(additionalContentTypes = [], _jwtHandler = null, _extraHeaders = {}) {\n this._jwtHandler = _jwtHandler;\n this._extraHeaders = _extraHeaders;\n this._logger = new Logger(\"JsonService\");\n this._contentTypes = [];\n this._contentTypes.push(...additionalContentTypes, \"application/json\");\n if (_jwtHandler) {\n this._contentTypes.push(\"application/jwt\");\n }\n }\n async fetchWithTimeout(input, init = {}) {\n const { timeoutInSeconds, ...initFetch } = init;\n if (!timeoutInSeconds) {\n return await fetch(input, initFetch);\n }\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), timeoutInSeconds * 1e3);\n try {\n const response = await fetch(input, {\n ...init,\n signal: controller.signal\n });\n return response;\n } catch (err) {\n if (err instanceof DOMException && err.name === \"AbortError\") {\n throw new ErrorTimeout(\"Network timed out\");\n }\n throw err;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n async getJson(url, {\n token,\n credentials\n } = {}) {\n const logger2 = this._logger.create(\"getJson\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \")\n };\n if (token) {\n logger2.debug(\"token passed, setting Authorization header\");\n headers[\"Authorization\"] = \"Bearer \" + token;\n }\n this.appendExtraHeaders(headers);\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"GET\", headers, credentials });\n } catch (err) {\n logger2.error(\"Network Error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n logger2.throw(new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`));\n }\n if (response.ok && this._jwtHandler && (contentType == null ? void 0 : contentType.startsWith(\"application/jwt\"))) {\n return await this._jwtHandler(await response.text());\n }\n let json;\n try {\n json = await response.json();\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok)\n throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (json.error) {\n throw new ErrorResponse(json);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n async postForm(url, {\n body,\n basicAuth,\n timeoutInSeconds,\n initCredentials\n }) {\n const logger2 = this._logger.create(\"postForm\");\n const headers = {\n \"Accept\": this._contentTypes.join(\", \"),\n \"Content-Type\": \"application/x-www-form-urlencoded\"\n };\n if (basicAuth !== void 0) {\n headers[\"Authorization\"] = \"Basic \" + basicAuth;\n }\n this.appendExtraHeaders(headers);\n let response;\n try {\n logger2.debug(\"url:\", url);\n response = await this.fetchWithTimeout(url, { method: \"POST\", headers, body, timeoutInSeconds, credentials: initCredentials });\n } catch (err) {\n logger2.error(\"Network error\");\n throw err;\n }\n logger2.debug(\"HTTP response received, status\", response.status);\n const contentType = response.headers.get(\"Content-Type\");\n if (contentType && !this._contentTypes.find((item) => contentType.startsWith(item))) {\n throw new Error(`Invalid response Content-Type: ${contentType != null ? contentType : \"undefined\"}, from URL: ${url}`);\n }\n const responseText = await response.text();\n let json = {};\n if (responseText) {\n try {\n json = JSON.parse(responseText);\n } catch (err) {\n logger2.error(\"Error parsing JSON response\", err);\n if (response.ok)\n throw err;\n throw new Error(`${response.statusText} (${response.status})`);\n }\n }\n if (!response.ok) {\n logger2.error(\"Error from server:\", json);\n if (json.error) {\n throw new ErrorResponse(json, body);\n }\n throw new Error(`${response.statusText} (${response.status}): ${JSON.stringify(json)}`);\n }\n return json;\n }\n appendExtraHeaders(headers) {\n const logger2 = this._logger.create(\"appendExtraHeaders\");\n const customKeys = Object.keys(this._extraHeaders);\n const protectedHeaders = [\n \"authorization\",\n \"accept\",\n \"content-type\"\n ];\n if (customKeys.length === 0) {\n return;\n }\n customKeys.forEach((headerName) => {\n if (protectedHeaders.includes(headerName.toLocaleLowerCase())) {\n logger2.warn(\"Protected header could not be overridden\", headerName, protectedHeaders);\n return;\n }\n const content = typeof this._extraHeaders[headerName] === \"function\" ? this._extraHeaders[headerName]() : this._extraHeaders[headerName];\n if (content && content !== \"\") {\n headers[headerName] = content;\n }\n });\n }\n};\n\n// src/MetadataService.ts\nvar MetadataService = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"MetadataService\");\n this._signingKeys = null;\n this._metadata = null;\n this._metadataUrl = this._settings.metadataUrl;\n this._jsonService = new JsonService(\n [\"application/jwk-set+json\"],\n null,\n this._settings.extraHeaders\n );\n if (this._settings.signingKeys) {\n this._logger.debug(\"using signingKeys from settings\");\n this._signingKeys = this._settings.signingKeys;\n }\n if (this._settings.metadata) {\n this._logger.debug(\"using metadata from settings\");\n this._metadata = this._settings.metadata;\n }\n if (this._settings.fetchRequestCredentials) {\n this._logger.debug(\"using fetchRequestCredentials from settings\");\n this._fetchRequestCredentials = this._settings.fetchRequestCredentials;\n }\n }\n resetSigningKeys() {\n this._signingKeys = null;\n }\n async getMetadata() {\n const logger2 = this._logger.create(\"getMetadata\");\n if (this._metadata) {\n logger2.debug(\"using cached values\");\n return this._metadata;\n }\n if (!this._metadataUrl) {\n logger2.throw(new Error(\"No authority or metadataUrl configured on settings\"));\n throw null;\n }\n logger2.debug(\"getting metadata from\", this._metadataUrl);\n const metadata = await this._jsonService.getJson(this._metadataUrl, { credentials: this._fetchRequestCredentials });\n logger2.debug(\"merging remote JSON with seed metadata\");\n this._metadata = Object.assign({}, this._settings.metadataSeed, metadata);\n return this._metadata;\n }\n getIssuer() {\n return this._getMetadataProperty(\"issuer\");\n }\n getAuthorizationEndpoint() {\n return this._getMetadataProperty(\"authorization_endpoint\");\n }\n getUserInfoEndpoint() {\n return this._getMetadataProperty(\"userinfo_endpoint\");\n }\n getTokenEndpoint(optional = true) {\n return this._getMetadataProperty(\"token_endpoint\", optional);\n }\n getCheckSessionIframe() {\n return this._getMetadataProperty(\"check_session_iframe\", true);\n }\n getEndSessionEndpoint() {\n return this._getMetadataProperty(\"end_session_endpoint\", true);\n }\n getRevocationEndpoint(optional = true) {\n return this._getMetadataProperty(\"revocation_endpoint\", optional);\n }\n getKeysEndpoint(optional = true) {\n return this._getMetadataProperty(\"jwks_uri\", optional);\n }\n async _getMetadataProperty(name, optional = false) {\n const logger2 = this._logger.create(`_getMetadataProperty('${name}')`);\n const metadata = await this.getMetadata();\n logger2.debug(\"resolved\");\n if (metadata[name] === void 0) {\n if (optional === true) {\n logger2.warn(\"Metadata does not contain optional property\");\n return void 0;\n }\n logger2.throw(new Error(\"Metadata does not contain property \" + name));\n }\n return metadata[name];\n }\n async getSigningKeys() {\n const logger2 = this._logger.create(\"getSigningKeys\");\n if (this._signingKeys) {\n logger2.debug(\"returning signingKeys from cache\");\n return this._signingKeys;\n }\n const jwks_uri = await this.getKeysEndpoint(false);\n logger2.debug(\"got jwks_uri\", jwks_uri);\n const keySet = await this._jsonService.getJson(jwks_uri);\n logger2.debug(\"got key set\", keySet);\n if (!Array.isArray(keySet.keys)) {\n logger2.throw(new Error(\"Missing keys on keyset\"));\n throw null;\n }\n this._signingKeys = keySet.keys;\n return this._signingKeys;\n }\n};\n\n// src/WebStorageStateStore.ts\nvar WebStorageStateStore = class {\n constructor({\n prefix = \"oidc.\",\n store = localStorage\n } = {}) {\n this._logger = new Logger(\"WebStorageStateStore\");\n this._store = store;\n this._prefix = prefix;\n }\n async set(key, value) {\n this._logger.create(`set('${key}')`);\n key = this._prefix + key;\n await this._store.setItem(key, value);\n }\n async get(key) {\n this._logger.create(`get('${key}')`);\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n return item;\n }\n async remove(key) {\n this._logger.create(`remove('${key}')`);\n key = this._prefix + key;\n const item = await this._store.getItem(key);\n await this._store.removeItem(key);\n return item;\n }\n async getAllKeys() {\n this._logger.create(\"getAllKeys\");\n const len = await this._store.length;\n const keys = [];\n for (let index = 0; index < len; index++) {\n const key = await this._store.key(index);\n if (key && key.indexOf(this._prefix) === 0) {\n keys.push(key.substr(this._prefix.length));\n }\n }\n return keys;\n }\n};\n\n// src/OidcClientSettings.ts\nvar DefaultResponseType = \"code\";\nvar DefaultScope = \"openid\";\nvar DefaultClientAuthentication = \"client_secret_post\";\nvar DefaultStaleStateAgeInSeconds = 60 * 15;\nvar OidcClientSettingsStore = class {\n constructor({\n // metadata related\n authority,\n metadataUrl,\n metadata,\n signingKeys,\n metadataSeed,\n // client related\n client_id,\n client_secret,\n response_type = DefaultResponseType,\n scope = DefaultScope,\n redirect_uri,\n post_logout_redirect_uri,\n client_authentication = DefaultClientAuthentication,\n // optional protocol\n prompt,\n display,\n max_age,\n ui_locales,\n acr_values,\n resource,\n response_mode,\n // behavior flags\n filterProtocolClaims = true,\n loadUserInfo = false,\n staleStateAgeInSeconds = DefaultStaleStateAgeInSeconds,\n mergeClaimsStrategy = { array: \"replace\" },\n disablePKCE = false,\n // other behavior\n stateStore,\n revokeTokenAdditionalContentTypes,\n fetchRequestCredentials,\n refreshTokenAllowedScope,\n // extra\n extraQueryParams = {},\n extraTokenParams = {},\n extraHeaders = {}\n }) {\n this.authority = authority;\n if (metadataUrl) {\n this.metadataUrl = metadataUrl;\n } else {\n this.metadataUrl = authority;\n if (authority) {\n if (!this.metadataUrl.endsWith(\"/\")) {\n this.metadataUrl += \"/\";\n }\n this.metadataUrl += \".well-known/openid-configuration\";\n }\n }\n this.metadata = metadata;\n this.metadataSeed = metadataSeed;\n this.signingKeys = signingKeys;\n this.client_id = client_id;\n this.client_secret = client_secret;\n this.response_type = response_type;\n this.scope = scope;\n this.redirect_uri = redirect_uri;\n this.post_logout_redirect_uri = post_logout_redirect_uri;\n this.client_authentication = client_authentication;\n this.prompt = prompt;\n this.display = display;\n this.max_age = max_age;\n this.ui_locales = ui_locales;\n this.acr_values = acr_values;\n this.resource = resource;\n this.response_mode = response_mode;\n this.filterProtocolClaims = filterProtocolClaims != null ? filterProtocolClaims : true;\n this.loadUserInfo = !!loadUserInfo;\n this.staleStateAgeInSeconds = staleStateAgeInSeconds;\n this.mergeClaimsStrategy = mergeClaimsStrategy;\n this.disablePKCE = !!disablePKCE;\n this.revokeTokenAdditionalContentTypes = revokeTokenAdditionalContentTypes;\n this.fetchRequestCredentials = fetchRequestCredentials ? fetchRequestCredentials : \"same-origin\";\n if (stateStore) {\n this.stateStore = stateStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.localStorage : new InMemoryWebStorage();\n this.stateStore = new WebStorageStateStore({ store });\n }\n this.refreshTokenAllowedScope = refreshTokenAllowedScope;\n this.extraQueryParams = extraQueryParams;\n this.extraTokenParams = extraTokenParams;\n this.extraHeaders = extraHeaders;\n }\n};\n\n// src/UserInfoService.ts\nvar UserInfoService = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"UserInfoService\");\n this._getClaimsFromJwt = async (responseText) => {\n const logger2 = this._logger.create(\"_getClaimsFromJwt\");\n try {\n const payload = JwtUtils.decode(responseText);\n logger2.debug(\"JWT decoding successful\");\n return payload;\n } catch (err) {\n logger2.error(\"Error parsing JWT response\");\n throw err;\n }\n };\n this._jsonService = new JsonService(\n void 0,\n this._getClaimsFromJwt,\n this._settings.extraHeaders\n );\n }\n async getClaims(token) {\n const logger2 = this._logger.create(\"getClaims\");\n if (!token) {\n this._logger.throw(new Error(\"No token passed\"));\n }\n const url = await this._metadataService.getUserInfoEndpoint();\n logger2.debug(\"got userinfo url\", url);\n const claims = await this._jsonService.getJson(url, {\n token,\n credentials: this._settings.fetchRequestCredentials\n });\n logger2.debug(\"got claims\", claims);\n return claims;\n }\n};\n\n// src/TokenClient.ts\nvar TokenClient = class {\n constructor(_settings, _metadataService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._logger = new Logger(\"TokenClient\");\n this._jsonService = new JsonService(\n this._settings.revokeTokenAdditionalContentTypes,\n null,\n this._settings.extraHeaders\n );\n }\n /**\n * Exchange code.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3\n */\n async exchangeCode({\n grant_type = \"authorization_code\",\n redirect_uri = this._settings.redirect_uri,\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeCode\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!redirect_uri) {\n logger2.throw(new Error(\"A redirect_uri is required\"));\n }\n if (!args.code) {\n logger2.throw(new Error(\"A code is required\"));\n }\n const params = new URLSearchParams({ grant_type, redirect_uri });\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, initCredentials: this._settings.fetchRequestCredentials });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Exchange credentials.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-4.3.2\n */\n async exchangeCredentials({\n grant_type = \"password\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n scope = this._settings.scope,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeCredentials\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n const params = new URLSearchParams({ grant_type, scope });\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, initCredentials: this._settings.fetchRequestCredentials });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Exchange a refresh token.\n *\n * @see https://www.rfc-editor.org/rfc/rfc6749#section-6\n */\n async exchangeRefreshToken({\n grant_type = \"refresh_token\",\n client_id = this._settings.client_id,\n client_secret = this._settings.client_secret,\n timeoutInSeconds,\n ...args\n }) {\n const logger2 = this._logger.create(\"exchangeRefreshToken\");\n if (!client_id) {\n logger2.throw(new Error(\"A client_id is required\"));\n }\n if (!args.refresh_token) {\n logger2.throw(new Error(\"A refresh_token is required\"));\n }\n const params = new URLSearchParams({ grant_type });\n for (const [key, value] of Object.entries(args)) {\n if (Array.isArray(value)) {\n value.forEach((param) => params.append(key, param));\n } else if (value != null) {\n params.set(key, value);\n }\n }\n let basicAuth;\n switch (this._settings.client_authentication) {\n case \"client_secret_basic\":\n if (!client_secret) {\n logger2.throw(new Error(\"A client_secret is required\"));\n throw null;\n }\n basicAuth = CryptoUtils.generateBasicAuth(client_id, client_secret);\n break;\n case \"client_secret_post\":\n params.append(\"client_id\", client_id);\n if (client_secret) {\n params.append(\"client_secret\", client_secret);\n }\n break;\n }\n const url = await this._metadataService.getTokenEndpoint(false);\n logger2.debug(\"got token endpoint\");\n const response = await this._jsonService.postForm(url, { body: params, basicAuth, timeoutInSeconds, initCredentials: this._settings.fetchRequestCredentials });\n logger2.debug(\"got response\");\n return response;\n }\n /**\n * Revoke an access or refresh token.\n *\n * @see https://datatracker.ietf.org/doc/html/rfc7009#section-2.1\n */\n async revoke(args) {\n var _a;\n const logger2 = this._logger.create(\"revoke\");\n if (!args.token) {\n logger2.throw(new Error(\"A token is required\"));\n }\n const url = await this._metadataService.getRevocationEndpoint(false);\n logger2.debug(`got revocation endpoint, revoking ${(_a = args.token_type_hint) != null ? _a : \"default token type\"}`);\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(args)) {\n if (value != null) {\n params.set(key, value);\n }\n }\n params.set(\"client_id\", this._settings.client_id);\n if (this._settings.client_secret) {\n params.set(\"client_secret\", this._settings.client_secret);\n }\n await this._jsonService.postForm(url, { body: params });\n logger2.debug(\"got response\");\n }\n};\n\n// src/ResponseValidator.ts\nvar ResponseValidator = class {\n constructor(_settings, _metadataService, _claimsService) {\n this._settings = _settings;\n this._metadataService = _metadataService;\n this._claimsService = _claimsService;\n this._logger = new Logger(\"ResponseValidator\");\n this._userInfoService = new UserInfoService(this._settings, this._metadataService);\n this._tokenClient = new TokenClient(this._settings, this._metadataService);\n }\n async validateSigninResponse(response, state) {\n const logger2 = this._logger.create(\"validateSigninResponse\");\n this._processSigninState(response, state);\n logger2.debug(\"state processed\");\n await this._processCode(response, state);\n logger2.debug(\"code processed\");\n if (response.isOpenId) {\n this._validateIdTokenAttributes(response);\n }\n logger2.debug(\"tokens validated\");\n await this._processClaims(response, state == null ? void 0 : state.skipUserInfo, response.isOpenId);\n logger2.debug(\"claims processed\");\n }\n async validateCredentialsResponse(response, skipUserInfo) {\n const logger2 = this._logger.create(\"validateCredentialsResponse\");\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response);\n }\n logger2.debug(\"tokens validated\");\n await this._processClaims(response, skipUserInfo, response.isOpenId);\n logger2.debug(\"claims processed\");\n }\n async validateRefreshResponse(response, state) {\n var _a, _b;\n const logger2 = this._logger.create(\"validateRefreshResponse\");\n response.userState = state.data;\n (_a = response.session_state) != null ? _a : response.session_state = state.session_state;\n (_b = response.scope) != null ? _b : response.scope = state.scope;\n if (response.isOpenId && !!response.id_token) {\n this._validateIdTokenAttributes(response, state.id_token);\n logger2.debug(\"ID Token validated\");\n }\n if (!response.id_token) {\n response.id_token = state.id_token;\n response.profile = state.profile;\n }\n const hasIdToken = response.isOpenId && !!response.id_token;\n await this._processClaims(response, false, hasIdToken);\n logger2.debug(\"claims processed\");\n }\n validateSignoutResponse(response, state) {\n const logger2 = this._logger.create(\"validateSignoutResponse\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n }\n _processSigninState(response, state) {\n var _a;\n const logger2 = this._logger.create(\"_processSigninState\");\n if (state.id !== response.state) {\n logger2.throw(new Error(\"State does not match\"));\n }\n if (!state.client_id) {\n logger2.throw(new Error(\"No client_id on state\"));\n }\n if (!state.authority) {\n logger2.throw(new Error(\"No authority on state\"));\n }\n if (this._settings.authority !== state.authority) {\n logger2.throw(new Error(\"authority mismatch on settings vs. signin state\"));\n }\n if (this._settings.client_id && this._settings.client_id !== state.client_id) {\n logger2.throw(new Error(\"client_id mismatch on settings vs. signin state\"));\n }\n logger2.debug(\"state validated\");\n response.userState = state.data;\n response.url_state = state.url_state;\n (_a = response.scope) != null ? _a : response.scope = state.scope;\n if (response.error) {\n logger2.warn(\"Response was error\", response.error);\n throw new ErrorResponse(response);\n }\n if (state.code_verifier && !response.code) {\n logger2.throw(new Error(\"Expected code in response\"));\n }\n }\n async _processClaims(response, skipUserInfo = false, validateSub = true) {\n const logger2 = this._logger.create(\"_processClaims\");\n response.profile = this._claimsService.filterProtocolClaims(response.profile);\n if (skipUserInfo || !this._settings.loadUserInfo || !response.access_token) {\n logger2.debug(\"not loading user info\");\n return;\n }\n logger2.debug(\"loading user info\");\n const claims = await this._userInfoService.getClaims(response.access_token);\n logger2.debug(\"user info claims received from user info endpoint\");\n if (validateSub && claims.sub !== response.profile.sub) {\n logger2.throw(new Error(\"subject from UserInfo response does not match subject in ID Token\"));\n }\n response.profile = this._claimsService.mergeClaims(response.profile, this._claimsService.filterProtocolClaims(claims));\n logger2.debug(\"user info claims received, updated profile:\", response.profile);\n }\n async _processCode(response, state) {\n const logger2 = this._logger.create(\"_processCode\");\n if (response.code) {\n logger2.debug(\"Validating code\");\n const tokenResponse = await this._tokenClient.exchangeCode({\n client_id: state.client_id,\n client_secret: state.client_secret,\n code: response.code,\n redirect_uri: state.redirect_uri,\n code_verifier: state.code_verifier,\n ...state.extraTokenParams\n });\n Object.assign(response, tokenResponse);\n } else {\n logger2.debug(\"No code to process\");\n }\n }\n _validateIdTokenAttributes(response, existingToken) {\n var _a;\n const logger2 = this._logger.create(\"_validateIdTokenAttributes\");\n logger2.debug(\"decoding ID Token JWT\");\n const incoming = JwtUtils.decode((_a = response.id_token) != null ? _a : \"\");\n if (!incoming.sub) {\n logger2.throw(new Error(\"ID Token is missing a subject claim\"));\n }\n if (existingToken) {\n const existing = JwtUtils.decode(existingToken);\n if (incoming.sub !== existing.sub) {\n logger2.throw(new Error(\"sub in id_token does not match current sub\"));\n }\n if (incoming.auth_time && incoming.auth_time !== existing.auth_time) {\n logger2.throw(new Error(\"auth_time in id_token does not match original auth_time\"));\n }\n if (incoming.azp && incoming.azp !== existing.azp) {\n logger2.throw(new Error(\"azp in id_token does not match original azp\"));\n }\n if (!incoming.azp && existing.azp) {\n logger2.throw(new Error(\"azp not in id_token, but present in original id_token\"));\n }\n }\n response.profile = incoming;\n }\n};\n\n// src/State.ts\nvar State = class _State {\n constructor(args) {\n this.id = args.id || CryptoUtils.generateUUIDv4();\n this.data = args.data;\n if (args.created && args.created > 0) {\n this.created = args.created;\n } else {\n this.created = Timer.getEpochTime();\n }\n this.request_type = args.request_type;\n this.url_state = args.url_state;\n }\n toStorageString() {\n new Logger(\"State\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"State\", \"fromStorageString\");\n return Promise.resolve(new _State(JSON.parse(storageString)));\n }\n static async clearStaleState(storage, age) {\n const logger2 = Logger.createStatic(\"State\", \"clearStaleState\");\n const cutoff = Timer.getEpochTime() - age;\n const keys = await storage.getAllKeys();\n logger2.debug(\"got keys\", keys);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const item = await storage.get(key);\n let remove = false;\n if (item) {\n try {\n const state = await _State.fromStorageString(item);\n logger2.debug(\"got item from key:\", key, state.created);\n if (state.created <= cutoff) {\n remove = true;\n }\n } catch (err) {\n logger2.error(\"Error parsing state for key:\", key, err);\n remove = true;\n }\n } else {\n logger2.debug(\"no item in storage for key:\", key);\n remove = true;\n }\n if (remove) {\n logger2.debug(\"removed item for key:\", key);\n void storage.remove(key);\n }\n }\n }\n};\n\n// src/SigninState.ts\nvar SigninState = class _SigninState extends State {\n constructor(args) {\n super(args);\n this.code_verifier = args.code_verifier;\n this.code_challenge = args.code_challenge;\n this.authority = args.authority;\n this.client_id = args.client_id;\n this.redirect_uri = args.redirect_uri;\n this.scope = args.scope;\n this.client_secret = args.client_secret;\n this.extraTokenParams = args.extraTokenParams;\n this.response_mode = args.response_mode;\n this.skipUserInfo = args.skipUserInfo;\n }\n static async create(args) {\n const code_verifier = args.code_verifier === true ? CryptoUtils.generateCodeVerifier() : args.code_verifier || void 0;\n const code_challenge = code_verifier ? await CryptoUtils.generateCodeChallenge(code_verifier) : void 0;\n return new _SigninState({\n ...args,\n code_verifier,\n code_challenge\n });\n }\n toStorageString() {\n new Logger(\"SigninState\").create(\"toStorageString\");\n return JSON.stringify({\n id: this.id,\n data: this.data,\n created: this.created,\n request_type: this.request_type,\n url_state: this.url_state,\n code_verifier: this.code_verifier,\n authority: this.authority,\n client_id: this.client_id,\n redirect_uri: this.redirect_uri,\n scope: this.scope,\n client_secret: this.client_secret,\n extraTokenParams: this.extraTokenParams,\n response_mode: this.response_mode,\n skipUserInfo: this.skipUserInfo\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"SigninState\", \"fromStorageString\");\n const data = JSON.parse(storageString);\n return _SigninState.create(data);\n }\n};\n\n// src/SigninRequest.ts\nvar _SigninRequest = class _SigninRequest {\n constructor(args) {\n this.url = args.url;\n this.state = args.state;\n }\n static async create({\n // mandatory\n url,\n authority,\n client_id,\n redirect_uri,\n response_type,\n scope,\n // optional\n state_data,\n response_mode,\n request_type,\n client_secret,\n nonce,\n url_state,\n resource,\n skipUserInfo,\n extraQueryParams,\n extraTokenParams,\n disablePKCE,\n ...optionalParams\n }) {\n if (!url) {\n this._logger.error(\"create: No url passed\");\n throw new Error(\"url\");\n }\n if (!client_id) {\n this._logger.error(\"create: No client_id passed\");\n throw new Error(\"client_id\");\n }\n if (!redirect_uri) {\n this._logger.error(\"create: No redirect_uri passed\");\n throw new Error(\"redirect_uri\");\n }\n if (!response_type) {\n this._logger.error(\"create: No response_type passed\");\n throw new Error(\"response_type\");\n }\n if (!scope) {\n this._logger.error(\"create: No scope passed\");\n throw new Error(\"scope\");\n }\n if (!authority) {\n this._logger.error(\"create: No authority passed\");\n throw new Error(\"authority\");\n }\n const state = await SigninState.create({\n data: state_data,\n request_type,\n url_state,\n code_verifier: !disablePKCE,\n client_id,\n authority,\n redirect_uri,\n response_mode,\n client_secret,\n scope,\n extraTokenParams,\n skipUserInfo\n });\n const parsedUrl = new URL(url);\n parsedUrl.searchParams.append(\"client_id\", client_id);\n parsedUrl.searchParams.append(\"redirect_uri\", redirect_uri);\n parsedUrl.searchParams.append(\"response_type\", response_type);\n parsedUrl.searchParams.append(\"scope\", scope);\n if (nonce) {\n parsedUrl.searchParams.append(\"nonce\", nonce);\n }\n let stateParam = state.id;\n if (url_state) {\n stateParam = `${stateParam}${URL_STATE_DELIMITER}${url_state}`;\n }\n parsedUrl.searchParams.append(\"state\", stateParam);\n if (state.code_challenge) {\n parsedUrl.searchParams.append(\"code_challenge\", state.code_challenge);\n parsedUrl.searchParams.append(\"code_challenge_method\", \"S256\");\n }\n if (resource) {\n const resources = Array.isArray(resource) ? resource : [resource];\n resources.forEach((r) => parsedUrl.searchParams.append(\"resource\", r));\n }\n for (const [key, value] of Object.entries({ response_mode, ...optionalParams, ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n return new _SigninRequest({\n url: parsedUrl.href,\n state\n });\n }\n};\n_SigninRequest._logger = new Logger(\"SigninRequest\");\nvar SigninRequest = _SigninRequest;\n\n// src/SigninResponse.ts\nvar OidcScope = \"openid\";\nvar SigninResponse = class {\n constructor(params) {\n /** @see {@link User.access_token} */\n this.access_token = \"\";\n /** @see {@link User.token_type} */\n this.token_type = \"\";\n /** @see {@link User.profile} */\n this.profile = {};\n this.state = params.get(\"state\");\n this.session_state = params.get(\"session_state\");\n if (this.state) {\n const splitState = decodeURIComponent(this.state).split(URL_STATE_DELIMITER);\n this.state = splitState[0];\n if (splitState.length > 1) {\n this.url_state = splitState.slice(1).join(URL_STATE_DELIMITER);\n }\n }\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n this.code = params.get(\"code\");\n }\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (typeof value === \"string\")\n value = Number(value);\n if (value !== void 0 && value >= 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n get isOpenId() {\n var _a;\n return ((_a = this.scope) == null ? void 0 : _a.split(\" \").includes(OidcScope)) || !!this.id_token;\n }\n};\n\n// src/SignoutRequest.ts\nvar SignoutRequest = class {\n constructor({\n url,\n state_data,\n id_token_hint,\n post_logout_redirect_uri,\n extraQueryParams,\n request_type,\n client_id\n }) {\n this._logger = new Logger(\"SignoutRequest\");\n if (!url) {\n this._logger.error(\"ctor: No url passed\");\n throw new Error(\"url\");\n }\n const parsedUrl = new URL(url);\n if (id_token_hint) {\n parsedUrl.searchParams.append(\"id_token_hint\", id_token_hint);\n }\n if (client_id) {\n parsedUrl.searchParams.append(\"client_id\", client_id);\n }\n if (post_logout_redirect_uri) {\n parsedUrl.searchParams.append(\"post_logout_redirect_uri\", post_logout_redirect_uri);\n if (state_data) {\n this.state = new State({ data: state_data, request_type });\n parsedUrl.searchParams.append(\"state\", this.state.id);\n }\n }\n for (const [key, value] of Object.entries({ ...extraQueryParams })) {\n if (value != null) {\n parsedUrl.searchParams.append(key, value.toString());\n }\n }\n this.url = parsedUrl.href;\n }\n};\n\n// src/SignoutResponse.ts\nvar SignoutResponse = class {\n constructor(params) {\n this.state = params.get(\"state\");\n this.error = params.get(\"error\");\n this.error_description = params.get(\"error_description\");\n this.error_uri = params.get(\"error_uri\");\n }\n};\n\n// src/ClaimsService.ts\nvar DefaultProtocolClaims = [\n \"nbf\",\n \"jti\",\n \"auth_time\",\n \"nonce\",\n \"acr\",\n \"amr\",\n \"azp\",\n \"at_hash\"\n // https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken\n];\nvar InternalRequiredProtocolClaims = [\"sub\", \"iss\", \"aud\", \"exp\", \"iat\"];\nvar ClaimsService = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"ClaimsService\");\n }\n filterProtocolClaims(claims) {\n const result = { ...claims };\n if (this._settings.filterProtocolClaims) {\n let protocolClaims;\n if (Array.isArray(this._settings.filterProtocolClaims)) {\n protocolClaims = this._settings.filterProtocolClaims;\n } else {\n protocolClaims = DefaultProtocolClaims;\n }\n for (const claim of protocolClaims) {\n if (!InternalRequiredProtocolClaims.includes(claim)) {\n delete result[claim];\n }\n }\n }\n return result;\n }\n mergeClaims(claims1, claims2) {\n const result = { ...claims1 };\n for (const [claim, values] of Object.entries(claims2)) {\n if (result[claim] !== values) {\n if (Array.isArray(result[claim]) || Array.isArray(values)) {\n if (this._settings.mergeClaimsStrategy.array == \"replace\") {\n result[claim] = values;\n } else {\n const mergedValues = Array.isArray(result[claim]) ? result[claim] : [result[claim]];\n for (const value of Array.isArray(values) ? values : [values]) {\n if (!mergedValues.includes(value)) {\n mergedValues.push(value);\n }\n }\n result[claim] = mergedValues;\n }\n } else if (typeof result[claim] === \"object\" && typeof values === \"object\") {\n result[claim] = this.mergeClaims(result[claim], values);\n } else {\n result[claim] = values;\n }\n }\n }\n return result;\n }\n};\n\n// src/OidcClient.ts\nvar OidcClient = class {\n constructor(settings, metadataService) {\n this._logger = new Logger(\"OidcClient\");\n this.settings = settings instanceof OidcClientSettingsStore ? settings : new OidcClientSettingsStore(settings);\n this.metadataService = metadataService != null ? metadataService : new MetadataService(this.settings);\n this._claimsService = new ClaimsService(this.settings);\n this._validator = new ResponseValidator(this.settings, this.metadataService, this._claimsService);\n this._tokenClient = new TokenClient(this.settings, this.metadataService);\n }\n async createSigninRequest({\n state,\n request,\n request_uri,\n request_type,\n id_token_hint,\n login_hint,\n skipUserInfo,\n nonce,\n url_state,\n response_type = this.settings.response_type,\n scope = this.settings.scope,\n redirect_uri = this.settings.redirect_uri,\n prompt = this.settings.prompt,\n display = this.settings.display,\n max_age = this.settings.max_age,\n ui_locales = this.settings.ui_locales,\n acr_values = this.settings.acr_values,\n resource = this.settings.resource,\n response_mode = this.settings.response_mode,\n extraQueryParams = this.settings.extraQueryParams,\n extraTokenParams = this.settings.extraTokenParams\n }) {\n const logger2 = this._logger.create(\"createSigninRequest\");\n if (response_type !== \"code\") {\n throw new Error(\"Only the Authorization Code flow (with PKCE) is supported\");\n }\n const url = await this.metadataService.getAuthorizationEndpoint();\n logger2.debug(\"Received authorization endpoint\", url);\n const signinRequest = await SigninRequest.create({\n url,\n authority: this.settings.authority,\n client_id: this.settings.client_id,\n redirect_uri,\n response_type,\n scope,\n state_data: state,\n url_state,\n prompt,\n display,\n max_age,\n ui_locales,\n id_token_hint,\n login_hint,\n acr_values,\n resource,\n request,\n request_uri,\n extraQueryParams,\n extraTokenParams,\n request_type,\n response_mode,\n client_secret: this.settings.client_secret,\n skipUserInfo,\n nonce,\n disablePKCE: this.settings.disablePKCE\n });\n await this.clearStaleState();\n const signinState = signinRequest.state;\n await this.settings.stateStore.set(signinState.id, signinState.toStorageString());\n return signinRequest;\n }\n async readSigninResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSigninResponseState\");\n const response = new SigninResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.throw(new Error(\"No state in response\"));\n throw null;\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = await SigninState.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSigninResponse(url) {\n const logger2 = this._logger.create(\"processSigninResponse\");\n const { state, response } = await this.readSigninResponseState(url, true);\n logger2.debug(\"received state from storage; validating response\");\n await this._validator.validateSigninResponse(response, state);\n return response;\n }\n async processResourceOwnerPasswordCredentials({\n username,\n password,\n skipUserInfo = false,\n extraTokenParams = {}\n }) {\n const tokenResponse = await this._tokenClient.exchangeCredentials({ username, password, ...extraTokenParams });\n const signinResponse = new SigninResponse(new URLSearchParams());\n Object.assign(signinResponse, tokenResponse);\n await this._validator.validateCredentialsResponse(signinResponse, skipUserInfo);\n return signinResponse;\n }\n async useRefreshToken({\n state,\n redirect_uri,\n resource,\n timeoutInSeconds,\n extraTokenParams\n }) {\n var _a;\n const logger2 = this._logger.create(\"useRefreshToken\");\n let scope;\n if (this.settings.refreshTokenAllowedScope === void 0) {\n scope = state.scope;\n } else {\n const allowableScopes = this.settings.refreshTokenAllowedScope.split(\" \");\n const providedScopes = ((_a = state.scope) == null ? void 0 : _a.split(\" \")) || [];\n scope = providedScopes.filter((s) => allowableScopes.includes(s)).join(\" \");\n }\n const result = await this._tokenClient.exchangeRefreshToken({\n refresh_token: state.refresh_token,\n // provide the (possible filtered) scope list\n scope,\n redirect_uri,\n resource,\n timeoutInSeconds,\n ...extraTokenParams\n });\n const response = new SigninResponse(new URLSearchParams());\n Object.assign(response, result);\n logger2.debug(\"validating response\", response);\n await this._validator.validateRefreshResponse(response, {\n ...state,\n // override the scope in the state handed over to the validator\n // so it can set the granted scope to the requested scope in case none is included in the response\n scope\n });\n return response;\n }\n async createSignoutRequest({\n state,\n id_token_hint,\n client_id,\n request_type,\n post_logout_redirect_uri = this.settings.post_logout_redirect_uri,\n extraQueryParams = this.settings.extraQueryParams\n } = {}) {\n const logger2 = this._logger.create(\"createSignoutRequest\");\n const url = await this.metadataService.getEndSessionEndpoint();\n if (!url) {\n logger2.throw(new Error(\"No end session endpoint\"));\n throw null;\n }\n logger2.debug(\"Received end session endpoint\", url);\n if (!client_id && post_logout_redirect_uri && !id_token_hint) {\n client_id = this.settings.client_id;\n }\n const request = new SignoutRequest({\n url,\n id_token_hint,\n client_id,\n post_logout_redirect_uri,\n state_data: state,\n extraQueryParams,\n request_type\n });\n await this.clearStaleState();\n const signoutState = request.state;\n if (signoutState) {\n logger2.debug(\"Signout request has state to persist\");\n await this.settings.stateStore.set(signoutState.id, signoutState.toStorageString());\n }\n return request;\n }\n async readSignoutResponseState(url, removeState = false) {\n const logger2 = this._logger.create(\"readSignoutResponseState\");\n const response = new SignoutResponse(UrlUtils.readParams(url, this.settings.response_mode));\n if (!response.state) {\n logger2.debug(\"No state in response\");\n if (response.error) {\n logger2.warn(\"Response was error:\", response.error);\n throw new ErrorResponse(response);\n }\n return { state: void 0, response };\n }\n const storedStateString = await this.settings.stateStore[removeState ? \"remove\" : \"get\"](response.state);\n if (!storedStateString) {\n logger2.throw(new Error(\"No matching state found in storage\"));\n throw null;\n }\n const state = await State.fromStorageString(storedStateString);\n return { state, response };\n }\n async processSignoutResponse(url) {\n const logger2 = this._logger.create(\"processSignoutResponse\");\n const { state, response } = await this.readSignoutResponseState(url, true);\n if (state) {\n logger2.debug(\"Received state from storage; validating response\");\n this._validator.validateSignoutResponse(response, state);\n } else {\n logger2.debug(\"No state from storage; skipping response validation\");\n }\n return response;\n }\n clearStaleState() {\n this._logger.create(\"clearStaleState\");\n return State.clearStaleState(this.settings.stateStore, this.settings.staleStateAgeInSeconds);\n }\n async revokeToken(token, type) {\n this._logger.create(\"revokeToken\");\n return await this._tokenClient.revoke({\n token,\n token_type_hint: type\n });\n }\n};\n\n// src/SessionMonitor.ts\nvar SessionMonitor = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SessionMonitor\");\n this._start = async (user) => {\n const session_state = user.session_state;\n if (!session_state) {\n return;\n }\n const logger2 = this._logger.create(\"_start\");\n if (user.profile) {\n this._sub = user.profile.sub;\n logger2.debug(\"session_state\", session_state, \", sub\", this._sub);\n } else {\n this._sub = void 0;\n logger2.debug(\"session_state\", session_state, \", anonymous user\");\n }\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.start(session_state);\n return;\n }\n try {\n const url = await this._userManager.metadataService.getCheckSessionIframe();\n if (url) {\n logger2.debug(\"initializing check session iframe\");\n const client_id = this._userManager.settings.client_id;\n const intervalInSeconds = this._userManager.settings.checkSessionIntervalInSeconds;\n const stopOnError = this._userManager.settings.stopCheckSessionOnError;\n const checkSessionIFrame = new CheckSessionIFrame(this._callback, client_id, url, intervalInSeconds, stopOnError);\n await checkSessionIFrame.load();\n this._checkSessionIFrame = checkSessionIFrame;\n checkSessionIFrame.start(session_state);\n } else {\n logger2.warn(\"no check session iframe found in the metadata\");\n }\n } catch (err) {\n logger2.error(\"Error from getCheckSessionIframe:\", err instanceof Error ? err.message : err);\n }\n };\n this._stop = () => {\n const logger2 = this._logger.create(\"_stop\");\n this._sub = void 0;\n if (this._checkSessionIFrame) {\n this._checkSessionIFrame.stop();\n }\n if (this._userManager.settings.monitorAnonymousSession) {\n const timerHandle = setInterval(async () => {\n clearInterval(timerHandle);\n try {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub\n } : null\n };\n void this._start(tmpUser);\n }\n } catch (err) {\n logger2.error(\"error from querySessionStatus\", err instanceof Error ? err.message : err);\n }\n }, 1e3);\n }\n };\n this._callback = async () => {\n const logger2 = this._logger.create(\"_callback\");\n try {\n const session = await this._userManager.querySessionStatus();\n let raiseEvent = true;\n if (session && this._checkSessionIFrame) {\n if (session.sub === this._sub) {\n raiseEvent = false;\n this._checkSessionIFrame.start(session.session_state);\n logger2.debug(\"same sub still logged in at OP, session state has changed, restarting check session iframe; session_state\", session.session_state);\n await this._userManager.events._raiseUserSessionChanged();\n } else {\n logger2.debug(\"different subject signed into OP\", session.sub);\n }\n } else {\n logger2.debug(\"subject no longer signed into OP\");\n }\n if (raiseEvent) {\n if (this._sub) {\n await this._userManager.events._raiseUserSignedOut();\n } else {\n await this._userManager.events._raiseUserSignedIn();\n }\n } else {\n logger2.debug(\"no change in session detected, no event to raise\");\n }\n } catch (err) {\n if (this._sub) {\n logger2.debug(\"Error calling queryCurrentSigninSession; raising signed out event\", err);\n await this._userManager.events._raiseUserSignedOut();\n }\n }\n };\n if (!_userManager) {\n this._logger.throw(new Error(\"No user manager passed\"));\n }\n this._userManager.events.addUserLoaded(this._start);\n this._userManager.events.addUserUnloaded(this._stop);\n this._init().catch((err) => {\n this._logger.error(err);\n });\n }\n async _init() {\n this._logger.create(\"_init\");\n const user = await this._userManager.getUser();\n if (user) {\n void this._start(user);\n } else if (this._userManager.settings.monitorAnonymousSession) {\n const session = await this._userManager.querySessionStatus();\n if (session) {\n const tmpUser = {\n session_state: session.session_state,\n profile: session.sub ? {\n sub: session.sub\n } : null\n };\n void this._start(tmpUser);\n }\n }\n }\n};\n\n// src/User.ts\nvar User = class _User {\n constructor(args) {\n var _a;\n this.id_token = args.id_token;\n this.session_state = (_a = args.session_state) != null ? _a : null;\n this.access_token = args.access_token;\n this.refresh_token = args.refresh_token;\n this.token_type = args.token_type;\n this.scope = args.scope;\n this.profile = args.profile;\n this.expires_at = args.expires_at;\n this.state = args.userState;\n this.url_state = args.url_state;\n }\n /** Computed number of seconds the access token has remaining. */\n get expires_in() {\n if (this.expires_at === void 0) {\n return void 0;\n }\n return this.expires_at - Timer.getEpochTime();\n }\n set expires_in(value) {\n if (value !== void 0) {\n this.expires_at = Math.floor(value) + Timer.getEpochTime();\n }\n }\n /** Computed value indicating if the access token is expired. */\n get expired() {\n const expires_in = this.expires_in;\n if (expires_in === void 0) {\n return void 0;\n }\n return expires_in <= 0;\n }\n /** Array representing the parsed values from the `scope`. */\n get scopes() {\n var _a, _b;\n return (_b = (_a = this.scope) == null ? void 0 : _a.split(\" \")) != null ? _b : [];\n }\n toStorageString() {\n new Logger(\"User\").create(\"toStorageString\");\n return JSON.stringify({\n id_token: this.id_token,\n session_state: this.session_state,\n access_token: this.access_token,\n refresh_token: this.refresh_token,\n token_type: this.token_type,\n scope: this.scope,\n profile: this.profile,\n expires_at: this.expires_at\n });\n }\n static fromStorageString(storageString) {\n Logger.createStatic(\"User\", \"fromStorageString\");\n return new _User(JSON.parse(storageString));\n }\n};\n\n// src/navigators/AbstractChildWindow.ts\nvar messageSource = \"oidc-client\";\nvar AbstractChildWindow = class {\n constructor() {\n this._abort = new Event(\"Window navigation aborted\");\n this._disposeHandlers = /* @__PURE__ */ new Set();\n this._window = null;\n }\n async navigate(params) {\n const logger2 = this._logger.create(\"navigate\");\n if (!this._window) {\n throw new Error(\"Attempted to navigate on a disposed window\");\n }\n logger2.debug(\"setting URL in window\");\n this._window.location.replace(params.url);\n const { url, keepOpen } = await new Promise((resolve, reject) => {\n const listener = (e) => {\n var _a;\n const data = e.data;\n const origin = (_a = params.scriptOrigin) != null ? _a : window.location.origin;\n if (e.origin !== origin || (data == null ? void 0 : data.source) !== messageSource) {\n return;\n }\n try {\n const state = UrlUtils.readParams(data.url, params.response_mode).get(\"state\");\n if (!state) {\n logger2.warn(\"no state found in response url\");\n }\n if (e.source !== this._window && state !== params.state) {\n return;\n }\n } catch (err) {\n this._dispose();\n reject(new Error(\"Invalid response from window\"));\n }\n resolve(data);\n };\n window.addEventListener(\"message\", listener, false);\n this._disposeHandlers.add(() => window.removeEventListener(\"message\", listener, false));\n this._disposeHandlers.add(this._abort.addHandler((reason) => {\n this._dispose();\n reject(reason);\n }));\n });\n logger2.debug(\"got response from window\");\n this._dispose();\n if (!keepOpen) {\n this.close();\n }\n return { url };\n }\n _dispose() {\n this._logger.create(\"_dispose\");\n for (const dispose of this._disposeHandlers) {\n dispose();\n }\n this._disposeHandlers.clear();\n }\n static _notifyParent(parent, url, keepOpen = false, targetOrigin = window.location.origin) {\n parent.postMessage({\n source: messageSource,\n url,\n keepOpen\n }, targetOrigin);\n }\n};\n\n// src/UserManagerSettings.ts\nvar DefaultPopupWindowFeatures = {\n location: false,\n toolbar: false,\n height: 640,\n closePopupWindowAfterInSeconds: -1\n};\nvar DefaultPopupTarget = \"_blank\";\nvar DefaultAccessTokenExpiringNotificationTimeInSeconds = 60;\nvar DefaultCheckSessionIntervalInSeconds = 2;\nvar DefaultSilentRequestTimeoutInSeconds = 10;\nvar UserManagerSettingsStore = class extends OidcClientSettingsStore {\n constructor(args) {\n const {\n popup_redirect_uri = args.redirect_uri,\n popup_post_logout_redirect_uri = args.post_logout_redirect_uri,\n popupWindowFeatures = DefaultPopupWindowFeatures,\n popupWindowTarget = DefaultPopupTarget,\n redirectMethod = \"assign\",\n redirectTarget = \"self\",\n iframeNotifyParentOrigin = args.iframeNotifyParentOrigin,\n iframeScriptOrigin = args.iframeScriptOrigin,\n silent_redirect_uri = args.redirect_uri,\n silentRequestTimeoutInSeconds = DefaultSilentRequestTimeoutInSeconds,\n automaticSilentRenew = true,\n validateSubOnSilentRenew = true,\n includeIdTokenInSilentRenew = false,\n monitorSession = false,\n monitorAnonymousSession = false,\n checkSessionIntervalInSeconds = DefaultCheckSessionIntervalInSeconds,\n query_status_response_type = \"code\",\n stopCheckSessionOnError = true,\n revokeTokenTypes = [\"access_token\", \"refresh_token\"],\n revokeTokensOnSignout = false,\n includeIdTokenInSilentSignout = false,\n accessTokenExpiringNotificationTimeInSeconds = DefaultAccessTokenExpiringNotificationTimeInSeconds,\n userStore\n } = args;\n super(args);\n this.popup_redirect_uri = popup_redirect_uri;\n this.popup_post_logout_redirect_uri = popup_post_logout_redirect_uri;\n this.popupWindowFeatures = popupWindowFeatures;\n this.popupWindowTarget = popupWindowTarget;\n this.redirectMethod = redirectMethod;\n this.redirectTarget = redirectTarget;\n this.iframeNotifyParentOrigin = iframeNotifyParentOrigin;\n this.iframeScriptOrigin = iframeScriptOrigin;\n this.silent_redirect_uri = silent_redirect_uri;\n this.silentRequestTimeoutInSeconds = silentRequestTimeoutInSeconds;\n this.automaticSilentRenew = automaticSilentRenew;\n this.validateSubOnSilentRenew = validateSubOnSilentRenew;\n this.includeIdTokenInSilentRenew = includeIdTokenInSilentRenew;\n this.monitorSession = monitorSession;\n this.monitorAnonymousSession = monitorAnonymousSession;\n this.checkSessionIntervalInSeconds = checkSessionIntervalInSeconds;\n this.stopCheckSessionOnError = stopCheckSessionOnError;\n this.query_status_response_type = query_status_response_type;\n this.revokeTokenTypes = revokeTokenTypes;\n this.revokeTokensOnSignout = revokeTokensOnSignout;\n this.includeIdTokenInSilentSignout = includeIdTokenInSilentSignout;\n this.accessTokenExpiringNotificationTimeInSeconds = accessTokenExpiringNotificationTimeInSeconds;\n if (userStore) {\n this.userStore = userStore;\n } else {\n const store = typeof window !== \"undefined\" ? window.sessionStorage : new InMemoryWebStorage();\n this.userStore = new WebStorageStateStore({ store });\n }\n }\n};\n\n// src/navigators/IFrameWindow.ts\nvar IFrameWindow = class _IFrameWindow extends AbstractChildWindow {\n constructor({\n silentRequestTimeoutInSeconds = DefaultSilentRequestTimeoutInSeconds\n }) {\n super();\n this._logger = new Logger(\"IFrameWindow\");\n this._timeoutInSeconds = silentRequestTimeoutInSeconds;\n this._frame = _IFrameWindow.createHiddenIframe();\n this._window = this._frame.contentWindow;\n }\n static createHiddenIframe() {\n const iframe = window.document.createElement(\"iframe\");\n iframe.style.visibility = \"hidden\";\n iframe.style.position = \"fixed\";\n iframe.style.left = \"-1000px\";\n iframe.style.top = \"0\";\n iframe.width = \"0\";\n iframe.height = \"0\";\n window.document.body.appendChild(iframe);\n return iframe;\n }\n async navigate(params) {\n this._logger.debug(\"navigate: Using timeout of:\", this._timeoutInSeconds);\n const timer = setTimeout(() => void this._abort.raise(new ErrorTimeout(\"IFrame timed out without a response\")), this._timeoutInSeconds * 1e3);\n this._disposeHandlers.add(() => clearTimeout(timer));\n return await super.navigate(params);\n }\n close() {\n var _a;\n if (this._frame) {\n if (this._frame.parentNode) {\n this._frame.addEventListener(\"load\", (ev) => {\n var _a2;\n const frame = ev.target;\n (_a2 = frame.parentNode) == null ? void 0 : _a2.removeChild(frame);\n void this._abort.raise(new Error(\"IFrame removed from DOM\"));\n }, true);\n (_a = this._frame.contentWindow) == null ? void 0 : _a.location.replace(\"about:blank\");\n }\n this._frame = null;\n }\n this._window = null;\n }\n static notifyParent(url, targetOrigin) {\n return super._notifyParent(window.parent, url, false, targetOrigin);\n }\n};\n\n// src/navigators/IFrameNavigator.ts\nvar IFrameNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"IFrameNavigator\");\n }\n async prepare({\n silentRequestTimeoutInSeconds = this._settings.silentRequestTimeoutInSeconds\n }) {\n return new IFrameWindow({ silentRequestTimeoutInSeconds });\n }\n async callback(url) {\n this._logger.create(\"callback\");\n IFrameWindow.notifyParent(url, this._settings.iframeNotifyParentOrigin);\n }\n};\n\n// src/navigators/PopupWindow.ts\nvar checkForPopupClosedInterval = 500;\nvar second = 1e3;\nvar PopupWindow = class extends AbstractChildWindow {\n constructor({\n popupWindowTarget = DefaultPopupTarget,\n popupWindowFeatures = {}\n }) {\n super();\n this._logger = new Logger(\"PopupWindow\");\n const centeredPopup = PopupUtils.center({ ...DefaultPopupWindowFeatures, ...popupWindowFeatures });\n this._window = window.open(void 0, popupWindowTarget, PopupUtils.serialize(centeredPopup));\n if (popupWindowFeatures.closePopupWindowAfterInSeconds && popupWindowFeatures.closePopupWindowAfterInSeconds > 0) {\n setTimeout(() => {\n if (!this._window || typeof this._window.closed !== \"boolean\" || this._window.closed) {\n void this._abort.raise(new Error(\"Popup blocked by user\"));\n return;\n }\n this.close();\n }, popupWindowFeatures.closePopupWindowAfterInSeconds * second);\n }\n }\n async navigate(params) {\n var _a;\n (_a = this._window) == null ? void 0 : _a.focus();\n const popupClosedInterval = setInterval(() => {\n if (!this._window || this._window.closed) {\n void this._abort.raise(new Error(\"Popup closed by user\"));\n }\n }, checkForPopupClosedInterval);\n this._disposeHandlers.add(() => clearInterval(popupClosedInterval));\n return await super.navigate(params);\n }\n close() {\n if (this._window) {\n if (!this._window.closed) {\n this._window.close();\n void this._abort.raise(new Error(\"Popup closed\"));\n }\n }\n this._window = null;\n }\n static notifyOpener(url, keepOpen) {\n if (!window.opener) {\n throw new Error(\"No window.opener. Can't complete notification.\");\n }\n return super._notifyParent(window.opener, url, keepOpen);\n }\n};\n\n// src/navigators/PopupNavigator.ts\nvar PopupNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"PopupNavigator\");\n }\n async prepare({\n popupWindowFeatures = this._settings.popupWindowFeatures,\n popupWindowTarget = this._settings.popupWindowTarget\n }) {\n return new PopupWindow({ popupWindowFeatures, popupWindowTarget });\n }\n async callback(url, { keepOpen = false }) {\n this._logger.create(\"callback\");\n PopupWindow.notifyOpener(url, keepOpen);\n }\n};\n\n// src/navigators/RedirectNavigator.ts\nvar RedirectNavigator = class {\n constructor(_settings) {\n this._settings = _settings;\n this._logger = new Logger(\"RedirectNavigator\");\n }\n async prepare({\n redirectMethod = this._settings.redirectMethod,\n redirectTarget = this._settings.redirectTarget\n }) {\n var _a;\n this._logger.create(\"prepare\");\n let targetWindow = window.self;\n if (redirectTarget === \"top\") {\n targetWindow = (_a = window.top) != null ? _a : window.self;\n }\n const redirect = targetWindow.location[redirectMethod].bind(targetWindow.location);\n let abort;\n return {\n navigate: async (params) => {\n this._logger.create(\"navigate\");\n const promise = new Promise((resolve, reject) => {\n abort = reject;\n });\n redirect(params.url);\n return await promise;\n },\n close: () => {\n this._logger.create(\"close\");\n abort == null ? void 0 : abort(new Error(\"Redirect aborted\"));\n targetWindow.stop();\n }\n };\n }\n async callback() {\n return;\n }\n};\n\n// src/UserManagerEvents.ts\nvar UserManagerEvents = class extends AccessTokenEvents {\n constructor(settings) {\n super({ expiringNotificationTimeInSeconds: settings.accessTokenExpiringNotificationTimeInSeconds });\n this._logger = new Logger(\"UserManagerEvents\");\n this._userLoaded = new Event(\"User loaded\");\n this._userUnloaded = new Event(\"User unloaded\");\n this._silentRenewError = new Event(\"Silent renew error\");\n this._userSignedIn = new Event(\"User signed in\");\n this._userSignedOut = new Event(\"User signed out\");\n this._userSessionChanged = new Event(\"User session changed\");\n }\n async load(user, raiseEvent = true) {\n super.load(user);\n if (raiseEvent) {\n await this._userLoaded.raise(user);\n }\n }\n async unload() {\n super.unload();\n await this._userUnloaded.raise();\n }\n /**\n * Add callback: Raised when a user session has been established (or re-established).\n */\n addUserLoaded(cb) {\n return this._userLoaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been established (or re-established).\n */\n removeUserLoaded(cb) {\n return this._userLoaded.removeHandler(cb);\n }\n /**\n * Add callback: Raised when a user session has been terminated.\n */\n addUserUnloaded(cb) {\n return this._userUnloaded.addHandler(cb);\n }\n /**\n * Remove callback: Raised when a user session has been terminated.\n */\n removeUserUnloaded(cb) {\n return this._userUnloaded.removeHandler(cb);\n }\n /**\n * Add callback: Raised when the automatic silent renew has failed.\n */\n addSilentRenewError(cb) {\n return this._silentRenewError.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the automatic silent renew has failed.\n */\n removeSilentRenewError(cb) {\n return this._silentRenewError.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseSilentRenewError(e) {\n await this._silentRenewError.raise(e);\n }\n /**\n * Add callback: Raised when the user is signed in (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSignedIn(cb) {\n return this._userSignedIn.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user is signed in (when `monitorSession` is set).\n */\n removeUserSignedIn(cb) {\n this._userSignedIn.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSignedIn() {\n await this._userSignedIn.raise();\n }\n /**\n * Add callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSignedOut(cb) {\n return this._userSignedOut.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user's sign-in status at the OP has changed (when `monitorSession` is set).\n */\n removeUserSignedOut(cb) {\n this._userSignedOut.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSignedOut() {\n await this._userSignedOut.raise();\n }\n /**\n * Add callback: Raised when the user session changed (when `monitorSession` is set).\n * @see {@link UserManagerSettings.monitorSession}\n */\n addUserSessionChanged(cb) {\n return this._userSessionChanged.addHandler(cb);\n }\n /**\n * Remove callback: Raised when the user session changed (when `monitorSession` is set).\n */\n removeUserSessionChanged(cb) {\n this._userSessionChanged.removeHandler(cb);\n }\n /**\n * @internal\n */\n async _raiseUserSessionChanged() {\n await this._userSessionChanged.raise();\n }\n};\n\n// src/SilentRenewService.ts\nvar SilentRenewService = class {\n constructor(_userManager) {\n this._userManager = _userManager;\n this._logger = new Logger(\"SilentRenewService\");\n this._isStarted = false;\n this._retryTimer = new Timer(\"Retry Silent Renew\");\n this._tokenExpiring = async () => {\n const logger2 = this._logger.create(\"_tokenExpiring\");\n try {\n await this._userManager.signinSilent();\n logger2.debug(\"silent token renewal successful\");\n } catch (err) {\n if (err instanceof ErrorTimeout) {\n logger2.warn(\"ErrorTimeout from signinSilent:\", err, \"retry in 5s\");\n this._retryTimer.init(5);\n return;\n }\n logger2.error(\"Error from signinSilent:\", err);\n await this._userManager.events._raiseSilentRenewError(err);\n }\n };\n }\n async start() {\n const logger2 = this._logger.create(\"start\");\n if (!this._isStarted) {\n this._isStarted = true;\n this._userManager.events.addAccessTokenExpiring(this._tokenExpiring);\n this._retryTimer.addHandler(this._tokenExpiring);\n try {\n await this._userManager.getUser();\n } catch (err) {\n logger2.error(\"getUser error\", err);\n }\n }\n }\n stop() {\n if (this._isStarted) {\n this._retryTimer.cancel();\n this._retryTimer.removeHandler(this._tokenExpiring);\n this._userManager.events.removeAccessTokenExpiring(this._tokenExpiring);\n this._isStarted = false;\n }\n }\n};\n\n// src/RefreshState.ts\nvar RefreshState = class {\n constructor(args) {\n this.refresh_token = args.refresh_token;\n this.id_token = args.id_token;\n this.session_state = args.session_state;\n this.scope = args.scope;\n this.profile = args.profile;\n this.data = args.state;\n }\n};\n\n// src/UserManager.ts\nvar UserManager = class {\n constructor(settings, redirectNavigator, popupNavigator, iframeNavigator) {\n this._logger = new Logger(\"UserManager\");\n this.settings = new UserManagerSettingsStore(settings);\n this._client = new OidcClient(settings);\n this._redirectNavigator = redirectNavigator != null ? redirectNavigator : new RedirectNavigator(this.settings);\n this._popupNavigator = popupNavigator != null ? popupNavigator : new PopupNavigator(this.settings);\n this._iframeNavigator = iframeNavigator != null ? iframeNavigator : new IFrameNavigator(this.settings);\n this._events = new UserManagerEvents(this.settings);\n this._silentRenewService = new SilentRenewService(this);\n if (this.settings.automaticSilentRenew) {\n this.startSilentRenew();\n }\n this._sessionMonitor = null;\n if (this.settings.monitorSession) {\n this._sessionMonitor = new SessionMonitor(this);\n }\n }\n /**\n * Get object used to register for events raised by the `UserManager`.\n */\n get events() {\n return this._events;\n }\n /**\n * Get object used to access the metadata configuration of the identity provider.\n */\n get metadataService() {\n return this._client.metadataService;\n }\n /**\n * Load the `User` object for the currently authenticated user.\n *\n * @returns A promise\n */\n async getUser() {\n const logger2 = this._logger.create(\"getUser\");\n const user = await this._loadUser();\n if (user) {\n logger2.info(\"user loaded\");\n await this._events.load(user, false);\n return user;\n }\n logger2.info(\"user not found in storage\");\n return null;\n }\n /**\n * Remove from any storage the currently authenticated user.\n *\n * @returns A promise\n */\n async removeUser() {\n const logger2 = this._logger.create(\"removeUser\");\n await this.storeUser(null);\n logger2.info(\"user removed from storage\");\n await this._events.unload();\n }\n /**\n * Trigger a redirect of the current window to the authorization endpoint.\n *\n * @returns A promise\n *\n * @throws `Error` In cases of wrong authentication.\n */\n async signinRedirect(args = {}) {\n this._logger.create(\"signinRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signinStart({\n request_type: \"si:r\",\n ...requestArgs\n }, handle);\n }\n /**\n * Process the response (callback) from the authorization endpoint.\n * It is recommend to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise containing the authenticated `User`.\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinRedirectCallback\");\n const user = await this._signinEnd(url);\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n return user;\n }\n /**\n * Trigger the signin with user/password.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws {@link ErrorResponse} In cases of wrong authentication.\n */\n async signinResourceOwnerCredentials({\n username,\n password,\n skipUserInfo = false\n }) {\n const logger2 = this._logger.create(\"signinResourceOwnerCredential\");\n const signinResponse = await this._client.processResourceOwnerPasswordCredentials({ username, password, skipUserInfo, extraTokenParams: this.settings.extraTokenParams });\n logger2.debug(\"got signin response\");\n const user = await this._buildUser(signinResponse);\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n return user;\n }\n /**\n * Trigger a request (via a popup window) to the authorization endpoint.\n *\n * @returns A promise containing the authenticated `User`.\n * @throws `Error` In cases of wrong authentication.\n */\n async signinPopup(args = {}) {\n const logger2 = this._logger.create(\"signinPopup\");\n const {\n popupWindowFeatures,\n popupWindowTarget,\n ...requestArgs\n } = args;\n const url = this.settings.popup_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No popup_redirect_uri configured\"));\n }\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget });\n const user = await this._signin({\n request_type: \"si:p\",\n redirect_uri: url,\n display: \"popup\",\n ...requestArgs\n }, handle);\n if (user) {\n if (user.profile && user.profile.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n /**\n * Notify the opening window of response (callback) from the authorization endpoint.\n * It is recommend to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signinPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger2.info(\"success\");\n }\n /**\n * Trigger a silent request (via refresh token or an iframe) to the authorization endpoint.\n *\n * @returns A promise that contains the authenticated `User`.\n */\n async signinSilent(args = {}) {\n var _a;\n const logger2 = this._logger.create(\"signinSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n let user = await this._loadUser();\n if (user == null ? void 0 : user.refresh_token) {\n logger2.debug(\"using refresh token\");\n const state = new RefreshState(user);\n return await this._useRefreshToken({\n state,\n redirect_uri: requestArgs.redirect_uri,\n resource: requestArgs.resource,\n extraTokenParams: requestArgs.extraTokenParams,\n timeoutInSeconds: silentRequestTimeoutInSeconds\n });\n }\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n let verifySub;\n if (user && this.settings.validateSubOnSilentRenew) {\n logger2.debug(\"subject prior to silent renew:\", user.profile.sub);\n verifySub = user.profile.sub;\n }\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n user = await this._signin({\n request_type: \"si:s\",\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n ...requestArgs\n }, handle, verifySub);\n if (user) {\n if ((_a = user.profile) == null ? void 0 : _a.sub) {\n logger2.info(\"success, signed in subject\", user.profile.sub);\n } else {\n logger2.info(\"no subject\");\n }\n }\n return user;\n }\n async _useRefreshToken(args) {\n const response = await this._client.useRefreshToken({\n ...args,\n timeoutInSeconds: this.settings.silentRequestTimeoutInSeconds\n });\n const user = new User({ ...args.state, ...response });\n await this.storeUser(user);\n await this._events.load(user);\n return user;\n }\n /**\n *\n * Notify the parent window of response (callback) from the authorization endpoint.\n * It is recommend to use {@link UserManager.signinCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signinCallback}\n */\n async signinSilentCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signinSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger2.info(\"success\");\n }\n /**\n * Process any response (callback) from the authorization endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signinRedirectCallback}\n * - {@link UserManager.signinPopupCallback}\n * - {@link UserManager.signinSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signout can not processed.\n */\n async signinCallback(url = window.location.href) {\n const { state } = await this._client.readSigninResponseState(url);\n switch (state.request_type) {\n case \"si:r\":\n return await this.signinRedirectCallback(url);\n case \"si:p\":\n return await this.signinPopupCallback(url);\n case \"si:s\":\n return await this.signinSilentCallback(url);\n default:\n throw new Error(\"invalid response_type in state\");\n }\n }\n /**\n * Process any response (callback) from the end session endpoint, by dispatching the request_type\n * and executing one of the following functions:\n * - {@link UserManager.signoutRedirectCallback}\n * - {@link UserManager.signoutPopupCallback}\n * - {@link UserManager.signoutSilentCallback}\n *\n * @throws `Error` If request_type is unknown or signout can not processed.\n */\n async signoutCallback(url = window.location.href, keepOpen = false) {\n const { state } = await this._client.readSignoutResponseState(url);\n if (!state) {\n return;\n }\n switch (state.request_type) {\n case \"so:r\":\n await this.signoutRedirectCallback(url);\n break;\n case \"so:p\":\n await this.signoutPopupCallback(url, keepOpen);\n break;\n case \"so:s\":\n await this.signoutSilentCallback(url);\n break;\n default:\n throw new Error(\"invalid response_type in state\");\n }\n }\n /**\n * Query OP for user's current signin status.\n *\n * @returns A promise object with session_state and subject identifier.\n */\n async querySessionStatus(args = {}) {\n const logger2 = this._logger.create(\"querySessionStatus\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const url = this.settings.silent_redirect_uri;\n if (!url) {\n logger2.throw(new Error(\"No silent_redirect_uri configured\"));\n }\n const user = await this._loadUser();\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n const navResponse = await this._signinStart({\n request_type: \"si:s\",\n // this acts like a signin silent\n redirect_uri: url,\n prompt: \"none\",\n id_token_hint: this.settings.includeIdTokenInSilentRenew ? user == null ? void 0 : user.id_token : void 0,\n response_type: this.settings.query_status_response_type,\n scope: \"openid\",\n skipUserInfo: true,\n ...requestArgs\n }, handle);\n try {\n const signinResponse = await this._client.processSigninResponse(navResponse.url);\n logger2.debug(\"got signin response\");\n if (signinResponse.session_state && signinResponse.profile.sub) {\n logger2.info(\"success for subject\", signinResponse.profile.sub);\n return {\n session_state: signinResponse.session_state,\n sub: signinResponse.profile.sub\n };\n }\n logger2.info(\"success, user not authenticated\");\n return null;\n } catch (err) {\n if (this.settings.monitorAnonymousSession && err instanceof ErrorResponse) {\n switch (err.error) {\n case \"login_required\":\n case \"consent_required\":\n case \"interaction_required\":\n case \"account_selection_required\":\n logger2.info(\"success for anonymous user\");\n return {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n session_state: err.session_state\n };\n }\n }\n throw err;\n }\n }\n async _signin(args, handle, verifySub) {\n const navResponse = await this._signinStart(args, handle);\n return await this._signinEnd(navResponse.url, verifySub);\n }\n async _signinStart(args, handle) {\n const logger2 = this._logger.create(\"_signinStart\");\n try {\n const signinRequest = await this._client.createSigninRequest(args);\n logger2.debug(\"got signin request\");\n return await handle.navigate({\n url: signinRequest.url,\n state: signinRequest.state.id,\n response_mode: signinRequest.state.response_mode,\n scriptOrigin: this.settings.iframeScriptOrigin\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signinEnd(url, verifySub) {\n const logger2 = this._logger.create(\"_signinEnd\");\n const signinResponse = await this._client.processSigninResponse(url);\n logger2.debug(\"got signin response\");\n const user = await this._buildUser(signinResponse, verifySub);\n return user;\n }\n async _buildUser(signinResponse, verifySub) {\n const logger2 = this._logger.create(\"_buildUser\");\n const user = new User(signinResponse);\n if (verifySub) {\n if (verifySub !== user.profile.sub) {\n logger2.debug(\"current user does not match user returned from signin. sub from signin:\", user.profile.sub);\n throw new ErrorResponse({ ...signinResponse, error: \"login_required\" });\n }\n logger2.debug(\"current user matches user returned from signin\");\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n await this._events.load(user);\n return user;\n }\n /**\n * Trigger a redirect of the current window to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutRedirect(args = {}) {\n const logger2 = this._logger.create(\"signoutRedirect\");\n const {\n redirectMethod,\n ...requestArgs\n } = args;\n const handle = await this._redirectNavigator.prepare({ redirectMethod });\n await this._signoutStart({\n request_type: \"so:r\",\n post_logout_redirect_uri: this.settings.post_logout_redirect_uri,\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Process response (callback) from the end session endpoint.\n * It is recommend to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise containing signout response\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutRedirectCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signoutRedirectCallback\");\n const response = await this._signoutEnd(url);\n logger2.info(\"success\");\n return response;\n }\n /**\n * Trigger a redirect of a popup window window to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutPopup(args = {}) {\n const logger2 = this._logger.create(\"signoutPopup\");\n const {\n popupWindowFeatures,\n popupWindowTarget,\n ...requestArgs\n } = args;\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._popupNavigator.prepare({ popupWindowFeatures, popupWindowTarget });\n await this._signout({\n request_type: \"so:p\",\n post_logout_redirect_uri: url,\n // we're putting a dummy entry in here because we\n // need a unique id from the state for notification\n // to the parent window, which is necessary if we\n // plan to return back to the client after signout\n // and so we can close the popup after signout\n state: url == null ? void 0 : {},\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Process response (callback) from the end session endpoint from a popup window.\n * It is recommend to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutPopupCallback(url = window.location.href, keepOpen = false) {\n const logger2 = this._logger.create(\"signoutPopupCallback\");\n await this._popupNavigator.callback(url, { keepOpen });\n logger2.info(\"success\");\n }\n async _signout(args, handle) {\n const navResponse = await this._signoutStart(args, handle);\n return await this._signoutEnd(navResponse.url);\n }\n async _signoutStart(args = {}, handle) {\n var _a;\n const logger2 = this._logger.create(\"_signoutStart\");\n try {\n const user = await this._loadUser();\n logger2.debug(\"loaded current user from storage\");\n if (this.settings.revokeTokensOnSignout) {\n await this._revokeInternal(user);\n }\n const id_token = args.id_token_hint || user && user.id_token;\n if (id_token) {\n logger2.debug(\"setting id_token_hint in signout request\");\n args.id_token_hint = id_token;\n }\n await this.removeUser();\n logger2.debug(\"user removed, creating signout request\");\n const signoutRequest = await this._client.createSignoutRequest(args);\n logger2.debug(\"got signout request\");\n return await handle.navigate({\n url: signoutRequest.url,\n state: (_a = signoutRequest.state) == null ? void 0 : _a.id,\n scriptOrigin: this.settings.iframeScriptOrigin\n });\n } catch (err) {\n logger2.debug(\"error after preparing navigator, closing navigator window\");\n handle.close();\n throw err;\n }\n }\n async _signoutEnd(url) {\n const logger2 = this._logger.create(\"_signoutEnd\");\n const signoutResponse = await this._client.processSignoutResponse(url);\n logger2.debug(\"got signout response\");\n return signoutResponse;\n }\n /**\n * Trigger a silent request (via an iframe) to the end session endpoint.\n *\n * @returns A promise\n */\n async signoutSilent(args = {}) {\n var _a;\n const logger2 = this._logger.create(\"signoutSilent\");\n const {\n silentRequestTimeoutInSeconds,\n ...requestArgs\n } = args;\n const id_token_hint = this.settings.includeIdTokenInSilentSignout ? (_a = await this._loadUser()) == null ? void 0 : _a.id_token : void 0;\n const url = this.settings.popup_post_logout_redirect_uri;\n const handle = await this._iframeNavigator.prepare({ silentRequestTimeoutInSeconds });\n await this._signout({\n request_type: \"so:s\",\n post_logout_redirect_uri: url,\n id_token_hint,\n ...requestArgs\n }, handle);\n logger2.info(\"success\");\n }\n /**\n * Notify the parent window of response (callback) from the end session endpoint.\n * It is recommend to use {@link UserManager.signoutCallback} instead.\n *\n * @returns A promise\n *\n * @see {@link UserManager.signoutCallback}\n */\n async signoutSilentCallback(url = window.location.href) {\n const logger2 = this._logger.create(\"signoutSilentCallback\");\n await this._iframeNavigator.callback(url);\n logger2.info(\"success\");\n }\n async revokeTokens(types) {\n const user = await this._loadUser();\n await this._revokeInternal(user, types);\n }\n async _revokeInternal(user, types = this.settings.revokeTokenTypes) {\n const logger2 = this._logger.create(\"_revokeInternal\");\n if (!user)\n return;\n const typesPresent = types.filter((type) => typeof user[type] === \"string\");\n if (!typesPresent.length) {\n logger2.debug(\"no need to revoke due to no token(s)\");\n return;\n }\n for (const type of typesPresent) {\n await this._client.revokeToken(\n user[type],\n // eslint-disable-line @typescript-eslint/no-non-null-assertion\n type\n );\n logger2.info(`${type} revoked successfully`);\n if (type !== \"access_token\") {\n user[type] = null;\n }\n }\n await this.storeUser(user);\n logger2.debug(\"user stored\");\n await this._events.load(user);\n }\n /**\n * Enables silent renew for the `UserManager`.\n */\n startSilentRenew() {\n this._logger.create(\"startSilentRenew\");\n void this._silentRenewService.start();\n }\n /**\n * Disables silent renew for the `UserManager`.\n */\n stopSilentRenew() {\n this._silentRenewService.stop();\n }\n get _userStoreKey() {\n return `user:${this.settings.authority}:${this.settings.client_id}`;\n }\n async _loadUser() {\n const logger2 = this._logger.create(\"_loadUser\");\n const storageString = await this.settings.userStore.get(this._userStoreKey);\n if (storageString) {\n logger2.debug(\"user storageString loaded\");\n return User.fromStorageString(storageString);\n }\n logger2.debug(\"no user storageString\");\n return null;\n }\n async storeUser(user) {\n const logger2 = this._logger.create(\"storeUser\");\n if (user) {\n logger2.debug(\"storing user\");\n const storageString = user.toStorageString();\n await this.settings.userStore.set(this._userStoreKey, storageString);\n } else {\n this._logger.debug(\"removing user\");\n await this.settings.userStore.remove(this._userStoreKey);\n }\n }\n /**\n * Removes stale state entries in storage for incomplete authorize requests.\n */\n async clearStaleState() {\n await this._client.clearStaleState();\n }\n};\n\n// package.json\nvar version = \"3.0.1\";\n\n// src/Version.ts\nvar Version = version;\nexport {\n AccessTokenEvents,\n CheckSessionIFrame,\n ErrorResponse,\n ErrorTimeout,\n InMemoryWebStorage,\n Log,\n Logger,\n MetadataService,\n OidcClient,\n OidcClientSettingsStore,\n SessionMonitor,\n SigninResponse,\n SigninState,\n SignoutResponse,\n State,\n User,\n UserManager,\n UserManagerSettingsStore,\n Version,\n WebStorageStateStore\n};\n","import { Injectable } from '@angular/core';\nimport { User, UserManager, WebStorageStateStore } from 'oidc-client-ts';\nimport { environment } from '../../environments/environment';\nimport { InitiatedActionService } from './initiated-action.service';\nimport { RoleService } from './role.service';\nimport { RealmService } from './realm.service';\nimport { from, Observable, tap } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthenticationService {\n private readonly userManager: UserManager;\n\n constructor(\n private readonly initiatedActionService: InitiatedActionService,\n private readonly realmService: RealmService,\n private readonly roleService: RoleService,\n ) {\n this.userManager = this.getUserManager();\n this.registerUserManagerCallbacks();\n }\n\n public getUser(): Observable {\n return from(this.userManager.getUser()).pipe(\n tap((user) => this.roleService.updateRoles(user)),\n );\n }\n\n public async getUserIdentifier(): Promise {\n const user = await this.userManager.getUser();\n return user.profile.sub;\n }\n\n public login(): Promise {\n return this.userManager.signinRedirect();\n }\n\n public async loginInsecure(\n username: string,\n password: string,\n ): Promise {\n await this.userManager.signinResourceOwnerCredentials({\n username,\n password,\n skipUserInfo: false,\n });\n }\n\n public renewToken(): Promise {\n return this.userManager.signinSilent();\n }\n\n public logout(): Promise {\n return this.userManager.signoutRedirect();\n }\n\n public resetPassword(redirectPath: string): void {\n this.initiatedActionService.resetPassword(redirectPath);\n }\n\n public configureTotp(redirectPath: string): void {\n this.initiatedActionService.configureTotp(redirectPath);\n }\n\n private getUserManager(): UserManager {\n const realm = this.realmService.getRealm();\n const clientRoot = this.realmService.getClientRootForRealm(\n environment.auth.clientRootTemplate,\n );\n const settings = {\n authority: `${environment.auth.authority}/realms/${realm}`,\n client_id: environment.auth.clientId,\n redirect_uri: `${clientRoot}/auth-callback`,\n silent_redirect_uri: `${clientRoot}/silent-callback.html`,\n post_logout_redirect_uri: `${clientRoot}`,\n response_type: 'code',\n scope: environment.auth.clientScope,\n userStore: new WebStorageStateStore({ store: window.localStorage }),\n monitorSession: true,\n };\n return new UserManager(settings);\n }\n\n private registerUserManagerCallbacks() {\n this.userManager.events.addUserLoaded((user: User) => {\n this.roleService.updateRoles(user);\n });\n\n this.userManager.events.addAccessTokenExpired(\n async () => await this.logout(),\n );\n\n this.userManager.events.addUserSignedOut(async () => await this.logout());\n }\n\n async authCallback() {\n await this.userManager.signinCallback();\n }\n}\n","export enum BackendRole {\n Agent = 'aidar-agent',\n Manager = 'aidar-manager',\n Admin = 'aidar-administrator',\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../environments/environment';\nimport { RealmService } from './realm.service';\n\n@Injectable({ providedIn: 'root' })\nexport class InitiatedActionService {\n private static readonly AuthSlug = 'protocol/openid-connect/auth';\n private readonly baseUrl: string;\n\n constructor(private readonly realmService: RealmService) {\n this.baseUrl = environment.auth.authority;\n }\n\n public resetPassword(redirectPath: string): void {\n const queryParameters = {\n response_type: 'code',\n client_id: environment.auth.clientId,\n redirect_uri: this.getSanitizedAbsoluteRedirectPath(redirectPath),\n kc_action: 'UPDATE_PASSWORD',\n };\n\n this.navigateToApplicationInitiatedAction(queryParameters);\n }\n\n public configureTotp(redirectPath: string): void {\n const queryParameters = {\n response_type: 'code',\n client_id: environment.auth.clientId,\n redirect_uri: this.getSanitizedAbsoluteRedirectPath(redirectPath),\n kc_action: 'CONFIGURE_TOTP',\n };\n\n this.navigateToApplicationInitiatedAction(queryParameters);\n }\n\n private getSanitizedAbsoluteRedirectPath(redirectPath: string): string {\n const clientRoot = this.realmService.getClientRootForRealm(\n environment.auth.clientRootTemplate,\n );\n const redirectPathSanitized = redirectPath.startsWith('/')\n ? redirectPath\n : `/${redirectPath.trim()}`;\n return `${clientRoot}${redirectPathSanitized}`;\n }\n\n private navigateToApplicationInitiatedAction(queryParameters: object) {\n const encodedQueryParameters = this.encodeQueryParameters(queryParameters);\n window.location.href = `${\n this.baseUrl\n }/realms/${this.realmService.getRealm()}/${\n InitiatedActionService.AuthSlug\n }?${encodedQueryParameters}`;\n }\n\n private encodeQueryParameters(queryParameters: object) {\n const ret: string[] = [];\n\n for (const [key, value] of Object.entries(queryParameters)) {\n ret.push(\n encodeURIComponent(key) + '=' + encodeURIComponent(value.toString()),\n );\n }\n\n return ret.join('&');\n }\n}\n\nexport enum KeycloakInitiatedActionStatus {\n Success = 'success',\n Cancelled = 'cancelled',\n Error = 'error',\n}\n","import { CredentialsDto } from '../../../api/gen';\n\nexport class Credentials {\n username?: string | null;\n password?: string | null;\n\n static fromDto(dto: CredentialsDto): Credentials {\n return { username: dto.username, password: dto.password } as Credentials;\n }\n}\n","import { PluginService as Api } from '../../../api/gen';\nimport { map, Observable } from 'rxjs';\nimport { Credentials } from '../../model/plugin/credentials';\nimport { GetPluginCredentialsRequest } from '../../model/plugin/request/get-plugin-credentials-request';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PluginService {\n constructor(private readonly pluginService: Api) {}\n\n getCredentials(\n externalTenantId: string,\n externalUserId: string,\n ): Observable {\n const request = {\n externalTenantId: externalTenantId,\n externalUserId: externalUserId,\n } as GetPluginCredentialsRequest;\n return this.pluginService\n .pluginCredentialsPost(request)\n .pipe(map((dto) => Credentials.fromDto(dto)));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthenticationService } from '../authentication.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PluginService } from '../../services/api/plugin.service';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n providers: [PluginService],\n})\nexport class LoginComponent implements OnInit {\n constructor(\n private readonly authService: AuthenticationService,\n private readonly route: ActivatedRoute,\n private readonly router: Router,\n private readonly pluginService: PluginService,\n ) {}\n\n async ngOnInit() {\n const externalTenantId =\n this.route.snapshot.queryParams['externalTenantId'];\n const externalUserId = this.route.snapshot.queryParams['externalUserId'];\n\n if (externalTenantId && externalUserId) {\n this.pluginService\n .getCredentials(externalTenantId, externalUserId)\n .subscribe((credentials) => {\n this.authService\n .loginInsecure(credentials.username, credentials.password)\n .then((u) => {\n this.router.navigate(['/scheduling'], {\n queryParams: { hideMenubar: 'true', hideSideNav: 'true' },\n });\n });\n });\n } else {\n await this.authService.login();\n }\n }\n}\n","
\n \n Logging in\n
\n","import { Injectable } from '@angular/core';\nimport { RealmConfiguration } from '../../environments/constants';\n\n@Injectable({ providedIn: 'root' })\nexport class RealmService {\n private static readonly DEFAULT_SUBDOMAIN: string =\n RealmConfiguration.defaultRealm;\n\n private readonly realm: string;\n\n constructor() {\n this.realm = this.getSubdomain();\n }\n\n public getRealm(): string {\n return this.realm;\n }\n\n public getClientRootForRealm(clientRootUrl: string): string {\n return clientRootUrl.replace('*', this.getRealm());\n }\n\n private getSubdomain(): string {\n let subdomain: string;\n const domain = window.location.hostname;\n if (domain.indexOf('.') < 0 || !Number.isNaN(+domain.split('.')[0])) {\n subdomain = RealmService.DEFAULT_SUBDOMAIN;\n } else {\n subdomain = domain.split('.')[0];\n }\n\n return subdomain;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { jwtDecode } from 'jwt-decode';\nimport { BehaviorSubject, filter, map } from 'rxjs';\nimport { User } from 'oidc-client-ts';\n\n@Injectable({ providedIn: 'root' })\nexport class RoleService {\n private readonly roles = new BehaviorSubject([]);\n\n public hasRole(role: string) {\n return this.roles.value.indexOf(role) >= 0;\n }\n\n public isInRole(role: string) {\n return this.roles.asObservable().pipe(\n filter((x) => x.indexOf(role) > 0),\n map((x) => x.length > 0),\n );\n }\n\n public updateRoles(user: User) {\n if (user && user.access_token) {\n this.roles.next(this.parseRolesFromAccessToken(user.access_token));\n } else {\n this.roles.next([]);\n }\n }\n\n private parseRolesFromAccessToken(accessToken: string): string[] {\n const roles: string[] = [];\n const decoded = jwtDecode(accessToken);\n roles.push(...decoded.realm_access.roles);\n roles.push(...decoded.resource_access['aidar-backend'].roles);\n return roles;\n }\n}\n\nexport class JwtPayload {\n realm_access: any; // eslint-disable-line\n resource_access: any; // eslint-disable-line\n}\n","export enum Roles {\n Admin = 'aidar-administrator',\n Manager = 'aidar-manager',\n Agent = 'aidar-agent',\n}\n","import { ChatMessageDto } from '../../api/gen';\nimport { ChatMessage, Sender } from '@mad-tech/aidar-live-chat';\n\nexport class LiveChatDtoCasts {\n public static castFromDto(dto: ChatMessageDto): ChatMessage {\n return {\n id: dto.id,\n content: dto.message,\n sentOn: new Date(dto.sentOn),\n sender: dto.messageAuthor == 'Helper' ? Sender.Self : Sender.Remote,\n };\n }\n}\n","import {\n AbstractControl,\n AsyncValidatorFn,\n ValidationErrors,\n} from '@angular/forms';\nimport { catchError, delay, map, Observable, of, switchMap } from 'rxjs';\nimport { PasswordService } from '../../services/api/password.service';\n\nexport class PasswordValidator {\n private static readonly ValidationDelayMs = 500;\n\n static passwordValid(passwordService: PasswordService): AsyncValidatorFn {\n return (control: AbstractControl): Observable => {\n return of(control.value).pipe(\n delay(PasswordValidator.ValidationDelayMs),\n switchMap((password) =>\n passwordService.validatePassword(password).pipe(\n map((passwordCheck) => {\n if (passwordCheck.valid) {\n return null;\n }\n\n return {\n blacklisted: passwordCheck.blacklisted,\n tooShort: passwordCheck.tooShort,\n };\n }),\n catchError((err) => err),\n ),\n ),\n );\n };\n }\n}\n","
\n @if (isLoading$()) {\n \n } @else {\n \n @if (companyLoginInfo$().logoUrl) {\n \n }\n @if (isValid$()) {\n

Hallo {{ email$() }}!

\n Sie wurden von {{ companyLoginInfo$().displayName }} eingeladen\n blankmile beizutreten.
\n Validieren Sie hier Ihre E-Mail Adresse und starten Sie gleich mit Ihrem\n ersten Einsatz.\n \n } @else {\n

\n Der eingegebene Link ist nicht gültig.\n

\n }\n }\n
\n","import { Component, signal } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatButton } from '@angular/material/button';\nimport { CompanyLoginService } from '../../services/api/company-login.service';\nimport { CompanyLoginInfo } from '../../model/company-login/company-login-info';\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\nimport { ValidateEmailService } from '../../services/api/validate-email.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-validate-email',\n standalone: true,\n imports: [MatButton, MatProgressSpinner],\n templateUrl: './validate-email.component.html',\n styleUrl: './validate-email.component.scss',\n providers: [CompanyLoginService, ValidateEmailService],\n})\nexport class ValidateEmailComponent {\n private readonly externalEmployeeIdentifier$ = signal('');\n private readonly token$ = signal('');\n protected readonly email$ = signal('');\n protected readonly isValid$ = signal(false);\n protected readonly isLoading$ = signal(true);\n protected readonly companyLoginInfo$ = signal(null);\n\n constructor(\n private readonly activatedRoute: ActivatedRoute,\n private readonly router: Router,\n private readonly snackBar: MatSnackBar,\n private readonly companyLoginService: CompanyLoginService,\n private readonly validateEmailService: ValidateEmailService,\n ) {\n this.activatedRoute.queryParams.subscribe((params) => {\n if (params['token'] && params['email'] && params['eid']) {\n this.isValid$.set(true);\n this.externalEmployeeIdentifier$.set(params['eid']);\n this.token$.set(params['token']);\n this.email$.set(params['email']);\n }\n });\n\n this.companyLoginService.getCompanyLoginInformation().subscribe((info) => {\n this.companyLoginInfo$.set(info);\n this.isLoading$.set(false);\n });\n }\n\n onValidateClick() {\n this.isLoading$.set(true);\n this.validateEmailService\n .validateEmail(\n this.email$(),\n this.externalEmployeeIdentifier$(),\n this.token$(),\n )\n .subscribe({\n next: () => {\n this.router.navigate(['']);\n },\n error: () => {\n this.isLoading$.set(false);\n this.snackBar.open(\n $localize`E-Mail konnte nicht validiert werden. Versuchen Sie es später erneut oder kontaktieren Sie Ihren Administrator.`,\n $localize`Ok`,\n { duration: 5000 },\n );\n },\n });\n }\n}\n","import { QuotaDto } from '../../api/gen';\n\nexport class Quota {\n subscriptionType?: SubscriptionType;\n tenantIdentifier?: string | null;\n externalEmployeeIdentifier?: string | null;\n callsLeftForTenant?: number | null;\n callsLeftForEmployee?: number | null;\n\n static fromDto(dto: QuotaDto): Quota {\n return {\n subscriptionType: dto.subscriptionType,\n tenantIdentifier: dto.tenantIdentifier,\n externalEmployeeIdentifier: dto.externalEmployeeIdentifier,\n callsLeftForTenant: dto.callsLeftForTenant,\n callsLeftForEmployee: dto.callsLeftForEmployee,\n } as Quota;\n }\n}\n\nexport type SubscriptionType =\n | 'Trial'\n | 'Starter'\n | 'Pro'\n | 'Ultimate'\n | 'Individual';\n\nexport const SubscriptionType = {\n Trial: 'Trial' as SubscriptionType,\n Starter: 'Starter' as SubscriptionType,\n Pro: 'Pro' as SubscriptionType,\n Ultimate: 'Ultimate' as SubscriptionType,\n Individual: 'Individual' as SubscriptionType,\n};\n","export type AssociatedCallPeriod = 'Before' | 'During' | 'After';\n\nexport const AssociatedCallPeriod = {\n Before: 'Before' as AssociatedCallPeriod,\n During: 'During' as AssociatedCallPeriod,\n After: 'After' as AssociatedCallPeriod,\n};\n","export enum AttachmentContentType {\n None = 0,\n Pdf = 100,\n Image = 200,\n LivePhoto = 300,\n}\n\nexport class AttachmentContentTypeUtils {\n static fromContentType(contentType: string): AttachmentContentType {\n if (/image\\/*/.test(contentType)) {\n return AttachmentContentType.Image;\n } else if (/application\\/pdf/.test(contentType)) {\n return AttachmentContentType.Pdf;\n } else if (/video\\/*/.test(contentType)) {\n return AttachmentContentType.LivePhoto;\n }\n\n return AttachmentContentType.None;\n }\n}\n","import { InvalidationDto, InvalidationType } from '../../../api/gen';\n\nexport class Invalidation {\n type?: InvalidationType;\n\n static fromDto(dto: InvalidationDto): Invalidation {\n return { type: dto.type } as Invalidation;\n }\n}\n","import { AttachmentDto } from '../../../api/gen';\nimport { AssociatedCallPeriod } from './associated-call-period';\nimport { Origin } from './origin';\nimport { Author } from './author';\nimport {\n AttachmentContentType,\n AttachmentContentTypeUtils,\n} from './attachment-content-type';\nimport { Invalidation } from './invalidation';\n\nexport class Attachment {\n previewSource: string;\n containerName?: string | null;\n inquiryIdentifier?: string;\n attachmentIdentifier?: string | null;\n name: string;\n fileName?: string | null;\n note?: string | null;\n extension?: string | null;\n type: AttachmentContentType;\n contentType?: string | null;\n blobUrl?: string | null;\n blobPath?: string | null;\n thumbnailUrl?: string | null;\n thumbnailPath?: string | null;\n annotationBlobUrl?: string | null;\n annotationThumbnailUrl?: string | null;\n createdAt?: string;\n period?: AssociatedCallPeriod;\n origin?: Origin;\n author?: Author;\n shared?: boolean;\n isInProcess?: boolean;\n processPercent?: number | null;\n invalidations?: Invalidation[] | null;\n valid?: boolean;\n tenantId?: string | null;\n\n static fromDto(dto: AttachmentDto): Attachment {\n return {\n previewSource: dto.annotationThumbnailUrl\n ? dto.annotationThumbnailUrl\n : dto.thumbnailUrl,\n containerName: dto.containerName,\n inquiryIdentifier: dto.inquiryIdentifier,\n attachmentIdentifier: dto.attachmentIdentifier,\n name: `${dto.fileName}.${dto.extension}`,\n fileName: dto.fileName,\n note: dto.note,\n extension: dto.extension,\n type: AttachmentContentTypeUtils.fromContentType(dto.contentType),\n contentType: dto.contentType,\n blobUrl: dto.blobUrl,\n blobPath: dto.blobPath,\n thumbnailUrl: dto.thumbnailUrl,\n thumbnailPath: dto.thumbnailPath,\n annotationBlobUrl: dto.annotationBlobUrl,\n annotationThumbnailUrl: dto.annotationThumbnailUrl,\n createdAt: dto.createdAt,\n period: dto.period,\n origin: dto.origin,\n author: dto.author,\n shared: dto.shared,\n isInProcess: dto.isInProcess,\n processPercent: dto.processPercent,\n invalidations: dto.invalidations\n ? dto.invalidations.map((x) => Invalidation.fromDto(x))\n : null,\n valid: dto.valid,\n tenantId: dto.tenantId,\n } as Attachment;\n }\n}\n","import { ApplicationSettingsDto } from '../../../api/gen';\n\nexport class ApplicationSettings {\n customersCanUploadFilesDuringCall?: boolean;\n customDeleteDataAfterDays?: number | null;\n validateScreenshotSharing?: boolean;\n\n static fromDto(dto: ApplicationSettingsDto): ApplicationSettings {\n return {\n customersCanUploadFilesDuringCall: dto.customersCanUploadFilesDuringCall,\n customDeleteDataAfterDays: dto.customDeleteDataAfterDays,\n validateScreenshotSharing: dto.validateScreenshotSharing,\n } as ApplicationSettings;\n }\n}\n","import { CompanyAddressDto } from '../../../api/gen';\n\nexport class CompanyAddress {\n firstAddressLine?: string | null;\n secondAddressLine?: string | null;\n locality?: string | null;\n postCode?: string | null;\n region?: string | null;\n countryCode?: string | null;\n\n static fromDto(dto: CompanyAddressDto): CompanyAddress {\n return {\n firstAddressLine: dto.firstAddressLine,\n secondAddressLine: dto.secondAddressLine,\n locality: dto.locality,\n postCode: dto.postCode,\n region: dto.region,\n countryCode: dto.countryCode,\n } as CompanyAddress;\n }\n}\n","import { CompanySettingsDto } from '../../../api/gen';\nimport { CompanyAddress } from './company-address';\nimport { ApplicationSettings } from './application-settings';\n\nexport class CompanySettings {\n displayName?: string | null;\n logoUrl?: string | null;\n privacyUrl?: string | null;\n applicationSettings?: ApplicationSettings;\n companyAddress?: CompanyAddress;\n\n static fromDto(dto: CompanySettingsDto): CompanySettings {\n return {\n displayName: dto.displayName,\n logoUrl: dto.logoUrl,\n privacyUrl: dto.privacyUrl,\n applicationSettings: dto.applicationSettings\n ? ApplicationSettings.fromDto(dto.applicationSettings)\n : null,\n companyAddress: dto.companyAddress\n ? CompanyAddress.fromDto(dto.companyAddress)\n : null,\n } as CompanySettings;\n }\n}\n","import { EmailAvailableDto } from '../../api/gen';\n\nexport class EmailAvailable {\n available?: boolean;\n eMail?: string | null;\n\n static fromDto(dto: EmailAvailableDto): EmailAvailable {\n return { available: dto.available, eMail: dto.eMail } as EmailAvailable;\n }\n}\n","export type EmployeeType = 'Agent' | 'Manager' | 'Administrator';\n\nexport const EmployeeType = {\n Agent: 'Agent' as EmployeeType,\n Manager: 'Manager' as EmployeeType,\n Administrator: 'Administrator' as EmployeeType,\n};\n","import { EmployeeDto } from '../../../api/gen';\nimport { EmployeeType } from './employee-type';\nimport { Department } from './department';\n\nexport class Employee {\n externalIdentifier: string;\n firstName: string;\n lastName: string;\n email: string;\n emailVerified: boolean;\n phoneNumber?: string | null;\n enabled?: boolean;\n username: string;\n avatarPath?: string;\n avatarThumbnailPath?: string;\n type: EmployeeType;\n canReadDataOfOthers?: boolean;\n department?: Department;\n legalEntityId?: string | null;\n tenantId?: string | null;\n\n static fromDto(dto: EmployeeDto): Employee {\n return {\n externalIdentifier: dto.externalIdentifier,\n firstName: dto.firstName,\n lastName: dto.lastName,\n email: dto.eMail,\n emailVerified: dto.eMailVerified,\n phoneNumber: dto.phoneNumber,\n enabled: dto.enabled,\n username: dto.username,\n avatarPath: dto.avatarPath,\n avatarThumbnailPath: dto.avatarThumbnailPath,\n type: dto.type,\n canReadDataOfOthers: dto.canReadDataOfOthers,\n department: dto.department,\n legalEntityId: dto.legalEntityId,\n tenantId: dto.tenantId,\n } as Employee;\n }\n}\n","import {\n AttachmentDto,\n InquiryDashboardSummaryDto,\n InquiryState,\n} from '../../../api/gen';\nimport { Employee } from '../employee/employee';\n\nexport class InquiryDashboardSummary {\n inquiryIdentifier?: string;\n firstName?: string | null;\n lastName?: string | null;\n email?: string | null;\n phoneNumber?: string | null;\n street?: string | null;\n houseNumber?: string | null;\n zipCode?: string | null;\n city?: string | null;\n startInstant?: boolean;\n notes?: string | null;\n state?: InquiryState;\n employee?: Employee;\n inquiryCreatedAt?: string;\n appointmentScheduledFor?: string | null;\n appointmentEndedAt?: string | null;\n scheduledForConfirmed?: boolean;\n scheduledForDeclined?: boolean;\n autoDeletionScheduledAt?: string | null;\n autoDeletedAt?: string | null;\n manuallyDeletedAt?: string | null;\n manuallyDeletedBy?: string | null;\n attachments?: AttachmentDto[] | null;\n\n static fromDto(dto: InquiryDashboardSummaryDto): InquiryDashboardSummary {\n return {\n inquiryIdentifier: dto.inquiryIdentifier,\n firstName: dto.firstName,\n lastName: dto.lastName,\n email: dto.email,\n phoneNumber: dto.phoneNumber,\n street: dto.street,\n houseNumber: dto.houseNumber,\n zipCode: dto.zipCode,\n city: dto.city,\n startInstant: dto.startInstant,\n notes: dto.notes,\n state: dto.state,\n employee: dto.employee ? Employee.fromDto(dto.employee) : null,\n inquiryCreatedAt: dto.inquiryCreatedAt,\n appointmentScheduledFor: dto.appointmentScheduledFor,\n appointmentEndedAt: dto.appointmentEndedAt,\n scheduledForConfirmed: dto.scheduledForConfirmed,\n scheduledForDeclined: dto.scheduledForDeclined,\n autoDeletionScheduledAt: dto.autoDeletionScheduledAt,\n autoDeletedAt: dto.autoDeletedAt,\n manuallyDeletedAt: dto.manuallyDeletedAt,\n manuallyDeletedBy: dto.manuallyDeletedBy,\n attachments: dto.attachments,\n } as InquiryDashboardSummary;\n }\n}\n","import { LatLngDto } from '../../../api/gen';\n\nexport class LatLng {\n latitude?: number;\n longitude?: number;\n\n static fromDto(dto: LatLngDto): LatLng {\n return { latitude: dto.latitude, longitude: dto.longitude } as LatLng;\n }\n}\n","import { InquiryLocationDto } from '../../../api/gen';\nimport { LatLng } from './lat-lng';\n\nexport class InquiryLocation {\n coordinates?: LatLng;\n\n static fromDto(dto: InquiryLocationDto): InquiryLocation {\n return {\n coordinates: dto.coordinates ? LatLng.fromDto(dto.coordinates) : null,\n } as InquiryLocation;\n }\n}\n","import { InquiryDto, InquiryState } from '../../../api/gen';\nimport { Invitation } from './invitation';\nimport { InquiryLocation } from './inquiry-location';\n\nexport class Inquiry {\n inquiryIdentifier: string;\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n street: string;\n houseNumber: string;\n zipCode: string;\n city: string;\n reCaptchaToken: string;\n notes: string;\n startInstant: boolean;\n state: InquiryState;\n scheduledFor: string;\n scheduledForConfirmed: string;\n scheduledForDeclined: string;\n assignedAgent: string;\n invitation?: Invitation;\n locations?: InquiryLocation[] | null;\n autoDeletionScheduledAt?: string | null;\n autoDeletedAt?: string | null;\n manuallyDeletedAt?: string | null;\n manuallyDeletedBy?: string | null;\n tenantId?: string | null;\n\n static fromDto(dto: InquiryDto): Inquiry {\n return {\n inquiryIdentifier: dto.inquiryIdentifier,\n firstName: dto.firstName,\n lastName: dto.lastName,\n email: dto.email,\n phoneNumber: dto.phoneNumber,\n street: dto.street,\n houseNumber: dto.houseNumber,\n zipCode: dto.zipCode,\n city: dto.city,\n reCaptchaToken: dto.reCaptchaToken,\n notes: dto.notes,\n startInstant: dto.startInstant,\n state: dto.state,\n scheduledFor: dto.scheduledFor,\n scheduledForConfirmed: dto.scheduledForConfirmed,\n scheduledForDeclined: dto.scheduledForDeclined,\n assignedAgent: dto.assignedAgent,\n invitation: dto.invitation ? Invitation.fromDto(dto.invitation) : null,\n locations: dto.locations\n ? dto.locations.map((x) => InquiryLocation.fromDto(x))\n : null,\n autoDeletionScheduledAt: dto.autoDeletionScheduledAt,\n autoDeletedAt: dto.autoDeletedAt,\n manuallyDeletedAt: dto.manuallyDeletedAt,\n manuallyDeletedBy: dto.manuallyDeletedBy,\n tenantId: dto.tenantId,\n } as Inquiry;\n }\n}\n","import { InvitationDto } from '../../../api/gen';\n\nexport class Invitation {\n language?: InvitationLanguage;\n type?: InvitationType;\n method?: InvitationMethod;\n text?: string | null;\n lastTimeSent?: string | null;\n shareableLink?: string | null;\n\n static fromDto(dto: InvitationDto): Invitation {\n return {\n language: dto.language,\n type: dto.type,\n method: dto.method,\n text: dto.text,\n lastTimeSent: dto.lastTimeSent,\n shareableLink: dto.shareableLink,\n } as Invitation;\n }\n}\n\nexport type InvitationLanguage = 'German' | 'English' | 'Unknown';\n\nexport const InvitationLanguage = {\n German: 'German' as InvitationLanguage,\n English: 'English' as InvitationLanguage,\n Unknown: 'Unknown' as InvitationLanguage,\n};\n\nexport type InvitationType = 'Default' | 'Custom';\n\nexport const InvitationType = {\n Default: 'Default' as InvitationType,\n Custom: 'Custom' as InvitationType,\n};\n\nexport type InvitationMethod = 'Sms' | 'Email' | 'SmsAndEmail' | 'None';\n\nexport const InvitationMethod = {\n Sms: 'Sms' as InvitationMethod,\n Email: 'Email' as InvitationMethod,\n SmsAndEmail: 'SmsAndEmail' as InvitationMethod,\n None: 'None' as InvitationMethod,\n};\n","import { RegistrationValidationDto } from '../../api/gen';\n\nexport class RegistrationValidation {\n id?: string | null;\n eMail?: string | null;\n token?: string | null;\n validTenantIdentifier?: string | null;\n emailSent?: string | null;\n activated?: boolean;\n deleted?: boolean;\n\n static fromDto(dto: RegistrationValidationDto): RegistrationValidation {\n return {\n id: dto.id,\n eMail: dto.eMail,\n token: dto.token,\n validTenantIdentifier: dto.validTenantIdentifier,\n emailSent: dto.emailSent,\n activated: dto.activated,\n deleted: dto.deleted,\n } as RegistrationValidation;\n }\n}\n","export type ReportOutputFormat = 'Pdf';\n\nexport const ReportOutputFormat = {\n Pdf: 'Pdf' as ReportOutputFormat,\n};\n","export type ReportType = 'None' | 'InquirySummary';\n\nexport const ReportType = {\n None: 'None' as ReportType,\n InquirySummary: 'InquirySummary' as ReportType,\n};\n","export class StaticTemplateIdentifier {\n public static readonly InquirySummaryIdentifier =\n '2c54e79c-d9b0-43c8-a924-3f14033fc009';\n}\n","
\n {{ startDate | date: \"HH:mm\" }}\n \n {{ endDate | date: \"HH:mm\" }}\n \n
\n {{ startDate | date: \"EEEEEE, dd.MM.yyyy\" }}\n
\n
\n
\n
\n
{{ startDate | date: \"HH:mm\" }}
\n
{{ startDate | date: \"EEEEEE, dd.MM.yyyy\" }}
\n
\n \n
\n
{{ endDate | date: \"HH:mm\" }}
\n
{{ endDate | date: \"EEEEEE, dd.MM.yyyy\" }}
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { sameDay } from '../../util/isSameDay';\n\n@Component({\n selector: 'app-date-range',\n templateUrl: './date-range.component.html',\n styleUrls: ['./date-range.component.scss'],\n})\nexport class DateRangeComponent {\n @Input() startDate: Date | string;\n @Input() endDate: Date | string | null;\n\n constructor() {}\n\n endedOnStartedDay(): boolean {\n if (!this.endDate) return false;\n return sameDay(this.startDate, this.endDate);\n }\n}\n","export function sameDay(date1: string | Date, date2: string | Date) {\n const day1 = new Date(date1);\n const day2 = new Date(date2);\n\n return (\n day1.getFullYear() === day2.getFullYear() &&\n day1.getMonth() === day2.getMonth() &&\n day1.getDate() === day2.getDate()\n );\n}\n","export enum AttachmentState {\n UPLOADING,\n SUCCESSFUL,\n FAILURE,\n NONE,\n}\n","import { Attachment } from '../../../../model/attachment/attachment';\nimport { AttachmentState } from './attachment-state';\n\nexport class AttachmentWithState {\n name: string;\n attachment?: Attachment;\n state: AttachmentState;\n\n constructor(\n name: string,\n attachment: Attachment = null,\n state: AttachmentState,\n ) {\n this.name = name;\n this.attachment = attachment;\n this.state = state;\n }\n\n static toAttachment(aws: AttachmentWithState): Attachment {\n return aws.attachment;\n }\n}\n","import { CdkMonitorFocus, CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';\nimport * as i4 from '@angular/cdk/overlay';\nimport { Overlay, FlexibleConnectedPositionStrategy, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';\nimport { ComponentPortal, CdkPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { NgClass, DOCUMENT, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, Optional, SkipSelf, InjectionToken, Inject, ViewChild, forwardRef, booleanAttribute, Directive, Attribute, ContentChild, Self, TemplateRef, NgModule } from '@angular/core';\nimport { MatButton, MatIconButton, MatButtonModule } from '@angular/material/button';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport * as i1 from '@angular/material/core';\nimport { DateAdapter, MAT_DATE_FORMATS, _ErrorStateTracker, MatCommonModule } from '@angular/material/core';\nimport { Subject, Subscription, merge, of } from 'rxjs';\nimport { ESCAPE, hasModifierKey, SPACE, ENTER, PAGE_DOWN, PAGE_UP, END, HOME, DOWN_ARROW, UP_ARROW, RIGHT_ARROW, LEFT_ARROW, BACKSPACE } from '@angular/cdk/keycodes';\nimport * as i2 from '@angular/cdk/bidi';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { normalizePassiveListenerOptions, Platform, _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { take, startWith, filter } from 'rxjs/operators';\nimport { coerceStringArray } from '@angular/cdk/coercion';\nimport { trigger, transition, animate, keyframes, style, state } from '@angular/animations';\nimport * as i2$1 from '@angular/forms';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, NgControl } from '@angular/forms';\nimport { MAT_FORM_FIELD, MatFormFieldControl } from '@angular/material/form-field';\nimport { MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';\n\n/** @docs-private */\nfunction createMissingDateImplError(provider) {\n return Error(`MatDatepicker: No provider found for ${provider}. You must add one of the following ` +\n `to your app config: provideNativeDateAdapter, provideDateFnsAdapter, ` +\n `provideLuxonDateAdapter, provideMomentDateAdapter, or provide a custom implementation.`);\n}\n\n/** Datepicker data that requires internationalization. */\nclass MatDatepickerIntl {\n constructor() {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n this.changes = new Subject();\n /** A label for the calendar popup (used by screen readers). */\n this.calendarLabel = 'Calendar';\n /** A label for the button used to open the calendar popup (used by screen readers). */\n this.openCalendarLabel = 'Open calendar';\n /** Label for the button used to close the calendar popup. */\n this.closeCalendarLabel = 'Close calendar';\n /** A label for the previous month button (used by screen readers). */\n this.prevMonthLabel = 'Previous month';\n /** A label for the next month button (used by screen readers). */\n this.nextMonthLabel = 'Next month';\n /** A label for the previous year button (used by screen readers). */\n this.prevYearLabel = 'Previous year';\n /** A label for the next year button (used by screen readers). */\n this.nextYearLabel = 'Next year';\n /** A label for the previous multi-year button (used by screen readers). */\n this.prevMultiYearLabel = 'Previous 24 years';\n /** A label for the next multi-year button (used by screen readers). */\n this.nextMultiYearLabel = 'Next 24 years';\n /** A label for the 'switch to month view' button (used by screen readers). */\n this.switchToMonthViewLabel = 'Choose date';\n /** A label for the 'switch to year view' button (used by screen readers). */\n this.switchToMultiYearViewLabel = 'Choose month and year';\n /**\n * A label for the first date of a range of dates (used by screen readers).\n * @deprecated Provide your own internationalization string.\n * @breaking-change 17.0.0\n */\n this.startDateLabel = 'Start date';\n /**\n * A label for the last date of a range of dates (used by screen readers).\n * @deprecated Provide your own internationalization string.\n * @breaking-change 17.0.0\n */\n this.endDateLabel = 'End date';\n }\n /** Formats a range of years (used for visuals). */\n formatYearRange(start, end) {\n return `${start} \\u2013 ${end}`;\n }\n /** Formats a label for a range of years (used by screen readers). */\n formatYearRangeLabel(start, end) {\n return `${start} to ${end}`;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerIntl, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerIntl, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * An internal class that represents the data corresponding to a single calendar cell.\n * @docs-private\n */\nclass MatCalendarCell {\n constructor(value, displayValue, ariaLabel, enabled, cssClasses = {}, compareValue = value, rawValue) {\n this.value = value;\n this.displayValue = displayValue;\n this.ariaLabel = ariaLabel;\n this.enabled = enabled;\n this.cssClasses = cssClasses;\n this.compareValue = compareValue;\n this.rawValue = rawValue;\n }\n}\nlet calendarBodyId = 1;\n/** Event options that can be used to bind an active, capturing event. */\nconst activeCapturingEventOptions = normalizePassiveListenerOptions({\n passive: false,\n capture: true,\n});\n/** Event options that can be used to bind a passive, capturing event. */\nconst passiveCapturingEventOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/** Event options that can be used to bind a passive, non-capturing event. */\nconst passiveEventOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * An internal component used to display calendar data in a table.\n * @docs-private\n */\nclass MatCalendarBody {\n ngAfterViewChecked() {\n if (this._focusActiveCellAfterViewChecked) {\n this._focusActiveCell();\n this._focusActiveCellAfterViewChecked = false;\n }\n }\n constructor(_elementRef, _ngZone) {\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n this._platform = inject(Platform);\n /**\n * Used to focus the active cell after change detection has run.\n */\n this._focusActiveCellAfterViewChecked = false;\n /** The number of columns in the table. */\n this.numCols = 7;\n /** The cell number of the active cell in the table. */\n this.activeCell = 0;\n /** Whether a range is being selected. */\n this.isRange = false;\n /**\n * The aspect ratio (width / height) to use for the cells in the table. This aspect ratio will be\n * maintained even as the table resizes.\n */\n this.cellAspectRatio = 1;\n /** Start of the preview range. */\n this.previewStart = null;\n /** End of the preview range. */\n this.previewEnd = null;\n /** Emits when a new value is selected. */\n this.selectedValueChange = new EventEmitter();\n /** Emits when the preview has changed as a result of a user action. */\n this.previewChange = new EventEmitter();\n this.activeDateChange = new EventEmitter();\n /** Emits the date at the possible start of a drag event. */\n this.dragStarted = new EventEmitter();\n /** Emits the date at the conclusion of a drag, or null if mouse was not released on a date. */\n this.dragEnded = new EventEmitter();\n this._didDragSinceMouseDown = false;\n /**\n * Event handler for when the user enters an element\n * inside the calendar body (e.g. by hovering in or focus).\n */\n this._enterHandler = (event) => {\n if (this._skipNextFocus && event.type === 'focus') {\n this._skipNextFocus = false;\n return;\n }\n // We only need to hit the zone when we're selecting a range.\n if (event.target && this.isRange) {\n const cell = this._getCellFromElement(event.target);\n if (cell) {\n this._ngZone.run(() => this.previewChange.emit({ value: cell.enabled ? cell : null, event }));\n }\n }\n };\n this._touchmoveHandler = (event) => {\n if (!this.isRange)\n return;\n const target = getActualTouchTarget(event);\n const cell = target ? this._getCellFromElement(target) : null;\n if (target !== event.target) {\n this._didDragSinceMouseDown = true;\n }\n // If the initial target of the touch is a date cell, prevent default so\n // that the move is not handled as a scroll.\n if (getCellElement(event.target)) {\n event.preventDefault();\n }\n this._ngZone.run(() => this.previewChange.emit({ value: cell?.enabled ? cell : null, event }));\n };\n /**\n * Event handler for when the user's pointer leaves an element\n * inside the calendar body (e.g. by hovering out or blurring).\n */\n this._leaveHandler = (event) => {\n // We only need to hit the zone when we're selecting a range.\n if (this.previewEnd !== null && this.isRange) {\n if (event.type !== 'blur') {\n this._didDragSinceMouseDown = true;\n }\n // Only reset the preview end value when leaving cells. This looks better, because\n // we have a gap between the cells and the rows and we don't want to remove the\n // range just for it to show up again when the user moves a few pixels to the side.\n if (event.target &&\n this._getCellFromElement(event.target) &&\n !(event.relatedTarget &&\n this._getCellFromElement(event.relatedTarget))) {\n this._ngZone.run(() => this.previewChange.emit({ value: null, event }));\n }\n }\n };\n /**\n * Triggered on mousedown or touchstart on a date cell.\n * Respsonsible for starting a drag sequence.\n */\n this._mousedownHandler = (event) => {\n if (!this.isRange)\n return;\n this._didDragSinceMouseDown = false;\n // Begin a drag if a cell within the current range was targeted.\n const cell = event.target && this._getCellFromElement(event.target);\n if (!cell || !this._isInRange(cell.compareValue)) {\n return;\n }\n this._ngZone.run(() => {\n this.dragStarted.emit({\n value: cell.rawValue,\n event,\n });\n });\n };\n /** Triggered on mouseup anywhere. Respsonsible for ending a drag sequence. */\n this._mouseupHandler = (event) => {\n if (!this.isRange)\n return;\n const cellElement = getCellElement(event.target);\n if (!cellElement) {\n // Mouseup happened outside of datepicker. Cancel drag.\n this._ngZone.run(() => {\n this.dragEnded.emit({ value: null, event });\n });\n return;\n }\n if (cellElement.closest('.mat-calendar-body') !== this._elementRef.nativeElement) {\n // Mouseup happened inside a different month instance.\n // Allow it to handle the event.\n return;\n }\n this._ngZone.run(() => {\n const cell = this._getCellFromElement(cellElement);\n this.dragEnded.emit({ value: cell?.rawValue ?? null, event });\n });\n };\n /** Triggered on touchend anywhere. Respsonsible for ending a drag sequence. */\n this._touchendHandler = (event) => {\n const target = getActualTouchTarget(event);\n if (target) {\n this._mouseupHandler({ target });\n }\n };\n this._id = `mat-calendar-body-${calendarBodyId++}`;\n this._startDateLabelId = `${this._id}-start-date`;\n this._endDateLabelId = `${this._id}-end-date`;\n _ngZone.runOutsideAngular(() => {\n const element = _elementRef.nativeElement;\n // `touchmove` is active since we need to call `preventDefault`.\n element.addEventListener('touchmove', this._touchmoveHandler, activeCapturingEventOptions);\n element.addEventListener('mouseenter', this._enterHandler, passiveCapturingEventOptions);\n element.addEventListener('focus', this._enterHandler, passiveCapturingEventOptions);\n element.addEventListener('mouseleave', this._leaveHandler, passiveCapturingEventOptions);\n element.addEventListener('blur', this._leaveHandler, passiveCapturingEventOptions);\n element.addEventListener('mousedown', this._mousedownHandler, passiveEventOptions);\n element.addEventListener('touchstart', this._mousedownHandler, passiveEventOptions);\n if (this._platform.isBrowser) {\n window.addEventListener('mouseup', this._mouseupHandler);\n window.addEventListener('touchend', this._touchendHandler);\n }\n });\n }\n /** Called when a cell is clicked. */\n _cellClicked(cell, event) {\n // Ignore \"clicks\" that are actually canceled drags (eg the user dragged\n // off and then went back to this cell to undo).\n if (this._didDragSinceMouseDown) {\n return;\n }\n if (cell.enabled) {\n this.selectedValueChange.emit({ value: cell.value, event });\n }\n }\n _emitActiveDateChange(cell, event) {\n if (cell.enabled) {\n this.activeDateChange.emit({ value: cell.value, event });\n }\n }\n /** Returns whether a cell should be marked as selected. */\n _isSelected(value) {\n return this.startValue === value || this.endValue === value;\n }\n ngOnChanges(changes) {\n const columnChanges = changes['numCols'];\n const { rows, numCols } = this;\n if (changes['rows'] || columnChanges) {\n this._firstRowOffset = rows && rows.length && rows[0].length ? numCols - rows[0].length : 0;\n }\n if (changes['cellAspectRatio'] || columnChanges || !this._cellPadding) {\n this._cellPadding = `${(50 * this.cellAspectRatio) / numCols}%`;\n }\n if (columnChanges || !this._cellWidth) {\n this._cellWidth = `${100 / numCols}%`;\n }\n }\n ngOnDestroy() {\n const element = this._elementRef.nativeElement;\n element.removeEventListener('touchmove', this._touchmoveHandler, activeCapturingEventOptions);\n element.removeEventListener('mouseenter', this._enterHandler, passiveCapturingEventOptions);\n element.removeEventListener('focus', this._enterHandler, passiveCapturingEventOptions);\n element.removeEventListener('mouseleave', this._leaveHandler, passiveCapturingEventOptions);\n element.removeEventListener('blur', this._leaveHandler, passiveCapturingEventOptions);\n element.removeEventListener('mousedown', this._mousedownHandler, passiveEventOptions);\n element.removeEventListener('touchstart', this._mousedownHandler, passiveEventOptions);\n if (this._platform.isBrowser) {\n window.removeEventListener('mouseup', this._mouseupHandler);\n window.removeEventListener('touchend', this._touchendHandler);\n }\n }\n /** Returns whether a cell is active. */\n _isActiveCell(rowIndex, colIndex) {\n let cellNumber = rowIndex * this.numCols + colIndex;\n // Account for the fact that the first row may not have as many cells.\n if (rowIndex) {\n cellNumber -= this._firstRowOffset;\n }\n return cellNumber == this.activeCell;\n }\n /**\n * Focuses the active cell after the microtask queue is empty.\n *\n * Adding a 0ms setTimeout seems to fix Voiceover losing focus when pressing PageUp/PageDown\n * (issue #24330).\n *\n * Determined a 0ms by gradually increasing duration from 0 and testing two use cases with screen\n * reader enabled:\n *\n * 1. Pressing PageUp/PageDown repeatedly with pausing between each key press.\n * 2. Pressing and holding the PageDown key with repeated keys enabled.\n *\n * Test 1 worked roughly 95-99% of the time with 0ms and got a little bit better as the duration\n * increased. Test 2 got slightly better until the duration was long enough to interfere with\n * repeated keys. If the repeated key speed was faster than the timeout duration, then pressing\n * and holding pagedown caused the entire page to scroll.\n *\n * Since repeated key speed can verify across machines, determined that any duration could\n * potentially interfere with repeated keys. 0ms would be best because it almost entirely\n * eliminates the focus being lost in Voiceover (#24330) without causing unintended side effects.\n * Adding delay also complicates writing tests.\n */\n _focusActiveCell(movePreview = true) {\n this._ngZone.runOutsideAngular(() => {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n setTimeout(() => {\n const activeCell = this._elementRef.nativeElement.querySelector('.mat-calendar-body-active');\n if (activeCell) {\n if (!movePreview) {\n this._skipNextFocus = true;\n }\n activeCell.focus();\n }\n });\n });\n });\n }\n /** Focuses the active cell after change detection has run and the microtask queue is empty. */\n _scheduleFocusActiveCellAfterViewChecked() {\n this._focusActiveCellAfterViewChecked = true;\n }\n /** Gets whether a value is the start of the main range. */\n _isRangeStart(value) {\n return isStart(value, this.startValue, this.endValue);\n }\n /** Gets whether a value is the end of the main range. */\n _isRangeEnd(value) {\n return isEnd(value, this.startValue, this.endValue);\n }\n /** Gets whether a value is within the currently-selected range. */\n _isInRange(value) {\n return isInRange(value, this.startValue, this.endValue, this.isRange);\n }\n /** Gets whether a value is the start of the comparison range. */\n _isComparisonStart(value) {\n return isStart(value, this.comparisonStart, this.comparisonEnd);\n }\n /** Whether the cell is a start bridge cell between the main and comparison ranges. */\n _isComparisonBridgeStart(value, rowIndex, colIndex) {\n if (!this._isComparisonStart(value) || this._isRangeStart(value) || !this._isInRange(value)) {\n return false;\n }\n let previousCell = this.rows[rowIndex][colIndex - 1];\n if (!previousCell) {\n const previousRow = this.rows[rowIndex - 1];\n previousCell = previousRow && previousRow[previousRow.length - 1];\n }\n return previousCell && !this._isRangeEnd(previousCell.compareValue);\n }\n /** Whether the cell is an end bridge cell between the main and comparison ranges. */\n _isComparisonBridgeEnd(value, rowIndex, colIndex) {\n if (!this._isComparisonEnd(value) || this._isRangeEnd(value) || !this._isInRange(value)) {\n return false;\n }\n let nextCell = this.rows[rowIndex][colIndex + 1];\n if (!nextCell) {\n const nextRow = this.rows[rowIndex + 1];\n nextCell = nextRow && nextRow[0];\n }\n return nextCell && !this._isRangeStart(nextCell.compareValue);\n }\n /** Gets whether a value is the end of the comparison range. */\n _isComparisonEnd(value) {\n return isEnd(value, this.comparisonStart, this.comparisonEnd);\n }\n /** Gets whether a value is within the current comparison range. */\n _isInComparisonRange(value) {\n return isInRange(value, this.comparisonStart, this.comparisonEnd, this.isRange);\n }\n /**\n * Gets whether a value is the same as the start and end of the comparison range.\n * For context, the functions that we use to determine whether something is the start/end of\n * a range don't allow for the start and end to be on the same day, because we'd have to use\n * much more specific CSS selectors to style them correctly in all scenarios. This is fine for\n * the regular range, because when it happens, the selected styles take over and still show where\n * the range would've been, however we don't have these selected styles for a comparison range.\n * This function is used to apply a class that serves the same purpose as the one for selected\n * dates, but it only applies in the context of a comparison range.\n */\n _isComparisonIdentical(value) {\n // Note that we don't need to null check the start/end\n // here, because the `value` will always be defined.\n return this.comparisonStart === this.comparisonEnd && value === this.comparisonStart;\n }\n /** Gets whether a value is the start of the preview range. */\n _isPreviewStart(value) {\n return isStart(value, this.previewStart, this.previewEnd);\n }\n /** Gets whether a value is the end of the preview range. */\n _isPreviewEnd(value) {\n return isEnd(value, this.previewStart, this.previewEnd);\n }\n /** Gets whether a value is inside the preview range. */\n _isInPreview(value) {\n return isInRange(value, this.previewStart, this.previewEnd, this.isRange);\n }\n /** Gets ids of aria descriptions for the start and end of a date range. */\n _getDescribedby(value) {\n if (!this.isRange) {\n return null;\n }\n if (this.startValue === value && this.endValue === value) {\n return `${this._startDateLabelId} ${this._endDateLabelId}`;\n }\n else if (this.startValue === value) {\n return this._startDateLabelId;\n }\n else if (this.endValue === value) {\n return this._endDateLabelId;\n }\n return null;\n }\n /** Finds the MatCalendarCell that corresponds to a DOM node. */\n _getCellFromElement(element) {\n const cell = getCellElement(element);\n if (cell) {\n const row = cell.getAttribute('data-mat-row');\n const col = cell.getAttribute('data-mat-col');\n if (row && col) {\n return this.rows[parseInt(row)][parseInt(col)];\n }\n }\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatCalendarBody, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"17.2.0\", type: MatCalendarBody, isStandalone: true, selector: \"[mat-calendar-body]\", inputs: { label: \"label\", rows: \"rows\", todayValue: \"todayValue\", startValue: \"startValue\", endValue: \"endValue\", labelMinRequiredCells: \"labelMinRequiredCells\", numCols: \"numCols\", activeCell: \"activeCell\", isRange: \"isRange\", cellAspectRatio: \"cellAspectRatio\", comparisonStart: \"comparisonStart\", comparisonEnd: \"comparisonEnd\", previewStart: \"previewStart\", previewEnd: \"previewEnd\", startDateAccessibleName: \"startDateAccessibleName\", endDateAccessibleName: \"endDateAccessibleName\" }, outputs: { selectedValueChange: \"selectedValueChange\", previewChange: \"previewChange\", activeDateChange: \"activeDateChange\", dragStarted: \"dragStarted\", dragEnded: \"dragEnded\" }, host: { classAttribute: \"mat-calendar-body\" }, exportAs: [\"matCalendarBody\"], usesOnChanges: true, ngImport: i0, template: \"\\n@if (_firstRowOffset < labelMinRequiredCells) {\\n \\n \\n {{label}}\\n \\n \\n}\\n\\n\\n@for (row of rows; track row; let rowIndex = $index) {\\n \\n \\n @if (rowIndex === 0 && _firstRowOffset) {\\n \\n {{_firstRowOffset >= labelMinRequiredCells ? label : ''}}\\n \\n }\\n \\n @for (item of row; track item; let colIndex = $index) {\\n \\n \\n \\n {{item.displayValue}}\\n \\n \\n \\n \\n }\\n \\n}\\n\\n\\n\\n\", styles: [\".mat-calendar-body{min-width:224px}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:var(--mat-datepicker-calendar-date-today-outline-color)}.mat-calendar-body-label{height:0;line-height:0;text-align:start;padding-left:4.7142857143%;padding-right:4.7142857143%;font-size:var(--mat-datepicker-calendar-body-label-text-size);font-weight:var(--mat-datepicker-calendar-body-label-text-weight);color:var(--mat-datepicker-calendar-body-label-text-color)}.mat-calendar-body-hidden-label{display:none}.mat-calendar-body-cell-container{position:relative;height:0;line-height:0}.mat-calendar-body-cell{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;top:0;left:0;width:100%;height:100%;background:none;text-align:center;outline:none;font-family:inherit;margin:0}.mat-calendar-body-cell::-moz-focus-inner{border:0}.mat-calendar-body-cell::before,.mat-calendar-body-cell::after,.mat-calendar-body-cell-preview{content:\\\"\\\";position:absolute;top:5%;left:0;z-index:0;box-sizing:border-box;display:block;height:90%;width:100%}.mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,.mat-calendar-body-range-start::after,.mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,.mat-calendar-body-comparison-start::after,.mat-calendar-body-preview-start .mat-calendar-body-cell-preview{left:5%;width:95%;border-top-left-radius:999px;border-bottom-left-radius:999px}[dir=rtl] .mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,[dir=rtl] .mat-calendar-body-range-start::after,[dir=rtl] .mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,[dir=rtl] .mat-calendar-body-comparison-start::after,[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview{left:0;border-radius:0;border-top-right-radius:999px;border-bottom-right-radius:999px}.mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,.mat-calendar-body-range-end::after,.mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,.mat-calendar-body-comparison-end::after,.mat-calendar-body-preview-end .mat-calendar-body-cell-preview{width:95%;border-top-right-radius:999px;border-bottom-right-radius:999px}[dir=rtl] .mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,[dir=rtl] .mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,[dir=rtl] .mat-calendar-body-comparison-end::after,[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview{left:5%;border-radius:0;border-top-left-radius:999px;border-bottom-left-radius:999px}[dir=rtl] .mat-calendar-body-comparison-bridge-start.mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-bridge-end.mat-calendar-body-range-start::after{width:95%;border-top-right-radius:999px;border-bottom-right-radius:999px}.mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,.mat-calendar-body-comparison-end.mat-calendar-body-range-start::after,[dir=rtl] .mat-calendar-body-comparison-end.mat-calendar-body-range-start::after{width:90%}.mat-calendar-body-in-preview{color:var(--mat-datepicker-calendar-date-preview-state-outline-color)}.mat-calendar-body-in-preview .mat-calendar-body-cell-preview{border-top:dashed 1px;border-bottom:dashed 1px}.mat-calendar-body-preview-start .mat-calendar-body-cell-preview{border-left:dashed 1px}[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview{border-left:0;border-right:dashed 1px}.mat-calendar-body-preview-end .mat-calendar-body-cell-preview{border-right:dashed 1px}[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview{border-right:0;border-left:dashed 1px}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:var(--mat-datepicker-calendar-date-disabled-state-text-color)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:var(--mat-datepicker-calendar-date-today-disabled-state-outline-color)}.cdk-high-contrast-active .mat-calendar-body-disabled{opacity:.5}.mat-calendar-body-cell-content{top:5%;left:5%;z-index:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px;color:var(--mat-datepicker-calendar-date-text-color);border-color:var(--mat-datepicker-calendar-date-outline-color)}.mat-calendar-body-cell-content.mat-focus-indicator{position:absolute}.cdk-high-contrast-active .mat-calendar-body-cell-content{border:none}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-focus-state-background-color)}@media(hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-hover-state-background-color)}}.mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color);color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-disabled-state-background-color)}.mat-calendar-body-selected.mat-calendar-body-today{box-shadow:inset 0 0 0 1px var(--mat-datepicker-calendar-date-today-selected-state-outline-color)}.mat-calendar-body-in-range::before{background:var(--mat-datepicker-calendar-date-in-range-state-background-color)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range::before{background:var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range::before{background:var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color)}.mat-calendar-body-comparison-bridge-start::before,[dir=rtl] .mat-calendar-body-comparison-bridge-end::before{background:linear-gradient(to right, var(--mat-datepicker-calendar-date-in-range-state-background-color) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color) 50%)}.mat-calendar-body-comparison-bridge-end::before,[dir=rtl] .mat-calendar-body-comparison-bridge-start::before{background:linear-gradient(to left, var(--mat-datepicker-calendar-date-in-range-state-background-color) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after{background:var(--mat-datepicker-calendar-date-in-overlap-range-state-background-color)}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:var(--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color)}.cdk-high-contrast-active .mat-datepicker-popup:not(:empty),.cdk-high-contrast-active .mat-calendar-body-cell:not(.mat-calendar-body-in-range) .mat-calendar-body-selected{outline:solid 1px}.cdk-high-contrast-active .mat-calendar-body-today{outline:dotted 1px}.cdk-high-contrast-active .mat-calendar-body-cell::before,.cdk-high-contrast-active .mat-calendar-body-cell::after,.cdk-high-contrast-active .mat-calendar-body-selected{background:none}.cdk-high-contrast-active .mat-calendar-body-in-range::before,.cdk-high-contrast-active .mat-calendar-body-comparison-bridge-start::before,.cdk-high-contrast-active .mat-calendar-body-comparison-bridge-end::before{border-top:solid 1px;border-bottom:solid 1px}.cdk-high-contrast-active .mat-calendar-body-range-start::before{border-left:solid 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-range-start::before{border-left:0;border-right:solid 1px}.cdk-high-contrast-active .mat-calendar-body-range-end::before{border-right:solid 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-range-end::before{border-right:0;border-left:solid 1px}.cdk-high-contrast-active .mat-calendar-body-in-comparison-range::before{border-top:dashed 1px;border-bottom:dashed 1px}.cdk-high-contrast-active .mat-calendar-body-comparison-start::before{border-left:dashed 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-comparison-start::before{border-left:0;border-right:dashed 1px}.cdk-high-contrast-active .mat-calendar-body-comparison-end::before{border-right:dashed 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-comparison-end::before{border-right:0;border-left:dashed 1px}\"], dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatCalendarBody, decorators: [{\n type: Component,\n args: [{ selector: '[mat-calendar-body]', host: {\n 'class': 'mat-calendar-body',\n }, exportAs: 'matCalendarBody', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass], template: \"\\n@if (_firstRowOffset < labelMinRequiredCells) {\\n \\n \\n {{label}}\\n \\n \\n}\\n\\n\\n@for (row of rows; track row; let rowIndex = $index) {\\n \\n \\n @if (rowIndex === 0 && _firstRowOffset) {\\n \\n {{_firstRowOffset >= labelMinRequiredCells ? label : ''}}\\n \\n }\\n \\n @for (item of row; track item; let colIndex = $index) {\\n \\n \\n \\n {{item.displayValue}}\\n \\n \\n \\n \\n }\\n \\n}\\n\\n\\n\\n\", styles: [\".mat-calendar-body{min-width:224px}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:var(--mat-datepicker-calendar-date-today-outline-color)}.mat-calendar-body-label{height:0;line-height:0;text-align:start;padding-left:4.7142857143%;padding-right:4.7142857143%;font-size:var(--mat-datepicker-calendar-body-label-text-size);font-weight:var(--mat-datepicker-calendar-body-label-text-weight);color:var(--mat-datepicker-calendar-body-label-text-color)}.mat-calendar-body-hidden-label{display:none}.mat-calendar-body-cell-container{position:relative;height:0;line-height:0}.mat-calendar-body-cell{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;top:0;left:0;width:100%;height:100%;background:none;text-align:center;outline:none;font-family:inherit;margin:0}.mat-calendar-body-cell::-moz-focus-inner{border:0}.mat-calendar-body-cell::before,.mat-calendar-body-cell::after,.mat-calendar-body-cell-preview{content:\\\"\\\";position:absolute;top:5%;left:0;z-index:0;box-sizing:border-box;display:block;height:90%;width:100%}.mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,.mat-calendar-body-range-start::after,.mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,.mat-calendar-body-comparison-start::after,.mat-calendar-body-preview-start .mat-calendar-body-cell-preview{left:5%;width:95%;border-top-left-radius:999px;border-bottom-left-radius:999px}[dir=rtl] .mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,[dir=rtl] .mat-calendar-body-range-start::after,[dir=rtl] .mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,[dir=rtl] .mat-calendar-body-comparison-start::after,[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview{left:0;border-radius:0;border-top-right-radius:999px;border-bottom-right-radius:999px}.mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,.mat-calendar-body-range-end::after,.mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,.mat-calendar-body-comparison-end::after,.mat-calendar-body-preview-end .mat-calendar-body-cell-preview{width:95%;border-top-right-radius:999px;border-bottom-right-radius:999px}[dir=rtl] .mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,[dir=rtl] .mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,[dir=rtl] .mat-calendar-body-comparison-end::after,[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview{left:5%;border-radius:0;border-top-left-radius:999px;border-bottom-left-radius:999px}[dir=rtl] .mat-calendar-body-comparison-bridge-start.mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-bridge-end.mat-calendar-body-range-start::after{width:95%;border-top-right-radius:999px;border-bottom-right-radius:999px}.mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,.mat-calendar-body-comparison-end.mat-calendar-body-range-start::after,[dir=rtl] .mat-calendar-body-comparison-end.mat-calendar-body-range-start::after{width:90%}.mat-calendar-body-in-preview{color:var(--mat-datepicker-calendar-date-preview-state-outline-color)}.mat-calendar-body-in-preview .mat-calendar-body-cell-preview{border-top:dashed 1px;border-bottom:dashed 1px}.mat-calendar-body-preview-start .mat-calendar-body-cell-preview{border-left:dashed 1px}[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview{border-left:0;border-right:dashed 1px}.mat-calendar-body-preview-end .mat-calendar-body-cell-preview{border-right:dashed 1px}[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview{border-right:0;border-left:dashed 1px}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:var(--mat-datepicker-calendar-date-disabled-state-text-color)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:var(--mat-datepicker-calendar-date-today-disabled-state-outline-color)}.cdk-high-contrast-active .mat-calendar-body-disabled{opacity:.5}.mat-calendar-body-cell-content{top:5%;left:5%;z-index:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px;color:var(--mat-datepicker-calendar-date-text-color);border-color:var(--mat-datepicker-calendar-date-outline-color)}.mat-calendar-body-cell-content.mat-focus-indicator{position:absolute}.cdk-high-contrast-active .mat-calendar-body-cell-content{border:none}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-focus-state-background-color)}@media(hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-hover-state-background-color)}}.mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color);color:var(--mat-datepicker-calendar-date-selected-state-text-color)}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-disabled-state-background-color)}.mat-calendar-body-selected.mat-calendar-body-today{box-shadow:inset 0 0 0 1px var(--mat-datepicker-calendar-date-today-selected-state-outline-color)}.mat-calendar-body-in-range::before{background:var(--mat-datepicker-calendar-date-in-range-state-background-color)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range::before{background:var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color)}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range::before{background:var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color)}.mat-calendar-body-comparison-bridge-start::before,[dir=rtl] .mat-calendar-body-comparison-bridge-end::before{background:linear-gradient(to right, var(--mat-datepicker-calendar-date-in-range-state-background-color) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color) 50%)}.mat-calendar-body-comparison-bridge-end::before,[dir=rtl] .mat-calendar-body-comparison-bridge-start::before{background:linear-gradient(to left, var(--mat-datepicker-calendar-date-in-range-state-background-color) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after{background:var(--mat-datepicker-calendar-date-in-overlap-range-state-background-color)}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:var(--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color)}.cdk-high-contrast-active .mat-datepicker-popup:not(:empty),.cdk-high-contrast-active .mat-calendar-body-cell:not(.mat-calendar-body-in-range) .mat-calendar-body-selected{outline:solid 1px}.cdk-high-contrast-active .mat-calendar-body-today{outline:dotted 1px}.cdk-high-contrast-active .mat-calendar-body-cell::before,.cdk-high-contrast-active .mat-calendar-body-cell::after,.cdk-high-contrast-active .mat-calendar-body-selected{background:none}.cdk-high-contrast-active .mat-calendar-body-in-range::before,.cdk-high-contrast-active .mat-calendar-body-comparison-bridge-start::before,.cdk-high-contrast-active .mat-calendar-body-comparison-bridge-end::before{border-top:solid 1px;border-bottom:solid 1px}.cdk-high-contrast-active .mat-calendar-body-range-start::before{border-left:solid 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-range-start::before{border-left:0;border-right:solid 1px}.cdk-high-contrast-active .mat-calendar-body-range-end::before{border-right:solid 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-range-end::before{border-right:0;border-left:solid 1px}.cdk-high-contrast-active .mat-calendar-body-in-comparison-range::before{border-top:dashed 1px;border-bottom:dashed 1px}.cdk-high-contrast-active .mat-calendar-body-comparison-start::before{border-left:dashed 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-comparison-start::before{border-left:0;border-right:dashed 1px}.cdk-high-contrast-active .mat-calendar-body-comparison-end::before{border-right:dashed 1px}[dir=rtl] .cdk-high-contrast-active .mat-calendar-body-comparison-end::before{border-right:0;border-left:dashed 1px}\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { label: [{\n type: Input\n }], rows: [{\n type: Input\n }], todayValue: [{\n type: Input\n }], startValue: [{\n type: Input\n }], endValue: [{\n type: Input\n }], labelMinRequiredCells: [{\n type: Input\n }], numCols: [{\n type: Input\n }], activeCell: [{\n type: Input\n }], isRange: [{\n type: Input\n }], cellAspectRatio: [{\n type: Input\n }], comparisonStart: [{\n type: Input\n }], comparisonEnd: [{\n type: Input\n }], previewStart: [{\n type: Input\n }], previewEnd: [{\n type: Input\n }], startDateAccessibleName: [{\n type: Input\n }], endDateAccessibleName: [{\n type: Input\n }], selectedValueChange: [{\n type: Output\n }], previewChange: [{\n type: Output\n }], activeDateChange: [{\n type: Output\n }], dragStarted: [{\n type: Output\n }], dragEnded: [{\n type: Output\n }] } });\n/** Checks whether a node is a table cell element. */\nfunction isTableCell(node) {\n return node?.nodeName === 'TD';\n}\n/**\n * Gets the date table cell element that is or contains the specified element.\n * Or returns null if element is not part of a date cell.\n */\nfunction getCellElement(element) {\n let cell;\n if (isTableCell(element)) {\n cell = element;\n }\n else if (isTableCell(element.parentNode)) {\n cell = element.parentNode;\n }\n else if (isTableCell(element.parentNode?.parentNode)) {\n cell = element.parentNode.parentNode;\n }\n return cell?.getAttribute('data-mat-row') != null ? cell : null;\n}\n/** Checks whether a value is the start of a range. */\nfunction isStart(value, start, end) {\n return end !== null && start !== end && value < end && value === start;\n}\n/** Checks whether a value is the end of a range. */\nfunction isEnd(value, start, end) {\n return start !== null && start !== end && value >= start && value === end;\n}\n/** Checks whether a value is inside of a range. */\nfunction isInRange(value, start, end, rangeEnabled) {\n return (rangeEnabled &&\n start !== null &&\n end !== null &&\n start !== end &&\n value >= start &&\n value <= end);\n}\n/**\n * Extracts the element that actually corresponds to a touch event's location\n * (rather than the element that initiated the sequence of touch events).\n */\nfunction getActualTouchTarget(event) {\n const touchLocation = event.changedTouches[0];\n return document.elementFromPoint(touchLocation.clientX, touchLocation.clientY);\n}\n\n/** A class representing a range of dates. */\nclass DateRange {\n constructor(\n /** The start date of the range. */\n start, \n /** The end date of the range. */\n end) {\n this.start = start;\n this.end = end;\n }\n}\n/**\n * A selection model containing a date selection.\n * @docs-private\n */\nclass MatDateSelectionModel {\n constructor(\n /** The current selection. */\n selection, _adapter) {\n this.selection = selection;\n this._adapter = _adapter;\n this._selectionChanged = new Subject();\n /** Emits when the selection has changed. */\n this.selectionChanged = this._selectionChanged;\n this.selection = selection;\n }\n /**\n * Updates the current selection in the model.\n * @param value New selection that should be assigned.\n * @param source Object that triggered the selection change.\n */\n updateSelection(value, source) {\n const oldValue = this.selection;\n this.selection = value;\n this._selectionChanged.next({ selection: value, source, oldValue });\n }\n ngOnDestroy() {\n this._selectionChanged.complete();\n }\n _isValidDateInstance(date) {\n return this._adapter.isDateInstance(date) && this._adapter.isValid(date);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDateSelectionModel, deps: \"invalid\", target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDateSelectionModel }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDateSelectionModel, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: undefined }, { type: i1.DateAdapter }] });\n/**\n * A selection model that contains a single date.\n * @docs-private\n */\nclass MatSingleDateSelectionModel extends MatDateSelectionModel {\n constructor(adapter) {\n super(null, adapter);\n }\n /**\n * Adds a date to the current selection. In the case of a single date selection, the added date\n * simply overwrites the previous selection\n */\n add(date) {\n super.updateSelection(date, this);\n }\n /** Checks whether the current selection is valid. */\n isValid() {\n return this.selection != null && this._isValidDateInstance(this.selection);\n }\n /**\n * Checks whether the current selection is complete. In the case of a single date selection, this\n * is true if the current selection is not null.\n */\n isComplete() {\n return this.selection != null;\n }\n /** Clones the selection model. */\n clone() {\n const clone = new MatSingleDateSelectionModel(this._adapter);\n clone.updateSelection(this.selection, this);\n return clone;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatSingleDateSelectionModel, deps: [{ token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatSingleDateSelectionModel }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatSingleDateSelectionModel, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.DateAdapter }] });\n/**\n * A selection model that contains a date range.\n * @docs-private\n */\nclass MatRangeDateSelectionModel extends MatDateSelectionModel {\n constructor(adapter) {\n super(new DateRange(null, null), adapter);\n }\n /**\n * Adds a date to the current selection. In the case of a date range selection, the added date\n * fills in the next `null` value in the range. If both the start and the end already have a date,\n * the selection is reset so that the given date is the new `start` and the `end` is null.\n */\n add(date) {\n let { start, end } = this.selection;\n if (start == null) {\n start = date;\n }\n else if (end == null) {\n end = date;\n }\n else {\n start = date;\n end = null;\n }\n super.updateSelection(new DateRange(start, end), this);\n }\n /** Checks whether the current selection is valid. */\n isValid() {\n const { start, end } = this.selection;\n // Empty ranges are valid.\n if (start == null && end == null) {\n return true;\n }\n // Complete ranges are only valid if both dates are valid and the start is before the end.\n if (start != null && end != null) {\n return (this._isValidDateInstance(start) &&\n this._isValidDateInstance(end) &&\n this._adapter.compareDate(start, end) <= 0);\n }\n // Partial ranges are valid if the start/end is valid.\n return ((start == null || this._isValidDateInstance(start)) &&\n (end == null || this._isValidDateInstance(end)));\n }\n /**\n * Checks whether the current selection is complete. In the case of a date range selection, this\n * is true if the current selection has a non-null `start` and `end`.\n */\n isComplete() {\n return this.selection.start != null && this.selection.end != null;\n }\n /** Clones the selection model. */\n clone() {\n const clone = new MatRangeDateSelectionModel(this._adapter);\n clone.updateSelection(this.selection, this);\n return clone;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatRangeDateSelectionModel, deps: [{ token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatRangeDateSelectionModel }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatRangeDateSelectionModel, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.DateAdapter }] });\n/** @docs-private */\nfunction MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY(parent, adapter) {\n return parent || new MatSingleDateSelectionModel(adapter);\n}\n/**\n * Used to provide a single selection model to a component.\n * @docs-private\n */\nconst MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER = {\n provide: MatDateSelectionModel,\n deps: [[new Optional(), new SkipSelf(), MatDateSelectionModel], DateAdapter],\n useFactory: MAT_SINGLE_DATE_SELECTION_MODEL_FACTORY,\n};\n/** @docs-private */\nfunction MAT_RANGE_DATE_SELECTION_MODEL_FACTORY(parent, adapter) {\n return parent || new MatRangeDateSelectionModel(adapter);\n}\n/**\n * Used to provide a range selection model to a component.\n * @docs-private\n */\nconst MAT_RANGE_DATE_SELECTION_MODEL_PROVIDER = {\n provide: MatDateSelectionModel,\n deps: [[new Optional(), new SkipSelf(), MatDateSelectionModel], DateAdapter],\n useFactory: MAT_RANGE_DATE_SELECTION_MODEL_FACTORY,\n};\n\n/** Injection token used to customize the date range selection behavior. */\nconst MAT_DATE_RANGE_SELECTION_STRATEGY = new InjectionToken('MAT_DATE_RANGE_SELECTION_STRATEGY');\n/** Provides the default date range selection behavior. */\nclass DefaultMatCalendarRangeStrategy {\n constructor(_dateAdapter) {\n this._dateAdapter = _dateAdapter;\n }\n selectionFinished(date, currentRange) {\n let { start, end } = currentRange;\n if (start == null) {\n start = date;\n }\n else if (end == null && date && this._dateAdapter.compareDate(date, start) >= 0) {\n end = date;\n }\n else {\n start = date;\n end = null;\n }\n return new DateRange(start, end);\n }\n createPreview(activeDate, currentRange) {\n let start = null;\n let end = null;\n if (currentRange.start && !currentRange.end && activeDate) {\n start = currentRange.start;\n end = activeDate;\n }\n return new DateRange(start, end);\n }\n createDrag(dragOrigin, originalRange, newDate) {\n let start = originalRange.start;\n let end = originalRange.end;\n if (!start || !end) {\n // Can't drag from an incomplete range.\n return null;\n }\n const adapter = this._dateAdapter;\n const isRange = adapter.compareDate(start, end) !== 0;\n const diffYears = adapter.getYear(newDate) - adapter.getYear(dragOrigin);\n const diffMonths = adapter.getMonth(newDate) - adapter.getMonth(dragOrigin);\n const diffDays = adapter.getDate(newDate) - adapter.getDate(dragOrigin);\n if (isRange && adapter.sameDate(dragOrigin, originalRange.start)) {\n start = newDate;\n if (adapter.compareDate(newDate, end) > 0) {\n end = adapter.addCalendarYears(end, diffYears);\n end = adapter.addCalendarMonths(end, diffMonths);\n end = adapter.addCalendarDays(end, diffDays);\n }\n }\n else if (isRange && adapter.sameDate(dragOrigin, originalRange.end)) {\n end = newDate;\n if (adapter.compareDate(newDate, start) < 0) {\n start = adapter.addCalendarYears(start, diffYears);\n start = adapter.addCalendarMonths(start, diffMonths);\n start = adapter.addCalendarDays(start, diffDays);\n }\n }\n else {\n start = adapter.addCalendarYears(start, diffYears);\n start = adapter.addCalendarMonths(start, diffMonths);\n start = adapter.addCalendarDays(start, diffDays);\n end = adapter.addCalendarYears(end, diffYears);\n end = adapter.addCalendarMonths(end, diffMonths);\n end = adapter.addCalendarDays(end, diffDays);\n }\n return new DateRange(start, end);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: DefaultMatCalendarRangeStrategy, deps: [{ token: i1.DateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: DefaultMatCalendarRangeStrategy }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: DefaultMatCalendarRangeStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.DateAdapter }] });\n/** @docs-private */\nfunction MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY(parent, adapter) {\n return parent || new DefaultMatCalendarRangeStrategy(adapter);\n}\n/** @docs-private */\nconst MAT_CALENDAR_RANGE_STRATEGY_PROVIDER = {\n provide: MAT_DATE_RANGE_SELECTION_STRATEGY,\n deps: [[new Optional(), new SkipSelf(), MAT_DATE_RANGE_SELECTION_STRATEGY], DateAdapter],\n useFactory: MAT_CALENDAR_RANGE_STRATEGY_PROVIDER_FACTORY,\n};\n\nconst DAYS_PER_WEEK = 7;\n/**\n * An internal component used to display a single month in the datepicker.\n * @docs-private\n */\nclass MatMonthView {\n /**\n * The date to display in this month view (everything other than the month and year is ignored).\n */\n get activeDate() {\n return this._activeDate;\n }\n set activeDate(value) {\n const oldActiveDate = this._activeDate;\n const validDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value)) ||\n this._dateAdapter.today();\n this._activeDate = this._dateAdapter.clampDate(validDate, this.minDate, this.maxDate);\n if (!this._hasSameMonthAndYear(oldActiveDate, this._activeDate)) {\n this._init();\n }\n }\n /** The currently selected date. */\n get selected() {\n return this._selected;\n }\n set selected(value) {\n if (value instanceof DateRange) {\n this._selected = value;\n }\n else {\n this._selected = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n this._setRanges(this._selected);\n }\n /** The minimum selectable date. */\n get minDate() {\n return this._minDate;\n }\n set minDate(value) {\n this._minDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n /** The maximum selectable date. */\n get maxDate() {\n return this._maxDate;\n }\n set maxDate(value) {\n this._maxDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n constructor(_changeDetectorRef, _dateFormats, _dateAdapter, _dir, _rangeStrategy) {\n this._changeDetectorRef = _changeDetectorRef;\n this._dateFormats = _dateFormats;\n this._dateAdapter = _dateAdapter;\n this._dir = _dir;\n this._rangeStrategy = _rangeStrategy;\n this._rerenderSubscription = Subscription.EMPTY;\n /** Origin of active drag, or null when dragging is not active. */\n this.activeDrag = null;\n /** Emits when a new date is selected. */\n this.selectedChange = new EventEmitter();\n /** Emits when any date is selected. */\n this._userSelection = new EventEmitter();\n /** Emits when the user initiates a date range drag via mouse or touch. */\n this.dragStarted = new EventEmitter();\n /**\n * Emits when the user completes or cancels a date range drag.\n * Emits null when the drag was canceled or the newly selected date range if completed.\n */\n this.dragEnded = new EventEmitter();\n /** Emits when any date is activated. */\n this.activeDateChange = new EventEmitter();\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._dateAdapter) {\n throw createMissingDateImplError('DateAdapter');\n }\n if (!this._dateFormats) {\n throw createMissingDateImplError('MAT_DATE_FORMATS');\n }\n }\n this._activeDate = this._dateAdapter.today();\n }\n ngAfterContentInit() {\n this._rerenderSubscription = this._dateAdapter.localeChanges\n .pipe(startWith(null))\n .subscribe(() => this._init());\n }\n ngOnChanges(changes) {\n const comparisonChange = changes['comparisonStart'] || changes['comparisonEnd'];\n if (comparisonChange && !comparisonChange.firstChange) {\n this._setRanges(this.selected);\n }\n if (changes['activeDrag'] && !this.activeDrag) {\n this._clearPreview();\n }\n }\n ngOnDestroy() {\n this._rerenderSubscription.unsubscribe();\n }\n /** Handles when a new date is selected. */\n _dateSelected(event) {\n const date = event.value;\n const selectedDate = this._getDateFromDayOfMonth(date);\n let rangeStartDate;\n let rangeEndDate;\n if (this._selected instanceof DateRange) {\n rangeStartDate = this._getDateInCurrentMonth(this._selected.start);\n rangeEndDate = this._getDateInCurrentMonth(this._selected.end);\n }\n else {\n rangeStartDate = rangeEndDate = this._getDateInCurrentMonth(this._selected);\n }\n if (rangeStartDate !== date || rangeEndDate !== date) {\n this.selectedChange.emit(selectedDate);\n }\n this._userSelection.emit({ value: selectedDate, event: event.event });\n this._clearPreview();\n this._changeDetectorRef.markForCheck();\n }\n /**\n * Takes the index of a calendar body cell wrapped in an event as argument. For the date that\n * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with\n * that date.\n *\n * This function is used to match each component's model of the active date with the calendar\n * body cell that was focused. It updates its value of `activeDate` synchronously and updates the\n * parent's value asynchronously via the `activeDateChange` event. The child component receives an\n * updated value asynchronously via the `activeCell` Input.\n */\n _updateActiveDate(event) {\n const month = event.value;\n const oldActiveDate = this._activeDate;\n this.activeDate = this._getDateFromDayOfMonth(month);\n if (this._dateAdapter.compareDate(oldActiveDate, this.activeDate)) {\n this.activeDateChange.emit(this._activeDate);\n }\n }\n /** Handles keydown events on the calendar body when calendar is in month view. */\n _handleCalendarBodyKeydown(event) {\n // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent\n // disabled ones from being selected. This may not be ideal, we should look into whether\n // navigation should skip over disabled dates, and if so, how to implement that efficiently.\n const oldActiveDate = this._activeDate;\n const isRtl = this._isRtl();\n switch (event.keyCode) {\n case LEFT_ARROW:\n this.activeDate = this._dateAdapter.addCalendarDays(this._activeDate, isRtl ? 1 : -1);\n break;\n case RIGHT_ARROW:\n this.activeDate = this._dateAdapter.addCalendarDays(this._activeDate, isRtl ? -1 : 1);\n break;\n case UP_ARROW:\n this.activeDate = this._dateAdapter.addCalendarDays(this._activeDate, -7);\n break;\n case DOWN_ARROW:\n this.activeDate = this._dateAdapter.addCalendarDays(this._activeDate, 7);\n break;\n case HOME:\n this.activeDate = this._dateAdapter.addCalendarDays(this._activeDate, 1 - this._dateAdapter.getDate(this._activeDate));\n break;\n case END:\n this.activeDate = this._dateAdapter.addCalendarDays(this._activeDate, this._dateAdapter.getNumDaysInMonth(this._activeDate) -\n this._dateAdapter.getDate(this._activeDate));\n break;\n case PAGE_UP:\n this.activeDate = event.altKey\n ? this._dateAdapter.addCalendarYears(this._activeDate, -1)\n : this._dateAdapter.addCalendarMonths(this._activeDate, -1);\n break;\n case PAGE_DOWN:\n this.activeDate = event.altKey\n ? this._dateAdapter.addCalendarYears(this._activeDate, 1)\n : this._dateAdapter.addCalendarMonths(this._activeDate, 1);\n break;\n case ENTER:\n case SPACE:\n this._selectionKeyPressed = true;\n if (this._canSelect(this._activeDate)) {\n // Prevent unexpected default actions such as form submission.\n // Note that we only prevent the default action here while the selection happens in\n // `keyup` below. We can't do the selection here, because it can cause the calendar to\n // reopen if focus is restored immediately. We also can't call `preventDefault` on `keyup`\n // because it's too late (see #23305).\n event.preventDefault();\n }\n return;\n case ESCAPE:\n // Abort the current range selection if the user presses escape mid-selection.\n if (this._previewEnd != null && !hasModifierKey(event)) {\n this._clearPreview();\n // If a drag is in progress, cancel the drag without changing the\n // current selection.\n if (this.activeDrag) {\n this.dragEnded.emit({ value: null, event });\n }\n else {\n this.selectedChange.emit(null);\n this._userSelection.emit({ value: null, event });\n }\n event.preventDefault();\n event.stopPropagation(); // Prevents the overlay from closing.\n }\n return;\n default:\n // Don't prevent default or focus active cell on keys that we don't explicitly handle.\n return;\n }\n if (this._dateAdapter.compareDate(oldActiveDate, this.activeDate)) {\n this.activeDateChange.emit(this.activeDate);\n this._focusActiveCellAfterViewChecked();\n }\n // Prevent unexpected default actions such as form submission.\n event.preventDefault();\n }\n /** Handles keyup events on the calendar body when calendar is in month view. */\n _handleCalendarBodyKeyup(event) {\n if (event.keyCode === SPACE || event.keyCode === ENTER) {\n if (this._selectionKeyPressed && this._canSelect(this._activeDate)) {\n this._dateSelected({ value: this._dateAdapter.getDate(this._activeDate), event });\n }\n this._selectionKeyPressed = false;\n }\n }\n /** Initializes this month view. */\n _init() {\n this._setRanges(this.selected);\n this._todayDate = this._getCellCompareValue(this._dateAdapter.today());\n this._monthLabel = this._dateFormats.display.monthLabel\n ? this._dateAdapter.format(this.activeDate, this._dateFormats.display.monthLabel)\n : this._dateAdapter\n .getMonthNames('short')[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase();\n let firstOfMonth = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), this._dateAdapter.getMonth(this.activeDate), 1);\n this._firstWeekOffset =\n (DAYS_PER_WEEK +\n this._dateAdapter.getDayOfWeek(firstOfMonth) -\n this._dateAdapter.getFirstDayOfWeek()) %\n DAYS_PER_WEEK;\n this._initWeekdays();\n this._createWeekCells();\n this._changeDetectorRef.markForCheck();\n }\n /** Focuses the active cell after the microtask queue is empty. */\n _focusActiveCell(movePreview) {\n this._matCalendarBody._focusActiveCell(movePreview);\n }\n /** Focuses the active cell after change detection has run and the microtask queue is empty. */\n _focusActiveCellAfterViewChecked() {\n this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked();\n }\n /** Called when the user has activated a new cell and the preview needs to be updated. */\n _previewChanged({ event, value: cell }) {\n if (this._rangeStrategy) {\n // We can assume that this will be a range, because preview\n // events aren't fired for single date selections.\n const value = cell ? cell.rawValue : null;\n const previewRange = this._rangeStrategy.createPreview(value, this.selected, event);\n this._previewStart = this._getCellCompareValue(previewRange.start);\n this._previewEnd = this._getCellCompareValue(previewRange.end);\n if (this.activeDrag && value) {\n const dragRange = this._rangeStrategy.createDrag?.(this.activeDrag.value, this.selected, value, event);\n if (dragRange) {\n this._previewStart = this._getCellCompareValue(dragRange.start);\n this._previewEnd = this._getCellCompareValue(dragRange.end);\n }\n }\n // Note that here we need to use `detectChanges`, rather than `markForCheck`, because\n // the way `_focusActiveCell` is set up at the moment makes it fire at the wrong time\n // when navigating one month back using the keyboard which will cause this handler\n // to throw a \"changed after checked\" error when updating the preview state.\n this._changeDetectorRef.detectChanges();\n }\n }\n /**\n * Called when the user has ended a drag. If the drag/drop was successful,\n * computes and emits the new range selection.\n */\n _dragEnded(event) {\n if (!this.activeDrag)\n return;\n if (event.value) {\n // Propagate drag effect\n const dragDropResult = this._rangeStrategy?.createDrag?.(this.activeDrag.value, this.selected, event.value, event.event);\n this.dragEnded.emit({ value: dragDropResult ?? null, event: event.event });\n }\n else {\n this.dragEnded.emit({ value: null, event: event.event });\n }\n }\n /**\n * Takes a day of the month and returns a new date in the same month and year as the currently\n * active date. The returned date will have the same day of the month as the argument date.\n */\n _getDateFromDayOfMonth(dayOfMonth) {\n return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), this._dateAdapter.getMonth(this.activeDate), dayOfMonth);\n }\n /** Initializes the weekdays. */\n _initWeekdays() {\n const firstDayOfWeek = this._dateAdapter.getFirstDayOfWeek();\n const narrowWeekdays = this._dateAdapter.getDayOfWeekNames('narrow');\n const longWeekdays = this._dateAdapter.getDayOfWeekNames('long');\n // Rotate the labels for days of the week based on the configured first day of the week.\n let weekdays = longWeekdays.map((long, i) => {\n return { long, narrow: narrowWeekdays[i] };\n });\n this._weekdays = weekdays.slice(firstDayOfWeek).concat(weekdays.slice(0, firstDayOfWeek));\n }\n /** Creates MatCalendarCells for the dates in this month. */\n _createWeekCells() {\n const daysInMonth = this._dateAdapter.getNumDaysInMonth(this.activeDate);\n const dateNames = this._dateAdapter.getDateNames();\n this._weeks = [[]];\n for (let i = 0, cell = this._firstWeekOffset; i < daysInMonth; i++, cell++) {\n if (cell == DAYS_PER_WEEK) {\n this._weeks.push([]);\n cell = 0;\n }\n const date = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), this._dateAdapter.getMonth(this.activeDate), i + 1);\n const enabled = this._shouldEnableDate(date);\n const ariaLabel = this._dateAdapter.format(date, this._dateFormats.display.dateA11yLabel);\n const cellClasses = this.dateClass ? this.dateClass(date, 'month') : undefined;\n this._weeks[this._weeks.length - 1].push(new MatCalendarCell(i + 1, dateNames[i], ariaLabel, enabled, cellClasses, this._getCellCompareValue(date), date));\n }\n }\n /** Date filter for the month */\n _shouldEnableDate(date) {\n return (!!date &&\n (!this.minDate || this._dateAdapter.compareDate(date, this.minDate) >= 0) &&\n (!this.maxDate || this._dateAdapter.compareDate(date, this.maxDate) <= 0) &&\n (!this.dateFilter || this.dateFilter(date)));\n }\n /**\n * Gets the date in this month that the given Date falls on.\n * Returns null if the given Date is in another month.\n */\n _getDateInCurrentMonth(date) {\n return date && this._hasSameMonthAndYear(date, this.activeDate)\n ? this._dateAdapter.getDate(date)\n : null;\n }\n /** Checks whether the 2 dates are non-null and fall within the same month of the same year. */\n _hasSameMonthAndYear(d1, d2) {\n return !!(d1 &&\n d2 &&\n this._dateAdapter.getMonth(d1) == this._dateAdapter.getMonth(d2) &&\n this._dateAdapter.getYear(d1) == this._dateAdapter.getYear(d2));\n }\n /** Gets the value that will be used to one cell to another. */\n _getCellCompareValue(date) {\n if (date) {\n // We use the time since the Unix epoch to compare dates in this view, rather than the\n // cell values, because we need to support ranges that span across multiple months/years.\n const year = this._dateAdapter.getYear(date);\n const month = this._dateAdapter.getMonth(date);\n const day = this._dateAdapter.getDate(date);\n return new Date(year, month, day).getTime();\n }\n return null;\n }\n /** Determines whether the user has the RTL layout direction. */\n _isRtl() {\n return this._dir && this._dir.value === 'rtl';\n }\n /** Sets the current range based on a model value. */\n _setRanges(selectedValue) {\n if (selectedValue instanceof DateRange) {\n this._rangeStart = this._getCellCompareValue(selectedValue.start);\n this._rangeEnd = this._getCellCompareValue(selectedValue.end);\n this._isRange = true;\n }\n else {\n this._rangeStart = this._rangeEnd = this._getCellCompareValue(selectedValue);\n this._isRange = false;\n }\n this._comparisonRangeStart = this._getCellCompareValue(this.comparisonStart);\n this._comparisonRangeEnd = this._getCellCompareValue(this.comparisonEnd);\n }\n /** Gets whether a date can be selected in the month view. */\n _canSelect(date) {\n return !this.dateFilter || this.dateFilter(date);\n }\n /** Clears out preview state. */\n _clearPreview() {\n this._previewStart = this._previewEnd = null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMonthView, deps: [{ token: i0.ChangeDetectorRef }, { token: MAT_DATE_FORMATS, optional: true }, { token: i1.DateAdapter, optional: true }, { token: i2.Directionality, optional: true }, { token: MAT_DATE_RANGE_SELECTION_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"17.2.0\", type: MatMonthView, isStandalone: true, selector: \"mat-month-view\", inputs: { activeDate: \"activeDate\", selected: \"selected\", minDate: \"minDate\", maxDate: \"maxDate\", dateFilter: \"dateFilter\", dateClass: \"dateClass\", comparisonStart: \"comparisonStart\", comparisonEnd: \"comparisonEnd\", startDateAccessibleName: \"startDateAccessibleName\", endDateAccessibleName: \"endDateAccessibleName\", activeDrag: \"activeDrag\" }, outputs: { selectedChange: \"selectedChange\", _userSelection: \"_userSelection\", dragStarted: \"dragStarted\", dragEnded: \"dragEnded\", activeDateChange: \"activeDateChange\" }, viewQueries: [{ propertyName: \"_matCalendarBody\", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: [\"matMonthView\"], usesOnChanges: true, ngImport: i0, template: \"\\n \\n \\n @for (day of _weekdays; track day) {\\n \\n }\\n \\n \\n \\n \\n \\n
\\n {{day.long}}\\n {{day.narrow}}\\n
\\n\", dependencies: [{ kind: \"component\", type: MatCalendarBody, selector: \"[mat-calendar-body]\", inputs: [\"label\", \"rows\", \"todayValue\", \"startValue\", \"endValue\", \"labelMinRequiredCells\", \"numCols\", \"activeCell\", \"isRange\", \"cellAspectRatio\", \"comparisonStart\", \"comparisonEnd\", \"previewStart\", \"previewEnd\", \"startDateAccessibleName\", \"endDateAccessibleName\"], outputs: [\"selectedValueChange\", \"previewChange\", \"activeDateChange\", \"dragStarted\", \"dragEnded\"], exportAs: [\"matCalendarBody\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMonthView, decorators: [{\n type: Component,\n args: [{ selector: 'mat-month-view', exportAs: 'matMonthView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatCalendarBody], template: \"\\n \\n \\n @for (day of _weekdays; track day) {\\n \\n }\\n \\n \\n \\n \\n \\n
\\n {{day.long}}\\n {{day.narrow}}\\n
\\n\" }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DATE_FORMATS]\n }] }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_DATE_RANGE_SELECTION_STRATEGY]\n }, {\n type: Optional\n }] }], propDecorators: { activeDate: [{\n type: Input\n }], selected: [{\n type: Input\n }], minDate: [{\n type: Input\n }], maxDate: [{\n type: Input\n }], dateFilter: [{\n type: Input\n }], dateClass: [{\n type: Input\n }], comparisonStart: [{\n type: Input\n }], comparisonEnd: [{\n type: Input\n }], startDateAccessibleName: [{\n type: Input\n }], endDateAccessibleName: [{\n type: Input\n }], activeDrag: [{\n type: Input\n }], selectedChange: [{\n type: Output\n }], _userSelection: [{\n type: Output\n }], dragStarted: [{\n type: Output\n }], dragEnded: [{\n type: Output\n }], activeDateChange: [{\n type: Output\n }], _matCalendarBody: [{\n type: ViewChild,\n args: [MatCalendarBody]\n }] } });\n\nconst yearsPerPage = 24;\nconst yearsPerRow = 4;\n/**\n * An internal component used to display a year selector in the datepicker.\n * @docs-private\n */\nclass MatMultiYearView {\n /** The date to display in this multi-year view (everything other than the year is ignored). */\n get activeDate() {\n return this._activeDate;\n }\n set activeDate(value) {\n let oldActiveDate = this._activeDate;\n const validDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value)) ||\n this._dateAdapter.today();\n this._activeDate = this._dateAdapter.clampDate(validDate, this.minDate, this.maxDate);\n if (!isSameMultiYearView(this._dateAdapter, oldActiveDate, this._activeDate, this.minDate, this.maxDate)) {\n this._init();\n }\n }\n /** The currently selected date. */\n get selected() {\n return this._selected;\n }\n set selected(value) {\n if (value instanceof DateRange) {\n this._selected = value;\n }\n else {\n this._selected = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n this._setSelectedYear(value);\n }\n /** The minimum selectable date. */\n get minDate() {\n return this._minDate;\n }\n set minDate(value) {\n this._minDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n /** The maximum selectable date. */\n get maxDate() {\n return this._maxDate;\n }\n set maxDate(value) {\n this._maxDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n constructor(_changeDetectorRef, _dateAdapter, _dir) {\n this._changeDetectorRef = _changeDetectorRef;\n this._dateAdapter = _dateAdapter;\n this._dir = _dir;\n this._rerenderSubscription = Subscription.EMPTY;\n /** Emits when a new year is selected. */\n this.selectedChange = new EventEmitter();\n /** Emits the selected year. This doesn't imply a change on the selected date */\n this.yearSelected = new EventEmitter();\n /** Emits when any date is activated. */\n this.activeDateChange = new EventEmitter();\n if (!this._dateAdapter && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw createMissingDateImplError('DateAdapter');\n }\n this._activeDate = this._dateAdapter.today();\n }\n ngAfterContentInit() {\n this._rerenderSubscription = this._dateAdapter.localeChanges\n .pipe(startWith(null))\n .subscribe(() => this._init());\n }\n ngOnDestroy() {\n this._rerenderSubscription.unsubscribe();\n }\n /** Initializes this multi-year view. */\n _init() {\n this._todayYear = this._dateAdapter.getYear(this._dateAdapter.today());\n // We want a range years such that we maximize the number of\n // enabled dates visible at once. This prevents issues where the minimum year\n // is the last item of a page OR the maximum year is the first item of a page.\n // The offset from the active year to the \"slot\" for the starting year is the\n // *actual* first rendered year in the multi-year view.\n const activeYear = this._dateAdapter.getYear(this._activeDate);\n const minYearOfPage = activeYear - getActiveOffset(this._dateAdapter, this.activeDate, this.minDate, this.maxDate);\n this._years = [];\n for (let i = 0, row = []; i < yearsPerPage; i++) {\n row.push(minYearOfPage + i);\n if (row.length == yearsPerRow) {\n this._years.push(row.map(year => this._createCellForYear(year)));\n row = [];\n }\n }\n this._changeDetectorRef.markForCheck();\n }\n /** Handles when a new year is selected. */\n _yearSelected(event) {\n const year = event.value;\n const selectedYear = this._dateAdapter.createDate(year, 0, 1);\n const selectedDate = this._getDateFromYear(year);\n this.yearSelected.emit(selectedYear);\n this.selectedChange.emit(selectedDate);\n }\n /**\n * Takes the index of a calendar body cell wrapped in an event as argument. For the date that\n * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with\n * that date.\n *\n * This function is used to match each component's model of the active date with the calendar\n * body cell that was focused. It updates its value of `activeDate` synchronously and updates the\n * parent's value asynchronously via the `activeDateChange` event. The child component receives an\n * updated value asynchronously via the `activeCell` Input.\n */\n _updateActiveDate(event) {\n const year = event.value;\n const oldActiveDate = this._activeDate;\n this.activeDate = this._getDateFromYear(year);\n if (this._dateAdapter.compareDate(oldActiveDate, this.activeDate)) {\n this.activeDateChange.emit(this.activeDate);\n }\n }\n /** Handles keydown events on the calendar body when calendar is in multi-year view. */\n _handleCalendarBodyKeydown(event) {\n const oldActiveDate = this._activeDate;\n const isRtl = this._isRtl();\n switch (event.keyCode) {\n case LEFT_ARROW:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, isRtl ? 1 : -1);\n break;\n case RIGHT_ARROW:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, isRtl ? -1 : 1);\n break;\n case UP_ARROW:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, -yearsPerRow);\n break;\n case DOWN_ARROW:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, yearsPerRow);\n break;\n case HOME:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, -getActiveOffset(this._dateAdapter, this.activeDate, this.minDate, this.maxDate));\n break;\n case END:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, yearsPerPage -\n getActiveOffset(this._dateAdapter, this.activeDate, this.minDate, this.maxDate) -\n 1);\n break;\n case PAGE_UP:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, event.altKey ? -yearsPerPage * 10 : -yearsPerPage);\n break;\n case PAGE_DOWN:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, event.altKey ? yearsPerPage * 10 : yearsPerPage);\n break;\n case ENTER:\n case SPACE:\n // Note that we only prevent the default action here while the selection happens in\n // `keyup` below. We can't do the selection here, because it can cause the calendar to\n // reopen if focus is restored immediately. We also can't call `preventDefault` on `keyup`\n // because it's too late (see #23305).\n this._selectionKeyPressed = true;\n break;\n default:\n // Don't prevent default or focus active cell on keys that we don't explicitly handle.\n return;\n }\n if (this._dateAdapter.compareDate(oldActiveDate, this.activeDate)) {\n this.activeDateChange.emit(this.activeDate);\n }\n this._focusActiveCellAfterViewChecked();\n // Prevent unexpected default actions such as form submission.\n event.preventDefault();\n }\n /** Handles keyup events on the calendar body when calendar is in multi-year view. */\n _handleCalendarBodyKeyup(event) {\n if (event.keyCode === SPACE || event.keyCode === ENTER) {\n if (this._selectionKeyPressed) {\n this._yearSelected({ value: this._dateAdapter.getYear(this._activeDate), event });\n }\n this._selectionKeyPressed = false;\n }\n }\n _getActiveCell() {\n return getActiveOffset(this._dateAdapter, this.activeDate, this.minDate, this.maxDate);\n }\n /** Focuses the active cell after the microtask queue is empty. */\n _focusActiveCell() {\n this._matCalendarBody._focusActiveCell();\n }\n /** Focuses the active cell after change detection has run and the microtask queue is empty. */\n _focusActiveCellAfterViewChecked() {\n this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked();\n }\n /**\n * Takes a year and returns a new date on the same day and month as the currently active date\n * The returned date will have the same year as the argument date.\n */\n _getDateFromYear(year) {\n const activeMonth = this._dateAdapter.getMonth(this.activeDate);\n const daysInMonth = this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(year, activeMonth, 1));\n const normalizedDate = this._dateAdapter.createDate(year, activeMonth, Math.min(this._dateAdapter.getDate(this.activeDate), daysInMonth));\n return normalizedDate;\n }\n /** Creates an MatCalendarCell for the given year. */\n _createCellForYear(year) {\n const date = this._dateAdapter.createDate(year, 0, 1);\n const yearName = this._dateAdapter.getYearName(date);\n const cellClasses = this.dateClass ? this.dateClass(date, 'multi-year') : undefined;\n return new MatCalendarCell(year, yearName, yearName, this._shouldEnableYear(year), cellClasses);\n }\n /** Whether the given year is enabled. */\n _shouldEnableYear(year) {\n // disable if the year is greater than maxDate lower than minDate\n if (year === undefined ||\n year === null ||\n (this.maxDate && year > this._dateAdapter.getYear(this.maxDate)) ||\n (this.minDate && year < this._dateAdapter.getYear(this.minDate))) {\n return false;\n }\n // enable if it reaches here and there's no filter defined\n if (!this.dateFilter) {\n return true;\n }\n const firstOfYear = this._dateAdapter.createDate(year, 0, 1);\n // If any date in the year is enabled count the year as enabled.\n for (let date = firstOfYear; this._dateAdapter.getYear(date) == year; date = this._dateAdapter.addCalendarDays(date, 1)) {\n if (this.dateFilter(date)) {\n return true;\n }\n }\n return false;\n }\n /** Determines whether the user has the RTL layout direction. */\n _isRtl() {\n return this._dir && this._dir.value === 'rtl';\n }\n /** Sets the currently-highlighted year based on a model value. */\n _setSelectedYear(value) {\n this._selectedYear = null;\n if (value instanceof DateRange) {\n const displayValue = value.start || value.end;\n if (displayValue) {\n this._selectedYear = this._dateAdapter.getYear(displayValue);\n }\n }\n else if (value) {\n this._selectedYear = this._dateAdapter.getYear(value);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMultiYearView, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DateAdapter, optional: true }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatMultiYearView, isStandalone: true, selector: \"mat-multi-year-view\", inputs: { activeDate: \"activeDate\", selected: \"selected\", minDate: \"minDate\", maxDate: \"maxDate\", dateFilter: \"dateFilter\", dateClass: \"dateClass\" }, outputs: { selectedChange: \"selectedChange\", yearSelected: \"yearSelected\", activeDateChange: \"activeDateChange\" }, viewQueries: [{ propertyName: \"_matCalendarBody\", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: [\"matMultiYearView\"], ngImport: i0, template: \"\\n \\n \\n \\n \\n \\n
\\n\", dependencies: [{ kind: \"component\", type: MatCalendarBody, selector: \"[mat-calendar-body]\", inputs: [\"label\", \"rows\", \"todayValue\", \"startValue\", \"endValue\", \"labelMinRequiredCells\", \"numCols\", \"activeCell\", \"isRange\", \"cellAspectRatio\", \"comparisonStart\", \"comparisonEnd\", \"previewStart\", \"previewEnd\", \"startDateAccessibleName\", \"endDateAccessibleName\"], outputs: [\"selectedValueChange\", \"previewChange\", \"activeDateChange\", \"dragStarted\", \"dragEnded\"], exportAs: [\"matCalendarBody\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatMultiYearView, decorators: [{\n type: Component,\n args: [{ selector: 'mat-multi-year-view', exportAs: 'matMultiYearView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatCalendarBody], template: \"\\n \\n \\n \\n \\n \\n
\\n\" }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }], propDecorators: { activeDate: [{\n type: Input\n }], selected: [{\n type: Input\n }], minDate: [{\n type: Input\n }], maxDate: [{\n type: Input\n }], dateFilter: [{\n type: Input\n }], dateClass: [{\n type: Input\n }], selectedChange: [{\n type: Output\n }], yearSelected: [{\n type: Output\n }], activeDateChange: [{\n type: Output\n }], _matCalendarBody: [{\n type: ViewChild,\n args: [MatCalendarBody]\n }] } });\nfunction isSameMultiYearView(dateAdapter, date1, date2, minDate, maxDate) {\n const year1 = dateAdapter.getYear(date1);\n const year2 = dateAdapter.getYear(date2);\n const startingYear = getStartingYear(dateAdapter, minDate, maxDate);\n return (Math.floor((year1 - startingYear) / yearsPerPage) ===\n Math.floor((year2 - startingYear) / yearsPerPage));\n}\n/**\n * When the multi-year view is first opened, the active year will be in view.\n * So we compute how many years are between the active year and the *slot* where our\n * \"startingYear\" will render when paged into view.\n */\nfunction getActiveOffset(dateAdapter, activeDate, minDate, maxDate) {\n const activeYear = dateAdapter.getYear(activeDate);\n return euclideanModulo(activeYear - getStartingYear(dateAdapter, minDate, maxDate), yearsPerPage);\n}\n/**\n * We pick a \"starting\" year such that either the maximum year would be at the end\n * or the minimum year would be at the beginning of a page.\n */\nfunction getStartingYear(dateAdapter, minDate, maxDate) {\n let startingYear = 0;\n if (maxDate) {\n const maxYear = dateAdapter.getYear(maxDate);\n startingYear = maxYear - yearsPerPage + 1;\n }\n else if (minDate) {\n startingYear = dateAdapter.getYear(minDate);\n }\n return startingYear;\n}\n/** Gets remainder that is non-negative, even if first number is negative */\nfunction euclideanModulo(a, b) {\n return ((a % b) + b) % b;\n}\n\n/**\n * An internal component used to display a single year in the datepicker.\n * @docs-private\n */\nclass MatYearView {\n /** The date to display in this year view (everything other than the year is ignored). */\n get activeDate() {\n return this._activeDate;\n }\n set activeDate(value) {\n let oldActiveDate = this._activeDate;\n const validDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value)) ||\n this._dateAdapter.today();\n this._activeDate = this._dateAdapter.clampDate(validDate, this.minDate, this.maxDate);\n if (this._dateAdapter.getYear(oldActiveDate) !== this._dateAdapter.getYear(this._activeDate)) {\n this._init();\n }\n }\n /** The currently selected date. */\n get selected() {\n return this._selected;\n }\n set selected(value) {\n if (value instanceof DateRange) {\n this._selected = value;\n }\n else {\n this._selected = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n this._setSelectedMonth(value);\n }\n /** The minimum selectable date. */\n get minDate() {\n return this._minDate;\n }\n set minDate(value) {\n this._minDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n /** The maximum selectable date. */\n get maxDate() {\n return this._maxDate;\n }\n set maxDate(value) {\n this._maxDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n constructor(_changeDetectorRef, _dateFormats, _dateAdapter, _dir) {\n this._changeDetectorRef = _changeDetectorRef;\n this._dateFormats = _dateFormats;\n this._dateAdapter = _dateAdapter;\n this._dir = _dir;\n this._rerenderSubscription = Subscription.EMPTY;\n /** Emits when a new month is selected. */\n this.selectedChange = new EventEmitter();\n /** Emits the selected month. This doesn't imply a change on the selected date */\n this.monthSelected = new EventEmitter();\n /** Emits when any date is activated. */\n this.activeDateChange = new EventEmitter();\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._dateAdapter) {\n throw createMissingDateImplError('DateAdapter');\n }\n if (!this._dateFormats) {\n throw createMissingDateImplError('MAT_DATE_FORMATS');\n }\n }\n this._activeDate = this._dateAdapter.today();\n }\n ngAfterContentInit() {\n this._rerenderSubscription = this._dateAdapter.localeChanges\n .pipe(startWith(null))\n .subscribe(() => this._init());\n }\n ngOnDestroy() {\n this._rerenderSubscription.unsubscribe();\n }\n /** Handles when a new month is selected. */\n _monthSelected(event) {\n const month = event.value;\n const selectedMonth = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1);\n this.monthSelected.emit(selectedMonth);\n const selectedDate = this._getDateFromMonth(month);\n this.selectedChange.emit(selectedDate);\n }\n /**\n * Takes the index of a calendar body cell wrapped in an event as argument. For the date that\n * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with\n * that date.\n *\n * This function is used to match each component's model of the active date with the calendar\n * body cell that was focused. It updates its value of `activeDate` synchronously and updates the\n * parent's value asynchronously via the `activeDateChange` event. The child component receives an\n * updated value asynchronously via the `activeCell` Input.\n */\n _updateActiveDate(event) {\n const month = event.value;\n const oldActiveDate = this._activeDate;\n this.activeDate = this._getDateFromMonth(month);\n if (this._dateAdapter.compareDate(oldActiveDate, this.activeDate)) {\n this.activeDateChange.emit(this.activeDate);\n }\n }\n /** Handles keydown events on the calendar body when calendar is in year view. */\n _handleCalendarBodyKeydown(event) {\n // TODO(mmalerba): We currently allow keyboard navigation to disabled dates, but just prevent\n // disabled ones from being selected. This may not be ideal, we should look into whether\n // navigation should skip over disabled dates, and if so, how to implement that efficiently.\n const oldActiveDate = this._activeDate;\n const isRtl = this._isRtl();\n switch (event.keyCode) {\n case LEFT_ARROW:\n this.activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, isRtl ? 1 : -1);\n break;\n case RIGHT_ARROW:\n this.activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, isRtl ? -1 : 1);\n break;\n case UP_ARROW:\n this.activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, -4);\n break;\n case DOWN_ARROW:\n this.activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, 4);\n break;\n case HOME:\n this.activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, -this._dateAdapter.getMonth(this._activeDate));\n break;\n case END:\n this.activeDate = this._dateAdapter.addCalendarMonths(this._activeDate, 11 - this._dateAdapter.getMonth(this._activeDate));\n break;\n case PAGE_UP:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, event.altKey ? -10 : -1);\n break;\n case PAGE_DOWN:\n this.activeDate = this._dateAdapter.addCalendarYears(this._activeDate, event.altKey ? 10 : 1);\n break;\n case ENTER:\n case SPACE:\n // Note that we only prevent the default action here while the selection happens in\n // `keyup` below. We can't do the selection here, because it can cause the calendar to\n // reopen if focus is restored immediately. We also can't call `preventDefault` on `keyup`\n // because it's too late (see #23305).\n this._selectionKeyPressed = true;\n break;\n default:\n // Don't prevent default or focus active cell on keys that we don't explicitly handle.\n return;\n }\n if (this._dateAdapter.compareDate(oldActiveDate, this.activeDate)) {\n this.activeDateChange.emit(this.activeDate);\n this._focusActiveCellAfterViewChecked();\n }\n // Prevent unexpected default actions such as form submission.\n event.preventDefault();\n }\n /** Handles keyup events on the calendar body when calendar is in year view. */\n _handleCalendarBodyKeyup(event) {\n if (event.keyCode === SPACE || event.keyCode === ENTER) {\n if (this._selectionKeyPressed) {\n this._monthSelected({ value: this._dateAdapter.getMonth(this._activeDate), event });\n }\n this._selectionKeyPressed = false;\n }\n }\n /** Initializes this year view. */\n _init() {\n this._setSelectedMonth(this.selected);\n this._todayMonth = this._getMonthInCurrentYear(this._dateAdapter.today());\n this._yearLabel = this._dateAdapter.getYearName(this.activeDate);\n let monthNames = this._dateAdapter.getMonthNames('short');\n // First row of months only contains 5 elements so we can fit the year label on the same row.\n this._months = [\n [0, 1, 2, 3],\n [4, 5, 6, 7],\n [8, 9, 10, 11],\n ].map(row => row.map(month => this._createCellForMonth(month, monthNames[month])));\n this._changeDetectorRef.markForCheck();\n }\n /** Focuses the active cell after the microtask queue is empty. */\n _focusActiveCell() {\n this._matCalendarBody._focusActiveCell();\n }\n /** Schedules the matCalendarBody to focus the active cell after change detection has run */\n _focusActiveCellAfterViewChecked() {\n this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked();\n }\n /**\n * Gets the month in this year that the given Date falls on.\n * Returns null if the given Date is in another year.\n */\n _getMonthInCurrentYear(date) {\n return date && this._dateAdapter.getYear(date) == this._dateAdapter.getYear(this.activeDate)\n ? this._dateAdapter.getMonth(date)\n : null;\n }\n /**\n * Takes a month and returns a new date in the same day and year as the currently active date.\n * The returned date will have the same month as the argument date.\n */\n _getDateFromMonth(month) {\n const normalizedDate = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1);\n const daysInMonth = this._dateAdapter.getNumDaysInMonth(normalizedDate);\n return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, Math.min(this._dateAdapter.getDate(this.activeDate), daysInMonth));\n }\n /** Creates an MatCalendarCell for the given month. */\n _createCellForMonth(month, monthName) {\n const date = this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate), month, 1);\n const ariaLabel = this._dateAdapter.format(date, this._dateFormats.display.monthYearA11yLabel);\n const cellClasses = this.dateClass ? this.dateClass(date, 'year') : undefined;\n return new MatCalendarCell(month, monthName.toLocaleUpperCase(), ariaLabel, this._shouldEnableMonth(month), cellClasses);\n }\n /** Whether the given month is enabled. */\n _shouldEnableMonth(month) {\n const activeYear = this._dateAdapter.getYear(this.activeDate);\n if (month === undefined ||\n month === null ||\n this._isYearAndMonthAfterMaxDate(activeYear, month) ||\n this._isYearAndMonthBeforeMinDate(activeYear, month)) {\n return false;\n }\n if (!this.dateFilter) {\n return true;\n }\n const firstOfMonth = this._dateAdapter.createDate(activeYear, month, 1);\n // If any date in the month is enabled count the month as enabled.\n for (let date = firstOfMonth; this._dateAdapter.getMonth(date) == month; date = this._dateAdapter.addCalendarDays(date, 1)) {\n if (this.dateFilter(date)) {\n return true;\n }\n }\n return false;\n }\n /**\n * Tests whether the combination month/year is after this.maxDate, considering\n * just the month and year of this.maxDate\n */\n _isYearAndMonthAfterMaxDate(year, month) {\n if (this.maxDate) {\n const maxYear = this._dateAdapter.getYear(this.maxDate);\n const maxMonth = this._dateAdapter.getMonth(this.maxDate);\n return year > maxYear || (year === maxYear && month > maxMonth);\n }\n return false;\n }\n /**\n * Tests whether the combination month/year is before this.minDate, considering\n * just the month and year of this.minDate\n */\n _isYearAndMonthBeforeMinDate(year, month) {\n if (this.minDate) {\n const minYear = this._dateAdapter.getYear(this.minDate);\n const minMonth = this._dateAdapter.getMonth(this.minDate);\n return year < minYear || (year === minYear && month < minMonth);\n }\n return false;\n }\n /** Determines whether the user has the RTL layout direction. */\n _isRtl() {\n return this._dir && this._dir.value === 'rtl';\n }\n /** Sets the currently-selected month based on a model value. */\n _setSelectedMonth(value) {\n if (value instanceof DateRange) {\n this._selectedMonth =\n this._getMonthInCurrentYear(value.start) || this._getMonthInCurrentYear(value.end);\n }\n else {\n this._selectedMonth = this._getMonthInCurrentYear(value);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatYearView, deps: [{ token: i0.ChangeDetectorRef }, { token: MAT_DATE_FORMATS, optional: true }, { token: i1.DateAdapter, optional: true }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatYearView, isStandalone: true, selector: \"mat-year-view\", inputs: { activeDate: \"activeDate\", selected: \"selected\", minDate: \"minDate\", maxDate: \"maxDate\", dateFilter: \"dateFilter\", dateClass: \"dateClass\" }, outputs: { selectedChange: \"selectedChange\", monthSelected: \"monthSelected\", activeDateChange: \"activeDateChange\" }, viewQueries: [{ propertyName: \"_matCalendarBody\", first: true, predicate: MatCalendarBody, descendants: true }], exportAs: [\"matYearView\"], ngImport: i0, template: \"\\n \\n \\n \\n \\n \\n
\\n\", dependencies: [{ kind: \"component\", type: MatCalendarBody, selector: \"[mat-calendar-body]\", inputs: [\"label\", \"rows\", \"todayValue\", \"startValue\", \"endValue\", \"labelMinRequiredCells\", \"numCols\", \"activeCell\", \"isRange\", \"cellAspectRatio\", \"comparisonStart\", \"comparisonEnd\", \"previewStart\", \"previewEnd\", \"startDateAccessibleName\", \"endDateAccessibleName\"], outputs: [\"selectedValueChange\", \"previewChange\", \"activeDateChange\", \"dragStarted\", \"dragEnded\"], exportAs: [\"matCalendarBody\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatYearView, decorators: [{\n type: Component,\n args: [{ selector: 'mat-year-view', exportAs: 'matYearView', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatCalendarBody], template: \"\\n \\n \\n \\n \\n \\n
\\n\" }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DATE_FORMATS]\n }] }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }], propDecorators: { activeDate: [{\n type: Input\n }], selected: [{\n type: Input\n }], minDate: [{\n type: Input\n }], maxDate: [{\n type: Input\n }], dateFilter: [{\n type: Input\n }], dateClass: [{\n type: Input\n }], selectedChange: [{\n type: Output\n }], monthSelected: [{\n type: Output\n }], activeDateChange: [{\n type: Output\n }], _matCalendarBody: [{\n type: ViewChild,\n args: [MatCalendarBody]\n }] } });\n\nlet calendarHeaderId = 1;\n/** Default header for MatCalendar */\nclass MatCalendarHeader {\n constructor(_intl, calendar, _dateAdapter, _dateFormats, changeDetectorRef) {\n this._intl = _intl;\n this.calendar = calendar;\n this._dateAdapter = _dateAdapter;\n this._dateFormats = _dateFormats;\n this._id = `mat-calendar-header-${calendarHeaderId++}`;\n this._periodButtonLabelId = `${this._id}-period-label`;\n this.calendar.stateChanges.subscribe(() => changeDetectorRef.markForCheck());\n }\n /** The display text for the current calendar view. */\n get periodButtonText() {\n if (this.calendar.currentView == 'month') {\n return this._dateAdapter\n .format(this.calendar.activeDate, this._dateFormats.display.monthYearLabel)\n .toLocaleUpperCase();\n }\n if (this.calendar.currentView == 'year') {\n return this._dateAdapter.getYearName(this.calendar.activeDate);\n }\n return this._intl.formatYearRange(...this._formatMinAndMaxYearLabels());\n }\n /** The aria description for the current calendar view. */\n get periodButtonDescription() {\n if (this.calendar.currentView == 'month') {\n return this._dateAdapter\n .format(this.calendar.activeDate, this._dateFormats.display.monthYearLabel)\n .toLocaleUpperCase();\n }\n if (this.calendar.currentView == 'year') {\n return this._dateAdapter.getYearName(this.calendar.activeDate);\n }\n // Format a label for the window of years displayed in the multi-year calendar view. Use\n // `formatYearRangeLabel` because it is TTS friendly.\n return this._intl.formatYearRangeLabel(...this._formatMinAndMaxYearLabels());\n }\n /** The `aria-label` for changing the calendar view. */\n get periodButtonLabel() {\n return this.calendar.currentView == 'month'\n ? this._intl.switchToMultiYearViewLabel\n : this._intl.switchToMonthViewLabel;\n }\n /** The label for the previous button. */\n get prevButtonLabel() {\n return {\n 'month': this._intl.prevMonthLabel,\n 'year': this._intl.prevYearLabel,\n 'multi-year': this._intl.prevMultiYearLabel,\n }[this.calendar.currentView];\n }\n /** The label for the next button. */\n get nextButtonLabel() {\n return {\n 'month': this._intl.nextMonthLabel,\n 'year': this._intl.nextYearLabel,\n 'multi-year': this._intl.nextMultiYearLabel,\n }[this.calendar.currentView];\n }\n /** Handles user clicks on the period label. */\n currentPeriodClicked() {\n this.calendar.currentView = this.calendar.currentView == 'month' ? 'multi-year' : 'month';\n }\n /** Handles user clicks on the previous button. */\n previousClicked() {\n this.calendar.activeDate =\n this.calendar.currentView == 'month'\n ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, -1)\n : this._dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage);\n }\n /** Handles user clicks on the next button. */\n nextClicked() {\n this.calendar.activeDate =\n this.calendar.currentView == 'month'\n ? this._dateAdapter.addCalendarMonths(this.calendar.activeDate, 1)\n : this._dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage);\n }\n /** Whether the previous period button is enabled. */\n previousEnabled() {\n if (!this.calendar.minDate) {\n return true;\n }\n return (!this.calendar.minDate || !this._isSameView(this.calendar.activeDate, this.calendar.minDate));\n }\n /** Whether the next period button is enabled. */\n nextEnabled() {\n return (!this.calendar.maxDate || !this._isSameView(this.calendar.activeDate, this.calendar.maxDate));\n }\n /** Whether the two dates represent the same view in the current view mode (month or year). */\n _isSameView(date1, date2) {\n if (this.calendar.currentView == 'month') {\n return (this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2) &&\n this._dateAdapter.getMonth(date1) == this._dateAdapter.getMonth(date2));\n }\n if (this.calendar.currentView == 'year') {\n return this._dateAdapter.getYear(date1) == this._dateAdapter.getYear(date2);\n }\n // Otherwise we are in 'multi-year' view.\n return isSameMultiYearView(this._dateAdapter, date1, date2, this.calendar.minDate, this.calendar.maxDate);\n }\n /**\n * Format two individual labels for the minimum year and maximum year available in the multi-year\n * calendar view. Returns an array of two strings where the first string is the formatted label\n * for the minimum year, and the second string is the formatted label for the maximum year.\n */\n _formatMinAndMaxYearLabels() {\n // The offset from the active year to the \"slot\" for the starting year is the\n // *actual* first rendered year in the multi-year view, and the last year is\n // just yearsPerPage - 1 away.\n const activeYear = this._dateAdapter.getYear(this.calendar.activeDate);\n const minYearOfPage = activeYear -\n getActiveOffset(this._dateAdapter, this.calendar.activeDate, this.calendar.minDate, this.calendar.maxDate);\n const maxYearOfPage = minYearOfPage + yearsPerPage - 1;\n const minYearLabel = this._dateAdapter.getYearName(this._dateAdapter.createDate(minYearOfPage, 0, 1));\n const maxYearLabel = this._dateAdapter.getYearName(this._dateAdapter.createDate(maxYearOfPage, 0, 1));\n return [minYearLabel, maxYearLabel];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatCalendarHeader, deps: [{ token: MatDatepickerIntl }, { token: forwardRef(() => MatCalendar) }, { token: i1.DateAdapter, optional: true }, { token: MAT_DATE_FORMATS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatCalendarHeader, isStandalone: true, selector: \"mat-calendar-header\", exportAs: [\"matCalendarHeader\"], ngImport: i0, template: \"
\\n
\\n \\n \\n \\n\\n
\\n\\n \\n\\n \\n\\n \\n
\\n
\\n\", dependencies: [{ kind: \"component\", type: MatButton, selector: \" button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] \", exportAs: [\"matButton\"] }, { kind: \"component\", type: MatIconButton, selector: \"button[mat-icon-button]\", exportAs: [\"matButton\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatCalendarHeader, decorators: [{\n type: Component,\n args: [{ selector: 'mat-calendar-header', exportAs: 'matCalendarHeader', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButton, MatIconButton], template: \"
\\n
\\n \\n \\n \\n\\n
\\n\\n \\n\\n \\n\\n \\n
\\n
\\n\" }]\n }], ctorParameters: () => [{ type: MatDatepickerIntl }, { type: MatCalendar, decorators: [{\n type: Inject,\n args: [forwardRef(() => MatCalendar)]\n }] }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DATE_FORMATS]\n }] }, { type: i0.ChangeDetectorRef }] });\n/** A calendar that is used as part of the datepicker. */\nclass MatCalendar {\n /** A date representing the period (month or year) to start the calendar in. */\n get startAt() {\n return this._startAt;\n }\n set startAt(value) {\n this._startAt = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n /** The currently selected date. */\n get selected() {\n return this._selected;\n }\n set selected(value) {\n if (value instanceof DateRange) {\n this._selected = value;\n }\n else {\n this._selected = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n }\n /** The minimum selectable date. */\n get minDate() {\n return this._minDate;\n }\n set minDate(value) {\n this._minDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n /** The maximum selectable date. */\n get maxDate() {\n return this._maxDate;\n }\n set maxDate(value) {\n this._maxDate = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n /**\n * The current active date. This determines which time period is shown and which date is\n * highlighted when using keyboard navigation.\n */\n get activeDate() {\n return this._clampedActiveDate;\n }\n set activeDate(value) {\n this._clampedActiveDate = this._dateAdapter.clampDate(value, this.minDate, this.maxDate);\n this.stateChanges.next();\n this._changeDetectorRef.markForCheck();\n }\n /** Whether the calendar is in month view. */\n get currentView() {\n return this._currentView;\n }\n set currentView(value) {\n const viewChangedResult = this._currentView !== value ? value : null;\n this._currentView = value;\n this._moveFocusOnNextTick = true;\n this._changeDetectorRef.markForCheck();\n if (viewChangedResult) {\n this.viewChanged.emit(viewChangedResult);\n }\n }\n constructor(_intl, _dateAdapter, _dateFormats, _changeDetectorRef) {\n this._dateAdapter = _dateAdapter;\n this._dateFormats = _dateFormats;\n this._changeDetectorRef = _changeDetectorRef;\n /**\n * Used for scheduling that focus should be moved to the active cell on the next tick.\n * We need to schedule it, rather than do it immediately, because we have to wait\n * for Angular to re-evaluate the view children.\n */\n this._moveFocusOnNextTick = false;\n /** Whether the calendar should be started in month or year view. */\n this.startView = 'month';\n /** Emits when the currently selected date changes. */\n this.selectedChange = new EventEmitter();\n /**\n * Emits the year chosen in multiyear view.\n * This doesn't imply a change on the selected date.\n */\n this.yearSelected = new EventEmitter();\n /**\n * Emits the month chosen in year view.\n * This doesn't imply a change on the selected date.\n */\n this.monthSelected = new EventEmitter();\n /**\n * Emits when the current view changes.\n */\n this.viewChanged = new EventEmitter(true);\n /** Emits when any date is selected. */\n this._userSelection = new EventEmitter();\n /** Emits a new date range value when the user completes a drag drop operation. */\n this._userDragDrop = new EventEmitter();\n /** Origin of active drag, or null when dragging is not active. */\n this._activeDrag = null;\n /**\n * Emits whenever there is a state change that the header may need to respond to.\n */\n this.stateChanges = new Subject();\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._dateAdapter) {\n throw createMissingDateImplError('DateAdapter');\n }\n if (!this._dateFormats) {\n throw createMissingDateImplError('MAT_DATE_FORMATS');\n }\n }\n this._intlChanges = _intl.changes.subscribe(() => {\n _changeDetectorRef.markForCheck();\n this.stateChanges.next();\n });\n }\n ngAfterContentInit() {\n this._calendarHeaderPortal = new ComponentPortal(this.headerComponent || MatCalendarHeader);\n this.activeDate = this.startAt || this._dateAdapter.today();\n // Assign to the private property since we don't want to move focus on init.\n this._currentView = this.startView;\n }\n ngAfterViewChecked() {\n if (this._moveFocusOnNextTick) {\n this._moveFocusOnNextTick = false;\n this.focusActiveCell();\n }\n }\n ngOnDestroy() {\n this._intlChanges.unsubscribe();\n this.stateChanges.complete();\n }\n ngOnChanges(changes) {\n // Ignore date changes that are at a different time on the same day. This fixes issues where\n // the calendar re-renders when there is no meaningful change to [minDate] or [maxDate]\n // (#24435).\n const minDateChange = changes['minDate'] &&\n !this._dateAdapter.sameDate(changes['minDate'].previousValue, changes['minDate'].currentValue)\n ? changes['minDate']\n : undefined;\n const maxDateChange = changes['maxDate'] &&\n !this._dateAdapter.sameDate(changes['maxDate'].previousValue, changes['maxDate'].currentValue)\n ? changes['maxDate']\n : undefined;\n const change = minDateChange || maxDateChange || changes['dateFilter'];\n if (change && !change.firstChange) {\n const view = this._getCurrentViewComponent();\n if (view) {\n // We need to `detectChanges` manually here, because the `minDate`, `maxDate` etc. are\n // passed down to the view via data bindings which won't be up-to-date when we call `_init`.\n this._changeDetectorRef.detectChanges();\n view._init();\n }\n }\n this.stateChanges.next();\n }\n /** Focuses the active date. */\n focusActiveCell() {\n this._getCurrentViewComponent()._focusActiveCell(false);\n }\n /** Updates today's date after an update of the active date */\n updateTodaysDate() {\n this._getCurrentViewComponent()._init();\n }\n /** Handles date selection in the month view. */\n _dateSelected(event) {\n const date = event.value;\n if (this.selected instanceof DateRange ||\n (date && !this._dateAdapter.sameDate(date, this.selected))) {\n this.selectedChange.emit(date);\n }\n this._userSelection.emit(event);\n }\n /** Handles year selection in the multiyear view. */\n _yearSelectedInMultiYearView(normalizedYear) {\n this.yearSelected.emit(normalizedYear);\n }\n /** Handles month selection in the year view. */\n _monthSelectedInYearView(normalizedMonth) {\n this.monthSelected.emit(normalizedMonth);\n }\n /** Handles year/month selection in the multi-year/year views. */\n _goToDateInView(date, view) {\n this.activeDate = date;\n this.currentView = view;\n }\n /** Called when the user starts dragging to change a date range. */\n _dragStarted(event) {\n this._activeDrag = event;\n }\n /**\n * Called when a drag completes. It may end in cancelation or in the selection\n * of a new range.\n */\n _dragEnded(event) {\n if (!this._activeDrag)\n return;\n if (event.value) {\n this._userDragDrop.emit(event);\n }\n this._activeDrag = null;\n }\n /** Returns the component instance that corresponds to the current calendar view. */\n _getCurrentViewComponent() {\n // The return type is explicitly written as a union to ensure that the Closure compiler does\n // not optimize calls to _init(). Without the explicit return type, TypeScript narrows it to\n // only the first component type. See https://github.com/angular/components/issues/22996.\n return this.monthView || this.yearView || this.multiYearView;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatCalendar, deps: [{ token: MatDatepickerIntl }, { token: i1.DateAdapter, optional: true }, { token: MAT_DATE_FORMATS, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"17.2.0\", type: MatCalendar, isStandalone: true, selector: \"mat-calendar\", inputs: { headerComponent: \"headerComponent\", startAt: \"startAt\", startView: \"startView\", selected: \"selected\", minDate: \"minDate\", maxDate: \"maxDate\", dateFilter: \"dateFilter\", dateClass: \"dateClass\", comparisonStart: \"comparisonStart\", comparisonEnd: \"comparisonEnd\", startDateAccessibleName: \"startDateAccessibleName\", endDateAccessibleName: \"endDateAccessibleName\" }, outputs: { selectedChange: \"selectedChange\", yearSelected: \"yearSelected\", monthSelected: \"monthSelected\", viewChanged: \"viewChanged\", _userSelection: \"_userSelection\", _userDragDrop: \"_userDragDrop\" }, host: { classAttribute: \"mat-calendar\" }, providers: [MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER], viewQueries: [{ propertyName: \"monthView\", first: true, predicate: MatMonthView, descendants: true }, { propertyName: \"yearView\", first: true, predicate: MatYearView, descendants: true }, { propertyName: \"multiYearView\", first: true, predicate: MatMultiYearView, descendants: true }], exportAs: [\"matCalendar\"], usesOnChanges: true, ngImport: i0, template: \"\\n\\n
\\n @switch (currentView) {\\n @case ('month') {\\n \\n }\\n\\n @case ('year') {\\n \\n }\\n\\n @case ('multi-year') {\\n \\n }\\n }\\n
\\n\", styles: [\".mat-calendar{display:block;font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;align-items:center;margin:5% calc(4.7142857143% - 16px)}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0;margin:0 8px;font-size:var(--mat-datepicker-calendar-period-button-text-size);font-weight:var(--mat-datepicker-calendar-period-button-text-weight);--mdc-text-button-label-text-color:var(--mat-datepicker-calendar-period-button-text-color)}.mat-calendar-arrow{display:inline-block;width:10px;height:5px;margin:0 0 0 5px;vertical-align:middle;fill:var(--mat-datepicker-calendar-period-button-icon-color)}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.cdk-high-contrast-active .mat-calendar-arrow{fill:CanvasText}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-datepicker-content .mat-calendar-previous-button:not(.mat-mdc-button-disabled),.mat-datepicker-content .mat-calendar-next-button:not(.mat-mdc-button-disabled){color:var(--mat-datepicker-calendar-navigation-button-icon-color)}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:\\\"\\\";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0;color:var(--mat-datepicker-calendar-header-text-color);font-size:var(--mat-datepicker-calendar-header-text-size);font-weight:var(--mat-datepicker-calendar-header-text-weight)}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:\\\"\\\";position:absolute;top:0;left:-8px;right:-8px;height:1px;background:var(--mat-datepicker-calendar-header-divider-color)}.mat-calendar-body-cell-content::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)}.mat-calendar-body-cell:focus .mat-focus-indicator::before{content:\\\"\\\"}\"], dependencies: [{ kind: \"directive\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: [\"cdkPortalOutlet\"], outputs: [\"attached\"], exportAs: [\"cdkPortalOutlet\"] }, { kind: \"directive\", type: CdkMonitorFocus, selector: \"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]\", outputs: [\"cdkFocusChange\"], exportAs: [\"cdkMonitorFocus\"] }, { kind: \"component\", type: MatMonthView, selector: \"mat-month-view\", inputs: [\"activeDate\", \"selected\", \"minDate\", \"maxDate\", \"dateFilter\", \"dateClass\", \"comparisonStart\", \"comparisonEnd\", \"startDateAccessibleName\", \"endDateAccessibleName\", \"activeDrag\"], outputs: [\"selectedChange\", \"_userSelection\", \"dragStarted\", \"dragEnded\", \"activeDateChange\"], exportAs: [\"matMonthView\"] }, { kind: \"component\", type: MatYearView, selector: \"mat-year-view\", inputs: [\"activeDate\", \"selected\", \"minDate\", \"maxDate\", \"dateFilter\", \"dateClass\"], outputs: [\"selectedChange\", \"monthSelected\", \"activeDateChange\"], exportAs: [\"matYearView\"] }, { kind: \"component\", type: MatMultiYearView, selector: \"mat-multi-year-view\", inputs: [\"activeDate\", \"selected\", \"minDate\", \"maxDate\", \"dateFilter\", \"dateClass\"], outputs: [\"selectedChange\", \"yearSelected\", \"activeDateChange\"], exportAs: [\"matMultiYearView\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatCalendar, decorators: [{\n type: Component,\n args: [{ selector: 'mat-calendar', host: {\n 'class': 'mat-calendar',\n }, exportAs: 'matCalendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER], standalone: true, imports: [CdkPortalOutlet, CdkMonitorFocus, MatMonthView, MatYearView, MatMultiYearView], template: \"\\n\\n
\\n @switch (currentView) {\\n @case ('month') {\\n \\n }\\n\\n @case ('year') {\\n \\n }\\n\\n @case ('multi-year') {\\n \\n }\\n }\\n
\\n\", styles: [\".mat-calendar{display:block;font-family:var(--mat-datepicker-calendar-text-font);font-size:var(--mat-datepicker-calendar-text-size)}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;align-items:center;margin:5% calc(4.7142857143% - 16px)}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0;margin:0 8px;font-size:var(--mat-datepicker-calendar-period-button-text-size);font-weight:var(--mat-datepicker-calendar-period-button-text-weight);--mdc-text-button-label-text-color:var(--mat-datepicker-calendar-period-button-text-color)}.mat-calendar-arrow{display:inline-block;width:10px;height:5px;margin:0 0 0 5px;vertical-align:middle;fill:var(--mat-datepicker-calendar-period-button-icon-color)}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}.cdk-high-contrast-active .mat-calendar-arrow{fill:CanvasText}.mat-calendar-previous-button,.mat-calendar-next-button{position:relative}.mat-datepicker-content .mat-calendar-previous-button:not(.mat-mdc-button-disabled),.mat-datepicker-content .mat-calendar-next-button:not(.mat-mdc-button-disabled){color:var(--mat-datepicker-calendar-navigation-button-icon-color)}.mat-calendar-previous-button::after,.mat-calendar-next-button::after{top:0;left:0;right:0;bottom:0;position:absolute;content:\\\"\\\";margin:15.5px;border:0 solid currentColor;border-top-width:2px}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-previous-button::after{border-left-width:2px;transform:translateX(2px) rotate(-45deg)}.mat-calendar-next-button::after{border-right-width:2px;transform:translateX(-2px) rotate(45deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0;color:var(--mat-datepicker-calendar-header-text-color);font-size:var(--mat-datepicker-calendar-header-text-size);font-weight:var(--mat-datepicker-calendar-header-text-weight)}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:\\\"\\\";position:absolute;top:0;left:-8px;right:-8px;height:1px;background:var(--mat-datepicker-calendar-header-divider-color)}.mat-calendar-body-cell-content::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)}.mat-calendar-body-cell:focus .mat-focus-indicator::before{content:\\\"\\\"}\"] }]\n }], ctorParameters: () => [{ type: MatDatepickerIntl }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DATE_FORMATS]\n }] }, { type: i0.ChangeDetectorRef }], propDecorators: { headerComponent: [{\n type: Input\n }], startAt: [{\n type: Input\n }], startView: [{\n type: Input\n }], selected: [{\n type: Input\n }], minDate: [{\n type: Input\n }], maxDate: [{\n type: Input\n }], dateFilter: [{\n type: Input\n }], dateClass: [{\n type: Input\n }], comparisonStart: [{\n type: Input\n }], comparisonEnd: [{\n type: Input\n }], startDateAccessibleName: [{\n type: Input\n }], endDateAccessibleName: [{\n type: Input\n }], selectedChange: [{\n type: Output\n }], yearSelected: [{\n type: Output\n }], monthSelected: [{\n type: Output\n }], viewChanged: [{\n type: Output\n }], _userSelection: [{\n type: Output\n }], _userDragDrop: [{\n type: Output\n }], monthView: [{\n type: ViewChild,\n args: [MatMonthView]\n }], yearView: [{\n type: ViewChild,\n args: [MatYearView]\n }], multiYearView: [{\n type: ViewChild,\n args: [MatMultiYearView]\n }] } });\n\n/**\n * Animations used by the Material datepicker.\n * @docs-private\n */\nconst matDatepickerAnimations = {\n /** Transforms the height of the datepicker's calendar. */\n transformPanel: trigger('transformPanel', [\n transition('void => enter-dropdown', animate('120ms cubic-bezier(0, 0, 0.2, 1)', keyframes([\n style({ opacity: 0, transform: 'scale(1, 0.8)' }),\n style({ opacity: 1, transform: 'scale(1, 1)' }),\n ]))),\n transition('void => enter-dialog', animate('150ms cubic-bezier(0, 0, 0.2, 1)', keyframes([\n style({ opacity: 0, transform: 'scale(0.7)' }),\n style({ transform: 'none', opacity: 1 }),\n ]))),\n transition('* => void', animate('100ms linear', style({ opacity: 0 }))),\n ]),\n /** Fades in the content of the calendar. */\n fadeInCalendar: trigger('fadeInCalendar', [\n state('void', style({ opacity: 0 })),\n state('enter', style({ opacity: 1 })),\n // TODO(crisbeto): this animation should be removed since it isn't quite on spec, but we\n // need to keep it until #12440 gets in, otherwise the exit animation will look glitchy.\n transition('void => *', animate('120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')),\n ]),\n};\n\n/** Used to generate a unique ID for each datepicker instance. */\nlet datepickerUid = 0;\n/** Injection token that determines the scroll handling while the calendar is open. */\nconst MAT_DATEPICKER_SCROLL_STRATEGY = new InjectionToken('mat-datepicker-scroll-strategy', {\n providedIn: 'root',\n factory: () => {\n const overlay = inject(Overlay);\n return () => overlay.scrollStrategies.reposition();\n },\n});\n/** @docs-private */\nfunction MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MAT_DATEPICKER_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MAT_DATEPICKER_SCROLL_STRATEGY_FACTORY,\n};\n/**\n * Component used as the content for the datepicker overlay. We use this instead of using\n * MatCalendar directly as the content so we can control the initial focus. This also gives us a\n * place to put additional features of the overlay that are not part of the calendar itself in the\n * future. (e.g. confirmation buttons).\n * @docs-private\n */\nclass MatDatepickerContent {\n constructor(_elementRef, _changeDetectorRef, _globalModel, _dateAdapter, _rangeSelectionStrategy, intl) {\n this._elementRef = _elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._globalModel = _globalModel;\n this._dateAdapter = _dateAdapter;\n this._rangeSelectionStrategy = _rangeSelectionStrategy;\n this._subscriptions = new Subscription();\n /** Emits when an animation has finished. */\n this._animationDone = new Subject();\n /** Whether there is an in-progress animation. */\n this._isAnimating = false;\n /** Portal with projected action buttons. */\n this._actionsPortal = null;\n this._closeButtonText = intl.closeCalendarLabel;\n }\n ngOnInit() {\n this._animationState = this.datepicker.touchUi ? 'enter-dialog' : 'enter-dropdown';\n }\n ngAfterViewInit() {\n this._subscriptions.add(this.datepicker.stateChanges.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n }));\n this._calendar.focusActiveCell();\n }\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n this._animationDone.complete();\n }\n _handleUserSelection(event) {\n const selection = this._model.selection;\n const value = event.value;\n const isRange = selection instanceof DateRange;\n // If we're selecting a range and we have a selection strategy, always pass the value through\n // there. Otherwise don't assign null values to the model, unless we're selecting a range.\n // A null value when picking a range means that the user cancelled the selection (e.g. by\n // pressing escape), whereas when selecting a single value it means that the value didn't\n // change. This isn't very intuitive, but it's here for backwards-compatibility.\n if (isRange && this._rangeSelectionStrategy) {\n const newSelection = this._rangeSelectionStrategy.selectionFinished(value, selection, event.event);\n this._model.updateSelection(newSelection, this);\n }\n else if (value &&\n (isRange || !this._dateAdapter.sameDate(value, selection))) {\n this._model.add(value);\n }\n // Delegate closing the overlay to the actions.\n if ((!this._model || this._model.isComplete()) && !this._actionsPortal) {\n this.datepicker.close();\n }\n }\n _handleUserDragDrop(event) {\n this._model.updateSelection(event.value, this);\n }\n _startExitAnimation() {\n this._animationState = 'void';\n this._changeDetectorRef.markForCheck();\n }\n _handleAnimationEvent(event) {\n this._isAnimating = event.phaseName === 'start';\n if (!this._isAnimating) {\n this._animationDone.next();\n }\n }\n _getSelected() {\n return this._model.selection;\n }\n /** Applies the current pending selection to the global model. */\n _applyPendingSelection() {\n if (this._model !== this._globalModel) {\n this._globalModel.updateSelection(this._model.selection, this);\n }\n }\n /**\n * Assigns a new portal containing the datepicker actions.\n * @param portal Portal with the actions to be assigned.\n * @param forceRerender Whether a re-render of the portal should be triggered. This isn't\n * necessary if the portal is assigned during initialization, but it may be required if it's\n * added at a later point.\n */\n _assignActions(portal, forceRerender) {\n // If we have actions, clone the model so that we have the ability to cancel the selection,\n // otherwise update the global model directly. Note that we want to assign this as soon as\n // possible, but `_actionsPortal` isn't available in the constructor so we do it in `ngOnInit`.\n this._model = portal ? this._globalModel.clone() : this._globalModel;\n this._actionsPortal = portal;\n if (forceRerender) {\n this._changeDetectorRef.detectChanges();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerContent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MatDateSelectionModel }, { token: i1.DateAdapter }, { token: MAT_DATE_RANGE_SELECTION_STRATEGY, optional: true }, { token: MatDatepickerIntl }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatDatepickerContent, isStandalone: true, selector: \"mat-datepicker-content\", inputs: { color: \"color\" }, host: { listeners: { \"@transformPanel.start\": \"_handleAnimationEvent($event)\", \"@transformPanel.done\": \"_handleAnimationEvent($event)\" }, properties: { \"class\": \"color ? \\\"mat-\\\" + color : \\\"\\\"\", \"@transformPanel\": \"_animationState\", \"class.mat-datepicker-content-touch\": \"datepicker.touchUi\" }, classAttribute: \"mat-datepicker-content\" }, viewQueries: [{ propertyName: \"_calendar\", first: true, predicate: MatCalendar, descendants: true }], exportAs: [\"matDatepickerContent\"], ngImport: i0, template: \"\\n \\n\\n \\n\\n \\n {{ _closeButtonText }}\\n\\n\", styles: [\".mat-datepicker-content{display:block;border-radius:4px;background-color:var(--mat-datepicker-calendar-container-background-color);color:var(--mat-datepicker-calendar-container-text-color);box-shadow:var(--mat-datepicker-calendar-container-elevation-shadow);border-radius:var(--mat-datepicker-calendar-container-shape)}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-content-container-with-custom-header .mat-calendar{height:auto}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;box-shadow:var(--mat-datepicker-calendar-container-touch-elevation-shadow);border-radius:var(--mat-datepicker-calendar-container-touch-shape);position:relative;overflow:visible}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}\"], dependencies: [{ kind: \"directive\", type: CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: [\"cdkTrapFocus\", \"cdkTrapFocusAutoCapture\"], exportAs: [\"cdkTrapFocus\"] }, { kind: \"component\", type: MatCalendar, selector: \"mat-calendar\", inputs: [\"headerComponent\", \"startAt\", \"startView\", \"selected\", \"minDate\", \"maxDate\", \"dateFilter\", \"dateClass\", \"comparisonStart\", \"comparisonEnd\", \"startDateAccessibleName\", \"endDateAccessibleName\"], outputs: [\"selectedChange\", \"yearSelected\", \"monthSelected\", \"viewChanged\", \"_userSelection\", \"_userDragDrop\"], exportAs: [\"matCalendar\"] }, { kind: \"directive\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: [\"cdkPortalOutlet\"], outputs: [\"attached\"], exportAs: [\"cdkPortalOutlet\"] }, { kind: \"component\", type: MatButton, selector: \" button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] \", exportAs: [\"matButton\"] }], animations: [matDatepickerAnimations.transformPanel, matDatepickerAnimations.fadeInCalendar], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerContent, decorators: [{\n type: Component,\n args: [{ selector: 'mat-datepicker-content', host: {\n 'class': 'mat-datepicker-content',\n '[class]': 'color ? \"mat-\" + color : \"\"',\n '[@transformPanel]': '_animationState',\n '(@transformPanel.start)': '_handleAnimationEvent($event)',\n '(@transformPanel.done)': '_handleAnimationEvent($event)',\n '[class.mat-datepicker-content-touch]': 'datepicker.touchUi',\n }, animations: [matDatepickerAnimations.transformPanel, matDatepickerAnimations.fadeInCalendar], exportAs: 'matDatepickerContent', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CdkTrapFocus, MatCalendar, CdkPortalOutlet, MatButton], template: \"\\n \\n\\n \\n\\n \\n {{ _closeButtonText }}\\n\\n\", styles: [\".mat-datepicker-content{display:block;border-radius:4px;background-color:var(--mat-datepicker-calendar-container-background-color);color:var(--mat-datepicker-calendar-container-text-color);box-shadow:var(--mat-datepicker-calendar-container-elevation-shadow);border-radius:var(--mat-datepicker-calendar-container-shape)}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-content-container-with-custom-header .mat-calendar{height:auto}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;box-shadow:var(--mat-datepicker-calendar-container-touch-elevation-shadow);border-radius:var(--mat-datepicker-calendar-container-touch-shape);position:relative;overflow:visible}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}\"] }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: MatDateSelectionModel }, { type: i1.DateAdapter }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DATE_RANGE_SELECTION_STRATEGY]\n }] }, { type: MatDatepickerIntl }], propDecorators: { _calendar: [{\n type: ViewChild,\n args: [MatCalendar]\n }], color: [{\n type: Input\n }] } });\n/** Base class for a datepicker. */\nclass MatDatepickerBase {\n /** The date to open the calendar to initially. */\n get startAt() {\n // If an explicit startAt is set we start there, otherwise we start at whatever the currently\n // selected value is.\n return this._startAt || (this.datepickerInput ? this.datepickerInput.getStartValue() : null);\n }\n set startAt(value) {\n this._startAt = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n }\n /** Color palette to use on the datepicker's calendar. */\n get color() {\n return (this._color || (this.datepickerInput ? this.datepickerInput.getThemePalette() : undefined));\n }\n set color(value) {\n this._color = value;\n }\n /** Whether the datepicker pop-up should be disabled. */\n get disabled() {\n return this._disabled === undefined && this.datepickerInput\n ? this.datepickerInput.disabled\n : !!this._disabled;\n }\n set disabled(value) {\n if (value !== this._disabled) {\n this._disabled = value;\n this.stateChanges.next(undefined);\n }\n }\n /** Classes to be passed to the date picker panel. */\n get panelClass() {\n return this._panelClass;\n }\n set panelClass(value) {\n this._panelClass = coerceStringArray(value);\n }\n /** Whether the calendar is open. */\n get opened() {\n return this._opened;\n }\n set opened(value) {\n if (value) {\n this.open();\n }\n else {\n this.close();\n }\n }\n /** The minimum selectable date. */\n _getMinDate() {\n return this.datepickerInput && this.datepickerInput.min;\n }\n /** The maximum selectable date. */\n _getMaxDate() {\n return this.datepickerInput && this.datepickerInput.max;\n }\n _getDateFilter() {\n return this.datepickerInput && this.datepickerInput.dateFilter;\n }\n constructor(_overlay, _ngZone, _viewContainerRef, scrollStrategy, _dateAdapter, _dir, _model) {\n this._overlay = _overlay;\n this._ngZone = _ngZone;\n this._viewContainerRef = _viewContainerRef;\n this._dateAdapter = _dateAdapter;\n this._dir = _dir;\n this._model = _model;\n this._inputStateChanges = Subscription.EMPTY;\n this._document = inject(DOCUMENT);\n /** The view that the calendar should start in. */\n this.startView = 'month';\n /**\n * Whether the calendar UI is in touch mode. In touch mode the calendar opens in a dialog rather\n * than a dropdown and elements have more padding to allow for bigger touch targets.\n */\n this.touchUi = false;\n /** Preferred position of the datepicker in the X axis. */\n this.xPosition = 'start';\n /** Preferred position of the datepicker in the Y axis. */\n this.yPosition = 'below';\n /**\n * Whether to restore focus to the previously-focused element when the calendar is closed.\n * Note that automatic focus restoration is an accessibility feature and it is recommended that\n * you provide your own equivalent, if you decide to turn it off.\n */\n this.restoreFocus = true;\n /**\n * Emits selected year in multiyear view.\n * This doesn't imply a change on the selected date.\n */\n this.yearSelected = new EventEmitter();\n /**\n * Emits selected month in year view.\n * This doesn't imply a change on the selected date.\n */\n this.monthSelected = new EventEmitter();\n /**\n * Emits when the current view changes.\n */\n this.viewChanged = new EventEmitter(true);\n /** Emits when the datepicker has been opened. */\n this.openedStream = new EventEmitter();\n /** Emits when the datepicker has been closed. */\n this.closedStream = new EventEmitter();\n this._opened = false;\n /** The id for the datepicker calendar. */\n this.id = `mat-datepicker-${datepickerUid++}`;\n /** The element that was focused before the datepicker was opened. */\n this._focusedElementBeforeOpen = null;\n /** Unique class that will be added to the backdrop so that the test harnesses can look it up. */\n this._backdropHarnessClass = `${this.id}-backdrop`;\n /** Emits when the datepicker's state changes. */\n this.stateChanges = new Subject();\n if (!this._dateAdapter && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw createMissingDateImplError('DateAdapter');\n }\n this._scrollStrategy = scrollStrategy;\n }\n ngOnChanges(changes) {\n const positionChange = changes['xPosition'] || changes['yPosition'];\n if (positionChange && !positionChange.firstChange && this._overlayRef) {\n const positionStrategy = this._overlayRef.getConfig().positionStrategy;\n if (positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n this._setConnectedPositions(positionStrategy);\n if (this.opened) {\n this._overlayRef.updatePosition();\n }\n }\n }\n this.stateChanges.next(undefined);\n }\n ngOnDestroy() {\n this._destroyOverlay();\n this.close();\n this._inputStateChanges.unsubscribe();\n this.stateChanges.complete();\n }\n /** Selects the given date */\n select(date) {\n this._model.add(date);\n }\n /** Emits the selected year in multiyear view */\n _selectYear(normalizedYear) {\n this.yearSelected.emit(normalizedYear);\n }\n /** Emits selected month in year view */\n _selectMonth(normalizedMonth) {\n this.monthSelected.emit(normalizedMonth);\n }\n /** Emits changed view */\n _viewChanged(view) {\n this.viewChanged.emit(view);\n }\n /**\n * Register an input with this datepicker.\n * @param input The datepicker input to register with this datepicker.\n * @returns Selection model that the input should hook itself up to.\n */\n registerInput(input) {\n if (this.datepickerInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('A MatDatepicker can only be associated with a single input.');\n }\n this._inputStateChanges.unsubscribe();\n this.datepickerInput = input;\n this._inputStateChanges = input.stateChanges.subscribe(() => this.stateChanges.next(undefined));\n return this._model;\n }\n /**\n * Registers a portal containing action buttons with the datepicker.\n * @param portal Portal to be registered.\n */\n registerActions(portal) {\n if (this._actionsPortal && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('A MatDatepicker can only be associated with a single actions row.');\n }\n this._actionsPortal = portal;\n this._componentRef?.instance._assignActions(portal, true);\n }\n /**\n * Removes a portal containing action buttons from the datepicker.\n * @param portal Portal to be removed.\n */\n removeActions(portal) {\n if (portal === this._actionsPortal) {\n this._actionsPortal = null;\n this._componentRef?.instance._assignActions(null, true);\n }\n }\n /** Open the calendar. */\n open() {\n // Skip reopening if there's an in-progress animation to avoid overlapping\n // sequences which can cause \"changed after checked\" errors. See #25837.\n if (this._opened || this.disabled || this._componentRef?.instance._isAnimating) {\n return;\n }\n if (!this.datepickerInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Attempted to open an MatDatepicker with no associated input.');\n }\n this._focusedElementBeforeOpen = _getFocusedElementPierceShadowDom();\n this._openOverlay();\n this._opened = true;\n this.openedStream.emit();\n }\n /** Close the calendar. */\n close() {\n // Skip reopening if there's an in-progress animation to avoid overlapping\n // sequences which can cause \"changed after checked\" errors. See #25837.\n if (!this._opened || this._componentRef?.instance._isAnimating) {\n return;\n }\n const canRestoreFocus = this.restoreFocus &&\n this._focusedElementBeforeOpen &&\n typeof this._focusedElementBeforeOpen.focus === 'function';\n const completeClose = () => {\n // The `_opened` could've been reset already if\n // we got two events in quick succession.\n if (this._opened) {\n this._opened = false;\n this.closedStream.emit();\n }\n };\n if (this._componentRef) {\n const { instance, location } = this._componentRef;\n instance._startExitAnimation();\n instance._animationDone.pipe(take(1)).subscribe(() => {\n const activeElement = this._document.activeElement;\n // Since we restore focus after the exit animation, we have to check that\n // the user didn't move focus themselves inside the `close` handler.\n if (canRestoreFocus &&\n (!activeElement ||\n activeElement === this._document.activeElement ||\n location.nativeElement.contains(activeElement))) {\n this._focusedElementBeforeOpen.focus();\n }\n this._focusedElementBeforeOpen = null;\n this._destroyOverlay();\n });\n }\n if (canRestoreFocus) {\n // Because IE moves focus asynchronously, we can't count on it being restored before we've\n // marked the datepicker as closed. If the event fires out of sequence and the element that\n // we're refocusing opens the datepicker on focus, the user could be stuck with not being\n // able to close the calendar at all. We work around it by making the logic, that marks\n // the datepicker as closed, async as well.\n setTimeout(completeClose);\n }\n else {\n completeClose();\n }\n }\n /** Applies the current pending selection on the overlay to the model. */\n _applyPendingSelection() {\n this._componentRef?.instance?._applyPendingSelection();\n }\n /** Forwards relevant values from the datepicker to the datepicker content inside the overlay. */\n _forwardContentValues(instance) {\n instance.datepicker = this;\n instance.color = this.color;\n instance._dialogLabelId = this.datepickerInput.getOverlayLabelId();\n instance._assignActions(this._actionsPortal, false);\n }\n /** Opens the overlay with the calendar. */\n _openOverlay() {\n this._destroyOverlay();\n const isDialog = this.touchUi;\n const portal = new ComponentPortal(MatDatepickerContent, this._viewContainerRef);\n const overlayRef = (this._overlayRef = this._overlay.create(new OverlayConfig({\n positionStrategy: isDialog ? this._getDialogStrategy() : this._getDropdownStrategy(),\n hasBackdrop: true,\n backdropClass: [\n isDialog ? 'cdk-overlay-dark-backdrop' : 'mat-overlay-transparent-backdrop',\n this._backdropHarnessClass,\n ],\n direction: this._dir,\n scrollStrategy: isDialog ? this._overlay.scrollStrategies.block() : this._scrollStrategy(),\n panelClass: `mat-datepicker-${isDialog ? 'dialog' : 'popup'}`,\n })));\n this._getCloseStream(overlayRef).subscribe(event => {\n if (event) {\n event.preventDefault();\n }\n this.close();\n });\n // The `preventDefault` call happens inside the calendar as well, however focus moves into\n // it inside a timeout which can give browsers a chance to fire off a keyboard event in-between\n // that can scroll the page (see #24969). Always block default actions of arrow keys for the\n // entire overlay so the page doesn't get scrolled by accident.\n overlayRef.keydownEvents().subscribe(event => {\n const keyCode = event.keyCode;\n if (keyCode === UP_ARROW ||\n keyCode === DOWN_ARROW ||\n keyCode === LEFT_ARROW ||\n keyCode === RIGHT_ARROW ||\n keyCode === PAGE_UP ||\n keyCode === PAGE_DOWN) {\n event.preventDefault();\n }\n });\n this._componentRef = overlayRef.attach(portal);\n this._forwardContentValues(this._componentRef.instance);\n // Update the position once the calendar has rendered. Only relevant in dropdown mode.\n if (!isDialog) {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => overlayRef.updatePosition());\n }\n }\n /** Destroys the current overlay. */\n _destroyOverlay() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = this._componentRef = null;\n }\n }\n /** Gets a position strategy that will open the calendar as a dropdown. */\n _getDialogStrategy() {\n return this._overlay.position().global().centerHorizontally().centerVertically();\n }\n /** Gets a position strategy that will open the calendar as a dropdown. */\n _getDropdownStrategy() {\n const strategy = this._overlay\n .position()\n .flexibleConnectedTo(this.datepickerInput.getConnectedOverlayOrigin())\n .withTransformOriginOn('.mat-datepicker-content')\n .withFlexibleDimensions(false)\n .withViewportMargin(8)\n .withLockedPosition();\n return this._setConnectedPositions(strategy);\n }\n /** Sets the positions of the datepicker in dropdown mode based on the current configuration. */\n _setConnectedPositions(strategy) {\n const primaryX = this.xPosition === 'end' ? 'end' : 'start';\n const secondaryX = primaryX === 'start' ? 'end' : 'start';\n const primaryY = this.yPosition === 'above' ? 'bottom' : 'top';\n const secondaryY = primaryY === 'top' ? 'bottom' : 'top';\n return strategy.withPositions([\n {\n originX: primaryX,\n originY: secondaryY,\n overlayX: primaryX,\n overlayY: primaryY,\n },\n {\n originX: primaryX,\n originY: primaryY,\n overlayX: primaryX,\n overlayY: secondaryY,\n },\n {\n originX: secondaryX,\n originY: secondaryY,\n overlayX: secondaryX,\n overlayY: primaryY,\n },\n {\n originX: secondaryX,\n originY: primaryY,\n overlayX: secondaryX,\n overlayY: secondaryY,\n },\n ]);\n }\n /** Gets an observable that will emit when the overlay is supposed to be closed. */\n _getCloseStream(overlayRef) {\n const ctrlShiftMetaModifiers = ['ctrlKey', 'shiftKey', 'metaKey'];\n return merge(overlayRef.backdropClick(), overlayRef.detachments(), overlayRef.keydownEvents().pipe(filter(event => {\n // Closing on alt + up is only valid when there's an input associated with the datepicker.\n return ((event.keyCode === ESCAPE && !hasModifierKey(event)) ||\n (this.datepickerInput &&\n hasModifierKey(event, 'altKey') &&\n event.keyCode === UP_ARROW &&\n ctrlShiftMetaModifiers.every((modifier) => !hasModifierKey(event, modifier))));\n })));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerBase, deps: [{ token: i4.Overlay }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: MAT_DATEPICKER_SCROLL_STRATEGY }, { token: i1.DateAdapter, optional: true }, { token: i2.Directionality, optional: true }, { token: MatDateSelectionModel }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"16.1.0\", version: \"17.2.0\", type: MatDatepickerBase, inputs: { calendarHeaderComponent: \"calendarHeaderComponent\", startAt: \"startAt\", startView: \"startView\", color: \"color\", touchUi: [\"touchUi\", \"touchUi\", booleanAttribute], disabled: [\"disabled\", \"disabled\", booleanAttribute], xPosition: \"xPosition\", yPosition: \"yPosition\", restoreFocus: [\"restoreFocus\", \"restoreFocus\", booleanAttribute], dateClass: \"dateClass\", panelClass: \"panelClass\", opened: [\"opened\", \"opened\", booleanAttribute] }, outputs: { yearSelected: \"yearSelected\", monthSelected: \"monthSelected\", viewChanged: \"viewChanged\", openedStream: \"opened\", closedStream: \"closed\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerBase, decorators: [{\n type: Directive\n }], ctorParameters: () => [{ type: i4.Overlay }, { type: i0.NgZone }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_DATEPICKER_SCROLL_STRATEGY]\n }] }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: MatDateSelectionModel }], propDecorators: { calendarHeaderComponent: [{\n type: Input\n }], startAt: [{\n type: Input\n }], startView: [{\n type: Input\n }], color: [{\n type: Input\n }], touchUi: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], xPosition: [{\n type: Input\n }], yPosition: [{\n type: Input\n }], restoreFocus: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], yearSelected: [{\n type: Output\n }], monthSelected: [{\n type: Output\n }], viewChanged: [{\n type: Output\n }], dateClass: [{\n type: Input\n }], openedStream: [{\n type: Output,\n args: ['opened']\n }], closedStream: [{\n type: Output,\n args: ['closed']\n }], panelClass: [{\n type: Input\n }], opened: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }] } });\n\n// TODO(mmalerba): We use a component instead of a directive here so the user can use implicit\n// template reference variables (e.g. #d vs #d=\"matDatepicker\"). We can change this to a directive\n// if angular adds support for `exportAs: '$implicit'` on directives.\n/** Component responsible for managing the datepicker popup/dialog. */\nclass MatDatepicker extends MatDatepickerBase {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepicker, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatDatepicker, isStandalone: true, selector: \"mat-datepicker\", providers: [\n MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER,\n { provide: MatDatepickerBase, useExisting: MatDatepicker },\n ], exportAs: [\"matDatepicker\"], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepicker, decorators: [{\n type: Component,\n args: [{\n selector: 'mat-datepicker',\n template: '',\n exportAs: 'matDatepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n MAT_SINGLE_DATE_SELECTION_MODEL_PROVIDER,\n { provide: MatDatepickerBase, useExisting: MatDatepicker },\n ],\n standalone: true,\n }]\n }] });\n\n/**\n * An event used for datepicker input and change events. We don't always have access to a native\n * input or change event because the event may have been triggered by the user clicking on the\n * calendar popup. For consistency, we always use MatDatepickerInputEvent instead.\n */\nclass MatDatepickerInputEvent {\n constructor(\n /** Reference to the datepicker input component that emitted the event. */\n target, \n /** Reference to the native input element associated with the datepicker input. */\n targetElement) {\n this.target = target;\n this.targetElement = targetElement;\n this.value = this.target.value;\n }\n}\n/** Base class for datepicker inputs. */\nclass MatDatepickerInputBase {\n /** The value of the input. */\n get value() {\n return this._model ? this._getValueFromModel(this._model.selection) : this._pendingValue;\n }\n set value(value) {\n this._assignValueProgrammatically(value);\n }\n /** Whether the datepicker-input is disabled. */\n get disabled() {\n return !!this._disabled || this._parentDisabled();\n }\n set disabled(value) {\n const newValue = value;\n const element = this._elementRef.nativeElement;\n if (this._disabled !== newValue) {\n this._disabled = newValue;\n this.stateChanges.next(undefined);\n }\n // We need to null check the `blur` method, because it's undefined during SSR.\n // In Ivy static bindings are invoked earlier, before the element is attached to the DOM.\n // This can cause an error to be thrown in some browsers (IE/Edge) which assert that the\n // element has been inserted.\n if (newValue && this._isInitialized && element.blur) {\n // Normally, native input elements automatically blur if they turn disabled. This behavior\n // is problematic, because it would mean that it triggers another change detection cycle,\n // which then causes a changed after checked error if the input element was focused before.\n element.blur();\n }\n }\n /** Gets the base validator functions. */\n _getValidators() {\n return [this._parseValidator, this._minValidator, this._maxValidator, this._filterValidator];\n }\n /** Registers a date selection model with the input. */\n _registerModel(model) {\n this._model = model;\n this._valueChangesSubscription.unsubscribe();\n if (this._pendingValue) {\n this._assignValue(this._pendingValue);\n }\n this._valueChangesSubscription = this._model.selectionChanged.subscribe(event => {\n if (this._shouldHandleChangeEvent(event)) {\n const value = this._getValueFromModel(event.selection);\n this._lastValueValid = this._isValidValue(value);\n this._cvaOnChange(value);\n this._onTouched();\n this._formatValue(value);\n this.dateInput.emit(new MatDatepickerInputEvent(this, this._elementRef.nativeElement));\n this.dateChange.emit(new MatDatepickerInputEvent(this, this._elementRef.nativeElement));\n }\n });\n }\n constructor(_elementRef, _dateAdapter, _dateFormats) {\n this._elementRef = _elementRef;\n this._dateAdapter = _dateAdapter;\n this._dateFormats = _dateFormats;\n /** Emits when a `change` event is fired on this ``. */\n this.dateChange = new EventEmitter();\n /** Emits when an `input` event is fired on this ``. */\n this.dateInput = new EventEmitter();\n /** Emits when the internal state has changed */\n this.stateChanges = new Subject();\n this._onTouched = () => { };\n this._validatorOnChange = () => { };\n this._cvaOnChange = () => { };\n this._valueChangesSubscription = Subscription.EMPTY;\n this._localeSubscription = Subscription.EMPTY;\n /** The form control validator for whether the input parses. */\n this._parseValidator = () => {\n return this._lastValueValid\n ? null\n : { 'matDatepickerParse': { 'text': this._elementRef.nativeElement.value } };\n };\n /** The form control validator for the date filter. */\n this._filterValidator = (control) => {\n const controlValue = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(control.value));\n return !controlValue || this._matchesFilter(controlValue)\n ? null\n : { 'matDatepickerFilter': true };\n };\n /** The form control validator for the min date. */\n this._minValidator = (control) => {\n const controlValue = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(control.value));\n const min = this._getMinDate();\n return !min || !controlValue || this._dateAdapter.compareDate(min, controlValue) <= 0\n ? null\n : { 'matDatepickerMin': { 'min': min, 'actual': controlValue } };\n };\n /** The form control validator for the max date. */\n this._maxValidator = (control) => {\n const controlValue = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(control.value));\n const max = this._getMaxDate();\n return !max || !controlValue || this._dateAdapter.compareDate(max, controlValue) >= 0\n ? null\n : { 'matDatepickerMax': { 'max': max, 'actual': controlValue } };\n };\n /** Whether the last value set on the input was valid. */\n this._lastValueValid = false;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._dateAdapter) {\n throw createMissingDateImplError('DateAdapter');\n }\n if (!this._dateFormats) {\n throw createMissingDateImplError('MAT_DATE_FORMATS');\n }\n }\n // Update the displayed date when the locale changes.\n this._localeSubscription = _dateAdapter.localeChanges.subscribe(() => {\n this._assignValueProgrammatically(this.value);\n });\n }\n ngAfterViewInit() {\n this._isInitialized = true;\n }\n ngOnChanges(changes) {\n if (dateInputsHaveChanged(changes, this._dateAdapter)) {\n this.stateChanges.next(undefined);\n }\n }\n ngOnDestroy() {\n this._valueChangesSubscription.unsubscribe();\n this._localeSubscription.unsubscribe();\n this.stateChanges.complete();\n }\n /** @docs-private */\n registerOnValidatorChange(fn) {\n this._validatorOnChange = fn;\n }\n /** @docs-private */\n validate(c) {\n return this._validator ? this._validator(c) : null;\n }\n // Implemented as part of ControlValueAccessor.\n writeValue(value) {\n this._assignValueProgrammatically(value);\n }\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn) {\n this._cvaOnChange = fn;\n }\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n }\n _onKeydown(event) {\n const ctrlShiftMetaModifiers = ['ctrlKey', 'shiftKey', 'metaKey'];\n const isAltDownArrow = hasModifierKey(event, 'altKey') &&\n event.keyCode === DOWN_ARROW &&\n ctrlShiftMetaModifiers.every((modifier) => !hasModifierKey(event, modifier));\n if (isAltDownArrow && !this._elementRef.nativeElement.readOnly) {\n this._openPopup();\n event.preventDefault();\n }\n }\n _onInput(value) {\n const lastValueWasValid = this._lastValueValid;\n let date = this._dateAdapter.parse(value, this._dateFormats.parse.dateInput);\n this._lastValueValid = this._isValidValue(date);\n date = this._dateAdapter.getValidDateOrNull(date);\n const hasChanged = !this._dateAdapter.sameDate(date, this.value);\n // We need to fire the CVA change event for all\n // nulls, otherwise the validators won't run.\n if (!date || hasChanged) {\n this._cvaOnChange(date);\n }\n else {\n // Call the CVA change handler for invalid values\n // since this is what marks the control as dirty.\n if (value && !this.value) {\n this._cvaOnChange(date);\n }\n if (lastValueWasValid !== this._lastValueValid) {\n this._validatorOnChange();\n }\n }\n if (hasChanged) {\n this._assignValue(date);\n this.dateInput.emit(new MatDatepickerInputEvent(this, this._elementRef.nativeElement));\n }\n }\n _onChange() {\n this.dateChange.emit(new MatDatepickerInputEvent(this, this._elementRef.nativeElement));\n }\n /** Handles blur events on the input. */\n _onBlur() {\n // Reformat the input only if we have a valid value.\n if (this.value) {\n this._formatValue(this.value);\n }\n this._onTouched();\n }\n /** Formats a value and sets it on the input element. */\n _formatValue(value) {\n this._elementRef.nativeElement.value =\n value != null ? this._dateAdapter.format(value, this._dateFormats.display.dateInput) : '';\n }\n /** Assigns a value to the model. */\n _assignValue(value) {\n // We may get some incoming values before the model was\n // assigned. Save the value so that we can assign it later.\n if (this._model) {\n this._assignValueToModel(value);\n this._pendingValue = null;\n }\n else {\n this._pendingValue = value;\n }\n }\n /** Whether a value is considered valid. */\n _isValidValue(value) {\n return !value || this._dateAdapter.isValid(value);\n }\n /**\n * Checks whether a parent control is disabled. This is in place so that it can be overridden\n * by inputs extending this one which can be placed inside of a group that can be disabled.\n */\n _parentDisabled() {\n return false;\n }\n /** Programmatically assigns a value to the input. */\n _assignValueProgrammatically(value) {\n value = this._dateAdapter.deserialize(value);\n this._lastValueValid = this._isValidValue(value);\n value = this._dateAdapter.getValidDateOrNull(value);\n this._assignValue(value);\n this._formatValue(value);\n }\n /** Gets whether a value matches the current date filter. */\n _matchesFilter(value) {\n const filter = this._getDateFilter();\n return !filter || filter(value);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerInputBase, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter, optional: true }, { token: MAT_DATE_FORMATS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"16.1.0\", version: \"17.2.0\", type: MatDatepickerInputBase, isStandalone: true, inputs: { value: \"value\", disabled: [\"disabled\", \"disabled\", booleanAttribute] }, outputs: { dateChange: \"dateChange\", dateInput: \"dateInput\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerInputBase, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DATE_FORMATS]\n }] }], propDecorators: { value: [{\n type: Input\n }], disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], dateChange: [{\n type: Output\n }], dateInput: [{\n type: Output\n }] } });\n/**\n * Checks whether the `SimpleChanges` object from an `ngOnChanges`\n * callback has any changes, accounting for date objects.\n */\nfunction dateInputsHaveChanged(changes, adapter) {\n const keys = Object.keys(changes);\n for (let key of keys) {\n const { previousValue, currentValue } = changes[key];\n if (adapter.isDateInstance(previousValue) && adapter.isDateInstance(currentValue)) {\n if (!adapter.sameDate(previousValue, currentValue)) {\n return true;\n }\n }\n else {\n return true;\n }\n }\n return false;\n}\n\n/** @docs-private */\nconst MAT_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatDatepickerInput),\n multi: true,\n};\n/** @docs-private */\nconst MAT_DATEPICKER_VALIDATORS = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MatDatepickerInput),\n multi: true,\n};\n/** Directive used to connect an input to a MatDatepicker. */\nclass MatDatepickerInput extends MatDatepickerInputBase {\n /** The datepicker that this input is associated with. */\n set matDatepicker(datepicker) {\n if (datepicker) {\n this._datepicker = datepicker;\n this._closedSubscription = datepicker.closedStream.subscribe(() => this._onTouched());\n this._registerModel(datepicker.registerInput(this));\n }\n }\n /** The minimum valid date. */\n get min() {\n return this._min;\n }\n set min(value) {\n const validValue = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n if (!this._dateAdapter.sameDate(validValue, this._min)) {\n this._min = validValue;\n this._validatorOnChange();\n }\n }\n /** The maximum valid date. */\n get max() {\n return this._max;\n }\n set max(value) {\n const validValue = this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(value));\n if (!this._dateAdapter.sameDate(validValue, this._max)) {\n this._max = validValue;\n this._validatorOnChange();\n }\n }\n /** Function that can be used to filter out dates within the datepicker. */\n get dateFilter() {\n return this._dateFilter;\n }\n set dateFilter(value) {\n const wasMatchingValue = this._matchesFilter(this.value);\n this._dateFilter = value;\n if (this._matchesFilter(this.value) !== wasMatchingValue) {\n this._validatorOnChange();\n }\n }\n constructor(elementRef, dateAdapter, dateFormats, _formField) {\n super(elementRef, dateAdapter, dateFormats);\n this._formField = _formField;\n this._closedSubscription = Subscription.EMPTY;\n this._validator = Validators.compose(super._getValidators());\n }\n /**\n * Gets the element that the datepicker popup should be connected to.\n * @return The element to connect the popup to.\n */\n getConnectedOverlayOrigin() {\n return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;\n }\n /** Gets the ID of an element that should be used a description for the calendar overlay. */\n getOverlayLabelId() {\n if (this._formField) {\n return this._formField.getLabelId();\n }\n return this._elementRef.nativeElement.getAttribute('aria-labelledby');\n }\n /** Returns the palette used by the input's form field, if any. */\n getThemePalette() {\n return this._formField ? this._formField.color : undefined;\n }\n /** Gets the value at which the calendar should start. */\n getStartValue() {\n return this.value;\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this._closedSubscription.unsubscribe();\n }\n /** Opens the associated datepicker. */\n _openPopup() {\n if (this._datepicker) {\n this._datepicker.open();\n }\n }\n _getValueFromModel(modelValue) {\n return modelValue;\n }\n _assignValueToModel(value) {\n if (this._model) {\n this._model.updateSelection(value, this);\n }\n }\n /** Gets the input's minimum date. */\n _getMinDate() {\n return this._min;\n }\n /** Gets the input's maximum date. */\n _getMaxDate() {\n return this._max;\n }\n /** Gets the input's date filtering function. */\n _getDateFilter() {\n return this._dateFilter;\n }\n _shouldHandleChangeEvent(event) {\n return event.source !== this;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerInput, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter, optional: true }, { token: MAT_DATE_FORMATS, optional: true }, { token: MAT_FORM_FIELD, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatDatepickerInput, isStandalone: true, selector: \"input[matDatepicker]\", inputs: { matDatepicker: \"matDatepicker\", min: \"min\", max: \"max\", dateFilter: [\"matDatepickerFilter\", \"dateFilter\"] }, host: { listeners: { \"input\": \"_onInput($event.target.value)\", \"change\": \"_onChange()\", \"blur\": \"_onBlur()\", \"keydown\": \"_onKeydown($event)\" }, properties: { \"attr.aria-haspopup\": \"_datepicker ? \\\"dialog\\\" : null\", \"attr.aria-owns\": \"(_datepicker?.opened && _datepicker.id) || null\", \"attr.min\": \"min ? _dateAdapter.toIso8601(min) : null\", \"attr.max\": \"max ? _dateAdapter.toIso8601(max) : null\", \"attr.data-mat-calendar\": \"_datepicker ? _datepicker.id : null\", \"disabled\": \"disabled\" }, classAttribute: \"mat-datepicker-input\" }, providers: [\n MAT_DATEPICKER_VALUE_ACCESSOR,\n MAT_DATEPICKER_VALIDATORS,\n { provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: MatDatepickerInput },\n ], exportAs: [\"matDatepickerInput\"], usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerInput, decorators: [{\n type: Directive,\n args: [{\n selector: 'input[matDatepicker]',\n providers: [\n MAT_DATEPICKER_VALUE_ACCESSOR,\n MAT_DATEPICKER_VALIDATORS,\n { provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: MatDatepickerInput },\n ],\n host: {\n 'class': 'mat-datepicker-input',\n '[attr.aria-haspopup]': '_datepicker ? \"dialog\" : null',\n '[attr.aria-owns]': '(_datepicker?.opened && _datepicker.id) || null',\n '[attr.min]': 'min ? _dateAdapter.toIso8601(min) : null',\n '[attr.max]': 'max ? _dateAdapter.toIso8601(max) : null',\n // Used by the test harness to tie this input to its calendar. We can't depend on\n // `aria-owns` for this, because it's only defined while the calendar is open.\n '[attr.data-mat-calendar]': '_datepicker ? _datepicker.id : null',\n '[disabled]': 'disabled',\n '(input)': '_onInput($event.target.value)',\n '(change)': '_onChange()',\n '(blur)': '_onBlur()',\n '(keydown)': '_onKeydown($event)',\n },\n exportAs: 'matDatepickerInput',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DATE_FORMATS]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD]\n }] }], propDecorators: { matDatepicker: [{\n type: Input\n }], min: [{\n type: Input\n }], max: [{\n type: Input\n }], dateFilter: [{\n type: Input,\n args: ['matDatepickerFilter']\n }] } });\n\n/** Can be used to override the icon of a `matDatepickerToggle`. */\nclass MatDatepickerToggleIcon {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerToggleIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"17.2.0\", type: MatDatepickerToggleIcon, isStandalone: true, selector: \"[matDatepickerToggleIcon]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerToggleIcon, decorators: [{\n type: Directive,\n args: [{\n selector: '[matDatepickerToggleIcon]',\n standalone: true,\n }]\n }] });\nclass MatDatepickerToggle {\n /** Whether the toggle button is disabled. */\n get disabled() {\n if (this._disabled === undefined && this.datepicker) {\n return this.datepicker.disabled;\n }\n return !!this._disabled;\n }\n set disabled(value) {\n this._disabled = value;\n }\n constructor(_intl, _changeDetectorRef, defaultTabIndex) {\n this._intl = _intl;\n this._changeDetectorRef = _changeDetectorRef;\n this._stateChanges = Subscription.EMPTY;\n const parsedTabIndex = Number(defaultTabIndex);\n this.tabIndex = parsedTabIndex || parsedTabIndex === 0 ? parsedTabIndex : null;\n }\n ngOnChanges(changes) {\n if (changes['datepicker']) {\n this._watchStateChanges();\n }\n }\n ngOnDestroy() {\n this._stateChanges.unsubscribe();\n }\n ngAfterContentInit() {\n this._watchStateChanges();\n }\n _open(event) {\n if (this.datepicker && !this.disabled) {\n this.datepicker.open();\n event.stopPropagation();\n }\n }\n _watchStateChanges() {\n const datepickerStateChanged = this.datepicker ? this.datepicker.stateChanges : of();\n const inputStateChanged = this.datepicker && this.datepicker.datepickerInput\n ? this.datepicker.datepickerInput.stateChanges\n : of();\n const datepickerToggled = this.datepicker\n ? merge(this.datepicker.openedStream, this.datepicker.closedStream)\n : of();\n this._stateChanges.unsubscribe();\n this._stateChanges = merge(this._intl.changes, datepickerStateChanged, inputStateChanged, datepickerToggled).subscribe(() => this._changeDetectorRef.markForCheck());\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerToggle, deps: [{ token: MatDatepickerIntl }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"17.2.0\", type: MatDatepickerToggle, isStandalone: true, selector: \"mat-datepicker-toggle\", inputs: { datepicker: [\"for\", \"datepicker\"], tabIndex: \"tabIndex\", ariaLabel: [\"aria-label\", \"ariaLabel\"], disabled: [\"disabled\", \"disabled\", booleanAttribute], disableRipple: \"disableRipple\" }, host: { listeners: { \"click\": \"_open($event)\" }, properties: { \"attr.tabindex\": \"null\", \"class.mat-datepicker-toggle-active\": \"datepicker && datepicker.opened\", \"class.mat-accent\": \"datepicker && datepicker.color === \\\"accent\\\"\", \"class.mat-warn\": \"datepicker && datepicker.color === \\\"warn\\\"\", \"attr.data-mat-calendar\": \"datepicker ? datepicker.id : null\" }, classAttribute: \"mat-datepicker-toggle\" }, queries: [{ propertyName: \"_customIcon\", first: true, predicate: MatDatepickerToggleIcon, descendants: true }], viewQueries: [{ propertyName: \"_button\", first: true, predicate: [\"button\"], descendants: true }], exportAs: [\"matDatepickerToggle\"], usesOnChanges: true, ngImport: i0, template: \"\\n\\n @if (!_customIcon) {\\n \\n \\n \\n }\\n\\n \\n\\n\", styles: [\".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color)}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color)}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}\"], dependencies: [{ kind: \"component\", type: MatIconButton, selector: \"button[mat-icon-button]\", exportAs: [\"matButton\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"17.2.0\", ngImport: i0, type: MatDatepickerToggle, decorators: [{\n type: Component,\n args: [{ selector: 'mat-datepicker-toggle', host: {\n 'class': 'mat-datepicker-toggle',\n '[attr.tabindex]': 'null',\n '[class.mat-datepicker-toggle-active]': 'datepicker && datepicker.opened',\n '[class.mat-accent]': 'datepicker && datepicker.color === \"accent\"',\n '[class.mat-warn]': 'datepicker && datepicker.color === \"warn\"',\n // Used by the test harness to tie this toggle to its datepicker.\n '[attr.data-mat-calendar]': 'datepicker ? datepicker.id : null',\n // Bind the `click` on the host, rather than the inner `button`, so that we can call\n // `stopPropagation` on it without affecting the user's `click` handlers. We need to stop\n // it so that the input doesn't get focused automatically by the form field (See #21836).\n '(click)': '_open($event)',\n }, exportAs: 'matDatepickerToggle', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatIconButton], template: \"\\n\\n @if (!_customIcon) {\\n \\n \\n \\n }\\n\\n \\n\\n\", styles: [\".mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color)}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color)}.cdk-high-contrast-active .mat-datepicker-toggle-default-icon{color:CanvasText}\"] }]\n }], ctorParameters: () => [{ type: MatDatepickerIntl }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['tabindex']\n }] }], propDecorators: { datepicker: [{\n type: Input,\n args: ['for']\n }], tabIndex: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], disableRipple: [{\n type: Input\n }], _customIcon: [{\n type: ContentChild,\n args: [MatDatepickerToggleIcon]\n }], _button: [{\n type: ViewChild,\n args: ['button']\n }] } });\n\n// This file contains the `_computeAriaAccessibleName` function, which computes what the *expected*\n// ARIA accessible name would be for a given element. Implements a subset of ARIA specification\n// [Accessible Name and Description Computation 1.2](https://www.w3.org/TR/accname-1.2/).\n//\n// Specification accname-1.2 can be summarized by returning the result of the first method\n// available.\n//\n// 1. `aria-labelledby` attribute\n// ```\n// \n// \n// \n// ```\n// 2. `aria-label` attribute (e.g. ``)\n// 3. Label with `for`/`id`\n// ```\n// \n// \n// \n// ```\n// 4. `placeholder` attribute (e.g. ``)\n// 5. `title` attribute (e.g. ``)\n// 6. text content\n// ```\n// \n// \n// \n// ```\n/**\n * Computes the *expected* ARIA accessible name for argument element based on [accname-1.2\n * specification](https://www.w3.org/TR/accname-1.2/). Implements a subset of accname-1.2,\n * and should only be used for the Datepicker's specific use case.\n *\n * Intended use:\n * This is not a general use implementation. Only implements the parts of accname-1.2 that are\n * required for the Datepicker's specific use case. This function is not intended for any other\n * use.\n *\n * Limitations:\n * - Only covers the needs of `matStartDate` and `matEndDate`. Does not support other use cases.\n * - See NOTES's in implementation for specific details on what parts of the accname-1.2\n * specification are not implemented.\n *\n * @param element {HTMLInputElement} native <input/> element of `matStartDate` or\n * `matEndDate` component. Corresponds to the 'Root Element' from accname-1.2\n *\n * @return expected ARIA accessible name of argument <input/>\n */\nfunction _computeAriaAccessibleName(element) {\n return _computeAriaAccessibleNameInternal(element, true);\n}\n/**\n * Determine if argument node is an Element based on `nodeType` property. This function is safe to\n * use with server-side rendering.\n */\nfunction ssrSafeIsElement(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Determine if argument node is an HTMLInputElement based on `nodeName` property. This funciton is\n * safe to use with server-side rendering.\n */\nfunction ssrSafeIsHTMLInputElement(node) {\n return node.nodeName === 'INPUT';\n}\n/**\n * Determine if argument node is an HTMLTextAreaElement based on `nodeName` property. This\n * funciton is safe to use with server-side rendering.\n */\nfunction ssrSafeIsHTMLTextAreaElement(node) {\n return node.nodeName === 'TEXTAREA';\n}\n/**\n * Calculate the expected ARIA accessible name for given DOM Node. Given DOM Node may be either the\n * \"Root node\" passed to `_computeAriaAccessibleName` or \"Current node\" as result of recursion.\n *\n * @return the accessible name of argument DOM Node\n *\n * @param currentNode node to determine accessible name of\n * @param isDirectlyReferenced true if `currentNode` is the root node to calculate ARIA accessible\n * name of. False if it is a result of recursion.\n */\nfunction _computeAriaAccessibleNameInternal(currentNode, isDirectlyReferenced) {\n // NOTE: this differs from accname-1.2 specification.\n // - Does not implement Step 1. of accname-1.2: '''If `currentNode`'s role prohibits naming,\n // return the empty string (\"\")'''.\n // - Does not implement Step 2.A. of accname-1.2: '''if current node is hidden and not directly\n // referenced by aria-labelledby... return the empty string.'''\n // acc-name-1.2 Step 2.B.: aria-labelledby\n if (ssrSafeIsElement(currentNode) && isDirectlyReferenced) {\n const labelledbyIds = currentNode.getAttribute?.('aria-labelledby')?.split(/\\s+/g) || [];\n const validIdRefs = labelledbyIds.reduce((validIds, id) => {\n const elem = document.getElementById(id);\n if (elem) {\n validIds.push(elem);\n }\n return validIds;\n }, []);\n if (validIdRefs.length) {\n return validIdRefs\n .map(idRef => {\n return _computeAriaAccessibleNameInternal(idRef, false);\n })\n .join(' ');\n }\n }\n // acc-name-1.2 Step 2.C.: aria-label\n if (ssrSafeIsElement(currentNode)) {\n const ariaLabel = currentNode.getAttribute('aria-label')?.trim();\n if (ariaLabel) {\n return ariaLabel;\n }\n }\n // acc-name-1.2 Step 2.D. attribute or element that defines a text alternative\n //\n // NOTE: this differs from accname-1.2 specification.\n // Only implements Step 2.D. for `