{"version":3,"sources":["images/polenergiaWaves.png","shared/contracts/invoiceType.ts","shared/contracts/models.ts","shared/contracts/accountType.ts","shared/contracts/accountingDocumentStatus.ts","shared/contracts/accountingDocumentStatusFilter.ts","shared/contracts/accountingDocumentType.ts","shared/contracts/accountingDocumentTypeFilter.ts","shared/contracts/accountingDocumentsSortType.ts","shared/contracts/agreementType.ts","shared/contracts/consentStatus.ts","shared/contracts/newsTypeFilter.ts","shared/contracts/orderStatus.ts","shared/contracts/validationErrorEnum.ts","images/registerBack.jpg","images/registerBack2.jpg","images/registerBack3.jpg","images/registerBack4.jpg","images/registerBack5.jpg","images/app_icon.png","images/icons/toggler/Right @3x.png","images/icons/toggler/Left @3x.png","images/registerAppImg.png","shared/components/modals/Modal/Icon/icons/Info.svg","images/logo_autopay.svg","images/logo.png","images/my-centrum-bg.png","shared/contracts/documentType.ts","core/store/StoreReducers.ts","core/store/ui/ui.ts","core/store/ui/actions.ts","core/store/middleware/actionsInterceptorMiddleware.ts","core/store/entity/EntityReducers.ts","core/store/entity/helpers/entityReducerHelpers.ts","core/store/entity/helpers/thunks/getByIdThunk.ts","core/store/entity/helpers/thunks/entityThunksFactory.ts","core/store/entity/helpers/thunks/getAllThunk.ts","core/store/entity/customerNumbers/customerNumbersThunks.ts","core/store/entity/userConsents/userConsentsSelectors.ts","core/store/entity/userConsents/userConsentsThunks.ts","core/store/administration/administration.ts","core/apiClient/apiClient.ts","core/apiClient/strings.ts","core/store/entity/TestReducer.ts","core/store/entity/customerNumbers/customerNumbers.ts","core/store/entity/customerNumbers/customerNumbersSideEffects.ts","shared/utils/errors.ts","core/store/user/userAccountThunks.ts","core/store/user/userAccount.ts","core/store/user/userAccountSideEffects.ts","i18n/index.ts","core/store/payments/paymentsThunks.ts","core/store/payments/payments.ts","core/store/policies/policiesThunks.ts","core/store/policies/policies.ts","core/store/offers/offersThunks.ts","core/store/offers/offers.ts","core/store/entity/userConsents/userConsents.ts","core/store/entity/userConsents/userConsentsSideEffects.ts","core/store/entity/userAgreements/userAgreementsThunks.ts","shared/utils/addressParser.ts","shared/utils/measurementPoints.ts","core/store/entity/userAgreements/userAgreements.ts","core/store/entity/documents/documentsThunks.ts","core/store/entity/documents/documents.ts","core/store/entity/readings/readingsThunks.ts","core/store/entity/readings/readings.ts","core/store/entity/measurementPoints/measurementPointsThunks.ts","core/store/entity/measurementPoints/measurementPoints.ts","core/store/entity/userNotifications/userNotificationsThunks.ts","core/store/entity/userNotifications/userNotifications.ts","core/store/entity/userNotifications/userNotificationsSideEffects.ts","core/store/entity/news/newsThunks.ts","core/store/entity/news/news.ts","core/store/persistedSettings/persisted.ts","core/store/trustedMfaDevices/trustedMfaDevicesThunk.ts","core/store/trustedMfaDevices/trustedMfaDevices.ts","core/store/rootReducer.ts","core/store/store.ts","core/store/persistedSettings/selectors.ts","core/store/persistedSettings/hooks.ts","core/analytics/hooks/useAnalyticsState.ts","core/analytics/utils/trackCustomEvent.ts","core/analytics/utils/eventsQueue.ts","core/analytics/utils/deactivateGa.ts","core/analytics/useAnalytics.ts","core/analytics/hooks/useEventsQueue.ts","core/analytics/hooks/usePageViews.ts","core/analytics/utils/initializeGa.ts","styles/constants.ts","shared/components/cookiesConsent/CookiesConsent.style.ts","images/icons/other/Cookies.svg","shared/utils/colorOpacityParser.ts","shared/components/Button.tsx","shared/components/cookiesConsent/CookiesConsent.tsx","shared/components/cookiesConsent/hooks/useCookiesSeen.ts","shared/components/CookiesFloatingButton/CookiesFloatingButton.style.ts","shared/components/modals/Modal/Button/Button.style.ts","shared/components/modals/Modal/Button/Button.tsx","shared/components/cookiesConsent/components/CookiesSettings.style.ts","shared/components/cookiesConsent/components/CookiesSettings.tsx","shared/components/CookiesFloatingButton/CookiesFloatingButton.tsx","shared/components/CookiesFloatingButton/hooks/useCookiesSeen.ts","shared/hooks/loadingState.ts","shared/components/NavExpandMenu.tsx","images/icons/Phone.svg","shared/components/DownloadMobileApp/DownloadMobileApp.style.ts","shared/components/DownloadMobileApp/DownloadMobileApp.tsx","shared/components/DownloadMobileApp/hooks/useMobileAppSeen.ts","shared/BackgroundWrapper.tsx","features/NotFound/NotFound.styles.ts","shared/components/Animation.tsx","features/NotFound/NotFound.tsx","shared/static-data/staticData.tsx","features/ServiceUnavailable/ServiceUnavailable.styles.ts","images/502v2.svg","features/ServiceUnavailable/ServiceUnavailable.tsx","images/icons/register/First.svg","images/icons/register/Second.svg","images/icons/register/Third.svg","images/icons/register/Fourth.svg","images/icons/register/Fifth.svg","images/icons/register/Invoice.svg","features/Register/static-data/RegisterData.tsx","features/NewPassword/static-data/NewPasswordData.tsx","images/icons/input/HideInput.svg","images/icons/input/ShowInput.svg","images/icons/checkbox/Checked.svg","images/icons/checkbox/Unchecked.svg","images/icons/other/Hint.svg","shared/components/HintPopover/HintPopover.style.ts","shared/components/HintPopover/modal/HintModal.style.ts","shared/components/HintPopover/modal/HintModal.tsx","shared/components/HintPopover/HintPopover.tsx","shared/components/Input.tsx","features/NewPassword/NewPassword.style.ts","images/icons/other/ConfirmMailAcc.svg","features/Register/EmailConfirmationPage.tsx","features/Register/utils/formValueMapper.ts","shared/hooks/pdfSaver.ts","shared/utils/fileNameFromContentDisposition.ts","shared/components/Checkbox.tsx","shared/components/MeasurementPoint/MeasurementPoint.style.ts","shared/components/AddressParser.tsx","images/icons/other/CollectionPoint.svg","shared/components/MeasurementPoint/MeasurementPoint.tsx","features/Register/components/modals/CustomerNumberSelectionModal.tsx","features/Register/components/modals/RegisterConfirmationModal.tsx","features/Register/components/SubmitButton.ts","images/icons/register/MyAccSummary.svg","shared/components/modals/Modal/TextField/TextField.tsx","shared/components/ScrollBar/ScrollBar.style.ts","shared/components/ScrollBar/ScrollBar.tsx","shared/components/customersSelector/modal/MeasurementPointsModal/MeasurementPointsModal.style.ts","shared/components/customersSelector/modal/MeasurementPointsModal/MeasurementPointsModal.tsx","features/Register/components/RegisterSummary.tsx","features/Register/components/PreRegister.tsx","features/Register/components/modals/ValidationErrorModal.tsx","shared/components/Consents.tsx","features/Register/components/RegisterFields.tsx","shared/components/Carousel/Carousel.style.tsx","shared/components/Toggler/Toggler.style.ts","shared/components/Toggler/Toggler.tsx","shared/components/Carousel/Carousel.tsx","shared/components/Autocomplete/Autocomplete.style.ts","shared/components/modals/Modal/ErrorMessage/ErrorMessage.style.ts","shared/components/modals/Modal/ErrorMessage/ErrorMessage.tsx","shared/components/modals/Modal/TextField/TextField.style.ts","shared/components/modals/Modal/FormikField/FormikField.tsx","shared/components/Autocomplete/Autocomplete.tsx","shared/components/SelectiveButtons/SelectiveButtons.style.ts","shared/components/SelectiveButtons/SelectiveButtons.tsx","shared/components/PhoneNumberInput/PhoneNumberInput.style.ts","shared/components/PhoneNumberInput/PhoneNumberInput.tsx","features/Register/components/modals/PhoneNumberConfirmationModal.tsx","shared/contracts/mfaContactType.ts","shared/utils/phoneFormatter.ts","features/Register/components/Register.tsx","features/Register/RegisterPage.tsx","images/icons/sider/FakturySider.svg","images/icons/sider/ZuzycieSider.svg","images/icons/sider/CentrumSider.svg","images/icons/sider/UstawieniaSider.svg","images/icons/sider/WiadomosciSider.svg","core/store/offers/types.ts","core/store/offers/offersSelectors.ts","images/icons/myCenter/Contract.svg","images/icons/myCenter/News.svg","images/icons/myCenter/Profile.svg","images/icons/myCenter/Wallet.svg","shared/components/forms/eInvoice/ActivationPoint.ts","shared/components/DetailsCard/DetailsCard.style.ts","shared/components/DetailsCard/DetailsCard.tsx","styles/modalForm.ts","shared/components/Actions/Actions.style.ts","shared/components/Actions/Actions.tsx","shared/components/forms/eInvoice/SelectedMeasurementPoint/SelectedMeasurementPoint.style.tsx","shared/components/forms/eInvoice/SelectedMeasurementPoint/SelectedMeasurementPoint.tsx","shared/components/forms/eInvoice/style.ts","shared/components/Label.tsx","shared/components/forms/eInvoice/MissingEInvoices.ts","shared/components/forms/eInvoice/Payer/Payer.styles.ts","shared/components/forms/eInvoice/Payer/Payer.tsx","shared/components/forms/eInvoice/ConfirmActivationPointForm/ConfirmActivationPointForm.style.ts","shared/components/forms/eInvoice/ConfirmActivationPointForm/ConfirmActivationPointForm.utils.ts","core/store/customerNumberDispatcher.ts","core/store/policies/policiesSelectors.ts","shared/components/forms/eInvoice/ConfirmActivationPointForm/dataSource.tsx","shared/components/forms/eInvoice/ConfirmActivationPointForm/ConfirmActivationPointForm.tsx","shared/components/forms/eInvoice/ActivatedEInvoices.ts","shared/components/Radio/Radio.style.ts","shared/components/Radio/Radio.tsx","shared/components/RadioGroup/RadioGroup.tsx","shared/components/forms/eInvoice/SelectActivationPointForm/SelectActivationPointForm.style.ts","shared/components/forms/eInvoice/SingleMeasurementPoint/SingleMeasurementPoint.tsx","features/MySettings/components/forms/EditFieldForm/EditFieldForm.utils.ts","shared/components/forms/eInvoice/SelectActivationPointForm/SelectActivationPointForm.utils.ts","core/store/entity/tokenLinkReducer.ts","shared/utils/stringParser.ts","shared/utils/agreements.ts","shared/components/forms/eInvoice/SelectActivationPointForm/SelectActivationPointForm.tsx","shared/components/modals/Modal/TextArea/TextArea.style.ts","shared/components/modals/Modal/TextArea/TextArea.tsx","shared/components/modals/Modal/FormikTextArea/FormikTextArea.tsx","shared/components/modals/Modal/Text/Text.style.ts","shared/components/modals/Modal/Text/Text.tsx","shared/components/modals/Modal/ReportForm/ReportForm.utils.ts","shared/components/modals/Modal/ReportForm/strings.ts","shared/components/modals/Modal/ReportForm/ReportForm.style.ts","shared/components/modals/Modal/ReportForm/ReportForm.tsx","shared/components/modals/Modal/Icon/icons/index.ts","shared/components/modals/Modal/Icon/Icon.style.ts","shared/components/modals/Modal/Icon/Icon.tsx","shared/components/modals/Modal/Modal.style.ts","shared/components/modals/Modal/Modal.tsx","shared/components/modals/Modal/strings.ts","shared/components/OfferCarousel/OfferCarousel.style.ts","shared/utils/generateUserToken.tsx","shared/components/OfferCarousel/OfferCarousel.tsx","images/icons/other/EditPencil.svg","features/MyCenter/components/MyDocumentsTable/MyDocumentsTable.tsx","shared/components/TableCell.tsx","features/MyCenter/components/MyDocumentsTable/DocumentDetails/DocumentDetails.style.ts","features/MyCenter/components/MyDocumentsTable/DocumentDetails/DocumentDetails.tsx","features/MyCenter/components/MyDocumentsTable/Document/Document.style.ts","features/MyCenter/components/MyDocumentsTable/Document/Document.tsx","features/MyCenter/components/MyDocumentsTable/MyDocumentsTable.style.ts","features/MyCenter/components/modals/ChangeMeasurementPointNameModal/ChangeMeasurementPointNameModal.style.ts","features/MyCenter/components/modals/ChangeMeasurementPointNameModal/ChangeMeasurementPointNameModal.tsx","features/MySettings/components/forms/EditFieldForm/EditFieldForm.style.ts","features/MySettings/components/forms/EditFieldForm/EditFieldForm.tsx","features/MyCenter/components/MyInformation.tsx","images/icons/myNews/ReadNews.svg","images/icons/myNews/UnreadNews.svg","features/MyCenter/components/MyNews.tsx","shared/hooks/createTransaction.ts","shared/utils/balanceParser.tsx","images/icons/other/PreviewDoc.svg","images/icons/myInvoices/Paid.svg","images/icons/myInvoices/Unpaid.svg","images/icons/myInvoices/DownloadPDF.svg","features/MyCenter/MyCenter.tsx","shared/components/NumberChangeAnimation.tsx","features/MyInvoices/components/FilterComponents.tsx","shared/components/Pagination.tsx","features/MyInvoices/components/InvoicesList/InvoicesList.style.ts","features/MyInvoices/components/InvoicesList/InvoicesList.tsx","features/MyCenter/components/MyPaymentsTable.tsx","core/analytics/trackEventOutsideComponent.ts","core/store/entity/documents/documentsSelector.ts","core/store/entity/measurementPoints/measurementPointsSelectors.ts","core/store/entity/news/newsSelector.ts","shared/contracts/agreementStatus.ts","core/store/entity/userAgreements/userAgreementsSelectors.ts","core/store/ui/uiSelectors.ts","features/MyCenter/dataSource.tsx","features/MyCenter/MyCenter.style.ts","core/store/payments/actions.ts","core/store/payments/paymentsSelectors.ts","core/auth/useLogout.ts","features/MyCenter/MyCenter.utils.tsx","core/store/entity/readings/readingsSelectors.ts","features/MyReadings/components/Chart/Chart.style.ts","features/MyReadings/components/Chart/Chart.tsx","images/icons/myReadings/Readings.svg","features/MyReadings/MyReadings.tsx","shared/components/ToggleButton.tsx","features/MyReadings/MyReadings.style.ts","features/MyReadings/components/modals/RequestProsumentMeasurementPointReportModal/RequestProsumentMeasurementPointReportModal.style.ts","features/MyReadings/components/consents/AcceptElectronicContact.tsx","features/MyReadings/components/modals/RequestProsumentMeasurementPointReportModal/RequestProsumentMeasurementPointReportModal.tsx","images/icons/myInvoices/Filtr.svg","features/MyInvoices/MyInvoices.style.ts","features/MyNews/MyNewsPage.style.ts","features/MyNews/components/SingleNewsOnPage/SingleNewsOnPage.style.ts","features/MyNews/components/modals/SingleNewsModal/SingleNewsModal.style.ts","features/MyNews/components/modals/SingleNewsModal/SingleNewsModal.tsx","features/MyNews/components/SingleNewsOnPage/SingleNewsOnPage.tsx","features/Return/ReturnPage.tsx","images/icons/mySettings/CreditCard.svg","images/icons/mySettings/Documents.svg","images/icons/mySettings/Email.svg","images/icons/mySettings/Marketing.svg","features/MySettings/MySettingsPage.utils.ts","features/MySettings/MySettingsPage.style.ts","core/store/entity/userNotifications/userNotificationsSelectors.ts","features/MySettings/components/Setting/Setting.style.ts","features/MySettings/components/Setting/Setting.tsx","features/MySettings/components/DocumentLink/DocumentLink.style.ts","features/MySettings/components/DocumentLink/DocumentLink.tsx","features/MySettings/components/Switch/Switch.style.ts","features/MySettings/components/Switch/Switch.tsx","features/MySettings/components/forms/SwitchForm/SwitchForm.style.ts","features/MySettings/components/forms/SwitchForm/SwitchForm.tsx","features/MySettings/components/forms/ChangePasswordForm/ChangePasswordForm.utils.ts","features/MySettings/components/forms/ChangePasswordForm/ChangePasswordForm.style.ts","features/MySettings/components/forms/ChangePasswordForm/ChangePasswordForm.tsx","features/MySettings/ids.ts","features/MySettings/components/forms/EditAddressForm/EditAddressForm.utils.ts","features/MySettings/components/forms/EditAddressForm/EditAddressForm.style.ts","features/MySettings/components/forms/EditAddressForm/EditAddressForm.tsx","features/MySettings/components/forms/EditAddressForm/dataSource.ts","features/MySettings/components/forms/EnableMFAForm/EnableMFAForm.style.ts","features/MySettings/components/forms/UpdateLinkedInvoices/UpdateLinkedInvoices.style.ts","core/store/user/actions.ts","features/MySettings/components/forms/UpdateLinkedInvoices/UpdateLinkedInvoices.tsx","features/MySettings/components/DevicesList/DevicesList.style.ts","images/icons/mySettings/Delete.svg","features/MySettings/components/forms/EnableMFAForm/EnableMFAForm.types.ts","core/store/trustedMfaDevices/trustedMfaDevicesSelectors.ts","features/MySettings/components/DevicesList/DevicesList.tsx","features/MySettings/components/forms/EnableMFAForm/EnableMFAForm.utils.tsx","features/MySettings/components/forms/ModifyMFAForm/ModifyMFAForm.types.ts","shared/components/InputWrapper/LabeledField.styles.ts","shared/components/InputWrapper/LabeledField.tsx","features/MySettings/components/forms/EnableMFAForm/EnableMFAForm.tsx","core/store/user/userAccountSelectors.ts","features/MySettings/components/forms/ModifyMFAForm/ModifyMFAForm.style.ts","features/MySettings/components/forms/ModifyMFAForm/ModifyMFAForm.utils.tsx","features/MySettings/components/forms/EditMainPhoneForm/EditMainPhoneForm.types.ts","features/MySettings/components/forms/ModifyMFAForm/ModifyMFAForm.tsx","features/MySettings/components/forms/EditMainPhoneForm/EditMainPhoneForm.style.ts","features/MySettings/components/forms/EditMainPhoneForm/EditMainPhoneForm.utils.tsx","features/MySettings/MySettingsPage.tsx","features/MySettings/components/forms/EditMainPhoneForm/components/EditMainPhoneWithoutMFAForm/EditMainPhoneWithoutMFAForm.tsx","features/MySettings/components/forms/EditMainPhoneForm/components/EditMainPhoneIncludingMFAForm/EditMainPhoneIncludingMFAForm.tsx","features/MySettings/components/forms/EditMainPhoneForm/EditMainPhoneForm.tsx","core/routes/routesPaths.tsx","features/MyCenter/strings.ts","features/MyInvoices/MyInvoices.tsx","features/MyInvoices/invoicesDataSource.tsx","features/MyNews/MyNewsPage.tsx","features/MyNews/newsDataSource.ts","features/MySettings/mySettingsDataSource.ts","features/NewPassword/NewPassword.tsx","shared/components/Sider.tsx","shared/components/modals/AcceptRequiredConsentsModal.tsx","images/icons/fabBOK/Btn.svg","shared/components/poppers/CustomerServiceOffice/CustomerServiceOfficeFab.style.ts","shared/components/poppers/CustomerServiceOffice/CustomerServiceOfficeFab.tsx","shared/components/poppers/CustomerServiceOffice/strings.ts","images/icons/topCards/Happy.svg","images/icons/topCards/Sad.svg","images/icons/topCards/Weird.svg","shared/components/summaryCards/SummaryCardWrapper.tsx","shared/components/summaryCards/MyBalanceCard.tsx","shared/components/summaryCards/MyAccountCard.tsx","images/icons/topCards/Contract.svg","shared/components/summaryCards/MyDocumentsCard.tsx","images/icons/topCards/Calendar.svg","shared/components/LinearProgress.tsx","shared/components/summaryCards/MyPaymentsCard.tsx","shared/components/TextLoader.tsx","images/icons/Logout.svg","shared/components/UserMenu.tsx","images/icons/notification/Notification_Off.svg","images/icons/notification/Notification.svg","shared/components/LoggedAppLayout/LoggedAppLayout.style.ts","shared/components/customersSelector/SingleCustomerNumberData.tsx","core/store/entity/customerNumbers/customerNumbersSelectors.ts","shared/hooks/useCacheReload.ts","shared/components/customersSelector/CustomersSelector.tsx","shared/components/customersSelector/dataSource.ts","shared/components/LoggedAppLayout/LoggedAppLayout.tsx","shared/components/summaryCards/dataSource.tsx","core/store/administration/administrationSelectors.ts","core/auth/CustomAuthenticationgComponent.tsx","core/auth/GuardedRoute.tsx","core/routes/Routes.tsx","App.tsx","core/auth/useUserUnloaded.ts","core/auth/OidcProvider.tsx","serviceWorker.ts","styles/theme.tsx","index.tsx"],"names":["module","exports","InvoiceType","Paper","Email","AccountType","Individual","Commercial","AccountingDocumentStatus","Paid","PendingPayment","Unpaid","TranslatedAccountingDocumentStatus","AccountingDocumentStatusFilter","All","AccountingDocumentType","Invoice","PrepaymentInvoice","Forecast","CollectiveInvoice","InterestNote","DebitNote","CreditNote","Other","NoteCorrection","InvoiceCorrection","TranslatedAccountingDocumentType","AccountingDocumentTypeFilter","AllInvoices","AllNotes","AccountingDocumentsSortType","DocumentNumber","DocumentDate","DueDate","TotalAmount","AgreementType","TranslatedAgreementType","ConsentStatus","Accepted","NotSet","Declined","NewsTypeFilter","Unread","OrderStatus","New","Pending","Completed","CompletedWithErrors","ValidationErrorEnum","FakeTaxNumber","CustomerNotFound","TaxNumberUsed","CustomerNotActive","SegmentNotActive","AdditionalValidationFailed","DocumentType","PrivacyPolicy","Terms","ElectronicContact","PhoneContact","CookiesPolicy","Faq","EInvoice","EInvoiceTerms","EInvoiceTermsAcceptance","StoreReducers","initialState","modal","isOpen","type","undefined","withCancelButton","withSubmitButton","onSubmit","onCancel","title","subtitle","text","text2","smallSubtitle","subtitleWithMargin","submitButtonText","cancelButtonText","alreadySavedFormFields","alreadySavedInvoiceTypeRequests","cookiesSettingsDialog","isChangePhoneAndModifyMfaPath","uiSlice","createSlice","name","ui","reducers","hideModal","state","showModal","action","payload","addSavedFormField","addSaveInvoiceTypeRequests","removeSavedFormField","filter","field","id","switchCookiesDialog","setIsChangePhoneAndModifyMfaPath","uiActions","actions","persistConfig","key","storage","whitelist","persistUiReducer","persistReducer","reducer","actionsInterceptorMiddleware","actionsHandlers","forEach","actionsHandler","addActionsCallback","handlerId","Math","random","toString","substr","this","actionHandlers","removeListener","actionTypes","cleanAction","Promise","resolve","callback","then","result","middleWareFn","store","next","forEachObjIndexed","actionHandler","includes","dispatch","getState","EntityReducers","getAction","initialLoadingState","loadingPending","error","total","getEntityAdapterReducers","adapter","addOne","removeOne","updateOne","upsertOne","addMany","removeMany","updateMany","upsertMany","removeAll","setAll","getBaseState","additionalState","getInitialState","handleLoadingAction","thunk","builder","addCase","pending","rejected","getAllThunk","createAsyncThunk","thunkApi","a","execute","response","data","keepPrevious","getAllExtraReducers","extractArrayFromResponse","fulfilled","saveAction","customerNumbersGetAll","customerNumbers","useThunkApi","config","method","url","omitCustomerNumber","omitConsents","userConsentsSelector","userConsents","allConsentsSelector","createSelector","values","entities","notAcceptedRequiredConsentsSelector","consents","consent","mandatory","status","notSetOptionalConsentsSelector","hasAcceptedOrSetAllConsentsSelector","allConsents","notAcceptedConsents","notSetOptionalConsents","length","hasNotAcceptedRequiredOrSetConsentsSelector","notSetConsents","electronicContactMandatoryConsentsSelector","documentType","map","element","Object","assign","hasAcceptedElectronicContactConsentsSelector","userConsentsGetAll","updateConsent","isAccepted","applicationServiceMode","administrationSlice","administration","setApplicationServiceModeOn","administrationActions","AppError","Error","validateStatus","getExecute","token","customerNumber","additionalAxiosConfig","loadingSetter","dataSetter","notSecured","axiosStatic","request","baseURL","process","params","headers","Authorization","resp","isServerError","isServerUnavailable","traceId","finally","getCustomerNumber","ids","selectedCustomerNumber","allCustomerNumbers","addActionsPromise","blockUntilConsentsAgreed","hasAcceptedConsents","notAcceptedConsent","indexBy","prop","useApi","dataMapper","useState","loading","setLoading","setData","baseConfig","useCallback","additionalConfig","number","user","oidc","access_token","consentsState","entityAdapter","createEntityAdapter","testGetById","test","condition","force","entity","testGetAll","testSlice","count","increment","extraReducers","getByIdExtraReducers","selectId","el","customerNumbersSlice","setCustomerNumber","indexOf","addManyActionsCallback","USER_FOUND","selectdNumer","customerNumberActions","persisteCustomerNumbersReducer","errorToString","flat","join","getUserAccount","userAccount","_","updateCorrespondenceEmail","updateMainAddress","updateCorrespondenceAddress","updatePhoneNumber","updatePassword","enableMfaVerification","enableMfa","withCredentials","mfaContactTypeChangeFirstStep","actionAccessToken","mfaContactTypeChangeSecondStep","mfaContactTypeChangeThirdStep","updateAccountMainPhoneNumberFirstStep","updateAccountMainPhoneNumberSecondStep","updateAccountMainPhoneNumberThirdStep","userAccountSlice","account","accessToken","refreshContactPhoneNumber","contactPhoneNumber","newPhoneNumber","refreshCorrespondenceEmail","correspondenceEmail","newEmailAddress","refreshMainAddress","mainAddressLine1","newAddressLine1","mainAddressLine2","newAddressLine2","refreshCorrespondenceAddress","correspondenceAddressLine1","correspondenceAddressLine2","resetAccessToken","getUserAccoutExtraReducers","USER_SIGNED_OUT","window","location","reload","userAccountActions","resources","pl","global","i18n","use","initReactI18next","init","defaultNS","lng","fallbackLng","interpolation","escapeValue","createTransaction","payments","orderItems","paymentRedirectUrl","replace","getOrderItems","orderId","getOrder","validateHash","createTransactionFromBalance","t","currentOrderId","order","isHashValid","paymentsSlice","resetState","orderStatus","setTimeout","getPaymentsExtraReducers","paymentActions","getPolicyDocument","policies","documents","policiesSlice","doc","getPoliciesExtraReducers","getOffers","offers","offersSlice","getOffersExtraReducers","userConsentsSlice","userAgreementsGetAll","userAgreements","updateAgreementCorrespondenceAddress","updateAgreementEmail","addressDelimiter","houseNumberPrefix","explodeLine1","line","exploded","splittedAddressLine1","split","getSplittedAddressLine","houseNumber","trim","streetNumber","streetName","explodeLine2","postalCode","cityName","explodeAddress","address","line1","line2","implodeLine1","imploded","implodeLine2","implodeAddress","field1","field2","removeDelimiterFromAddressLine1","addressLine1","getMeasurementPointsNumbers","points","point","getAgreementsIds","items","agreement","agreementId","getMeasurementPointsFilteredByAgreements","measurementPoints","agreements","agreementsIds","stringifyMeasurementPoint","option","getConfirmationAddress","addressLine2","userAgreementsSlice","refreshAgreementsEmails","otherAgreementsIds","concat","value","emailAddresses","email","index","emails","newEmail","refreshAgreementCorrespondenceAddress","newAddress","refreshAgreementEmailsAfterActivateEInvoice","invoiceType","Array","results","userAgreementsActions","documentsGetAll","document","accountingDocumentId","documentsSlice","readingsGetAll","readings","from","addYears","startOfYear","Date","to","endOfYear","readingsSlice","measurementPointsGetAll","updateMeasurementPointsEmail","activationEInvoices","measurementPointId","measurementPointsSlice","userNotificationsGetAll","userNotifications","updateUserNotification","isActive","userNotificationsSlice","newsGetAll","news","newsSlice","persistedSettingsSlice","persistedSettings","cookiesSeen","analyticsEnabled","mobileAppNavSeen","setPersistedSetting","persistedSetting","persistedSettingsActions","persistedSettingsReducer","getTrustedMfaDevices","removeTrustedMfaDevice","devices","trustedMfaDevicesSlice","trustedMfaDevices","device","getTrustedMfaDevicesExtraReducers","rootReducer","combineReducers","configureStore","middleware","getDefaultMiddleware","serializableCheck","ignoredActions","FLUSH","REHYDRATE","PAUSE","PERSIST","PURGE","REGISTER","ignoredPaths","devTools","useAppDispatch","useDispatch","useAppSelector","selector","equalityFn","left","right","useSelector","persistedSettingsStateSelector","usePersistedSetting","getPersistedSettingState","useAnalyticsState","trackCustomEvent","eventArgs","cookieValue","ReactGA","event","pushToEventsQueue","eventsQueue","push","sendAllEventsFromQueue","shift","analyticsCookiesNames","useAnalytics","sendEventsFromQueue","analyticsState","setAnalyticsState","useLocation","useEffect","pathname","search","usePageViews","enableGa","newState","cookies","Cookies","cookieName","remove","path","deactivateGa","initialize","trackingId","gaOptions","debug","titleCase","contentSidePadding","top","bottom","padding","useStyles","makeStyles","theme","dialog","width","color","maxWidth","breakpoints","down","margin","textContainer","display","flexDirection","alignItems","marginBottom","spacing","cookieIcon","marginRight","fill","palette","primary","main","mainContent","fontSize","cursor","fontWeight","typography","fontWeightBold","transition","dark","textDecoration","buttonsContainer","justifyContent","marginLeft","marginTop","contentMsg","alignSelf","_extends","target","i","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","d","cx","cy","r","_ref15","_ref16","_ref17","_ref","svgRef","props","x","y","viewBox","style","enableBackground","xmlSpace","ref","ForwardRef","forwardRef","colorOpacityParser","opacity","round","Button","withStyles","root","textTransform","borderRadius","boxShadow","sizeSmall","height","containedPrimary","border","common","white","background","outlined","backgroundColor","outlinedPrimary","containedSecondary","secondary","letterSpacing","lineHeight","overflow","withTheme","MaterialButton","createStyles","spinner","position","visible","StyledButton","children","styles","statusColorValue","getStatusColor","additionalStyles","variant","pointerEvents","CircularProgress","size","className","CookiesConsent","React","memo","positionTop","toggleGA","cookieAccepted","setCookieAccepted","handleCookieAccept","analytics","mojaPolenergiaURL","useMemo","cookiesURL","privacyTermsURL","Dialog","open","href","rel","onClick","button","outline","zIndex","BUTTON_WIDTH_CLOSED","transitionDelay","BUTTON_HEIGHT","BUTTON_POSITION","icon","BUTTON_ICON_SIZE","getButtonStyles","boxSizing","closeButton","saveButton","submit","isCloseButton","paddingBottom","dialogTitle","textAlign","contentContainer","cookieCard","cookiesTitle","paddingLeft","minWidth","cookieContainer","switchContainer","switchStateTitle","CookiesSettings","close","useTranslation","analyticsCheckState","setAnalyticsCheckState","aria-describedby","onClose","reason","fullWidth","DialogTitle","disableTypography","DialogContent","checked","disabled","dangerouslySetInnerHTML","__html","onChange","e","CookiesFloatingButton","googleAnalytics","useLoadingState","loadingProps","timeout","isLoading","setIsLoading","timer","clearTimeout","navExpandMenu","childWrapper","child","closeIcon","maxHeight","NavExpandMenu","expanded","clickElementRender","closeBtn","useTheme","_expanded","setExpanded","ClickAwayListener","onClickAway","prev","Collapse","in","collapsedHeight","stroke","strokeWidth","fillRule","transform","rx","ry","container","wrapper","header","content","DownloadMobileApp","setMobileAppNavSeen","appLink","isIOS","isAndroid","showNav","isMobile","src","mobileAppImg","alt","minHeight","backgroundSize","backgroundPosition","backgroundRepeat","backgroundImage","registerBack5","registerBack4","registerBack3","registerBack2","registerBack","BackgroundWrapper","animation","WIDTH","HEIGHT","textShadow","black","iframe","Animation","customClass","NotFoundPage","iconContainer","flexFlow","unavaiableContent","strokeLinecap","strokeLinejoin","ServiceUnavailablePage","registerSteps","x1","y1","x2","y2","stopColor","offset","fillOpacity","fieldNames","accountTypes","passReqNames","preRegister","rows","ErrorCodes","AdditionalValidationType","mfaChannels","PasswordRequirements","DIGIT","regex","LETTERS","LENGTH","registerData","subHeader","mfa","description","label","errorMsg","channel","helper","inputs","EMAIL","placeholder","validation","PASSWORD","password","customNextField","PHONE","CUSTOMER_NUMBER","TAX_NUMBER","commercialAccountData","FIRST_NAME","accType","COMMERCIAL","LAST_NAME","phoneNumberData","phonePrefix","PHONE_PREFIX","taxNumberData","INDIVIDUAL","invoiceValueData","INVOICE_VALUE","ErrorMsg","roles","NewPassData","CONFIRMED_PASSWORD","MFA_CODE","popover","paper","PAPER_MAX_WIDTH","btn","HintModal","show","scroll","classes","DialogActions","HintPopover","small","customHintTitle","topCard","clickable","smallScreen","useMediaQuery","anchorEl","setAnchorEl","setShowModal","shouldDisplayModal","svgProps","onMouseEnter","currentTarget","onMouseLeave","Popover","Boolean","anchorOrigin","vertical","horizontal","transformOrigin","disableRestoreFocus","disableScrollLock","Input","TextField","inputContainer","titles","flexWrap","gap","titlesAndButton","changeButton","input","iconDisabled","validationContainer","goodPasswordIcon","wrongPasswordIcon","wrongPasswordText","StyledInput","change","CustomInput","inputData","showError","errMessage","optional","disable","setError","CustomPasswordInput","showRequirements","setVisible","passwordReq","setPasswordReq","check","digit","letters","autoComplete","requirement","PeselOrNipInput","setFieldValue","fieldData","NOT_SELECTED","ACCOUNT_TYPE","accountType","setAccountType","newPasswordContainer","waves","fontWeightMedium","fontWeightLight","formContainer","paddingRight","borderRight","paddingTop","contentWrapper","tableTextColor","paragraph","paragraphBold","buttonsWrapper","secondField","spacer","form","messageWrapper","modalWrapper","overflowY","numericInput","errors","linkButton","extractFormValues","AcceptedConsentIds","restValues","toPairs","fieldName","ClientId","ConfirmedPassword","SEND_TOKEN","SEND_INVOICE","useSavePdf","responseType","get","downloadingUrls","setDownloadingUrls","setDownloadingState","downloadBtnRenderer","documentName","fileName","contentDisposition","matches","exec","getFileName","saveAs","StyledCheckbox","Checkbox","consentContainer","spanHover","optionalConsent","ConsentsCheckbox","documentTitle","documentFile","documentContent","setShow","savePdf","optionalConsentTitle","checkedIcon","disableRipple","saveFn","preventDefault","section","ICON_SIZE","collectionPoint","wrappedSpan","WebkitBoxOrient","WebkitLineClamp","whiteSpace","AddressParser","a1","a2","a1Line","startsWith","MeasurementPoint","detailsContainer","borderTop","toggler","footer","CustomerNumberSelectionModal","customerNumbersDetails","selectedNumbers","setSelectedCustomerNumbers","setIsOpen","selectedNumbersState","setSelectedNumbersState","NIPorPESEL","moreThanOnePoint","setDefaultValues","numbersValues","reduce","acc","handleClose","setNumbers","compose","pickBy","val","transitionDuration","measurementPointItems","isEmpty","CustomerNumberMeasurementPoints","item","fontWeightRegular","RegisterConfirmationModal","SubmitButton","ErrorPosition","track","trackHorizontal","thumb","trackVertical","CustomScrollBar","autoHeight","wrapperProps","setHeight","childrenRef","useRef","childrenHeight","current","offsetHeight","trackXProps","renderer","elementRef","restProps","trackYProps","thumbXProps","thumbYProps","measurementPointsWrapper","MeasurementPointsModal","customer","person","borderBottom","dataSection","only","divider","borderLeft","measurementPoint","pointsWrapper","pointsDisplay","numberSpan","seePointsSpan","RegisterSummary","formData","formAPIResponse","prevPage","enqueueSnackbar","useSnackbar","accCreated","setAccCreated","mainCustomerNumberDetails","setMainCustomerNumberDetails","restCustomerNumbersDetails","setRestCustomerNumbersDetails","selectedAdditionalNumbers","setSelectedAdditionalNumbers","responseData","numberOfMainPoints","executeRegister","InvoiceValue","surname","formDataWithoutAdditionals","createAcc","CustomerNumbers","AdditionalValidationValue","catch","err","noConnectionOrServerError","selectedNumber","measurementDetailsPerCustomer","find","details","restNumbers","customerName","numbers","numberDetails","MeasurementPointsDisplay","showMeasurementPointsModal","setShowMeasurementPointsModal","logo","ANIMATION_HEIGHT","ANIMATION_WIDTH","row","rowContent","rightRowContent","rowTitle","rowDocSmall","rowBorder","PreRegister","nextPage","buttonVisible","XSScreen","info","buttonContainer","BTN_HEIGHT","ValidationErrorModal","errCode","phone","mail","contact","setContact","copyDataToClipboard","dataToCopy","copy","preventDuplicate","autoHideDuration","executeGetContactDetails","getContactDetails","res","contactDetails","phoneNumber","Consents","executeGetDocuments","documentsContent","setDocumentsContent","all","pdfDocumentAvailable","contents","validate","meta","touched","submitCount","validateFunction","DisplayInput","getFieldProps","DisplayPeselOrNipInput","getFieldMeta","DisplayRegisterConsents","setConsents","executeGetConsents","getConsents","emptyToggler","TOGGLE_ICON_SIZE","PARAGRAPH_WIDTH","TOGGLE_ICON_CONTAINER_SIZE","Toggler","setIndex","setNext","setPrev","LeftPng","toLowerCase","RightPng","Carousel","settings","showToggler","currentSlide","setCurrentSlide","defaultSettings","dots","infinite","autoplay","adaptiveHeight","slidesToShow","variableWidth","initialSlide","slider","afterChange","slickNext","slickPrev","inputRoot","borderColor","inputError","highlightedOption","errorInput","noOptions","noItemsWrapper","popper","message","setMessage","duration","standard","Grid","Typography","getInputStyles","errorMessageBottom","wrapperClass","formError","errorPosition","Top","custom","autocomplete","autocompleteStyles","useAutocompleteStyles","errorStyle","formErrorStyle","justify","ErrorMessage","inputProps","Bottom","FormikField","required","formikContext","useFormikContext","formikErrors","fieldError","autocompleteField","component","as","Autocomplete","multiple","options","filterOptions","stringify","selectedOptions","carousel","initialValue","getOptionSelected","freeSolo","onInputChange","customNoOptionText","inputValue","setInputValue","autocompleteValue","setAutocompleteValue","disableCloseOnSelect","getOptionLabel","newValue","renderTags","clearOnBlur","disableListWrap","disablePortal","renderOption","selected","Fragment","renderInput","InputProps","startAdornment","InputAdornment","Search","endAdornment","noOptionsText","popupIcon","PopperComponent","Popper","placement","Box","carouselOuterWrapper","carouselInnerWrapper","unselectedButton","selectedButton","SelectiveButtons","useField","handleClick","fontFamily","overflowX","textIndent","WebkitAppearance","phonePrefixName","persistedPhoneNumber","persistedPrefix","localization","setTouched","setPhoneNumber","isError","parsedPhone","parsePhoneNumber","Phone","country","onMount","dialCode","handleOnMount","slice","handleOnChange","onBlur","enableSearch","countryCodeEditable","searchPlaceholder","searchNotFound","PhoneNumberConfirmationModal","MfaContactType","phoneFormatter","separator","matched","match","formatted","loader","autocompleteWrapper","collapse","initialValues","isAccountType","Register","setFormData","setFormApiResponse","executeGetData","isTokenValid","setIsTokenOk","rest","isQuickRegistration","setIsQuickRegistration","initialFormValues","setInitialFormValues","apiReponse","prevState","PhonePrefix","CustomerNumber","Type","getData","showErrModal","setShowErrModal","showConfirmPhoneNumberModal","setShowConfirmPhoneNumberModal","setErrCode","registerLoading","onFormSubmit","validateForm","setFieldError","formValues","MFAContactType","String","validationSuccessful","errorReason","Position","some","role","isValidPhoneNumber","validateCustomFields","enableReinitialize","submitForm","MFA_CONTACT_TYPE","LinearProgress","registerContainer","filterUnits","dx","dy","stdDeviation","radius","operator","xlinkHref","OfferType","ImageType","ImageSize","offersStateSelector","getOffersSelector","getDesktopOffersSelector","filteredOffers","images","sort","b","priorityScore","getDesktopOffersByTypeSelector","ActivationPoint","card","textOverflow","secondaryBtn","DetailsCardWrapper","Icon","iconSize","disableLoader","buttonHandler","buttonText","secondaryButtonHandler","secondaryButtonText","customButtons","headerClass","wrapperMinHeight","iconCustomSize","Width","Height","Fade","Actions","cancelText","submitText","cardHeader","cardContent","emptyCard","avatar","emptyCardAvatar","numberHeading","delete","SelectedMeasurementPoint","onDelete","isDelete","empty","Card","CardContent","CardHeader","IconButton","measurementPointBoxShadow","carouselOuterWrapperWide","autocompletePopper","modalHeading","selectedMeasurementPoint","selectedMeasurementPointWide","Label","control","FormControlLabel","MissingEInvoices","subHeading","Payer","headingClass","stringifyAddress","xs","measurementPointsHeading","validateConfirmActivationPointForm","useDispatchOnCustomerNumberChange","loadDataFn","previousCustomerNumber","setPreviousCustomerNumber","policiesSelector","getDocuments","pdfAvailable","getNoPdfDocuments","useConfirmActivationPointFormDataSource","policyDocuments","documentTypesToFetch","pdf","loadData","ConfirmActivationPointForm","selectedMeasurementPoints","selectedActivationPointOption","setSelectedMeasurementPoints","update","formStyles","eInvoiceAgreements","useModalFormStyles","eInvoiceStyles","useEInvoiceStyles","changeFor","prefix","Many","hasSelectedAgreementEInvoice","onFormCancel","replaceConsentLink","noMarks","replaceAll","direction","Number","One","part","ActivatedEInvoices","Radio","RadioGroup","FormControl","emailWrapper","singleMeasurementPointHeading","singleMeasurementPointText","messages","SingleMeasurementPoint","heading","emailRegex","phoneRegex","validateEmailForm","validatePhoneForm","validateAddressForm","min","max","validateActivationPointForm","activationPoint","tokenLinkReducers","capitalize","charAt","toUpperCase","getAgreementsAssignedToOtherEmailThan","getUniqueEmails","Set","SelectActivationPointForm","setCorrespondenceEmail","setSelectedActivationPointOption","noEInvoiceAgreements","availableMeasurementPoints","setAvailableMeasurementPoints","createFilterOptions","getPreOptions","many","updateOptions","newOptions","currentPoint","currentMeasurementPoint","hasManyAgreements","emailAddress","activatedEInvoices","Some","activateOptions","labelSelected","noEInvoicePoint","labelSingle","missingEInvoices","Single","None","initialActivationPointOption","parsedSelectedActivationPointOption","initialValuesRefs","isManyActivationPointsSelected","activateFor","validateOnChange","Disable","removeMeasurementPoint","labelPlacement","getTextAreaStyles","resize","textarea","textareaError","TextArea","TextareaAutosize","FormikTextArea","titleSmall","subtitleSmall","Text","amount","DESCRIPTION_LENGTH","userSelect","errorTitle","textArea","ReportForm","callPending","environment","overpay","success","paymentWait","paymentDone","icons","shape","backdrop","noMargin","iconWrapper","borderTopLeftRadius","borderTopRightRadius","textWrapper","Modal","isModalOpen","executeSendReport","isReportSending","onCancelClick","onSubmitClick","getButtonTitle","buttonType","showButtons","showText","showIcon","onReportFormSubmit","ticketType","BackdropProps","up","adItem","wrapperTopType","wrapperCardType","WRAPPER_CARD_TYPE_HEIGHT","wrapperBannerType","itemContent","itemTopType","itemCardType","between","itemBannerType","generateUserToken","generatedTokenLink","OfferCarousel","initialIndex","setActiveSlide","activeSlide","speed","slidesToScroll","autoplaySpeed","beforeChange","old","appendDots","customPaging","activeStyle","itemClassName","itemStyle","handleRedirect","LOADING_CUSTOM_TIMEOUT","adType","redirectUrl","aria-label","imageUrl","ModalContent","tableCell","TableCellContent","bold","enter","div","table","gridElement","flexEndAlignment","DocumentDetails","selectedPointNumber","agreementType","invoiceTypeContent","tariff","endDate","settlementType","correspondenceAddress","sm","md","Document","selectedPoint","lastConsumptionValue","consumptionUnit","Divider","togglerContainer","tableWrapper","modalButtonsWrapper","ChangeMeasurementPointNameModal","pointData","reloadData","selectedIndex","newName","setNewName","nameError","executeNameChange","nameChange","console","log","EditFieldForm","submitBtnText","cancelBtnText","saveBtnVisible","emailToInform","MyDocumentsTable","activateEInvoiceHandler","setSelectedPoint","showNameModal","setShowNameModal","showInvoiceTypeChangeModal","setShowInvoiceTypeChangeModal","setSelectedIndex","useDeepCompareEffect","executeInvoiceTypeChange","getAgreement","agreementTariff","parameters","param","agreementEndDate","dateTo","format","parseISO","agreementCorrespondenceAddress","agreementCorrespondenceEmail","changeInvoiceType","showSuccessModal","FirstPage","showModalState","setShowModalState","EmailField","MyInformation","myInformation","mainAddress","lg","singleNews","newsHeader","newsContent","MyNews","myNews","firstNews","secondNews","SingleNews","date","markedAsRead","yesterday","isYesterday","parseJSON","formattedDate","readOnly","JSON","parse","useCreateTransaction","isCreatingTransaction","setIsCreatingTransaction","transactions","btnRenderer","amountParser","precision","toFixed","Modals","NumberChangeAnimation","setValues","numOfValues","useSpring","span","parseFloat","formControl","select","InvoiceFilters","InvoiceTypeFilter","filtersState","setFiltersState","translateFilter","typeOfDoc","Select","MenuItem","MeasurementPointFilter","displayEmpty","MenuProps","PaperProps","sortTypes","desc","Sort","setSort","loadInvoices","translateSort","sortBy","aria-controls","sortDesc","Menu","sortItem","start","paginationContainer","pagination","CustomPagination","page","numberOfPages","siblingCount","screenXS","siblings","Pagination","ul","tableHeader","resizableTableContainer","invoicesNotFound","bodyCell","checkboxStyles","borderBottomLeftRadius","lastCell","borderBottomRightRadius","buttonsCell","pdfBtn","payInvoiceBtn","checkedCell","amountCell","tableRow","sumAmount","payAllBtn","NotesAndOther","DocsList","invoices","statusType","pageSize","defaultFilter","isXS","setPage","invoicesState","setInvoicesState","checkedInvoices","setCheckInvoices","checkedAmount","setCheckedAmount","tableHeight","setTableHeight","getAllTransactions","paymentToken","balance","updateAmount","handleInvoicesOnClick","checkedOnes","splice","checkPastUnpaidInvoices","dueDate","isPast","equals","docsPageStart","_loadInvoices","renderLoader","disableShrink","renderInvoicesNotFound","defaultFilters","msg","renderResults","Table","stickyHeader","TableBody","documentNumber","consumptionValue","totalAmount","measurementPointName","measurementPointNumber","measurementPointAddressLine1","measurementPointAddressLine2","singlePoint","customBtnWidth","consumption","payBtnText","unpaidAmountStyle","differenceInDays","TableRow","tabIndex","TableCell","HintContent","listStyleType","renderPaymentSummary","p","TableContainer","monitorHeight","SCROLL_SIZE","paymentsTableHeaders","headerCell","toPayCell","downloadIcon","price","MyPaymentsTable","myPayments","TableHead","payment","balanceColor","paymentStatus","ToPayCell","paymentState","setPaymentState","handlePaymentStatus","pdfLink","trackEventOutsideComponent","category","documentsSelector","getDocumentsLoadingSelector","getAllDocumentsSelector","getAllUnpaidDocumentsSelector","isFuture","getDocumentsByIdsSelector","measurementPointsSelector","measurementPointsLoadingSelector","measurementPointsDataSelector","measurementPointsDictionarySelector","newsSelector","getNewsLoadingSelector","getNewsByIdsSelector","AgreementStatus","userAgreementsSelector","userAgreementsLoadingSelector","userAgreementsDictionarySelector","userAgreementsDataSelector","getActiveAgreementsSelector","getHistoricalAgreementsSelector","getNoEInvoiceAgreementsSelector","getEInvoiceAgreementsSelector","uiSelector","uiModalSelector","isErrorModalOpen","getAlreadySavedFormFields","getAlreadySavedInvoiceTypeRequests","getIsChangePhoneAndModifyMfaPath","useDataSource","newsLoading","latestNewsState","setLatestNewsState","historicalAgreements","activeAgreements","agreementsLoading","latestDocuments","setLatestDocuments","documentsLoading","documentsData","unpaidDocuments","measurementsPointsIds","setMeasurementsPointsIds","measurements","measurementsLoading","openModalKey","setOpenModalKey","loadMeasurementPoints","customerNumberChanged","unwrapResult","limit","newsFirst","newsSecond","lastData","unpaid","modals","emptyContracts","paymentsSelector","paymentsLoadingSelector","getOrderSelector","useLogout","oidcState","userManager","getUserManager","id_token","createSignoutRequest","id_token_hint","req","useQueryParam","URLSearchParams","usePaymentsStatus","OrderID","ServiceID","hash","clearParams","history","useHistory","useClearParams","logout","openStatusModal","modalSettings","Trans","i18nKey","readingsSelector","allReadingsSelector","readingsLoadingSelector","calculateUsagePerMonth","reading","month","getMonth","currentYear","isThisYear","past","getUsageByAllMeasurementPoints","getUsageByMeasurementPoints","groupedByMeasurementPoint","groupBy","mapObjIndexed","tooltip","tooltipHint","hint","tooltipLabel","tooltipData","chartUnit","chartLegend","legendItem","CURRENT_MONTH","CustomizedAxisXTick","BAR_WIDTH","localize","CustomizedAxisYTick","textAnchor","Chart","mediumScreen","largeScreen","barWidth","chartHeight","CustomBar","hasValue","lighten","containerMinWidth","barGap","barSize","strokeDasharray","strokeOpacity","axisLine","tickLine","dataKey","tick","isAnimationActive","active","minPointSize","ReadingsType","ToggleButton","grey","MaterialToggle","headerContent","flex","buttons","BTN_WIDTH","pointInfo","infoLabel","infoValue","emptyReadings","prosumerBtn","singleButtonContainer","dialogContent","AcceptElectronicContact","consentAccepted","setConsentAccepted","electronicContactConsent","executeSetConsent","isValid","setSubmitting","isSubmitting","every","RequestProsumentMeasurementPointReportModal","userData","pointNumber","pointName","userName","userNumber","userContactEmail","executeRequestForProsumerData","showRequestModal","setShowRequestModal","showSuccessMessage","setShowSuccessMessage","electronicContactConsentAccepted","setElectronicContactConsentAccepted","requestForProsumerData","MeasurementPointNumber","ClientName","ClientNumber","ClientEmail","appHeader","filters","filtersHeader","filtersOptions","logoContainer","resizableContainer","DETAILS_CARD_CONTENT_MIN_HEIGHT","upperSection","SingleNewsModal","SingleNewsOnPage","reloadNews","executeMarkAsRead","handleShowMessageClick","handleModalClose","ReturnPage","fields","settingsActionButton","sectionWrapper","settingsWrapper","emailNotificationsContainer","marketingConsentsContainer","togglerWrapper","pointTitle","linkWrapper","addressWrapper","changePasswordWrapper","userNotificationsSelector","allNotificationssSelector","notifications","breakWord","wordBreak","noBorder","Setting","wrapTitle","onEditClick","DocumentLink","isRejected","trimString","Switch","uncheckedIcon","onColor","offColor","onHandleColor","offHandleColor","activeBoxShadow","handleDiameter","loaderContainer","SwitchForm","startLoading","newLoading","stopLoading","isItemLoading","getPasswordMisssingRequirement","currentPassword","missingReqs","reqs","newPassword","confirmNewPassword","ChangePasswordForm","postalCodeRegex","isPostalCodeValid","infoWrapper","borderWidth","popperNarrow","EditAddressForm","compInfo","setIsAddressInDatabase","cities","setCities","streets","setStreets","setResults","getCities","entry","getStreets","city","executeGetAddresses","getAddresses","addresses","set","useEditAddressFormDataSource","isFieldChanged","maxLength","textDanger","UpdateLinkedInvoices","oldEmail","doNotChangeLabel","deleteButton","MFAModalView","trustedMfaDevicesSelector","trustedMfaDevicesLoadingSelector","selectTrustedMfaDevices","DevicesList","loadingDevices","friendlyName","createdAtUtc","expirationDateUtc","validateFormFields","mfaModalView","MFA_CHANNEL","ACIVATION_CODE","MfaCode","RememberDevice","DeviceName","mfaHelper","LabeledField","handleBackButton","EnableMFAForm","mainEmail","mainPhoneNumber","mainPhonePrefix","showErrorModal","INTRODUCTION","setMfaModalView","handleOnCancel","verifyAndSendToken","mfaContactType","EMAIL_INPUT","PHONE_INPUT","handleMfaActivation","mfaCode","resetForm","exit","handleSelectContactType","isNil","onKeyPress","handleKeyPress","getAccessToken","EditPhoneModalView","returnNewMfaContactType","ModifyMFAForm","showUnexpectedErrorModal","openEditMainPhoneForm","isNewContactType","setIsNewContactType","handleFirstStep","PHONE_WARNING","handleSecondStep","newMfaContactType","handleThirdStep","handleChangeMfaContactType","editPhoneModalView","EditMainPhoneWithoutMFAForm","phonePrefixValue","phoneValue","onEnterKeyPress","EditMainPhoneIncludingMFAForm","EditMainPhoneForm","isMfaEnabled","openModifyMfaForm","setEditPhoneModalView","isFirstCycle","setIsFirstCycle","newPhoneNumberPrefix","handleEditMainPhone","pathFactory","protectedRoute","routeLinkTitle","RouteLinkIcon","SiderPaths","home","showDocDetails","setShowDocDetails","myDocsTitle","setLayoutProps","useContext","LayoutWrapperContext","topHeaderContent","topHeaderLoading","clearEInvoiceState","getAccountEmail","getCorrespondenceEmail","eInvoiceSettings","isMeasurementPointAssignedToAgreement","isEInvoiceButtonVisible","modalsToOpen","SelectActivationPoint","ConfirmActivationPoint","eInvoiceEmailAddress","measurementPointNumbers","isEInvoiceAccepted","isEInvoiceTremsAccepted","WalletSvg","myAccountingDocuments","NewsSvg","ContractSvg","ProfileSvg","CentrumSvg","paymentsLoading","paidDocs","setPaidDocs","unpaidDocs","setUnpaidDocs","defaultFilterValues","paginationPaid","setPaginationPaid","paginationUnpaid","setPaginationUnpaid","filterBy","setFilterBy","sortTypePaid","setSortTypePaid","sortTypeUnpaid","setSortTypeUnpaid","paidLoading","setPaidLoading","unpaidLoading","setUnpaidLoading","paidDocuments","loadPaidInvoices","args","ceil","loadUnpaidInvoices","loadInitialValuesAndData","paid","paginationState","useInvoicesDataSource","filterInvoices","paymentLoading","logoAutopay","FakturySvg","myUsage","single","readingsType","setReadingsType","showByPoint","setShowByPoint","readingsByMonth","readingsByPoint","readingsLoading","measurementPointsLoading","allReadings","showRequestProsumerMeasurementsDataModal","setShowRequestProsumerMeasurementsDataModal","parseValuesForGrid","getReadingsByPoint","getReadingsByMonth","getReadings","getSelectedPoint","getTotalCountMeasurementPoints","ReadingsSvg","ToggleButtonGroup","exclusive","newType","isProsumer","ZuzycieSvg","mobileXS","newsType","setNewsType","allNewsIds","setAllNewsIds","unreadNewsIds","setUnreadNewsIds","numOfPages","setNumOfPages","pageStart","setPageStart","unread","setTotal","allNewsData","unreadNewsData","loadAllNews","loadUnreadNews","allNews","unreadNews","useNewsDataSource","handleNewsTypeChange","emptyNews","renderNews","WiadomosciSvg","initialFieldState","isFormOpen","setIsFormOpen","isChangePasswordFormOpen","setIsChangePasswordFormOpen","isEnableMfaFormOpen","setIsEnableMfaFormOpen","isModifyMfaFormOpen","setIsModifyMfaFormOpen","isEditMainPhoneFormOpen","setIsEditMainPhoneFormOpen","setField1","setField2","field1Value","setField1Value","field2Value","setField2Value","agreementIndex","setAgreementIndex","setAgreementEmailIndex","emailToEdit","setEmailToEdit","setNewEmail","setTitle","companyInfo","setCompanyInfo","currentFieldsError","setCurrentFieldsError","currentPasswordError","setCurrentPasswordError","isAddressFormOpen","setIsAddressFormOpen","updateLinkedInvoicesStyles","useUpdatedInvoicesStyles","mfaFormStyles","useMFAFormStyles","isAddressInDatabase","executeUpdateEInvoiceEmail","getNotificationSwitchLabel","getConsentSwitchLabel","notificationSwitches","n","notificationMethod","notificationType","allowedConsents","marketingSwitches","marketingDocuments","api","useMySettingsDataSource","currentAgreement","currAgreementPaperInvoice","closeForm","getModalSubtitle","newFieldsValue","modalSubtitleKey","isConfirmationNeeded","successModalTitle","getModalText","linkInvoices","confirmationStillPendng","isAddressId","openForm","f","onFieldSet","isSecond","CONTACT_PHONE","setting","CORRESPONDENCE_EMAIL","CORRESPONDENCE_ADDRESS_LINE_1","CORRESPONDENCE_ADDRESS_LINE_2","MAIN_ADDRESS_LINE_1","MAIN_ADDRESS_LINE_2","AGREEMENT_ADDRESS_LINE_1","AGREEMENT_ADDRESS_LINE_2","AGREEMENT_EMAIL","measurementPointAddress","modalStyle","isUpdateContactEmailFormOpen","showFinishModal","fieldId","value1","value2","updateAction","successAction","newEInvoiceEmailAddress","marketingSwitchesData","isContactEmail","modalEmailInfo","isEmail","updateEInvoiceEmail","SelectActivationPointUpdate","ConfirmActivationPointUpdate","NewContactEmail","onUpdateContactEmailFormSubmit","getAgreementsAssignedToEmail","getMeasurementPointsFilteredByEmail","confirmedNewPassword","validateAddress","getValidationFunc","wrap","CreditCardSvg","EmailSvg","MarketingSvg","DocumentsSvg","UstawieniaSvg","AppPaths","paymentProcessing","register","PREPARATION","FORM","SUMMARY","setFormAPIResponse","toggleSection","setToggleSection","displayedSection","registerAppImg","emailConfirmation","errorMessages","setErrorMessages","executeConfirmEmail","confirmEmail","unnest","query","userId","clientId","confirmedPassword","code","executeGetToken","loadingToken","executeReset","submited","setSubmited","mfaInput","mfaDisabled","passwordValue","link","light","activeLink","iconActive","sider","siderTransitions","hidden","overlay","Links","closeSider","isHovered","setIsHovered","valuesIn","activeClassName","Sider","mobile","rendered","setRendered","navbar","AcceptRequiredConsentsModal","requiredConsents","optionalConsents","hasNotAcceptedConsents","hasAllRequiredConsentsSelected","BUTTON_SIZE","CONTAINER_WIDTH","addressContent","officeName","contactContent","darken","CustomerServiceOfficeFab","showData","setShowData","setContactDetails","servicePhone","CARD_WIDTH","headerWrapper","customIcon","rowsContainer","SummaryCardWrapper","customIconPosition","statusColor","displayAsEmpty","mdScreen","customButton","BalanceCard","balanceData","HappySvg","headerMessage","buttonMessage","cardData","setCardData","useCreateTransactionFromBalance","getTransactions","activeDocuments","oldestUnpaidDueDate","isOverdue","isToPay","oldestUnpaidLessEqualsThan5days","abs","WeirdSvg","SadSvg","formatDistance","locale","MyAccountCard","indicatorWrapper","statusDot","historic","MyDocumentsCard","activeDocs","oldDocs","MuiLinear","paymentDate","progress","CARD_MIN_HEIGHT","topOfferWrapper","PaymentsCard","additionalBalance","dueDateState","setDueDateState","offersLoaded","setBalance","daysLeft","amountColor","datesArr","closestTo","currBalance","dueDateDisplay","CalendarSvg","TextLoader","clickLogout","UserMenu","expandIcon","clickHandler","nav","transparentize","navRight","notification","NOTIFICATION_SIZE","menuIcon","scrolled","topContainer","bg","pageHeader","additionalTopElements","mainElements","toggleBtn","statusCards","wrapperContainer","wrapperInner","statusCardsRow","measurementBtn","SingleCustomerNumberData","click","loadPoints","isMeasurementPLoading","customerNumbersSelector","getAllCustomerNumbersSelector","getSelectedCustomerNumberSelector","useCacheReload","isLoadingUser","customerNum","CustomerSelector","menuState","setMenuState","cacheReload","dataLoading","setDataLoading","customersData","setCustomersData","setBalanceData","getCustomerData","pointsDataMapper","apiResponse","agreementStatusFilter","getPoints","pointsLoading","pointsData","getBalance","setNewCustomerNumber","responses","customers","handleOnClick","expandElement","balanceDisplay","LoggedAppLayout","onlySMMobile","xsMobile","scrollTop","setScrollTop","activePageName","setactivePageName","menuOpen","setMenuOpen","showCards","setShowCards","setDueDate","showAllCards","setShowAllCards","setUnreadNews","balanceExecutor","balanceLoading","activePath","paths","topCardsContainer","cardsSplitter","cardsToDisplay","autoHide","autoHideTimeout","onUpdate","applicationInServiceModeSelector","CustomAuthenticatingComponent","ProtectedRoute","Component","authenticating","createContext","ApplicationContent","activeRoute","pathsSwitch","exact","layoutProps","Routes","isApplicationInServiceMode","Provider","App","hadUser","setHadUser","useLogoutUserUnloaded","OidcProvider","configuration","client_id","redirect_uri","origin","response_type","scope","authority","silent_redirect_uri","automaticSilentRenew","loadUserInfo","post_logout_redirect_uri","monitorSession","isEnabled","UserStore","InMemoryWebStorage","callbackComponentOverride","notAuthenticated","notAuthorized","hostname","createMuiTheme","overrides","MuiCssBaseline","MuiButton","MuiPaper","rounded","MuiPopover","MuiDialog","MuiBackdrop","MainComponent","ThemeProvider","CssBaseline","persistor","maxSnack","persistStore","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"+FAAAA,EAAOC,QAAU,IAA0B,6C,iCCA3C,kCAcO,IAAMC,EAAc,CACzBC,MAAO,QACPC,MAAO,U,gCChBT,0koB,yECAA,kCAcO,IAAMC,EAAc,CACzBC,WAAY,aACZC,WAAY,e,8KCFDC,EAA2B,CACtCC,KAAM,OACNC,eAAgB,iBAChBC,OAAQ,UAGGC,GAAkC,mBAC5CJ,EAAyBC,KAAO,kBADY,cAE5CD,EAAyBE,eAAiB,mBAFE,cAG5CF,EAAyBG,OAAS,qBAHU,I,iCCpB/C,kCAcO,IAAME,EAAiC,CAC5CC,IAAK,MACLL,KAAM,OACNE,OAAQ,W,kHCOGI,EAAyB,CACpCC,QAAS,UACTC,kBAAmB,oBACnBC,SAAU,WACVC,kBAAmB,oBACnBC,aAAc,eACdC,UAAW,YACXC,WAAY,aACZC,MAAO,QACPC,eAAgB,iBAChBC,kBAAmB,qBAGRC,GAAgC,mBAC1CX,EAAuBC,QAAU,yBADS,cAE1CD,EAAuBE,kBAAoB,sBAFD,cAG1CF,EAAuBG,SAAW,YAHQ,cAI1CH,EAAuBI,kBAAoB,oBAJD,cAK1CJ,EAAuBK,aAAe,kBALI,cAM1CL,EAAuBM,UAAY,+BANO,cAO1CN,EAAuBO,WAAa,kBAPM,cAQ1CP,EAAuBQ,MAAQ,QARW,cAS1CR,EAAuBS,eAAiB,gBATE,cAU1CT,EAAuBU,kBAAoB,mBAVD,I,iCCrC7C,kCAkBO,IAAME,EAA+B,CAC1Cb,IAAK,MACLK,kBAAmB,oBACnBS,YAAa,cACbC,SAAU,a,iCCtBZ,kCAkBO,IAAMC,EAA8B,CACzCC,eAAgB,iBAChBC,aAAc,eACdC,QAAS,UACTC,YAAa,gB,kPCAFC,EACG,eADHA,EAEJ,QAFIA,EAGQ,oBAHRA,EAIY,wBAJZA,EAKQ,oBALRA,EAMe,2BANfA,EAOmB,+BAPnBA,EAQG,eAGHC,GAAuB,mBACjCD,EAA6B,uBADI,cAEjCA,EAAsB,wBAFW,cAGjCA,EAAkC,qBAHD,cAIjCA,EAAsC,qBAJL,cAKjCA,EAAkC,kDALD,cAMjCA,EAAyC,gCANR,cAOjCA,EAA6C,gCAPZ,cAQjCA,EAA6B,qCARI,I,iHCjCpC,kCAcO,IAAME,EAAgB,CAC3BC,SAAU,WACVC,OAAQ,SACRC,SAAU,a,iZCjBZ,kCAcO,IAAMC,EAAiB,CAC5BC,OAAQ,SACR5B,IAAK,Q,mMChBP,kCAkBO,IAAM6B,EAAc,CACzBC,IAAK,MACLC,QAAS,UACTC,UAAW,YACXC,oBAAqB,wB,uXCtBvB,kCAmBO,IAAMC,EAAsB,CACjCC,cAAe,gBACfC,iBAAkB,mBAClBC,cAAe,gBACfC,kBAAmB,oBACnBC,iBAAkB,mBAClBC,2BAA4B,+B,++mBCzB9BtD,EAAOC,QAAU,IAA0B,0C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,2C,kBCA3CD,EAAOC,QAAU,0iT,kBCAjBD,EAAOC,QAAU,srD,kBCAjBD,EAAOC,QAAU,8tD,oBCAjBD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,0C,kBCA3CD,EAAOC,QAAU,0qO,oBCAjBD,EAAOC,QAAU,IAA0B,2C,sECA3C,kCAuBO,IAAMsD,EAAe,CAC1BC,cAAe,gBACfC,MAAO,QACPC,kBAAmB,oBACnBC,aAAc,eACdC,cAAe,gBACfC,IAAK,MACLC,SAAU,WACVC,cAAe,gBACfC,wBAAyB,4B,4CChCfC,E,4HAAAA,K,0BAAAA,E,4BAAAA,E,QAAAA,E,oBAAAA,E,sCAAAA,E,oBAAAA,E,gBAAAA,E,gCAAAA,E,uCAAAA,M,2BC6CNC,EAAwB,CAC5BC,MAAO,CACLC,QAAQ,EACRC,UAAMC,EACNC,kBAAkB,EAClBC,kBAAkB,EAClBC,cAAUH,EACVI,cAAUJ,EACVK,WAAOL,EACPM,cAAUN,EACVO,UAAMP,EACNQ,WAAOR,EACPS,eAAe,EACfC,oBAAoB,EACpBC,sBAAkBX,EAClBY,sBAAkBZ,GAEpBa,uBAAwB,GACxBC,gCAAiC,GACjCC,sBAAuB,CACrBjB,QAAQ,GAEVkB,+BAA+B,GAGpBC,EAAUC,YAAY,CACjCC,KAAMxB,EAAcyB,GACpBxB,eACAyB,SAAU,CACRC,UAAW,SAAAC,GACTA,EAAM1B,MAAMC,QAAS,GAEvB0B,UAAW,SACTD,EACAE,GAkBAF,EAAM1B,MAAN,2BACKD,EAAaC,OADlB,IAEEC,QAAQ,GACL2B,EAAOC,UAGdC,kBAAmB,SACjBJ,EADiB,GAGb,IADFG,EACC,EADDA,QAEFH,EAAMV,uBAAN,sBAAmCU,EAAMV,wBAAzC,CAAiEa,KAEnEE,2BAA4B,SAACL,EAAD,GAA8C,IAApCG,EAAmC,EAAnCA,QACpCH,EAAMT,gCAAN,sBACKS,EAAMT,iCADX,CAEEY,KAGJG,qBAAsB,SACpBN,EADoB,GAGhB,IADFG,EACC,EADDA,QAEFH,EAAMV,uBAAyBU,EAAMV,uBAAuBiB,QAC1D,SAAAC,GAAK,OAAIA,EAAMC,KAAON,EAAQM,OAGlCC,oBAAqB,SAACV,EAAOE,GAC3BF,EAAMR,sBAAwB,CAC5BjB,OAAQ2B,EAAOC,UAGnBQ,iCAAkC,SAACX,EAAOE,GACxCF,EAAMP,8BAAgCS,EAAOC,YAKtCS,EAAYlB,EAAQmB,QAE3BC,EAAwC,CAC5CC,IAAK3C,EAAcyB,GACnBmB,QAASA,IACTC,UAAW,CAAC,oCAGDC,EAAmBC,YAAeL,EAAepB,EAAQ0B,SC5IpErB,EAOEa,EAPFb,UACAE,EAMEW,EANFX,UACAG,EAKEQ,EALFR,kBACAC,EAIEO,EAJFP,2BACAC,EAGEM,EAHFN,qBACAI,EAEEE,EAFFF,oB,GAEEE,EADFD,iC,wBCQWU,EAAb,oHAGgCC,GAC5BA,EAAgBC,SAAQ,SAAAC,GACtBH,EAA6BI,mBAAmBD,QALtD,yCAS4BA,GACxB,IAAME,EAAY,IAAMC,KAAKC,SAASC,SAAS,IAAIC,OAAO,EAAG,GAI7D,OAFAC,KAAKC,eAAeN,GAAaF,EAE1B,kBAAMH,EAA6BY,eAAeP,MAd7D,wCAiB2BQ,GAAwB,IAC3CC,EAD0C,OAE9C,OAAO,IAAIC,SAAQ,SAAAC,GACjBF,EAAc,EAAKV,mBAAmB,CACpCS,cACAI,SAAUD,OAEXE,MAAK,SAAAC,GAEN,OADAL,IACOK,OA1Bb,qCA8BwBzB,UACbM,EAA6BW,eAAejB,OA/BvD,KAAaM,EACJW,eAAoD,GADhDX,EAkCJoB,aAA2B,SAAAC,GAAK,OAAI,SAAAC,GAAI,OAAI,SAAAzC,GACjDyC,EAAKzC,GACL0C,aAAkB,SAAAC,GACZA,EAAcX,YAAYY,SAAS5C,EAAO1B,OAC5CqE,EAAcP,SAAS,CACrBpC,SACA6C,SAAUL,EAAMK,SAChB/C,MAAO0C,EAAMM,eAGhB3B,EAA6BW,mB,IC5DxBiB,E,kCAAAA,K,YAAAA,E,kCAAAA,E,4BAAAA,E,gCAAAA,E,sBAAAA,E,oBAAAA,E,sCAAAA,E,YAAAA,E,uCAAAA,M,KCmBL,ICFLrD,EACAsD,EDCWC,EAAoC,CAC/CC,eAAgB,EAChBC,MAAO,KACPC,MAAO,GAOIC,EAA2B,SAAIC,GAAJ,MAAmC,CACzEC,OAAQD,EAAQC,OAChBC,UAAWF,EAAQE,UACnBC,UAAWH,EAAQG,UACnBC,UAAWJ,EAAQG,UACnBE,QAASL,EAAQK,QACjBC,WAAYN,EAAQM,WACpBC,WAAYP,EAAQO,WACpBC,WAAYR,EAAQQ,WACpBC,UAAWT,EAAQS,UACnBC,OAAQV,EAAQU,SAGLC,EAAe,SAC1BX,EACAY,GAF0B,8CAKrBZ,EAAQa,mBACRlB,GACAiB,I,wBEzBME,EAAsB,SACjCC,EACAC,GAEAA,EAAQC,QAAQF,EAAMG,SAAS,SAAA1E,GAC7BA,EAAMoD,oBAGRoB,EAAQC,QAAQF,EAAMI,UAAU,SAAA3E,GAC9BA,EAAMoD,eAAiB,GAAKpD,EAAMoD,qBCnBzBwB,EAAc,SAKzBhF,EACAsD,GAEA,OAAO2B,YAAgB,UAClBjF,EADkB,oDAErB,WAAOO,EAAsB2E,GAA7B,qBAAAC,EAAA,+DACoB7B,EAAU,CAAE/C,UAAS2E,aADzC,mBACSE,EADT,cAEyBA,IAFzB,cAEQC,EAFR,yBAGS,CAACA,EAASC,QAAO,OAAC/E,QAAD,IAACA,OAAD,EAACA,EAASgF,gBAHpC,2CAFqB,0DAUZC,EAAsB,SAKjCb,EACAC,EACAhB,EACA6B,GAEId,IACFC,EAAQC,QACNF,EAAMe,WACN,SAACtF,EAAD,GAA+C,IAAD,gBAApCG,QAAoC,GAA1B+E,EAA0B,KAApBC,EAAoB,KAC5CnF,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClC,IAAMmC,EAAaJ,EAAe3B,EAAQQ,WAAaR,EAAQU,OAG7DqB,EAAWvF,EADTqF,EACgBA,EAAyBH,GAEzBA,MAIxBZ,EAAoBC,EAAOC,K,yBCnDlBgB,EAAwBZ,EACnC3B,EAAewC,iBACf,gBAAGX,EAAH,EAAGA,SAAH,OACEY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,4BAENC,oBAAoB,EACpBC,cAAc,GAEhBjB,M,4BCZOkB,GAAuB,SAAChG,GAAD,OAAsBA,EAAMiG,cAEnDC,GAAsBC,aAAeH,IAAsB,SAAAhG,GAAK,OAC3EoG,aAAOpG,EAAMqG,aAUFC,IAP0BH,aACrCH,IACA,SAAAO,GACE,OAAOA,EAASnD,eAAiB,KAIc+C,aACjDD,IACA,SAAAK,GACE,OAAOA,EAAShG,QACd,SAAAiG,GAAO,OACLA,GACAA,EAAQC,WACRD,EAAQE,SAAWlK,iBAAcC,gBAK5BkK,GAAiCR,aAC5CD,IACA,SAAAK,GACE,OAAOA,EAAShG,QACd,SAAAiG,GAAO,OACLA,IAAYA,EAAQC,WAAaD,EAAQE,SAAWlK,iBAAcE,aAK7DkK,GAAsCT,aACjDD,GACAI,GACAK,IACA,SAACE,EAAaC,EAAqBC,GACjC,OACEF,EAAYG,OAAS,GACU,IAA/BF,EAAoBE,QACc,IAAlCD,EAAuBC,UAKhBC,GAA8Cd,aACzDG,GACAK,IACA,SAACJ,EAAUW,GACT,OAAOX,EAASS,OAAS,GAAKE,EAAeF,OAAS,KAI7CG,GAA6ChB,aACxDD,IACA,SAAAK,GAQE,OAPgCA,EAAShG,QACvC,SAAAiG,GAAO,OACLA,IACCA,EAAQC,WACTD,EAAQY,eAAiB1J,gBAAaG,qBAGTwJ,KAAI,SAAAC,GAAO,OAC1CC,OAAOC,OAAO,GAAIF,EAAS,CAAEb,WAAW,UAKjCgB,GAA+CtB,aAC1DgB,IACA,SAAAZ,GAAa,IAAD,EACV,OACEA,GACoB,IAApBA,EAASS,SACT,UAAAT,EAAS,UAAT,eAAaG,UAAWlK,iBAAcC,YCxE/BiL,GAAqB9C,EAChC3B,EAAegD,cACf,gBAAGnB,EAAH,EAAGA,SAAH,OACEY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,qBAENE,cAAc,GAEhBjB,MAIO6C,GAAgB9C,YAAgB,UAIxC,CAAC5B,EAAegD,cAJwB,yDAK3C,WAAO9F,EAAS2E,GAAhB,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,qBAAD,OAAuB1F,EAAQM,IAClCyE,KAAM,CACJ0C,WAAYzH,EAAQyH,cAI1B9C,GAXJ,mBACSE,EADT,cAaQA,IAbR,gCAcS,CACLvE,GAAIN,EAAQM,GACZmH,WAAYzH,EAAQyH,aAhBxB,2CAL2C,yD,yCCfvCvJ,GAAiC,2BAClC8E,GADkC,IAErC0E,wBAAwB,IAGbC,GAAsBnI,YAAY,CAC7CC,KAAMxB,EAAc2J,eACpB1J,gBACAyB,SAAU,CACRkI,4BAA6B,SAAAhI,GAC3BA,EAAM6H,wBAAyB,MAKxBI,GAAwBH,GAAoBjH,QCJ5CqH,GAAb,kDACE,WACSxB,EACAzB,GAGN,IAAD,8BACA,cAAM,KALCyB,SAIP,EAHOzB,WAGP,EANJ,sBAA8BkD,QAwBxBC,GAAiB,WACrB,OAAO,GAGHC,GAAa,WAEjBC,EACAC,EACAC,EACAC,EACAC,GACI,IANF/C,EAMC,EANDA,OAAQgD,EAMP,EANOA,WAWV,OAJIF,GACFA,GAAc,GAGTG,KACJC,QADI,uCAEAlD,GACA6C,GAHA,IAIHJ,kBACAU,QAASC,oCACT7D,KAAK,2BACAS,EAAOT,MADR,OAECsD,QAFD,IAECA,OAFD,EAECA,EAAuBtD,MAE5B8D,OAAO,yBACLT,kBADI,OAED5C,QAFC,IAEDA,OAFC,EAEDA,EAAQqD,QAFP,OAGDR,QAHC,IAGDA,OAHC,EAGDA,EAAuBQ,SAExBL,EACA,GACA,CACEM,QAAS,CACPC,cAAc,UAAD,OAAYZ,OAIlC/F,MAAK,SAAA4G,GACJ,IAAMzC,EAASyC,EAAKzC,OAGpB,GAFoBA,GAAU,KAAOA,EAAS,IAM5C,OAHIgC,GACFA,EAAWS,EAAKjE,MAEXiE,EAGT,IAAMC,EAA2B,MAAX1C,EAChB2C,EAAiC,MAAX3C,EACtB4C,EAAYH,EAEfjE,KAAKoE,QAwBR,MAtBID,EACF3G,GAAMK,SAASkF,GAAsBD,+BAC5BoB,GACT1G,GAAMK,SACJ9C,EAAU,CACRnB,MC3GS,gBD4GTC,SC3GwB,6CD4GxBP,KAAM,QACNE,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAU,WACR8D,GAAMK,SACJ9C,EAAU,CACRzB,KAAM,SACNQ,KAAK,kBAAD,OAAUsK,UAQpB,IAAIpB,GAASxB,EAAQyC,EAAKjE,SAEjCqE,SAAQ,WACHd,GAAeA,GAAc,OAIjCe,GAAiB,uCAAG,WACxBC,EACAC,GAFwB,iBAAA3E,EAAA,0DAIpB4E,EAAqBF,IACgC,IAA9BE,EAAmB3C,OALtB,yCAOd3F,EAA6BuI,kBAAkB,CACnDpE,EAAsBF,UAAU9G,OARd,mBAUpB0B,OAAOC,QAVa,mBAMpBwJ,EANoB,qCAajBD,GACLC,EAAmB7G,SAAS4G,GAC1BA,EACAC,EAAmB,IAhBC,4CAAH,wDAmBjBE,GAAwB,uCAAG,WAC/BC,GAD+B,qBAAA/E,EAAA,yDAG1B+E,EAH0B,gCAKrBzI,EAA6BuI,kBAAkB,CACnDlC,GAAmBpC,UAAU9G,OANJ,uBAQ3B0B,OAAOC,QARoB,mBAItBoG,EAJsB,KAUvBwD,EAAqBnD,GAAoC,CAC7DX,aAAc,CACZI,SAAU2D,aAAQC,aAAK,MAAO1D,MAZL,kBAgBtBsD,KAA2BE,IAhBL,4EAAH,sDAsBjBG,GAAS,SACpBvE,EACAwE,GACuC,IAAD,EACRC,oBAAS,GADD,mBAC/BC,EAD+B,KACtBC,EADsB,OAEdF,qBAFc,mBAE/BlF,EAF+B,KAEzBqF,EAFyB,OAGjBH,mBAA2BzE,GAAzC6E,EAH+B,oBAuCtC,MAAO,CAlCSC,sBAAW,uCACzB,WAAOC,GAAP,qBAAA3F,EAAA,yDACQ/E,EAAQ0C,GAAMM,WAChB2H,EAAS3K,EAAMyF,gBAAgBiE,uBAC7BD,EAAMzJ,EAAMyF,gBAAgBgE,IAE7Be,EAAW1E,mBALlB,gCAMmB0D,GAAkBC,EAAiBkB,GANtD,OAMIA,EANJ,iBASOH,EAAWzE,aATlB,kCAUU8D,GACJjD,GAAoC5G,IAX1C,eAeQ4K,EAAO5K,EAAM6K,KAAKD,KAf1B,kBAiBSvC,GACLmC,EADe,OAEfI,QAFe,IAEfA,OAFe,EAEfA,EAAME,aACNH,EACAD,EACAJ,GACA,SAACpF,GAEKqF,EADJJ,EACYA,EAAWjF,GACXA,OA1BlB,4CADyB,sDA+BzB,CAACsF,EAAYL,IAGEE,EAASnF,IAGfQ,GAAc,SACzBC,EADyB,GAGc,IACjC3F,GAAmBgD,EADa,EADpCA,YAGM4H,EAAS5K,EAAM6K,KAAfD,KAF8B,EAGE5K,EAAMyF,gBAAtCiE,EAH8B,EAG9BA,uBAAwBD,EAHM,EAGNA,IAC1BsB,EAAgBnE,GAAoC5G,GAoB1D,MAAO,CAlBM,uCAAG,WAAO0K,GAAP,eAAA3F,EAAA,yDACV4F,EAASjB,EACR/D,EAAOG,mBAFE,gCAGG0D,GAAkBC,EAAiBC,GAHtC,OAGZiB,EAHY,iBAMThF,EAAOI,aANE,gCAON8D,GAAyBkB,GAPnB,gCAUP1C,GACL1C,EADe,OAEfiF,QAFe,IAEfA,OAFe,EAEfA,EAAME,aACNH,EACAD,IAdY,2CAAH,wDE5MTM,GAAgBC,YAA2B,IAEpCC,ITPXtL,ESQAqD,EAAekI,KTPfjI,ESQA,gBAAG/C,EAAH,EAAGA,QAAS2E,EAAZ,EAAYA,SAAZ,OACEY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,8CAAD,OAAgD1F,KAGvD2E,ITdGD,YAAiB,GAAD,OAClBjF,EADkB,qDAErB,aAAkCkF,GAAlC,uBAAAC,EAAA,6DAAStE,EAAT,EAASA,GAAT,EACoByC,EAAU,CAAE/C,QAASM,EAAIqE,aAD7C,mBACSE,EADT,cAEyBA,IAFzB,cAEQC,EAFR,yBAGSA,EAASC,MAHlB,2CAFqB,wDAOrB,CACEkG,UAAW,cAAqD,IAAlD3K,EAAiD,EAAjDA,GAAI4K,EAA6C,EAA7CA,MAGVC,GAFStI,EAD8C,EAAfA,YACNpD,GAEnByG,SAAS5F,GAC9B,IAAK4K,GAAWC,EAEd,OAAO,MSIJC,GAAa3G,EACxB3B,EAAekI,MACf,gBAAGrG,EAAH,EAAGA,SAAH,OACEY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,+CAGRf,MAIO0G,GAAY7L,YAAY,CACnCC,KAAMqD,EAAekI,KACrB9M,aAAa,eACR8F,EAAqC6G,GAAe,CACrDS,MAAO,KAGX3L,SAAS,2BACJyD,EAAgCyH,KAD7B,IAENU,UAAW,SAAA1L,GACTA,EAAMyL,WAGVE,cAAe,SAAAnH,ITxBmB,SAClCD,EACAC,EACAhB,GAEIe,IACFC,EAAQC,QAAQF,EAAMe,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACzCH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCI,EAAQI,UAAU5D,EAAOG,MAG3BmE,EAAoBC,EAAOC,ISc3BoH,CAA4BV,GAAa1G,EAASwG,IAClD5F,EAA2BmG,GAAY/G,EAASwG,OCjD9CA,GAAgBC,YAAqC,CACzDY,SAAU,SAAAC,GAAE,OAAIA,KAGLC,GAAuBpM,YAAY,CAC9CC,KAAMqD,EAAewC,gBACrBpH,aAAa,eACR8F,EAA+C6G,GAAe,CAC/DtB,4BAAwBjL,KAG5BqB,SAAS,2BACJyD,EAA0CyH,KADvC,IAENgB,kBAAmB,SAAChM,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACvBH,EAAMyJ,IAAIwC,QAAQ9L,GAAW,EAC/BH,EAAM0J,uBAAyB1J,EAAMyJ,IAAI,GAI3CzJ,EAAM0J,uBAAyBvJ,KAGnCwL,cAAe,SAAAnH,GACbY,EACEI,EACAhB,EACAwG,OCtCJ3J,EAA6B6K,uBAAuB,CAClD,CACEhK,YAAa,CAACiK,cACd7J,SAAU,YAA0B,IAAvBS,EAAsB,EAAtBA,SAAsB,EAAZ/C,MACVyF,gBAAgBrC,gBACzBL,EAASyC,OAIf,CACEtD,YAAa,CAACsD,EAAsBF,UAAU9G,MAC9C8D,SAAU,YAA0B,IAAvBS,EAAsB,EAAtBA,SAAU/C,EAAY,EAAZA,MACfoM,EAAepM,EAAMyF,gBAAgBiE,uBACrCjE,EAAkBzF,EAAMyF,gBAAgBgE,MAE3C2C,GACAA,GAAgB3G,EAAgBwG,QAAQG,GAAgB,IAEzDrJ,EAASsJ,GAAsBL,kBAAkBvG,EAAgB,SD2BpE,IAAM4G,GAAwBN,GAAqBlL,QAEpDC,GAGD,CACHC,IAAKkC,EAAewC,gBACpBzE,QAASA,IACTC,UAAW,CAAC,2BAGDqL,GAAiCnL,YAC5CL,GACAiL,GAAqB3K,SE5DVmL,GAAgB,SAAC,GAA0C,IAAxCtH,EAAuC,EAAvCA,SAC9B,OAAKA,EACoBsC,OAAOnB,OAAOnB,GAAUuH,OACnCC,KAAK,MAFG,ICeXC,GAAiB7H,YAAiB,GAAD,OACzC,CAACzG,EAAcuO,aAD0B,sDAE5C,WAAOC,EAAG9H,GAAV,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,aAGRf,GARJ,mBACSE,EADT,cAUyBA,IAVzB,cAUQC,EAVR,yBAWSA,EAASC,MAXlB,2CAF4C,yDAiBjC2H,GAA4BhI,YAAgB,UAIpD,CAACzG,EAAcuO,aAJqC,qEAKvD,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,qCACLX,SAGJJ,GATJ,mBACSE,EADT,cAWQA,IAXR,gCAYSE,GAZT,2CALuD,yDAqB5C4H,GAAoBjI,YAAgB,UAI5C,CAACzG,EAAcuO,aAJ6B,6DAK/C,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,6BACLX,SAGJJ,GATJ,mBACSE,EADT,cAWQA,IAXR,gCAYSE,GAZT,2CAL+C,yDAqBpC6H,GAA8BlI,YAAgB,UAItD,CAACzG,EAAcuO,aAJuC,uEAKzD,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,uCACLX,SAGJJ,GATJ,mBACSE,EADT,cAWQA,IAXR,gCAYSE,GAZT,2CALyD,yDAqB9C8H,GAAoBnI,YAAgB,UAI5C,CAACzG,EAAcuO,aAJ6B,6DAK/C,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,6BACLX,SAGJJ,GATJ,mBACSE,EADT,uBAYUA,IAZV,4DAcU,IAAImD,MAAMoE,GAAc,EAAD,KAdjC,gCAgBSrH,GAhBT,yDAL+C,yDAyBpC+H,GAAiBpI,YAAgB,UAGzC,CAACzG,EAAcuO,aAH0B,0DAGK,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DAC/BW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,4BACLX,SAGJJ,GAT+C,mBAC1CE,EAD0C,uBAYzCA,IAZyC,4DAczC,IAAImD,MAAMoE,GAAc,EAAD,KAdkB,gCAgB1CrH,GAhB0C,yDAHL,yDAsBjCgI,GAAwBrI,YAAgB,UAIhD,CAACzG,EAAcuO,aAJiC,iEAKnD,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,OACRC,IAAK,iCACLX,SAGJJ,GATJ,mBACSE,EADT,uBAYUA,IAZV,4DAcU,IAAImD,MAAMoE,GAAc,EAAD,KAdjC,gCAgBSrH,GAhBT,yDALmD,yDAyBxCiI,GAAYtI,YAAgB,UACpC,CAACzG,EAAcuO,aADqB,qDAEvC,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,qBACLX,OACAkI,iBAAiB,IAGrBtI,GAVJ,mBACSE,EADT,uBAaUA,IAbV,4DAeU,IAAImD,MAAMoE,GAAc,EAAD,KAfjC,gCAiBSrH,GAjBT,yDAFuC,yDAuB5BmI,GAAgCxI,YAAiB,GAAD,OACxD,CAACzG,EAAcuO,aADyC,yEAE3D,WAAOzH,EAAMJ,GAAb,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,yCACLuH,iBAAiB,IAGrBtI,GATJ,mBACSE,EADT,uBAY2BA,IAZ3B,cAYUC,EAZV,yBAaWA,EAASC,KAAKoI,mBAbzB,sCAeU,IAAInF,MAAMoE,GAAc,EAAD,KAfjC,yDAF2D,yDAsBhDgB,GAAiC1I,YAAgB,UAIzD,CAACzG,EAAcuO,aAJ0C,0EAK5D,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,OACRC,IAAK,0CACLX,OACAkI,iBAAiB,IAGrBtI,GAVJ,mBACSE,EADT,uBAaUA,IAbV,4DAeU,IAAImD,MAAMoE,GAAc,EAAD,KAfjC,gCAiBSrH,GAjBT,yDAL4D,yDA0BjDsI,GAAgC3I,YAAgB,UAIxD,CAACzG,EAAcuO,aAJyC,yEAK3D,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,OACRC,IAAK,yCACLX,OACAkI,iBAAiB,IAGrBtI,GAVJ,mBACSE,EADT,uBAaUA,IAbV,4DAeU,IAAImD,MAAMoE,GAAc,EAAD,KAfjC,gCAiBSrH,GAjBT,yDAL2D,yDA0BhDuI,GAAwC5I,YAAiB,GAAD,OAChE,CAACzG,EAAcuO,aADiD,iFAEnE,WAAOzH,EAAMJ,GAAb,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,iDACLuH,iBAAiB,IAGrBtI,GATJ,mBACSE,EADT,uBAY2BA,IAZ3B,cAYUC,EAZV,yBAaWA,EAASC,KAAKoI,mBAbzB,sCAeU,IAAInF,MAAMoE,GAAc,EAAD,KAfjC,yDAFmE,yDAsBxDmB,GAAyC7I,YAAgB,UAIjE,CAACzG,EAAcuO,aAJkD,kFAKpE,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,kDACLX,OACAkI,iBAAiB,IAGrBtI,GAVJ,mBACSE,EADT,uBAaUA,IAbV,4DAeU,IAAImD,MAAMoE,GAAc,EAAD,KAfjC,gCAiBSrH,GAjBT,yDALoE,yDA0BzDyI,GAAwC9I,YAAgB,UAIhE,CAACzG,EAAcuO,aAJiD,iFAKnE,WAAOzH,EAAMJ,GAAb,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,iDACLX,OACAkI,iBAAiB,IAGrBtI,GAVJ,mBACSE,EADT,uBAaUA,IAbV,4DAeU,IAAImD,MAAMoE,GAAc,EAAD,KAfjC,gCAiBSrH,GAjBT,yDALmE,yDC5RxD0I,GAAmBjO,YAAY,CAC1CC,KAAMxB,EAAcuO,YACpBtO,aAAa,aACXwP,aAASpP,EACTqP,iBAAarP,GACV0E,GAELrD,SAAU,CACRiO,0BAA2B,SACzB/N,EACAE,GAEIF,EAAM6N,SAAW3N,EAAOC,UAC1BH,EAAM6N,QAAQG,mBAAqB9N,EAAOC,QAAQ8N,iBAGtDC,2BAA4B,SAC1BlO,EACAE,GAEIF,EAAM6N,SAAW3N,EAAOC,UAC1BH,EAAM6N,QAAQM,oBAAsBjO,EAAOC,QAAQiO,kBAGvDC,mBAAoB,SAACrO,EAAOE,GACtBF,EAAM6N,SAAW3N,EAAOC,UAC1BH,EAAM6N,QAAQS,iBAAmBpO,EAAOC,QAAQoO,gBAChDvO,EAAM6N,QAAQW,iBAAmBtO,EAAOC,QAAQsO,kBAGpDC,6BAA8B,SAAC1O,EAAOE,GAChCF,EAAM6N,SAAW3N,EAAOC,UAC1BH,EAAM6N,QAAQc,2BACZzO,EAAOC,QAAQoO,gBACjBvO,EAAM6N,QAAQe,2BACZ1O,EAAOC,QAAQsO,kBAGrBI,iBAAkB,SAAC7O,EAAOE,GACxBF,EAAM8N,iBAAcrP,IAGxBkN,cAAe,SAAAnH,ID4QyB,SACxCA,GAEAF,EAAoBoI,GAAgBlI,GACpCA,EAAQC,QAAQiI,GAAepH,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QAClDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM6N,QAAU1N,KAGlBmE,EAAoBuI,GAA2BrI,GAC/CA,EAAQC,QAAQoI,GAA0BvH,WAAW,SAACtF,EAAD,GAAwB,EAAdG,QAC7DH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCkB,EAAoBwI,GAAmBtI,GACvCA,EAAQC,QAAQqI,GAAkBxH,WAAW,SAACtF,EAAD,GAAwB,EAAdG,QACrDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCkB,EAAoByI,GAA6BvI,GACjDA,EAAQC,QACNsI,GAA4BzH,WAC5B,SAACtF,EAAD,GAAwB,EAAdG,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAGtCkB,EAAoB0I,GAAmBxI,GACvCA,EAAQC,QAAQuI,GAAkB1H,WAAW,SAACtF,EAAD,GAAwB,EAAdG,QACrDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCkB,EAAoB2I,GAAgBzI,GACpCA,EAAQC,QAAQwI,GAAe3H,WAAW,SAACtF,EAAD,GAAwB,EAAdG,QAClDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCkB,EAAoB6I,GAAW3I,GAC/BA,EAAQC,QAAQ0I,GAAU7H,WAAW,SAACtF,EAAD,GAAwB,EAAdG,QAC7CH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCkB,EAAoB4I,GAAuB1I,GAC3CA,EAAQC,QAAQyI,GAAsB5H,WAAW,SAACtF,EAAD,GAAwB,EAAdG,QACzDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCkB,EAAoB+I,GAA+B7I,GACnDA,EAAQC,QACN4I,GAA8B/H,WAC9B,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM8N,YAAc3N,KAGxBmE,EAAoBiJ,GAAgC/I,GACpDA,EAAQC,QACN8I,GAA+BjI,WAC/B,SAACtF,EAAD,GAAwB,EAAdG,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAGtCkB,EAAoBkJ,GAA+BhJ,GACnDA,EAAQC,QACN+I,GAA8BlI,WAC9B,SAACtF,EAAD,GAAwB,EAAdG,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAGtCkB,EAAoBmJ,GAAuCjJ,GAC3DA,EAAQC,QACNgJ,GAAsCnI,WACtC,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM8N,YAAc3N,KAGxBmE,EAAoBoJ,GAAwClJ,GAC5DA,EAAQC,QACNiJ,GAAuCpI,WACvC,SAACtF,EAAD,GAAwB,EAAdG,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAGtCkB,EAAoBqJ,GAAuCnJ,GAC3DA,EAAQC,QACNkJ,GAAsCrI,WACtC,SAACtF,EAAD,GAAwB,EAAdG,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBC5VpC0L,CAA2BtK,MCtE7BnD,EAA6B6K,uBAAuB,CAClD,CACEhK,YAAa,CAACiK,aAAYE,GAAsBL,kBAAkBxN,MAClE8D,SAAU,YAA0B,IAAvBS,EAAsB,EAAtBA,SAAsB,EAAZ/C,MACV2M,YAAYvJ,gBACrBL,EAAS2J,QAIf,CACExK,YAAa,CAAC6M,mBACdzM,SAAU,WACR0M,OAAOC,SAASC,aDgEjB,IAAMC,GAAqBvB,GAAiB/M,Q,oBE7E7CuO,GAAY,CAChBC,GAAI,CAAEC,O,SAGO,cAUb,OATAC,KAAKC,IAAIC,MAAkBC,KAAK,CAC9BN,aACAO,UAAW,SACXC,IAAK,KACLC,YAAa,CAAC,MACdC,cAAe,CACbC,aAAa,KAGVR,MCSIS,GAAoBnL,YAAgB,UAI5C,CAACzG,EAAc6R,UAJ6B,6DAK/C,WAAOC,EAAYpL,GAAnB,uBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,OACRC,IAAK,WACLX,KAAM,CACJgL,gBAINpL,GAXJ,mBACSE,EADT,cAayBA,IAbzB,cAaQC,EAbR,QAeYkL,EACNlL,EADFC,KAAQiL,qBAEcnB,OAAOC,SAASmB,QAAQD,GAjBlD,kBAkBSlL,EAASC,MAlBlB,2CAL+C,yDA2BpCmL,GAAgBxL,YAAgB,UACxC,CAACzG,EAAc6R,UADyB,yDAE3C,WAAOK,EAASxL,GAAhB,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,YAAD,OAAcyK,EAAd,YAGPxL,GARJ,mBACSE,EADT,cAUyBA,IAVzB,cAUQC,EAVR,yBAWSA,EAASC,MAXlB,2CAF2C,yDAiBhCqL,GAAW1L,YAAgB,UACnC,CAACzG,EAAc6R,UADoB,oDAEtC,WAAOK,EAASxL,GAAhB,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,YAAD,OAAcyK,KAGrBxL,GARJ,mBACSE,EADT,cAUyBA,IAVzB,cAUQC,EAVR,yBAWSA,EAASC,MAXlB,2CAFsC,yDAiB3BsL,GAAe3L,YAAgB,UAGvC,CAACzG,EAAc6R,UAHwB,wDAGE,WAAO/K,EAAMJ,GAAb,qBAAAC,EAAA,+DAC1BW,GAChB,CACEC,OAAQ,CACNC,OAAQ,OACRC,IAAI,yBACJX,SAGJJ,GAT0C,mBACrCE,EADqC,cAWrBA,IAXqB,cAWtCC,EAXsC,yBAYrCA,EAASC,MAZ4B,2CAHF,yDAkB/BuL,GAA+B5L,YAAgB,UAIvD,CAACzG,EAAc6R,UAJwC,wEAK1D,WAAO/K,EAAMJ,GAAb,uBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,OACRC,IAAI,mBACJX,SAGJJ,GATJ,mBACSE,EADT,uBAY2BA,IAZ3B,cAYUC,EAZV,QAcckL,EACNlL,EADFC,KAAQiL,qBAGcnB,OAAOC,SAASmB,QAAQD,GAjBpD,kBAkBWlL,EAASC,MAlBpB,qCAoByB,MAAjB,KAAMwB,OApBd,uBAqBMhE,GAAMK,SACJ9C,EAAU,CACRnB,MAAOyQ,KAAOmB,EAAE,wBAChB3R,SAAUwQ,KAAOmB,EAAE,8CACnBlS,KAAM,QACNE,kBAAkB,EAClBC,kBAAkB,KAGhB,IAAIwJ,MA9BhB,0DAL0D,yDC1FtD9J,GAA2B,2BAC5B8E,GAD4B,IAE/BwN,oBAAgBlS,EAChB0R,wBAAoB1R,EACpBmS,WAAOnS,EACPoS,aAAa,EACbX,WAAY,KAGDY,GAAgBnR,YAAY,CACvCC,KAAMxB,EAAc6R,SACpB5R,gBACAyB,SAAU,CACRiR,WAAY,WACV,OAAO1S,KAGXsN,cAAe,SAAAnH,IDkHuB,SACtCA,GAEAF,EAAoB0L,GAAmBxL,GACvCA,EAAQC,QAAQuL,GAAkB1K,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACrDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM2Q,eAAiBxQ,EAAQmQ,QAC/BtQ,EAAMmQ,mBAAqBhQ,EAAQgQ,sBAErC3L,EAAQC,QAAQgM,GAA6B/L,SAAS,SAAA1E,GACpDA,EAAMoD,oBAERoB,EAAQC,QACNgM,GAA6B9L,UAC7B,SAAC3E,EAAD,GAAwB,EAAdG,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAGtCoB,EAAQC,QACNgM,GAA6BnL,WAC7B,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM2Q,eAAkBxQ,EAAsCmQ,QAC9DtQ,EAAMmQ,mBAAsBhQ,EAAsCgQ,sBAGtE7L,EAAoBkM,GAAchM,GAClCA,EAAQC,QAAQ+L,GAAalL,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QAChDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM6Q,YAAc1Q,EAAQ0Q,eAE9BvM,EAAoB+L,GAAe7L,GACnCA,EAAQC,QAAQ4L,GAAc/K,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACjDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAMkQ,WAAa/P,KAErBqE,EAAQC,QAAQ8L,GAAS7L,SAAS,SAAA1E,GAChCA,EAAMoD,oBAERoB,EAAQC,QAAQ8L,GAAS5L,UAAU,SAAC3E,EAAD,GAAwB,EAAdG,QAC3CH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCoB,EAAQC,QAAQ8L,GAASjL,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QAC5CH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM4Q,MAAQzQ,EAEY,cAAxBA,EAAQ6Q,aACgB,wBAAxB7Q,EAAQ6Q,aACR7Q,EAAQmQ,SAERW,YAAW,WACTvO,GAAMK,SAASwN,GAASpQ,EAAQmQ,SAAW,OAC1C,QCrKLY,CAAyB1M,MAIhB2M,GAAiBL,GAAcjQ,QChC/BuQ,GAAoBvM,YAAgB,UAC5C,CAACzG,EAAciT,UAD6B,6DAE/C,WAAO7S,EAAMsG,GAAb,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,aAAD,OAAerH,KAGtBsG,GARJ,mBACSE,EADT,cAUyBA,IAVzB,cAUQC,EAVR,yBAWSA,EAASC,MAXlB,2CAF+C,yDCM3C7G,GAA2B,2BAC5B8E,GAD4B,IAE/BmO,UAAW,KAGAC,GAAgB5R,YAAY,CACvCC,KAAMxB,EAAciT,SACpBhT,gBACAyB,SAAU,CACRiR,WAAY,SAAA/Q,GACF3B,KAGZsN,cAAe,SAAAnH,IDFuB,SACtCA,GAEAF,EAAoB8M,GAAmB5M,GACvCA,EAAQC,QAAQ2M,GAAkB9L,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACrDH,EAAMsR,UAAN,sBACKtR,EAAMsR,UAAU/Q,QAAO,SAAAiR,GAAG,OAAIA,EAAIhT,OAAS2B,EAAQ3B,SADxD,CAEE2B,IAEFH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBCNlCqO,CAAyBjN,MCpBhBkN,IDwBgBH,GAAc1Q,QCxBlBgE,YAAgB,UACpC,CAACzG,EAAcuT,QADqB,qDAEvC,WAAO/E,EAAG9H,GAAV,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,WAGRf,GARJ,mBACSE,EADT,cAUyBA,IAVzB,cAUQC,EAVR,yBAWSA,EAASC,MAXlB,2CAFuC,0DCMnC7G,GAAyB,2BAC1B8E,GAD0B,IAE7BwO,OAAQ,OAGGC,GAAcjS,YAAY,CACrCC,KAAMxB,EAAcuT,OACpBtT,gBACAyB,SAAU,CACRiR,WAAY,WACV,OAAO1S,KAGXsN,cAAe,SAAAnH,IDFqB,SACpCA,GAEAF,EAAoBoN,GAAWlN,GAC/BA,EAAQC,QAAQiN,GAAUpM,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QAC7CH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClCpD,EAAM2R,OAASxR,KCHf0R,CAAuBrN,MCfrBwG,IDmBsB4G,GAAY/Q,QCnBlBoK,eAET6G,GAAoBnS,YAAY,CAC3CC,KAAMqD,EAAegD,aACrB5H,aAAa,eACR8F,EAAa6G,KAElBlL,SAAS,eACJyD,EAAkCyH,KAEvCW,cAAe,SAAAnH,GACbY,EAA6BsC,GAAoBlD,EAASwG,IAC1D1G,EAAoBqD,GAAenD,GACnCA,EAAQC,QAAQkD,GAAcrC,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACjDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClC,IAAMkI,EAAStL,EAAMqG,SAASlG,EAAQM,IACtCT,EAAMqG,SAAN,2BACKrG,EAAMqG,UADX,kBAEGlG,EAAQM,GAFX,2BAGQ6K,GAHR,IAII5E,OAAQvG,EAAQyH,WAAa,WAAa,qBC1BlDvG,EAA6B6K,uBAAuB,CAClD,CACEhK,YAAa,CAACiK,aAAYE,GAAsBL,kBAAkBxN,MAClE8D,SAAU,YAA0B,IAAvBS,EAAsB,EAAtBA,SAAsB,EAAZ/C,MACViG,aAAa7C,gBACtBL,EAAS2E,UD8BgBoK,GAAkBjR,QAA9C,I,SE3BMkR,GAAuBnN,EAIlC3B,EAAe+O,gBAAgB,gBAAGlN,EAAH,EAAGA,SAAH,OAC/BY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,eAGRf,MAISmN,GAAuCpN,YAAgB,UAI/D,CAAC5B,EAAe+O,gBAJ+C,uEAKlE,aAAwBlN,GAAxB,uBAAAC,EAAA,6DAAStE,EAAT,EAASA,GAAOyE,EAAhB,yBACoBQ,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,cAAD,OAAgBpF,EAAhB,0BACHyE,SAGJJ,GATJ,mBACSE,EADT,cAWQA,IAXR,6CAYWvE,MAAOyE,IAZlB,2CALkE,yDAqBvDgN,GAAuBrN,YAAgB,UAI/C,CAAC5B,EAAe+O,gBAJ+B,uDAKlD,aAAwBlN,GAAxB,uBAAAC,EAAA,6DAAStE,EAAT,EAASA,GAAOyE,EAAhB,yBACoBQ,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,cAAD,OAAgBpF,EAAhB,UACHyE,SAGJJ,GATJ,mBACSE,EADT,cAWQA,IAXR,6CAYWvE,MAAOyE,IAZlB,2CALkD,yD,SChC9CiN,GAAmB5C,KAAOmB,EAAE,aAC5B0B,GAAoB7C,KAAOmB,EAAE,yBAU7B2B,GAAe,SAACC,GAAkB,IAAD,IAGO,EAFtCC,EAAyB,GACzBC,EAVuB,SAACF,GAC9B,OAAOA,EAAKG,MAAMN,IASWO,CAAuBJ,GAClCE,EAAqB,KACrCD,EAASI,aAAc,UAACH,EAAqB,UAAtB,QAA4B,IAAII,QAKzD,OAHAL,EAASM,cAAe,UAACL,EAAqB,UAAtB,QAA4B,IAAII,OACxDL,EAASO,YAAa,UAACN,EAAqB,UAAtB,QAA4B,IAAII,OAE/CL,GAGHQ,GAAe,SAACT,GACpB,IAAMC,EAAWD,EAAKG,MAAM,KAE5B,MAAO,CACLO,WAAYT,EAAS,GACrBU,SAAUV,EAAS,KAIVW,GAAiB,SAACC,GAC7B,IAAMZ,EAAW,CACfa,MAAOf,GAAac,EAAQC,OAC5BC,MAAON,GAAaI,EAAQE,QAG9B,MAAO,CACLP,WAAYP,EAASa,MAAMN,WAC3BD,aAAcN,EAASa,MAAMP,aAC7BF,YAAaJ,EAASa,MAAMT,YAC5BK,WAAYT,EAASc,MAAML,WAC3BC,SAAUV,EAASc,MAAMJ,WAIvBK,GAAe,SAACH,GACpB,IAAII,EAAQ,UAAMJ,EAAQL,WAAd,YAA4BX,GAA5B,YAAgDgB,EAAQN,aAAxD,YAAwEV,GAAxE,KAEZ,OADAoB,GAAYJ,EAAQR,YAAR,UAAyBQ,EAAQR,aAAgB,IAIzDa,GAAe,SAACL,GACpB,MAAM,GAAN,OAAUA,EAAQH,WAAlB,YAAgCG,EAAQF,WAG7BQ,GAAiB,SAACN,GAC7B,MAAO,CACLO,OAAQJ,GAAaH,GACrBQ,OAAQH,GAAaL,KAgBZS,GAAkC,SAACC,GAC9C,IAAMtB,EAAWF,GAAY,OAACwB,QAAD,IAACA,IAAgB,IAC9C,MAAM,GAAN,OAAUtB,EAASO,WAAnB,YAAiCP,EAASM,cAA1C,OACEN,EAASI,YAAT,WAA2BP,GAA3B,YAAgDG,EAASI,aAAgB,KC9FvEmB,GAA8B,SAClCC,GAEA,OAAOA,EAAO1M,KAAI,SAAA2M,GAAK,8BAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAOrJ,cAAX,QAAqB,OAGxCsJ,GAAmB,SACvBC,GAEA,OAAOA,EAAM7M,KACX,SAAC8M,GAAD,cACEA,QADF,IACEA,OADF,EACEA,EAAWC,gBAIXC,GAA2C,SAC/CC,EACAC,GAEA,IAAMC,EAAgBP,GAAiBM,GACvC,OAAOD,EAAkB/T,QAAO,SAACyT,GAAD,OAC9BQ,EAAc1R,SAASkR,EAAMI,iBAsB3BK,GAA4B,SAACC,GAAsC,IAAD,IACtE,ODuCoC,SAACvB,GACrC,IAAMZ,EAAWW,GAAeC,GAEhC,MAAM,GAAN,OAAUZ,EAASO,WAAnB,YAAiCP,EAASM,cAA1C,OACEN,EAASI,YAAT,WAA2BP,GAA3B,YAAgDG,EAASI,aAAgB,GAD3E,aAEKa,GAAajB,IC5CXoC,CAAuB,CAC5BvB,MAAK,UAAEsB,EAAOb,oBAAT,QAAyB,GAC9BR,MAAK,UAAEqB,EAAOE,oBAAT,QAAyB,MC1B5B5J,GAAgBC,YAAuC,CAC3DY,SAAU,SAAAsI,GAAS,uBAAIA,EAAUC,mBAAd,QAA6B,MAgCrCS,GAAsBlV,YAAY,CAC7CC,KAAMqD,EAAe+O,eACrB3T,aAAa,eACR8F,EAAa6G,KAElBlL,SAAS,aACPgV,wBAAyB,SAAC9U,EAAOE,GAA2C,IAAD,EACzE,GAAKF,GAAUA,EAAMqG,UAAanG,EAAOC,QAAzC,CAGA,IAAMsJ,EAAMwK,GAAiB/T,EAAOC,QAAQmU,mBACtCS,EAAqBd,GAAgB,UACzC/T,EAAOC,QAAQoU,kBAD0B,QACZ,KAG7BQ,EAAmB/N,OAAS,EAAIyC,EAAIuL,OAAOD,GAAsBtL,GAC5DlI,SAAQ,SAAC6S,GACd,GAAKA,EAAL,CAGA,IAAIa,EAAQjV,EAAMqG,SAAS+N,GACtBa,IAAS,OAACA,QAAD,IAACA,OAAD,EAACA,EAAOC,iBAItBD,EAAMC,eAAe3T,SAAQ,SAAC4T,EAAOC,EAAOC,GAC1CA,EAAOD,GAASlV,EAAOC,QAAQmV,kBAIrCC,sCAAuC,SACrCvV,EACAE,GAEA,GAAKF,GAAUA,EAAMqG,UAAanG,EAAOC,QAAzC,CAGA,IAAI8U,EAAQjV,EAAMqG,SAASnG,EAAOC,QAAQiU,aACtCa,IACFA,EAAMtG,2BACJzO,EAAOC,QAAQqV,WAAWjH,gBAC5B0G,EAAMrG,2BACJ1O,EAAOC,QAAQqV,WAAW/G,mBAGhCgH,4CAA6C,SAC3CzV,EACAE,GACI,IAAD,EACH,GAAKF,GAAUA,EAAMqG,UAAanG,EAAOC,QAAzC,CAGA,IAAMsJ,EAAMwK,GAAiB/T,EAAOC,QAAQmU,mBACtCS,EAAqBd,GAAgB,UACzC/T,EAAOC,QAAQoU,kBAD0B,QACZ,KAG7BQ,EAAmB/N,OAAS,EAAIyC,EAAIuL,OAAOD,GAAsBtL,GAC5DlI,SAAQ,SAAC6S,GACd,GAAKA,EAAL,CAGA,IAAIa,EAAQjV,EAAMqG,SAAS+N,GACtBa,IAAS,OAACA,QAAD,IAACA,OAAD,EAACA,EAAOC,kBAGtBD,EAAMS,YAAcrb,eAAYE,MAC5B0a,EAAMC,eAAelO,OAAS,EAChCiO,EAAMC,eAAe3T,SAAQ,SAAC4T,EAAOC,EAAOC,GAC1CA,EAAOD,GAASlV,EAAOC,QAAQmV,YAGjCL,EAAMC,eAAiBS,MAAMzV,EAAOC,QAAQmV,kBAI/C/R,EAA4CyH,KAEjDW,cAAe,SAAAnH,GACbY,EAKE2M,GACAvN,EACAwG,IACA,SAAA/F,GAAQ,uBAAIA,EAAS2Q,eAAb,QAAwB,MAElCtR,EAAoB2N,GAAsCzN,GAC1DA,EAAQC,QACNwN,GAAqC3M,WACrC,SAACtF,EAAD,GAAwB,EAAdG,QACRH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAGtCkB,EAAoB4N,GAAsB1N,GAC1CA,EAAQC,QAAQyN,GAAqB5M,WAAW,SAACtF,EAAD,GAAwB,EAAdG,QACxDH,EAAMoD,eAAiB,GAAKpD,EAAMoD,uBAO3ByS,GAAwBhB,GAAoBhU,QC7I5CiV,GAAkBlR,EAI7B3B,EAAeqO,WAAW,YAA4B,IAAzBxM,EAAwB,EAAxBA,SAAU3E,EAAc,EAAdA,QACvC,OAAOuF,GACL,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,sBACJmD,OAAQ7I,IAGZ2E,MCpBEkG,GAAgBC,YAAgD,CACpEY,SAAU,SAAAkK,GAAQ,uBAAIA,EAASC,4BAAb,QAAqC,MAG5CC,GAAiBtW,YAAY,CACxCC,KAAMqD,EAAeqO,UACrBjT,aAAa,eACR8F,EAAa6G,KAElBlL,SAAS,eACJyD,EAAqDyH,KAE1DW,cAAe,SAAAnH,GACbY,EAKE0Q,GACAtR,EACAwG,IACA,SAAA/F,GAAQ,uBAAIA,EAAS2Q,eAAb,QAAwB,S,IAONK,GAAepV,Q,4BCpClCqV,GAAiBtR,EAC5B3B,EAAekT,UACf,gBAAGrR,EAAH,EAAGA,SAAH,OACEY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,6BACJmD,OAAQ,CACNoN,KAAMC,aAASC,aAAY,IAAIC,OAAU,GACzCC,GAAIC,aAAU,IAAIF,SAIxBzR,MCTAkG,GAAgBC,cAETyL,GAAgB/W,YAAY,CACvCC,KAAMqD,EAAekT,SACrB9X,aAAa,eACR8F,EAAa6G,KAElBlL,SAAS,eACJyD,EAAkCyH,KAEvCW,cAAe,SAAAnH,GACbY,EACE8Q,GACA1R,EACAwG,IACA,SAAA/F,GAAQ,OACNA,EAASoC,KAAI,SAACyE,EAAIsJ,GAEhB,OADAtJ,EAAGrL,GAAK2U,EACDtJ,WCnBJ6K,ID2BkBD,GAAc7V,QC3BN+D,EAIrC3B,EAAeqR,mBAAmB,gBAAGxP,EAAH,EAAGA,SAAH,OAClCY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,mDAGRf,OAIS8R,GAA+B/R,YAAgB,UAIvD,CAAC5B,EAAeqR,mBAJuC,+DAK1D,aAAoBxP,GAApB,qBAAAC,EAAA,6DAAYG,EAAZ,sBACoBQ,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,wCACJX,SAGJJ,GATJ,mBACSE,EADT,cAWQA,IAXR,+CAYcE,IAZd,2CAL0D,yDAqB/C2R,GAAsBhS,YAAgB,UAI9C,CAAC5B,EAAeqR,mBAJ8B,oDAKjD,aAAoBxP,GAApB,qBAAAC,EAAA,6DAAYG,EAAZ,sBACoBQ,GAChB,CACEC,OAAQ,CACNC,OAAQ,OACRC,IAAI,6BACJX,SAGJJ,GATJ,mBACSE,EADT,cAWQA,IAXR,+CAYcE,IAZd,2CALiD,yDCjC7C8F,GAAgBC,YAA8C,CAClEY,SAAU,SAAAsI,GAAS,uBAAIA,EAAU2C,0BAAd,QAAoC,MAG5CC,GAAyBpX,YAAY,CAChDC,KAAMqD,EAAeqR,kBACrBjW,aAAa,eACR8F,EAAa6G,KAElBlL,SAAS,eACJyD,EAAmDyH,KAExDW,cAAe,SAAAnH,GACbY,EAKEuR,GACAnS,EACAwG,IACA,SAAA/F,GAAQ,uBAAIA,EAAS2Q,eAAb,QAAwB,SCxBzBoB,ID+B2BD,GAAuBlW,QC/BxB+D,EACrC3B,EAAegU,mBACf,gBAAGnS,EAAH,EAAGA,SAAH,OACEY,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,kCACJmD,OAAQ,CACNpD,OAAQ,QAGZG,cAAc,GAEhBjB,OAIOoS,GAAyBrS,YAAgB,UAIjD,CAAC5B,EAAegU,mBAJiC,8DAKpD,WAAO9W,EAAS2E,GAAhB,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,mCAAD,OAAqC1F,EAAQM,IAChDyE,KAAM,CACJiS,SAAUhX,EAAQgX,YAIxBrS,GAXJ,mBACSE,EADT,cAaQA,IAbR,gCAcS,CACLvE,GAAIN,EAAQM,GACZ0W,SAAUhX,EAAQgX,WAhBtB,2CALoD,yDCdhDnM,GAAgBC,cAETmM,GAAyBzX,YAAY,CAChDC,KAAMqD,EAAegD,aACrB5H,aAAa,eACR8F,EAAa6G,KAElBlL,SAAS,eACJyD,EAA8CyH,KAEnDW,cAAe,SAAAnH,GACbY,EACE4R,GACAxS,EACAwG,IAEF1G,EAAoB4S,GAAwB1S,GAC5CA,EAAQC,QAAQyS,GAAuB5R,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QAC1DH,EAAMoD,eAAiB,GAAKpD,EAAMoD,iBAClC,IAAMkI,EAAStL,EAAMqG,SAASlG,EAAQM,IACtCT,EAAMqG,SAAN,2BACKrG,EAAMqG,UADX,kBAEGlG,EAAQM,GAFX,2BAGQ6K,GAHR,IAII6L,SAAUhX,EAAQgX,mBCjC1B9V,EAA6B6K,uBAAuB,CAClD,CACEhK,YAAa,CAACiK,aAAYE,GAAsBL,kBAAkBxN,MAClE8D,SAAU,YAA0B,IAAvBS,EAAsB,EAAtBA,SAAsB,EAAZ/C,MACViG,aAAa7C,gBACtBL,EAASiU,UDqCoBI,GAAuBvW,QAAvD,I,GEjCMwW,GAAazS,EACxB3B,EAAeqU,MACf,gBAAGxS,EAAH,EAAGA,SAAU3E,EAAb,EAAaA,QAAb,OACEuF,GACE,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAK,OACLmD,OAAQ7I,IAGZ2E,MChBAkG,GAAgBC,cAETsM,GAAY5X,YAAY,CACnCC,KAAMqD,EAAeqU,KACrBjZ,aAAa,eACR8F,EAAa6G,KAElBlL,SAAS,eACJyD,EAA+ByH,KAEpCW,cAAe,SAAAnH,GACbY,EACEiS,GACA7S,EACAwG,IACA,SAAA/F,GAAQ,uBAAIA,EAAS2Q,eAAb,QAAwB,SCAzB4B,GAAyB7X,YAAY,CAChDC,KAAMxB,EAAcqZ,kBACpBpZ,aAb2C,CAC3CqZ,aAAa,EACbC,kBAAkB,EAClBC,kBAAkB,GAWlB9X,SAAU,CACR+X,oBAAqB,SACnB7X,EADmB,GAGf,IADFG,EACC,EADDA,QAEFH,EAAMG,EAAQ2X,kBAAoB3X,EAAQ8U,UAKnC8C,GAA2BP,GAAuB3W,QAEzDC,GAAuD,CAC3DC,IAAK3C,EAAcqZ,kBACnBzW,QAASA,KAGEgX,GAA2B7W,YACtCL,GACA0W,GAAuBpW,SCpCZ6W,GAAuBpT,YAAiB,GAAD,OAC/C,CAACzG,EAAcuO,aADgC,gEAElD,WAAOC,EAAG9H,GAAV,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAI,8BAENE,cAAc,GAEhBjB,GATJ,mBACSE,EADT,cAWyBA,IAXzB,cAWQC,EAXR,yBAYSA,EAASC,MAZlB,2CAFkD,yDAkBvCgT,GAAyBrT,YAAgB,UAIjD,CAACzG,EAAcuO,aAJkC,kEAKpD,WAAOxM,EAAS2E,GAAhB,mBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,SACRC,IAAI,8BAAD,OAAgC1F,EAAQM,KAE7CsF,cAAc,GAEhBjB,GATJ,mBACSE,EADT,cAWQA,IAXR,gCAYS,CACLvE,GAAIN,EAAQM,KAbhB,2CALoD,yDChBhDpC,GAAoC,2BACrC8E,GADqC,IAExCgV,QAAS,KAGEC,GAAyBzY,YAAY,CAChDC,KAAMxB,EAAcia,kBACpBha,gBACAyB,SAAU,CACRiR,WAAY,SAAA/Q,GAAK,OAAIuH,OAAOC,OAAOxH,EAAO3B,MAE5CsN,cAAe,SAAAnH,ID4BgC,SAC/CA,GAEAF,EAAoB2T,GAAsBzT,GAC1CA,EAAQC,QAAQwT,GAAqB3S,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QACxDH,EAAMmY,QAAUhY,EAChBH,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBAEpCkB,EAAoB4T,GAAwB1T,GAC5CA,EAAQC,QAAQyT,GAAuB5S,WAAW,SAACtF,EAAD,GAAyB,IAAfG,EAAc,EAAdA,QAC1DH,EAAMmY,QAAUnY,EAAMmY,QAAQ5X,QAAO,SAAA+X,GAAM,OAAIA,EAAO7X,KAAON,EAAQM,MACrET,EAAMoD,eAAiB,GAAKpD,EAAMoD,oBCtClCmV,CAAkC/T,MCmBvBgU,IDfyBJ,GAAuBvX,QCP3C4X,aAAe,qBAChCxV,EAAekI,KAAOK,GAAUpK,SADA,eAEhC6B,EAAegD,aAAe6L,GAAkB1Q,SAFhB,eAGhC6B,EAAe+O,eAAiB6C,GAAoBzT,SAHpB,eAIhC6B,EAAewC,gBAAkB6G,IAJD,eAKhCrJ,EAAeqO,UAAY2E,GAAe7U,SALV,eAMhC6B,EAAekT,SAAWO,GAActV,SANR,eAOhC6B,EAAeqR,kBAAoByC,GAAuB3V,SAP1B,eAQhC6B,EAAeqU,KAAOC,GAAUnW,SARA,eAShC6B,EAAegU,kBAAoBG,GAAuBhW,SAT1B,sBAUjCyJ,WAViC,eAWhCzM,EAAcuO,YAAciB,GAAiBxM,SAXb,eAYhChD,EAAcyB,GAAKqB,GAZa,eAahC9C,EAAc6R,SAAWa,GAAc1P,SAbP,eAchChD,EAAciT,SAAWE,GAAcnQ,SAdP,eAehChD,EAAcqZ,kBAAoBO,IAfF,eAgBhC5Z,EAAcuT,OAASC,GAAYxQ,SAhBH,eAiBhChD,EAAc2J,eAAiBD,GAAoB1G,SAjBnB,eAkBhChD,EAAcia,kBAAoBD,GAAuBhX,SAlBzB,MCD7BsB,GAAQgW,YAAe,CAC3BtX,QAASoX,GACTG,WAAYC,YAAqB,CAC/BC,kBAAmB,CAEjBC,eAAgB,CACd7Y,EAAUzB,KACV2N,aACA4M,IACAC,IACAC,IACAC,IACAC,IACAC,KAEFC,aAAc,CAAC,YAAa,SAE7BrE,OAAO,CAAC3T,EAA6BoB,eACxC6W,UAAUvQ,IAICwQ,GAAiB,kBAAMC,yBAEvBC,GAAiB,SAC5BC,GAD4B,IAE5BC,EAF4B,uDAEiC,SAC3DC,EACAC,GAF2D,OAGxDD,IAASC,GALc,OAO5BC,sBAAgDJ,EAAUC,IAE7CjX,MClDFqX,GAAiC,SAAC/Z,GAAD,OAC5CA,EAAMyX,mBCAKuC,GAAsB,SACjClC,GAEA,IAAM7C,EAAQwE,GDDwB,SACtC3B,GADsC,OAGtC3R,aACE4T,IACA,SAAA/Z,GAAK,OAAIA,EAAM8X,MCJYmC,CAAyBnC,IAChD/U,EAAWwW,KAcjB,MAAO,CAACtE,EAZyBxK,uBAC/B,SAACwK,GACClS,EACEgV,GAAyBF,oBAAoB,CAC3CC,mBACA7C,aAIN,CAAClS,EAAU+U,MClBFoC,GAAoB,WAC/B,OAAOF,GAAoB,qB,qBCAhBG,GAAmB,SAC9BC,EACAC,GAEKA,EAKLC,KAAQC,MAAMH,GAJZI,GAAkBJ,ICNhBK,GAAqB,GAEdD,GAAoB,SAACD,GAAD,OAAgBE,GAAYC,KAAKH,IAGrDI,GAAyB,SAAzBA,IACX,IAAIJ,EAHmCE,GAAYG,QAK9CL,IACLJ,GAAiBI,GAAO,GACxBI,M,mBCVIE,GAAwB,CAAC,MAAO,OAAQ,QCMjCC,GAAe,WAAO,IAAD,ECAzB,CAACN,GAAmBG,IDClBI,EADuB,sBAEYb,KAFZ,mBAEzBc,EAFyB,KAETC,EAFS,MEHN,WAC1B,IAAIhM,EAAWiM,eADiB,EAEhBhB,KAATla,EAFyB,oBAIhCmb,qBAAU,WACJnb,GACFsa,KAAQC,MAAMtL,EAASmM,SAAWnM,EAASoM,UAE5C,CAACpM,EAAUjP,IFFdsb,GAEA,IAAMC,EAAW9Q,uBACf,SAAC+Q,GACKA,GACFP,EAAkBO,IAGH,IAAbA,GACFP,EAAkBO,GDfE,WAC1B,IAAMC,EAAU,IAAIC,KACpBb,GAAsBtZ,SAAQ,SAAAoa,GAC5BF,EAAQG,OAAOD,EAAY,CAAEE,KALN,SCkBnBC,GACAf,MACSC,IAA+B,IAAbQ,KGnB/BlB,KAAQyB,WACN,CAAC,CACCC,WAAYjT,eACZkT,UAAW,CACTC,OAAOnT,EACPoT,WAAW,MHgBbpB,OAGJ,CAACC,EAAgBD,EAAqBE,IAgBxC,MAAO,CAbmBxQ,uBACxB,SAAC8P,GACCJ,GAAiBI,EAAOS,KAE1B,CAACA,IASwBA,EAAgBO,I,6HIpBhCa,GAAqB,SAACC,EAAaC,GAAd,MAAmC,CACnEC,QAAQ,GAAD,OAAKF,EAAL,cAdkB,OAclB,mBAA6BC,QAA7B,IAA6BA,IAAUD,EAAvC,QCpBIG,GAAYC,cAAW,SAACC,GAAD,MAAmB,CACrDC,OAAO,aACLC,MAAO,OACPC,MDK0B,UCJ1B,mBAAoB,CAClBC,SAAU,UAEXJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,MACPK,OAAQ,WAGZC,cAAc,aACZC,QAAS,OACTC,cAAe,MACfC,WAAY,SACZC,aAAcZ,EAAMa,QAAQ,IAC3Bb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAGnBI,WAAY,CACVZ,MAxBqB,GAyBrBK,OAAQ,EACRQ,YAAaf,EAAMa,QAAQ,GAC3B,QAAS,CACPX,MAAO,OACPc,KAAMhB,EAAMiB,QAAQC,QAAQC,OAGhCC,YAAa,CACXC,SAAU,GACV,MAAO,CACLC,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAYvB,EAAMwB,WAAWC,eAC7BC,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,MAE/BC,eAAgB,SAGpBC,iBAAiB,aACfpB,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChBlB,aAAcZ,EAAMa,QAAQ,GAC5B,OAAO,eACJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,EACZ7B,MAAO,OACP8B,UAAWhC,EAAMa,QAAQ,KAG7B,iBAAkB,CAChBkB,WAAY,IAEb/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,iBACfC,WAAY,SACZmB,eAAgB,WAGpBG,WAAW,aACTZ,SAAU,GACVd,OAAQ,EACR,MAAO,CACLe,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAYvB,EAAMwB,WAAWC,eAC7BC,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,MAE/BC,eAAgB,SAEjB5B,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4B,UAAW,mBCnFjB,SAASC,KAA2Q,OAA9PA,GAAWtX,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAASM,GAAyBL,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxMY,CAA8BT,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,KAAmB,IAAMA,cAAc,IAAK,KAAmB,IAAMA,cAAc,IAAK,KAAmB,IAAMA,cAAc,OAAQ,CACvLC,EAAG,+sCACY,IAAMD,cAAc,SAAU,CAC7CE,GAAI,IACJC,GAAI,IACJC,EAAG,KACY,IAAMJ,cAAc,SAAU,CAC7CE,GAAI,IACJC,GAAI,IACJC,EAAG,KACY,IAAMJ,cAAc,SAAU,CAC7CE,GAAI,IACJC,GAAI,IACJC,EAAG,KACY,IAAMJ,cAAc,SAAU,CAC7CE,GAAI,IACJC,GAAI,IACJC,EAAG,KACY,IAAMJ,cAAc,SAAU,CAC7CE,GAAI,IACJC,GAAI,IACJC,EAAG,KACY,IAAMJ,cAAc,SAAU,CAC7CE,GAAI,IACJC,GAAI,IACJC,EAAG,QAGD,GAAqB,IAAMJ,cAAc,IAAK,MAE9C,GAAqB,IAAMA,cAAc,IAAK,MAE9C,GAAqB,IAAMA,cAAc,IAAK,MAE9C,GAAqB,IAAMA,cAAc,IAAK,MAE9C,GAAqB,IAAMA,cAAc,IAAK,MAE9C,GAAqB,IAAMA,cAAc,IAAK,MAE9C,GAAqB,IAAMA,cAAc,IAAK,MAE9C,GAAsB,IAAMA,cAAc,IAAK,MAE/C,GAAsB,IAAMA,cAAc,IAAK,MAE/C,GAAsB,IAAMA,cAAc,IAAK,MAE/C,GAAsB,IAAMA,cAAc,IAAK,MAE/C,GAAsB,IAAMA,cAAc,IAAK,MAE/CK,GAAsB,IAAML,cAAc,IAAK,MAE/CM,GAAsB,IAAMN,cAAc,IAAK,MAE/CO,GAAsB,IAAMP,cAAc,IAAK,MAE/C,GAAa,SAAoBQ,GACnC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQlB,GAAyBgB,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAOjB,GAAS,CACtDpe,GAAI,UACJggB,EAAG,MACHC,EAAG,MACHC,QAAS,cACTC,MAAO,CACLC,iBAAkB,mBAEpBC,SAAU,WACVC,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAQ,GAAQ,GAAQ,GAAQ,GAAQqhB,GAAQC,GAAQC,KAGhMW,GAA0B,IAAMC,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAYjB,GAAS,CAC3D0B,OAAQQ,GACPP,O,IAEU,I,+CCzFFU,GAAqB,SAACC,GAEjC,OADsBxf,KAAKyf,MAAgB,KAAVD,GACZtf,SAAS,KCiBnBwf,GAASC,cAAW,SAAC5E,GAAD,MAAmB,CAClD6E,KAAK,aACHC,cAAe,QACfC,aAAc,OACdC,UACE,6EACFzD,WAAY,IACZ1B,QAAS,WACTwB,SAAU,IACTrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,GACVxB,QAAS,WAGboF,UAAW,CACTpF,QAAS,aACTwB,SAAU,GACV6D,OAAQ,eAEVC,iBAAkB,CAChBC,OAAO,0BACPjF,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5BC,WAAYvF,EAAMiB,QAAQC,QAAQC,MAEpCqE,SAAU,CACRJ,OAAO,eAAD,OJtCiB,WIuCvBjF,MJrC8B,UIsC9BsF,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCN,UAAW,QAEbU,gBAAiB,CACfN,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQC,QAAQC,MAC7ChB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7B,UAAW,CACTiE,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQC,QAAQC,QAGjDwE,mBAAoB,CAClBT,OAAQ,OACRE,OAAQ,cACRL,aAAc,MACdU,gBAAiB,UACjBT,UAAW,OACX7E,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAAYpB,GAAmB,IACzDjD,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SACVrE,WAAY,oCACZ,UAAW,CACT+C,QAAS,EACTtE,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5BG,gBAAiBzF,EAAMiB,QAAQC,QAAQC,KACvCiE,OAAQ,cACRJ,UAAW,SAGf1iB,KAAM,CACJud,QAAS,EACTuF,OAAQ,cACRJ,UAAW,OACX7E,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BO,WAAY,yBACZ,UAAW,CACTsD,UAAW,OACXI,OAAQ,cACRK,gBAAiB,cACjBtF,MAAOH,EAAMiB,QAAQC,QAAQS,UAnEbiD,CAsElBoB,aAAUC,OAORnG,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXC,QAAS,CACPpE,WAAY,IACZ7B,MAAO,eACPgF,OAAQ,OACRxD,WAAY,0BACZvB,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5BnI,MAAO,QACPiJ,SAAU,YAEZC,QAAS,CACPtE,WAAY,OACZ7B,MAAO,wBAKAoG,GAA6C,SAAC,GAKpD,IAJLtc,EAII,EAJJA,OACA2D,EAGI,EAHJA,QACA4Y,EAEI,EAFJA,SACGzC,EACC,gDACE0C,EAAS1G,KACT2G,EAAmBzc,GJ3FG,SAACA,GAC7B,OAAQA,GACN,IAAK,UACH,MAjCsB,UAkCxB,IAAK,UACH,MAjCsB,UAkCxB,IAAK,QACH,MAlCoB,WIsHW0c,CAAe1c,GAC5C2c,EACc,aAAlB7C,EAAM8C,SAA0BH,EAC5B,CACErB,OAAO,eAAD,OAAiBqB,GACvBtG,MAAOsG,GAET,GAEN,OACE,kBAAC,GAAD,eACEvC,MAAK,2BACAyC,GADA,IAEHE,cAAelZ,EAAU,OAAS,UAEhCmW,GAEHyC,EAAU,IACV5Y,GACC,kBAACmZ,GAAA,EAAD,CAAkBC,KAAM,GAAIC,UAAS,UAAKR,EAAOL,aAM1CG,MCvIFW,GAAqDC,IAAMC,MACtE,YAAqB,EAAlBC,YAAmB,IACdZ,EAAS1G,KACTzZ,EAAWwW,KAFE,EAKmBuB,KALnB,mBAKOiJ,GALP,aCTd/J,GAAoB,eDSN,mBAMZgK,EANY,KAMIC,EANJ,KAQbC,EAAqBzZ,uBACzB,SAAC0Z,GACCJ,EAASI,GACTF,GAAkB,GAClBlhB,EAASrC,GAAoB,MAE/B,CAACujB,EAAmBF,EAAUhhB,IAG1BqhB,EAAoBC,mBAAQ,WAChC,MAAO,gCACN,IAEGC,EAAaD,mBAAQ,WACzB,MACEtb,oCAAA,oBACarL,gBAAaK,cAD1B,UAGD,IAEGwmB,EAAkBF,mBAAQ,WAC9B,MACEtb,oCAAA,oBACarL,gBAAaC,cAD1B,UAGD,IAEH,OACE,oCACE,kBAAC6mB,GAAA,EAAD,CAAQC,MAAOT,EAAgBN,UAAWR,EAAOvG,QAC/C,yBAAK+G,UAAWR,EAAOhG,eACrB,4BAAQwG,UAAWR,EAAO1F,YACxB,kBAAC,GAAD,OAEF,0BAAMkG,UAAWR,EAAOpF,aACtB,qDAEE,6BAFF,uKAOA,0PAIe,IACb,uBACE4G,KAAMN,EACNtF,OAAO,SACP6F,IAAI,uBAHN,sBALF,+qBAsBE,uBAAGD,KAAMJ,EAAYxF,OAAO,SAAS6F,IAAI,uBAAzC,uBAtBF,KA2BA,sLAIE,uBACED,KAAMH,EACNzF,OAAO,SACP6F,IAAI,uBAHN,gCAJF,OAeJ,yBAAKjB,UAAWR,EAAO3E,kBACrB,kBAAC,GAAD,CACE+E,QAAQ,WACRsB,QAAS,kBAAM7hB,EAASrC,GAAoB,MAF9C,sBAMA,kBAAC,GAAD,CACE4iB,QAAQ,WACRsB,QAAS,kBAAMV,GAAmB,KAFpC,0BAMA,kBAAC,GAAD,CACEZ,QAAQ,WACRsB,QAAS,kBAAMV,GAAmB,KAFpC,4BE3GGzH,iBAAW,SAACC,GAAD,aACxBkG,aAAa,CACXiC,OAAO,aACL1H,QAAS,OACTE,WAAY,SACZoF,SAAU,SACV7F,MAdsB,GAetBgF,OAbgB,GAchBO,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCP,aAXgB,GAYhBC,UAAW,iCACXoD,QAAS,OACThD,OAAQ,OACR9D,OAAQ,UACR+G,OAAQ,KACRjC,SAAU,QACVlJ,KArBkB,GAsBlB0C,OAtBkB,GAuBlB8B,WAAY,0BACZ,cACExB,MA3Ba,KA0Bf,cAEGF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOoI,KAHX,cAKE,QAAS,CACPtH,KAAMhB,EAAMiB,QAAQC,QAAQC,OANhC,cAQE,SARF,aASIsD,QAAS,EACTvE,MAAO,OACPwB,WAAY,oBACZ6G,gBAAiB,SAChBvI,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,KAdb,GAkBA,UAAW,CACTkI,QAAS,OACTpD,UAAW,kCAEZhF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,GACPgF,OAAQsD,GACRrL,MAAOsL,GACP7I,OAAQ6I,KAGZC,KAAK,aACHjI,QAAS,OACTP,MAtDmB,GAuDnBgF,OAvDmB,GAwDnBH,aAAc,EACd/C,UAAW,EACXD,WAAY,EACZ,QAAS,CACP7B,MAAOyI,GACPzD,OAAQyD,GACRjH,WAAY,2BAGb1B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOyI,GACPzD,OAAQyD,GACR5G,WAAY,EACZ,QAAS,CACP7B,MAAOyI,GACPzD,OAAQyD,MAIdrmB,KAAK,aACH+e,SAAU,GACVyD,cAAe,YACfvD,WAAY,IACZkD,QAAS,GACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9BG,QAAS,c,8BCjFXmI,GAAkB,SAAC5I,GAAD,MAA4C,CAClEqB,SAAU,GACV6D,OAJoB,GAKpB2D,UAAW,aACXhJ,QAASG,EAAMa,QAAQ,KAAM,MAC7BmE,UAAW,SAGEjF,iBAAW,SAAAC,GAAK,MAAK,CAClC8I,YAAY,yBACV,iCAAiC,aAC/B/H,YAAaf,EAAMa,QAAQ,IAC1Bb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BS,YAAa,IAGjBZ,MRT0B,UQU1BiF,OAAQ,uBACLwD,GAAgB5I,IATV,gBAUT,UAAW,CACTgF,UACE,0GAEHhF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B0B,UAAWhC,EAAMa,QAAQ,MAG7BkI,WAAW,eACNH,GAAgB5I,QCMR2E,GA1BwB,SAAC,GAOjC,IANL4B,EAMI,EANJA,SAMI,IALJzkB,YAKI,MALG,QAKH,EAJJomB,EAII,EAJJA,QACAc,EAGI,EAHJA,OACAhC,EAEI,EAFJA,UACGlD,EACC,mEACE0C,EAAS1G,KACTmJ,EAAyB,UAATnnB,EACtB,OACE,kBAAC,GAAD,eACE8kB,QAASqC,EAAgB,WAAa,YACtC9I,MAAO8I,OAAgBlnB,EAAY,UACnCilB,UAAS,UACPiC,EAAgBzC,EAAOsC,YAActC,EAAOuC,WADrC,YAEL/B,GACJkB,QAASA,EACTpmB,KAAMknB,EAAS,cAAWjnB,GACtB+hB,GAEHyC,I,UChCMzG,GAAYC,cAAW,SAACC,GAAD,eAClCkG,aAAa,CACXjG,OAAQ,CACN,uBACEG,SAAU,QACVP,QAASG,EAAMa,QAAQ,EAAG,KAF5B,cAGGb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4I,cAAelJ,EAAMa,QAAQ,KAJjC,cAMGb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,KAP9B,GAUAV,MVHwB,WUK1BiB,YAAa,CACXC,SAAU,GACV,MAAO,CACLC,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAYvB,EAAMwB,WAAWC,eAC7BC,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,MAE/BC,eAAgB,SAGpBuH,YAAY,aACV5I,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BhB,QAAS,EACTwB,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7B2H,UAAW,UACVpJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,SAGdgI,iBAAkB,CAChB5I,QAAS,OACTC,cAAe,SACfb,QAAS,EACT,eAAgB,CACdU,OAAQ,IAGZ+I,WAAW,aACTzJ,QAASG,EAAMa,QAAQ,GACvBN,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BmE,UACE,wEACFD,aAAc,GACb/E,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,EAAG,KAGjC0I,aAAa,aACX9I,QAAS,OACTqB,eAAgB,gBAChBvB,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BF,WAAY,WACZ,OAAQ,CACNU,SAAU,GACVwE,cAAe,GACftE,WAAYvB,EAAMwB,WAAWC,gBAE/B,SAAU,CACRtB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BqI,YAAaxJ,EAAMa,QAAQ,GAC3B4I,SAAU,IACVL,UAAW,QACX/H,SAAU,GACVwE,cAAe,IACftE,WAAYvB,EAAMwB,WAAWC,iBAE9BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MAIhBqI,gBAAiB,CACfjJ,QAAS,OACTC,cAAe,SACf,MAAM,aACJH,OAAQ,EACRc,SAAU,GACVoD,QAAS,GACTtE,MV9EsB,UU+EtBC,SAAU,KACTJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BF,SAAU,SAIhBuJ,gBAAgB,aACdlJ,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChB,OAAQ,CACNvB,OAAQ,EACRJ,MAAO,UACPkB,SAAU,GACVyE,WAAY,OACZD,cAAe,IACftE,WAAYvB,EAAMwB,WAAWC,iBAE9BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MAIhBQ,kBAAgB,GACdpB,QAAS,OACTF,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BiB,eAAgB,gBAHF,cAIb9B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BwB,eAAgB,eAChBvB,OAAQ,IANI,cAQd,WARc,aASZ2E,OAAQ,GACRhF,MAAO,IACPmB,SAAU,IACTrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAAQ,GACR7D,SAAU,GACVnB,MAAO,MACPK,OAAQP,EAAMa,QAAQ,EAAG,EAAG,MAhBlB,GAoBhB+I,iBAAkB,CAChB9E,cAAe,kBC3HR+E,GAAkD,SAAC,GAIzD,IAHLC,EAGI,EAHJA,MACArC,EAEI,EAFJA,UACAD,EACI,EADJA,mBAEMhB,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAEAnS,EAAWkb,IAAe,SAAAzZ,GAAK,OAAIA,EAAMH,GAAGL,yBAA5CjB,OAJJ,EAMkD6L,oBAAS,GAN3D,mBAMGsc,EANH,KAMwBC,EANxB,KAQErC,EACJvb,oCAAA,oBACarL,gBAAaK,cAD1B,QAQF,OAJAod,qBAAU,WACRwL,EAAuBxC,KACtB,CAACA,IAGF,oCACE,kBAACK,GAAA,EAAD,CACEoC,mBAAiB,mBACjBnC,KAAMlmB,EACNsoB,QAAS,SAACja,EAAGka,GACX,GAAe,kBAAXA,EACF,OAAON,GAGX1J,SAAS,KACTiK,WAAS,EACTrD,UAAWR,EAAOvG,QAElB,kBAACqK,GAAA,EAAD,CAAatD,UAAWR,EAAO2C,YAAaoB,mBAAiB,GAC1DvW,EAAE,kBAEL,kBAACwW,GAAA,EAAD,CAAexD,UAAWR,EAAO6C,kBAC/B,uBAAGrC,UAAWR,EAAOpF,aAArB,oNAIE,uBAAG4G,KAAMJ,EAAYxF,OAAO,SAAS6F,IAAI,uBAAzC,uBAJF,MASA,yBAAKjB,UAAWR,EAAO8C,YACrB,yBAAKtC,UAAWR,EAAO+C,cACrB,4BAAKvV,EAAE,6BACP,0BAAMgT,UAAWR,EAAOoD,kBACrB5V,EAAE,uBAGP,2BAAOgT,UAAWR,EAAOkD,iBACvB,yBAAK1C,UAAWR,EAAOmD,iBACrB,4BAAK3V,EAAE,2BACP,kBAAC,KAAD,CAAQyW,SAAS,EAAMC,UAAQ,KAEjC,uBACEC,wBAAyB,CACvBC,OAAO,GAAD,OAAK5W,EAAE,gBAAP,aAA2BA,EAAE,+BAM3C,yBAAKgT,UAAWR,EAAO8C,YACrB,yBAAKtC,UAAWR,EAAO+C,cACrB,4BAAKvV,EAAE,8BACP,0BAAMgT,UAAWR,EAAOoD,kBACrB5V,EACCgW,EACI,oBACA,wBAIV,2BAAOhD,UAAWR,EAAOkD,iBACvB,yBAAK1C,UAAWR,EAAOmD,iBACrB,4BAAK3V,EAAE,6BACP,kBAAC,KAAD,CACEyW,QAAST,EACTa,SAAU,SAAAC,GAAC,OAAIb,EAAuBa,EAAE1I,OAAOqI,UAC/CtK,MAAM,aAGV,uBACEwK,wBAAyB,CACvBC,OAAO,GAAD,OAAK5W,EAAE,gBAAP,aAA2BA,EAAE,+BAM3C,yBAAKgT,UAAWR,EAAO3E,kBACrB,kBAAC,GAAD,CAAQ+E,QAAQ,WAAWsB,QAAS4B,GACjC9V,EAAE,WAEL,kBAAC,GAAD,CACElS,KAAK,OACLomB,QAAS,kBAAMV,EAAmBwC,KAEjChW,EAAE,cC7GJ+W,GAAkC,WAC7C,IAAMvE,EAAS1G,KACTzZ,EAAWwW,KAEThb,EAAWkb,IAAe,SAAAzZ,GAAK,OAAIA,EAAMH,GAAGL,yBAA5CjB,OAJ2C,EAMbuc,KANa,mBAM1C4M,EAN0C,KAMzB3D,EANyB,OCN5C/J,GAAoB,eDMwB,mBAQ5BiK,GAR4B,WAU7CC,EAAqBzZ,uBACzB,SAAC0Z,GACCJ,EAASI,GACTF,GAAkB,GAClBlhB,EAASrC,GAAoB,MAE/B,CAACujB,EAAmBF,EAAUhhB,IAGhC,OACE,6BACE,4BACE2gB,UAAWR,EAAO2B,OAClBD,QAAS,kBAAM7hB,EAASrC,GAAqBnC,MAE7C,yBAAKmlB,UAAWR,EAAOkC,MACrB,kBAAC,GAAD,OAEF,0BAAM1B,UAAWR,EAAOlkB,MAAxB,iCAGF,kBAAC,GAAD,CACEwnB,MAAO,kBAAMzjB,EAASrC,GAAoB,KAC1CyjB,UAAWuD,EACXxD,mBAAoBA,M,uEEzCfyD,GAAkB,SAACC,EAAuBC,GAAsB,IAAD,EACxCzd,oBAAS,GAD+B,mBACnE0d,EADmE,KACxDC,EADwD,KAe1E,OAZA5M,qBAAU,WAGR,GAFA4M,GAAa,IAERH,EAAc,CACjB,IAAMI,EAAQ/W,YAAW,WACvB8W,GAAa,KADS,OAErBF,QAFqB,IAErBA,IAAW,KAEd,OAAO,kBAAMI,aAAaD,OAE3B,CAACJ,EAAcC,IAEXC,G,qBCFHtL,GAAYC,cAAW,SAACC,GAAD,MAAmB,CAC9CwL,cAAe,CACbtO,KAAM,EACNC,MAAO,EACPiJ,SAAU,WACVb,WfVoB,UeWpB8C,OAAQ,IAEVoD,aAAc,CACZhL,QAAS,QAEXiL,MAAO,CACL7L,QAASG,EAAMa,QAAQ,EAAG,IAE5B8K,UAAW,CACTrK,OAAQ,UACRsK,UAAW,GACX/L,QAASG,EAAMa,QAAQ,IAEzBlT,QAAS,CACP,UAAW,CACT2T,OAAQ,UACR8D,OAAO,eAAD,Of7BsB,Ue6BgBZ,GAAmB,WAgBxDqH,GAA8C,SAAC,GAOrD,IANLtF,EAMI,EANJA,SACAuF,EAKI,EALJA,SACAne,EAII,EAJJA,QACAoe,EAGI,EAHJA,mBAGI,IAFJ3E,mBAEI,MfvCmB,OeuCnB,EADJ4E,EACI,EADJA,SAEMxF,EAAS1G,KACTE,EAAQiM,eAFV,EAI6Bve,oBAAS,GAJtC,mBAIGwe,EAJH,KAIcC,EAJd,KAMEf,EAAYH,GAAe,OAACtd,QAAD,IAACA,MAMlC,OAJA8Q,qBAAU,WACR0N,IAAcL,KACb,CAACA,IAGF,kBAACM,GAAA,EAAD,CACEC,YAAa,WACNP,GACHK,GAAY,KAIhB,6BACGJ,GACCA,EACE,6BAAMG,EAAY,kBAAC,KAAD,MAAqB,kBAAC,KAAD,QACvC,YACGd,GAAae,GAAY,SAAAG,GAAI,OAAKA,QAGzC,kBAACC,GAAA,EAAD,CACErI,MAAO,CAAEvE,IAAKyH,GACdoF,GAAIN,EACJlF,UAAWR,EAAOgF,cAClBiB,gBAAiB,GAEjB,yBAAKzF,UAAWR,EAAOiF,cACrB,yBACEvH,MAAO,CACLhE,MAAO,OACPL,QAASmM,EACLhM,EAAMa,QAAQ,EAAG,EAAG,EAAG,GACvBb,EAAMa,QAAQ,EAAG,KAGtB0F,GAEFyF,GACC,yBACEhF,UAAWR,EAAOmF,UAClBzD,QAAS,WACP8D,IACAG,GAAY,KAGd,kBAAC,KAAD,YCjHhB,SAAS,KAA2Q,OAA9P,GAAWthB,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,0BACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,IACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,gBACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,iSACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACNsC,GAAI,MACJC,GAAI,OACJuJ,GAAI,EACJC,GAAI,IACW,IAAM3J,cAAc,OAAQ,CAC3CC,EAAG,qmCACHtf,GAAI,QACJid,KAAM,gBAGJ,GAAW,SAAkB4C,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,OC1DU/D,ID4DA,IC5DAA,cAAW,SAACC,GAAD,YAAmB,CAC3CgN,UAAU,aACRnN,QAASG,EAAMa,QAAQ,EAAG,GAC1BJ,QAAS,OACTqB,eAAgB,aAChBnB,WAAY,UACXX,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,KAG9B6H,MAAI,GACF3H,YAAaf,EAAMa,QAAQ,IADzB,cAEDb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BS,YAAaf,EAAMa,QAAQ,KAH3B,uBAboB,IAapB,sBAboB,IAapB,6BAOY,IAPZ,0BAQS,uCART,GAUJoM,QAAS,CACPxM,QAAS,OACTC,cAAe,SACfC,WAAY,aACZR,MjBjB0B,WiBmB5B+M,OAAQ,CACNzM,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZC,aAAcZ,EAAMa,QAAQ,GAC5B,QAAS,CACPE,YAAaf,EAAMa,QAAQ,GAC3BqE,OAnCkB,GAoClBhF,MApCkB,IAsCpB,MAAO,CACLK,OAAQ,EACRc,SAAU,GACVwE,cAAe,GACftE,WAAY,MAGhB4L,QAAQ,aACN1M,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,UACXX,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAGnBuB,WAAY,CACVZ,SAAU,GACVd,OAAQ,EACR,MAAO,CACLe,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAYvB,EAAMwB,WAAWC,eAC7BC,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,MAE/BC,eAAgB,c,8BC3DTwL,GAAwDlG,IAAMC,MACzE,YAAsB,IAAnBC,EAAkB,EAAlBA,YACKZ,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAFW,ECPdsJ,GAAoB,oBDON,mBAIZpC,EAJY,KAIMmS,EAJN,KAMbC,EAAU3F,mBAAQ,WACtB,OAAI4F,SACKlhB,kEAELmhB,aACKnhB,6EAEF,KACN,IAEGohB,EAAU1f,uBAAY,WAC1B,SAAI2f,aAAaxS,IAAoBoS,KAIpC,CAACpS,EAAkBoS,IAEtB,OACE,kBAAC,GAAD,CACExB,SAAU2B,IACVrG,YAAaA,EACb4E,SAAU,kBAAMqB,GAAoB,KAEpC,yBAAKrG,UAAWR,EAAOwG,WACrB,yBACEhG,UAAWR,EAAOkC,KAClBiF,IAAKC,KACLC,IAAI,sBAEN,yBAAK7G,UAAWR,EAAOyG,SACrB,yBAAKjG,UAAWR,EAAO0G,QACrB,kBAAC,GAAD,MACA,2BAAIlZ,EAAE,gCAER,yBAAKgT,UAAWR,EAAO2G,SACrB,uBAAGnG,UAAWR,EAAOvE,YAClBjO,EAAE,+BACH,6BACA,uBAAGgU,KAAMsF,EAASlL,OAAO,SAAS6F,IAAI,uBACnCjU,EAAE,mDE5Cf8L,GAAYC,cAAW,SAACC,GAAD,YAAmB,CAC9CiN,SAAO,GACLxM,QAAS,OACTqB,eAAgB,SAChBpB,cAAe,SACfoN,UAAW,QACX5N,MAAO,OACP6N,eAAgB,QAChBC,mBAAoB,gBACpBC,iBAAkB,YAClBC,gBAAgB,QAAD,OAAUC,KAAV,0GATV,cAUJnO,EAAMK,YAAYC,KAAK,KAAQ,CAC9B4N,gBAAgB,QAAD,OAAUE,KAAV,2GAXZ,cAaJpO,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4N,gBAAgB,QAAD,OAAUG,KAAV,2GAdZ,cAgBJrO,EAAMK,YAAYC,KAAK,MAAQ,CAE9B4N,gBAAgB,QAAD,OAAUI,KAAV,2GAlBZ,cAoBJtO,EAAMK,YAAYC,KAAK,MAAQ,CAE9B4N,gBAAgB,QAAD,OAAUK,KAAV,2GAtBZ,sBAwBEvO,EAAMiB,QAAQ3e,KAAK4e,SAxBrB,uBAyBG,GAzBH,wBA0BI,GA1BJ,GA4BP8L,UAAW,CACTvM,QAAS,OACTC,cAAe,MACfoB,eAAgB,cAIP0M,GAA8B,SAAC,GAAkB,IAAhBjI,EAAe,EAAfA,SACtCC,EAAS1G,KAEf,OACE,yBAAKkH,UAAWR,EAAOyG,SACrB,kBAACG,GAAD,CAAmBhG,YAAa,IAChC,kBAACH,GAAD,CAAgBG,YAAa,IAC7B,kBAAC,GAAD,MACA,yBAAKJ,UAAWR,EAAOwG,WAAYzG,KClD5BzG,GAAYC,cAAW,SAACC,GAAD,cAAmB,CACrDiN,QAAS,CACP1M,OAAQP,EAAMa,QAAQ,EAAG,GACzBJ,QAAS,OACTC,cAAe,SACfC,WAAY,SACZT,MAAO,MACP0L,UAAW,QAEb6C,WAAS,GACPvJ,OAZW,MAYM,GACjBhF,MAAOwO,KAFA,cAGN1O,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAfS,MAeQ,GACjBhF,MAAOwO,MALF,cAON1O,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAAQyJ,QACRzO,MAAOwO,MATF,cAWN1O,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAvBS,MAuBQ,IACjBhF,MAAOwO,MAbF,cAeN1O,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAAQyJ,QACRzO,MAAOwO,MAjBF,cAmBN1O,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAAQyJ,MACRzO,MAAOwO,MArBF,6BAuBO,IAvBP,GAyBTvB,SAAO,GACL1M,QAAS,OACTC,cAAe,SACfC,WAAY,SACZT,MAAO,OACPC,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5B/D,WAAY,IACZ,OAAQ,CACNhB,OAAQ,EACRc,SAAU,GACV+H,UAAW,SACXwF,WAAW,gBAAD,OAAkB5O,EAAMiB,QAAQoE,OAAOwJ,SAX9C,cAaJ7O,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MAfT,cAkBJrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MApBT,OCpCHvB,GAAYC,cAAW,iBAAO,CAClC+O,OAAQ,CACN1J,OAAQ,YAIC2J,GAA6D,SAAC,GAGpE,IAFLpB,EAEI,EAFJA,IACAqB,EACI,EADJA,YAEMxI,EAAS1G,KAEf,OACE,4BACE1d,MAAM,YACN4kB,UAAS,UAAKgI,EAAL,YAAoBxI,EAAOsI,QACpCnB,IAAKA,KCbEsB,GAAyB,WACpC,IAAMzI,EAAS1G,KAEf,OACE,kBAAC,GAAD,KACE,yBAAKkH,UAAWR,EAAOyG,SACrB,kBAAC,GAAD,CAAWU,ICZY,qBDYUqB,YAAaxI,EAAOiI,YACrD,yBAAKzH,UAAWR,EAAO2G,SACrB,yFEZGrN,GAAYC,cAAW,SAACC,GAAD,cAAmB,CACrDiN,QAAS,CACP1M,OAAQP,EAAMa,QAAQ,EAAG,GACzBJ,QAAS,OACTC,cAAe,SACfC,WAAY,SACZT,MAAO,MACP0L,UAAW,QAEbsD,cAAc,aACZzO,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZT,MAAO,MACP6E,aAAc,GACdU,gBAAiB,UACjB7E,aAAcZ,EAAMa,QAAQ,IAC5BsO,SAAU,UACTnP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,SAGX8M,WAAS,GACP9M,MAAO,MACPL,QAAQ,GACRY,QAAS,OACTqB,eAAgB,UAJT,cAKN9B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,MACPU,aAAcZ,EAAMa,QAAQ,KAPvB,cASNb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,MACPU,aAAcZ,EAAMa,QAAQ,KAXvB,cAaP,QAbO,aAcLiN,UAAU,KACT9N,EAAMK,YAAYC,KAAK,MAAQ,CAC9BwN,UAAU,OAhBP,GAoBTpF,KAAM,CACJxI,MAAO,OACPuE,QAAS,GAEX0I,SAAO,GACL1M,QAAS,OACTC,cAAe,SACfR,MAAO,OACPL,QAAQ,OAER,OAAO,aACLU,OAAQ,EACRc,SAAU,GACV+H,UAAW,OACXjJ,MzB1DsB,UyB2DtBoB,WAAY,IACZ2H,cAAc,QACblJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAdT,cAkBJrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MApBT,cAwBJrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MA1BT,GA8BP+N,kBAAmB,CACf/N,SAAU,GACVE,WAAY,IACZX,aAAa,GACb,WAAY,CACVW,WAAW,UCnFnB,SAAS,KAA2Q,OAA9P,GAAW1W,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,QAAS,KAAM,YAExD,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,0BACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,WACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,cACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,WACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,2TACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,uPACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0PACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,01BACHtf,GAAI,OACJ2oB,OAAQ,UACR1L,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,UACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,UACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,UACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,UACHC,EAAG,UACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,WACHC,EAAG,UACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,UACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,wFACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,iRACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,6FACI,IAAMzJ,cAAc,OAAQ,CAC3CC,EAAG,83BACHtf,GAAI,OACJ2oB,OAAQ,UACR1L,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,WACJC,GAAI,WACJuJ,GAAI,WACJC,GAAI,aACW,IAAM3J,cAAc,OAAQ,CAC3CC,EAAG,sLACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,+MACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0oBACHtf,GAAI,OACJ2oB,OAAQ,UACRC,YAAa,EACb3L,KAAM,UACN4L,SAAU,UACVyC,cAAe,QACfC,eAAgB,UACD,IAAMlM,cAAc,OAAQ,CAC3CC,EAAG,8XACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,uoBACHtf,GAAI,OACJ2oB,OAAQ,UACRC,YAAa,EACb3L,KAAM,UACN4L,SAAU,UACVyC,cAAe,QACfC,eAAgB,UACD,IAAMlM,cAAc,OAAQ,CAC3CC,EAAG,6XACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACVC,UAAW,0FACX9I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACV7I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,4PACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,2PACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,gxBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,wqBACHtf,GAAI,OACJ2oB,OAAQ,UACRC,YAAa,EACb0C,cAAe,QACfC,eAAgB,UACD,IAAMlM,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACV7I,EAAG,WACHC,EAAG,UACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,wLACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,gVACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,ovBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0qBACHtf,GAAI,OACJ2oB,OAAQ,UACRC,YAAa,EACb0C,cAAe,QACfC,eAAgB,UACD,IAAMlM,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACV7I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,YACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,6PACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,+TACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACV7I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACV7I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,0WACHtf,GAAI,OACJ2oB,OAAQ,UACRC,YAAa,EACb0C,cAAe,QACfC,eAAgB,UACD,IAAMlM,cAAc,OAAQ,CAC3CC,EAAG,2RACHtf,GAAI,OACJ2oB,OAAQ,UACRC,YAAa,EACb0C,cAAe,QACfC,eAAgB,UACD,IAAMlM,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,kFACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,MACJC,GAAI,WACJuJ,GAAI,WACJC,GAAI,aACW,IAAM3J,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,4FACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,4FACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,uFACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,4FACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,2FACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,2FACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,4FACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,2FACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,4FACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,sVACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,iBAGR,GAAW,SAAkBhJ,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,QACPgF,OAAQ,QACRjB,QAAS,cACTI,IAAKR,GACJC,QAAkB/hB,IAAVK,EAAsB,GAAQA,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAG9G,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,OCzeQyL,ID2eE,IC3eiC,WAC9C,IAAM/I,EAAS1G,KAEf,OACE,kBAAC,GAAD,KACE,yBAAKkH,UAAWR,EAAOyG,SACrB,yBAAKjG,UAAWR,EAAO0I,eACrB,yBAAKlI,UAAWR,EAAOwG,WACrB,kBAAC,GAAD,CAAgBhG,UAAWR,EAAOkC,QAEpC,yBAAK1B,UAAWR,EAAO2G,SACrB,iDACA,yBAAKnG,UAAWR,EAAO4I,mBAAvB,iDACsC,6BACpC,iGAEE,8BAJJ,gCASA,yBAAKpI,UAAU,UAAf,+CC1BZ,SAAS,KAA2Q,OAA9P,GAAWnc,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,WACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,eACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,OAAQ,CAC1CpC,KAAM,UACN+C,EAAG,EACHC,EAAG,EACH9D,MAAO,IACPgF,OAAQ,MACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,cACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,EACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,MACHC,EAAG,IACH9D,MAAO,OACPgF,OAAQ,QACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,ysBACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,6TACHtf,GAAI,QACJid,KAAM,gBAGJ,GAAW,SAAkB4C,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,OAEU,ICxEf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,WACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,eACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,OAAQ,CAC1CpC,KAAM,UACN+C,EAAG,EACHC,EAAG,EACH9D,MAAO,IACPgF,OAAQ,MACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,MACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,cACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,EACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,MACHC,EAAG,IACH9D,MAAO,MACPgF,OAAQ,QACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,4sCACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,6TACHtf,GAAI,QACJid,KAAM,iBAGJ,GAAY,SAAmB4C,GACjC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAW,GAAS,CAC1DS,OAAQQ,GACPP,OAEU,IC3Ef,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,WACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,eACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,OAAQ,CAC1CpC,KAAM,UACN+C,EAAG,EACHC,EAAG,EACH9D,MAAO,IACPgF,OAAQ,MACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,MACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,cACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,EACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,MACHC,EAAG,IACH9D,MAAO,MACPgF,OAAQ,QACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,86DACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,6TACHtf,GAAI,QACJid,KAAM,iBAGJ,GAAW,SAAkB4C,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,OAEU,IC3Ef,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,WACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,eACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,OAAQ,CAC1CpC,KAAM,UACN+C,EAAG,EACHC,EAAG,EACH9D,MAAO,IACPgF,OAAQ,MACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,MACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,cACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,EACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,MACHC,EAAG,MACH9D,MAAO,MACPgF,OAAQ,SACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,itBACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,4CACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,6TACHtf,GAAI,QACJid,KAAM,iBAGJ,GAAY,SAAmB4C,GACjC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAW,GAAS,CAC1DS,OAAQQ,GACPP,OAEU,IC/Ef,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,WACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,eACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,OAAQ,CAC1CpC,KAAM,UACN+C,EAAG,EACHC,EAAG,EACH9D,MAAO,IACPgF,OAAQ,MACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,MACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,cACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,EACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,KACHC,EAAG,MACH9D,MAAO,MACPgF,OAAQ,SACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,m+CACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,6TACHtf,GAAI,QACJid,KAAM,iBAGJ,GAAW,SAAkB4C,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,OAEU,IC3Ef,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,I,GCAYoN,GDAR,GAAqB,IAAMpM,cAAc,OAAQ,KAAmB,IAAMA,cAAc,iBAAkB,CAC5GqM,GAAI,cACJC,GAAI,eACJC,GAAI,cACJC,GAAI,cACJ7rB,GAAI,oBACU,IAAMqf,cAAc,OAAQ,CAC1CyM,UAAW,UACXC,OAAQ,OACO,IAAM1M,cAAc,OAAQ,CAC3CyM,UAAW,UACXC,OAAQ,WAGN,GAAqB,IAAM1M,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,QACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,WACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,QACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,cACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJgsB,YAAa,GACb/O,KAAM,UACN+C,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,WACR4H,GAAI,OACW,IAAM1J,cAAc,OAAQ,CAC3CC,EAAG,qfACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN4L,SAAU,UACV7I,EAAG,WACHC,EAAG,WACH9D,MAAO,WACPgF,OAAQ,aACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,ojBACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,qVACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4WACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4WACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4IACHtf,GAAI,iBACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,sEACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVvV,OAAQ,sEACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,opBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,wmBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,IAAK,CACxCrf,GAAI,UACJ8oB,UAAW,mCACX7L,KAAM,UACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,mXACHtf,GAAI,SACW,IAAMqf,cAAc,OAAQ,CAC3CC,EAAG,kUACHtf,GAAI,SACW,IAAMqf,cAAc,OAAQ,CAC3CC,EAAG,gWACHtf,GAAI,UACY,IAAMqf,cAAc,IAAK,CACzCrf,GAAI,QACJ8oB,UAAW,kCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACN+C,EAAG,WACHC,EAAG,cACH9D,MAAO,WACPgF,OAAQ,WACR4H,GAAI,MACW,IAAM1J,cAAc,IAAK,CACxCrf,GAAI,UACJ8oB,UAAW,iCACX7L,KAAM,WACQ,IAAMoC,cAAc,UAAW,CAC7Crf,GAAI,OACJsT,OAAQ,yOACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,q6CACHtf,GAAI,UACW,IAAMqf,cAAc,UAAW,CAC9Crf,GAAI,OACJsT,OAAQ,uPACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,4vBACHtf,GAAI,SACW,IAAMqf,cAAc,OAAQ,CAC3CC,EAAG,gpBACHtf,GAAI,SACW,IAAMqf,cAAc,OAAQ,CAC3CC,EAAG,mcACHtf,GAAI,SACW,IAAMqf,cAAc,OAAQ,CAC3CC,EAAG,64CACHtf,GAAI,YACa,IAAMqf,cAAc,OAAQ,CAC7CC,EAAG,0aACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,ygBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,6aACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,IAAK,CACxCrf,GAAI,UACJ8oB,UAAW,iCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,kjBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,qcACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,2vBACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,uZACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,26CACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CqM,GAAI,WACJC,GAAI,WACJC,GAAI,WACJC,GAAI,WACJ7rB,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,gZACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,gOACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,mxBACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,8iCACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,0OACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,46CACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,4vBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,ovBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,mnBACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,0QACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,o/CACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,wIACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,qhCACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,6hCACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,yUACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,8iCACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,ypDACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,sMACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,wlEACHtf,GAAI,QACJid,KAAM,aACU,IAAMoC,cAAc,OAAQ,CAC5CC,EAAG,4WACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,qVACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,mBAGR,GAAa,SAAoBhJ,GACnC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,QACPgF,OAAQ,QACRjB,QAAS,cACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAY,GAAS,CAC3DS,OAAQQ,GACPP,OAEU,K,SCpTH0L,K,0BAAAA,E,YAAAA,E,mBAAAA,Q,KAuBL,IAuEKQ,GAiBAC,GAQAC,GAhGCC,GAA2B,CACtC9tB,SAAU,oDACV+tB,KAAM,CACJ,CACElT,KAAM,CACJwL,KAAM,kBAAC,GAAD,MACNtmB,MACE,oCACE,mDACA,0EACsC,4CADtC,0DAON+a,MAAO,CACLrI,IAAK,kBAAC,GAAD,QAGT,CACEoI,KAAM,CACJwL,KAAM,kBAAC,GAAD,MACNtmB,MACE,2CACc,kDADd,UACkD,4CAKxD,CACE8a,KAAM,CACJwL,KAAM,kBAAC,GAAD,MACNtmB,MACE,2CACe,IACb,wIAQR,CACE8a,KAAM,CACJwL,KAAM,kBAAC,GAAD,MACNtmB,MAAO,+CAET+a,MAAO,CACLuL,KAAM,kBAAC,GAAD,MACNtmB,MAAO,oDAUFiuB,GACO,MADPA,GAEI,MAFJA,GAGI,MAHJA,GAIQ,MAJRA,GAKO,MALPA,GAMiB,MANjBA,GAOJ,I,SAGGL,K,kCAAAA,E,cAAAA,E,iCAAAA,E,uBAAAA,E,oBAAAA,E,uCAAAA,E,cAAAA,E,2BAAAA,E,oBAAAA,E,kBAAAA,E,oBAAAA,E,gBAAAA,E,0CAAAA,E,oBAAAA,Q,cAiBAC,K,wBAAAA,E,wBAAAA,E,mCAAAA,Q,cAQAC,K,cAAAA,E,kBAAAA,E,iBAAAA,Q,KAML,IA+NKI,GA/NCC,GAAc,CACzB,CAAEhY,MAAO,MAAOrV,KAAM,WACtB,CAAEqV,MAAO,QAASrV,KAAM,WAObstB,IAAqC,qBAC/CN,GAAaO,MAAQ,CACpBruB,MAAO,UACPsuB,MAAO,mBAHuC,eAK/CR,GAAaS,QAAU,CACtBvuB,MAAO,4BACPsuB,MAAO,kDAPuC,eAS/CR,GAAaU,OAAS,CAAExuB,MAAO,cAAYsuB,MAAO,cATH,IAgDrCG,GAAkC,CAC7C3D,OAAQ,cACR4D,UAAW,sBAEXC,IAAK,CACHC,YACE,oMACFC,MAAO,6CACPC,SAAU,iBAAM,0CAChBC,QAAS,CACPC,OAAQ,CACNjE,QACE,8EAC+C,6BAD/C,kbAQE,6BACA,6BATF,uBAUiB,6BAVjB,meAuBRkE,OAAQ,CACN,CACEnuB,KAAM8sB,GAAWsB,MACjBlvB,MAAO,SACPmvB,YAAa,qBACbL,SAAU,iBAAM,+BAChBM,WAAY,SAAApiB,GAAE,OAAK,4CAA4CX,KAAKW,KAEtE,CACElM,KAAM8sB,GAAWyB,SACjBrvB,MAAO,aACPmvB,YAAa,mBACbL,SAAU,iBAAM,6BAChBQ,UAAU,EACVF,WAAY,SAAApiB,GACV,OACGohB,GAAqBN,GAAaO,OAAOC,MAAMjiB,KAAKW,KACpDohB,GAAqBN,GAAaS,SAASD,MAAMjiB,KAAKW,KACtDohB,GAAqBN,GAAaU,QAAQF,MAAMjiB,KAAKW,IAG1DuiB,gBAAiB3B,GAAW4B,OAE9B,CACE1uB,KAAM8sB,GAAW6B,gBACjBzvB,MAAO,sBACPmvB,YAAa,4BACbL,SAAU,iBAAM,uCAChBS,gBAAiB3B,GAAW8B,WAC5BN,WAAY,SAAApiB,GAAE,OAAK,sBAAsBX,KAAKW,OAKvC2iB,GAAqC,CAChD,CACE7uB,KAAM8sB,GAAWgC,WACjB5vB,MAAO,YACPmvB,YAAa,kBACbL,SAAU,iBAAM,4BAChBM,WAAY,SAACpiB,EAAI6iB,GACf,OAAIA,IAAYhC,GAAaiC,YACpB9iB,EAAG9E,OAAS,IAKzB,CACEpH,KAAM8sB,GAAWmC,UACjB/vB,MAAO,WACPmvB,YAAa,iBACbL,SAAU,iBAAM,2BAChBM,WAAY,SAACpiB,EAAI6iB,GACf,OAAIA,IAAYhC,GAAaiC,YACpB9iB,EAAG9E,OAAS,KAcd8nB,GAAwC,CACnDlvB,KAAM8sB,GAAW4B,MACjBS,YAAarC,GAAWsC,aACxBlwB,MAAO,UACPmvB,YAAa,wBAWFgB,GAA8B,CACzCrvB,KAAM8sB,GAAW8B,WACjB1vB,MAAO,SAAA6vB,GACL,OAAIA,IAAYhC,GAAauC,WACpB,cACEP,IAAYhC,GAAaiC,WAC3B,MAEF,gBAETX,YAAa,SAAAU,GACX,OAAIA,IAAYhC,GAAauC,WACpB,cACEP,IAAYhC,GAAaiC,WAC3B,YAEF,IAEThB,SAAU,SAAAe,GACR,OAAIA,IAAYhC,GAAauC,WACpB,6BACEP,IAAYhC,GAAaiC,WAC3B,gEAEF,wBAETV,WAAY,SAACpiB,EAAI6iB,GACf,OAAIA,IAAYhC,GAAauC,YACnB,iBAAiB/jB,KAAKW,GACrB6iB,IAAYhC,GAAaiC,aACb,KAAd9iB,EAAG9E,SAAkB,gBAAgBmE,KAAKW,MAM1CqjB,GAA8B,CACzCvvB,KAAM8sB,GAAW0C,cACjBtwB,MAAO,uBACPmvB,YAAa,wEACbH,OAAQ,CACNjE,QACE,gQAEJ+D,SAAU,iBAAM,6DAChBM,WAAY,SAAApiB,GAAE,OAAK,+BAA+BX,KAAKW,M,SAG7CkhB,O,+BAAAA,I,4BAAAA,Q,KAKL,IAkBKqC,GAlBCC,GAAkB,CAC7B,gBACA,WACA,YACA,YACA,gBACA,mBACA,SACA,YACA,iBACA,cACA,uBACA,oCACA,4BACA,YACA,kB,SAGUD,K,kJAAAA,Q,KAMiD,sBACxD9B,GAAaQ,QAD2C,CAE3DkB,KAFK,IC1XMM,GAAuB,CAClC3F,OAAQ,wBACR4D,UACE,sGACFO,OAAQ,CACN,CACEnuB,KAAM8sB,GAAWyB,SACjBrvB,MAAO,kBACPmvB,YAAa,wBACbL,SAAU,iBAAM,6BAChBM,WAAY,SAAApiB,GACV,OACGohB,GAAqBN,GAAaO,OAAOC,MAAMjiB,KAAKW,KACpDohB,GAAqBN,GAAaS,SAASD,MAAMjiB,KAAKW,KACtDohB,GAAqBN,GAAaU,QAAQF,MAAMjiB,KAAKW,KAI5D,CACElM,KAAM8sB,GAAW8C,mBACjB1wB,MAAO,6BACPmvB,YAAa,iCACbL,SAAU,iBAAM,6DAElB,CACEhuB,KAAM8sB,GAAW+C,SACjB3wB,MAAO,wBACPmvB,YAAa,UACbL,SAAU,iBAAM,iF,mBCnCtB,SAAS,KAA2Q,OAA9P,GAAWrmB,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,oCAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,eACJ,YAAa,gBACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,kBACX3D,EAAG,imBAGD,GAAe,SAAsBO,GACvC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAc,GAAS,CAC7DS,OAAQQ,GACPP,OAEU,IClCf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,oCAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,eACJ,YAAa,gBACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,kBACX3D,EAAG,wLACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,kBACX3D,EAAG,kEAGD,GAAe,SAAsBO,GACvC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAc,GAAS,CAC7DS,OAAQQ,GACPP,OAEU,ICrCf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,QACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,oBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,qBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,WACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,woBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0gBACHtf,GAAI,QACJid,KAAM,kBAGJ,GAAa,SAAoB4C,GACnC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAY,GAAS,CAC3DS,OAAQQ,GACPP,OAEU,IChEf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,QACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,oBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,qBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,iBACJ8oB,UAAW,gCACX7L,KAAM,WACQ,IAAMoC,cAAc,OAAQ,CAC1CC,EAAG,0gBACHtf,GAAI,gBAGF,GAAe,SAAsB6f,GACvC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAc,GAAS,CAC7DS,OAAQQ,GACPP,O,IAEU,I,kBC3Df,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,yBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,OACJ6oB,SAAU,WACI,IAAMxJ,cAAc,SAAU,CAC5Crf,GAAI,OACJid,KAAM,UACNyD,QAAS,GACTnB,GAAI,MACJC,GAAI,KACJC,EAAG,OACY,IAAMJ,cAAc,OAAQ,CAC3CC,EAAG,yHACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,suBACHtf,GAAI,QACJid,KAAM,cAGJ,GAAU,SAAiB4C,GAC7B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAS,GAAS,CACxDS,OAAQQ,GACPP,OCnDU/D,IDqDA,ICrDAA,cAAW,SAACC,GAAD,aACxBkG,aAAa,CACX8M,QAAS,CACPnM,cAAe,QAEjBoM,OAAK,GACH7S,SARkB,IASlBP,QAASG,EAAMa,QAAQ,IAFpB,cAGFb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BF,SAAU8S,MAJT,yBAMO,IANP,sBzCGqB,WyCHrB,GASLlG,UAAW,CACTvM,QAAS,OACTE,WAAY,SACZ,MAAO,CACLJ,OAAQ,GAEV,QAAS,CACPwB,WAAY/B,EAAMa,QAAQ,W,UCrBnBd,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACXjG,OAAQ,CACNJ,QAASG,EAAMa,QAAQ,IAEzBmM,UAAU,aACRnN,QAAS,EACTe,aAAcZ,EAAMa,QAAQ,GAC5BJ,QAAS,OACTC,cAAe,SACfC,WAAY,SACZ,OAAQ,CACNU,SAAU,GACVwE,cAAe,GACftF,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BuI,UAAW,WAEZpJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,GAC5B,OAAQ,CACND,aAAcZ,EAAMa,QAAQ,MAIlCsM,QAAS,CACPjN,MAAO,OACPkJ,UAAW,SACX/H,SAAU,GACV,OAAQ,CACN+H,UAAW,OACXI,YAAa,EACb,OAAQ,CACN5I,aAAcZ,EAAMa,QAAQ,MAIlCsS,IAAI,aACFjT,MAvCY,IAwCZgF,OAzCa,GA0Cb3E,OAAQ,UACPP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,cClCFkT,GAAsC,SAAC,GAK7C,IAJLhxB,EAII,EAJJA,MACA+qB,EAGI,EAHJA,QACAkG,EAEI,EAFJA,KACAvJ,EACI,EADJA,MAEMtD,EAAS1G,KACf,OACE,kBAACgI,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAMsL,EACNC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTkJ,QAAS,CAAEN,MAAOzM,EAAOvG,QACzBkK,QAASL,GAET,kBAACU,GAAA,EAAD,CAAe+I,QAAS,CAAE1O,KAAM2B,EAAOwG,YACrC,4BAAK5qB,GACL,yBAAK4kB,UAAWR,EAAO2G,SAAUA,IAEnC,kBAACqG,GAAA,EAAD,KACE,kBAAC,GAAD,CAAQ5M,QAAQ,WAAWsB,QAAS4B,EAAO9C,UAAWR,EAAO2M,KAA7D,cCjBKM,GAA0C,SAAC,GAOjD,IANLrxB,EAMI,EANJA,MACA+qB,EAKI,EALJA,QACAuG,EAII,EAJJA,MAII,IAHJC,uBAGI,MAHc,KAGd,MAFJC,eAEI,aADJC,iBACI,SACErN,EAAS1G,KACTE,EAAQiM,eACR6H,EAAcC,aAAc/T,EAAMK,YAAYC,KAAK,OAHrD,EAI4B5S,mBAE9B,MANE,mBAIGsmB,EAJH,KAIaC,EAJb,OAO8BvmB,oBAAS,GAPvC,mBAOGnK,EAPH,KAOc2wB,EAPd,KASEC,EAAqBzG,aAAYoG,EAEjCM,EAAWzM,mBAAQ,WACvB,MAAO,CACLzD,MAAO,CACLhE,MAAO0T,EAAU,GAAK,GACtB1O,OAAQ0O,EAAU,GAAK,GACvBnK,SAAUmK,EAAU,GAAK,GACzBtS,OAAQ6S,GAAsBN,EAAY,UAAY,QAExDQ,aAAc,SAACvJ,GAAD,OACXqJ,IAAuBN,GAAaI,EAAYnJ,EAAEwJ,gBACrDC,aAAc,kBACXJ,IAAuBN,GAAaI,EAAY,OACnD/L,QAAS,kBAAOiM,GAAsBN,IAAcK,GAAa,OAElE,CAACC,EAAoBP,EAASC,IAEjC,OACE,6BACE,yBAAK7M,UAAWR,EAAOwG,WACnB2G,EAMA,yBACEzP,MAAO,CACL5C,OAAQ6S,GAAsBN,EAAY,UAAY,QAExDQ,aAAc,SAAAvJ,GAAC,OACZqJ,IAAuBN,GAAaI,EAAYnJ,EAAEwJ,gBAErDC,aAAc,kBACXJ,IAAuBN,GAAaI,EAAY,OAEnD/L,QAAS,kBACNiM,GAAsBN,IAAcK,GAAa,KAGnDP,GAnBH,oCACGvxB,GAAS,2BAAIA,GACd,kBAAC,GAAYgyB,KAqBnB,kBAACI,GAAA,EAAD,CACExN,UAAWR,EAAOwM,QAClBO,QAAS,CACPN,MAAOzM,EAAOyM,OAEhBlL,KAAM0M,QAAQT,GACdA,SAAUA,EACVU,aAAc,CACZC,SAAUf,EAAU,SAAW,MAC/BgB,WAAY,UAEdC,gBAAiB,CACfF,SAAUf,EAAU,MAAQ,SAC5BgB,WAAYhB,EAAU,OAAS,UAEjCzJ,QAAS,kBAAM8J,EAAY,OAC3Ba,qBAAmB,EACnBC,mBAAiB,GAEjB,yBAAK7Q,MAAO,CAAE7C,SAAUqS,EAAQ,GAAK,KAAOvG,IAE9C,kBAAC,GAAD,CACE/qB,MAAK,OAAEA,QAAF,IAAEA,IAAS,GAChB+qB,QAASA,EACTkG,KAAM9vB,EACNumB,MAAO,kBAAMoK,GAAa,QC9ErBc,GAAQpQ,cAAW,SAAC5E,GAAD,MAAmB,CACjD6E,KAAM,CACJ3E,MAAO,OACP,UAAW,CACTL,QAAS,QACTwB,SAAU,GACVoD,QAAS,IACTtE,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BC,cAAe,SACftE,WAAYvB,EAAMwB,WAAWC,eAC7B,iBAAkB,CAChBoE,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BnB,QAAS,IACTlD,WAAYvB,EAAMwB,WAAWC,gBAE/B,aAAc,CACZtB,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BnB,QAAS,IACTlD,WAAYvB,EAAMwB,WAAWC,iBAGjC,UAAW,CACThB,QAAS,QAEX,QAAS,CACPF,OAAQ,GAEV,0BAA2B,CACzBE,QAAS,YA7BMmE,CAgCjBoB,aAAUiP,OAERnV,GAAYC,cAAW,SAACC,GAAD,cAAmB,CAC9CkV,eAAgB,CACd3U,OAAQ,YAEVsB,iBAAiB,aACfpB,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChBoD,OAAQ,OACR,MAAO,CACL3E,OAAQ,EACRc,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,SACfuD,UAAW,UAEb,WAAY,CACV/H,SAAU,GACVnB,MAAO,QAERF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,MAAO,CACLe,SAAU,IAEZ,WAAY,CACVA,SAAU,GACVnB,MAAO,SAIbiV,QAAM,GACJ1U,QAAS,OACTC,cAAe,MACf0U,SAAU,OACVzU,WAAY,OACZyI,UAAW,OACX0E,UAAW,OACXvN,OAAQ,eACR,UACEE,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACR8U,IAAK,QACLtU,YAAa,MACbM,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1B2E,cAAe,UATjB,cAUG7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,IAXZ,cAaE,SAbF,aAcIkE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAhBhB,GAoBA,YAAY,aACVd,OAAQ,EACRc,SAAU,GACVlB,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BI,WAAYvB,EAAMwB,WAAWC,gBAE5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,KAnCR,cAsCHP,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAvCV,cAyCH/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfqB,WAAY,IA3CV,GA8CNuT,gBAAiB,CACf7U,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,cAEd4U,aAAc,CACZ3T,eAAgB,OAChBwD,OAAQ,OACRK,gBAAiB,cACjBtF,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BtB,QAAS,EACTmC,UAAW,MACXX,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,SACfuC,QAAS,OACT9G,OAAQ,UACR,UAAW,CACTnB,MAAOH,EAAMiB,QAAQC,QAAQS,OAGjC6T,MAAO,CACL/U,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZd,QAAS,gBACTqF,OAAQ,OACRE,OAAQ,sBACRL,aAAc,MACdU,gBAAiB,UACjBtF,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BvE,SAAU,GACVE,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SAEVrE,WAAY,2BAEd/a,MAAO,CACLye,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQta,MAAMwa,OAE7CuH,KAAM,CACJxD,OAAQ,GACRhF,MAAO,GACP,QAAS,CACPuE,QAAS,IACT/C,WAAY,4BAEd,UAAW,CACT,QAAS,CACP+C,QAAS,IAGbnD,OAAQ,WAEVmU,aAAc,CACZvQ,OAAQ,GACRhF,MAAO,GACP,QAAS,CACPC,MAAOH,EAAMiB,QAAQC,QAAQC,MAE/BsD,QAAS,IAEXiN,SAAS,aACPjR,QAAS,OACTF,OAAQ,cACR,QAAS,CACPE,QAAS,OACTqB,eAAgB,aAChBnB,WAAY,SACZJ,OAAQ,WACR,QAAS,CACPL,MAAO,OACPgF,OAAQ,OACRnE,YAAa,SAGhBf,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfH,OAAQ,UACR,QAAS,CACPA,OAAQ,KAIdmV,oBAAqB,CACnB,QAAS,CACPhU,WAAY,0BAEd,MAAO,CACLnB,OAAQ,EACRc,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,SACfnE,WAAY,2BAGhBiU,iBAAkB,CAChB,QAAS,CACPxV,MAAOH,EAAMiB,QAAQC,QAAQC,OAGjCyU,kBAAmB,CACjB,QAAS,CACPzV,MAAO,cAGX0V,kBAAmB,CACjB1V,MAAOH,EAAMiB,QAAQta,MAAMwa,UAclB2U,GAA0C,SAAC,GAMjD,IALLvd,EAKI,EALJA,MACAwd,EAII,EAJJA,OACA7E,EAGI,EAHJA,SACApvB,EAEI,EAFJA,KACAyvB,EACI,EADJA,YAEM/K,EAAS1G,KAEf,OACE,yBAAKkH,UAAWR,EAAO0O,gBACrB,yBAAKlO,UAAWR,EAAO2O,QACrB,kBAAC5I,GAAA,EAAD,CAAUC,GAAIiI,QAAQvD,IACpB,2BAAIA,KAGR,yBAAKlK,UAAS,UAAKR,EAAOgP,MAAZ,YAAqBf,QAAQvD,IAAa1K,EAAO7f,QAC7D,kBAACquB,GAAD,CACElzB,KAAI,OAAEA,QAAF,IAAEA,IAAQ,OACdyW,MAAOA,EACPsS,SAAUkL,EACVxE,YAAaA,OAoBVyE,GAA0C,SAAC,GAMjD,IALLlyB,EAKI,EALJA,MACAmyB,EAII,EAJJA,UACAC,EAGI,EAHJA,UACAC,EAEI,EAFJA,WACAC,EACI,EADJA,SAEM5P,EAAS1G,KACP1d,EAAkD6zB,EAAlD7zB,MAAOmvB,EAA2C0E,EAA3C1E,YAAaL,EAA8B+E,EAA9B/E,SAAUE,EAAoB6E,EAApB7E,OAAQiF,EAAYJ,EAAZI,QAF1C,EAGsB3oB,mBAAS,IAH/B,mBAGG/G,EAHH,KAGU2vB,EAHV,KAeJ,OAVA7X,qBAAU,WACJyX,GAEAI,EADEH,GAGOjF,OAGZ,CAACgF,EAAWI,EAAUpF,EAAUiF,IAGjC,yBAAKnP,UAAWR,EAAO0O,gBACrB,yBAAKlO,UAAWR,EAAO2O,QACrB,2BACG/yB,EADH,IACWg0B,GAAY,8CAA2B,IAC/ChF,GAAU,kBAAC,GAAD,CAAajE,QAASiE,EAAOjE,WAE1C,kBAACZ,GAAA,EAAD,CAAUC,GAAI0J,GAAazB,QAAQ9tB,IACjC,2BAAIA,KAGR,yBAAKqgB,UAAS,UAAKR,EAAOgP,MAAZ,YAAqBU,GAAa1P,EAAO7f,QACrD,kBAACquB,GAAD,eACElzB,KAAMgC,EAAMZ,MACRY,EAFN,CAGEytB,YAAaA,EACb7G,SAAU2L,QAiBPE,GAA0D,SAAC,GAKjE,IAAD,EAJJzyB,EAII,EAJJA,MACAoyB,EAGI,EAHJA,UACAD,EAEI,EAFJA,UAEI,IADJO,wBACI,SACEhQ,EAAS1G,KACP1d,EAAiC6zB,EAAjC7zB,MAAOmvB,EAA0B0E,EAA1B1E,YAAaL,EAAa+E,EAAb/E,SACpBT,EAA2BP,GAA3BO,MAAOE,EAAoBT,GAApBS,QAASC,EAAWV,GAAXU,OAHpB,EAK0BljB,oBAAS,GALnC,mBAKG2Y,EALH,KAKYoQ,EALZ,OAMkC/oB,oBAAQ,mBAC3C+iB,GAAQ,GADmC,cAE3CE,GAAU,GAFiC,cAG3CC,GAAS,GAHkC,IAN1C,mBAMG8F,EANH,KAMgBC,EANhB,KAYEC,EAAQ7oB,uBAAY,SAACwK,EAAezW,GACxC,OAAO0uB,GAAqB1uB,GAAM4uB,MAAMjiB,KAAK8J,KAC5C,IAkBH,OAhBAkG,qBAAU,WACJ3a,EAAMyU,MACRoe,EAAe,CACbE,MAAOD,EAAM9yB,EAAMyU,MAAOkY,GAC1BqG,QAASF,EAAM9yB,EAAMyU,MAAOoY,GAC5BrmB,OAAQssB,EAAM9yB,EAAMyU,MAAOqY,KAG7B+F,EAAe,CACbE,OAAO,EACPC,SAAS,EACTxsB,QAAQ,MAGX,CAACxG,EAAMyU,MAAOzU,EAAMZ,KAAM0zB,EAAOnG,EAAOE,EAASC,IAGlD,yBAAK5J,UAAWR,EAAO0O,gBACrB,yBAAKlO,UAAWR,EAAO2O,QACrB,2BAAI/yB,GACJ,kBAACmqB,GAAA,EAAD,CAAUC,GAAI0J,GACZ,2BAAIhF,OAGR,yBAAKlK,UAAS,UAAKR,EAAOgP,MAAZ,YAAqBU,GAAa1P,EAAO7f,QACrD,kBAACquB,GAAD,eACElzB,KAAMukB,EAAU,OAAS,WACzB0Q,aAAa,OACTjzB,EAHN,CAIEytB,YAAaA,KAEf,yBACEvK,UAAWljB,EAAMyU,MAAQiO,EAAOkC,KAAOlC,EAAOiP,aAC9CvN,QAAS,WACPpkB,EAAMyU,OAASke,GAAW,SAAAnK,GAAI,OAAKA,OAGpCjG,EAAU,kBAAC,GAAD,MAAc,kBAAC,GAAD,QAG5BmQ,GACC,yBAAKxP,UAAWR,EAAOkL,UACpB7mB,OAAOkY,KAAKyN,IAAsB7lB,KAAI,SAAAzH,GACrC,IAAM8zB,EAAcxG,GAAqBttB,GACzC,OACE,yBAAKmB,IAAKnB,EAAM8jB,UAAWR,EAAOkP,qBAC/BgB,EAAYxzB,GAAQ,kBAAC,GAAD,MAAiB,kBAAC,GAAD,MACtC,uBACE8jB,WACG0P,EAAYxzB,IAASgzB,EAClB1P,EAAOqP,kBACP,IAGLmB,EAAY50B,cAwBlB60B,GAA6C,SAAC,GAMpD,IALLC,EAKI,EALJA,cACAC,EAII,EAJJA,UACAjB,EAGI,EAHJA,UACAjE,EAEI,EAFJA,QACAkE,EACI,EADJA,WAEM3P,EAAS1G,KACPoS,EAAyCjC,GAAzCiC,WAAYM,EAA6BvC,GAA7BuC,WAAY4E,EAAiBnH,GAAjBmH,aACxBC,EAA6BrH,GAA7BqH,aAAcvF,EAAe9B,GAAf8B,WAHlB,EAKsBpkB,mBAAS,IAL/B,mBAKG/G,EALH,KAKU2vB,EALV,OAMkC5oB,mBAAiBukB,GANnD,mBAMGqF,EANH,KAMgBC,EANhB,KAQIzzB,EAAiBqzB,EAAjBrzB,MAAO0xB,EAAU2B,EAAV3B,MACTpzB,EAAQozB,EAAMpzB,MAAMk1B,GACpB/F,EAAciE,EAAMjE,YAAY+F,GAyBtC,OAvBA7Y,qBAAU,WACR6X,EAASd,EAAMtE,SAASoG,IACpBpB,GAAapyB,EAAMyU,OACrB+d,EAASd,EAAMtE,SAASoG,MAEzB,CAACA,EAAaxzB,EAAMyU,MAAO2d,EAAWI,EAAUd,IAEnD/W,qBAAU,WAENyX,GACAC,GACAA,IAAeX,EAAMtE,SAASsB,IAC9B2D,IAAeX,EAAMtE,SAASgB,IAC9BiE,IAAeX,EAAMtE,SAASkG,IAE9Bd,EAASH,KAEV,CAACD,EAAWC,EAAYX,EAAOtD,EAAYM,EAAY4E,IAE1D3Y,qBAAU,WACR8Y,EAAetF,KACd,CAACA,IAGF,yBAAKjL,UAAWR,EAAO0O,gBACrB,yBAAKlO,UAAWR,EAAO8O,iBACrB,yBAAKtO,UAAWR,EAAO2O,QACrB,2BAAI/yB,GACJ,kBAACmqB,GAAA,EAAD,CAAUC,GAAI0J,GACZ,2BAAIvvB,KAGP2wB,IAAgBF,GACf,4BACEpQ,UAAWR,EAAO+O,aAClBrN,QAAS,WACPgP,EAAcG,EAAcD,GAC5BG,EAAeH,GACfF,EAAcpF,EAAY,MAL9B,eAaJ,kBAACvF,GAAA,EAAD,CAAUC,GAAI8K,IAAgBF,GAC5B,yBAAKpQ,UAAWR,EAAO3E,kBACrB,kBAAC,GAAD,CACE1B,MAAM,YACNyG,QAAQ,YACRsB,QAAS,WACPgP,EAAcG,EAAc7E,GAC5B+E,EAAe/E,KALnB,YAUA,kCACA,kBAAC,GAAD,CACErS,MAAM,YACNyG,QAAQ,YACRsB,QAAS,WACPgP,EAAcG,EAAcnF,GAC5BqF,EAAerF,KALnB,aAaJ,kBAAC3F,GAAA,EAAD,CAAUC,GAAI8K,IAAgBF,GAC5B,yBAAKpQ,UAAS,UAAKR,EAAOgP,MAAZ,YAAqBU,GAAa1P,EAAO7f,QACrD,kBAACquB,GAAD,iBAAWlxB,EAAX,CAAkBytB,YAAaA,S,uECxhB1BxR,iBAAW,SAACC,GAAD,oBAAmB,CAC3CwX,sBAAoB,GAClB/W,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZD,cAAe,SACfN,SAAU,QACVF,MAAO,OACPK,OAAQ,OACRV,QAAS,YACTkF,aAAc,MACdU,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCN,UACE,uEAEF+I,eAAgB,WAChBC,mBAAoB,SACpBC,iBAAkB,YAClBC,gBAAgB,QAAD,OAAUuJ,KAAV,MAEf,OAAQ,CACNlX,OAAQ,WACRc,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZsD,UAAW,SACX7H,WAAYvB,EAAMwB,WAAWkW,kBAE/B,OAAQ,CACNxX,MAAO,MACPK,OAAQ,cACRc,SAAU,GACVE,WAAYvB,EAAMwB,WAAWmW,gBAC7B9R,cAAe,SACfC,WAAY,OACZsD,UAAW,WAlCK,cAqCjBpJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,OACTU,OAAQ,OACRwN,eAAgB,aAxCA,cA0CjB/N,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNJ,MAAO,OAET6N,eAAgB,aA9CA,cAgDjB/N,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,YACTU,OAAQ,OACR2N,gBAAiB,OACjB,OAAQ,CACNhO,MAAO,UArDO,GAyDpBwI,MAAI,GACFjI,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZJ,OAAQ,WACRL,MAAO,QACPgF,OAAQ,QACRH,aAAc,MACdU,gBAAiBzF,EAAMiB,QAAQC,QAAQC,KAAOqD,GAAmB,IACjE,QAAS,CACPtE,MAAO,OACPgF,OAAQ,OACR/E,MAAOH,EAAMiB,QAAQC,QAAQS,OAZ7B,cAeD3B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,QACPgF,OAAQ,QACR3E,OAAQ,WACR,QAAS,CACPL,MAAO,OACPgF,OAAQ,UArBV,cAwBDlF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,QACPgF,OAAQ,QACR3E,OAAQ,WACR,QAAS,CACPL,MAAO,OACPgF,OAAQ,UA9BV,GAkCJ0S,cAAe,CACbnX,QAAS,OACTC,cAAe,SACfR,MAAO,QAETiI,QAAM,GACJjG,UAAW,SACXhC,MAAO,QACPgF,OAAQ,OACR7D,SAAU,GACVd,OAAQ,YALJ,cAOHP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,aARN,cAUHP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,aAXN,cAaHP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,WACRL,MAAO,SAfL,GAkBN+M,QAAS,CACP/M,MAAO,OACP2I,UAAW,aACX,sBAAuB,CACrBW,YAAaxJ,EAAMa,QAAQ,KAE7B,qBAAsB,CACpBgX,aAAc7X,EAAMa,QAAQ,IAC5BiX,YAAa,yBAEfC,WAAY/X,EAAMa,QAAQ,MAC1BqI,cAAelJ,EAAMa,QAAQ,KAE/BmX,eAAe,aACb9X,MAAO,OACP2I,UAAW,aACXW,YAAaxJ,EAAMa,QAAQ,IAC3BgX,aAAc7X,EAAMa,QAAQ,IAC5BkX,WAAY/X,EAAMa,QAAQ,OACzBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BkJ,YAAa,EACbqO,aAAc,IAGlBrC,MAAO,CACL/U,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZd,QAAS,gBACTqF,OAAQ,OACRE,OAAQ,sBACRL,aAAc,MACdU,gBAAiB,UACjBtF,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BvE,SAAU,GACVE,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SACVrE,WAAY,2BAEd/a,MAAO,CACLye,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQta,MAAMwa,OAE7CmU,gBAAiB,CACf7U,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,cAGdve,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,e9CpK0B,U8CqK1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,IAE9BqX,UAAW,CACTtX,aAAcZ,EAAMa,QAAQ,IAE9BsX,cAAe,CACb5W,WAAYvB,EAAMwB,WAAWC,gBAE/B2W,eAAe,aACbpW,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,UAIbmY,YAAa,CACXrW,UAAWhC,EAAMa,QAAQ,IAE3ByX,OAAQ,CACNpY,MAAO,OACPgF,OAAQ,IACRO,gBAAiB,YACjBzD,UAAWhC,EAAMa,QAAQ,GACzBD,aAAcZ,EAAMa,QAAQ,IAE9B0X,KAAM,CACJ9X,QAAS,OACTC,cAAe,SACfb,QAASG,EAAMa,QAAQ,EAAG,KAE5B2X,eAAgB,CACdT,WAAY/X,EAAMa,QAAQ,IAE5B0U,aAAc,CACZ3T,eAAgB,OAChBwD,OAAQ,OACRK,gBAAiB,cACjBtF,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BtB,QAAS,EACTmC,UAAW,MACXX,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,SACfuC,QAAS,OACT9G,OAAQ,UACR,UAAW,CACTnB,MAAOH,EAAMiB,QAAQC,QAAQS,OAGjCsP,OAAK,GACHxQ,QAAS,OACTC,cAAe,MACf0U,SAAU,OACVzU,WAAY,OACZyI,UAAW,OACX0E,UAAW,OACXvN,OAAQ,eACR,UACEE,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACR8U,IAAK,QACLtU,YAAa,MACbM,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1B2E,cAAe,UATjB,cAUG7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,IAXZ,cAaE,SAbF,aAcIkE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAhBhB,GAoBA,YAAY,aACVd,OAAQ,EACRc,SAAU,GACVlB,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BI,WAAYvB,EAAMwB,WAAWC,gBAE5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,KAnCT,cAsCFP,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAvCX,cAyCF/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfqB,WAAY,IA3CX,GA8CL0W,aAAa,aACXvY,MAAM,GAAD,OApRsB,IAoRtB,iBACLE,SAAU,OACVwL,UAAU,GAAD,OArRmB,IAqRnB,OACR5L,EAAMK,YAAYC,KAAK,MAAQ,CAC9BoY,UAAW,SAGfC,aAAc,CACZ,iCAAkC,CAChC,+BAAgC,CAC9B,qBAAsB,OACtBpY,OAAQ,GAEV,+BAAgC,CAC9B,qBAAsB,OACtBA,OAAQ,GAEV,kBAAmB,kB,UC1SzB,SAAS,KAA2Q,OAA9P,GAAW1V,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,QACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,WACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,wCACJ8oB,UAAW,oCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,oBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,ooEACHtf,GAAI,OACJgsB,YAAa,GACb/O,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,iqFACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,iBAGR,GAAoB,SAA2BhJ,GACjD,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,QACPgF,OAAQ,OACRjB,QAAS,aACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAmB,GAAS,CAClES,OAAQQ,GACPP,O,IAEU,I,QC1CThE,GAAYC,cAAW,SAACC,GAAD,gBAAmB,CAC9CgN,WAAS,GACPvM,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZD,cAAe,SACfN,SAAU,QACVP,QAAS,YACTU,OAAQ,OACRwE,aAAc,MACdU,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCN,UACE,uEAEF+I,eAAgB,WAChBC,mBAAoB,SACpBC,iBAAkB,YAClBC,gBAAgB,QAAD,OAAUuJ,KAAV,MAEf,OAAQ,CACNlX,OAAQ,WACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACftE,WAAYvB,EAAMwB,WAAWkW,kBAE/B,OAAQ,CACNxX,MAAO,OACPK,OAAQ,cACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1BK,WAAYvB,EAAMwB,WAAWmW,gBAC7B,UAAW,CACTxX,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAY,MAGhB,OAAQ,CACNrB,MAAO,OACPK,OAAQ,cACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACf1F,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BI,WAAYvB,EAAMwB,WAAWC,iBA7CxB,cAgDNzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,YACTU,OAAQ,YACR,OAAQ,CACNc,SAAU,MApDP,cAuDNrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,OACR2N,gBAAiB,OACjB,OAAQ,CACN7M,SAAU,IAEZ,OAAQ,CACNnB,MAAO,OACPmB,SAAU,GACVd,OAAQ,cAhEL,GAoETmI,MAAI,GACFjI,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZJ,OAAQ,WACRL,MAAO,QACPgF,OAAQ,QACRH,aAAc,MACdU,gBAAiBzF,EAAMiB,QAAQC,QAAQC,KAAOqD,GAAmB,IACjE,QAAS,CACPtE,MAAO,OACPgF,OAAQ,OACR/E,MAAOH,EAAMiB,QAAQC,QAAQS,OAZ7B,cAeD3B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,QACPgF,OAAQ,QACR3E,OAAQ,WACR,QAAS,CACPL,MAAO,OACPgF,OAAQ,UArBV,cAwBDlF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPgF,OAAQ,OACR3E,OAAQ,WACR,QAAS,CACPL,MAAO,OACPgF,OAAQ,UA9BV,GAkCJ0T,OAAQ,CACNhY,aAAc,OAEhBiY,YAAU,GACRtY,OAAQ,WACRL,MAAO,QACP,WAAY,CACVA,MAAO,OACPgF,OAAQ,OACR7D,SAAU,GACVE,WAAY,MAPN,cASPvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,WAAY,CACVe,SAAU,MAXN,cAcPrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACP,WAAY,CACVgF,OAAQ,OACR7D,SAAU,MAlBN,+BAsBQ,QAtBR,wBAuBC,QAvBD,O,UCrHJoQ,GAA4BzB,GAA5ByB,SAAUiB,GAAkB1C,GAAlB0C,cAELoG,GAAoB,SAC/BpvB,GAEA,IAAMqvB,EAAoC,GACtCC,EAAgC,GAUpC,OARAC,aAAQvvB,GAAQ7E,SAAQ,YAAyB,IAAD,mBAAtBq0B,EAAsB,KAAX3gB,EAAW,KACzB,mBAAVA,GAAuBA,EAChCwgB,EAAmB/a,KAAKkb,GAExBF,EAAWE,GAAa3gB,KAIrB,2BACFygB,GADL,IAEED,qBACAI,SAAU,WACVC,kBAAmB1vB,EAAO+nB,IAC1BnB,yBAAoD,KAA1B5mB,EAAOgpB,IAAwBpC,GAAyB+I,WAAWl0B,WAAamrB,GAAyBgJ,aAAan0B,c,2DClBvIo0B,GAAa,WAAO,IAAD,EAChB/rB,GAAa,CACzBpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNuwB,aAAc,UAJXC,EADuB,sBASgB/rB,mBAE3C,IAX2B,mBASvBgsB,EATuB,KASNC,EATM,KAaxBC,EAAsB7rB,uBAC1B,SAAC5E,EAAa7F,GACZq2B,EAAmB,2BACdD,GADa,kBAEfvwB,EAAM7F,OAGX,CAACo2B,IAGH,OAAO3rB,uBACL,SACE5E,EACA0wB,EAIAC,GAgBA,OAAOD,IAAsBH,EAAgBvwB,IAd9B,WACbywB,EAAoBzwB,GAAK,GACzBswB,EAAI,CACFtwB,QACCtD,MAAK,SAAA0C,GACN,IAAIwxB,EAAWD,EACVA,IACHC,EC3Ce,SAACxxB,GAC1B,IAAMyxB,EAAqBzxB,EAASgE,QAAQ,uBAEtC0tB,EADgB,yCACQC,KAAKF,GACnC,OAAe,MAAXC,GAAmBA,EAAQ,GACtBA,EAAQ,GAAGvmB,QAAQ,QAAS,IAE9B,GDoCcymB,CAAY5xB,IAEzB6xB,kBAAO7xB,EAASC,KAAMuxB,EAAW,QACjCH,EAAoBzwB,GAAK,WAM/B,CAACuwB,EAAiBD,EAAKG,KEtCdS,GAAiBzV,cAAW,SAAC5E,GAAD,MAAmB,CAC1D6E,KAAM,CACJK,OAAQ,OACRhF,MAAO,OACPL,QAAS,EACTkF,aAAc,MACdU,gBpDAgC,coDNNb,CAQ1BoB,aAAUsU,OAECD,MAETva,GAAYC,cAAW,SAACC,GAAD,MAAmB,CAC9CgN,UAAW,CACTvM,QAAS,OACTE,WAAY,aACZJ,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BS,OAAQ,WAEViZ,iBAAkB,CAChBha,OAAQP,EAAMa,QAAQ,EAAG,GACzBQ,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,QACfnE,WAAY,yBACZ,MAAO,CACLnB,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5B4D,QAAS,IACTpD,SAAU,KAGdmZ,UAAW,CACT/V,QAAS,EACTnD,OAAQ,UACRC,WAAY,IACZpB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BO,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,OAGjC8Y,gBAAiB,CACfhW,QAAS,IACTtE,MAAOH,EAAMiB,QAAQ3e,KAAK4e,SAE5Bva,MAAO,CACLwZ,MAAOH,EAAMiB,QAAQta,MAAMwa,UAiBlBuZ,GAAoD,SAAC,GAQ3D,IAPL52B,EAOI,EAPJA,MACAoyB,EAMI,EANJA,UACAyE,EAKI,EALJA,cAKI,IAJJ5wB,iBAII,SAHJ6wB,EAGI,EAHJA,aACAC,EAEI,EAFJA,gBACAnwB,EACI,EADJA,aAEM8b,EAAS1G,KADX,EAEoBpS,oBAAS,GAF7B,mBAEG2lB,EAFH,KAESyH,EAFT,KAIEC,EAAUxB,KACRvlB,EAAM+V,eAAN/V,EAEFgnB,EAAuBrT,mBAAQ,WACnC,OAAQjd,GACN,IAAK,oBACH,OAAOsJ,EACL,mEAEJ,IAAK,eACH,OAAOA,EAAE,8DACX,QACE,MAAO,MAEV,CAACtJ,EAAcsJ,IAElB,OACE,2BAAOgT,UAAWR,EAAOwG,WACvB,kBAACqN,GAAD,eACE3R,KAAM,kBAAC,GAAD,MACN+B,QAASgK,QAAQ3wB,EAAMyU,OACvB0iB,YAAa,kBAAC,GAAD,MACbC,eAAa,GACTp3B,IAEN,yBACEkjB,UAAS,UAAKR,EAAO+T,iBAAZ,YACPxwB,GAAamsB,EAAY1P,EAAO7f,MAAQ,OAGzCi0B,EACC,wHACsD,IACnDG,EACCH,GACA,SAAC1qB,EAAGirB,GAAJ,OACE,0BACEnU,UAAWR,EAAOgU,UAClBtS,QAAS,SAAA4C,GACPA,EAAEsQ,iBACFD,MAJJ,aAOa,OAGfR,GAAiB,YAEnB,0BAAM3T,UAAWR,EAAOiU,iBAAxB,4BACC,KAlBH,8FAsBA,oCACGO,EAAsB,IACvB,0BAAMhU,UAAWR,EAAOiU,iBAAxB,gBACA,6BACE,0BACEzT,UAAWR,EAAOgU,UAClBtS,QAAS,SAAA4C,GACPA,EAAEsQ,iBACFN,GAAQ,SAAAxO,GAAI,OAAKA,OAGlB+G,EAAO,YAAS,gBAGrB,kBAAC9G,GAAA,EAAD,CAAUC,GAAI6G,GACZ,2BAAIwH,QC3JH9a,iBAAW,SAACC,GAAD,cAAmB,CAC3CgN,UAAW,CACTvM,QAAS,OACTC,cAAe,SACfR,MAAO,MACPE,SAAU,MACVG,OAAQ,cACRV,QAAS,OACTkF,aAAc,MACdC,UACE,wHACF,eAAgB,CACdpE,aAAc,IAGlBya,QAAS,CACP5a,QAAS,OACTE,WAAY,SACZC,aAAc,QAEhB8H,KAAK,aACHjI,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZ,QAAS,CACPT,MA3BY,GA4BZgF,OA5BY,IA8BdrF,QAASG,EAAMa,QAAQ,GACvBE,YAAaf,EAAMa,QAAQ,GAC3BkE,aAAc,EACdU,gBAAiB,YACjBT,UAAW,gCACVhF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,QAAS,CACPJ,MAAOob,GACPpW,OAAQoW,IAEVva,YAAaf,EAAMa,QAAQ,KAG/B0a,iBAAe,GACb,OAAQ,CACNhb,OAAQ,EACRc,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,UAEjB,OAAQ,CACNtF,OAAQ,EACRc,SAAU,GACVE,WAAY,IACZsE,cAAe,WAXJ,cAaZ7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MAfD,cAkBZrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,IAEZ,OAAQ,CACNA,SAAU,MAvBD,GA2Bf5K,SAAO,GACL8J,OAAQ,EACRc,SAAU,GACVE,WAAYvB,EAAMwB,WAAWmW,gBAC7B9R,cAAe,UAJV,cAKJ7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KANP,cAQJrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KATP,OCrEHma,GAAc,CAClB/a,QAAS,cACTgb,gBAAiB,WACjBC,gBAAiB,EACjB3V,SAAU,SACV4V,WAAY,UAGDC,GAGR,SAAC,GAA0B,IAAD,IAAvBC,UAAuB,MAAlB,GAAkB,MAAdC,UAAc,MAAT,GAAS,EACvBC,EAASpU,mBACb,kBACEkU,GACE,0BAAM3X,MAAOsX,IACI,kBAAPK,IAAP,OAA0BA,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAIG,WAAW,SAAUH,EAAGnoB,QAAQb,KAAOmB,EAAE,8BAA+B,IAAtG,UAA+G6nB,MAGtH,CAACA,IAGH,OACE,oCACGpH,QAAQoH,IAAOpH,QAAQqH,GACtB,oCACGC,EACAD,GAAM,8BAAOA,IAGhB,oCAAGjpB,KAAOmB,EAAE,+BCjCpB,SAAS,KAA2Q,OAA9P,GAAWnJ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,8HAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,uBACJ,YAAa,wBACC,IAAMqf,cAAc,SAAU,CAC5C4D,UAAW,qBACX1D,GAAI,MACJC,GAAI,KACJC,EAAG,OACY,IAAMJ,cAAc,OAAQ,CAC3C4D,UAAW,qBACX3D,EAAG,4MACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,qBACX3D,EAAG,qSACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,qBACX3D,EAAG,0HAGD,GAAqB,SAA4BO,GACnD,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAoB,GAAS,CACnES,OAAQQ,GACPP,OC/BQmY,IDiCE,ICjCkD,SAAC,GAK3D,IAJLhuB,EAII,EAJJA,OACA/K,EAGI,EAHJA,KACAiU,EAEI,EAFJA,aACAe,EACI,EADJA,aAEMsO,EAAS1G,KAEf,OACE,yBAAKkH,UAAWR,EAAOwG,WACrB,yBAAKhG,UAAWR,EAAO6U,SACrB,yBAAKrU,UAAWR,EAAOkC,MACrB,kBAAC,GAAD,OAEF,yBAAK1B,UAAWR,EAAO+U,iBACrB,4BAAKr4B,EAAO,sBAAwB,uBACpC,mCAAKA,QAAL,IAAKA,IAAQ+K,KAGjB,uBAAG+Y,UAAWR,EAAO/P,SACnB,kBAAC,GAAD,CAAeolB,GAAI1kB,EAAc2kB,GAAI5jB,QCNvC4H,GAAYC,cAAW,SAACC,GAAD,aAC3BkG,aAAa,CACXjG,OAAQ,CACN,mBAAoB,CAClBJ,QAASG,EAAMa,QAAQ,EAAG,KAG9Bze,MAAM,aACJyd,QAASG,EAAMa,QAAQ,EAAG,GAC1BuI,UAAW,SACXxI,aAAcZ,EAAMa,QAAQ,GAC5BV,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3B,OAAQ,CACNE,SAAU,GACVwE,cAAe,IACftE,WAAY,MAEbvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,MAIhB8L,QAAS,CACPtN,QAASG,EAAMa,QAAQ,EAAG,IAE5Bqb,iBAAiB,aACfzb,QAAS,OACTC,cAAe,MACfoB,eAAgB,gBAChBjC,QAASG,EAAMa,QAAQ,EAAG,GAC1Bsb,UAAW,uBACVnc,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAGnBuQ,MAAM,aACJxQ,QAAS,OACTE,WAAY,SACZW,OAAQ,UACR,MAAO,CACLf,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAC/BU,WAAY,IACZF,SAAU,GACVwE,cAAe,KAEjB,SAAU,CACRxE,SAAU,GACVlB,MzDlE0B,UyDmE1B0F,cAAe,IACftE,WAAYvB,EAAMwB,WAAWC,iBAE9BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,MAAO,CACLC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,IAEjC,SAAU,CACRQ,SAAU,MAIhB+a,QAAQ,aACN3b,QAAS,OACTE,WAAY,SACZU,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BG,OAAQ,UACRI,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,MAE/B,MAAO,CACLpB,OAAQ,IAETP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,KAGhCgB,iBAAkB,CAChBpB,QAAS,OACTC,cAAe,SACfC,WAAY,SACZd,QAASG,EAAMa,QAAQ,EAAG,EAAG,GAC7B,eACEQ,SAAU,GACV+H,UAAW,SACXvD,cAAe,IACftE,WAAYvB,EAAMwB,WAAWC,gBAJ/B,cAKGzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KANd,cAQE,gBAAiB,CACfxB,QAASG,EAAMa,QAAQ,EAAG,GAC1BD,aAAcZ,EAAMa,QAAQ,GAC5BkE,aAAc,GACd5E,MAAOH,EAAMiB,QAAQoE,OAAOC,QAZhC,cAcE,eAAgB,CACdzF,QAASG,EAAMa,QAAQ,GACvBN,OAAQ,EACRJ,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BO,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,KAC7B8D,gBAAiB,iBArBvB,8BAwBiB,SAxBjB,IA2BF4W,OAAO,aACLzb,aAAcZ,EAAMa,QAAQ,GAC5B,MAAO,CACLN,OAAQ,EACRc,SAAU,GACVwE,cAAe,GACftE,WAAYvB,EAAMwB,WAAWC,gBAE/B,SAAU,CACRH,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAY,IACZG,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,QAGhC3B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,UAavByb,GAA4E,SAAC,GAKnF,IAJLrK,EAII,EAJJA,QACAsK,EAGI,EAHJA,uBACAC,EAEI,EAFJA,gBACAC,EACI,EADJA,2BAEMjW,EAAS1G,KADX,EAGwBpS,oBAAS,GAHjC,mBAGG7L,EAHH,KAGW66B,EAHX,OAIoDhvB,mBACtD,IALE,mBAIGivB,EAJH,KAIyBC,EAJzB,KAWEC,EAAa5K,IADIhC,GAAfiC,WACoC,MAAQ,QAC9C4K,EAAmBP,EAAuBjyB,OAAS,EAEnDyyB,EAAmBhvB,uBAAY,WACnC,IAAMivB,EAAgBC,cACpB,SAACC,EAAD,OAAQrxB,EAAR,EAAQA,eAAR,mBAAC,eACIqxB,GADL,kBAEGrxB,EAA2B2wB,EAAgBp2B,SAASyF,OAEvD,GACA0wB,GAEFK,EAAwBI,KACvB,CAACT,EAAwBC,IAE5B/d,qBAAU,WACRse,MACC,CAACR,EAAwBC,EAAiBO,IAE7C,IAAMI,EAAc,SAACC,GACnB,GAAIA,EAAY,CACd,IAAMZ,EAAkBa,aACtBta,KACAua,cAAO,SAAAC,GAAG,QAAMA,KAFMF,CAGtBV,GACFF,EAA2BD,QAE3BO,IAEFL,GAAU,IAGZ,OACE,oCACE,kBAAC5U,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAMlmB,EACNyxB,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTF,QAAS,WACPuS,GAAU,IAEZ1V,UAAWR,EAAOvG,OAClBud,mBAAoB,KAEpB,kBAAClT,GAAA,EAAD,CAAatD,UAAWR,EAAOpkB,OAA/B,kBACkBy6B,EACfC,EACG,qDACA,kDAEN,kBAACtS,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC9BoP,EAAuB5xB,KACtB,gBAAGkB,EAAH,EAAGA,eAAgB4xB,EAAnB,EAAmBA,sBAAnB,OACE,kBAAC,GAAD,CACEp5B,IAAKwH,EACLA,eAAgBA,EAChB2L,MAAOimB,EACPd,qBAAsBA,EACtBC,wBAAyBA,QAKjC,kBAACpJ,GAAA,EAAD,CAAexM,UAAWR,EAAO3E,kBAC/B,kBAAC,KAAD,CACE+E,QAAQ,YACRsB,QAAS,kBAAMiV,GAAY,IAC3Bhd,MAAM,WAHR,QAKQ2c,EAAmB,kBAAoB,kBAE/C,kBAAC,KAAD,CAAQ5U,QAAS,kBAAMiV,GAAY,IAAQhd,MAAM,WAAjD,gBAKJ,yBAAK6G,UAAWR,EAAO6V,QACpBqB,aAAQlB,GACP,6CACkBK,EACfC,EACG,qDACA,iDACH,KACD,0BACE5U,QAAS,WACPwU,GAAU,KAFd,YAKcI,EAAmB,SAAW,UAI9C,oCACE,iDACsB,IACnBN,EAAgBlyB,OAAS,EACtB,mBACA,kBAAmB,IAJzB,iBAKY,IACV,0BACE4d,QAAS,WACPwU,GAAU,KAFd,+BA4BDiB,GAAkF,SAAC,GAKzF,IAJL9xB,EAII,EAJJA,eACA2L,EAGI,EAHJA,MACAmlB,EAEI,EAFJA,qBACAC,EACI,EADJA,wBAEMpW,EAAS1G,KADX,EAE0BpS,oBAAS,GAFnC,mBAEG2Y,EAFH,KAEYoQ,EAFZ,KAIJ,OACE,oCACE,yBAAKpyB,IAAKwH,EAAgBmb,UAAWR,EAAO0V,kBAC1C,2BAAOlV,UAAWR,EAAOyK,OACvB,kBAAC,GAAD,CACE/tB,KAAM2I,EACN6c,KAAM,kBAAC,GAAD,MACNuS,YAAa,kBAAC,GAAD,MACbxQ,QAASkS,EAAqB9wB,GAC9Bgf,SAAU,SAAC3a,EAAGua,GACZmS,EAAwB,2BACnBD,GADkB,kBAEpB9wB,EAAiB4e,MAGtByQ,eAAa,IAEf,kDACA,8BAAOrvB,IAET,yBAAKmb,UAAWR,EAAO4V,QAASlU,QAAS,kBAAMuO,GAAYpQ,KACxDA,EACC,oCACE,oDADF,IAC+B,kBAAC,KAAD,OAG/B,oCACE,0DADF,IACgC,kBAAC,KAAD,SAKtC,kBAACkG,GAAA,EAAD,CAAUC,GAAInG,EAAS8E,QAAS,IAAKjH,MAAO,CAAErE,QAAS,UACpDrI,EAAM7M,KAAI,SAACizB,EAAMvb,GAChB,IAAMhe,EAAMu5B,EAAKxjB,mBAAqBwjB,EAAKxjB,mBAAqBiI,EAAIA,EACpE,OAAO,kBAAC,GAAD,eAAkBhe,IAAKA,GAASu5B,UC1V3C9d,GAAYC,cAAW,SAACC,GAAD,eAC3BkG,aAAa,CACX8R,eAAe,aACbjK,eAAgB,WAChBC,mBAAoB,SACpBC,iBAAkB,YAClBC,gBAAgB,QAAD,OAAUuJ,KAAV,OACdzX,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4N,gBAAiB,SAGrBO,UAAU,aACRvO,MAfQ,IAgBRgF,OAfS,KAgBRlF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOwO,IACPxJ,OAAQyJ,MAGZxB,SAAO,GACL1M,QAAS,OACTC,cAAe,SACfC,WAAY,SACZyI,UAAW,SACXvJ,QAAS,cAET,OAAQ,CACNU,OAAQ,WACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACftE,WAAYvB,EAAMwB,WAAWqc,mBAE/B,OAAQ,CACNtd,OAAQ,WACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1BK,WAAYvB,EAAMwB,WAAWmW,iBAE/B,OAAQ,CACNpX,OAAQ,WACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BrE,WAAY,IACZkD,QAAS,MA7BN,cA+BJzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,WAhCN,cAkCJG,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,IAEZ,OAAQ,CACNA,SAAU,IAEZ,OAAQ,CACNd,OAAQ,WACRc,SAAU,MA3CT,GA+CPwX,YAAU,GACRtY,OAAQ,WACRL,MAAO,QACP,WAAY,CACVA,MAAO,OACPgF,OAAQ,OACR7D,SAAU,GACVE,WAAY,MAPN,cASPvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,WAAY,CACVe,SAAU,MAXN,cAcPrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPK,OAAQ,WACR,WAAY,CACV2E,OAAQ,OACR7D,SAAU,MAnBN,+BAuBQ,QAvBR,wBAwBC,QAxBD,QAqECyc,GAnC4D,SAAC,GAGrE,IAFLzK,EAEI,EAFJA,KACA5a,EACI,EADJA,MAEM+N,EAAS1G,KADX,EAEwBpS,mBAAS2lB,GAFjC,mBAEGxxB,EAFH,KAEW66B,EAFX,KAIJ,OACE,kBAAC5U,GAAA,EAAD,CACEoC,mBAAiB,QACjBnC,KAAMlmB,EACNyxB,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTkJ,QAAS,CAAEN,MAAOzM,EAAOwR,iBAEzB,kBAACxN,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC/B,kBAAC,GAAD,CAAWQ,IlC3HiB,iCkC2HUqB,YAAaxI,EAAOiI,YAC1D,4DACA,8FACA,4BAAKhW,GACL,kBAAC,IAAD,CAAMqB,GAAG,IAAIkN,UAAWR,EAAOqS,YAC7B,kBAAC,GAAD,CACE1Y,MAAM,UACNyG,QAAQ,YACRsB,QAAS,kBAAMwU,GAAU,KAH3B,iCCnIGqB,GAAenZ,cAAW,SAAC5E,GAAD,MAAmB,CACxD6E,KAAK,aACH3C,UAAW,SACXuH,SAAU,QACVvE,OAAQ,OACR7D,SAAU,GACVT,aAAc,OACdoB,UAAW,OACXnC,QAAS,UACRG,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,YAVe0E,CAaxBoB,aAAUM,KChBd,SAAS,KAA2Q,OAA9P,GAAWzb,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,ICDY4b,GDCR,GAAqB,IAAM5a,cAAc,OAAQ,KAAmB,IAAMA,cAAc,SAAU,CACpGrf,GAAI,YACU,IAAMqf,cAAc,gBAAiB,CACnDoJ,GAAI,gBACJ1qB,KAAM,SACN4H,OAAQ,0EAGN,GAAqB,IAAM0Z,cAAc,IAAK,CAChDrf,GAAI,WACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,0CACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,aACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,oBACJid,KAAM,UACN+O,YAAa,KACC,IAAM3M,cAAc,IAAK,CACvCrf,GAAI,aACU,IAAMqf,cAAc,OAAQ,CAC1CC,EAAG,sRACHtf,GAAI,WACa,IAAMqf,cAAc,IAAK,CAC1Crf,GAAI,YACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,aACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,IAAK,CACvCvf,OAAQ,iBACRE,GAAI,SACU,IAAMqf,cAAc,IAAK,CACvCyJ,UAAW,iCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,qYACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,iaACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,cACO,IAAMxJ,cAAc,SAAU,CAC/Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,WACJC,GAAI,WACJC,EAAG,aACY,IAAMJ,cAAc,OAAQ,CAC3CC,EAAG,8fACHtf,GAAI,QACJid,KAAM,iBAGJ,GAAkB,SAAyB4C,GAC7C,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAiB,GAAS,CAChES,OAAQQ,GACPP,O,IAEU,I,QE3FA/D,iBAAW,SAACC,GAAD,MAAmB,CAC3CgN,UAAW,CACTvM,QAAS,OACTC,cAAe,OAEjBud,MAAO,CACL7X,SAAU,WACV9E,OAAQ,UACR+G,OAAQ,GAEV6V,gBAAiB,CACfzU,SAAU,OACV7J,OAAQ,GAEVue,MAAO,CACLpZ,aAAc,EACdQ,WAAY,sBAEd6Y,cAAe,CACbjhB,MAAO,OCREkhB,GAAmD,SAAC,GAQ1D,IAAD,EAPJ9X,EAOI,EAPJA,SAOI,IANJqF,iBAMI,MANQ,OAMR,MALJkC,iBAKI,MALQ,OAKR,MAJJwQ,kBAII,aAHJle,gBAGI,MAHO,OAGP,MAFJqJ,gBAEI,MAFO,OAEP,EADJ8U,EACI,EADJA,aACI,EACwB7wB,mBAXV,KAUd,mBACGwX,EADH,KACWsZ,EADX,KAEEhY,EAAS1G,KACT2e,EAAcC,iBAAO,MACrBC,EAAc,OAAGF,QAAH,IAAGA,GAAH,UAAGA,EAAaG,eAAhB,aAAG,EAAsBC,aAO7C,OANApgB,qBAAU,WACJ6f,GACFE,GAAWG,GAjBG,KAiB8B,MAE7C,CAACA,EAAgBL,IAGlB,kBAAC,KAAD,CACEpa,MAAO,CACLhE,MAAO,OACPgF,OAAQA,EACR0G,YACAkC,YACA1N,WACAqJ,WACAZ,UAAW,cAEbiW,YAAa,CACXC,SAAU,SAAAjb,GAAU,IACVkb,EAAoClb,EAApCkb,WAAY9a,EAAwBJ,EAAxBI,MAAU+a,EADb,aAC2Bnb,EAD3B,wBAEjB,OACE,yCACMmb,EADN,CAEE5a,IAAK2a,EACLhY,UAAS,UAAKR,EAAOyX,MAAZ,YAAqBzX,EAAO0X,iBACrCha,MAAK,2BAAOA,GAAP,IAAchH,KAAM,EAAGgI,ODnDf,ECmDoCtF,OAAQ,UAKjEsf,YAAa,CACXH,SAAU,SAAAjb,GAAU,IACVkb,EAAoClb,EAApCkb,WAAY9a,EAAwBJ,EAAxBI,MAAU+a,EADb,aAC2Bnb,EAD3B,wBAEjB,OACE,yCACMmb,EADN,CAEE5a,IAAK2a,EACLhY,UAAS,UAAKR,EAAOyX,MAAZ,YAAqBzX,EAAO4X,eACrCla,MAAK,2BAAOA,GAAP,IAAchE,MDhEN,ECgE0BP,IAAK,SAKpDwf,YAAa,CACXJ,SAAU,SAAAjb,GAAU,IACVkb,EAA6Blb,EAA7Bkb,WAAeC,EADN,aACoBnb,EADpB,gBAEjB,OACE,yCAASmb,EAAT,CAAoB5a,IAAK2a,EAAYhY,UAAWR,EAAO2X,WAI7DiB,YAAa,CACXL,SAAU,SAAAjb,GAAU,IACVkb,EAA6Blb,EAA7Bkb,WAAeC,EADN,aACoBnb,EADpB,gBAEjB,OACE,yCAASmb,EAAT,CAAoB5a,IAAK2a,EAAYhY,UAAWR,EAAO2X,YAK7D,uCAAKja,MAAO,CAAEgB,OAAQ,QAAUb,IAAKoa,GAAiBF,GACnDhY,KCtFMxG,iBAAW,SAACC,GAAD,MAAmB,CAC3CC,OAAQ,CACN,mBAAoB,CAClBJ,QAAS,cAGbzd,MAAM,aACJqe,QAAS,OACTC,cAAe,SACfR,MAAO,MACPK,OAAQ,SACRV,QAASG,EAAMa,QAAQ,EAAG,EAAG,GAC7B,OAAQ,CACNN,OAAQ,EACRc,SAAU,GACV+H,UAAW,SACX7H,WAAY,KAEd,MAAO,CACLhB,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BQ,SAAU,GACVoD,QAAS,IACT2E,UAAW,SACXjJ,MhEbwB,YgEezBH,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,SAGXiN,QAAS,CACPtN,QAASG,EAAMa,QAAQ,EAAG,IAE5Bwe,yBAA0B,CACxB9e,OAAQP,EAAMa,QAAQ,EAAG,IAE3BgB,iBAAkB,CAChBpB,QAAS,OACTqB,eAAgB,cCVPwd,GAAgE,SAAC,GAMvE,IALLjM,EAKI,EALJA,KACAvJ,EAII,EAJJA,MACAzS,EAGI,EAHJA,OACA1J,EAEI,EAFJA,QACA4xB,EACI,EADJA,SAEM/Y,EAAS1G,KAEf,OACE,kBAACgI,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAMsL,EACNC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTF,QAASL,EACT9C,UAAWR,EAAOvG,OAClBud,mBAAoB,KAEpB,kBAAClT,GAAA,EAAD,CAAatD,UAAWR,EAAOpkB,MAAOmoB,mBAAiB,GACrD,4BArCmB,iBAsCnB,2BArCS,eAqCT,KACegV,EAASr8B,MAExB,2BAvCgB,sBAuChB,KACsBq8B,EAAStxB,SAGjC,kBAACuc,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC/B,kBAACZ,GAAA,EAAD,eAAUC,IAAK7e,IAAY+vB,aAAQrmB,IAAa,CAAE8T,QAAS,MACzD,yBAAKnE,UAAWR,EAAO6Y,0BACpBhoB,EAAO1M,KAAI,SAAC2M,EAAO+K,GAClB,IAAMhe,EAAMiT,EAAM8C,mBACd9C,EAAM8C,mBAAqBiI,EAC3BA,EACJ,OAAO,kBAAC,GAAD,eAAkBhe,IAAKA,GAASiT,UAK/C,kBAACkc,GAAA,EAAD,CAAexM,UAAWR,EAAO3E,kBAC/B,kBAAC,GAAD,CAAQ+E,QAAQ,WAAWsB,QAAS4B,GAvD9B,cCMRhK,GAAYC,cAAW,SAACC,GAAD,cAAmB,CAC9CgN,UAAW,CACTvM,QAAS,OACTC,cAAe,SACfR,MAAO,OACP,OAAQ,CACNK,OAAQ,WACRc,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZsD,UAAW,SACX7H,WAAYvB,EAAMwB,WAAWmW,kBAGjC6H,OAAQ,CACN/e,QAAS,OACTE,WAAY,SACZuI,cAAe,OACftI,aAAc,OACd6e,aAAc,sBACd,QAAS,CACPvf,MAAO,OACPgF,OAAQ,QAEV,OAAQ,CACN3E,OAAQ,SACRc,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,WAGnB6Z,aAAW,GACTjf,QAAS,OACTqB,eAAgB,gBAChBpB,cAAe,MACfE,aAAc,OACd,OAAQ,CACNL,OAAQ,UACRc,SAAU,GACVE,WAAY,IACZsE,cAAe,UAEjB,MAAO,CACLtF,OAAQ,EACRc,SAAU,GACVwE,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BrE,WAAYvB,EAAMwB,WAAWC,iBAhBtB,cAkBRzB,EAAMK,YAAYsf,KAAK,MAAQ,CAC9Bjf,cAAe,SACf,OAAQ,CACNW,SAAU,GACVU,WAAY,OAEd,MAAO,CACLA,WAAY,MACZV,SAAU,MA1BL,cA6BRrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,IAEZ,MAAO,CACLA,SAAU,MAlCL,cAqCRrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACf,OAAQ,CACNqB,WAAY,OAEd,MAAO,CACLA,WAAY,MACZV,SAAU,MA5CL,GAgDXue,SAAO,GACLrf,OAAQ,QACRL,MAAO,EACP2f,WAAY,uBAHP,cAIJ7f,EAAMK,YAAYsf,KAAK,MAAQ,CAC9BE,WAAY,OACZ3f,MAAO,OACPK,OAAQ,SACRkf,aAAc,wBARX,cAUJzf,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,UAXL,cAaJP,EAAMK,YAAYC,KAAK,MAAQ,CAC9Buf,WAAY,OACZ3f,MAAO,OACPK,OAAQ,SACRkf,aAAc,wBAjBX,GAoBPK,iBAAkB,CAChB,OAAQ,CACNvf,OAAQ,UACRc,SAAU,GACVE,WAAY,IACZsE,cAAe,WAGnBka,cAAe,CACbnf,aAAcZ,EAAMa,QAAQ,GAC5BX,MAAO,QAET8f,cAAe,CACb,MAAO,CACLzf,OAAQP,EAAMa,QAAQ,EAAG,EAAG,KAGhCof,WAAY,CACV1e,WAAY,KAEd2e,cAAe,CACb5e,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAYvB,EAAMwB,WAAWC,eAC7BC,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,WAYtBwe,GAAkD,SAAC,GAKzD,IAAD,IAJJC,EAII,EAJJA,SACAC,EAGI,EAHJA,gBACAC,EAEI,EAFJA,SACA10B,EACI,EADJA,MAEM4a,EAAS1G,KACPygB,EAAoBC,eAApBD,gBAEArO,EAA2BjC,GAA3BiC,WAAYM,EAAevC,GAAfuC,WACZlB,EAAqDtB,GAArDsB,MAAOQ,EAA8C9B,GAA9C8B,WAAYD,EAAkC7B,GAAlC6B,gBAAiBwF,EAAiBrH,GAAjBqH,aACpCgC,EAA6B/I,GAA7B+I,WAAYC,EAAiBhJ,GAAjBgJ,aANhB,EAQgC5rB,oBAAS,GARzC,mBAQG+yB,EARH,KAQeC,EARf,OAS8DhzB,qBAT9D,mBASGizB,EATH,KAS8BC,EAT9B,OAYgElzB,mBAElE,IAdE,mBAYGmzB,EAZH,KAY+BC,EAZ/B,OAgB8DpzB,mBAEhE,IAlBE,mBAgBGqzB,EAhBH,KAgB8BC,EAhB9B,KAoBEC,EAAeZ,EAAgB73B,KAC/B04B,EAAkB,OACtBP,QADsB,IACtBA,GADsB,UACtBA,EAA2BlD,6BADL,aACtB,EAAkDnzB,OAtBhD,EAiCsBkD,GAAmC,CAC3DpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,OACRC,IAAI,WAAD,OAZDi3B,EAAS/I,KAAkBnF,EACtB,oBACEkO,EAAS/I,KAAkB7E,EAC7B,QADF,MAKF2O,EAjCH,yBA0CSp/B,IAAV6J,IACDA,EAAQ,IAGmEw0B,EAAxEgB,aA9CD,IA8Cel+B,EAA0Dk9B,EAA1Dl9B,KAAMm+B,EAAoDjB,EAApDiB,QAASjb,EAA2Cga,EAA3Cha,SAAakb,EA9C3C,aA8CyElB,EA9CzE,8CA8DEmB,EAAS,uCAAG,sBAAAl5B,EAAA,sDACZ+3B,EAAS/I,KAAkBnF,EAC7BiP,EAAgB,CACd34B,KAAK,2BACAswB,GAAkBwI,IADnB,IAEFE,gBAAgB,CAAD,OACbb,QADa,IACbA,OADa,EACbA,EAA2B90B,gBADd,mBAEVk1B,IAEL79B,KAAMA,EACNm+B,QAASA,EACTjb,SAAUA,EACVkK,yBAzBoC,KAAvC8P,EAASqB,0BACHnI,EAEFD,EAuBDoI,0BAnBoC,KAAvCrB,EAASqB,0BACHrB,EAASqB,0BAEX71B,MAmBJ/F,MAAK,WACJ66B,GAAc,MAEfgB,OAAM,SAACC,GACNpB,EAAgB5N,GAASiP,0BAA2B,CAClDhb,QAAS,aAGJwZ,EAAS/I,KAAkB7E,GACpC2O,EAAgB,CACd34B,KAAK,2BACAswB,GAAkBwI,IADnB,IAEFE,gBAAgB,CAAD,OACbb,QADa,IACbA,OADa,EACbA,EAA2B90B,gBADd,mBAEVk1B,QAIRl7B,MAAK,WACJ66B,GAAc,MAEfgB,OAAM,SAACC,GACNpB,EAAgB5N,GAASiP,0BAA2B,CAClDhb,QAAS,aAvCC,2CAAH,qDA6Df,OAhBAnI,qBAAU,WAAO,IAAD,IACRojB,EAAc,UAAGZ,EAAaa,qCAAhB,aAAG,EAA4CC,MACjE,SAAAC,GAAO,OAAIA,EAAQn2B,iBAAmBu0B,EAASvO,MAE3CoQ,EAAW,UAAGhB,EAAaa,qCAAhB,aAAG,EAA4Cj+B,QAC9D,SAAAm+B,GAAO,OAAIA,EAAQn2B,iBAAmBu0B,EAASvO,MAG7CoQ,GACFnB,EAA8BmB,GAE5BJ,GACFjB,EAA6BiB,KAE9B,CAACzB,EAAUvO,EAAiBoP,EAAaa,gCAG1C,oCACGrB,GACC,kBAAC,GAAD,CACEpN,KAAMoN,EACNhoB,MAAO2nB,EAAS9O,KAGpB,yBAAKtK,UAAWR,EAAOwG,WACrB,wDACA,yBAAKhG,UAAWR,EAAOgZ,QACrB,kBAAC,GAAD,MACA,mCAAKmB,QAAL,IAAKA,OAAL,EAAKA,EAA2BuB,eAElC,yBAAKlb,UAAWR,EAAOkZ,aACrB,6BACE,sCACA,2BAAIU,EAAS9O,KAEf,yBAAKtK,UAAWR,EAAOoZ,UACvB,6BACE,4BAAKQ,EAAS/I,KAAkBnF,EAAa,MAAQ,SACrD,2BAAIkO,EAAStO,KAEf,yBAAK9K,UAAWR,EAAOoZ,UACvB,6BACE,sDACA,2BAAIQ,EAASvO,OAGf6L,aAAQiD,IAA8BO,GACtC,yBAAKla,UAAWR,EAAOsZ,kBACrB,4BACGoB,EADH,IACwBA,EAAqB,EAAI,QAAU,SAAU,IADrE,UAIA,yBAAKla,UAAWR,EAAOuZ,eACrB,kBAAC,GAAD,CAAiBnU,UAAW,KAA5B,OACG+U,QADH,IACGA,GADH,UACGA,EAA2BlD,6BAD9B,aACG,EAAkD9yB,KACjD,SAAC2M,EAAO+K,GACN,IAAMhe,EAAMiT,EAAM8C,mBACd9C,EAAM8C,mBAAqBiI,EAC3BA,EACJ,OAAO,kBAAC,GAAD,eAAkBhe,IAAKA,GAASiT,WAOjDomB,aAAQmD,IACR,kBAAC,GAAD,CACE5O,QAASmO,EAAS/I,GAClBkF,uBAAwBsE,EACxBrE,gBAAiBuE,EACjBtE,2BAA4B,SAAA0F,GAAO,OACjCnB,EAA6BmB,MAIlCpB,EAA0Bp2B,KAAI,SAAAsD,GAC7B,IAAMm0B,EAAgBvB,EAA2Bh9B,QAC/C,SAAAuL,GAAE,OAAIA,EAAGvD,iBAAmBoC,KAExBsxB,EAAW6C,EAAc,GAAGF,aAC5B7qB,EAAS+qB,EAAc,GAAG3E,sBAChC,OACE,kBAAC,GAAD,CACExvB,OAAQA,EACRoJ,OAAQA,EACRkoB,SAAUA,OAIhB,kBAACxB,GAAD,CACE5d,MAAM,UACNyG,QAAQ,YACRsB,QAAS,WACPuM,QAAQkM,IAA8BY,MAJ1C,SASA,kBAAC,GAAD,CACErd,MAAO,CAAErE,QAAS,UAAWU,OAAQ,UACrCJ,MAAM,UACN+H,QAAS,kBAAMoY,MAHjB,sBAkBK+B,GAA+D,SAAC,GAItE,IAHLp0B,EAGI,EAHJA,OACAoJ,EAEI,EAFJA,OACAkoB,EACI,EADJA,SAEM/Y,EAAS1G,KADX,EAEgEpS,oBAClE,GAHE,mBAEG40B,EAFH,KAE+BC,EAF/B,KAMJ,OACE,yBAAKvb,UAAWR,EAAOwZ,eACrB,2BACE,0BAAMhZ,UAAWR,EAAOyZ,YAAahyB,EAArC,MACA,0BACE+Y,UAAWR,EAAO0Z,cAClBhY,QAAS,kBAAMqa,GAA8B,KAE5ClrB,EAAO/M,OAJV,IAImB+M,EAAO/M,OAAS,EAAI,SAAW,QAJlD,WAKQ,KAEV,kBAAC,GAAD,CACE+oB,KAAMiP,EACNxY,MAAO,kBAAMyY,GAA8B,IAC3ChD,SAAU,CAAEr8B,KAAMq8B,EAAUtxB,UAC5BN,SAAS,EACT0J,OAAQA,MCnZVyI,GAAYC,cAAW,SAACC,GAAD,YAAmB,CAC9CgN,UAAW,CACTvM,QAAS,OACTC,cAAe,SACfR,MAAO,OACP,OAAQ,CACNK,OAAQ,WACRc,SAAU,GACV+H,UAAW,OACXtD,WAAY,OACZD,cAAe,SACftE,WAAYvB,EAAMwB,WAAWC,gBAE/B,WAAW,aACTlB,OAAQ,YACPP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,YAIdiiB,KAAM,CACJ/hB,QAAS,OACTqB,eAAgB,SAChB5B,MAAO,OACP6E,aAAc,EACdU,gBAAiB,UACjBlF,OAAQP,EAAMa,QAAQ,EAAG,EAAG,KAE9B4N,UAAU,aACRvJ,OA/BqB,IAgCrBhF,MAjCoB,KAkCnBF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAAQud,IACRviB,MAAOwiB,MAGXha,KAAK,aACH3H,YAAa,OACbmE,OAAQ,OACRuE,SAAU,OACV3D,WAAY,OACZsD,UAAW,SACX/H,SAAU,IACTrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAAQ,OACRuE,SAAU,OACV3D,WAAY,SAGhB6c,IAAK,CACHliB,QAAS,OACTyI,cAAe,OACftI,aAAc,QAEhBgiB,WAAY,CACVniB,QAAS,OACTC,cAAe,MACfoB,eAAgB,UAElB+gB,iBAAe,GACb9gB,WAAY,QADC,cAEZ/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAHD,cAKZ/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAND,cAQZ/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SATD,GAYf+gB,SAAU,CACRriB,QAAS,OACTC,cAAe,MACfoB,eAAgB,SAChB,QAAS,CACP,OAAO,aACLvB,OAAQP,EAAMa,QAAQ,EAAG,GACzBQ,SAAU,GACVE,WAAY,IACZsE,cAAe,SACf,SAAS,aACPpB,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAGbrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,OAGd,MAAM,aACJd,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BT,SAAU,QACVqJ,SAAU,QACVpI,SAAU,GACVyE,WAAY,OACZD,cAAe,QACftE,WAAYvB,EAAMwB,WAAWC,eAC7B,SAAU,CACRF,WAAY,MAEbvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BF,SAAU,OACVG,OAAQP,EAAMa,QAAQ,EAAG,EAAG,OAKpCkiB,YAAY,eACT/iB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAGnBrH,SAAS,aACPoH,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZ8E,gBnE7HmB,UmE8HnB2D,UAAW,SACX7I,OAAQP,EAAMa,QAAQ,EAAG,IAExBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5B,QAAS,CACPqE,OAAQ,OAId8d,UAAW,CACTvD,aAAc,2BASLwD,GAA0C,SAAC,GAGjD,IAFLC,EAEI,EAFJA,SACAC,EACI,EADJA,cAEM3c,EAAS1G,KACTE,EAAQiM,eACRmX,EAAWrP,aAAc/T,EAAMK,YAAYC,KAAK,OAC9Cje,EAAmB8tB,GAAnB9tB,SAAU+tB,EAASD,GAATC,KAElB,OACE,yBAAKpJ,UAAWR,EAAOwG,WACrB,yBAAKhG,UAAWR,EAAOgc,MACrB,kBAAC,GAAD,CACE7U,I3CzJ6B,8B2C0J7BqB,YAAaxI,EAAOiI,aAGxB,4BAAKpsB,GACJ+tB,EAAKzlB,KAAI,WAAkB0X,GAAlB,IAAGnF,EAAH,EAAGA,KAAMC,EAAT,EAASA,MAAT,OACR,yBACE6J,UAAS,UAAKR,EAAOmc,IAAZ,YAAmBnc,EAAOwc,UAA1B,cACF,OAAL7lB,QAAK,IAALA,OAAA,EAAAA,EAAOrI,MAAO0R,EAAOuc,aAEvB1+B,IAAKge,GAEL,yBAAK2E,UAAWR,EAAOoc,YACrB,yBAAK5b,UAAWR,EAAOkC,MAAOxL,EAAKwL,MACnC,yBAAK1B,UAAWR,EAAOsc,UACrB,6BAAM5lB,EAAK9a,SAGd+a,GACC,yBACE6J,UAAS,UAAKR,EAAOoc,WAAZ,YACPQ,GAAYjmB,EAAMrI,IAAM,KAAO0R,EAAOqc,kBAGvC1lB,EAAMrI,IACL,yBAAKkS,UAAWR,EAAOnN,UAAW8D,EAAMrI,KAExC,oCACE,yBAAKkS,UAAWR,EAAOkC,MAAOvL,EAAMuL,MACpC,yBAAK1B,UAAWR,EAAOsc,UACrB,6BAAM3lB,EAAM/a,eAQxB+gC,GACA,kBAACpF,GAAD,CACEnX,QAAQ,YACRzG,MAAM,UACN+H,QAAS,kBAAMgb,GAAYA,MAH7B,W,oDC/KFpjB,GAAYC,cAAW,SAACC,GAAD,aAC3BkG,aAAa,CACX8R,eAAgB,CACdnY,QAAS,GAEX6I,KAAM,CACJxI,MAZQ,GAaRgF,OAZS,GAaTtE,aAAcZ,EAAMa,QAAQ,IAE9BsM,QAAQ,aACN1M,QAAS,OACTC,cAAe,SACfC,WAAY,SACZyI,UAAW,SACXvJ,QAASG,EAAMa,QAAQ,EAAG,EAAG,GAC7B,OAAQ,CACNN,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BQ,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACftE,WAAYvB,EAAMwB,WAAWkW,kBAE/B,OAAQ,CACNnX,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BQ,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1BK,WAAYvB,EAAMwB,WAAWmW,iBAE/B,OAAQ,CACNpX,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BQ,SAAU,GACVlB,MAAOH,EAAMiB,QAAQoE,OAAOwJ,QAE7B7O,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,IAEZ,OAAQ,CACNA,SAAU,MAIhBgiB,KAAM,CACJ9iB,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BQ,SAAU,GACV,MAAO,CACLd,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5B,eAAgB,CACdQ,SAAU,GACVlB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAYvB,EAAMwB,WAAWC,iBAGjC,MAAO,CACLH,OAAQ,UACRM,eAAgB,OAChBzB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BO,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,OAGjC,QAAS,CACPI,WAAY/B,EAAMa,QAAQ,GAC1BG,KAAMhB,EAAMiB,QAAQC,QAAQC,KAC5B+D,OAtEe,GAuEfhF,MAvEe,GAwEfoB,OAAQ,UACRI,WAAY,oDACZ,UAAW,CACTmL,UAAW,aACX7L,KAAMhB,EAAMiB,QAAQC,QAAQS,OAGhC,QAAS,CACPlB,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,WAGhBnY,KAAM,CACJ6Y,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,gBAE/B6hB,gBAAiB,CACf7iB,QAAS,OACTqB,eAAgB,SAChB5B,MAAO,OACPU,aAAcZ,EAAMa,QAAQ,IAE9BsH,QAAM,GACJ5H,OAAQ,EACRL,MAAO,MACPgF,OApGa,GAqGb7D,SAAU,IAJN,cAKHrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KANR,cAQHrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4E,OAAQqe,GACRliB,SAAU,GACVnB,MAAO,SAXL,QAuBGsjB,GAAuD,SAAC,GAI9D,IAHLnQ,EAGI,EAHJA,KACAvJ,EAEI,EAFJA,MACA2Z,EACI,EADJA,QAEMjd,EAAS1G,KADX,EAE0BpS,mBAAS,CAAEg2B,MAAO,GAAIC,KAAM,KAFtD,mBAEGC,EAFH,KAEYC,EAFZ,KAII7vB,EAAM+V,eAAN/V,EACAusB,EAAoBC,eAApBD,gBAEFuD,EAAsB/1B,uBAC1B,SAAC7K,EAAc6gC,GACbC,KAAKD,IACHxD,EAAgB,GAAD,OAAIr9B,EAAJ,YAAY8Q,EAAE,4BAA8B,CACzD4S,QAAS,UACTqd,kBAAkB,EAClBC,iBAAkB,QAGxB,CAAC3D,EAAiBvsB,IAhBhB,EAmB+BxG,GAAkB,CACnDpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,MACRC,IAAK,4BALFg7B,EAnBH,oBA4BEC,EAAoBr2B,sBAAW,sBAAC,oCAAA1F,EAAA,sEAClB87B,IADkB,OAC9BE,EAD8B,qBAEXA,EAAI77B,KAFO,GAE7B87B,EAF6B,KAGpCT,EAAW,CACTH,MAAK,UAAEY,EAAeC,mBAAjB,QAAgC,GACrCZ,KAAI,UAAEW,EAAe7rB,aAAjB,QAA0B,KALI,2CAOnC,CAAC0rB,IAMJ,OAJA1lB,qBAAU,WACR2lB,MACC,CAACA,IAGF,kBAACtc,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAMsL,EACNC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTrD,UAAWR,EAAOwR,eAClB7N,QAASL,GAET,kBAACU,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC/B,kBAAC,GAAD,CAAWQ,I5CnMkB,iC4CmMUqB,YAAaxI,EAAOkC,OAC1D+a,IAAYpT,IACX,+DAEDoT,IAAYpT,IAA4B,uDACzC,4BACGoT,IAAYpT,GACT,wEACA,sEAEN,yBAAKrJ,UAAWR,EAAO6c,MACrB,4CACgB,wDAEhB,kBAAC9W,GAAA,EAAD,CAAUC,GAAIiI,QAAQmP,EAAQF,QAC3BhW,YACC,uBAAG1G,UAAWR,EAAOhe,KAAMwf,KAAI,cAAS4b,EAAQF,QAC7CE,EAAQF,OAGX,6BACE,0BAAM1c,UAAWR,EAAOhe,MAAOo7B,EAAQF,OACtCE,EAAQF,OACP,kBAAC,KAAD,CACExb,QAAS,WACP4b,EAAoB,UAAWF,EAAQF,aAQrD,yBAAK1c,UAAWR,EAAO6c,MACrB,oDACmB,uEAEnB,kBAAC9W,GAAA,EAAD,CAAUC,GAAIiI,QAAQmP,EAAQD,OAC5B,6BACE,uBACE3c,UAAWR,EAAOhe,KAClBwf,KAAI,iBAAY4b,EAAQD,KAApB,yEAA+EF,IAElFG,EAAQD,OAETjW,aAAYkW,EAAQD,MACpB,kBAAC,KAAD,CACEzb,QAAS,WACP4b,EAAoB,SAAUF,EAAQD,YAOlD,4BAAKF,IAAYpT,IAAZ,+BAA8CoT,KAErD,kBAACjQ,GAAA,EAAD,CAAexM,UAAWR,EAAO8c,iBAC/B,kBAAC,GAAD,CACEnjB,MAAM,UACNyG,QAAQ,YACRI,UAAWR,EAAO2B,OAClBD,QAAS4B,GAJX,iCCzPK0a,GAA8C,SAAC,GAAkB,IAAhB36B,EAAe,EAAfA,SACpD02B,EAAoBC,eAApBD,gBADmE,EAG7C/yB,GAAiB,CAC7CpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,SAJLu7B,EAHoE,sBAW3B/2B,mBAC9C,IAZyE,mBAWpEg3B,EAXoE,KAWlDC,EAXkD,KA+C3E,OA9BAlmB,qBAAU,WACR/Y,QAAQk/B,IACN/6B,EACGhG,QAAO,SAAAiG,GAAO,OAAKA,EAAQ+6B,wBAC3Bl6B,KAAI,SAAAb,GAAO,OACV26B,EAAoB,CAClBt7B,IAAK,cAAgBW,EAAQY,mBAIlC7E,MAAK,SAAA+O,GACJ,IAAMkwB,EAAWlwB,EAAUqoB,QAAO,SAACC,EAAD,GAAoB,IAAD,EAAX10B,EAAW,EAAXA,KAClC1G,EAAI,UAAG0G,EAAK1G,YAAR,aAAG,EAAWqD,WACxB,OAAKrD,EAEE,2BACFo7B,GADL,kBAEGp7B,EAAO0G,EAAK2kB,UAJG+P,IAMjB,IACHyH,EAAoBG,MAErBpD,OAAM,WACLnB,EACE,6KACA,CAAE3Z,QAAS,eAGhB,CAAC/c,EAAU02B,EAAiBkE,IAG7B,kBAAClY,GAAA,EAAD,eACEC,IAAKkR,aAAQ7zB,IACP6zB,aAAQ7zB,GAA+B,GAAnB,CAAEshB,QAAS,MAFvC,OAIGthB,QAJH,IAIGA,OAJH,EAIGA,EAAUc,KAAI,SAAAb,GAAY,IACjB/F,EAAsD+F,EAAtD/F,GAAIgG,EAAkDD,EAAlDC,UAAWW,EAAuCZ,EAAvCY,aAAcm6B,EAAyB/6B,EAAzB+6B,qBACrC,OACE,kBAAC,KAAD,CACExgC,IAAKN,EACLb,KAAMa,EACNghC,SAAU,SAACxsB,GACT,SAAIxO,GAAc0qB,QAAQlc,OAM3B,YAIkB,IAHjBzU,EAGgB,EAHhBA,MAGgB,IAFhBkhC,KAAQr+B,EAEQ,EAFRA,MAAOs+B,EAEC,EAFDA,QACPC,EACQ,EADhB3M,KAAQ2M,YAEFhP,EAAYzB,QAAQ9tB,KAAWs+B,GAAWC,EAAc,GAC9D,OACE,kBAAC,GAAD,CACEphC,MAAOA,EACPoyB,UAAWA,EACXnsB,UAAWA,EACX4wB,cAAe7wB,EAAQ6wB,cACvBE,gBACE/wB,EAAQY,cACRg6B,EAAiB56B,EAAQY,cAE3BkwB,aACEiK,EAAoB,oBAAgBn6B,EAAhB,QAAqC,GAE3DA,aAAcA,YCzExB2sB,GAA6BrH,GAA7BqH,aAAcvF,GAAe9B,GAAf8B,WAETqT,GAAmB,SAC9B5sB,EACAid,EACAvD,GAEA,OAAIuD,EAAMhE,YAAcgE,EAAMhE,WAAWjZ,EAAO0Z,GACvCuD,EAAMtE,SAASe,GAEjB,IAQImT,GAA4C,SAAC,GAGnD,IAFL5P,EAEI,EAFJA,MACA6P,EACI,EADJA,cAEQniC,EAASsyB,EAATtyB,KACR,OACE,kBAAC,KAAD,CACEA,KAAMA,EACN6hC,SAAU,SAACxsB,GACT,IAAM0Z,EAAkBoT,EAAchO,IAAc9e,MACpD,OAAO4sB,GAAiB5sB,EAAOid,EAAOvD,MAGvC,YAIkB,IAHjBnuB,EAGgB,EAHhBA,MAGgB,IAFhBkhC,KAAQr+B,EAEQ,EAFRA,MAAOs+B,EAEC,EAFDA,QACPC,EACQ,EADhB3M,KAAQ2M,YAEFhP,EAAYzB,QAAQ9tB,KAAWs+B,GAAWC,EAAc,GAC9D,OAAI1P,EAAM9D,SAEN,kBAAC,GAAD,CACE5tB,MAAOA,EACPoyB,UAAWA,EACXD,UAAWT,IAKf,kBAAC,GAAD,CACE1xB,MAAOA,EACPoyB,UAAWA,EACXD,UAAWT,EACXW,WAAYxvB,EACZyvB,SAAUZ,EAAMY,eAkBfkP,GAAgE,SAAC,GAIvE,IAHLD,EAGI,EAHJA,cACAE,EAEI,EAFJA,aACArO,EACI,EADJA,cAEA,OACE,kBAAC,KAAD,CACEh0B,KAAMqvB,GAAcrvB,KACpB6hC,SAAU,SAACxsB,GACT,IAAM0Z,EAAkBoT,EAAchO,IAAc9e,MACpD,OAAO4sB,GAAiB5sB,EAAOga,GAAeN,MAG/C,YAA4C,IAAjCiT,EAAgC,EAAxC3M,KAAQ2M,YACJ/N,EAAY,CAChBrzB,MAAOuhC,EAAcvT,IACrB0D,MAAOjD,IAEH2D,EAAYzB,QAChB8Q,EAAazT,IAAYnrB,QACtB4+B,EAAazT,IAAYmT,SAAWC,EAAc,IAEjDjT,EAAkBoT,EAAchO,IAAc9e,MACpD,OACE,kBAAC,GAAD,CACE2e,cAAeA,EACfC,UAAWA,EACXjB,UAAWA,EACXjE,QAASA,EACTkE,WAAYoP,EAAazT,IAAYnrB,YAQpC6+B,GAA0B,WAAO,IACpCjF,EAAoBC,eAApBD,gBADmC,EAEX7yB,mBAAoB,IAFT,mBAEpC7D,EAFoC,KAE1B47B,EAF0B,OAIdj4B,GAAkB,CAC7CpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,MACRC,IAAK,uBALFu8B,EAJoC,oBAarCC,EAAc53B,sBAAW,sBAAC,4BAAA1F,EAAA,+EAELq9B,IAFK,cAEtBn9B,EAFsB,OAG5Bk9B,EAAYl9B,EAASC,MAHO,kBAIrBD,EAASC,MAJY,uCAMvB,KAAIwB,QAAyB,MAAf,KAAIA,QACrBu2B,EAAgB5N,GAASiP,0BAA2B,CAClDhb,QAAS,UARe,iFAa7B,CAAC2Z,EAAiBmF,IAQrB,OANAjnB,qBAAU,WACJif,aAAQ7zB,IACV87B,MAED,CAAC97B,EAAU87B,IAEP,kBAAC,GAAD,CAAU97B,SAAUA,K,uEC/JdkW,iBAAW,SAACC,GAAD,MAAmB,CAC3CiN,QAAS,CACPlH,SAAU,SACV,gBAAiB,CACfb,OAAQ,oBAGZkX,QAAS,CACPpa,UAAWhC,EAAMa,QAAQ,GACzBiB,eAAgB,UAElB8jB,aAAc,CACZ1gB,OAAQ,QCJGnF,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACXkW,QAAQ,aACN3b,QAAS,OACTE,WAAY,SACZ8I,SAZoB,IAapB,MAAO,CACLA,SAZgB,GAahBlJ,OAAQP,EAAMa,QAAQ,EAAG,GACzBQ,SAAU,GACVlB,MxEPsB,UwEQtBiJ,UAAW,SACXvD,cAAe,IACftE,WAAYvB,EAAMwB,WAAWqc,kBAC7B,SAAU,CACRtc,WAAY,MAGhB,QAAS,CACPd,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZT,MAzB2B,GA0B3BuJ,SA1B2B,GA2B3BvE,OA3B2B,GA4B3B4I,UA5B2B,GA6B3B/I,aAAc,OACdzD,OAAQ,UACRmE,gBAAiBzF,EAAMiB,QAAQC,QAAQC,KACvCO,WAAY,oCACZ,QAAQ,aACNxB,MAjCe,GAkCfgF,OAlCe,IAmCdlF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO2lB,GACP3gB,OAAQ2gB,OAIb7lB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,MAAO,CACLC,OAAQP,EAAMa,QAAQ,EAAG,GACzBQ,SAAU,GACVoI,SAAUqc,IAEZ,QAAS,CACP5lB,MAAO6lB,GACPtc,SAAUsc,GACV7gB,OAAQ6gB,GACRjY,UAAWiY,W,0CC3CRC,GAAmC,SAAC,GAQ1C,IAPLttB,EAOI,EAPJA,MACAutB,EAMI,EANJA,SACAr/B,EAKI,EALJA,MACAumB,EAII,EAJJA,QACAnG,EAGI,EAHJA,UACAkf,EAEI,EAFJA,QACAC,EACI,EADJA,QAEM3f,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAER,OACE,yBAAKgT,UAAS,UAAKR,EAAO4V,QAAZ,YAAuBpV,IACnC,yBACEkB,QAAS,WACHie,EACFA,IAEAF,GAAYA,GAAS,SAAC3Z,GACpB,OAAgB,IAATA,EAAa1lB,EAAQ,EAAI0lB,EAAO,OAK7C,yBAAKqB,IAAKyY,KAASvY,IAAI,MAZ3B,OAcGV,QAdH,IAcGA,IACC,2BACE,8BAAOzU,EAAQ,GADjB,IAC4B1E,EAAE,MAAMqyB,cADpC,IACoDz/B,GAGtD,yBACEshB,QAAS,WACHge,EACFA,IAEAD,GAAYA,GAAS,SAAA3Z,GACnB,OAAOA,IAAS1lB,EAAQ,EAAI,EAAI0lB,EAAO,OAK7C,yBAAKqB,IAAK2Y,KAAUzY,IAAI,QC9CnB0Y,GAAoC,SAAC,GAM3C,IALLC,EAKI,EALJA,SACAjgB,EAII,EAJJA,SACAjc,EAGI,EAHJA,OACA0c,EAEI,EAFJA,UAEI,IADJyf,mBACI,WACoCvf,IAAMxZ,SAAS,GADnD,mBACGg5B,EADH,KACiBC,EADjB,KAGEC,EAA4B,CAChCC,MAAM,EACNC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,aAAc,EACdC,eAAe,EACfC,aAAcT,GAGVlgB,EAAS1G,KACTsnB,EAASlgB,IAAMwX,OAAe,MAcpC,OACE,oCACE,kBAAC,KAAD,sBACoB38B,IAAbykC,EAAyBI,EAAkBJ,EADlD,CAEExf,UAAS,UAAKR,EAAOyG,QAAZ,mBAAuBjG,QAAvB,IAAuBA,IAAa,IAC7C3C,IAAK+iB,EACLC,YAAa,SAACX,GAAD,OAA0BC,EAAgBD,MAEtDngB,GAEFkgB,GAAen8B,EAAS,GACvB,6BACE,kBAAC,GAAD,CACE47B,QAzBM,WACVkB,EAAOxI,SACTwI,EAAOxI,QAAQ0I,aAwBTnB,QApBM,WACViB,EAAOxI,SACTwI,EAAOxI,QAAQ2I,aAmBT7uB,MAAOguB,EACP9/B,MAAO0D,EACP0c,UAAWR,EAAO4V,YAItBqK,GACA,yBAAKzf,UAAWR,EAAOof,iBC3DhB7lB,iBAAW,SAACC,GAAD,MAAmB,CAC3C6E,KAAM,CACJpE,QAAS,OACT,6BAA8B,CAC5B2E,OAAQ,QAEV,yBAA0B,CACxBlD,UAAW,UAEb,qBAAsB,CACpB/B,M3EAwB,U2ECxBkB,SAAU,WAGdmmB,UAAW,CACT,4BAA6B,CAC3BpiB,OAAQ,cACRK,gB3ERqC,U2ESrCgiB,Y3EV8B,U2EW9B1iB,aAAc,EACdG,OAAQ,GACRrF,QAAQ,GAAD,OAAKG,EAAMa,QAAQ,EAAG,GAAtB,eACP,4BAA6B,CAC3BhB,QAASG,EAAMa,QAAQ,EAAG,GAC1BQ,SAAU,KAGd,kCAAmC,CACjC1B,IAAK,UACLoB,YAAaf,EAAMa,QAAQ,IAE7B,wBAAyB,CACvBgX,aAAc7X,EAAMa,QAAQ,GAAK,iBAEnCgF,cAAe,QACftE,WAAYvB,EAAMwB,WAAWC,eAC7BtB,M3EjC0B,W2EmC5BunB,WAAY,CACV,mBAAoB,CAClBD,Y3EzCuB,Y2E4C3BzvB,OAAQ,CACNyI,QAAS,OACTqN,UAAW,GACXjO,QAASG,EAAMa,QAAQ,EAAG,GAC1BQ,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7B,wBAAyB,CACvBgE,gB3EzCqC,W2E2CvC,0CAA2C,CACzCA,gBAAiB,SAEnB,wBAAyB,CACvBP,OAAQ,GACRhF,MAAO,GACPuF,gBAAiB,eAEnB,iBAAkB,CAChB7E,aAAcZ,EAAMa,QAAQ,KAGhC8mB,kBAAmB,CACjBliB,gBAAgB,GAAD,O3ExDwB,U2EwDxB,gBAEjB9e,MAAO,CACLue,OAAQ,GACRE,OAAQ,sBACRL,aAAc,EACdU,gBAAiB,UACjBT,UAAW,OACX7E,MAAO,UACPkB,SAAU,GACVwE,cAAe,GACftE,WAAYvB,EAAMwB,WAAWC,eAC7B5B,QAASG,EAAMa,QAAQ,EAAG,GAC1BmB,UAAWhC,EAAMa,QAAQ,IAE3B+mB,WAAY,CACVpe,YAAa,GAEfqe,UAAW,CACT9iB,aAAc,GAEhB+iB,eAAgB,CACdrnB,QAAS,OACTE,WAAY,UAEdmJ,MAAO,CACLxI,OAAQ,WAEVymB,OAAQ,CACN,2BAA4B,CAC1BloB,QAAS,EACTmC,WAAY,KAEd,6BAA8B,CAC5B4J,UAAW,IACXxG,OAAO,eAAD,O3ExGe,W2EyGrBL,aAAc,GAEhB,sBAAuB,CACrBA,aAAc,GAEhB,yBAA0B,CACxBC,UAAW,OACXI,OAAQ,SAGZzX,QAAS,CACPoU,WAAY/B,EAAMa,QAAQ,Q,4DCtHfd,iBAAW,SAAAC,GAAK,MAAK,CAClCiN,QAAS,CACPxM,QAAS,OACTqN,UALyB,GAMzB,MAAO,CACL5N,MAAO,SAGX8nB,QAAS,CACP7nB,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3B2M,UAZyB,GAazB5N,MAAO,OACPmB,SAAU,GACVyE,WAAW,GAAD,OAfe,GAef,WCoBCnB,GA3B8B,SAAC,GAIvC,IAAD,IAHJqC,iBAGI,MAHQ,GAGR,EAFJ5kB,EAEI,EAFJA,MACG0hB,EACC,wCAC0BpW,mBAAStL,GADnC,mBACG4lC,EADH,KACYC,EADZ,KAEEzhB,EAAS1G,KAYf,OAVArB,qBAAU,WACR,IAAI6M,EACJ,OAAIlpB,EAAc6lC,EAAW7lC,IACxBA,IACHkpB,EAAQ/W,YAAW,WACjB0zB,EAAW7lC,KACV8lC,YAASC,WAEP,kBAAM5c,aAAaD,OACzB,CAAClpB,IAEF,kBAACgmC,GAAA,EAAD,iBAAUtkB,EAAV,CAAiBkD,UAAS,UAAKR,EAAOyG,QAAZ,YAAuBjG,KAC/C,kBAACuF,GAAA,EAAD,CAAUC,GAAIiI,QAAQryB,GAAQ+oB,QAAS+c,YAASC,UAC9C,kBAACE,GAAA,EAAD,CAAYrhB,UAAWR,EAAOwhB,SAAUA,MCxB1CM,GAAiB,SAACtoB,GAAD,MAA4C,CACjEkF,OAHmB,GAInBhF,MAAO,OACPkF,OAAQ,cACRqiB,YAAa,UACbhiB,gBAAiB,UACjB+D,YAAaxJ,EAAMa,QAAQ,GAC3BgX,aAAc7X,EAAMa,QAAQ,KAC5BgI,UAAW,aACXnH,WAAW,gBAAD,OAAkBwmB,YAASC,SAAW,IAAtC,KACVpjB,aAAc,EACd,MAAO,CACL7E,MAAO,OACPgF,OAAQ,QAEV,UAAW,CACT7D,SAAU,GACVwE,cAAe,GACf1F,M9EZ0B,U8Ea1B,iBAAkB,CAChBA,M9EdwB,U8EexBsE,QAAS,IACToB,cAAe,OAKN9F,iBAAW,SAAAC,GAAK,MAAK,CAClCwV,MAAM,eACD8S,GAAetoB,IAEpB0nB,WAAW,2BACNY,GAAetoB,IADV,IAERynB,YAAaznB,EAAMiB,QAAQta,MAAMwa,KACjC,+BAAgC,CAC9BiE,OAAQ,mBAEV,qCAAsC,CACpClF,MAAO,qBACPgF,OAAQ,qBACRnD,WAAY/B,EAAMa,SAAS,MAG/BoQ,MAAO,CACLrQ,aAAcZ,EAAMa,QAAQ,GAC5BV,M9EvC0B,U8EwC1BsE,QAAS,kBACTpD,SAAU,GACVyE,WAAY,OACZ/E,YAAaf,EAAMa,QAAQ,MAE7B0nB,mBAAoB,CAClBroB,MAAO,OACPgF,OAAQ,S,SjBrDA8Y,O,aAAAA,I,mBAAAA,I,sBAAAA,Q,KAeZ,IAwCe/I,GAxC8B,SAAC,GASvC,IAAD,IARJjO,iBAQI,MARQ,GAQR,MAPJwhB,oBAOI,MAPW,GAOX,EANJC,EAMI,EANJA,UACAxX,EAKI,EALJA,MAKI,IAJJyX,qBAII,MAJY1K,GAAc2K,IAI1B,MAHJC,cAGI,aAFJC,oBAEI,SADD/kB,EACC,yGACE0C,EAAS1G,KACTgpB,EAAqBC,KACrBC,EAAaH,EAAeC,EAAmBpB,WAAalhB,EAAOkhB,WACnEuB,EAAiBR,EAAYO,EAAa,GAChD,OACE,kBAACZ,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWwhB,GACzB,kBAACJ,GAAA,EAAD,CAAMpb,WAAS,EAACrM,WAAW,SAASuoB,QAAQ,cAC1C,kBAACb,GAAA,EAAD,CAAYrhB,UAAWR,EAAOyK,OAAQA,GACrCyX,IAAkB1K,GAAc2K,KAC/B,kBAACQ,GAAD,CAAc/mC,MAAOqmC,KAGzB,kBAACzT,GAAD,eACEhO,UAAS,WAAMiiB,EAAN,qBACNL,EAAwB,GAAfpiB,EAAOgP,MADV,YACwBxO,IAC7BlD,EAHN,CAIEslB,WAAU,2BACLtlB,EAAMslB,YADD,IAERrS,aAAc8R,EAAe,eAAiB,WAGjDH,IAAkB1K,GAAcqL,QAC/B,kBAACjB,GAAA,EAAD,CAAMpb,WAAS,EAACrM,WAAW,SAASuoB,QAAQ,cAC1C,kBAACC,GAAD,CAAc/mC,MAAOqmC,EAAWzhB,UAAWR,EAAO+hB,wBkBE7Ce,GA/C0C,SAAC,GAQnD,IAPLpmC,EAOI,EAPJA,KACA+tB,EAMI,EANJA,MAMI,IALJnvB,YAKI,MALG,OAKH,MAJJynC,gBAII,aAHJ7e,gBAGI,SAFJme,EAEI,EAFJA,aACG/kB,EACC,6EACE0lB,EAAgBC,eAChBC,EAEFF,EAAc5Q,OAIZ+Q,EADFH,EAAcvE,QACqB/hC,GAAQwmC,EAAaxmC,QAAQnB,EAE9D6nC,EACJ,kBAAC,KAAD,eACEL,SAAUA,EACVtY,MAAOA,EACP/tB,KAAMA,EACNpB,KAAMA,EACN+nC,UAAW5U,GACXvK,SAAUA,EACV+d,UAAWkB,EACXd,cAAc,GACV/kB,IAGR,OACE+kB,EACAe,EACA,kBAAC,KAAD,eACEL,SAAUA,EACVtY,MAAOA,EACP/tB,KAAMA,EACNpB,KAAMA,EACNgoC,GAAI7U,GACJvK,SAAUA,EACV+d,UAAWkB,GACP7lB,KCLGimB,GAAe,YA4BnB,IAAD,QA3BNC,gBA2BM,SA1BNC,EA0BM,EA1BNA,QAEApf,GAwBM,EAzBNqf,cAyBM,EAxBNrf,UACAtS,EAuBM,EAvBNA,MACA4xB,EAsBM,EAtBNA,UACAC,EAqBM,EArBNA,gBAqBM,IApBN1f,gBAoBM,SAnBNnE,EAmBM,EAnBNA,SACArjB,EAkBM,EAlBNA,KACAyD,EAiBM,EAjBNA,MAiBM,IAhBN4sB,eAgBM,MAhBI,GAgBJ,MAfN8W,gBAeM,aAdNC,oBAcM,MAdS,GAcT,EAbNC,EAaM,EAbNA,kBACAC,EAYM,EAZNA,SACAC,EAWM,EAXNA,cACA/B,EAUM,EAVNA,cACAgC,EASM,EATNA,mBACAzZ,EAQM,EARNA,MACAtjB,EAOM,EAPNA,QAQQqG,EAAM+V,eAAN/V,EACFwS,EAAS1G,KAFT,EAI8BoH,IAAMxZ,SAAiB48B,GAJrD,mBAICK,EAJD,KAIaC,EAJb,OAK4C1jB,IAAMxZ,SACtD6K,GANI,mBAKCsyB,EALD,KAKoBC,EALpB,KAYN,OAHArsB,qBAAU,WACRmsB,EAAcN,KACb,CAACA,IAEF,yBAAKtjB,UAAWuM,EAAQ1O,MACtB,kBAAC,KAAD,CACEmlB,SAAUA,EACVC,QAASA,EACTc,uBAAwBf,EACxBgB,eAAgBb,EAChBI,kBAAmBA,EACnBC,SAAUA,EACV3f,SAAU,SAAChN,EAAOotB,EAAU7gB,EAAQ4X,GACnB,kBAAX5X,GACFS,GAAYA,EAAShN,EAAOotB,EAAU7gB,GACjC4f,IACHc,EAAqBG,GACrBL,EAAcK,EAAWd,EAAUc,GAAiB,MAE9B,UAAfptB,EAAM/b,OACf+oB,GAAYA,EAAShN,EAAOotB,EAAU7gB,GACjC4f,GACHc,EAAqB,QAI3BI,WAAY,kBAAM,MAClB3yB,MAAOyxB,EAAWzxB,EAAQsyB,EAC1BF,WAAYA,EACZF,cAAe,SAAC5sB,EAAOtF,EAAO6R,GACb,UAAXA,GAAuB4f,IACzBY,EAAcryB,GACdkyB,GAAiBA,EAAc5sB,EAAOtF,EAAO6R,KAGjDM,SAAUA,EACVygB,aAAa,EACbC,iBAAe,EACfC,eAAa,EACbC,aACEtB,EACI,SAAChyB,EAAD,OAAWuzB,EAAX,EAAWA,SAAX,OACE,kBAAC,IAAMC,SAAP,KACE,kBAAC,GAAD,CACE9iB,KAAM,kBAAC,GAAD,MACNuS,YAAa,kBAAC,GAAD,MACb/W,MAAO,CAAEnD,YAAa,GACtB0J,QAAS8gB,IAEVpB,EAAUnyB,UAGfjW,EAEN0pC,YAAa,SAAAn/B,GACX,OACE,kBAAC,GAAD,iBACMA,EADN,CAEEpJ,KAAI,OAAEA,QAAF,IAAEA,IAAQ,GACdqV,MAAOoyB,EACP/B,QAAQ,EACRC,cAAc,EACd5X,MACE,oCACGA,EAAO,IACPtjB,GACC,kBAACmZ,GAAA,EAAD,CAAkBC,KAAM,GAAIC,UAAWR,EAAO7Y,WAIpD+6B,cAAeA,EACfgD,WAAU,2BACLp/B,EAAOo/B,YADF,IAERC,eACE,kBAACC,GAAA,EAAD,CAAgBxlB,SAAS,SACvB,kBAACylB,GAAA,EAAD,OAGJC,aAAcnB,EACZ,kBAACiB,GAAA,EAAD,CAAgBxlB,SAAS,OACvB,kBAAC,KAAD,CACE8B,QAAS,SAAArK,GACP+sB,EAAc,IACTZ,IACHc,EAAqB,MACrBL,GAAiBA,EAAc5sB,EAAO,GAAI,WAG9CmJ,UAAWR,EAAOsD,QAGjBxd,EAAOo/B,WAAWI,aAA6BhoB,MAC7CyC,SAAS,IAGdyjB,EACF19B,EAAOo/B,WAAWI,aAEjBx/B,EAAOo/B,WAAWI,aAA6BhoB,MAC7CyC,SAAS,SAMtBwlB,mBACyBhqC,IAAvB2oC,EACI12B,EAAE,cACF02B,EAENnX,QAAS,CACP1O,KAAM2B,EAAO3B,KACb2iB,UAAU,GAAD,OAAKhhB,EAAOghB,UAAZ,sBAAyBjU,EAAQiU,iBAAjC,QAA8C,IACvDO,OAAO,GAAD,OAAKvhB,EAAOuhB,OAAZ,sBAAsBxU,EAAQwU,cAA9B,QAAwC,IAC9C/vB,OAAQwO,EAAOxO,OACf6vB,UAAWrhB,EAAOqhB,WAEpBmE,UAAW,kBAAC,KAAD,MACXC,gBAAiB,SAAAnoB,GAAK,OAAI,kBAACooB,GAAA,EAAD,iBAAYpoB,EAAZ,CAAmBqoB,UAAU,eAExDxlC,GAAS,kBAAC/I,GAAA,EAAD,CAAOopB,UAAWR,EAAO7f,OAAQA,GAC1C0jC,GACC,kBAAC+B,GAAA,EAAD,CACEplB,UAAS,UAAKuM,EAAQ8Y,qBAAb,YACqB,KAAb,OAAfjC,QAAe,IAAfA,OAAA,EAAAA,EAAiB9/B,SAAgBkc,EAAOshB,iBAG1C,kBAAC,GAAD,CACEx9B,OAAQ8/B,EAAkBA,EAAgB9/B,OAAS,EACnD0c,UAAWuM,EAAQ+Y,sBAElB/lB,MCpNExG,iBAAW,SAACC,GAAD,eACxBkG,aAAa,CACX8G,UAAW,CACTzM,OAAQ,YAEV0Q,OAAK,GACHxQ,QAAS,OACTC,cAAe,MACf0U,SAAU,OACVzU,WAAY,OACZyI,UAAW,OACX0E,UAAW,OACXvN,OAAQ,eACR,UACEE,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACR8U,IAAK,QACLtU,YAAa,MACbM,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1B2E,cAAe,UATjB,cAUG7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,IAXZ,cAaE,SAbF,aAcIkE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAhBhB,GAoBA,YAAY,aACVd,OAAQ,EACRc,SAAU,GACVlB,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BI,WAAYvB,EAAMwB,WAAWC,gBAE5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,KAnCT,cAsCFP,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAvCX,cAyCF/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfqB,WAAY,IA3CX,GA8CLF,iBAAiB,aACfpB,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChBoD,OAAQ,OACR,MAAO,CACL3E,OAAQ,EACRc,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,SACfuD,UAAW,UAEb,WAAY,CACV/H,SAAU,GACVnB,MAAO,QAERF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,MAAO,CACLe,SAAU,IAEZ,WAAY,CACVA,SAAU,GACVnB,MAAO,SAIbqsB,iBAAkB,CAChBrnB,OAAQ,OACRE,OAAQ,cACRL,aAAc,MACdU,gBAAiB,UACjBT,UAAW,OACX7E,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAAYpB,GAAmB,IACzDjD,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SACVrE,WAAY,oCACZoD,cAAe,OACf,UAAW,CACTL,QAAS,EACTtE,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5BG,gBAAiBzF,EAAMiB,QAAQC,QAAQC,KACvCiE,OAAQ,cACRJ,UAAW,SAGfwnB,eAAgB,CACdtnB,OAAQ,OACRE,OAAO,0BACPjF,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5BC,WAAYvF,EAAMiB,QAAQC,QAAQC,KAClC4D,aAAc,MACdC,UAAW,OACXzD,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SACVrE,WAAY,oCACZoD,cAAe,OACf,UAAW,CACTL,QAAS,EACTtE,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5BG,gBAAiBzF,EAAMiB,QAAQC,QAAQC,KACvCiE,OAAQ,cACRJ,UAAW,cC5GNynB,GAAoD,SAAC,GAO3D,IANLrb,EAMI,EANJA,OACAH,EAKI,EALJA,MACAgZ,EAII,EAJJA,QACAtjC,EAGI,EAHJA,MACAzD,EAEI,EAFJA,KACAglB,EACI,EADJA,QAEM1B,EAAS1G,KADX,EAEuC2pB,eAAnCvS,EAFJ,EAEIA,cAAe0B,EAFnB,EAEmBA,OAAQqM,EAF3B,EAE2BA,QAF3B,EAKYyH,aAASxpC,GAAlBY,EALH,oBAOE6oC,EAAc,SAAC30B,GACnBkQ,GAAWA,EAAQlQ,GACnBkf,EAAcpzB,EAAMZ,KAAM8U,IAG5B,OACE,yBAAKgP,UAAWR,EAAOwG,WACpBiE,GACC,yBAAKjK,UAAWR,EAAOyK,OACrB,2BACGA,EADH,IACWG,GAAU,kBAAC,GAAD,CAAajE,QAASiE,EAAOjE,WAElD,kBAACZ,GAAA,EAAD,CAAUC,GAAIiI,QAAQmE,EAAO90B,EAAMZ,OAAS+hC,EAAQnhC,EAAMZ,QACxD,2BAAIyD,KAIV,yBAAKqgB,UAAWR,EAAO3E,kBACrB,kBAAC,KAAD,CACE0R,QAAS,CACP1O,KACE/gB,EAAMyU,QAAU0xB,EAAQ,GAAG1xB,MACvBiO,EAAOgmB,eACPhmB,EAAO+lB,kBAEfrkB,QAAS,kBAAMykB,EAAY1C,EAAQ,GAAG1xB,SAErC0xB,EAAQ,GAAG/mC,MAEd,kCACA,kBAAC,KAAD,CACEqwB,QAAS,CACP1O,KACE/gB,EAAMyU,QAAU0xB,EAAQ,GAAG1xB,MACvBiO,EAAOgmB,eACPhmB,EAAO+lB,kBAEfrkB,QAAS,kBAAMykB,EAAY1C,EAAQ,GAAG1xB,SAErC0xB,EAAQ,GAAG/mC,S,wCC2DP6c,I,OAAAA,cAAW,SAACC,GAAD,eACxBkG,aAAa,CACX+K,OAAK,GACHxQ,QAAS,OACTC,cAAe,MACf0U,SAAU,OACVzU,WAAY,OACZyI,UAAW,OACX0E,UAAW,OACXvN,OAAQ,eACR,UACEE,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACR8U,IAAK,QACLtU,YAAa,MACbM,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1B2E,cAAe,UATjB,cAUG7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,IAXZ,cAaE,SAbF,aAcIkE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAhBhB,GAoBA,YAAY,aACVd,OAAQ,EACRc,SAAU,GACVlB,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BI,WAAYvB,EAAMwB,WAAWC,gBAE5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,KAnCT,cAsCFP,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAvCX,cAyCF/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfqB,WAAY,IA3CX,SCdM6C,iBD7GiB,SAAC5E,GAAD,OAC9BkG,aAAa,CACXrB,KAAM,CACJ,qBAAsB,CACpBtE,OAAQ,YAEV,mCAAoC,CAClCkF,gBAAiB,UACjBL,OAAQ,sBACRF,OAAQ,OACRhF,MAAO,oBACPmB,SAAU,OACVU,WAAY,OACZgD,aAAc,MACdyE,YAAa,OACb3D,cAAe,SACf1F,MAAO,UACPsE,QAAS,OACTlD,WAAY,IACZqrB,WAAY,8CAEd,oCAAqC,CACnC7nB,aAAc,MACdtE,QAAS,OACTE,WAAY,SACZmB,eAAgB,UAElB,0CAA2C,CACzC2D,gBAAiB,WAEnB,yBAA0B,CACxBL,OAAQ,kCAEV,4BAA6B,CAC3BjF,MAAO,yBACPmB,OAAQ,WAEV,oCAAqC,CACnCzB,QAAS,gBACTkF,aAAc,MACdU,gBAAiB,WAEnB,0CAA2C,CACzCA,gBAAiB,WAEnB,mCAAoC,CAClC9F,IAAK,QACLzC,KAAM,EACN8H,UAAW,OACX6nB,UAAW,SACX9nB,aAAc,MACdK,OAAQ,qBAEV,wBAAyB,CACvBA,OAAQ,kCAEV,2BAA4B,CAC1BjF,MAAO,yBACPmB,OAAQ,WAEV,mCAAoC,CAClCwrB,WAAY,UACZzrB,SAAU,GAEZ,iCAAkC,CAChC+E,SAAU,WACVzG,IAAK,EACLzC,KAAM,EACNgD,MAAO,OACPkF,OAAQ,OACRF,OAAQ,OACRsE,YAAa,OACbzE,aAAc,MACd0a,aAAc,oBACdpe,SAAU,OACVlB,MAAO,WAET,kEAAmE,CACjE4sB,iBAAkB,OAClB7nB,OAAQ,OACRhF,MAAO,OACPqF,WAAW,2TACXwI,eAAgB,UAChBtJ,QAAS,EACTnD,OAAQ,WAEV,+CAAgD,CAC9CyrB,iBAAkB,OAClB7nB,OAAQ,OACRhF,MAAO,OACPqF,WAAW,2TACXwI,eAAgB,UAChBtJ,QAAS,EACTnD,OAAQ,WAEV,2CAA4C,CAC1C6L,QACE,mCACF/G,SAAU,sBACVb,WAAY,mCACZ5F,IAAK,OACLzC,KAAM,MACNgI,OAAQ,OACRhF,MAAO,OACPmI,OAAQ,MACRtG,WAAY,QAEd,qCAAsC,CACpCgW,WAAY,QAEd,4CAA6C,CAC3CvO,YAAa,QAEf,uDAAwD,CACtDA,YAAa,OACbrJ,MAAO,UACPysB,WAAY,gBCPLhoB,EAhG8D,SAAC,GAGvE,IAFL2O,EAEI,EAFJA,QACGzP,EACC,4BAEF5gB,EASE4gB,EATF5gB,KACA8pC,EAQElpB,EARFkpB,gBACAC,EAOEnpB,EAPFmpB,qBACAC,EAMEppB,EANFopB,gBACAjc,EAKEnN,EALFmN,MACAG,EAIEtN,EAJFsN,OACAG,EAGEzN,EAHFyN,YACA4b,EAEErpB,EAFFqpB,aACA/W,EACEtS,EADFsS,SAEI5P,EAAS1G,KAZX,EAmBA2pB,eALFvS,EAdE,EAcFA,cACAxtB,EAfE,EAeFA,OACAkvB,EAhBE,EAgBFA,OACAqM,EAjBE,EAiBFA,QACAmI,EAlBE,EAkBFA,WAlBE,EAoBYV,aAASxpC,GAAlBY,EApBH,sBAqBkC4J,mBAA6B,IArB/D,mBAqBG62B,EArBH,KAqBgB8I,EArBhB,KAuBEC,EAAU7Y,QAAQmE,EAAO90B,EAAMZ,OAAS+hC,EAAQnhC,EAAMZ,OACtDqqC,EAAcC,aAAiB,GAAD,OAC/BN,GAD+B,OACbD,IA8BvB,OANAxuB,qBAAU,WACJ8uB,GACFF,EAAc,OAACE,QAAD,IAACA,OAAD,EAACA,EAAat/B,UAE7B,CAACs/B,IAGF,oCACGtc,GACC,yBAAKjK,UAAWR,EAAOyK,OACrB,2BACGA,EADH,IACWmF,GAAY,8CAA2B,IAC/ChF,GAAU,kBAAC,GAAD,CAAajE,QAASiE,EAAOjE,WAE1C,kBAACZ,GAAA,EAAD,CAAUC,GAAI8gB,GACZ,2BAAI1U,EAAO6U,SAIjB,yBACEzmB,UACEuM,EAAQ1O,MACPyoB,EAAU,SAAWxpB,EAAM4G,SAAW,YAAc,KAGvD,kBAAC,KAAD,iBACM5G,EADN,CAEE4pB,QAAS5pB,EAAM4G,cAAW3oB,EAAY,KACtCwW,MAAOgsB,EACPoJ,QAAS,SAACjK,EAAOl7B,GAAR,OAlDK,SAACk7B,EAAel7B,GACpCwkC,GACE9V,EACE8V,EADW,UAGTE,GAAmBA,EAAgB5iC,OAAS,EACxC4iC,EADJ,WAEQ1kC,EAAKolC,YA2C0BC,CAAcnK,EAAOl7B,IAC5DqiB,SAAU,SAAC6Y,EAAOl7B,GAAR,OAvCK,SAACk7B,EAAel7B,GACrCwkC,GAAmB9V,EAAc8V,EAAD,WAAsBxkC,EAAKolC,WAC3D1W,EAAch0B,EAAMwgC,EAAMoK,MAAMtlC,EAAKolC,SAAStjC,SAqCAyjC,CAAerK,EAAOl7B,IAC9DwlC,OAAQ,kBAAqBtkC,EAAO+jC,WAlC1CL,EAAW,2BAAKnI,GAAN,kBAAgBnhC,EAAMZ,MAAO,MAmCjCquB,YAAaA,GAA4B,uBACzC4b,aAAcA,GAA8Bx6B,GAC5Cs7B,cAAY,EACZC,qBAAqB,EACrBC,kBAAkB,GAClBC,eAAe,+BChGnBtuB,GAAYC,cAAW,SAACC,GAAD,eAC3BkG,aAAa,CACX8R,eAAe,aACbjK,eAAgB,WAChBC,mBAAoB,SACpBC,iBAAkB,YAClBC,gBAAgB,QAAD,OAAUuJ,KAAV,OACdzX,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4N,gBAAiB,SAGrBf,SAAO,GACL1M,QAAS,OACTC,cAAe,SACfC,WAAY,SACZyI,UAAW,SACXvJ,QAAS,cAET,OAAQ,CACNU,OAAQ,WACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACftE,WAAYvB,EAAMwB,WAAWqc,mBAE/B,OAAQ,CACNtd,OAAQ,WACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1BK,WAAYvB,EAAMwB,WAAWmW,iBAE/B,OAAQ,CACNpX,OAAQ,WACRc,SAAU,GACV+H,UAAW,SACXvD,cAAe,SACf1F,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BrE,WAAY,IACZkD,QAAS,MA7BN,cA+BJzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,WAhCN,cAkCJG,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,OAAQ,CACNe,SAAU,IAEZ,OAAQ,CACNA,SAAU,IAEZ,OAAQ,CACNd,OAAQ,WACRc,SAAU,MA3CT,GA+CP+W,gBAAc,GACZ3X,QAAS,OACTC,cAAe,MACf2U,IAAK,OACL,WAAY,CACVnQ,OAAQ,OACR7D,SAAU,GACVE,WAAY,MAPF,cASXvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,WAAY,CACVe,SAAU,MAXF,cAcXrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,WAAY,CACV4E,OAAQ,OACR7D,SAAU,MAjBF,QA0EHgtB,GA3CmE,SAAC,GAK5E,IAJLhb,EAII,EAJJA,KACAkR,EAGI,EAHJA,YACAza,EAEI,EAFJA,MACAoZ,EACI,EADJA,SAEQlvB,EAAM+V,eAAN/V,EACFwS,EAAS1G,KAEf,OACE,kBAACgI,GAAA,EAAD,CACEoC,mBAAiB,kCACjBnC,KAAMsL,EACNC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTkJ,QAAS,CAAEN,MAAOzM,EAAOwR,iBAEzB,kBAACxN,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC/B,4BAAKnZ,EAAE,mDACP,4BAAKuwB,GACL,4BAAKvwB,EAAE,yDACP,yBAAKgT,UAAWR,EAAO4R,gBACrB,kBAAC,GAAD,CACEjY,MAAM,UACNyG,QAAQ,WACRsB,QAAS,kBAAM4B,MAEd9V,EAAE,gBAEL,kBAAC,GAAD,CACEmM,MAAM,UACNyG,QAAQ,YACRsB,QAAS,kBAAMgb,MAEdlvB,EAAE,gBClIFs6B,GAEJ,QAFIA,GAGN,MCQMC,GAAiB,SAC5B/Y,GAEY,IADZgZ,EACW,uDADS,IAEdC,EAAO,OAAGjZ,QAAH,IAAGA,OAAH,EAAGA,EAAOkZ,MAAM,WACvBC,EAAYF,EAAUA,EAAQ1+B,KAAKy+B,GAAa,GAEtD,OAAOG,GC6BH7uB,GAAYC,cAAW,SAACC,GAAD,cAAmB,CAC9CgN,UAAW,CACTvM,QAAS,OACTC,cAAe,SACfR,MAAO,OACP,OAAQ,CACNgF,OAAQ,OACR3E,OAAQ,UACRc,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZsD,UAAW,SACX7H,WAAYvB,EAAMwB,WAAWqc,mBAE/B,OAAQ,CACNtd,OAAQ,WACRc,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZsD,UAAW,QAEb,OAAQ,CACN7I,OAAQ,WACRc,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZsD,UAAW,UAEb,sBACEA,UAAW,OACX/H,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1BX,OAAQ,iBALV,cAMGP,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAPhB,cASG/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,IAVhB,IAcF6V,cAAe,CACbnX,QAAS,OACTC,cAAe,UAEjBkuB,OAAQ,CACNruB,OAAQ,QACR2E,OAAQ,OAEVrD,kBAAgB,GACdpB,QAAS,OACTC,cAAe,SACfC,WAAY,SACZuB,UAAW,SACXhC,MAAO,OALO,cAMbF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BwB,eAAgB,eAChB5B,MAAO,SARK,cAUbF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPU,aAAc,QAZF,GAehBiY,WAAY,CACV,WAAY,CACV1Y,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7Ba,UAAW,MACXkD,OAAQ,OACR3D,WAAY,IACZF,SAAU,GACVyD,cAAe,QACfpD,WAAY,0BAEd,UAAW,CACT+D,gBAAiB,cACjB,WAAY,CACVtF,MAAOH,EAAMiB,QAAQC,QAAQS,OAGjCC,eAAgB,OAChBwG,QAAS,QAEX2f,OAAQ,CACN/lB,WAAY,GACZoE,SAAU,YAEZyoB,oBAAqB,CACnBzoB,SAAU,WACV,MAAO,CACL/E,SAAU,GACVE,WAAY,IACZsE,cAAe,SACff,cAAe,YACf/C,WAAY,GACZ0C,QAAS,mBAGb+iB,UAAW,CACT,4BAA6B,CAC3BziB,aAAc,EACdG,OAAQ,KAGZ4pB,SAAU,CACRvuB,OAAQ,gBAmBVuR,GAKE9B,GALF8B,WACAD,GAIE7B,GAJF6B,gBACAD,GAGE5B,GAHF4B,MACAyF,GAEErH,GAFFqH,aACA3E,GACE1C,GADF0C,cAEM0E,GAAiBnH,GAAjBmH,aAEF2X,GAAgB9R,cACpB,SAACC,EAAKp5B,GACJ,IAAMkrC,EAAyBlrC,IAAUuzB,GAEzC,OAAO,2BACF6F,GACC8R,EAAa,eAAMlrC,EAAQszB,IAAd,eAAkCtzB,EAAQ,OAG/D,GACA+G,OAAOnB,OAAOsmB,KAGHif,GAAoC,SAAC,GAM3C,IALL7O,EAKI,EALJA,SACA8O,EAII,EAJJA,YACAC,EAGI,EAHJA,mBACAjM,EAEI,EAFJA,SACAt3B,EACI,EADJA,MACI,EACqB4B,GAA+B,CACtDpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,MACRC,IAAK,yCAA2CyC,KAL7CwjC,EADH,sBAUiC1hC,oBAAkB,GAVnD,mBAUG2hC,EAVH,KAUiBC,EAVjB,OAWkD5hC,mBAAS,CAC7Dg2B,OAAO,EACP6L,MAAM,IAbJ,mBAWGC,EAXH,KAWwBC,EAXxB,OAe8C/hC,mBAChDqhC,IAhBE,mBAeGW,EAfH,KAesBC,EAftB,KAmBJlxB,qBAAU,YACK,uCAAG,wCAAApW,EAAA,+EAEa+mC,IAFb,OAENQ,EAFM,SASRA,EAAWpnC,KALb8uB,EAJU,EAIVA,YACAiN,EALU,EAKVA,YACAlS,EANU,EAMVA,YACAxmB,EAPU,EAOVA,eACA4M,EARU,EAQVA,MAEFk3B,GAAqB,SAACE,GAAD,yBAAC,eACjBA,GADgB,IAEnBpC,OAAO,OAAClJ,QAAD,IAACA,IAAe,IAAI7wB,QAAQ,MAAO,IAC1Co8B,YAAW,OAAEzd,QAAF,IAAEA,IAAe,GAC5Bx0B,MAAK,OAAE4a,QAAF,IAAEA,IAAS,GAChBs3B,eAAc,OAAElkC,QAAF,IAAEA,IAAkB,GAClCmkC,KAAI,iBAAG1Y,QAAH,IAAGA,OAAH,EAAGA,EAAa+O,qBAAhB,QAAkDjP,QAExDkY,GAAa,GACbG,EAAuB,CACrB/L,MAAOjP,UAAU8P,KAAiBlS,GAClCkd,KAAM9a,SAAsB,OAAd5oB,QAAc,IAAdA,OAAA,EAAAA,EAAgBvB,QAAS,IAAU,OAALmO,QAAK,IAALA,OAAA,EAAAA,EAAOnO,QAAS,KArBlD,4GAAH,qDA0Bb2lC,KACC,CAACb,IAEJ,IAAM5oB,EAAS1G,KACPoN,EAAmC2D,GAAnC3D,OAAQ4D,EAA2BD,GAA3BC,UAAWC,EAAgBF,GAAhBE,IAAKM,EAAWR,GAAXQ,OACxBkP,EAAoBC,eAApBD,gBAnDJ,EAqDoC7yB,oBAAS,GArD7C,mBAqDGwiC,EArDH,KAqDiBC,EArDjB,OAyDAziC,oBAAS,GAzDT,mBAuDF0iC,EAvDE,KAwDFC,EAxDE,OA0D0B3iC,mBAAyB2iB,IA1DnD,mBA0DGoT,EA1DH,KA0DY6M,EA1DZ,OA4DuC9iC,GACzC,CACEpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,OACRC,IAAK,mCAlEP,mBA4DGg4B,EA5DH,KA4DoBoP,EA5DpB,KAuEEC,EAAY,uCAAG,WACnB9mC,EACA+mC,EACAC,GAHmB,iBAAAroC,EAAA,sEAKIooC,EAAa/mC,GALjB,OAKbq7B,EALa,OAOfrH,aAAQqH,KACJ4L,EAAa7X,GAAkBpvB,GACrCy3B,EAAgB,CACd34B,KAAK,2BACAmoC,GADD,IAEFb,YACgC,QAA9Ba,EAAWC,gBACXC,OAAOF,EAAWlD,OAAOnjC,OACrBqmC,EAAWb,YACX,OAGPjqC,MAAK,SAAA0C,GAAa,IACTC,EAASD,EAATC,KACR,GAAIA,EAAKsoC,qBACP3B,GAAsBA,EAAmB5mC,GACzC2mC,EAAYxlC,GAEVA,EAAOknC,iBAAmBtC,IACzBkB,EAAoB9L,MAIrBR,IAFAmN,GAA+B,OAI5B,CAAC,IAEJ1vC,EAMEF,uBANFE,iBACAD,EAKED,uBALFC,cACAE,EAIEH,uBAJFG,cACAC,EAGEJ,uBAHFI,kBACAC,EAEEL,uBAFFK,iBACAC,EACEN,uBADFM,2BAEF,OAAQyH,EAAKuoC,aACX,KAAKrwC,EACH6/B,EAAgB,mCAA0B,CACxC3Z,QAAS,UAEX8pB,EAAc5e,GAAY,oCAC1Bwe,EAAWjgB,IACX8f,GAAgB,GAChB,MACF,KAAKxvC,EACH4/B,EACE,6DACA,CACE3Z,QAAS,UAGb8pB,EACE7e,GACA,8DAEF6e,EACE5e,GACA,0DAEFwe,EAAWjgB,IACX,MACF,KAAKzvB,EACH2/B,EAAgB,yDAA2C,CACzD3Z,QAAS,UAEX8pB,EACE5e,GACA,0DAEFwe,EAAWjgB,IACX8f,GAAgB,GAChB,MACF,KAAKtvC,EACH0/B,EAAgB,8CAA0C,CACxD3Z,QAAS,UAEX8pB,EACE7e,GACA,+CAEFye,EAAWjgB,IACX8f,GAAgB,GAChB,MACF,KAAKrvC,EACHwvC,EAAWjgB,IACX8f,GAAgB,GAChB,MACF,KAAKpvC,EACHw/B,EACE,qKACA,CACE3Z,QAAS,UAGb8pB,EACEhe,GACA,sKAEF4d,EAAWjgB,IACX,MACF,QACEigB,EAAWjgB,IACXkQ,EAAgB5N,GAASiP,0BAA2B,CAClDhb,QAAS,eAKlB8a,OAAM,SAAAC,GACAA,EAAI33B,QAAyB,MAAf23B,EAAI33B,QACrBu2B,EAAgB5N,GAASiP,0BAA2B,CAClDhb,QAAS,UAIb1gB,aAAkB,SAACq3B,EAAKl5B,GACtBqsC,EAAcrsC,EAAek5B,GAC7BgD,EAAgBhD,EAAK,CACnB3W,QAAS,YAEV+a,EAAIp5B,cA9HM,2CAAH,0DA2JlB,OACE,yBAAKye,UAAWR,EAAOwG,WACrB,kBAAC,KAAD,CACE+X,SAAU,SAAAr7B,GAAM,OA3BO,SAACA,GAC5B,IAAMkvB,EAAqC,GAoB3C,OAnBIlvB,EAAOsmC,OAAS/f,GAAaiC,aACP,KAApBxoB,EAAOsnC,SACTpY,EAAOoY,SAAW,qBACRpe,GAAMqe,MAAK,SAAAC,GAAI,OAAIxnC,EAAOsnC,WAAaE,OACjDtY,EAAOoY,SAAW,8DAGQ,KAA1BtnC,EAAOknC,iBACThY,EAAOgY,eAAiB,0CAEL,KAAjBlnC,EAAO+jC,OAAgB/jC,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,QAE/C,KAAjB7O,EAAO+jC,QACN0D,aAAmB,GAAD,OAAIznC,EAAOomC,aAAX,OAAyBpmC,EAAO+jC,SACnD/jC,EAAO+jC,MAAMtoC,WAAWmF,OAAS,KAEjCsuB,EAAO6U,MAAQ,iCAGZ7U,EAMiBwY,CAAqB1nC,IACzCqlC,cAAerR,aAAQ0C,GAAYsP,EAAoBtP,EACvDiR,oBAAkB,EAClBnvC,SAAU,eAET,gBACCg1B,EADD,EACCA,cACAoa,EAFD,EAECA,WACAjM,EAHD,EAGCA,cACAE,EAJD,EAICA,aACA77B,EALD,EAKCA,OACA+mC,EAND,EAMCA,aACAC,EAPD,EAOCA,cAPD,OASC,oCACE,kBAAC,KAAD,CAAM1pB,UAAWR,EAAOoR,eACtB,4BAAK1K,GACL,4BAAK4D,GACL,uBAAG9J,UAAU,eAAe+J,EAAIC,aAChC,kBAAC,GAAD,CACE9tB,KAAM8sB,GAAWuhB,iBACjBtgB,MAAOF,EAAIE,MACXgZ,QAAS1Z,GACTa,OAAQL,EAAII,QAAQC,OACpBzqB,MAAOoqB,EAAIG,aAEZG,EAAO1mB,KAAI,SAAC6qB,EAAO9c,GAAW,IACrBxV,EAASsyB,EAATtyB,KACR,OACE,kBAAC,WAAD,CAAUmB,IAAKnB,GACF,IAAVwV,GAAyB,IAAVA,EACd,kBAAC,GAAD,CACE8c,MAAK,2BAAOA,GAAP,IAAca,QAASmZ,EAAoBD,OAChDlK,cAAeA,IAGjB,kBAAC,GAAD,CACE7P,MAAOA,EACP6P,cAAeA,IAGlB7P,EAAM7D,kBAAoBC,GACzB,kBAAC,GAAD,CACE1uB,KAAMkvB,GAAgBlvB,KACtB8pC,gBAAiB5a,GAAgBC,YACjCpB,MAAOmB,GAAgBhwB,MACvBmvB,YAAaa,GAAgBb,YAC7B0b,qBAAsB4D,OAAOnnC,EAAO+jC,OACpCP,gBAAiB2D,OAAOnnC,EAAOomC,aAC/BplB,SAAU8kB,EAAoB9L,MAC9BtN,SACE1sB,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,QAG3C,KACHid,EAAM7D,kBAAoBG,GACzB,kBAAC,GAAD,CACEuT,cAAeA,EACfE,aAAcA,EACdrO,cAAeA,IAEf,KACH1B,EAAM7D,kBAAoBG,IAC3BuT,EAAchO,IAAc9e,QAC1B0X,GAAaiC,YACdmd,EAKG,KAJF,kBAAC,GAAD,CACE7Z,MAAO/C,GACP4S,cAAeA,QAMzB,kBAAC9Y,GAAA,EAAD,CACEC,GACE6Y,EAAchO,IAAc9e,QAAU0X,GAAaiC,YAGrD,uBAAGlL,UAAWR,EAAOsoB,UACnB,kBAAC,WAAD,KACG/c,GAAsBpnB,KAAI,SAAA6qB,GAAU,IAC3BtyB,EAASsyB,EAATtyB,KACR,OACE,kBAAC,WAAD,CAAUmB,IAAKnB,GACb,kBAAC,GAAD,CACEsyB,MAAOA,EACP6P,cAAeA,QAKvB,kBAAC,GAAD,CACEniC,KAAK,WACL+mC,QAASrX,GACTuX,UAAW,SAAAvM,GACT,cAAOA,QAAP,IAAOA,IAAQ,IAEjByM,UAAU,EACVE,kBAAmB,SAACvyB,EAAQO,GAC1B,OAAOP,IAAWO,GAEpBkyB,cAAe,SAAC5sB,EAAOtF,EAAO6R,GAC5B8M,EAAc,WAAY3e,IAE5B0Y,MAAM,UACNqZ,aAAc5gC,EAAOsnC,SACrBz4B,MAAO7O,EAAOsnC,SACdzd,QAAS,CACPwU,OAAQvhB,EAAOuhB,OACfljB,KAAM2B,EAAOqoB,oBACbrH,UAAWhhB,EAAOghB,WAEpBkD,mBAAmB,+CACnBhC,cAAe1K,GAAc2K,SAKrC,kBAAC,GAAD,MACA,kBAACpc,GAAA,EAAD,CAAUC,GAAI+jB,GACZ,kBAACiB,GAAA,EAAD,CAAgBxqB,UAAWR,EAAOooB,UAEpC,yBAAK5nB,UAAWR,EAAO3E,kBACrB,kBAACkc,GAAD,CACEj8B,KAAK,SACL8kB,QAAQ,YACRzG,MAAM,UACN+H,QAAO,sBAAE,sBAAA7f,EAAA,sEACDipC,IADC,uBAEDd,EAAa9mC,EAAQ+mC,EAAcC,GAFlC,4CAJX,SAWA,kBAAC,IAAD,CAAM5uC,KAAK,SAASgY,GAAG,IAAIkN,UAAWR,EAAOqS,YAC3C,kBAAC,KAAD,CAAQjS,QAAQ,QAAhB,oBAOZ,kBAAC,GAAD,CACEyM,KAAM6c,EACNpmB,MAAO,kBAAMqmB,GAAgB,IAC7B1M,QAASA,IAEX,kBAAC,GAAD,CACEpQ,KAAM+c,EACNtmB,MAAO,kBAAMumB,GAA+B,IAC5C9L,YAAW,UAAKnE,EAAS0P,YAAd,YAA6BvB,GACtCsC,OAAOzQ,EAASqN,SAElBvK,SAAUA,M,qBC5jBZpjB,GAAYC,cAAW,SAACC,GAAD,cAAmB,CAC9Cqb,SAAO,GACL9a,OAAQ,EACRV,QAAS,EACTY,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SAEZ,gBAAiB,CACfT,MAAO,OAGT,eAAgB,CACd4B,eAAgB,WAChB5B,MAAO,MACP,QAAS,CACPE,SAAU,OACVwL,UAAW,UAhBV,cAoBJ5L,EAAMK,YAAYsf,KAAK,MAAQ,CAC9B,gBAAiB,CACfzf,MAAO,OAET,eAAgB,CACdA,MAAO,SAzBN,cA6BJF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,gBAAiB,CACfwB,eAAgB,SAChB5B,MAAO,QAET,eAAgB,CACdA,MAAO,EACPO,QAAS,UApCR,GAwCPgxB,mBAAiB,GACfhxB,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZmN,UAAW,QACX5N,MAAO,QACPL,QAAS,YACTU,OAAQ,OACRwE,aAAc,MACdU,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCN,UACE,wEAXa,cAadhF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,OACTU,OAAQ,SAfK,cAiBdP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,cAlBK,cAoBdP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,OACTU,OAAQ,SAtBK,OCrDnB,SAAS,KAA2Q,OAA9P,GAAW1V,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,kCAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,oBACJ,YAAa,qBACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,gBACX3D,EAAG,6FACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,2DACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,qDACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,mNAGD,GAAkB,SAAyBO,GAC7C,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAiB,GAAS,CAChES,OAAQQ,GACPP,OAEU,IC3Cf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,kCAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,qBACJ,YAAa,sBACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,gBACX3D,EAAG,2HACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,+FACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,sHACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,mHACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,uIACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,wIACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,gBACX3D,EAAG,mJAGD,GAAkB,SAAyBO,GAC7C,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAiB,GAAS,CAChES,OAAQQ,GACPP,OAEU,ICpDf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,OAAQ,CAClGrf,GAAI,SACJmc,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,IACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,oBACb3tC,GAAI,YACU,IAAMqf,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,yBACa,IAAMpJ,cAAc,OAAQ,CAC7Crf,GAAI,SACJmc,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,GACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,oBACb3tC,GAAI,YACU,IAAMqf,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,yBACa,IAAMpJ,cAAc,OAAQ,CAC7Crf,GAAI,SACJmc,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,GACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,oBACb3tC,GAAI,YACU,IAAMqf,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,0BAGF,GAAqB,IAAMpJ,cAAc,IAAK,CAChDrf,GAAI,kBACJid,KAAM,QACQ,IAAMoC,cAAc,IAAK,CACvCrf,GAAI,QACJ8oB,UAAW,uBACG,IAAMzJ,cAAc,OAAQ,CAC1ClD,MAAO,KACPgF,OAAQ,KACRlE,KAAM,YACS,IAAMoC,cAAc,IAAK,CACxCrf,GAAI,YACU,IAAMqf,cAAc,IAAK,CACvCrf,GAAI,aACU,IAAMqf,cAAc,MAAO,CACzCvf,OAAQ,iBACRmuC,UAAW,UACXhxB,KAAM,UACS,IAAMoC,cAAc,MAAO,CAC1C4uB,UAAW,UACXhxB,KAAM,UACU,IAAMoC,cAAc,IAAK,CACzCrf,GAAI,uBACU,IAAMqf,cAAc,OAAQ,CAC1CC,EAAG,kcACHtf,GAAI,WACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,8IACHtf,GAAI,WACJid,KAAM,WACW,IAAMoC,cAAc,IAAK,CAC1Crf,GAAI,YACU,IAAMqf,cAAc,IAAK,CACvCrf,GAAI,YACU,IAAMqf,cAAc,IAAK,CACvCrf,GAAI,aACU,IAAMqf,cAAc,MAAO,CACzCvf,OAAQ,iBACRmuC,UAAW,UACXhxB,KAAM,UACS,IAAMoC,cAAc,MAAO,CAC1C4uB,UAAW,UACXhxB,KAAM,UACU,IAAMoC,cAAc,IAAK,CACzCrf,GAAI,uBACU,IAAMqf,cAAc,OAAQ,CAC1CC,EAAG,kcACHtf,GAAI,WACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,8IACHtf,GAAI,WACJid,KAAM,WACW,IAAMoC,cAAc,IAAK,CAC1Crf,GAAI,aACU,IAAMqf,cAAc,MAAO,CACzCvf,OAAQ,iBACRmuC,UAAW,UACXhxB,KAAM,UACS,IAAMoC,cAAc,MAAO,CAC1C4uB,UAAW,UACXhxB,KAAM,UACU,IAAMoC,cAAc,IAAK,CACzCrf,GAAI,6BACU,IAAMqf,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,GACHC,EAAG,IACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,iBACJid,KAAM,WACQ,IAAMoC,cAAc,OAAQ,CAC1CC,EAAG,kkBACHtf,GAAI,eAGF,GAAkB,SAAyB6f,GAC7C,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,GACPgF,OAAQ,GACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAiB,GAAS,CAChES,OAAQQ,GACPP,OAEU,IC3Pf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,OAAQ,CAClGlD,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,GACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,qBACC,IAAMtuB,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,yBACa,IAAMpJ,cAAc,OAAQ,CAC7ClD,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,GACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,qBACC,IAAMtuB,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,yBACa,IAAMpJ,cAAc,OAAQ,CAC7ClD,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,GACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,qBACC,IAAMtuB,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,yBACa,IAAMpJ,cAAc,SAAU,KAAmB,IAAMA,cAAc,gBAAiB,CACvGoJ,GAAI,gBACJ1qB,KAAM,SACN4H,OAAQ,yEACQ,IAAM0Z,cAAc,OAAQ,CAC5ClD,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,GACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,qBACC,IAAMtuB,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,yBACa,IAAMpJ,cAAc,OAAQ,CAC7ClD,MAAO,IACPgF,OAAQ,OACO,IAAM9B,cAAc,SAAU,CAC7CW,GAAI,IACJC,GAAI,GACJ9D,MAAO,MACPgF,OAAQ,MACRwsB,YAAa,qBACC,IAAMtuB,cAAc,WAAY,CAC9CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,eAAgB,CACnD0uB,OAAQ,IACRC,SAAU,SACVvlB,GAAI,cACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,WAAY,CAC/CuuB,GAAI,EACJC,GAAI,EACJplB,GAAI,qBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,iBAAkB,CACrDyuB,aAAc,IACdrlB,GAAI,qBACJ1mB,OAAQ,qBACO,IAAMsd,cAAc,gBAAiB,CACpD1Z,OAAQ,gFACR5H,KAAM,SACN0qB,GAAI,mBACJ1mB,OAAQ,uBACO,IAAMsd,cAAc,UAAW,KAAmB,IAAMA,cAAc,cAAe,CACpGoJ,GAAI,uBACW,IAAMpJ,cAAc,cAAe,CAClDoJ,GAAI,0BAGF,GAAqB,IAAMpJ,cAAc,OAAQ,CACnDlD,MAAO,KACPgF,OAAQ,KACRlE,KAAM,YAGJ,GAAqB,IAAMoC,cAAc,MAAO,CAClDvf,OAAQ,iBACRmuC,UAAW,UACXhxB,KAAM,UAGJ,GAAqB,IAAMoC,cAAc,MAAO,CAClD4uB,UAAW,UACXhxB,KAAM,SAGJ,GAAqB,IAAMoC,cAAc,MAAO,CAClDvf,OAAQ,kBACRmuC,UAAW,WACXhxB,KAAM,UAGJ,GAAqB,IAAMoC,cAAc,MAAO,CAClD4uB,UAAW,WACXhxB,KAAM,SAGJ,GAAqB,IAAMoC,cAAc,OAAQ,CACnDW,EAAG,GACHC,EAAG,IACH9D,MAAO,GACPgF,OAAQ,KAGN,GAAqB,IAAM9B,cAAc,IAAK,CAChDpC,KAAM,WACQ,IAAMoC,cAAc,OAAQ,CAC1CC,EAAG,qrFAGD,GAAqB,SAA4BO,GACnD,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,GACPgF,OAAQ,GACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAoB,IAAMghB,cAAc,IAAK,CAC7HpC,KAAM,QACQ,IAAMoC,cAAc,IAAK,CACvCyJ,UAAW,uBACV,GAAO,GAAO,GAAoB,IAAMzJ,cAAc,IAAK,CAC5Dc,MAAO,CACLlD,KAAM,UACNyD,QAAS,MAET,GAAO,GAAO,GAAO,OAGvB,GAA0B,IAAMF,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAoB,GAAS,CACnES,OAAQQ,GACPP,OAEU,ICxTf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,ICRY6vB,GAMAC,GAMAC,GDJR,GAAqB,IAAM/uB,cAAc,IAAK,CAChDpC,KAAM,QACQ,IAAMoC,cAAc,OAAQ,CAC1ClD,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCpC,KAAM,WACQ,IAAMoC,cAAc,OAAQ,CAC1CC,EAAG,iiBAGD,GAAqB,SAA4BO,GACnD,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,GACPgF,OAAQ,GACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAoB,GAAS,CACnES,OAAQQ,GACPP,OE/BQsuB,IFiCE,IEjCoB,SAAC9uC,GAAD,OAAsBA,EAAM2R,SAOlDo9B,IAL0B5oC,aACrC2oC,IACA,SAAA9uC,GAAK,OAAIA,EAAMoD,eAAiB,KAGD+C,aAC/B2oC,IACA,SAAA9uC,GAAK,OAAIA,EAAM2R,WAGJq9B,GAA2B7oC,aACtC4oC,IACA,SAAAp9B,GACE,IAAMs9B,EAAc,OAAGt9B,QAAH,IAAGA,OAAH,EAAGA,EACnBpR,QAAO,SAAA+5B,GAAI,OAAIA,EAAK4U,OAAOvB,MAAK,SAAArT,GAAI,MAAkB,YAAdA,EAAK7W,WAC9Cpc,KAAI,SAAAizB,GAAI,kCACJA,GADI,IAEP4U,OAAQ5U,EAAK4U,OAAO3uC,QAAO,SAAA+5B,GAAI,MAAkB,YAAdA,EAAK7W,aAE5C,cAAOwrB,QAAP,IAAOA,OAAP,EAAOA,EAAgBE,MAAK,SAACpqC,EAAGqqC,GAAJ,OAAUrqC,EAAEsqC,cAAgBD,EAAEC,oBAIjDC,GAAiC,SAAC9wC,GAAD,OAC5C2H,aACE6oC,IACA,SAAAr9B,GAAM,OACJA,GACAA,EACGpR,QAAO,SAAA+5B,GAAI,OAAIA,EAAK4U,OAAOvB,MAAK,SAAArT,GAAI,OAAIA,EAAK97B,OAASA,QACtD6I,KAAI,SAAAizB,GAAI,kCACJA,GADI,IAEP4U,OAAQ5U,EAAK4U,OAAO3uC,QAAO,SAAA+5B,GAAI,OAAIA,EAAK97B,OAASA,cCtC3D,SAAS,KAA2Q,OAA9P,GAAW+I,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,G,SFFvd6vB,K,8BAAAA,E,0BAAAA,E,4BAAAA,Q,cAMAC,K,cAAAA,E,YAAAA,E,iBAAAA,Q,cAMAC,K,gBAAAA,E,mBAAAA,Q,KEJZ,IAAI,GAAqB,IAAM/uB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,gBACJ8oB,UAAW,wCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,oBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,QACJ6oB,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,MACHC,EAAG,MACH9D,MAAO,QACPgF,OAAQ,KACR4H,GAAI,KACW,IAAM1J,cAAc,OAAQ,CAC3CC,EAAG,wlBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,qQACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,kUACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,+SACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,uPACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,0QACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,gQACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,8TACHtf,GAAI,OACJid,KAAM,iBAGJ,GAAc,SAAqB4C,GACrC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAa,GAAS,CAC5DS,OAAQQ,GACPP,OAEU,IC7Ff,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,yDACJ8oB,UAAW,wCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,WACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,mBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,sBACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,KACHC,EAAG,OACH9D,MAAO,OACPgF,OAAQ,SACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,+lCACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,8ZACHtf,GAAI,OACJid,KAAM,iBAGJ,GAAU,SAAiB4C,GAC7B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAS,GAAS,CACxDS,OAAQQ,GACPP,OAEU,ICrEf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,oJAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,YACJ,YAAa,aACC,IAAMqf,cAAc,IAAK,CACvCrf,GAAI,cACJ,YAAa,aACC,IAAMqf,cAAc,OAAQ,CAC1Crf,GAAI,YACJijB,UAAW,gBACX9G,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,OACJijB,UAAW,gBACX3D,EAAG,kEACY,IAAMD,cAAc,OAAQ,CAC3Crf,GAAI,SACJ,YAAa,OACbijB,UAAW,gBACX3D,EAAG,sJACY,IAAMD,cAAc,SAAU,CAC7Crf,GAAI,OACJijB,UAAW,gBACX1D,GAAI,KACJC,GAAI,KACJC,EAAG,MACY,IAAMJ,cAAc,OAAQ,CAC3Crf,GAAI,QACJijB,UAAW,gBACX3D,EAAG,oMAGD,GAAa,SAAoBO,GACnC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAY,GAAS,CAC3DS,OAAQQ,GACPP,OAEU,IC1Df,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,ICRKywB,GDQD,GAAqB,IAAMzvB,cAAc,IAAK,CAChDrf,GAAI,gBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,WACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,kiBACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN+C,EAAG,KACHC,EAAG,KACH9D,MAAO,MACPgF,OAAQ,OACO,IAAM9B,cAAc,OAAQ,CAC3CC,EAAG,y8CACHtf,GAAI,QACJid,KAAM,cAGJ,GAAY,SAAmB4C,GACjC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAW,GAAS,CAC1DS,OAAQQ,GACPP,OElDU/D,IFoDA,IEpDAA,cAAW,SAACC,GAAD,MAAmB,CAC3C8yB,KAAM,CACJ5yB,MAAO,OACPgF,OAAQ,OACRnE,YAAaf,EAAMa,QAAQ,GAC3BuF,SAAU,WACVqD,SAAU,IACV,eAAgB,CACd1I,YAAa,GAEflB,QAASG,EAAMa,QAAQ,EAAG,MAE5BqM,OAAO,aACLzM,QAAS,OACTqB,eAAgB,gBAChBT,SAAU,GACVxB,QAASG,EAAMa,QAAQ,EAAG,GAC1BF,WAAY,SACZC,aAAcZ,EAAMa,QAAQ,GAC5B8a,WAAY,SACZ,MAAO,CACL5a,YAAaf,EAAMa,QAAQ,GAC3BU,WAAY,IACZpB,MtGlBwB,WsGoB1B,QAAS,CACPM,QAAS,SAEVT,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfC,WAAY,eAGhBve,MAAO,CACLqe,QAAS,OACTE,WAAY,UAEd+H,KAAM,CACJxD,OAxCc,GAyCdhF,MAzCc,GA0CduJ,SA1Cc,GA2CdqE,UA3Cc,GA4Cd/M,YAAaf,EAAMa,QAAQ,GAC3BG,KAAMhB,EAAMiB,QAAQC,QAAQC,MAE9BwhB,IAAK,CACH5K,WAAY/X,EAAMa,QAAQ,GAC1BV,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BnF,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,YAEdwM,QAAS,CACP9L,SAAU,GACVsa,WAAY,SACZ5V,SAAU,SACVgtB,aAAc,WACdtyB,QAAS,SAEXmuB,OAAQ,CACN5sB,UAAWhC,EAAMa,QAAQ,GACzBuF,SAAU,WACVzG,IAAK,MACLzC,KAAM,MACN2P,UAAW,oBAEbsG,IAAI,aACFjT,MAxEc,IAyEd4N,UAxEmB,GAyEnBtE,YAAaxJ,EAAMa,QAAQ,GAC3BgX,aAAc7X,EAAMa,QAAQ,GAC5B8a,WAAY,UACX3b,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACP8B,UAAWhC,EAAMa,QAAQ,KAG7BmyB,aAAc,CACZjxB,WAAY/B,EAAMa,QAAQ,SC9DjBoyB,GAAqD,SAAC,GAe5D,IAdLC,EAcI,EAdJA,KACAC,EAaI,EAbJA,SACA/wC,EAYI,EAZJA,MACAmkB,EAWI,EAXJA,SACA5Y,EAUI,EAVJA,QAUI,IATJylC,qBASI,SARJC,EAQI,EARJA,cACAC,EAOI,EAPJA,WACAC,EAMI,EANJA,uBACAC,EAKI,EALJA,oBACAC,EAII,EAJJA,cAII,IAHJ3lB,iBAGI,MAjByC,IAiBzC,EAFJ4lB,EAEI,EAFJA,YACAC,EACI,EADJA,iBAEMntB,EAAS1G,KACTsL,EAAYH,KAAkBtd,GAE9BimC,EAAiBjsB,mBAAQ,WAC7B,OAAOwrB,EACH,CACE1pB,SAAU0pB,EACVrlB,UAAWqlB,EACXU,MAAOV,EACPW,OAAQX,GAEV,KACH,CAACA,IAEJ,OACE,kBAACv1C,GAAA,EAAD,CACEgpB,QAAQ,WACRI,UAAWR,EAAOssB,KAClB5uB,MAAOyvB,EAAmB,CAAE7lB,UAAW6lB,GAAqB,KAE1DP,GACA,kBAACW,GAAA,EAAD,CAAMvnB,GAAIpB,GACR,yBAAKpE,UAAWR,EAAOooB,QACpBxjB,GAAa,kBAACtE,GAAA,EAAD,QAIpB,yBAAKE,UAAS,UAAKR,EAAO0G,OAAZ,YAAsBwmB,GAAe,KACjD,yBAAK1sB,UAAWR,EAAOpkB,OACpB,kBAAC8wC,EAAD,CAAMlsB,UAAWR,EAAOkC,KAAMxE,MAAO0vB,IACtC,2BAAIxxC,IAEN,6BACGkxC,GAAcD,GACb,kBAAC,GAAD,CACEzsB,QAAQ,WACRsB,QAAS,kBAAMmrB,KACftsB,KAAK,QACLC,UAAWR,EAAO2M,IAClBhT,MAAM,WAELmzB,GAGJE,GAAuBD,GACtB,kBAAC,GAAD,CACE3sB,QAAQ,WACRsB,QAAS,kBAAMqrB,KACfxsB,KAAK,QACLC,UAAS,UAAKR,EAAO2M,IAAZ,YAAmB3M,EAAOwsB,cACnC7yB,MAAM,WAELqzB,IAGHpoB,IAAD,OAAeqoB,QAAf,IAAeA,IAAiB,QAGrC,yBAAKvvB,MAAO,CAAE4J,cACXslB,EACC,oCAAG7sB,GAEH,kBAACgG,GAAA,EAAD,CAAUC,IAAKpB,GACb,qCAAIA,GAAa7E,OCpGdxG,iBAAW,SAAAC,GAAK,MAAK,CAClCiN,QAAS,CACP/M,MAAO,OACP2I,UAAW,aACX,sBAAuB,CACrBW,YAAaxJ,EAAMa,QAAQ,KAE7B,qBAAsB,CACpBgX,aAAc7X,EAAMa,QAAQ,IAC5BiX,YAAa,yBAEfjY,QAASG,EAAMa,QAAQ,GAAI,KAE7Bze,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,exGP0B,UwGQ1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,IAE9BuX,eAAe,aACbL,WAAY/X,EAAMa,QAAQ,GAC1BJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,cC/BAH,iBAAW,SAAAC,GAAK,MAAK,CAClCiN,QAAS,CACPxM,QAAS,OACTqB,eAAgB,SAChBE,UAAWhC,EAAMa,QAAQ,QCMhBmzB,GAAkC,SAAC,GAMzC,IALHC,EAKE,EALFA,WACAC,EAIE,EAJFA,WACA/xC,EAGE,EAHFA,SACAD,EAEE,EAFFA,SAEE,IADFwoB,gBACE,SACElE,EAAS1G,KACf,OACE,yBAAKkH,UAAWR,EAAOyG,SACrB,kBAAC,GAAD,CAAQ/E,QAAS/lB,GAAW8xC,GAC5B,kBAAC,GAAD,CAAQnyC,KAAK,OAAOknB,QAAM,EAACd,QAAShmB,EAAUwoB,SAAUA,GACrDwpB,K,wCCrBMn0B,iBAAW,SAACC,GAAD,MAAmB,CAC3Cm0B,WAAY,CACVt0B,QAAS,GAEXu0B,YAAa,CACXv0B,QAAS,EACTmC,UAAWhC,EAAMa,QAAQ,GACzB,eAAgB,CACdqI,cAAe,GAEjB7H,SAAU,IAEZgzB,UAAW,CACTx0B,QAAS,iBACTwB,SAAU,GACV6D,OAAQ,GACRzE,QAAS,OACTE,WAAY,UAEd2zB,OAAQ,CACNp0B,MAAO,GACPgF,OAAQ,GACRO,gBAAiB,UACjB5F,QAASG,EAAMa,QAAQ,GACvBkE,aAAc,GAEhBwvB,gBAAiB,CACfr0B,MAAO,GACPgF,OAAQ,GACRnE,YAAaf,EAAMa,QAAQ,IAE7Bze,MAAO,CACLmf,WAAYvB,EAAMwB,WAAWC,gBAE/B+yB,cAAe,CACb5zB,aAAcZ,EAAMa,QAAQ,GAC5BQ,SAAU,IAEZpT,OAAQ,CACNsT,WAAY,IACZF,SAAU,IAEZozB,OAAQ,CACNruB,SAAU,WACVzG,IAAK,GACLxC,MAAO,EACP+C,MAAO,GACPgF,OAAQ,GACR/E,M3G/B0B,e4GDjBu0B,GAAoE,SAAC,GAQ3E,IAPLzmC,EAOI,EAPJA,OACA0mC,EAMI,EANJA,SACAjqB,EAKI,EALJA,SACAjU,EAII,EAJJA,QAII,IAHJm+B,gBAGI,SAFJ5tB,EAEI,EAFJA,UAEI,IADJ6tB,aACI,SACEruB,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAER,OACE,kBAAC,IAAMw3B,SAAP,KACE,kBAACsJ,GAAA,EAAD,CAAM9tB,UAAWA,GACd6tB,EACC,kBAACE,GAAA,EAAD,CAAa/tB,UAAWR,EAAO6tB,WAC7B,0BAAMrtB,UAAS,UAAKR,EAAO8tB,OAAZ,YAAsB9tB,EAAO+tB,kBAC1C,kBAAC,GAAD,OAEF,8BACGvgC,EAAE,0DAIP,oCACE,kBAACghC,GAAA,EAAD,CACEV,OACE,yBAAKttB,UAAWR,EAAO8tB,QACrB,kBAAC,GAAD,OAGJlyC,MACE6L,EACE,yBAAK+Y,UAAWR,EAAOpkB,OACrB,yBAAK4kB,UAAWR,EAAOguB,eACpBxgC,EAAE,8BAEL,yBAAKgT,UAAWR,EAAOvY,QAASA,IAGlC,GAGJzK,OACEoxC,GACE,kBAACK,GAAA,EAAD,CACE/sB,QAAS,kBAAMysB,GAAYA,KAC3BjqB,SAAUA,EACV1D,UAAWR,EAAOiuB,QAElB,kBAAC,KAAD,OAINztB,UAAWR,EAAO2tB,aAEpB,kBAACY,GAAA,EAAD,CAAa/tB,UAAWR,EAAO4tB,aAAc39B,OCpEnDy+B,GACJ,2GAIan1B,iBAAW,SAACC,GAAD,MAAmB,CAC3CyY,aAAc,CACZvY,MAAM,GAAD,OARyB,IAQzB,iBACRgF,OAAQ,MACL0G,UAAU,GAAD,OANsB,IAMtB,OAEXijB,oBAAqB,CACnBrlB,YDHsC,ICKxC6iB,qBAAsB,CACpBnsB,MAhB8B,IAiBPF,EAAMa,QAAQ,IDPC,GCQtCmB,UAAWhC,EAAMa,QAAQ,GACzBiN,UAAW,KAEbqnB,yBAA0B,CACxBj1B,MAtB8B,IAsBFF,EAAMa,QAAQ,KAE5CyrB,qBAAsB,CACpBvnB,aAAc,EACdC,UAAWkwB,IAEbE,mBAAoB,CAElBl1B,MAAM,GAAD,OA9ByB,IA+BPF,EAAMa,QAAQ,IDrBC,GCoBjC,iBAGL,2BAA4B,CAC1BhB,QAAS,EACTmC,WAAY,KAEd,6BAA8B,CAC5B4J,UAAW,KAEb,yBAA0B,CACxB5G,UAAW,OACXI,OAAO,eAAD,O7G3Ce,a6G8CzBiwB,aAAc,CACZl1B,M7G9C4B,U6G+C5B2E,cAAe,YACfzD,SAAU,GACVE,WAAY,IACZuE,WAAY,OACZD,cAAe,KAEjByvB,yBAA0B,CACxB,8BAA+B,CAC7BtwB,UAAW,QAEb9E,MAzD8B,IA0DPF,EAAMa,QAAQ,IDhDC,GCiDtCkE,aAAc,EACdC,UAAWkwB,GACXr1B,QAASG,EAAMa,QAAQ,GACvBuF,SAAU,YAEZmvB,6BAA8B,CAC5Br1B,MAjE8B,IAiEFF,EAAMa,QAAQ,IAC1CmE,UAAWkwB,GACXr1B,QAASG,EAAMa,QAAQ,GACvBuF,SAAU,gB,UCvDCovB,GAdgC,SAAC,GAIzC,IAHHvkB,EAGE,EAHFA,MACAwkB,EAEE,EAFFA,QACG3xB,EACD,oCACJ,OACE,kBAAC4xB,GAAA,EAAD,eACED,QAASA,EACTxkB,MAAOA,GACHnN,K,6BTfL+uB,O,aAAAA,I,aAAAA,I,gBAAAA,Q,KAMUA,IUNV8C,GVMU9C,MWHA9yB,iBAAW,SAACC,GAAD,MAAmB,CAC3CiN,QAAS,CACPrM,aAAcZ,EAAMa,QAAQ,IAE9B+0B,WAAY,CACVz1B,MhHK0B,UgHJ1BkB,SAAU,GACVoD,QAAS,IACTqB,WAAY,OACZD,cAAe,IACfjF,aAAcZ,EAAMa,QAAQ,IAE9Bve,KAAM,CACJ6d,MhHH0B,UgHI1BsE,QAAS,IACTpD,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,IACfC,WAAY,OACZrF,QAAS,gBAEXmd,KAAM,CACJ/d,QAASG,EAAMa,QAAQ,EAAG,KAC1BiX,YAAa,uBAEfrmB,oBAAqB,CACnB,MAAO,CACLoO,QAAS,EACTuF,OAAQ,QAEVpD,UAAWhC,EAAMa,QAAQ,IAE3B8hB,IAAK,CACH,mBAAoB,CAClBnZ,YAAa,GAEf,kBAAmB,CACjBqO,aAAc,EACdC,YAAa,aC1BN+d,GAA8B,SAAC,GAMrC,IALL1kC,EAKI,EALJA,QAKI,IAJJ2kC,oBAII,MAJW,GAIX,MAHJ9uB,iBAGI,MAHQ,GAGR,EAFJvV,EAEI,EAFJA,oBAGQuC,GADJ,EADJ+hC,iBAEchsB,eAAN/V,GACFwS,EAAS1G,KAEf,OACE,yBAAKkH,UAAS,UAAKR,EAAOyG,QAAZ,YAAuBjG,IACnC,kBAACqhB,GAAA,EAAD,CAAYrhB,UAAW8uB,GAAgBA,GACpC9hC,EAAE,gCAEL,kBAACo0B,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWR,EAAOmc,KAChC,kBAACyF,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,EAAGhvB,UAAWR,EAAOoX,MAClC,kBAACyK,GAAA,EAAD,CAAYrhB,UAAWR,EAAOovB,YAC3B5hC,EAAE,wCAGP,kBAACo0B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,EAAGhvB,UAAWR,EAAOoX,MAClC,kBAACyK,GAAA,EAAD,CAAYrhB,UAAWR,EAAOovB,YAC3B5hC,EAAE,sCAGP,kBAACo0B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,EAAGhvB,UAAWR,EAAOoX,MAClC,kBAACyK,GAAA,EAAD,CAAYrhB,UAAWR,EAAOovB,YAC3B5hC,EAAE,yCAIT,kBAACo0B,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWR,EAAOmc,KAChC,kBAACyF,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,EAAGhvB,UAAWR,EAAOoX,MAClC,0BAAM5W,UAAWR,EAAOlkB,MAAxB,OAA+B6O,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAStF,iBAE1C,kBAACu8B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,EAAGhvB,UAAWR,EAAOoX,MAClC,0BAAM5W,UAAWR,EAAOlkB,MAAxB,OAA+B6O,QAA/B,IAA+BA,OAA/B,EAA+BA,EAASjO,OAE1C,kBAACklC,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,EAAGhvB,UAAWR,EAAOoX,MAClC,0BAAM5W,UAAWR,EAAOlkB,MAAxB,OACI6O,QADJ,IACIA,OADJ,EACIA,EAASS,kBAEb,0BAAMoV,UAAWR,EAAOlkB,MAAxB,OACI6O,QADJ,IACIA,OADJ,EACIA,EAASW,oBAIhBL,GACC,kBAAC22B,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWR,EAAO/U,qBAChC,kBAAC22B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAIhvB,UAAWR,EAAOoX,MACnC,kBAACyK,GAAA,EAAD,CAAYrhB,UAAWR,EAAOovB,YAC3B5hC,EAAE,2CAGP,kBAACo0B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAIhvB,UAAWR,EAAOoX,MACnC,0BAAM5W,UAAWR,EAAOlkB,MAAOmP,OCnE5BsO,iBAAW,SAACC,GAAD,MAAmB,CAC3CpI,kBAAmB,CACjBukB,UAHW,sBAIXsD,aAJW,sBAKX1H,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,IAE/BwrB,qBAAsB,CACpBrqB,UAAWhC,EAAMa,QAAQ,IAE3BhX,SAAU,CACRkuB,WAAY/X,EAAMa,QAAQ,GAC1B,8BAA+B,CAC7BkB,WAAY,EACZnB,aAAcZ,EAAMa,QAAQ,GAC5BF,WAAY,aACZ,iBAAkB,CAChBC,aAAc,KAIpB9W,QAAS,CACPoW,MAAO,OACP,gCAAiC,CAC/BmB,SAAU,GACVwE,cAAe,GACfC,WAAY,OACZvE,WAAYvB,EAAMwB,WAAWC,eAC7BtB,MlHzB0B,UkH0B1B6B,WAAY,EACZ,SAAU,CACR7B,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAY,OAIlB00B,yBAA0B,CACxBr1B,aAAcZ,EAAMa,QAAQ,QCjCnBq1B,GAAqC,SAACxsC,GACjD,IAAMkvB,EAA2C,GAOjD,OANKlvB,EAAO1I,KAAaO,YACvBq3B,EAAO53B,KAAaO,UAAYsR,KAAOmB,EAAE,+BAEtCtK,EAAO1I,KAAaS,2BACvBm3B,EAAO53B,KAAaS,yBAA2BoR,KAAOmB,EAAE,+BAEnD4kB,GCbIud,GAAoC,SAC/CC,GACI,IACIppC,EAA2B+P,IACjC,SAAA/W,GAAK,OAAIA,EAAM+C,mBADTiE,uBADL,EAKyDU,qBALzD,mBAKI2oC,EALJ,KAK4BC,EAL5B,KAOH73B,qBAAU,WACJ43B,IAA2BrpC,IAI/BopC,KAEIC,GACAA,IAA2BrpC,IAI/BspC,EAA0BtpC,MACzB,CAACA,EAAwBqpC,EAAwBD,KCtBzCG,GAAmB,SAACjzC,GAAD,OAAsBA,EAAMqR,UAO/C6hC,IAL0B/sC,aACrC8sC,IACA,SAAAjzC,GAAK,OAAIA,EAAMoD,eAAiB,KAGN+C,aAAe8sC,IAAkB,SAAAjzC,GAAK,OAChEA,EAAMsR,UAAU/Q,QAAO,SAAAiR,GAAG,OAAIA,EAAI2hC,oBAGvBC,GAAoBjtC,aAAe8sC,IAAkB,SAAAjzC,GAAK,OACrEA,EAAMsR,UAAU/Q,QAAO,SAAAiR,GAAG,OAAKA,EAAI2hC,mBCqCtBE,GAvCiC,WAC9C,IAAMtwC,EAAWwW,KAEX+5B,EAAkB75B,GAAe25B,IAEjCG,EAAuC,CAC3C,WACA,2BAGIhtC,EAAW+sC,EAAgBjsC,KAC/B,YAAwC,IAArC7I,EAAoC,EAApCA,KAAMqrB,EAA8B,EAA9BA,QACP,OAAKrrB,EAOE,CACLA,OACAqrB,UACA2pB,IANAh1C,IAASd,KAAaS,wBAAtB,oBACiBT,KAAaQ,cAD9B,QAEI,MALG,MAcPu1C,EAAWhpC,uBAAY,WAC3BrI,QAAQk/B,IAAIiS,EAAqBlsC,KAAI,SAAA0Y,GAAC,OAAIhd,EAASqO,GAAkB2O,UACpE,CAAChd,EAAUwwC,IAKd,OAFAV,GAAkCY,GAE3B,CACLltC,aCFSmtC,GAAwE,SAAC,GAY/E,IAAD,EAXJ7lC,EAWI,EAXJA,QACA8lC,EAUI,EAVJA,0BACAxlC,EASI,EATJA,oBACAtP,EAQI,EARJA,SACAD,EAOI,EAPJA,SACAg1C,EAMI,EANJA,8BACA/M,EAKI,EALJA,UACA3D,EAII,EAJJA,SACA2Q,EAGI,EAHJA,6BAGI,IAFJC,cAEI,SACEC,GADF,EADJC,mBAEmBC,MACXvjC,EAAM+V,eAAN/V,EACFwS,EAAS1G,KACPjW,EAAa8sC,KAAb9sC,SACF2tC,EAAiBC,KACjB1c,EAAUxB,KAEVwV,GAAyB,mBAC5B/tC,KAAaO,UAAW,GADI,cAE5BP,KAAaS,yBAA0B,GAFX,GAKzBi2C,EAAYxwB,IAAMS,SAAQ,WAC9B,IAAMgwB,EAAS,2CACT5oC,EAAK,YAAQkoC,EAA0B3sC,OAAlC,KAEX,OAAI4sC,IAAkCrE,GAAgB+E,KAC7C5jC,EAAE,GAAD,OAAI2jC,EAAJ,SAAoB5oC,EAE1BmoC,IAAkCrE,GAAgBt0C,IAC7CyV,EAAE,GAAD,OAAI2jC,EAAJ,QAAmB5oC,EAEzBy3B,EAASqR,+BAAiCT,EACrCpjC,EAAE,GAAD,OAAI2jC,EAAJ,WAEH3jC,EAAE,GAAD,OAAI2jC,EAAJ,eACP,CACD3jC,EACAkjC,EACA1Q,EACAyQ,EAA0B3sC,OAC1B8sC,IAGIU,EAAe5wB,IAAMnZ,aAAY,WACjCmpC,IAAkCrE,GAAgB+E,MACpDT,EAA6B,IAE/Bh1C,MACC,CAACA,EAAU+0C,EAA+BC,IAEvCY,EAAqB,SAACjuC,GAC1B,IACM2kC,EAAU3kC,EAAQqjB,QAAQuhB,MADZ,UAEpB,GAAgB,OAAZD,GAAoB3kC,EAAQgtC,IAAK,CAAC,IAAD,EAC7BjhC,EAAW/L,EAAQqjB,QAAQpX,MAAM04B,EAAQ,IACzCuJ,EAAUvJ,EAAQ,GAAGwJ,WAAW,IAAK,IACrCnB,EAAM/b,EAAO,UACjBjxB,EAAQgtC,WADS,QACF,IACf,SAAC5mC,EAAGirB,GAAJ,OAAe,0BAAMjT,QAAS,kBAAMiT,MAAW6c,KAC/CA,GAGF,MAAO,CAACniC,EAAS,GAAIihC,EAAKjhC,EAAS,IAErC,MAAO,CAAC/L,EAAQqjB,UAGlB,OACE,kBAAC,cAAD,CAAYjJ,MAAO,CAAEgB,OAAQ,SAC3B,kBAACkjB,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWqwB,EAAWpqB,QAASirB,UAAU,UACvD,kBAAC7P,GAAA,EAAD,CAAYrhB,UAAWqwB,EAAWj1C,OAC/B4R,EACCojC,EACI,uCACA,6CAGR,kBAAC,GAAD,CACEjmC,QAASA,EACTM,oBAAqBA,EACrBqkC,aAAc0B,EAAenC,aAC7BU,iBAAkB5L,IAEpB,kBAAC,KAAD,CACE4E,cAAeA,EACf7sC,SAAU,SAAAwH,GACRxH,KAEF6iC,SAAUqS,OAASr1C,EAAYm0C,KAE9B,gBAAGxsC,EAAH,EAAGA,OAAQwtB,EAAX,EAAWA,cAAX,OACC,kBAAC,KAAD,KACE,kBAACkV,GAAA,EAAD,CAAKplB,UAAWR,EAAO5O,mBACrB,kBAACywB,GAAA,EAAD,CACErhB,UAAS,UAAKwwB,EAAenC,aAApB,YAAoC7uB,EAAOyvB,2BADtD,UAEKjiC,EACHojC,EACI,mCACA,sCALN,YAMKM,EANL,MAOA,kBAACtL,GAAA,EAAD,CAAKplB,UAAWwwB,EAAerC,0BAC7B,kBAAC,GAAD,CACE7qC,OAAQ2sC,EAA0B3sC,OAClCm8B,YACE0R,OAAOjB,KACLrE,GAAgBuF,KAClBnB,EAA0B3sC,OAAS,EAErC0c,UAAWwwB,EAAelL,sBAEzB2K,EAA0BtsC,KACzB,SAACqN,GAAD,OACE,kBAAC,GAAD,CACEvB,QAAS0zB,EAAUnyB,GACnB/J,OAAM,OAAE+J,QAAF,IAAEA,OAAF,EAAEA,EAAQ/J,OAChB2mC,UAAU,EACV5tB,UACEwwB,EAAejC,6BAEjBlxC,IAAG,OAAE2T,QAAF,IAAEA,OAAF,EAAEA,EAAQ/J,gBAOvBmpC,GACA,kBAAChL,GAAA,EAAD,CAAKplB,UAAWR,EAAO3c,UAAvB,OACGA,QADH,IACGA,OADH,EACGA,EAAUc,KAAI,SAACb,GAAD,OACb,kBAAC,GAAD,CACEmnB,MAAO8mB,EAAmBjuC,GAASa,KACjC,SAAC0tC,GAAD,OAAeA,KAEjB5C,QACE,kBAAC,GAAD,CACE/sB,KAAM,kBAAC,GAAD,MACNuS,YAAa,kBAAC,GAAD,MACb/W,MAAO,CAAEnD,YAAa,GACtB0J,QAAS/gB,EAAOI,EAAQhI,MACxB+oB,SAAU,kBACRqM,EAAcptB,EAAQhI,MAAO4H,EAAOI,EAAQhI,UAIlDklB,UAAWR,EAAO1c,cAM1B,kBAAC,GAAD,CACEmqC,WAAYjgC,EAAE,QACdkgC,WAAqBlgC,EAATojC,EAAW,SAAc,YACrCj1C,SAAU21C,EACVptB,UACE0sB,KAEsC,IAAlC1tC,EAAO1I,KAAaO,YAC6B,IAAjDmI,EAAO1I,KAAaS,oC,SRhNrCk0C,O,eAAAA,I,mBAAAA,I,gBAAAA,Q,KAMUA,ISNV2C,GTMU3C,M,8BUGA51B,iBAAW,SAACC,GAAD,MAAmB,CAC3C0I,KAAM,CACJxI,MAPW,GAQXgF,OARW,GASXH,aATW,GAUXK,OAAO,aAAD,OAPU,WAQhBK,gBAAiB,SAEnBwV,YAAa,CACX/a,MAdW,GAeXgF,OAfW,GAgBXH,aAhBW,GAiBXC,UAAW,wBACXI,OAAO,aAAD,OAfU,WAgBhBK,gBzHH0B,WyHK5BwH,QAAS,CACPtM,WAAY,cAEdsQ,MAAO,CACLjP,UAAW,EACXX,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7Bb,aAAc,GACd,iBAAkB,CAChBA,aAAc,QCtBP23B,GAAmD,SAAC,GAG1D,IAFLhgC,EAEI,EAFJA,MAEI,IADJ0Y,aACI,MADI,GACJ,EACEzK,EAAS1G,KAEf,OACE,kBAAC,GAAD,CACE21B,QACE,kBAAC,KAAD,CACEl9B,MAAOA,EACPmQ,KAAM,0BAAM1B,UAAWR,EAAOkC,OAC9BuS,YAAa,0BAAMjU,UAAWR,EAAOyU,gBAGzChK,MAAOA,EACPsC,QAAS,CAAC1O,KAAM2B,EAAOyG,QAASgE,MAAOzK,EAAOyK,UCRvCunB,GAET,SAAC,GAQE,IAPLvnB,EAOI,EAPJA,MACA/tB,EAMI,EANJA,KACAqV,EAKI,EALJA,MACAsS,EAII,EAJJA,SACAof,EAGI,EAHJA,QAGI,IAFJ6L,oBAEI,MAFW,GAEX,EADJ9uB,EACI,EADJA,UAEA,OACE,yBAAKA,UAAWA,GAAaA,GAC3B,kBAACqhB,GAAA,EAAD,CAAYrhB,UAAW8uB,GAAgBA,GAAe7kB,GACtD,kBAACwnB,GAAA,EAAD,CAAa5O,UAAU,YACrB,kBAAC,KAAD,CAAoB3mC,KAAMA,EAAMqV,MAAOA,EAAOsS,SAAUA,GACrDof,EAAQt/B,KAAI,SAACqN,GAAD,OACX,kBAAC,GAAD,CAAOO,MAAOP,EAAOO,MAAO0Y,MAAOjZ,EAAOiZ,MAAO5sB,IAAK2T,EAAOO,e,UCjC1DwH,iBAAW,SAAAC,GAAK,MAAK,CAClCiN,QAAS,CACPkP,UAAW,sBACXpE,WAAY/X,EAAMa,QAAQ,IAE5B63B,aAAc,CACZx4B,MAAO,OACPS,WAAY,UACZJ,OAAQ,EACRwX,WAAY/X,EAAMa,QAAQ,GAC1BmB,UAAWhC,EAAMa,QAAQ,GACzBsb,UAAW,uBAEb8Z,yBAA0B,CACxBr1B,aAAcZ,EAAMa,QAAQ,IAE9B83B,8BAA+B,CAC7Bx4B,M5Hd4B,U4He5BkB,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BqE,WAAY,OACZD,cAAe,IAEjB+yB,2BAA4B,CAC1Bz4B,MAAO,2BAET04B,SAAU,CACRpZ,aA5BW,sBA6BX5f,QAASG,EAAMa,QAAQ,EAAG,EAAG,QCjBpBi4B,GAAgE,SAAC,GAIvE,IAAD,IAHJvlB,eAGI,MAHM,GAGN,EAFJwlB,EAEI,EAFJA,QACAjZ,EACI,EADJA,iBAEA,OACE,yBAAK9Y,UAAS,OAAEuM,QAAF,IAAEA,OAAF,EAAEA,EAAStG,SACtB8rB,GACC,kBAAC1Q,GAAA,EAAD,CAAYrhB,UAAS,OAAEuM,QAAF,IAAEA,OAAF,EAAEA,EAASwlB,SAAUA,IAEpC,OAAPxlB,QAAO,IAAPA,OAAA,EAAAA,EAASjxB,MACR,0BAAM0kB,UAAS,OAAEuM,QAAF,IAAEA,OAAF,EAAEA,EAASjxB,MAAOw9B,GAEjC,oCAAGA,KCvBEkZ,GAAa,4CAEpBC,GAAa,sDAUNC,GAAoB,SAACxvC,GAChC,IAAMkvB,EAA6B,GAOnC,OANKlvB,EAAOsN,OAGLgiC,GAAWvqC,KAAK/E,EAAOsN,UAC1B4hB,EAAO5hB,OAASnE,KAAOmB,EAAE,sBAH3B4kB,EAAO5hB,OAASnE,KAAOmB,EAAE,8BAKpB4kB,GAGIugB,GAAoB,SAACzvC,GAChC,IAAMkvB,EAA6B,GAOnC,OANKlvB,EAAOsN,OAGLiiC,GAAWxqC,KAAK/E,EAAOsN,UAC1B4hB,EAAO5hB,OAASnE,KAAOmB,EAAE,6BAH3B4kB,EAAO5hB,OAASnE,KAAOmB,EAAE,8BAKpB4kB,GAaIwgB,GAAsB,SAAC1vC,GAClC,IAAMkvB,EAA6B,GAanC,OAZKlvB,EAAOsN,QAGNtN,EAAOsN,OAAO1M,OAAS,GAAKZ,EAAOsN,OAAO1M,OAAS,OACrDsuB,EAAO5hB,OAASnE,KAAOmB,EAAE,qBAAsB,CAAEqlC,IAAK,EAAGC,IAAK,OAHhE1gB,EAAO5hB,OAASnE,KAAOmB,EAAE,8BAKtBtK,EAAOuN,QAGNvN,EAAOuN,OAAO3M,OAAS,GAAKZ,EAAOuN,OAAO3M,OAAS,OACrDsuB,EAAO3hB,OAASpE,KAAOmB,EAAE,qBAAsB,CAAEqlC,IAAK,EAAGC,IAAK,OAHhE1gB,EAAO3hB,OAASpE,KAAOmB,EAAE,8BAKpB4kB,GCpDI2gB,GAA8B,SAAC7vC,GAC1C,IAAMkvB,EAAoC,GAgB1C,OAbEuf,OAAOzuC,EAAO8vC,mBAAqB3G,GAAgB+E,MACP,IAA5CluC,EAAOutC,0BAA0B3sC,SAEjCsuB,EAAOqe,0BAA4BpkC,KAAOmB,EACxC,+CAGCtK,EAAO+O,MAEAugC,GAAWvqC,KAAK/E,EAAO+O,SACjCmgB,EAAOngB,MAAQ5F,KAAOmB,EAAE,sBAFxB4kB,EAAOngB,MAAQ5F,KAAOmB,EAAE,8BAKnB4kB,I,SP5BJ0f,O,aAAAA,I,eAAAA,I,gBAAAA,Q,KAMUA,IQNHmB,GRMGnB,MSNFoB,GAAa,SAACp3C,GAAD,OACxBA,EAAKq3C,OAAO,GAAGC,cAAgBt3C,EAAKwrC,MAAM,ICmBtC+L,GAAwC,SAC5CphC,EACAZ,GAEA,OACEA,GACAA,EAAWhU,QAAO,SAAC4T,GACjB,OACEA,IAAS,OACTA,QADS,IACTA,OADS,EACTA,EAAWe,kBACF,OAATf,QAAS,IAATA,OAAA,EAAAA,EAAWe,eAAe,MAAOC,MA0CnCqhC,GAAkB,SAACjiC,GACvB,IAAIc,EAAmB,GAMvB,OALU,OAAVd,QAAU,IAAVA,KAAYhT,SACV,SAAC4S,GAAD,aACGkB,EAAM,sBAAOA,GAAP,6BAAmBlB,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAWe,sBAA9B,QAAgD,QAGpD,YAAIS,MAAMS,KAAK,IAAIqgC,IAAIphC,MCRnBqhC,GAAsE,SAAC,GAgB7E,IAAD,EAfJ7oC,EAeI,EAfJA,QACAyG,EAcI,EAdJA,kBACAzV,EAaI,EAbJA,SACAD,EAYI,EAZJA,SACAuP,EAWI,EAXJA,oBACAwoC,EAUI,EAVJA,uBACAhD,EASI,EATJA,0BACAE,EAQI,EARJA,6BACAD,EAOI,EAPJA,8BACAgD,EAMI,EANJA,iCACAC,EAKI,EALJA,qBACA7C,EAII,EAJJA,mBACAnN,EAGI,EAHJA,UACA3D,EAEI,EAFJA,SAEI,IADJ4Q,cACI,SACEC,EAAaE,KACXvjC,EAAM+V,eAAN/V,EACFwS,EAAS1G,KACT03B,EAAiBC,KAJnB,EASAvwB,IAAMxZ,SAAqC,IAT3C,mBAOF0sC,EAPE,KAQFC,EARE,KAWJnzB,IAAMzI,WAAU,WAEZ47B,EACE1iC,GACEC,EAAkBpP,KAHpB4uC,EAEwC,OAEtCE,QAFsC,IAEtCA,IAAsB,GAMc,OAEtC6C,QAFsC,IAEtCA,IAAwB,OAG3B,CAACviC,EAAkBpP,KAAM2xC,EAAsB/C,EAAQE,IAE1D,IA0QItP,EA1QEkC,EAAgBoQ,aAAoB,CACxCnQ,UAAWA,IAIPoQ,EAAgBrzB,IAAMnZ,aAAY,WACtC,MAAO,CACL62B,IAAK,CACHrsB,MAAOs6B,GAAgBt0C,IAAI4G,WAC3B8rB,MAAOjd,EAAE,gDAEXu3B,SAAU,CACRhzB,MAAOs6B,GAAgBuF,IAAIjzC,WAC3B8rB,MAAO,sCAETupB,KAAM,CACJjiC,MAAOs6B,GAAgB+E,KAAKzyC,WAC5B8rB,MAAOjd,EAAE,oDAGZ,CAACA,IAEEymC,EAAgBvzB,IAAMS,SAAQ,WAClC,GAAKyvB,EAAL,CAGA,IAAMsD,EAAaH,IACbI,EAAe/iC,EAAkBgjC,wBAsBvC,GArBAF,EAAWnP,SAASta,MAClB,kBAAC,GAAD,CACE8nB,QAAS/kC,EAAE,oDACX8rB,iBAAkB6a,EAAY,WAAOxQ,EAAUwQ,GAAjB,KAAoC,GAClEpnB,QAAS,CACPwlB,QAASvyB,EAAOmyB,8BAChBr2C,KAAMkkB,EAAOoyB,8BAInB8B,EAAW9V,IAAI3T,MAAQyoB,GACrB,UAAGgB,EAAW9V,IAAI3T,MAAlB,YAA2Bjd,EACzB,mDACEqyB,eAENqU,EAAWF,KAAKvpB,MAAQyoB,GACtB,UAAGgB,EAAWF,KAAKvpB,MAAnB,YAA4Bjd,EAC1B,kDADF,KAEKqyB,eAILG,EAASqU,mBACTvD,GACAwC,GAAgBxC,GAAoBrG,MAClC,SAAC6J,GAAD,OAA0BA,KAAY,OAAK3pC,QAAL,IAAKA,OAAL,EAAKA,EAASM,wBAGtD,MAAO,CAACipC,EAAW9V,KACd,GAAI4B,EAASqU,kBAClB,OAAQrU,EAASuU,oBACf,KAAKzC,GAAmB/5C,IAExB,KAAK+5C,GAAmB0C,KACtB,MAAO,CAACN,EAAW9V,IAAK8V,EAAWnP,SAAUmP,EAAWF,MAG9D,OAAIhU,EAASuU,qBAAuBzC,GAAmB/5C,KACrDm8C,EAAWnP,SAASta,MAClB,kBAAC,GAAD,CACEhjB,OAAM,OAAE0sC,QAAF,IAAEA,OAAF,EAAEA,EAAc1sC,OACtBwI,QAAS0zB,EAAU,CACjBhzB,aAAY,OAAEwjC,QAAF,IAAEA,OAAF,EAAEA,EAAcxjC,aAC5Be,aAAY,OAAEyiC,QAAF,IAAEA,OAAF,EAAEA,EAAcziC,eAE9B08B,UAAU,EACV5tB,UAAWwwB,EAAejC,+BAGvB,CAACmF,EAAWnP,gBAZrB,KAgBC,CACD3zB,EAAkBgjC,wBAClBL,EACA/T,EACA2D,EACAn2B,EACAojC,EACA5wB,EAAOmyB,8BACPnyB,EAAOoyB,2BACPpB,EAAejC,6BACfpkC,EACAmmC,IAGI2D,EAAkB/zB,IAAMS,SAAQ,WACpC,IAAIyvB,EAAJ,CAGA,IAAMsD,EAAaH,IACbI,EAAe/iC,EAAkBgjC,wBACjCM,EACJ,kBAAC,GAAD,CACEnC,QAAS/kC,EAAE,oDACX8rB,iBAAkB6a,EAAY,WAAOxQ,EAAUwQ,GAAjB,KAAoC,GAClEpnB,QAAS,CACPwlB,QAASvyB,EAAOmyB,8BAChBr2C,KAAMkkB,EAAOoyB,8BAIbuC,EAAkBxjC,GACtBC,EAAkBpP,KAD4C,OAE9D2xC,QAF8D,IAE9DA,IAAwB,IACxB,GACIiB,EACJ,kBAAC,GAAD,CACEntC,OAAQktC,EAAgBltC,OACxBwI,QAAS0zB,EAAU,CACjBhzB,aAAY,OAAEgkC,QAAF,IAAEA,OAAF,EAAEA,EAAiBhkC,aAC/Be,aAAY,OAAEijC,QAAF,IAAEA,OAAF,EAAEA,EAAiBjjC,eAEjC08B,UAAU,EACV5tB,UAAWwwB,EAAejC,+BAK9B,GAFAmF,EAAWF,KAAKvpB,OAAS,IAErBuV,EAASqR,6BACX,OAAQrR,EAAS6U,kBACf,KAAK1F,GAAiBiC,KACpB,MAAO,CAAC8C,EAAW9V,IAAK8V,EAAWF,MACrC,KAAK7E,GAAiB2F,OAEpB,OADAZ,EAAWnP,SAASta,MAAQmqB,EACrB,CAACV,EAAWnP,UACrB,KAAKoK,GAAiB4F,KACpB,MAAO,GAGb,OAAQ/U,EAAS6U,kBACf,KAAK1F,GAAiBiC,KAEpB,OADA8C,EAAWnP,SAASta,MAAQiqB,EACrB,CAACR,EAAW9V,IAAK8V,EAAWnP,SAAUmP,EAAWF,MAC1D,KAAK7E,GAAiB2F,OAEpB,OADAZ,EAAWnP,SAASta,MAAQmqB,EACrB,CAACV,EAAWnP,UACrB,KAAKoK,GAAiB4F,KACpB,MAAO,OAIV,CACDhB,EACA/T,EACA5uB,EAAkBpP,KAClBoP,EAAkBgjC,wBAClB5mC,EACAm2B,EACAgQ,EACA3zB,EAAOmyB,8BACPnyB,EAAOoyB,2BACPpB,EAAejC,6BACf6B,IAGInN,EAAUmN,EAASqD,EAAgBQ,EAEnCO,EAA+Bt0B,IAAMS,SAAQ,WACjD,GAAKsiB,EAGL,OACqB,IAAnBA,EAAQ3/B,QACR8sC,GACAE,GACAwC,GAAgBxC,GAAoBrG,MAClC,SAACx4B,GAAD,OAAmBA,KAAK,OAAKtH,QAAL,IAAKA,OAAL,EAAKA,EAASM,wBAGjCohC,GAAgBt0C,IACK,IAAnB0rC,EAAQ3/B,OACV,aAAc2/B,EAAU4I,GAAgBuF,IAAMvF,GAAgBt0C,IAEnE0rC,EAAQ3/B,OAAS,EACZuoC,GAAgBt0C,SADzB,IAIC,CAAC0rC,EAAS94B,EAASmmC,EAAoBF,IAEpCqE,EAAsCv0B,IAAMS,SAAQ,WACxD,YAAsC5lB,IAAlCm1C,OACmCn1C,IAAjCy5C,EACK,GAEFA,EAA6Br2C,WAE/B+xC,EAA8B/xC,aACpC,CAACq2C,EAA8BtE,IAE5BwE,EAAoB,CACxBlC,gBAAiBtyB,IAAMwX,OAAO+c,GAC9BhjC,MAAOyO,IAAMwX,OAAOjtB,GACpBwlC,0BAA2B/vB,IAAMwX,OAAOuY,IAGpClI,EAA4B7nB,IAAMS,SAAQ,WAC9C,MAAO,CACL6xB,gBAAiBkC,EAAkBlC,gBAAgB5a,QACnDnmB,MAAOijC,EAAkBjjC,MAAMmmB,QAC/BqY,0BACEyE,EAAkBzE,0BAA0BrY,WAE/C,CAAC8c,IAaEC,EAAiC,SAACpjC,GACtC,OAAOA,GAASA,IAAUs6B,GAAgB+E,KAAKzyC,YA6B3CwzC,EAAgCzxB,IAAMS,SAAQ,WAClD,IAAMi0B,EACF5nC,EADgBojC,EACd,mCACA,sCACAO,EAAS,2CACf,OAAInR,EAASqR,6BACL,GAAN,OAAU+D,EAAV,YAAyB5nC,EAAE2jC,EAAS,UAApC,KAEI,GAAN,OAAUiE,EAAV,YAAyB5nC,EAAE2jC,EAAS,OAApC,OACC,CAAC3jC,EAAGwyB,EAASqR,6BAA8BT,IAuB9C,OAnBEA,GACAE,GACAwC,GAAgBxC,GAAoBrG,MAClC,SAACx4B,GAAD,OAAmBA,KAAK,OAAKtH,QAAL,IAAKA,OAAL,EAAKA,EAASM,wBAGxCu2B,EAAUh0B,EAAE,kDAEXojC,IACDE,GACgD,IAA/CwC,GAAgBxC,GAAoBhtC,SACa,IAA/CwvC,GAAgBxC,GAAoBhtC,QAClCwvC,GAAgBxC,GAAoBlxC,SAApC,iBACC+K,QADD,IACCA,OADD,EACCA,EAASM,2BADV,QACiC,OAGtCu2B,EAAUh0B,EAAE,mDAIZ,kBAAC,cAAD,CAAYkQ,MAAO,CAAEgB,OAAQ,SAC3B,kBAACkjB,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWqwB,EAAWpqB,QAASirB,UAAU,UACvD,kBAAC7P,GAAA,EAAD,CAAYrhB,UAAWqwB,EAAWj1C,OAE5B4R,EADHojC,EACK,+BACA,mCAER,kBAAC,GAAD,CACEjmC,QAASA,EACT2kC,aAAc0B,EAAenC,aAC7BU,iBAAkB5L,IAEpB,kBAAC/B,GAAA,EAAD,CAAMphB,UAAWR,EAAOyG,SACtB,kBAAC,KAAD,CACE8hB,cAAeA,EACf7sC,SA1EW,SAACwH,GACpB,IAAMixC,EAAe/iC,EAAkBgjC,wBACvC,OAAQzC,OAAOzuC,EAAO8vC,kBACpB,KAAK3G,GAAgBt0C,IACnB44C,EAA6BiD,GAC7B,MACF,KAAKvH,GAAgBuF,IACnB,GAAIhB,EAAQ,CACVuD,GAAgBxD,EAA6B,CAACwD,IAC9C,MACK,GAAInU,EAASqR,6BAA8B,CAChDV,EAA6BiD,GAC7B,MAEAO,GAAgBxD,EAA6B,CAACwD,IAEhD,MACF,KAAK9H,GAAgB+E,KACnBT,EAA6BztC,EAAOutC,2BAGxCiD,EAAiC/B,OAAOzuC,EAAO8vC,kBAC/CS,EAAuBvwC,EAAO+O,OAC9BvW,KAoDQ6iC,SAAUwU,GACVsC,kBAAgB,IAEf,gBAAGnyC,EAAH,EAAGA,OAAQwtB,EAAX,EAAWA,cAAe+N,EAA1B,EAA0BA,QAASrM,EAAnC,EAAmCA,OAAnC,OACC,kBAAC,KAAD,KACGqR,GAAWA,EAAQ3/B,OAAS,EAC3B,oCACE,kBAAC,GAAD,CACEpH,KAAM,kBACNqV,MAAO7O,EAAO8vC,gBACdvoB,OACGmmB,EACGpjC,EAAE,oCACFA,EAAE,qCAAsC,CACtCwlC,gBAAiB,KAChBtjC,QAAU,IAEnB2U,SAAU,SAAAhN,GACRqZ,EACE,kBACArZ,EAAMyW,cAAc/b,OAEtB2hC,EACE/B,OAAOt6B,EAAMyW,cAAc/b,SAG/B0xB,QAASA,EACT6L,aAAc0B,EAAenC,eAE/B,kBAAC,GAAD,CACErL,UAAQ,EACR9mC,KAAK,4BACL+mC,QAASmQ,EACTrP,sBAAoB,EACpBb,cAAeA,EACfrf,SAAU,SAAChN,EAAOotB,EAAU7gB,GAC1B+sB,EACElM,GAEF/T,EAAc,4BAA6B+T,IAE7C1yB,MAAO7O,EAAOutC,0BACd9M,UAAWA,EACXC,gBAAiB6M,EACjBvsB,UACGixB,EAA+BjyC,EAAO8vC,iBAEzCnP,WACIsR,EAA+BjyC,EAAO8vC,iBAE1C7yC,MACEs+B,EAAQgS,2BACRre,EAAOqe,0BACFre,EAAOqe,+BACRl1C,EAENwxB,QAAS,CACP1O,KAAM2yB,EAAe3I,oBACrBxC,qBACEmL,EAAenL,qBACjBC,qBACEkL,EAAelL,qBACjBvE,OAAQyP,EAAepC,oBAEzB1M,cAAe1K,GAAc8d,SAE5B7E,EAA0B3sC,OAAS,EAClC2sC,EAA0BtsC,KACxB,SAACqN,GAAD,OACE,kBAAC,GAAD,CACE/J,OAAM,OAAE+J,QAAF,IAAEA,OAAF,EAAEA,EAAQ/J,OAChB0mC,SAAU,WACRzd,EACE,4BAnKD,SAC7B4I,GAEA,IAAMyL,EAAW0L,EAA0BpzC,QACzC,SAACyT,GAAD,OACEA,EAAM8C,qBAAuB0lB,EAAiB1lB,sBAGlD,OADA+8B,EAA6B5L,GACtBA,EA4JuBwQ,CAAuB/jC,KAG3B0S,UACGixB,EACCjyC,EAAO8vC,iBAGX/iC,QAAS0zB,EAAUnyB,GACnBgP,UACEwwB,EAAelC,8BAMvB,kBAAC,GAAD,CACET,OAAK,EACL7tB,UAAWwwB,EAAelC,6BAMlC,kBAAC,GAAD,CACEyD,QAASJ,EACT7Y,iBACEmK,IAAYvM,aAAQuM,GAAWA,EAAQ,GAAGhZ,MAAQ,GAEpDsC,QAAS,CACPwlB,QAAQ,GAAD,OAAKvB,EAAenC,aAApB,YAAoC7uB,EAAOyvB,6BAKxD,kBAAC,GAAD,CACER,QACE,kBAAC,GAAD,CACEvyC,KAAK,QACLquB,YAAavd,EAAE,qCACf00B,cAAe1K,GAAcqL,OAC7Bxe,SAAU,SAAAhN,GACRqZ,EAAc,QAASrZ,EAAMyW,cAAc/b,UAIjD0Y,MAEMjd,EADHojC,EACK,2CACA,8CAAiD,IAEzD4E,eAAe,MACfzoB,QAAS,CACP1O,KAAM2B,EAAOkyB,aACbznB,MAAOumB,EAAenC,kBAGvBrN,GAAW,yBAAKhhB,UAAWR,EAAOqyB,UAAW7Q,GAChD,kBAAC,GAAD,CACE7lC,SAAUA,EACV8xC,WAAYjgC,EAAE,UACdkgC,WAAYlgC,EAAE,kB,oBCpiB1BioC,GAAoB,SAACj8B,GAAD,MAA4C,CACpEE,MAAO,OACPkF,OAAQ,cACRqiB,YAAa,UACbhiB,gBAAiB,UACjB+D,YAAaxJ,EAAMa,QAAQ,GAC3BgX,aAAc7X,EAAMa,QAAQ,GAC5BgI,UAAW,aACX9D,aAAc,EACdG,OAAO,GAAD,OAXgB,IAWhB,iBACNxD,WAAW,gBAAD,OAAkBwmB,YAASC,SAAW,IAAtC,KACVpQ,WAAY/X,EAAMa,QAAQ,KAC1BqI,cAAelJ,EAAMa,QAAQ,KAC7BgF,cAAe,GACfq2B,OAAQ,OACR9zB,QAAS,OACTjI,MpIV4B,UoIW5BkB,SAAU,GACV,iBAAkB,CAChBlB,MpIb0B,UoIc1B0F,cAAe,GACfpB,QAAS,OAIE1E,iBAAW,SAAAC,GAAK,MAAK,CAClCm8B,SAAS,eACJF,GAAkBj8B,IAEvBo8B,cAAc,2BACTH,GAAkBj8B,IADV,IAEXynB,YAAaznB,EAAMiB,QAAQta,MAAMwa,WCLtBk7B,GAnB4B,SAAC,GAIrC,IAAD,IAHJr1B,iBAGI,MAHQ,GAGR,EAFJyhB,EAEI,EAFJA,UACG3kB,EACC,0CACE0C,EAAS1G,KACf,OACE,kBAACsoB,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAACmc,GAAD,CAAc/mC,MAAOqmC,IACrB,kBAAC6T,GAAA,EAAD,eACEt1B,UAAS,UACPyhB,EAAYjiB,EAAO41B,cAAgB51B,EAAO21B,SADnC,YAELn1B,IACAlD,MCMGy4B,GA1BiD,SAAC,GAK1D,IAJLr5C,EAII,EAJJA,KAII,IAHJqmC,gBAGI,aAFJ7e,gBAEI,SADD5G,EACC,+CACE0lB,EAAgBC,eAChBC,EAEFF,EAAc5Q,OAIZ+Q,EADFH,EAAcvE,QACqB/hC,GAAQwmC,EAAaxmC,QAAQnB,EACpE,OACE,kBAAC,KAAD,eACEwnC,SAAUA,EACVrmC,KAAMA,EACN4mC,GAAIuS,GACJ3xB,SAAUA,EACV+d,UAAWkB,GACP7lB,KCzBK/D,iBAAW,SAAAC,GAAK,MAAK,CAClC5d,MAAO,CACL+d,MvIQ0B,UuIP1BoB,WAAY,OACZsE,cAAe,GACfxE,SAAU,GACVyE,WAAY,OACZsD,UAAW,UAEbozB,WAAY,CACVr8B,MvIA0B,UuIC1BoB,WAAY,OACZsE,cAAe,GACfxE,SAAU,GACVyE,WAAY,QAEdzjB,SAAU,CACR8d,MAAO,UACPoB,WAAY,OACZsE,cAAe,GACfC,WAAY,OACZzE,SAAU,GACV,sBAAuB,CACrBW,UAAWhC,EAAMa,QAAQ,OAG7B47B,cAAe,CACbt8B,MAAO,UACP0F,cAAe,GACfxE,SAAU,GACVyE,WAAY,OACZ,sBAAuB,CACrB9D,UAAWhC,EAAMa,QAAQ,WCLhB67B,GArBe,SAAC,GAMxB,IAAD,IALJt6C,aAKI,aAJJsxB,aAII,SAHJnN,EAGI,EAHJA,SAGI,IAFJS,iBAEI,MAFQ,GAER,EADDlD,EACC,yDACE0C,EAAS1G,KAOf,OACE,kBAACuoB,GAAA,EAAD,eAAYrhB,UAAS,UANjB5kB,GAASsxB,EAAclN,EAAOg2B,WAC9Bp6C,EAAcokB,EAAOpkB,MACrBsxB,EAAclN,EAAOi2B,cAClBj2B,EAAOnkB,SAGO,YAAwB2kB,IAAiBlD,GAC3DyC,ICnBMwe,GAAW,SAACr7B,GACvB,IAAMkvB,EAA4B,GAWlC,OAVKlvB,EAAOtH,MAEDsH,EAAOtH,MAAMkI,OAPM,KAQ5BsuB,EAAOx2B,MCViB,kEDEI,GCFJ,eDQxBw2B,EAAOx2B,MCTa,qBDajBsH,EAAOsnB,YAEDtnB,EAAOtH,MAAMkI,OAXY,MAYlCsuB,EAAOx2B,MCbuB,SAACu6C,GAAD,kEACCA,EADD,cDafC,CAZmB,MAUlChkB,EAAO5H,YCda,qBDkBf4H,GEhBM7Y,iBAAW,SAAAC,GAAK,MAAK,CAClCuY,KAAM,CACJ9X,QAAS,OACTC,cAAe,SACfC,WAAY,SACZkI,UAAW,aACXhJ,QAASG,EAAMa,QAAQ,KAAM,EAAG,GAAI,IAEtCze,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZlF,aAAcZ,EAAMa,QAAQ,GAC5Bg8B,WAAY,OACZzzB,UAAW,UAEb/mB,SAAU,CACRgf,SAAU,GACVyE,WAAY,OACZvE,WAAY,SACZX,aAAcZ,EAAMa,QAAQ,MAC5BmB,UAAW,iBACX66B,WAAY,OACZzzB,UAAW,UAEb0zB,WAAY,CACVl8B,aAAcZ,EAAMa,QAAQ,IAE9Bk8B,SAAU,CACRn8B,aAAcZ,EAAMa,QAAQ,QCuDjBm8B,GAlD2B,SAAC,GAKpC,IAJL96C,EAII,EAJJA,SACAC,EAGI,EAHJA,SACA86C,EAEI,EAFJA,YACAtb,EACI,EADJA,IAEMnb,EAAS1G,KAEf,OACE,kBAACsoB,GAAA,EAAD,CAAMpb,WAAS,EAACkrB,UAAU,UACxB,kBAAC,KAAD,CACEnJ,cAAe,CAAE/d,YAAa,GAAI5uB,MAAK,OAAEu/B,QAAF,IAAEA,IAAO,IAChDz/B,SAAUA,EACV6iC,SAAUA,KAET,WACC,OACE,kBAAC,KAAD,CAAM/d,UAAWR,EAAO+R,MACtB,kBAAC,GAAD,CAAMn2B,OAAK,EAAC4kB,UAAWR,EAAOpkB,OF5CX,+CE+CnB,kBAAC,GAAD,CAAMsxB,OAAK,EAAC1M,UAAWR,EAAOnkB,UF7C1C,mMEgDY,kBAAC,GAAD,CACEa,KAAK,QACL8jB,UAAWR,EAAOs2B,WAClBvrB,YFvDY,6BEwDZhZ,MAAOopB,EACPjX,SAAU+J,QAAQkN,KAEpB,kBAAC,GAAD,CACEz+B,KAAK,cACLquB,YF5DkB,kCE6DlBvK,UAAWR,EAAOu2B,WAEpB,kBAAC3U,GAAA,EAAD,CAAMpb,WAAS,EAACrM,WAAW,SAASuoB,QAAQ,UAC1C,kBAAC,GAAD,CAAQhhB,QAAS/lB,GFnEX,eEoEN,kBAAC,GAAD,CAAQL,KAAK,OAAO6L,QAASsvC,EAAaj0B,QAAM,GFnE5C,sB,UG0BLwpB,GAVgC,CAC7C0K,YrHjBkC,iCqHkBlCv2C,MrHtB8B,uBqHuB9B08B,K,QAAMA,EACN8Z,QrHzBkC,4BqH0BlCC,QrHxBgC,2BqHyBhCC,YrHpBA,sCqHqBAC,YrHpB0C,gCsHJ7Bv9B,iBAAW,SAAAC,GAAK,YAAK,CAClC0I,MAAI,GACFxI,MALU,IAMVgF,OALW,IAMXH,aAAc,IAHZ,cAID/E,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOwO,IACPxJ,OAAQyJ,QANR,cAQD3O,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOwO,IACPxJ,OAAQyJ,MAVR,cAYD3O,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOwO,IACPxJ,OAAQyJ,QAdR,OCmBSukB,GAhBe,SAAC,GAAc,IAAZpxC,EAAW,EAAXA,KACzB0kB,EAAS1G,KAEf,MAAa,SAAThe,EAEA,yBACEoiB,MAAO,CAAEtD,aAAc,IACvB+M,IAAK4vB,GAAMz7C,GACX+rB,IAAG,eAAU/rB,KAKZ,kBAAC,GAAD,CAAWktB,YAAaxI,EAAOkC,KAAMiF,IAAK4vB,GAAMz7C,MCb1Cie,iBAAW,SAAAC,GAAK,YAAK,CAClCiN,QAAQ,aACN/M,MAJyB,IAKzBkG,SAAU,WACVzG,IAAK,MACLzC,KAAM,MACN2P,UAAW,wBACX9H,aAAc/E,EAAMw9B,MAAMz4B,aAC1B8D,UAAW,aACXpD,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCF,OAAO,eAAD,OhJbiB,WgJcvBgD,QAAS,QACRpI,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,MACPL,QAASG,EAAMa,QAAQ,EAAG,MAG9B48B,SAAU,CACRh4B,gBAAgB,GAAD,OhJdW,UgJcX,eACfhB,QAAS,KAEX0I,QAAS,CACPtN,QAASG,EAAMa,QAAQ,GAAI,EAAG,GAC9BuI,UAAW,UAEbgP,gBAAc,GACZlY,MAAO,OACP8B,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTqB,eAAgB,gBAJJ,cAKX9B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,mBANL,cAQZ,WAAY,CACVwE,OAAQ,OACRrF,QAASG,EAAMa,QAAQ,KAAM,KAVnB,GAad68B,SAAU,CACRn9B,OAAQ,kBAEVo9B,YAAa,CACXl4B,gBhJlCoC,0BgJmCpCm4B,oBAAqB59B,EAAMw9B,MAAMz4B,aACjC84B,qBAAsB79B,EAAMw9B,MAAMz4B,aAClC/C,UAAWhC,EAAMa,SAAS,IAC1BD,aAAcZ,EAAMa,QAAQ,GAC5BX,MAAO,OACPmB,SAAU,GAEZy8B,YAAa,CACXj+B,QAASG,EAAMa,QAAQ,EAAG,IAC1B8a,WAAY,gBCiHDoiB,GA1JsB,SAAC,GAI/B,IAHLx3B,EAGI,EAHJA,SACQy3B,EAEJ,EAFJn8C,OAEI,IADJmlB,iBACI,MADQ,GACR,EACER,EAAS1G,KADX,EAiBA/C,IAAe,SAAAzZ,GAAK,OAAIA,EAAMH,GAAGvB,SAdnCC,EAHE,EAGFA,OACAC,EAJE,EAIFA,KACAE,EALE,EAKFA,iBACAC,EANE,EAMFA,iBACAU,EAPE,EAOFA,iBACAD,EARE,EAQFA,iBACAD,EATE,EASFA,mBACAN,EAVE,EAUFA,SACAD,EAXE,EAWFA,SACAG,EAZE,EAYFA,SACAG,EAbE,EAaFA,cACAJ,EAdE,EAcFA,MACAE,EAfE,EAeFA,KACAC,EAhBE,EAgBFA,MAEI8D,EAAWwW,KAlBb,EAmByCrP,GAAO,CAClDnE,cAAc,EACdJ,OAAQ,CACNC,OAAQ,OACRC,IAAK,qBAvBL,mBAmBG80C,EAnBH,KAmBsBC,EAnBtB,KA2BI3d,EAAoBC,eAApBD,gBAEF4d,EAAa,uCAAG,sBAAA91C,EAAA,0DAChBlG,EADgB,gCACAA,IADA,OAEpBkE,EAAShD,KAFW,2CAAH,qDAIb+6C,EAAa,uCAAG,sBAAA/1C,EAAA,0DAChBnG,EADgB,yCACCA,KADD,OAEpBmE,EAAShD,KAFW,2CAAH,qDAKbg7C,EAAiB,SAACC,GACtB,MAAmB,WAAfA,EC/Da,UACM,+BDmEnBC,EAAcv8C,GAAoBC,EAClCu8C,IAAap8C,KAAWC,EACxBo8C,EAAW38C,GAAQ+I,OAAOkY,KAAKw6B,IAAOn3C,SAAStE,GAE/C48C,EAAkB,uCAAG,WAAOh1C,GAAP,SAAArB,EAAA,+EAEjB41C,EAAkB,CACtBz1C,KAAM,CACJpG,MAAOsH,EAAOtH,MACd+qB,QAASzjB,EAAOsnB,YAChB2tB,WAAY,WANO,OASvBt4C,EACE9C,EAAU,CACRnB,MChF8B,4DDiF9BN,KAAM,UACNE,kBAAkB,EAClBC,kBAAkB,EAClBE,SAAU,WACRkE,EAAShD,SAhBQ,+CAqBvBk9B,EACE,sLACA,CAAE3Z,QAAS,UAvBU,wDAAH,sDA2FxB,OACE,kBAAC,KAAD,CACEmB,UAAsBhmB,IAAhBi8C,EAA4BA,EAAcn8C,EAChD+8C,cAAe,CAAE53B,UAAWR,EAAOi3B,UACnC1oB,mBAAmB,GAEnB,yBAAK/N,UAAS,UAAKR,EAAOyG,QAAZ,YAAuBjG,EAAvB,MApEZT,IACS,WAATzkB,EAEA,kBAAC,GAAD,CACEm7C,cAAeiB,EACfh8C,SAAUw8C,EACVv8C,SAAU,kBAAMkE,EAAShD,MACzBs+B,IAAKr/B,IAIT,kBAAC8lC,GAAA,EAAD,CACEpb,WAAS,EACTkrB,UAAU,SACVv3B,WAAW,SACXqG,UAAWR,EAAO2G,SAEjBsxB,GACC,yBAAKz3B,UAAWR,EAAOm3B,aACrB,kBAAC,GAAD,CAAM77C,KAAMA,KAGf08C,GACC,kBAACpW,GAAA,EAAD,CACEpb,WAAS,EACTkrB,UAAU,SACVv3B,WAAW,SACXqG,UAAWR,EAAOs3B,eAEf17C,GAAS,kBAAC,GAAD,CAAMA,OAAK,GAAEA,KACtBC,GACD,kBAAC,GAAD,CACEqxB,MAAgB,SAAT5xB,GAAmBU,EAC1BwkB,UACW,UAATllB,GAAqBW,EAAuC,GAAlB+jB,EAAOk3B,UAGlDr7C,KAGFC,GAAQ,kBAAC,GAAD,CAAMoxB,OAAK,GAAEpxB,KACrBC,GAAS,kBAAC,GAAD,CAAMmxB,OAAK,GAAEnxB,IAG5Bg8C,GACC,yBAAKv3B,UAAWR,EAAO4R,gBACpBp2B,GACC,kBAAC,GAAD,CAAQkmB,QAASi2B,GACdx7C,GAAoB07C,EAAe,WAGvCp8C,GACC,kBAAC,GAAD,CAAQH,KAAK,OAAOomB,QAASk2B,GAC1B17C,GAAoB27C,EAAe,eEtJrCt+B,iBAAW,SAAAC,GAAK,kBAAK,CAClCiN,SAAO,GACLlI,aAAc,EACdgB,SAAU,SACVK,SAAU,YAHL,cAIJpG,EAAMK,YAAYw+B,GAAG,MAAQ,CAC5B35B,OAAQ,SALL,sBAOE,QAPF,cAQL,QAAS,CACP,qBAAsB,CACpBA,OAAQ,QAEV,eAAgB,CACdA,OAAQ,qBAbP,cAgBL,OAAQ,CACNzE,QAAS,OACTE,WAAY,WAlBT,GAqBPiuB,OAAQ,CACNnuB,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZ4E,WAAY,UACZR,aAAc,GAEhBoD,OAAQ,CACNvH,aAAcZ,EAAMa,QAAQ,IAE9Bi+B,OAAQ,CACN5+B,MAAO,OACP6F,SAAU,SACVqC,QAAS,OACT,WACEvI,QAASG,EAAMa,QAAQ,GAAI,EAAG,GAC9BN,OAAQ,EACRgB,WAAY,IACZ6H,UAAW,OACXjJ,MAAOH,EAAMiB,QAAQoE,OAAOC,MAC5BjE,SAAU,GACVwE,cAAe,IAPjB,cASG7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,EAAG,GAC7BQ,SAAU,KAXd,cAaE,SAAU,CACRE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQC,QAAQC,OAfjC,IAmBF49B,eAAgB,GAChBC,iBAAe,GACbv5B,gBAAiB,UACjBL,OAAQ,sBACR0I,UAAWmxB,KAHE,cAIZj/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,SACRL,MAAO,QANI,cAQZF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,QATI,cAWZF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,MACP4N,UAAWmxB,IACX/5B,OAAQ+5B,MAdG,cAgBZj/B,EAAMK,YAAYC,KAAK,KAAO,CAC7BJ,MAAO,SAjBI,GAoBfg/B,kBAAmB,GAEnBC,YAAa,CACXj/B,MAAO,OACPgF,OAAQ,OACRzE,QAAS,OACTsE,aAAc,EACdrE,cAAe,SACfqN,eAAgB,QAChBC,mBAAoB,SACpBC,iBAAkB,aAGpBmxB,YAAa,GACbC,cAAY,mBACTr/B,EAAMK,YAAYi/B,QAAQ,KAAM,MAAQ,CACvCtxB,mBAAoB,aAFZ,cAIThO,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByN,eAAgB,cALR,GAQZwxB,eAAgB,Q,SnBtGN9F,K,yCAAAA,Q,KoBIL,IAAM+F,GAAoBr3C,YAAiB,GAAD,OAC5C,CAACsxC,GAAkBgG,oBADyB,wDAE/C,WAAO39C,EAAMsG,GAAb,qBAAAC,EAAA,+DACoBW,GAChB,CACEC,OAAQ,CACNC,OAAQ,MACRC,IAAKkD,4CAGTjE,GARJ,mBACSE,EADT,cAUyBA,IAVzB,cAUQC,EAVR,yBAWSA,EAASC,MAXlB,2CAF+C,yDCmLlCk3C,GAhKiC,SAAC,GAAwB,IAAtB59C,EAAqB,EAArBA,KAC3CuE,GADgE,yBACrDwW,MACX2J,EAAS1G,KACTE,EAAQiM,eACR6H,EAAcC,aAAc/T,EAAMK,YAAYC,KAAK,OAEnDrL,EAAS8H,GACb61B,GAA+B9e,EAAcoe,GAAUvyB,IAAM7d,IAGzD69C,EAAeh4B,mBAAQ,WAC3B,OAAO7lB,IAASowC,GAAUY,MAAQ79B,GAAUA,EAAO3K,OAAS,EAAI,EAAI,IACnE,CAACxI,EAAMmT,IAEVwJ,qBAAU,WACRmhC,EAAeD,KACd,CAACA,IAhBkE,MAkBhCjyC,mBAASiyC,GAlBuB,mBAkB/DE,EAlB+D,KAkBlDD,EAlBkD,KAmBhEpZ,EAAW,CACfK,MAAM,EACNC,UAAU,EACVE,gBAAgB,EAChB8Y,MAAO,IACP7Y,aAAc,EACd8Y,eAAgB,EAChB5Y,aAAcwY,EACd5Y,UAAU,EACViZ,cAAe,IACfC,aAAc,SAACC,EAAaj6C,GAAd,OAA+B25C,EAAe35C,IAC5Dk6C,WAAY,SAACtZ,GAAD,aACV,yBACE3iB,OAAK,GACHkC,SAAU,WACVxG,OAAQI,EAAMa,QAAQ,IAFnB,cAGFb,EAAMK,YAAYC,KAAK,KAAO,CAC7BV,OAAQI,EAAMa,QAAQ,KAJrB,uBAMK,GANL,sBAOI,QAPJ,0BAQQ,mBARR,0BASQ,mBATR,wBAUM,QAVN,IAaJ5L,GAAUA,EAAO3K,QAChB,wBACE4Z,MAAO,CACL3D,OAAQ,MACRE,QAAS,OACTZ,QAAS,EACTc,WAAY,SACZmB,eAAgB,WAGjB+kB,KAKTuZ,aAAc,SAAC/9B,GACb,IAAM6B,EAAQ,CACZhE,MAAO,GACPgF,OAAQ,GACRH,aAAc,IACdU,gBAAiB,QACjB/D,WAAY,YAER2+B,EAAW,2BACZn8B,GADY,IAEfhE,MAAO,GACPgF,OAAQ,GACRO,gBrJ/FoB,UqJgGpB/D,WAAY,aAEd,OAAO,yBAAKwC,MAAO7B,IAAMw9B,EAAcQ,EAAcn8B,MAQnDo8B,EAAgBvyC,uBACpB,SAACjM,GACC,OAAQA,GACN,KAAKowC,GAAUvyB,IACb,MAAO,CAAE4gC,UAAW/5B,EAAO44B,YAAanyB,QAAS,IACnD,KAAKilB,GAAUY,KACb,MAAO,CACLyN,UAAW/5B,EAAO64B,aAClBpyB,QAASzG,EAAOw4B,iBAEpB,QACE,MAAO,CAAEuB,UAAW/5B,EAAO+4B,eAAgBtyB,QAAS,OAG1D,CACEzG,EAAO44B,YACP54B,EAAO64B,aACP74B,EAAO+4B,eACP/4B,EAAOw4B,kBAGPwB,EAAc,uCAAE,sBAAAn4C,EAAA,sDACpBhC,EAASm5C,MAAqB35C,MAAK,SAAC0C,GACnC+J,OAAOyV,KAAK,wCAEZ2Z,OAAM,WACL17B,GAAMK,SACJ9C,EAAU,CACRnB,MAAOyQ,KAAOmB,EAAE,wBAChB3R,SAAUwQ,KAAOmB,EAAE,2CACnBlS,KAAM,QACNE,kBAAkB,EAClBC,kBAAkB,QAXJ,2CAAF,qDAiBlB,OACE,yBAAK+kB,UAAS,UAAKR,EAAOyG,QAAZ,YAAuBqzB,EAAcx+C,GAAMmrB,UACtDhY,EACC,kBAAC,KAAWuxB,EACTvxB,EAAOtK,KAAI,SAACizB,EAAMllB,GAAP,OACV,kBAACq7B,GAAA,EAAD,cACM,CAAE5oB,QAASs1B,MADjB,CAEEj0B,GAAIiI,QAAQxf,GACZ5Q,IAAG,aAAQqU,EAAR,YAAiBklB,EAAKx7B,MAAtB,YAA+Bw7B,EAAK8iB,UAEvC,yBACE15B,UAAWR,EAAOs4B,OAClB52B,QAASs4B,EACTt8B,MAAO,CAAE5C,OAAQsc,EAAK+iB,YAAc,UAAY,YAEhD,yBACEC,aAAYhjB,EAAKx7B,MACjB4kB,UAAS,UAAKR,EAAO24B,YAAZ,YACPmB,EAAcx+C,GAAMy+C,WAEtBr8B,MAAO,CACLgK,gBAAgB,QAAD,QAhEf/kB,EAiEEy0B,EAAK4U,OAAO,GAAGqO,UAhElB13C,EAAI/C,SAAS,QAAU+C,EAAvB,iBAAuCA,IACxCuK,QAAQ,MAAO,MA8DE,WAhEhB,IAACvK,MA0EZ,yBAAK6d,UAAWR,EAAOooB,QACrB,kBAAC9nB,GAAA,EAAD,CAAkBC,KAAM,Q,UChLlC,SAAS,KAA2Q,OAA9P,GAAWlc,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IC4CK0+B,GD5CD,GAAqB,IAAM19B,cAAc,IAAK,CAChDrf,GAAI,gBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,SACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,8pBACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,gDACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,0/BACHtf,GAAI,QACJid,KAAM,cAGJ,GAAgB,SAAuB4C,GACzC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAe,GAAS,CAC9DS,OAAQQ,GACPP,O,IAEU,I,2BEpDThE,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACX66B,UAAW,CACTtgC,QAAS,OACTC,cAAe,SACf,MAAO,CACLH,OAAQ,UACRc,SAAU,GACVoD,QAAS,IACTtE,MxJDsB,UwJEtB0F,cAAe,UAEjB,QAAS,CACPiI,UAAW,OACX6N,WAAY,SACZ5V,SAAU,SACVgtB,aAAc,WACd1xB,SAAU,GACVlB,MxJVsB,UwJWtB0F,cAAe,SACftE,WAAYvB,EAAMwB,WAAWC,eAE7BC,WAAY,gCAMPs/B,GAMR,SAAC,GAA+C,IAA7C9zB,EAA4C,EAA5CA,OAAQC,EAAoC,EAApCA,QAASuG,EAA2B,EAA3BA,MAAOjP,EAAoB,EAApBA,QAASw8B,EAAW,EAAXA,KACjCz6B,EAAS1G,KAEf,OACE,yBAAKkH,UAAWR,EAAOu6B,WACrB,2BAAI7zB,GACJ,kBAAC,cAAD,CACE1V,MAAO2V,EACPzT,KAAM,CAAE+K,QAAS,GACjBy8B,MAAO,CACLz8B,QAASA,EAAU,IAAO,EAC1BlD,WAAY0/B,EAAO,IAAM,IACzB5/B,SAAUqS,EAAQ,GAAK,aAGxB,SAAChqB,EAAQ2c,GACR,OACEA,GAAW,kBAAC,YAAS86B,IAAV,CAAcj9B,MAAOxa,GAASyjB,QCpDtCpN,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACXk7B,MAAO,CACL7gC,OAAQ,EACRH,SAAU,OACV2E,aAAc,GAEhBs8B,YAAY,aACV1gC,WAAY,SACZd,QAASG,EAAMa,QAAQ,EAAG,GAC1BQ,SAAU,GACVyE,WAAY,OACZD,cAAe,IACf1F,MzJJwB,UyJIAqE,GAAmB,KAC1CxE,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,KAG9BygC,iBAAkB,CAChBp/B,UAAW,iBCFJq/B,GAAmD,SAAC,GAY1D,IAXLr+C,EAWI,EAXJA,KACAs+C,EAUI,EAVJA,oBACA/qC,EASI,EATJA,QACAuC,EAQI,EARJA,YACAyoC,EAOI,EAPJA,cACAC,EAMI,EANJA,mBACAC,EAKI,EALJA,OACAC,EAII,EAJJA,QACAC,EAGI,EAHJA,eACApwC,EAEI,EAFJA,oBACAqwC,EACI,EADJA,sBAEMt7B,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAER,OACE,kBAACo0B,GAAA,EAAD,CAAMpb,WAAS,EAACkrB,UAAU,SAASlxB,UAAWR,EAAO46B,OACnD,kBAAChZ,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAACob,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGC,GAAI,EAAGh7B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAQlZ,EAAE,0CACVmZ,QAAO,OAAEjqB,QAAF,IAAEA,IAAQ,MAGrB,kBAACklC,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGC,GAAI,EAAGh7B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OACElU,IAAgBrb,eAAYE,MACxBmW,EAAE,2CACFA,EAAE,6CAERmZ,QACEnU,IAAgBrb,eAAYE,MAA5B,OACI4T,QADJ,IACIA,IAAuB,aACvBqwC,MAKZ,kBAAC1Z,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAACob,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGC,GAAI,EAAGh7B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAQlZ,EAAE,2CACVmZ,QAASs0B,KAGb,kBAACrZ,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGC,GAAI,EAAGh7B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAQlZ,EAAE,oCACVmZ,QAASu0B,MAIf,kBAACtZ,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAACob,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGC,GAAI,EAAGh7B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAQlZ,EAAE,0CACVmZ,QAAS1W,KAGb,kBAAC2xB,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGC,GAAI,EAAGh7B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAQlZ,EAAE,qDACVmZ,QAASq0B,MAIf,kBAACpZ,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAACob,GAAA,EAAD,CACExK,MAAI,EACJoY,GAAI,GACJ+L,GAAI,EACJC,GAAI,EACJh7B,UAAS,UAAKR,EAAO66B,YAAZ,YAA2B76B,EAAO86B,mBAE3C,kBAAC,GAAD,CACEp0B,OAAQlZ,EAAE,yCACVmZ,QAASw0B,KAGb,kBAACvZ,GAAA,EAAD,CACExK,MAAI,EACJoY,GAAI,GACJ+L,GAAI,EACJ/6B,UAAS,UAAKR,EAAO66B,YAAZ,YAA2B76B,EAAO86B,mBAE3C,kBAAC,GAAD,CACEp0B,OAAQlZ,EAAE,oCACVmZ,QAASy0B,KAGb,kBAACxZ,GAAA,EAAD,CACExK,MAAI,EACJoY,GAAI,GACJ+L,GAAI,EACJC,GAAI,EACJh7B,UAAS,UAAKR,EAAO66B,YAAZ,YAA2B76B,EAAO86B,mBAE3C,kBAAC,GAAD,CACEp0B,OAAQlZ,EAAE,2CACVmZ,QAAS00B,Q,UCtHN9hC,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACXk7B,MAAO,CACL7gC,OAAQ,EACRH,SAAU,OACV2E,aAAc,GAEhBs8B,YAAY,aACV1gC,WAAY,SACZd,QAASG,EAAMa,QAAQ,EAAG,GAC1BQ,SAAU,GACVyE,WAAY,OACZD,cAAe,IACf1F,M3JJwB,U2JIAqE,GAAmB,KAC1CxE,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,KAG9BygC,iBAAkB,CAChBp/B,UAAW,YAEb0d,QAAS,CACPrf,OAAQP,EAAMa,QAAQ,EAAG,SCZlBohC,GAAqC,SAAC,GAK5C,IAJLxrC,EAII,EAJJA,QACAyrC,EAGI,EAHJA,cACAR,EAEI,EAFJA,mBACAC,EACI,EADJA,OAEMn7B,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAEA/F,EAAkDi0C,EAAlDj0C,OAAQk0C,EAA0CD,EAA1CC,qBAAsBC,EAAoBF,EAApBE,gBAEtC,OACE,oCACE,kBAACha,GAAA,EAAD,CAAMpb,WAAS,EAACkrB,UAAU,SAASlxB,UAAWR,EAAO46B,OACnD,kBAAChZ,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAACob,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGC,GAAI,EAAGh7B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAQlZ,EAAE,0CACVmZ,QAAS1W,KAGb,kBAAC2xB,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAG/6B,UAAWR,EAAO66B,aAC1C,kBAAC,GAAD,CACEn0B,OAAQlZ,EAAE,qDACVmZ,QAASlf,GAAU,OAIzB,kBAACo0C,GAAA,EAAD,CAASr7B,UAAWR,EAAOoZ,UAC3B,kBAACwI,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAACob,GAAA,EAAD,CACExK,MAAI,EACJoY,GAAI,GACJ+L,GAAI,EACJC,GAAIG,EAAuB,EAAI,EAC/Bn7B,UAAS,UAAKR,EAAO66B,YAAZ,YAA2B76B,EAAO86B,mBAE3C,kBAAC,GAAD,CACEp0B,OAAQlZ,EAAE,oCACVmZ,QAASu0B,KAGb,kBAACtZ,GAAA,EAAD,CACExK,MAAI,EACJoY,GAAI,GACJ+L,GAAI,EACJC,GAAIG,EAAuB,EAAI,EAC/Bn7B,UAAS,UAAKR,EAAO66B,YAAZ,YAA2B76B,EAAO86B,mBAE3C,kBAAC,GAAD,CACEp0B,OAAQlZ,EAAE,yCACVmZ,QAASw0B,KAGZQ,EACC,kBAAC/Z,GAAA,EAAD,CACExK,MAAI,EACJmkB,GAAI,GACJC,GAAI,EACJh7B,UAAS,UAAKR,EAAO66B,YAAZ,YAA2B76B,EAAO86B,mBAE3C,kBAAC,GAAD,CACEp0B,OAAQlZ,EAAE,+CACVmZ,QAASg1B,EAAuB,IAAMC,KAI1C,yCC5EGriC,iBAAW,SAACC,GAAD,aACxBkG,aAAa,CACXgH,OAAO,aACLzM,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChBjC,QAASG,EAAMa,QAAQ,EAAG,GAC1B4E,gB7JGmB,U6JFnBtF,MAAO8X,YACP5W,SAAU,GACVwE,cAAe,IACfC,WAAY,OACZvE,WAAYvB,EAAMwB,WAAWC,gBAC5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,GACvBH,cAAe,WAGnBof,kBAAgB,GACdrf,QAAS,OACTE,WAAY,SACZyU,SAAU,OACVrU,YAAaf,EAAMa,QAAQ,GAC3BQ,SAAU,GACVwE,cAAe,IACf,MAAO,CACLpF,QAAS,OACT2U,SAAU,OACV7U,OAAQ,EACRQ,YAAaf,EAAMa,QAAQ,GAC3BQ,SAAU,GACVwE,cAAe,IACfC,WAAY,QAEd,SAAU,CACR3F,M7J3BsB,U6J4BtBY,YAAaf,EAAMa,QAAQ,IAE7B,QAAS,CACPJ,QAAS,OACTE,WAAY,SACZI,YAAaf,EAAMa,QAAQ,GAC3BS,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BO,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,MAE/B,QAAS,CACPzB,MAnDa,GAoDbgF,OApDa,GAqDbnE,YAAaf,EAAMa,QAAQ,KAE7B,MAAO,CACLN,OAAQ,EACRc,SAAU,GACVwE,cAAe,YAtCL,cAyCb7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfC,WAAY,aACZ,SAAU,CACRJ,OAAQP,EAAMa,QAAQ,EAAG,EAAG,MA7ClB,cAgDbb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4B,UAAW,aACX,SAAU,CACRb,SAAU,MAnDA,GAuDhB+a,QAAS,CACPta,eAAgB,YAElBwgC,iBAAiB,eACdtiC,EAAMK,YAAYC,KAAK,MAAQ,CAC9B0B,UAAWhC,EAAMa,QAAQ,IACzBqB,UAAW,aAGfqgC,aAAc,CACZ9hC,QAAS,OACTqN,UAAW,IACX5N,MAAO,MACPkF,OAAQ,mBAEVs8B,mBAAoB,CAClBjhC,QAAS,OACTqB,eAAgB,aAChBnB,WAAY,SACZyU,SAAU,OACV,SAAU,CACR/T,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BJ,YAAaf,EAAMa,QAAQ,IAE7B,QAAS,CACPJ,QAAS,OACTqB,eAAgB,aAChBnB,WAAY,SACZW,OAAQ,UACR,QAAS,CACPf,OAAQP,EAAMa,QAAQ,EAAG,GAAK,EAAG,GACjCX,MA5Ga,GA6GbuJ,SA7Ga,GA8GbvE,OA9Ga,GA+Gb4I,UA/Ga,GAgHb9M,KAAMhB,EAAMiB,QAAQC,QAAQC,KAC5BO,WAAY,yBAEd,SAAU,CACRL,SAAU,GACVK,WAAY,0BAEd,UAAW,CACT,QAAS,CACPV,KAAMhB,EAAMiB,QAAQC,QAAQS,MAE9B,SAAU,CACRxB,MAAOH,EAAMiB,QAAQC,QAAQS,SAKrC/f,MAAO,CACL6e,QAAS,OACTC,cAAe,SACfC,WAAY,SACZmB,eAAgB,SAChBjC,QAASG,EAAMa,QAAQ,EAAG,EAAG,GAC7B,eAAgB,CACduI,UAAW,SACX7I,OAAQP,EAAMa,QAAQ,EAAG,EAAG,IAE9B,OAAQ,CACNQ,SAAU,GACVlB,M7JnIsB,W6JqIxB,OAAQ,CACNkB,SAAU,GACVlB,M7JvIsB,W6JyIxB,OAAQ,CACNkB,SAAU,GACVlB,MAAO,UACPI,OAAQ,GAEV,QAAS,CACP2I,cAAe,GAEjB,SAAU,CACRhJ,MAAO,SAGXsiC,oBAAoB,aAClBzqB,WAAY/X,EAAMa,QAAQ,GAC1BJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,eCxKFH,iBAAW,SAACC,GAAD,eACxBkG,aAAa,CACX8R,eAAgB,CACd,uBACEnY,QAAS,kBADX,cAEGG,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4I,cAAe,SAHnB,cAKGlJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,mBANb,IAUFsN,QAAS,CACP1M,QAAS,OACTC,cAAe,SACfC,WAAY,SACZyI,UAAW,SACXvJ,QAAS,EAET,OAAO,aACLU,OAAQ,WACRc,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZsD,UAAW,SACX7H,WAAYvB,EAAMwB,WAAWkW,kBAE5B1X,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAIhBmU,MAAM,aACJtV,MAAO,MACPK,OAAQ,YACPP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,SAGXojB,gBAAgB,aACd7iB,QAAS,OACTyB,UAAW,SACXJ,eAAgB,gBAChB5B,MAAO,MACPL,QAAS,GAERG,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,mBAGnByH,QAAM,GACJ5H,OAAQ,EACR2E,OAAQ,OACRhF,MAAO,MACPmB,SAAU,IAJN,cAKHrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,GACVT,aAAc,OACdV,MAAO,SARL,cAUHF,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KAXR,QC/BGohC,GAAkF,SAAC,GAIzF,IAAD,EAHJpvB,EAGI,EAHJA,KACAyH,EAEI,EAFJA,QACA4nB,EACI,EADJA,UAEQ1uC,EAAM+V,eAAN/V,EACAjQ,EAAgD2+C,EAAhD3+C,GAAIb,EAA4Cw/C,EAA5Cx/C,KAAM+K,EAAsCy0C,EAAtCz0C,OAAQ00C,EAA8BD,EAA9BC,WAAYC,EAAkBF,EAAlBE,cAEhCp8B,EAAS1G,KAJX,EAK0BpS,mBAAQ,iBAACxK,QAAD,IAACA,IAAQ+K,SAAT,QAAmB,IALrD,mBAKG40C,EALH,KAKYC,EALZ,KAOEC,EAAYh1C,uBAChB,SAAC80C,GACC,OAAIA,EAAQv4C,OAAS,EACZ0J,EAAE,2CACA6uC,EAAQv4C,OAAS,GACnB0J,EAAE,2CACe,MAAf6uC,EAAQ,GACV7uC,EAAE,+BACC,iIAA2CvF,KAAKo0C,GAGrD,GAFE7uC,EAAE,2CAIb,CAACA,IApBC,EAuBwBxG,GAAO,CACjCnE,cAAc,EACdD,oBAAoB,EACpBH,OAAQ,CACNC,OAAQ,MACRC,IAAI,qBAAD,OAAuBpF,EAAvB,YALAi/C,EAvBH,oBAgCEC,EAAal1C,sBAAW,uCAC5B,WAAO7K,GAAP,SAAAmF,EAAA,yDACOosB,QAAQsuB,EAAU7/C,IADzB,0CAGY8/C,EAAkB,CACtBx6C,KAAM,CACJtF,UALV,sDASMggD,QAAQC,IAAR,MATN,uBAWM5uC,YAAW,WACTumB,GAAQ,GACR6nB,GAAW,EAAOC,KACjB,KAdT,0EAD4B,sDAmB5B,CAACI,EAAmBD,EAAWjoB,EAAS6nB,EAAYC,IAGtD,OACE,kBAAC96B,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAMsL,EACNC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTrD,UAAWR,EAAOwR,eAClB7N,QAAS,kBAAM2Q,GAAQ,KAEvB,kBAACtQ,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC/B,4BAAKnZ,EAAE,qDACP,yBAAKgT,UAAWR,EAAOgP,OACrB,kBAAC,GAAD,CACEjd,MAAOsqC,EACP9sB,OAAQ,SACNjL,GADM,OAEHg4B,EAAWh4B,EAAE1I,OAAO7J,QACzB2Y,SAAU6xB,EAAUF,OAI1B,kBAACrvB,GAAA,EAAD,CAAexM,UAAWR,EAAO8c,iBAC/B,kBAAC,GAAD,CAAQpb,QAAS,kBAAM4S,GAAQ,IAAQ9T,UAAWR,EAAO2B,QACtDnU,EAAE,6BAEL,kBAAC,GAAD,CACElS,KAAK,OACLomB,QAAS,WACP+6B,EAAWJ,IAEb77B,UAAWR,EAAO2B,OAClBa,QAAM,GAELhV,EAAE,sC,UChHE+L,iBAAW,SAACC,GAAD,cAAmB,CAC3CiN,SAAO,GACL/M,MAAO,OACP2I,UAAW,aACX,qBAAsB,CACpBiP,YAAa,yBAEfC,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAPxB,cAQJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAV1B,cAYJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAd1B,GAiBPze,OAAK,GACHif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,ehKZ0B,UgKa1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,KAPzB,cAQFb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,KAT3B,cAWFb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,KAZ3B,GAeL2X,eAAgB,CACdT,WAAY/X,EAAMa,QAAQ,IAE5B63B,aAAa,aACXx2B,UAAW,SACXzB,QAAS,OACTC,cAAe,MACfC,WAAY,SACZoX,WAAY/X,EAAMa,QAAQ,GAC1B,SAAU,CACRV,MAAO,UACPiJ,UAAW,UAEb7H,WAAYvB,EAAMwB,WAAWC,gBAC5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,KAG9BuX,eAAe,aACbpW,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BX,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,UAIbmY,YAAa,CACXrW,UAAWhC,EAAMa,QAAQ,IAE3B0X,KAAM,CACJ9X,QAAS,OACTC,cAAe,SACfb,QAASG,EAAMa,QAAQ,EAAG,SClCjBuiC,GAA+C,SAAC,GAYtD,InCjDoB9gD,EmCsCzBF,EAWI,EAXJA,MACA4U,EAUI,EAVJA,OACAC,EASI,EATJA,OACA/U,EAQI,EARJA,SACAC,EAOI,EAPJA,SACAkhD,EAMI,EANJA,cACAC,EAKI,EALJA,cACAve,EAII,EAJJA,SACA0D,EAGI,EAHJA,UACA8a,EAEI,EAFJA,eACAC,EACI,EADJA,cAEMh9B,EAAS1G,KACP9L,EAAM+V,eAAN/V,EACF+6B,EAAgB93B,EAClB,CAAED,OAAQA,EAAOuB,MAAOtB,OAAQA,EAAOsB,OACvC,CAAEvB,OAAQA,EAAOuB,OAErB,OACE,kBAAC6vB,GAAA,EAAD,CAAMphB,UAAWR,EAAOyG,QAASD,WAAS,EAACkrB,UAAU,UAClD91C,GACC,kBAACimC,GAAA,EAAD,CAAYrhB,UAAWR,EAAOpkB,QnC3DXE,EmC4DLF,EAAMikC,enC3DrBsT,OAAO,GAAGC,cAAgBt3C,EAAKwrC,MAAM,ImC8DtC,kBAAC1F,GAAA,EAAD,KACE,kBAAC,KAAD,CACE2G,cAAeA,EACf7sC,SAAUA,EACV6iC,SAAUA,EACV8W,kBAAgB,IAEf,YAAiB,IAAdnyC,EAAa,EAAbA,OACF,OACE,kBAAC,KAAD,CAAMsd,UAAWR,EAAO+R,MACtB,kBAAC,GAAD,CAAamQ,cAAe1K,GAAcqL,OAAQnmC,KAAK,SAAS+tB,MAAOja,EAAOia,QAC7Eha,GAAU,kBAAC,GAAD,CAAayxB,cAAe1K,GAAcqL,OAAQnmC,KAAK,SAAS+tB,MAAOha,EAAOga,QACzF,kBAAC1E,GAAA,EAAD,CAAUC,GAAIiI,QAAQgU,IACpB,yBAAKzhB,UAAWR,EAAOgS,gBACrB,kBAAC2Q,GAAD,CAAc/mC,MAAOqmC,MAGxB+a,GACC,yBAAKx8B,UAAWR,EAAOkyB,cAAe8K,GAExC,yBAAKx8B,UAAWR,EAAO4R,gBACrB,kBAAC,GAAD,CAAQlQ,QAAS/lB,GAAjB,OACGmhD,QADH,IACGA,IAAiBtvC,EAAE,UAEtB,kBAAC,GAAD,CACElS,KAAK,OACLknB,QAAM,EACN0B,WAEI64B,GACA75C,EAAOsN,SAAW+3B,EAAc/3B,QAC/BC,GAAUvN,EAAOuN,SAAW83B,EAAc93B,SAPjD,OAWGosC,QAXH,IAWGA,IAAiBrvC,EAAE,kB,SVhDnC8sC,O,yBAAAA,I,4BAAAA,Q,KAKE,IAAM2C,GAAoD,SAAC,GAO3D,IAAD,cANJ7rC,EAMI,EANJA,kBACAzG,EAKI,EALJA,QACA0G,EAII,EAJJA,WACAmqB,EAGI,EAHJA,QAEA0hB,GACI,EAFJ7gD,gCAEI,EADJ6gD,yBAEMl9B,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAEF3N,EAAWwW,KAJb,EASAnP,mBAA0C,MAT1C,mBAOFw0C,EAPE,KAQFyB,EARE,OAUsCj2C,oBAAS,GAV/C,mBAUGk2C,EAVH,KAUkBC,EAVlB,OAYgEn2C,oBAClE,GAbE,mBAYGo2C,EAZH,KAY+BC,EAZ/B,cAgBmC7B,QAhBnC,IAgBmCA,IAAiB,GAAhD/qC,EAhBJ,EAgBIA,aAAce,EAhBlB,EAgBkBA,aAhBlB,SAmBFN,QAnBE,IAmBFA,IAAqB,GADfpP,EAlBJ,EAkBIA,KAAMo6C,EAlBV,EAkBUA,cAAeoB,EAlBzB,EAkByBA,iBAAkBrB,EAlB3C,EAkB2CA,WAG/ClkC,qBAAU,WACRmkC,GAAiBoB,EAAiBpB,KACjC,CAACA,EAAeoB,IAEnBC,cAAqB,WACnBz7C,GAAQm7C,EAAiBn7C,EAAKo6C,MAC7B,CAACA,EAAee,EAAkBn7C,IA3BjC,MA6B+BgF,GAAO,CACxCpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,SAJLg7C,EA7BH,oBAqCEC,EAAex8B,mBAAQ,WAG3B,OADEu6B,GAAiBrqC,GAAcA,EAAU,OAACqqC,QAAD,IAACA,OAAD,EAACA,EAAexqC,eAE1D,CAACwqC,EAAerqC,IAEbusC,EAAkBz8B,mBAAQ,WAAO,IAAD,IAE9Bg6B,EADYwC,IAEP,UAFOA,EAEOE,kBAAd,aAAI,EAAsBtiB,MAAK,SAAAuiB,GAAK,MAAmB,WAAfA,EAAMxiD,SACzD,wBAAO6/C,QAAP,IAAOA,OAAP,EAAOA,EAAQppC,aAAf,QAAwBvE,EAAE,8BACzB,CAACmwC,EAAcnwC,IAEZ6tC,EAAiBl6B,mBAAQ,WAAO,IAAD,IAE7Bg6B,EADYwC,IAEP,UAFOA,EAGNE,kBADD,aACT,EAAsBtiB,MAAK,SAAAuiB,GAAK,MAAmB,mBAAfA,EAAMxiD,SAC5C,wBAAO6/C,QAAP,IAAOA,OAAP,EAAOA,EAAQppC,aAAf,QAAwB,KACvB,CAAC4rC,IAEE1C,EAAgB95B,mBAAQ,WAC5B,IACM7lB,EADYqiD,KACkB1C,cAEpC,OADuB3/C,EAAOjC,2BAAwBiC,GAAQ,MAE7D,CAACqiD,IAEEI,EAAmB58B,mBAAQ,WAC/B,IACM68B,EADYL,KACoBK,OACtC,OAAOA,EAASC,aAAOC,aAASF,GAAS,cAAgB,sBACxD,CAACL,IAEEQ,EAAiCh9B,mBAAQ,WAC7C,IAAMlQ,EAAY0sC,EAOlB,OALE,kBAAC,GAAD,CACEtoB,GAAE,OAAEpkB,QAAF,IAAEA,OAAF,EAAEA,EAAWxF,2BACf6pB,GAAE,OAAErkB,QAAF,IAAEA,OAAF,EAAEA,EAAWvF,+BAIlB,CAACiyC,IAEES,EAA+Bj9B,mBAAQ,WAC3C,IAAMlQ,EAAY0sC,EAKlB,OAHW,OAAT1sC,QAAS,IAATA,OAAA,EAAAA,EAAWe,kBAAmBklB,aAAO,OAACjmB,QAAD,IAACA,OAAD,EAACA,EAAWe,gBAAjD,OACIf,QADJ,IACIA,OADJ,EACIA,EAAWe,eAAe,GAC1BxE,EAAE,8BAEP,CAACmwC,EAAcnwC,IAEZgF,GAAc2O,mBAAQ,WAE1B,cADkBw8B,QAClB,IADkBA,OAClB,EADkBA,EACAnrC,cACjB,CAACmrC,IAEEU,GAAoB92C,sBAAW,uCACnC,WAAO0K,GAAP,mBAAApQ,EAAA,4DAEQtE,EAFR,QACQ0T,EAAY0sC,SADpB,IAEa1sC,OAFb,EAEaA,EAAWC,eAChB,OAAIwqC,QAAJ,IAAIA,OAAJ,EAAIA,EAAe/qC,gBAArB,OAAqC+qC,QAArC,IAAqCA,OAArC,EAAqCA,EAAehqC,eAH1D,gCAIUgsC,EAAyB,CAC7B/6C,IAAI,cAAD,OAAgBpF,EAAhB,gBACHyE,KAAM,CACJwQ,YAAarb,eAAYE,MACzB6T,gBAAiB+G,KARzB,OAWIpS,EAAS1C,EAA0B,iBAACwgD,QAAD,IAACA,OAAD,EAACA,EAAczsC,mBAAf,QAA8B,KAXrE,2CADmC,sDAenC,CAACysC,EAAcD,EAA0B79C,EAAU67C,IAG/C4C,GAAmB/2C,uBACvB,SAAC60C,GACCv8C,EACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO4R,EAAE,wCACT3R,SAAU2R,EAAE,mCACZ1R,KAAM0R,EAAE,+CACRhS,kBAAkB,EAClBG,SAAU,WACRkE,EAAShD,MACU,IAAnBu/C,GAAwBD,GAAW,EAAOC,SAKlD,CAACv8C,EAAU2N,EAAG2uC,IAGVjB,GAAqB/5B,mBAAQ,WACjC,OACE,yBAAKX,UAAWR,EAAOk7B,mBAAoBx5B,QAAS,cACjDlP,KAAgBrb,eAAYE,MAC3B,8BAAOmW,EAAE,+BAET,oCACE,8BAAOA,EAAE,+BACT,yBAAKkU,QAASw7B,GACZ,kBAAC,GAAD,MACA,8BAAO1vC,EAAE,6BAMlB,CAACgF,GAAawN,EAAQxS,EAAG0vC,IAEtBlT,GAAY,uCAAG,aAEnBoS,GAFmB,eAAAv6C,EAAA,sDACToQ,EADS,EACjBzB,OAGF+sC,GAA8B,GAC9Bc,GAAkBpsC,GAClBqsC,GAAiBlC,GANE,2CAAH,wDAvJd,GAgKwCl1C,mBAC1CozC,GAAaiE,WAjKX,qBAgKGC,GAhKH,MAgKmBC,GAhKnB,MAoKJ,OACE,oCACE,kBAAC,GAAD,CAAOpjD,OAAQiiD,GACb,yBAAK98B,UAAWR,EAAO5kB,OACrB,kBAAC,GAAD,CAAME,KAAM,gBACXkjD,KAAmBlE,GAAaiE,UAC/B,oCACE,4BAAK/wC,EAAE,2CACP,4BAAKA,EAAE,8BACP,yBAAKgT,UAAWR,EAAOg8B,qBACrB,kBAAC,GAAD,CAAQt6B,QAAS,kBAAM67B,GAA8B,KAArD,aAGA,kBAAC,GAAD,CACEjiD,KAAK,OACLomB,QAAS,kBAAM+8B,GAAkBnE,GAAaoE,cAFhD,oBASJ,oCACE,uDACGhD,QADH,IACGA,OADH,EACGA,EAAeh/C,YADlB,QAEM,kBAAC,GAAD,CAAe24B,GAAI1kB,EAAc2kB,GAAI5jB,WAF3C,eAIIgqC,QAJJ,IAIIA,OAJJ,EAIIA,EAAej0C,QAEnB,4HAIA,kBAAC,GAAD,CACE9L,SAAU,WACR4hD,GAA8B,GAC9BkB,GAAkBnE,GAAaiE,YAEjC7iD,SAAU,SAAAwH,GACR8mC,GAAa9mC,EAAQk5C,GACrBqC,GAAkBnE,GAAaiE,YAEjChgB,SAAUmU,GACV92C,MAAO,GACP4U,OAAM,2BACD,CAAEia,MAAO,qBAAsB/tB,KAAM,WADpC,IAEJqV,MACEqsC,IACA5wC,EAAE,4BACE4wC,EACA,KAERvB,cAAc,iBACdC,cAAc,YACdC,gBAAc,OAMvBvhB,EACC,qCACO,OAAJx5B,QAAI,IAAJA,OAAA,EAAAA,EAAM8B,QAAS,GACd,kBAAC,GAAD,CACE0c,UAAWR,EAAO4V,QAClBx1B,MAAK,iBAAE4B,QAAF,IAAEA,OAAF,EAAEA,EAAM8B,cAAR,QAAkB,EACvBoO,MAAOkqC,EACP3c,SAAU+d,IAGb7yC,GAAW+wC,GACV,kBAAC,GAAD,CACEh/C,KAAI,UAAEiO,EAAQjO,YAAV,QAAkB,GACtBs+C,oBAAmB,iBAAEU,QAAF,IAAEA,OAAF,EAAEA,EAAej0C,cAAjB,QAA2B,GAC9CwI,QAAS,kBAAC,GAAD,CAAeolB,GAAI1kB,EAAc2kB,GAAI5jB,IAC9Cc,YAAaA,GACbyoC,cAAeA,EACfC,mBAAoBA,GACpBC,OAAQyC,EACRxC,QAAS2C,EACT1C,eAAgBA,EAChBpwC,oBAAqBmzC,EACrB9C,sBAAuB6C,KAK7B,oCACE,yBAAK39B,UAAWR,EAAO0G,QACrB,yBAAKlG,UAAWR,EAAOsZ,kBACrB,2BAAI9rB,EAAE,mCACN,+CAAOkuC,QAAP,IAAOA,OAAP,EAAOA,EAAeh/C,YAAtB,eAA8Bg/C,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAej0C,QAC7C,yBAAKia,QAAS,kBAAM27B,GAAiB,SAAAv3B,GAAI,OAAKA,OAC5C,kBAAC,GAAD,MACA,2BAAItY,EAAE,gCAGL,OAAJxL,QAAI,IAAJA,OAAA,EAAAA,EAAM8B,QAAS,GACd,yBAAK0c,UAAWR,EAAO87B,kBACrB,kBAAC,GAAD,CACEt7B,UAAWR,EAAO4V,QAClBx1B,MAAK,iBAAE4B,QAAF,IAAEA,OAAF,EAAEA,EAAM8B,cAAR,QAAkB,EACvBoO,MAAOkqC,EACP3c,SAAU+d,MAKjB9B,GACC,kBAAC,GAAD,CACEzrC,QAAS,kBAAC,GAAD,CAAeolB,GAAI1kB,EAAc2kB,GAAI5jB,IAC9CgqC,cAAeA,EACfR,mBAAoBA,GACpBC,OAAQyC,IAGXR,IAAa,OACZ1B,QADY,IACZA,OADY,EACZA,EAAe9nC,sBADhB,OAEC8nC,QAFD,IAECA,OAFD,EAECA,EAAej0C,SACb,kBAAC,GAAD,CACEolB,KAAMuwB,EACN9oB,QAAS+oB,EACTnB,UAAW,CACT3+C,GAAE,OAAEm+C,QAAF,IAAEA,OAAF,EAAEA,EAAe9nC,mBACnBlX,KAAI,OAAEg/C,QAAF,IAAEA,OAAF,EAAEA,EAAeh/C,KACrB+K,OAAM,OAAEi0C,QAAF,IAAEA,OAAF,EAAEA,EAAej0C,OACvB00C,aACAC,sBW3VZ9iC,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXk7B,MAAO,CACL7gC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BT,SAAU,OACV2E,aAAc,OAEhBs8B,YAAY,aACV1gC,WAAY,SACZd,QAASG,EAAMa,QAAQ,EAAG,GAC1BQ,SAAU,GACVyE,WAAY,OACZD,cAAe,IACf1F,MlKRwB,UkKQAqE,GAAmB,KAC1CxE,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,UAYrBskC,GAA8C,SAAC,GAErD,IADLC,EACI,EADJA,cAEM5+B,EAAS1G,KADX,SAaAslC,QAbA,IAaAA,IAAiB,GATnBliD,EAJE,EAIFA,KACApB,EALE,EAKFA,KACAwP,EANE,EAMFA,mBACAzF,EAPE,EAOFA,eACA+F,EARE,EAQFA,iBACAE,EATE,EASFA,iBACAG,EAVE,EAUFA,2BACAC,EAXE,EAWFA,2BACAT,EAZE,EAYFA,oBAGI4zC,EAAc19B,mBAClB,kBAAM,kBAAC,GAAD,CAAekU,GAAIjqB,EAAkBkqB,GAAIhqB,MAC/C,CAACF,EAAkBE,IAGfgwC,EAAwBn6B,mBAC5B,kBACE,kBAAC,GAAD,CACEkU,GAAI5pB,EACJ6pB,GAAI5pB,MAGR,CAACD,EAA4BC,IAG/B,OACE,oCACE,kBAACk2B,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWR,EAAO46B,OAChC,kBAAChZ,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAIgM,GAAI,EAAGsD,GAAI,EAAGt+B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OACW,eAATprB,EAAwB,uBAAoB,sBAE9CqrB,QAASjqB,GAAQ,MAGrB,kBAACklC,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGuD,GAAI,EAAGt+B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAO,qBACPC,QAAS7b,GAAsB,gBAInC,kBAAC82B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGuD,GAAI,EAAGt+B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAO,sBACPC,QAAO,OAAEthB,QAAF,IAAEA,IAAkB,MAG/B,kBAACu8B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAIgM,GAAI,EAAGsD,GAAI,EAAGt+B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAO,SACPC,QAAO,OAAE1b,QAAF,IAAEA,IAAuB,gBAGpC,kBAAC22B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGuD,GAAI,EAAGt+B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CAAkBn0B,OAAO,QAAQC,QAASk4B,KAE5C,kBAACjd,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GAAI+L,GAAI,EAAGuD,GAAI,EAAGt+B,UAAWR,EAAO66B,aACjD,kBAAC,GAAD,CACEn0B,OAAO,yBACPC,QAAS20B,Q,oBCvGrB,SAAS,KAA2Q,OAA9P,GAAWj3C,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,mBACJ8oB,UAAW,wCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,yBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,sBACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,WAAY,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,+EACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,2zBACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,olBACHtf,GAAI,OACJid,KAAM,iBAGJ,GAAc,SAAqB4C,GACrC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAa,GAAS,CAC5DS,OAAQQ,GACPP,OAEU,ICjEf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,mBACJ8oB,UAAW,uCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,qCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,uBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,aACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,yrBACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,OAAQ,CAC3CC,EAAG,ogCACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,8UACHtf,GAAI,QACJid,KAAM,iBAGJ,GAAgB,SAAuB4C,GACzC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAe,GAAS,CAC9DS,OAAQQ,GACPP,O,IAEU,I,mBCrDThE,I,OAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXq/B,WAAY,CACV9kC,QAAS,OACTC,cAAe,SACfE,aAAcZ,EAAMa,QAAQ,GAC5BqI,cAAelJ,EAAMa,QAAQ,GAC7B4e,aAAc,yBAEhB+lB,WAAY,CACV/kC,QAAS,OACTE,WAAY,SACZC,aAAcZ,EAAMa,QAAQ,IAE9B6H,KAAM,CACJjI,QAAS,OACTqB,eAAgB,aAChBnB,WAAY,SACZI,YAAaf,EAAMa,QAAQ,IAE7BqM,OAAQ,CACN/M,MrKrBwB,UqKsBxB,MAAO,CACLI,OAAQP,EAAMa,QAAQ,EAAG,EAAG,IAC5B4D,QAAS,IACTpD,SAAU,GACVwE,cAAe,UAEjB,OAAQ,CACNtF,OAAQ,EACRc,SAAU,GACVwE,cAAe,WAGnB4/B,YAAa,CACXvgC,OArCsB,GAsCtB7D,SAAU,GACVwE,cAAe,SACfpF,QAAS,cACTgb,gBAAiB,WACjBC,gBAAiB,EACjB3V,SAAU,UAEZ8uB,MAAO,CACL3vB,O9DnCyC,I8DoCzChF,MAAO,OACPO,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZU,SAAU,GACVlB,MrKlDwB,UqKmDxBsE,QAAS,WASFihC,GAAgC,SAAC,GAAgB,IAAdC,EAAa,EAAbA,OAAa,cAC3BA,EAD2B,GACpDC,EADoD,KACzCC,EADyC,KAE3D,OACE,6BACE,6BACGD,GAAa,kBAAC,GAAD,CAAYL,WAAYK,IACrCC,GACC,oCACE,kBAACxD,GAAA,EAAD,CAASn+B,MAAO,CAAEtD,aAAc,MAChC,kBAAC,GAAD,CAAY2kC,WAAYM,QAQvBC,GAA6C,SAAC,GAAoB,IAAlBP,EAAiB,EAAjBA,WACrD/+B,EAAS1G,KACPimC,EAAuCR,EAAvCQ,KAAM3jD,EAAiCmjD,EAAjCnjD,MAAO4lC,EAA0Bud,EAA1Bvd,QAASge,EAAiBT,EAAjBS,aAExBC,EAAYl4C,uBAChB,SAACg4C,GAAD,OAAgBG,aAAYC,aAAUJ,MACtC,IAGIK,EAAgBr4C,uBACpB,SAACg4C,GAAD,OAAgBtB,aAAO0B,aAAUJ,GAAO,gBACxC,IAGF,OACE,yBACE/+B,UAAWR,EAAO++B,WAClBrhC,MAAO,CAAEub,aAAc,OAAQ7e,aAAc,MAE7C,yBAAKoG,UAAWR,EAAOg/B,YACrB,yBAAKx+B,UAAWR,EAAOkC,MACpBs9B,EAAe,kBAAC,GAAD,MAAkB,kBAAC,GAAD,OAEpC,yBAAKh/B,UAAWR,EAAO0G,QACrB,2BAAI64B,IAASE,EAAUF,GAAQ,UAAYK,EAAcL,KACzD,4BAAK3jD,KAGT,yBAAK4kB,UAAWR,EAAOi/B,aAAa,kBAAC,KAAD,CAAYzlC,MAAM,SAASqmC,UAAU,EAAM9tC,MAAO+tC,KAAKC,MAAL,OAAWve,QAAX,IAAWA,IAAW,S,4DC7GrGwe,GAAuB,WAAO,IAAD,EACkB94C,oBAAS,GAD3B,mBACjC+4C,EADiC,KACVC,EADU,KAElCrgD,EAAWwW,KAEjB,OAAO9O,uBACL,SACE44C,EACAC,GAWA,OAAOA,EAAYH,EANP,uCAAG,sBAAAp+C,EAAA,6DACbq+C,GAAyB,GADZ,SAEPrgD,EAASiN,GAAkBqzC,IAFpB,OAGbD,GAAyB,GAHZ,2CAAH,wDAQd,CAACrgD,EAAUogD,KC7BFI,GAAe,SAAC54C,EAAiB64C,GAC5C,cAAO74C,QAAP,IAAOA,OAAP,EAAOA,EAAQ84C,QAAR,OAAgBD,QAAhB,IAAgBA,IAAa,GAAGpzC,QAAQ,IAAK,MCDtD,SAAS,KAA2Q,OAA9P,GAAW7I,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,qKAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,YACJ,YAAa,aACC,IAAMqf,cAAc,IAAK,CACvCrf,GAAI,cACJ,YAAa,aACC,IAAMqf,cAAc,OAAQ,CAC1Crf,GAAI,YACJijB,UAAW,mBACX9G,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,OACJijB,UAAW,mBACX3D,EAAG,8IACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,mBACX3D,EAAG,sVACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,mBACX3D,EAAG,iLAGD,GAAgB,SAAuBO,GACzC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAe,GAAS,CAC9DS,OAAQQ,GACPP,OAEU,ICjDf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,qHAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,mCACJ,YAAa,oCACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,aACX3D,EAAG,qIACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,aACX3D,EAAG,kLACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,aACX3D,EAAG,oEACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,aACX3D,EAAG,mFACY,IAAMD,cAAc,SAAU,CAC7C4D,UAAW,aACX1D,GAAI,MACJC,GAAI,MACJC,EAAG,OACY,IAAMJ,cAAc,OAAQ,CAC3C4D,UAAW,aACX3D,EAAG,gPACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,aACX9G,MAAO,GACPgF,OAAQ,MAGN,GAAqB,IAAM9B,cAAc,IAAK,CAChDrf,GAAI,oCACJ,YAAa,qCACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,aACX9G,MAAO,GACPgF,OAAQ,MAGN,GAAU,SAAiBtB,GAC7B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,GAAO,KAG9F,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAS,GAAS,CACxDS,OAAQQ,GACPP,OAEU,IChEf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,sGAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,oCACJ,YAAa,qCACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,eACX3D,EAAG,iHACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,eACX3D,EAAG,oEACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,eACX3D,EAAG,mFACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,eACX3D,EAAG,0IAGD,GAAY,SAAmBO,GACjC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAW,GAAS,CAC1DS,OAAQQ,GACPP,OAEU,IC3Cf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,ICyCY4kC,GDzCR,GAAqB,IAAM5jC,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,yCACJ8oB,UAAW,wCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,YACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,QACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,aACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,+aACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,OAAQ,CAC3CC,EAAG,2dACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,wNACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,koBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,oTACHtf,GAAI,OACJid,KAAM,kBAGJ,GAAiB,SAAwB4C,GAC3C,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAgB,GAAS,CAC/DS,OAAQQ,GACPP,OEvEQmjC,IFyEE,IEtEV,SAAC,GAA8B,IAA5B1uC,EAA2B,EAA3BA,MAA2B,IAApBuuC,iBAAoB,MAAR,EAAQ,IACLp5C,mBAAmB,IADd,mBAC1BhE,EAD0B,KAClBw9C,EADkB,KAGjCzoC,qBAAU,WACJlG,IAAU7O,EAAOA,EAAOY,OAAS,IACnC48C,EAAU,GAAD,mBAAKx9C,GAAL,CAAa6O,OAEvB,CAACA,EAAO7O,IAEX,IAAMy9C,EAAcz9C,EAAOY,OAErBwZ,EAAQsjC,qBAAU,CACtBn5C,OAAQk5C,EAAc,EAAIz9C,EAAOy9C,EAAc,GAAK,EACpDztC,KAAM,CAAEzL,OAAQk5C,EAAc,EAAIz9C,EAAOy9C,EAAc,GAAK,KAG9D,OACE,kBAAC,YAASE,KAAV,KACGvtC,cAAGgK,EAAM7V,QAAQ,SAAAsvB,GAAG,OACnBspB,GAAaS,WAAW/pB,EAAIp4B,YAAa2hD,S,4DCC3ChnC,GAAYC,cAAW,SAACC,GAAD,aAC3BkG,aAAa,CACXqhC,YAAY,aACVxmC,YAAa,OACb,UAAW,CACTqE,OAAO,eAAD,O9KxBoB,U8KwBkBZ,GAAmB,KAC/DO,aAAc,MACdU,gB9K7Be,U8K8BfX,cAAe,QACfe,cAAe,QACf1F,M9K7B0B,U8K8B1BuB,WAAY,0BACZ,UAAW,CACT0D,OAAO,eAAD,O9KhCkB,Y8KkC1B,oBAAqB,CACnB3E,QAAS,UAGZT,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BX,MAAO,SAGXsnC,OAAQ,CACN3nC,QAASG,EAAMa,QAAQ,EAAG,EAAG,EAAG,IAElC4xB,MAAI,mBACDzyB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BK,WAAY,0BAFZ,cAIF,OAAQ,CACNJ,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAC/BU,WAAY,IACZF,SAAU,GACVlB,M9KjDsB,U8KkDtB0F,cAAe,UATf,cAWF,WAXE,aAYAhG,QAASG,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAChCQ,SAAU,GACVlB,M9KvDsB,U8KwDtB2E,cAAe,SACd9E,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,EAAG,EAAG,MAjBlC,cAoBF,QAAS,CACPqE,OAAQ,OACR3E,OAAQ,EACRS,KAAMhB,EAAMiB,QAAQC,QAAQC,OAvB5B,QA+BFsmC,GAAiB,CACrBroD,gCAA6Bb,IAC7Ba,gCAA6BC,YAC7BD,gCAA6BE,SAC7BF,gCAA6BR,mBAGlB8oD,GAGR,SAAC,GAAuC,IAArCC,EAAoC,EAApCA,aAAcC,EAAsB,EAAtBA,gBACdphC,EAAS1G,KAET+nC,EAAkB95C,uBACtB,SAAC+5C,GAA6C,IAE1CvpD,EAIEa,gCAJFb,IACAc,EAGED,gCAHFC,YACAC,EAEEF,gCAFFE,SACAV,EACEQ,gCADFR,kBAGF,OAAQkpD,GACN,KAAKvpD,EACH,MAAO,sBACT,KAAKc,EACH,MAAO,oBACT,KAAKC,EACH,MAAO,iBACT,KAAKV,EACH,MAAO,sBAGb,IAGF,OACE,kBAAC65C,GAAA,EAAD,CACEzxB,UAAWR,EAAO+gC,YAClBrjC,MAAO,CACLuF,SAAU,MAGZ,kBAACs+B,GAAA,EAAD,CACEx0B,QAAS,CAAE1O,KAAM2B,EAAOghC,QACxBjvC,MAAOovC,EAAaG,UACpBj9B,SAAU,SAAAC,GACR88B,GAAgB,SAAAt7B,GAAI,kCACfA,GADe,IAElBw7B,UAAWh9B,EAAE1I,OAAO7J,YAGxB6wB,WAAY,CAAE,aAAc,kBAE3Bqe,GAAe98C,KAAI,SAAA9G,GAClB,OACE,kBAACmkD,GAAA,EAAD,CAAU3jD,IAAKR,EAAQ0U,MAAO1U,GAC3BgkD,EAAgBhkD,UAWlBokD,GAOR,SAAC,GAA0D,IAAD,EAAvDN,EAAuD,EAAvDA,aAAcC,EAAyC,EAAzCA,gBAAiBhwC,EAAwB,EAAxBA,kBAC/B4O,EAAS1G,KAUf,OACE,kBAAC24B,GAAA,EAAD,CACEzxB,UAAWR,EAAO+gC,YAClBrjC,MAAO,CACLuF,SAAU,MAGZ,kBAACs+B,GAAA,EAAD,CACEx0B,QAAS,CAAE1O,KAAM2B,EAAOghC,QACxBjvC,MAAOovC,EAAa7nB,iBACpBjV,SAAU,SAAAC,GACR88B,GAAgB,SAAAt7B,GAAI,kCACfA,GADe,IAElBwT,iBAAkBhV,EAAE1I,OAAO7J,YAG/B2vC,cAAY,EACZ9e,WAAY,CAAE,aAAc,iBAC5B+e,UA1BY,CAChBC,WAAY,CACVlkC,MAAO,CACL0H,UAAW,QAyBX,kBAACo8B,GAAA,EAAD,CAAUzvC,MAAM,IAAhB,2BACCX,IAAsBA,EAAkBjK,QAAxC,UACCiK,EAAkBpP,YADnB,aACC,EAAwBmC,KAAI,SAAC2M,EAAO+K,GAAO,IAAD,EACxC,OACE,kBAAC2lC,GAAA,EAAD,CACE3jD,KAAU,OAALiT,QAAK,IAALA,OAAA,EAAAA,EAAO8C,qBAAsBiI,EAClC9J,MAAK,OAAEjB,QAAF,IAAEA,OAAF,EAAEA,EAAO8C,oBAFhB,iBAIG9C,QAJH,IAIGA,OAJH,EAIGA,EAAOpU,YAJV,SAKU,OAALoU,QAAK,IAALA,OAAA,EAAAA,EAAOH,gBAAP,OAAuBG,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAOY,cAA9B,iBACMZ,QADN,IACMA,OADN,EACMA,EAAOH,aADb,oBAC8BG,QAD9B,IAC8BA,OAD9B,EAC8BA,EAAOY,cADrC,OAEGZ,QAFH,IAEGA,OAFH,EAEGA,EAAOrJ,WAKnB,2CASJo6C,GAAY,CAChB,CAAEvmD,KAAMvC,+BAA4BE,aAAc6oD,MAAM,GACxD,CAAExmD,KAAMvC,+BAA4BE,aAAc6oD,MAAM,GACxD,CAAExmD,KAAMvC,+BAA4BI,YAAa2oD,MAAM,GACvD,CAAExmD,KAAMvC,+BAA4BI,YAAa2oD,MAAM,GACvD,CAAExmD,KAAMvC,+BAA4BC,eAAgB8oD,MAAM,GAC1D,CAAExmD,KAAMvC,+BAA4BC,eAAgB8oD,MAAM,GAC1D,CAAExmD,KAAMvC,+BAA4BG,QAAS4oD,MAAM,GACnD,CAAExmD,KAAMvC,+BAA4BG,QAAS4oD,MAAM,IAGxCC,GAOR,SAAC,GAAqC,IAAnC9V,EAAkC,EAAlCA,KAAM+V,EAA4B,EAA5BA,QAASC,EAAmB,EAAnBA,aACfjiC,EAAS1G,KADyB,EAERpS,mBAA6B,MAFrB,mBAEjCsmB,EAFiC,KAEvBC,EAFuB,KAIlCy0B,EAAgB36C,uBAAY,SAAC46C,GAAyC,IAExElpD,EAIEF,+BAJFE,aACAD,EAGED,+BAHFC,eACAE,EAEEH,+BAFFG,QACAC,EACEJ,+BADFI,YAEF,OAAQgpD,GACN,KAAKlpD,EACH,MAAO,iBACT,KAAKD,EACH,MAAO,kBACT,KAAKE,EACH,MAAO,sBACT,KAAKC,EACH,MAAO,WAEV,IAEH,OACE,oCACE,yBAAKqnB,UAAWR,EAAOisB,MACrB,2CACA,kBAAC,KAAD,CACEmW,gBAAc,YACd1gC,QAAS,SAAC4C,GAAD,OACPmJ,EAAYnJ,EAAEwJ,iBAGfo0B,EAAcjW,EAAKkW,QANtB,KAMiClW,EAAKoW,SAAW,gBAAa,eAN9D,KAOKp0B,QAAQT,GAAY,kBAAC,KAAD,MAAqB,kBAAC,KAAD,QAGhD,kBAAC80B,GAAA,EAAD,CACE/kD,GAAG,YACHgkB,KAAM0M,QAAQT,GACdA,SAAUA,EACV7J,QAAS,WACP8J,EAAY,QAGbo0B,GAAU19C,KAAI,SAACo+C,EAAU1mC,GAAO,IACvBvgB,EAAeinD,EAAfjnD,KAAMwmD,EAASS,EAATT,KACd,OACE,kBAACN,GAAA,EAAD,CACE3jD,IAAK0kD,EAASjnD,KAAOugB,EACrB6F,QAAS,WACHuqB,EAAKkW,SAAW7mD,GAAQ2wC,EAAKoW,WAAaP,IAC5CE,EAAQ,CACNG,OAAQ7mD,EACR+mD,SAAUP,IAEZG,GAAa,EAAO,CAClBO,MAAO,EACPL,OAAQ7mD,EACR+mD,SAAUP,KAGdr0B,EAAY,QAGby0B,EAAc5mD,GAjBjB,IAiByBwmD,EAAO,kBAAe,wB,oBChSrDxoC,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACX+iC,oBAAqB,CACnBxoC,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,UAEduoC,WAAY,CACV,OAAQ,CACN,WAAY,CACV,+CAAgD,CAC9C/oC,MAAOH,EAAMiB,QAAQoE,OAAOC,eAQ3B6jC,GAMR,SAAC,GAA0E,IAAxEC,EAAuE,EAAvEA,KAAMC,EAAiE,EAAjEA,cAAex+B,EAAkD,EAAlDA,SAAkD,IAAxCld,eAAwC,aAAvB27C,oBAAuB,MAAR,EAAQ,EACvE9iC,EAAS1G,KACTE,EAAQiM,eACRs9B,EAAWx1B,aAAc/T,EAAMK,YAAYC,KAAK,OAEhDkpC,EAAW7hC,mBAAQ,WACvB,OAAO4hC,EAAW,EAAID,IACrB,CAACC,EAAUD,IAEd,OACE,oCACGD,EAAgB,GACf,yBAAKriC,UAAWR,EAAOyiC,qBACrB,kBAAClV,GAAA,EAAD,CAAMvnB,IAAK7e,GACT,kBAAC87C,GAAA,EAAD,CACEl2B,QAAS,CAAEm2B,GAAIljC,EAAO0iC,YACtB/oC,MAAM,UACNpR,MAAOs6C,EACPC,aAAcE,EACdJ,KAAMA,EACNv+B,SAAUA,EACV9D,KAAMwiC,EAAW,QAAU,eChD1BxpC,iBAAW,SAACC,GAAD,aACxBkG,aAAa,CACXyjC,aAAW,GACTlpC,QAAS,OACTqB,eAAgB,gBAChBvB,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BkX,WAAY/X,EAAMa,QAAQ,GAC1Bsb,UAAW,wBACX,QAAS,CACP1b,QAAS,OACTE,WAAY,SACZ,gBAAiB,CACf,QAAS,CACPT,MAAO,GACPgF,OAAQ,GACR3E,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAC/BG,KAAMhB,EAAMiB,QAAQC,QAAQC,MAE9B,OAAQ,CACNZ,OAAQ,EACRgB,WAAY,IACZF,SAAU,GACVlB,MhLlBkB,UgLmBlB0F,cAAe,aArBZ,cAyBR7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACf,oBAAqB,CACnBE,aAAcZ,EAAMa,QAAQ,IAE9B,mBAAoB,CAClBkB,WAAY/B,EAAMa,QAAQ,MA/BrB,cAkCRb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,mBAAoB,CAClByB,WAAY,EACZrB,cAAe,YArCV,GAyCXkpC,wBAAyB,CACvBlxB,UAAW,SACXhX,WAAY,2BAEdktB,OAAQ,CACNnuB,QAAS,OACTE,WAAY,SACZmB,eAAgB,SAChBsE,SAAU,WACVzG,IAAK,EACLzC,KAAM,GAER2sC,iBAAkB,CAChBppC,QAAS,OACTE,WAAY,SACZuE,OAAQ,QACRT,QAAS,IACTpD,SAAU,GACVlB,MhLzDwB,UgL0DxB0F,cAAe,SACftE,WAAYvB,EAAMwB,WAAWC,gBAE/B2/B,MAAM,aACJ7gC,OAAQ,EACRkJ,SAAU,KACV1E,aAAc,MACd,uBAAwB,CACtBK,OAAQ,GAEV,uBAAuB,aACrBzE,WAAY,SACZd,QAASG,EAAMa,QAAQ,EAAG,IACzBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,EAAG,EAAG,MAGnCb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BG,QAAS,QACTgJ,SAAU,MAGdqgC,SAAU,CACR3pC,MhLjFwB,UgLiFAqE,GAAmB,IAC3CnD,SAAU,GACVwE,cAAe,SACfC,WAAY,QAEdikC,eAAgB,CACdnM,oBAAqB,GACrBoM,uBAAwB,GACxB9pC,MA/FgB,GAgGhBuJ,SAhGgB,IAkGlBwgC,SAAS,aACPpM,qBAAsB,GACtBqM,wBAAyB,IACxBlqC,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY,iBACZtX,QAAS,eACT2F,SAAU,SACVlJ,KAAM,MACNyC,IAAK,EACLkN,UAAW,qBAGfs9B,YAAa,CACX1pC,QAAS,OACTqB,eAAgB,UAElBsW,eAAgB,CACd3X,QAAS,OACTqB,eAAgB,UAElBsoC,OAAQ,CACN,QAAS,CACPlqC,MAAO,OACPgF,OAAQ,OACR/E,MAAO,QACPmB,OAAQ,WAEVpB,MA/HgB,GAgIhBgF,OA/Ha,GAgIb,WAAY,CACVhF,MAAO,OACPgF,OAAQ,OACRrF,QAAS,EACTY,QAAS,OACTE,WAAY,SACZmB,eAAgB,SAChB3B,MAAO,QACPkB,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BsD,aAAc,OACdK,OAAQ,sBACRxD,eAAgB,OAChBwG,QAAS,OACT1G,WAAY,4BAGhB2oC,cAAe,CACbnqC,MApJ2B,IAqJ3BgF,OAnJa,GAoJbnD,WAAY/B,EAAMa,QAAQ,GAC1B,WAAY,CACVX,MAAO,OACPgF,OAAQ,OACRzE,QAAS,OACTE,WAAY,SACZmB,eAAgB,SAChB0H,YAAaxJ,EAAMa,QAAQ,GAC3BgX,aAAc7X,EAAMa,QAAQ,GAC5BQ,SAAU,GACV2D,UAAW,SAGfiW,YAAa,CACX/a,MAAO,OACPgF,OAAQ,OACRH,aAAc,MACdU,gBAAiBzF,EAAMiB,QAAQC,QAAQS,MAEzC2oC,YAAa,CACX,SAAU,CACRnqC,MAAOH,EAAMiB,QAAQC,QAAQC,OAGjCopC,WAAW,aACT9pC,QAAS,OACTE,WAAY,SACZmB,eAAgB,SAChBoD,OAAQ,OACRuE,SAAU,QACVlJ,OAAQP,EAAMa,QAAQ,EAAG,GACzBkE,aAAc,MACd1D,SAAU,GACVwE,cAAe,SACftE,WAAYvB,EAAMwB,WAAWC,gBAC5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQP,EAAMa,QAAQ,EAAG,KAG7B2pC,SAAS,eACNxqC,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPO,QAAS,iBAGbgqC,UAAU,aACRhqC,QAAS,OACTE,WAAY,SACZmB,eAAgB,aAChBgM,UAAW,OACX3N,MAAO,UACP6B,UAAWhC,EAAMa,QAAQ,GACzB,UAAW,CACT,OAAQ,CACNN,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5B4D,QAAS,GACTpD,SAAU,GACVwE,cAAe,SAEjB,MAAO,CACLtF,OAAQ,EACRgB,WAAY,IACZF,SAAU,GACVlB,MhL5MoB,UgL6MpB0F,cAAe,WAGlB7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfC,WAAY,eAGhB+pC,UAAU,aACR3oC,WAAY/B,EAAMa,QAAQ,GAC1BX,MAAO,QACPgF,OAAQ,OACRrF,QAASG,EAAMa,QAAQ,EAAG,IACzBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,KAGhCooC,oBAAqB,CACnBxoC,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZqB,UAAWhC,EAAMa,QAAQ,IAE3BqoC,WAAY,CACV,OAAQ,CACN,WAAY,CACV,+CAAgD,CAC9C/oC,MAAOH,EAAMiB,QAAQoE,OAAOC,eClM3BqlC,GAAgB,CAC3BnsD,0BAAuBK,aACvBL,0BAAuBM,UACvBN,0BAAuBO,WACvBP,0BAAuBS,eACvBT,0BAAuBQ,OAwBZ4rD,GAAoC,SAAC,GAW3C,IAVLC,EAUI,EAVJA,SACAl9C,EASI,EATJA,QACAm9C,EAQI,EARJA,WACAC,EAOI,EAPJA,SACA7B,EAMI,EANJA,WACAzW,EAKI,EALJA,KACA+V,EAII,EAJJA,QACAC,EAGI,EAHJA,aACA5kD,EAEI,EAFJA,OACAmnD,EACI,EADJA,cAEMxkC,EAAS1G,KACTE,EAAQiM,eACRg/B,EAAOl3B,aAAc/T,EAAMK,YAAYC,KAAK,OAE1CtM,EAAM+V,eAAN/V,EAEFoX,EAAYH,GAAe,OAACtd,QAAD,IAACA,KAAiB,KAP/C,EASoBD,mBAAS,GAT7B,mBASG07C,EATH,KASS8B,EATT,OAUsCx9C,mBAExCm9C,GAAY,IAZV,mBAUGM,EAVH,KAUkBC,EAVlB,OAawC19C,mBAAmB,IAb3D,mBAaG29C,EAbH,KAaoBC,EAbpB,OAcsC59C,mBAAS,GAd/C,mBAcG69C,EAdH,KAckBC,EAdlB,OAekC99C,mBA5BnB,KAaf,mBAeG+9C,EAfH,KAegBC,EAfhB,KAgBE3wB,EAAUxB,KACVjmB,EAAoBkzC,KAClBtoD,EAAiBI,kCAAjBJ,KAAME,EAAWE,kCAAXF,OAERutD,EAAqB59C,uBAAY,WAUrC,OATkB,OAAG88C,QAAH,IAAGA,OAAH,EAAGA,EACjBhnD,QACA,SAAAwe,GAAC,OACCA,EAAEupC,cACFvpC,EAAEwpC,SACFxpC,EAAE/I,sBACF+xC,EAAgBjlD,SAASic,EAAE/I,yBAE9B3O,KAAI,SAAA0X,GAAC,MAAK,CAAEupC,aAAcvpC,EAAEupC,aAAcjP,OAAQt6B,EAAEwpC,cAChC,KACtB,CAAChB,EAAUQ,IAER5gC,EAAU1c,uBACd,SAACuL,GACC,QAAIA,GACK+xC,EAAgBjlD,SAASkT,KAKpC,CAAC+xC,IAGGS,EAAe/9C,uBAAY,SAAC4uC,GAChC6O,GAAiB,SAAAl/B,GAAI,OAAIrnB,KAAKyf,MAAwB,KAAjB4H,EAAOqwB,IAAiB,SAC5D,IAEGoP,EAAwBh+C,uBAC5B,SAACuL,EAA0CqjC,GACzC,GAAIlyB,EAAQnR,GAAuB,CACjC,GAAIA,EAAsB,CACxB,IAAM0yC,EAAW,YAAOX,GAClB3yC,EAAQszC,EAAYz8C,QAAQ+J,GAClC0yC,EAAYC,OAAOvzC,EAAO,GAC1B4yC,EAAiBU,GAEfrP,GACFmP,GAAcnP,QAGZrjC,GACFgyC,GAAiB,SAAAh/B,GAAI,4BAAQA,GAAR,CAAchT,OAEjCqjC,GACFmP,EAAanP,KAInB,CAAC0O,EAAiB5gC,EAAS6gC,EAAkBQ,IAGzCI,EAA0Bn+C,uBAC9B,SAAC88C,GACC,IAAM99C,EAAqB,GACvB4vC,EAAS,EACTmO,IAAe1sD,GACjBysD,EAAShmD,SAAQ,SAAAiQ,GAAQ,IACfwE,EAAmDxE,EAAnDwE,qBAAsBuyC,EAA6B/2C,EAA7B+2C,QAASM,EAAoBr3C,EAApBq3C,QAASniD,EAAW8K,EAAX9K,OAE9CsP,GACAuyC,GACA7hD,IAAW/L,4BAAyBG,QAEhC+tD,GAAWC,aAAO1H,aAASyH,MAC7Bp/C,EAAIiR,KAAK1E,GACTqjC,GAAUkP,MAKlBP,EAAiBv+C,GACjBy+C,EAAiB7O,KAEnB,CAACv+C,EAAQ0sD,IAGXrsC,qBAAU,WACJosC,IACEC,IAAe1sD,IACbiuD,aAAOlB,EAAeN,IAExBqB,EAAwBrB,IAG5BO,EAAiBP,MAElB,CACDA,EACAzsD,EACA8tD,EACAd,EACAD,EACAL,IAGFrsC,qBAAU,WACRysC,EAAQhC,EAAWoD,cAAgB,GAAK,KACvC,CAACpD,EAAYgC,IAEhB,IAAMqB,EAAgBx+C,uBACpB,WACEy9C,EAAiB,GACjBF,EAAiB,IACjB7C,EAAY,WAAZ,eAEF,CAAC+C,EAAkBF,EAAkB7C,IAGjC+D,EAAez+C,uBACnB,SAAC09C,GAAD,OACE,yBACEzkC,UAAWR,EAAOooB,OAClB1qB,MAAO,CACLgB,OAAQumC,EACR7/B,UAAW6/B,IAGb,kBAAC3kC,GAAA,EAAD,CAAkBC,KAAM,GAAI0lC,eAAa,OAG7C,CAACjmC,EAAOooB,SAGJ8d,EAAyB3+C,uBAC7B,SACE+8C,EACAjnD,EACAunB,EACA4/B,GAEA,IAAM2B,GAA8B,OAAb3B,QAAa,IAAbA,OAAA,EAAAA,EAAelD,aAAcjkD,EAAOikD,UACrD8E,EAEA54C,EADJ82C,IAAe1sD,GAAUuuD,EACnB,gCACA,kCACR,OACE,yBAAK3lC,UAAWR,EAAOqjC,kBACrB,kBAAC9V,GAAA,EAAD,CAAMvnB,IAAKpB,GACT,8BAAOwhC,OAKf,CAACxuD,EAAQooB,EAAOqjC,iBAAkB71C,IAG9B64C,EAAgB9+C,uBACpB,SACE+8C,EACAD,GAFF,OAIE,6BACE,kBAACiC,GAAA,EAAD,CAAO9lC,UAAWR,EAAO46B,MAAO2L,cAAY,EAACnM,aAAW,iBACtD,kBAACoM,GAAA,EAAD,YACGnC,QADH,IACGA,OADH,EACGA,EAAUlgD,KAAI,SAACmK,EAAKuN,GAAO,IAExB/I,EAeExE,EAfFwE,qBACA2zC,EAcEn4C,EAdFm4C,eACAC,EAaEp4C,EAbFo4C,iBACA9K,EAYEttC,EAZFstC,gBACAyJ,EAWE/2C,EAXF+2C,QACAsB,EAUEr4C,EAVFq4C,YACAhB,EASEr3C,EATFq3C,QACAiB,EAQEt4C,EARFs4C,qBACAC,EAOEv4C,EAPFu4C,uBACAvrD,EAMEgT,EANFhT,KACAwrD,EAKEx4C,EALFw4C,6BACAC,EAIEz4C,EAJFy4C,6BACA3B,EAGE92C,EAHF82C,aACA5hD,EAEE8K,EAFF9K,OACAysC,EACE3hC,EADF2hC,aAGIz9B,EAAclX,EAChB3C,oCAAiC2C,GACjCkS,EAAE,uBAEAw5C,EAAW,OACfJ,QADe,IACfA,IACCE,GACDC,EACE,kBAAC,GAAD,CACEnrD,MAAK,SACLuxB,gBACE,yBAAKzP,MAAO,CAAE7C,SAAU,KACtB,kBAAC,GAAD,CACEwa,GAAIyxB,EACJxxB,GAAIyxB,KAIVpgC,QACE,yBAAKjJ,MAAO,CAAE7C,SAAU,KACtB,kBAAC,GAAD,CACEwa,GAAIyxB,EACJxxB,GAAIyxB,OAhBb,OAsBCF,QAtBD,IAsBCA,IAA0B,GAiBxBI,EACJ3C,IAAe5sD,EACX,CAAEgiB,MDxUW,ICwUe6B,WAAY,GACxC,GAEA2rC,EACH5rD,GAAQ6oD,GAAcvkD,SAAStE,IACX,OAArBorD,EACIl5C,EAAE,qCACmBjS,IAArBmrD,GACqB,OAArBA,GACA9K,EACA8K,EAAmB,IAAM9K,EACzB,GAEAuL,EACJ7rD,GAAQ6oD,GAAcvkD,SAAStE,GAC3BkS,EAAE,mBACFA,EAAE,+BAEF45C,EACJ9C,IAAe1sD,GAAU+tD,EACrBC,aAAO1H,aAASyH,IACd,CACEhsC,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BiE,OAAQ,qBAEVyoC,aAAiBnJ,aAASyH,GAAU,IAAItyC,OAAW,EACnD,CACEsG,MAAOH,EAAMiB,QAAQ2E,UAAUzE,KAC/BiE,OAAO,aAAD,OAAepF,EAAMiB,QAAQ2E,UAAUzE,OAE/C,CACEhB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BiE,OAAO,aAAD,OAAepF,EAAMiB,QAAQC,QAAQC,OAE/C,GAEN,OACE,kBAAC2sC,GAAA,EAAD,CACEzpD,IAAKiV,EACL4K,MAAO7B,EAAI,IAAM,EAAI,CAAEoD,gBAAiB,WAAc,GACtDsoC,UAAW,EACX/mC,UAAWR,EAAOgkC,YAEfS,GAASA,GAAQH,IAAe1sD,IACjC,kBAAC4vD,GAAA,EAAD,CACEhnC,UAAS,UAAKR,EAAOsjC,SAAZ,YAAwBtjC,EAAOujC,iBAEvCe,IAAe1sD,GACd4L,IAAW/L,4BAAyBG,QAClC,kBAACi8B,GAAD,CACE3R,KAAM,kBAAC,GAAD,MACNuS,YAAa,kBAAC,GAAD,MACb/S,QAAS,kBACP6jC,EACEzyC,EACAuyC,IAGJphC,QAASA,EAAQnR,GACjB4hB,eAAa,KAKvB,kBAAC8yB,GAAA,EAAD,CACEhnC,UAAS,UAAKR,EAAOsjC,SAAZ,YACPr/B,EAAQnR,IAAyBkN,EAAO8jC,aAE1CpmC,MACE4mC,IAAe1sD,EAAS,CAAE8hB,MAAO,KAAQ,CAAEuJ,SAAU,MAGvD,kBAAC,GAAD,CACEyD,OAAQlU,EACRmU,QAAS8/B,GAAkB,GAC3BhM,MAAI,KAGR,kBAAC+M,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MACE4mC,IAAe1sD,EAAS,CAAE8hB,MAAO,KAAQ,CAAEuJ,SAAU,MAGtDqhC,IAAe1sD,EACd,yBACE4oB,UAAWR,EAAO+jC,WAClBrmC,MAAO0pC,GAEN/G,GAAagF,GAAW,YAG3B,kBAAC,GAAD,CACE3+B,OAAQlZ,EAAE,oBACVmZ,QAAS05B,GAAasG,GAAe,WACrC1oC,SAAO,KAIZqmC,IAAe1sD,GACd,kBAAC4vD,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MAAO,CACLuF,SAAU,MAGZ,kBAAC,GAAD,CACEyD,OAAQlZ,EAAE,sBACVmZ,QACEnjB,EACI3L,sCAAmC2L,GACnC,IAENya,SAAO,EACPiP,OAAK,KAIX,kBAACs6B,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MAAO,CACLuF,SAAUqhC,IAAe1sD,EAAS,IAAM,MAG1C,kBAAC,GAAD,CACE8uB,OAAQlZ,EAAE,2BACVmZ,QAASugC,EACTjpC,SAAO,KAGX,kBAACupC,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MAAO,CACLuF,SAAUqhC,IAAe1sD,EAAS,IAAM,MAG1C,kBAAC,GAAD,CACE8uB,OAAQlZ,EAAE,gCACVmZ,QACEg/B,EAAU1H,aAAOC,aAASyH,GAAU,cAAgB,GAEtD1nC,SAAO,KAGX,kBAACupC,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MAAO,CACL9D,SAAU0qC,IAAe1sD,EAAS,IAAM,MAG1C,kBAAC,GAAD,CACE8uB,OAAQlZ,EAAE,iCACVmZ,QAtKJrrB,IAAStD,0BAAuBI,mBAC/BkD,IAAStD,0BAAuBU,oBAC9BsuD,EAEIx5C,EAAE,wCACClS,GAAQ6oD,GAAcvkD,SAAStE,GAClCkS,EAAE,gCAEFw5C,EA+JH/oC,SAAO,KAGX,kBAACupC,GAAA,EAAD,CACEhnC,UAAS,UAAKR,EAAOsjC,SAAZ,YAAwBtjC,EAAOyjC,WAExC,yBAAKjjC,UAAWR,EAAO2jC,aACrB,yBAAKnjC,UAAWR,EAAO4R,gBACrB,yBAAKpR,UAAWR,EAAO4jC,OAAQlmC,MAAOupC,GACnChX,GACCn9B,GACAyhB,EAAQ,uBAAD,OACkBzhB,EADlB,SAEL,SAAC3L,EAASwtB,GAAV,OACExtB,EACE,kBAAC,GAAD,CAAQiZ,QAAQ,WAAW8D,UAAQ,GACjC,kBAAC5D,GAAA,EAAD,CAAkBC,KAAM,MAG1B,kBAAC,GAAD,CACEH,QAAQ,WACRsB,QAAS,WACPiT,MAGF,kBAAC,GAAD,MACA,0CAKX2vB,IAAe1sD,GACd,yBAAK4oB,UAAWR,EAAO6jC,eACpBwB,GACD7hD,IAAW/L,4BAAyBG,OAChCkV,EACE,CAAC,CAAEs4C,eAAcjP,OAAQkP,KACzB,SAACl+C,EAASwtB,GAAV,OACE,kBAAC,GAAD,CACEvU,QAAQ,WACRzG,MAAM,UACN+H,QAAS,kBAAMiT,MAEdxtB,EACC,kBAACmZ,GAAA,EAAD,CAAkBC,KAAM,KAExB,oCAAG4mC,OAKX,kBAa5B,CACEljC,EACAsQ,EACAkwB,EACAc,EACA7tD,EACAE,EACAooB,EACAxG,EACA1M,EACAU,IAIEi6C,EACJ,8BACE,wBAAI/pC,MAAO,CAAEgqC,cAAe,OAAQttC,aAAc,EAAGoB,UAAW,IAC9D,2RAUAmsC,GAAuBpgD,uBAC3B,SAACqd,EAAoBmgC,GAArB,OACE,kBAACh/B,GAAA,EAAD,eAAUC,IAAKpB,GAAe,CAAED,QAAS,MACvC,yBAAKnE,UAAWR,EAAOikC,WACrB,6BACE,4BACE,kBAAC,GAAD,CAAaroD,MAAM,0BAAW+qB,QAAS8gC,EAAar6B,SAAO,KAE7D,kBAAC,cAAD,CACEpc,MAAO+zC,EAAgB,EACvB7xC,KAAM,CAAE+K,QAAS,IACjBy8B,MAAO,CAAEz8B,QAAS,KAEjB,SAAC/a,EAAQ2c,GACR,OACEA,GACE,kBAAC,YAAS+nC,EAAV,CAAYlqC,MAAOxa,GACjB,kBAAC,GAAD,CACE6O,MAAOgzC,EACPzE,UAAW,IACV,IAJL,cAWR,kBAAC,cAAD,CACEtvC,OAAQid,QAAQ82B,GAChB7xC,KAAM,CAAE+K,QAAS,IACjBy8B,MAAO,CAAEz8B,QAAS,KAEjB,SAAC/a,EAAQ2c,GACR,OACEA,GAAW,kBAAC,YAAS+nC,EAAV,CAAYlqC,MAAOxa,GAAnB,mBAKnB,kBAAC6iB,GAAA,EAAD,eAAUC,GAAIiI,QAAQ82B,IAAoB,CAAEpgC,QAAS,MACnD,oCACG7X,EAAkBq4C,KAAsB,SAACh+C,EAASwtB,GAAV,OACvC,kBAAC,GAAD,CACEvU,QAAQ,WACRG,KAAK,QACL5G,MAAM,UACN6G,UAAWR,EAAOkkC,UAClBxiC,QAAS,kBAAMiT,MAEdxtB,EACC,kBAACmZ,GAAA,EAAD,CAAkBC,KAAM,KAExB,0EAShB,CAACP,EAAQlT,EAAmBq4C,EAAoBsC,IAGlD,OACE,6BACE,yBAAKjnC,UAAWR,EAAOmjC,aACrB,6BACGmB,IAAe5sD,EAAO,kBAAC,GAAD,MAAc,kBAAC,GAAD,MACrC,yCAAe4sD,IAAe5sD,EAAO,iBAAc,kBAAnD,MAEF,kBAAC,GAAD,CAAMu0C,KAAMA,EAAM+V,QAASA,EAASC,aAAc8D,KAGpD,kBAAC8B,GAAA,EAAD,CACErnC,UAAWR,EAAOojC,wBAClB1lC,MAAO,CAAEgB,OAAQumC,IAEjB,kBAAC,GAAD,CAAiB39B,UAAW29B,GAC1B,kBAAC,UAAD,CAAQ6C,eAAa,IAClB,YAAe,IAAD,EAAXvnC,EAAW,EAAXA,KAIF,OAHAxS,YAAW,WACTwS,EAAK7B,QAAUwmC,EAAe3kC,EAAK7B,OAASqpC,MAC3C,GAED,oCAEGnjC,GAAaohC,EAAY,UAACzlC,EAAK7B,cAAN,QAzkBvB,KA4kBFwY,aAAQmtB,IACP6B,EACE5B,EACAjnD,EACAunB,EACA4/B,IAIF5/B,GACAyhC,EAAc/B,EAAiCD,SAS5DC,IAAe1sD,IACbs/B,aAAQmtB,IACTsD,GAAqB/iC,EAAWmgC,GAGlC,yBAAKrnC,MAAO,CAAElC,UAAW,KACvB,kBAAC,GAAD,CACEonC,KAAMA,EACNC,cAAeH,EAAWG,cAC1Bx+B,SAAU,SAACC,EAA+ByS,GACpCA,IAAQ6rB,GACVmD,GAAc,EAAO,CAAEvD,OAAQzrB,EAAM,GAAKwtB,KAG9Cp9C,QAASyd,OCxpBb6iC,GACJ,8BACE,wBAAI/pC,MAAO,CAAEgqC,cAAe,OAAQttC,aAAc,EAAGoB,UAAW,IAC9D,2RAOAwsC,GAAuB,CAC3BjiD,QAAS,CACP,CACErJ,KACE,4CAEE,6BAFF,cAOJ,CACEA,KACE,mDAEE,6BAFF,YAOJ,CACEA,KACE,4CAEE,6BAFF,aAOJ,CACEA,KACE,6CAEE,6BAFF,wBAOJ,CACEA,KAAM,wDAER,CACEA,KAAM,kBAAC,GAAD,CAAad,MAAM,sCAA4B+qB,QAAS8gC,GAAar6B,SAAO,OAOlF9T,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXq8B,aAAc,CACZ9hC,QAAS,OACTqN,UAAW,QACX5N,MAAO,MACPkF,OAAQ,mBAEVg8B,MAAO,CACL7gC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5B4I,SAAU,IACV1E,aAAc,EACd,uBAAwB,CACtBK,OAAQ,GAEV,uBAAwB,CACtBvF,QAAS,YAEX,uBAAwB,CACtBc,WAAY,SACZd,QAAS,aAGb4uC,WAAY,CACVhpC,gBlLvGmB,UkLwGnBtF,MlL1GwB,UkL0GAqE,GAAmB,IAC3CnD,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZvE,WAAYvB,EAAMwB,WAAWC,gBAE/BqoC,SAAU,CACR3pC,MlLjHwB,UkLiHAqE,GAAmB,IAC3CnD,SAAU,GACVwE,cAAe,SACfC,WAAY,QAEd4oC,UAAW,CACTjuC,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChB2H,SA3CiB,IA4CjB,QAAS,CACP,SAAU,CACR,gBAAiB,CACfpI,SAAU,KACVN,YAAa,OACbZ,MlL7HoB,UkL8HpBoB,WAAY,KAEd,eAAgB,CACdpB,MlLpIkB,UkLoIMqE,GAAmB,IAC3CjD,WAAYvB,EAAMwB,WAAWC,mBAKrCktC,aAAc,CACZ,QAAS,CACPzuC,MAAO,OACPgF,OAAQ,OACR/E,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BG,OAAQ,UACRI,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,QAInCitC,MAAO,CACLrtC,WAAY,KAEdszB,MAAO,CACL3vB,O3EjJyC,I2EkJzChF,MAAO,OACPO,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZU,SAAU,GACVlB,MlLhKwB,UkLiKxBsE,QAAS,UASFoqC,GAAkD,SAAC,GAEzD,IADLC,EACI,EADJA,WAEMtoC,EAAS1G,KACTE,EAAQiM,eAEd,OACE,oCACE,kBAACoiC,GAAA,EAAD,CAAgBnqC,MAAO,CAAEgB,OAAQ,OAAQ4I,UAAW,MAClD,kBAAC,GAAD,KACE,kBAACg/B,GAAA,EAAD,CACE9lC,UAAS,UAAKR,EAAO46B,OACrB2L,cAAY,EACZnM,aAAW,iBAEX,kBAACmO,GAAA,EAAD,KACE,kBAACjB,GAAA,EAAD,KACGU,GAAqBjiD,QAAQ5B,KAAI,WAAW0X,GAAX,IAAGnf,EAAH,EAAGA,KAAH,OAChC,kBAAC8qD,GAAA,EAAD,CAAW3pD,IAAKge,EAAG2E,UAAWR,EAAOioC,YAClCvrD,QAKT,kBAAC8pD,GAAA,EAAD,YACG8B,QADH,IACGA,OADH,EACGA,EAAYnkD,KAAI,SAAAqkD,GAAY,IAEzB11C,EAWE01C,EAXF11C,qBACA2zC,EAUE+B,EAVF/B,eACAC,EASE8B,EATF9B,iBACA9K,EAQE4M,EARF5M,gBACAyJ,EAOEmD,EAPFnD,QACAM,EAME6C,EANF7C,QACAniD,EAKEglD,EALFhlD,OACA4hD,EAIEoD,EAJFpD,aACAuB,EAGE6B,EAHF7B,YACA1W,EAEEuY,EAFFvY,aACA30C,EACEktD,EADFltD,KAcI4rD,EACH5rD,GAAQ6oD,GAAcvkD,SAAStE,IACX,OAArBorD,EACI,mBACqBnrD,IAArBmrD,GACqB,OAArBA,GACA9K,EACA8K,EAAmB,IAAM9K,EACzB,GAEN,OACE,kBAAC0L,GAAA,EAAD,CAAUzpD,IAAKiV,EAAsBy0C,UAAW,GAC9C,kBAACC,GAAA,EAAD,CAAWhnC,UAAWR,EAAOsjC,UAC1BmD,GAEH,kBAACe,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MAAO,CACLuF,SAAU,IACVpI,SACGvf,GAAQ6oD,GAAcvkD,SAAStE,IACX,OAArBorD,EACI,GACA,KAGPQ,GAEH,kBAACM,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MAAO,CAAEuF,SAAU,MAElBo9B,GAAasG,GAAe,YAE/B,kBAACa,GAAA,EAAD,CAAWhnC,UAAWR,EAAOsjC,UAC1BqC,GAAW1H,aAAOC,aAASyH,GAAU,eAExC,kBAAC6B,GAAA,EAAD,CACEhnC,UAAWR,EAAOsjC,SAClB5lC,MAAO,CAAEuF,SAAU,MAEnB,0BACEvF,MAAO,CAAE/D,MArDI,WACnB,OAAQnW,GACN,KAAK/L,4BAAyBC,KAC5B,MlLlNU,UkLmNZ,KAAKD,4BAAyBG,OAC5B,OAAO4hB,EAAMiB,QAAQta,MAAMwa,KAC7B,QACE,MlLtNU,WkLoQQ8tC,IAChBjoC,UAAWR,EAAOooC,OAEjB5kD,IAAW/L,4BAAyBG,OACjCyoD,GAAagF,GAAW,WACxB,KAGR,kBAAC,GAAD,CACEqD,cAAellD,EACf6hD,QAASA,EACTvyC,qBAAsBA,EACtBsyC,aAAcA,EACdnV,aAAcA,cAavB0Y,GAMR,SAAC,GAMC,IALLD,EAKI,EALJA,cACArD,EAII,EAJJA,QACAvyC,EAGI,EAHJA,qBACAsyC,EAEI,EAFJA,aACAnV,EACI,EADJA,aAEMjwB,EAAS1G,KACTE,EAAQiM,eAFV,EAIoCve,mBAGrC,CAAE1D,OAAQ,iBAAaka,MAAO,KAP7B,mBAIGkrC,EAJH,KAIiBC,EAJjB,KASInxD,EAAiBD,4BAAjBC,KAAME,EAAWH,4BAAXG,OAER28B,EAAUxB,KAEV+1B,EAAsBvhD,uBAAY,WACtC,OAAQmhD,GACN,KAAKhxD,EACHmxD,EAAgB,CACdrlD,OAAQ,iBACRka,MAAO,CAAE/D,MlL/TW,UkL+TYsE,QAAS,OAE3C,MACF,KAAKrmB,EACHixD,EAAgB,CACdrlD,OAAQ,mBACRka,MAAO,CACL7C,SAAU,GACVlB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAY,IACZD,OAAQ,aAGZ,MACF,QACE+tC,EAAgB,CACdrlD,OAAQ,kBACRka,MAAO,CAAE/D,MAAOH,EAAMiB,QAAQ2E,UAAUzE,WAG7C,CAACjjB,EAAME,EAAQixD,EAAiBH,EAAelvC,EAAMiB,UAExDxC,qBAAU,WACR6wC,MACC,CAACA,IAEJ,IAAMh8C,EAAoBkzC,KAElBtiC,EAAkBkrC,EAAlBlrC,MAAOla,EAAWolD,EAAXplD,OACTulD,EAAUj2C,EAAoB,8BACTA,EADS,QAEhC,GAEJ,OACE,kBAAC00C,GAAA,EAAD,CAAWhnC,UAAWR,EAAOsjC,UAC3B,yBACE9iC,UAAWR,EAAOkoC,UAClBxmC,QAAS,YC9WyB,SAACrK,GACzC,IAAM7C,EAAchV,GAAMM,WAAWyU,kBAAkBC,YAEvDyC,GAAiBI,EAAO7C,GD4WhBw0C,CAA2B,CAAEhsD,OAAQ,QAASisD,SAAU,WAG1D,6BACGn8C,EACC,CAAC,CAAEs4C,eAAcjP,OAAQkP,KACzB,SAACl+C,EAASwtB,GAAV,OACE,0BACEjX,MAAOA,EACPgE,QAAS,WACP,GAAK0jC,GAAiBC,GAA6B,WAAlBqD,EAEjC,OAAO/zB,MAGRxtB,EAAU,kBAACmZ,GAAA,EAAD,CAAkBC,KAAM,KAAS,oCAAG/c,QAKvD,6BACGysC,GACCn9B,GACAyhB,EAAQw0B,GAAS,SAAC5hD,EAASwtB,GAAV,OACfxtB,EACE,kBAACmZ,GAAA,EAAD,CAAkBC,KAAM,KAExB,yBAAKC,UAAWR,EAAOmoC,aAAczmC,QAASiT,GAC5C,kBAAC,GAAD,c,oBErYLu0B,GAAoB,SAACpsD,GAAD,OAAsBA,EAAMsR,WAEhD+6C,GAA8BlmD,aACzCimD,IACA,SAAApsD,GAAK,OAAIA,EAAMoD,eAAiB,KAGrBkpD,GAA0BnmD,aACrCimD,IACA,SAAApsD,GAAK,OAAIoG,aAAOpG,EAAMqG,aAGXkmD,GAAgCpmD,aAC3CmmD,IACA,SAAAh7C,GAAS,OACPA,EAAU/Q,QACR,SAAAwV,GAAQ,OACNA,EAASrP,SAAW/L,4BAAyBG,QAC7Cib,EAAS8yC,SACT2D,aAASpL,aAASrrC,EAAS8yC,gBAItB4D,GAA4B,SAAChjD,GAAD,OACvCtD,aACEimD,IACA,SAAApsD,GAAK,OACHwgB,aAAM/W,EAAKzJ,EAAMqG,UAAU9F,QACzB,SAAAwV,GAAQ,OAAIA,SChCP22C,GAA4B,SAAC1sD,GAAD,OACvCA,EAAMsU,mBAEKq4C,GAAmCxmD,aAC9CumD,IACA,SAAA1sD,GAAK,OAAIA,EAAMoD,eAAiB,KAGrBwpD,GAAgCzmD,aAC3CumD,IACA,SAAA1sD,GAAK,OACHoG,aAAOpG,EAAMqG,UAAU9F,QACrB,SAAAuL,GAAE,YAAWrN,IAAPqN,QAIC+gD,GAAsC1mD,aACjDumD,IACA,SAAA1sD,GAAK,OAAIA,EAAMqG,YCjBJymD,GAAe,SAAC9sD,GAAD,OAAsBA,EAAMsX,MAE3Cy1C,GAAyB5mD,aACpC2mD,IACA,SAAA9sD,GAAK,OAAIA,EAAMoD,eAAiB,KASrB4pD,IANwB7mD,aAAe2mD,IAAc,SAAA9sD,GAChE,OAAQoG,aAAOpG,EAAMqG,UAAU9F,QAAO,SAAA+W,GAAI,OAAIA,KAAiB63B,MAAK,SAACpqC,EAAGqqC,GAAJ,OAClErqC,EAAE09C,MAAQrT,EAAEqT,MAAQI,aAAUzT,EAAEqT,OAASI,aAAU99C,EAAE09C,MAAQ,QAI7B,SAACh5C,GAAD,OAClCtD,aACE2mD,IACA,SAAA9sD,GAAK,OAAIwgB,aAAM/W,EAAKzJ,EAAMqG,UAAU9F,QAAO,SAAA+W,GAAI,OAAIA,UCR1C21C,GACH,SADGA,GAGD,W,UCXCC,GAAyB,SAACltD,GAAD,OAAsBA,EAAMgS,gBAErDm7C,GAAgChnD,aAC3C+mD,IACA,SAAAltD,GAAK,OAAIA,EAAMoD,eAAiB,KAGrBgqD,GAAmCjnD,aAC9C+mD,IACA,SAAAltD,GAAK,OAAIA,EAAMqG,YAGJgnD,GAA6BlnD,aACxC+mD,IACA,SAAAltD,GAAK,OAAIoG,aAAOpG,EAAMqG,aAGXinD,GAA8BnnD,aACzCknD,IACA,SAAAr7C,GAAc,OACZA,EAAezR,QACb,SAAA4T,GAAS,OAAa,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWzN,UAAWumD,SAI5BM,GAAkCpnD,aAC7CknD,IACA,SAAAr7C,GAAc,OACZA,EAAezR,QACb,SAAA4T,GAAS,OAAa,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWzN,UAAWumD,SAK5BO,GAAkCrnD,aAC7CmnD,IACA,SAAAt7C,GAAc,OACZA,EAAezR,QACb,SAAA4T,GAAS,OAAa,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWuB,eAAgBrb,KAAYE,YAI7CkzD,GAAgCtnD,aAC3CmnD,IACA,SAAAt7C,GAAc,OACZA,EAAezR,QACb,SAAA4T,GAAS,OAAa,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWuB,eAAgBrb,KAAYE,YCjD7CmzD,GAAa,SAAC1tD,GAAD,OAAsBA,EAAMH,IAEzC8tD,GAAkBxnD,aAAeunD,IAAY,SAAA1tD,GAAK,OAAIA,EAAM1B,SAE5DsvD,GAAmBznD,aAC9BwnD,IACA,SAAArvD,GAAK,OAAIA,EAAMC,QAAyB,UAAfD,EAAME,QAGpBqvD,GAA4B1nD,aACvCunD,IACA,SAAA7tD,GAAE,OAAIA,EAAGP,0BAGEwuD,GAAqC3nD,aAChDunD,IACA,SAAA7tD,GAAE,OAAIA,EAAGN,mCAGEwuD,GAAmC5nD,aAC9CunD,IACA,SAAA1tD,GAAK,OAAIA,EAAMP,iCCWJuuD,GAAgB,WAC3B,ILV+CvkD,EKUzC1G,EAAWwW,KACX1L,EAAU4L,IAAe,SAAAzZ,GAAK,MAAK,CACvCkF,KAAMlF,EAAM2M,YAAYkB,QACxBxD,QAASrK,EAAM2M,YAAYvJ,eAAiB,MAGxC6qD,EAAcx0C,GAAeszC,IAPF,EAQa3iD,mBAAiB,IAR9B,mBAQ1B8jD,EAR0B,KAQTC,EARS,KAU3BC,EAAuB30C,GAAe8zC,IACtCc,EAAmB50C,GAAe6zC,IAClC/4C,EAAakF,GAAe2zC,IAC5BvW,EAAuBp9B,GAAe+zC,IACtCxZ,EAAqBv6B,GAAeg0C,IAEpCa,EAAoB70C,GAAe0zC,IAhBR,EAiBa/iD,mBAAmB,IAjBhC,mBAiB1BmkD,EAjB0B,KAiBTC,EAjBS,KAkB3BC,EAAmBh1C,GAAe4yC,IAClCqC,EAA8Cj1C,GAClDgzC,GAA0B8B,IAEtBI,EAAgDl1C,GACpD8yC,IAGIhtD,EAAkCka,GACtCq0C,IA3B+B,EA8ByB1jD,mBACxD,IA/B+B,mBA8B1BwkD,EA9B0B,KA8BHC,EA9BG,KAiC3BC,EAA2Cr1C,IL1CFhQ,EK2CZmlD,EL1CnCzoD,aACEumD,IACA,SAAA1sD,GAAK,OAAIwgB,aAAM/W,EAAKzJ,EAAMqG,eK0CtB0oD,EAAsBt1C,GAAekzC,IApCV,EAsCSviD,mBAAS,GAtClB,mBAsC1Bk1C,EAtC0B,KAsCXoB,EAtCW,OAwCqBt2C,wBAEpD3L,GA1C+B,mBAwC1B0P,EAxC0B,KAwCLwoC,EAxCK,OA4CiCvsC,mBAEhE,IA9C+B,mBA4C1BupC,EA5C0B,KA4CCE,EA5CD,OAmD7BzpC,wBAAsC3L,GAnDT,mBAiD/Bm1C,EAjD+B,KAkD/BgD,EAlD+B,OAqDOxsC,wBAA6B3L,GArDpC,mBAqD1BuwD,EArD0B,KAqDZC,EArDY,KAuD3BC,EAAwBzkD,uBAC5B,SAAC0kD,EAAgC7P,GAC/Bv8C,EAAS4T,MACNpU,KAAK6sD,KACL7sD,MAAK,YAAgB,IAAD,IAAbpC,EAAa,oBACnB0uD,EAAwB,oBACtB1uD,EAAQyV,eADc,aACtB,EAAiBvO,KAAI,SAAA7E,GAAM,uBAAIA,EAAOsU,0BAAX,QAAiC,aADtC,QAEpB,IAEJ4pC,EAAgB,OAACpB,QAAD,IAACA,IAAiB,QAGxC,CAACv8C,IAGG0wC,EAAWhpC,uBACf,SAAC0kD,GACCpsD,EACEsU,GAAW,CACTlS,cAAegqD,EACf3wD,KAAM,MACN6wD,MAAO,KAGR9sD,KAAK6sD,KACL7sD,MAAK,YAAgB,IAAD,kCACqBqT,eADrB,QACgC,GADhC,mBACZ05C,EADY,KACDC,EADC,MAEfD,GAAaC,IACfpB,EAAmB,CAACmB,EAAWC,OAErCxsD,EACE+S,GAAgB,CACd3Q,cAAegqD,EACfE,MAAO,EACPhK,OAAQppD,+BAA4BG,QACpCmpD,UAAU,KAGXhjD,KAAK6sD,KACL7sD,MAAK,YAAgB,IAAD,IAAbpC,EAAa,oBACnBquD,EAAkB,oBAChBruD,EAAQyV,eADQ,aAChB,EAAiBvO,KAAI,SAAA7E,GAAM,uBAAIA,EAAOwT,4BAAX,QAAmC,aAD9C,QAEd,SAIV,CAACjT,IAMH,OAHA8vC,GAAkCY,GAClCZ,GAAkCqc,GAE3B,CACLrhD,UACA0G,WAAY,CACVrP,KAAMqP,EACN65C,uBACAC,mBACAxX,uBACA7C,qBACA3pC,QAASikD,GAEXh9C,UAAW,CACTk+C,SAAUd,EACVe,OAAQd,EACRtkD,QAASokD,GAEXn6C,kBAAmB,CACjBpP,KAAM4pD,EACNzkD,QAAS0kD,EACTzP,gBACAoB,mBACArB,WAAY6P,EACZvb,4BACAE,gCAEFv8B,KAAM,CACJpS,KAAMgpD,EACN7jD,QAAS4jD,GAEX1uD,kCACA4O,oBAAqB,CACnBA,sBACAwoC,0BAEFT,gBAAiB,CACftC,gCACAgD,oCAEF8Y,OAAQ,CACNV,eACAC,qBC9KSxyC,iBAAW,SAACC,GAAD,MAAmB,CAC3CkN,OAAQ,CACN7L,SAAU,IAEZ4xC,eAAgB,CACd/tC,OAAQ,IACRhF,MAAO,OACPO,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZyI,UAAW,SACX/H,SAAU,GACVlB,M3LN0B,U2LO1BsE,QAAS,KAEXgU,aAAc,CACZvY,M9EhB8B,I8EiB9BgF,OAAQ,WCvBG7Q,GAAeI,GAAfJ,WCEF6+C,GAAmB,SAAC5vD,GAAD,OAAsBA,EAAMiQ,UAE/C4/C,GAA0B1pD,aACrCypD,IACA,SAAA5vD,GAAK,OAAIA,EAAMoD,eAAiB,KAGrB0sD,GAAmB3pD,aAC9BypD,IACA,SAAA5vD,GAAK,OAAIA,EAAM4Q,S,IAGUzK,aACzBypD,IACA,SAAA5vD,GAAK,OAAIA,EAAM6Q,e,QCbJk/C,GAAY,WACvB,IAAMC,EAAYv2C,IAAe,SAAAzZ,GAAK,OAAIA,EAAM6K,QAEhD,OAAOJ,uBAAY,WAAO,IAAD,EACjBwlD,EAAcC,4BACd5nD,EAAK,UAAG0nD,EAAUplD,YAAb,aAAG,EAAgBulD,SAC9BF,EAAYG,qBAAqB,CAAEC,cAAe/nD,IAAS/F,MAAK,SAAA+tD,GAC9DthD,OAAOC,SAASyV,KAAO4rC,EAAIzqD,SAE5B,CAACmqD,EAAUplD,QCIH2lD,GAAgB,SAACvP,GAAD,OAFC,IAAIwP,gBAAgBt1C,eAAcG,QAEL8a,IAAI6qB,IAclDyP,GAAoB,WAC/B,IAAMC,EAAUH,GAAc,WACxBI,EAAYJ,GAAc,aAC1BK,EAAOL,GAAc,QACrB3/C,EAAQ6I,GAAeq2C,IACvB/sD,EAAWwW,KACXs3C,EAlBsB,WAC5B,IAAMC,EAAUC,eAEhB,OAAOtmD,uBACL,kBACEqmD,EAAQ1gD,QAAQ,CACdiL,OAAQ,OAEZ,CAACy1C,IAUiBE,GACdC,EAASlB,KAEPr/C,EAAM+V,eAAN/V,EAEFwgD,EAAkBzmD,uBAAY,WAClC,IAAM0mD,EAIF,CAAE3yD,KAAM,cAAeM,MAAO,GAAIC,SAAU,uCAEvC,OAAL6R,QAAK,IAALA,OAAA,EAAAA,EAAOI,eAAgBlU,eAAYG,YACrCk0D,EAAc3yD,KAAO,cACrB2yD,EAAcryD,MAAQ4R,EAAE,yBACxBygD,EAAcpyD,SACZ,kBAACqyD,GAAA,EAAD,CAAOC,QAAQ,4BAAf,mBAEE,0BAAMzwC,MAAO,CAAE3C,WAAY,MACxB,IACA,CAAEo7B,OAAQkK,GAAY,OAAC3yC,QAAD,IAACA,OAAD,EAACA,EAAOi5C,YAAa,KAJhD,0CAWK,OAALj5C,QAAK,IAALA,OAAA,EAAAA,EAAOI,eAAgBlU,eAAYI,sBACrCi0D,EAAc3yD,KAAO,QACrB2yD,EAAcryD,MAAQ4R,EAAE,yBACxBygD,EAAcpyD,SAAW2R,EAAE,2BAA4B,CACrD2oC,OAAQzoC,EAAMi5C,gBAIX,OAALj5C,QAAK,IAALA,OAAA,EAAAA,EAAOI,eAAgBlU,eAAYC,MAC9B,OAAL6T,QAAK,IAALA,OAAA,EAAAA,EAAOI,eAAgBlU,eAAYE,UAEnCm0D,EAAc3yD,KAAO,cACrB2yD,EAAcryD,MAAQ4R,EAAE,yBACxBygD,EAAcpyD,SAAW2R,EAAE,2BAA4B,CACrD2oC,OAAQzoC,EAAMi5C,eAIlB9mD,EACE9C,EAAU,2BACLkxD,GADI,IAEPjyD,eAAe,EACfC,oBAAoB,EACpBN,SAAU,WACRkE,EAASgO,MACT8/C,WAIL,CAAC9tD,EAAU6N,EAAOF,EAAGmgD,IAExB11C,qBAAU,WACJu1C,GAAWC,GAAaC,GAC1B7tD,EAASyN,GAAa,CAAEogD,OAAMxqD,OAAQ,CAACuqD,EAAWD,MAC/CnuD,KAAK6sD,KACL7sD,MAAK,SAAA0C,GACJ,IAAKA,EAAS4L,YACZ,OAAOogD,IAGTluD,EAASwN,GAASmgD,OAEnBtyB,UAEJ,CAACsyB,EAASC,EAAWC,EAAM7tD,EAAUkuD,IACxC91C,qBAAU,WACJvK,GACFsgD,MAED,CAACtgD,EAAOsgD,M,SnBhEDxN,O,iDAAAA,I,oDAAAA,Q,KAKL,I,wCoBhDM4N,GAAmB,SAACtxD,GAAD,OAAsBA,EAAMmW,UAE/Co7C,GAAsBprD,aAAemrD,IAAkB,SAAAtxD,GAAK,OACvEoG,aAAOpG,EAAMqG,aAGFmrD,GAA0BrrD,aACrCmrD,IACA,SAAAn7C,GACE,OAAOA,EAAS/S,eAAiB,KAI/BquD,GAAyB,SAACt7C,GAC9B,OAAOwjB,cAQL,SAACC,EAAK83B,GAAa,IAAD,QACZjP,EAAOrB,aAASsQ,EAAQjP,MACxBkP,EAAQC,aAASnP,GACjBoP,EAAcC,aAAWrP,GAEzBnnB,GACJ,oBAAC1B,EAAI+3B,UAAL,aAAC,EAAYr2B,eAAb,QAAwB,IAAMu2B,EAAcH,EAAQrY,OAAS,GACzD0Y,GAAO,oBAACn4B,EAAI+3B,UAAL,aAAC,EAAYI,YAAb,QAAqB,IAAOF,EAA+B,EAAjBH,EAAQrY,QAM/D,OALAzf,EAAI+3B,GAAS,CACXI,OACAz2B,WAGK1B,IACN,GAtBID,CAsBAxjB,IAGI67C,GAAiC7rD,aAC5CorD,GACAE,IAGWQ,GAA8B9rD,aACzCorD,IACA,SAAAp7C,GACE,IAAM+7C,EAA4BC,cAChC,SAAAT,GAAO,8BAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAS56C,0BAAb,QAAmC,KAC1CX,GAGF,OAAOi8C,cAAc,SAAChsD,GAAD,OACnBqrD,GAAuBrrD,KADlBgsD,CAELF,M,4BCxDSz1C,iBAAW,SAACC,GAAD,MAAmB,CAC3CgN,UAAW,CACT9M,MAAO,OACPO,QAAS,QAEXk1C,QAAS,CACP91C,QAASG,EAAMa,QAAQ,KAAM,IAE/B+0C,YAAa,CACXz1C,MAAOH,EAAMiB,QAAQ3e,KAAKuzD,KAC1BzvC,SAAU,WACVzG,IAAK,GAEPm2C,aAAc,CACZl1C,aAAcZ,EAAMa,QAAQ,MAC5BiE,cAAe,aACfvD,WAAY,KAEdw0C,YAAa,CACXt1C,QAAS,eACT,eAAgB,CACdsB,WAAY/B,EAAMa,QAAQ,KAG9BtI,MAAO,CACLgJ,WAAY,IACZF,SAAU,IAEZ20C,UAAW,CACT71C,MAAOH,EAAMiB,QAAQ3e,KAAKuzD,KAC1Bp1C,QAAS,OACT,SAAU,CACRqF,WAAW,GAAD,OAlCgB,GAkChB,MACV/E,YAAaf,EAAMa,QAAQ,KAG/Bo1C,YAAY,aACVx1C,QAAS,OACTF,OAAQP,EAAMa,QAAQ,EAAG,IACxBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAGnBw1C,WAAY,CACV31C,OAAQP,EAAMa,QAAQ,EAAG,GACzBU,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAKuzD,KAC1B,QAAS,CACPp1C,QAAS,eACTP,MAAO,OACPgF,OAAQ,OACRH,aAAc,EACdhE,YAAaf,EAAMa,QAAQ,MAC3BgM,UAAW,mBAEb,SAAU,CACR9L,YAAaf,EAAMa,QAAQ,SClC3Bs1C,GAAgBjB,aAAS,IAAIr7C,MAM7Bu8C,GAOD,SAAC,GAAuB,IAAD,IAApB3yD,EAAoB,EAApBA,QAASsgB,EAAW,EAAXA,EAAGC,EAAQ,EAARA,EAElB,OACE,uBAAG6I,UAAS,oBAAe9I,EAAf,YAAoBC,EAApB,MACV,mCACED,GAAG,GACHC,EAAG,EACH4tB,GAAI,GACJ5wB,KlMvC0B,UkMwC1Bd,MARam2C,GASbnxC,OAAQ,IAER,yBACEhB,MAAK,aACHY,cAAe,aACf5E,MAAO,OACPkJ,UAAW,SACXhD,SAAU,QACV8C,cAAe,EACf7H,SAAU,GACVE,WAAY,KACR40C,GAAchxD,aAAe1B,EAAQ8U,MACrC,CACEgJ,WAAY,IACZke,aAAa,aAAD,OlM/DF,YkMiEZ,KAdR,UAiBG9sB,KAAG2jD,gBAjBN,iBAiBG,EACGrB,MAAMxxD,EAAQ8U,MAAO,CAAE2H,MAAO,uBAlBpC,aAiBG,EAEG05B,kBAOR2c,GAOD,SAAC,GAAuB,IAArB9yD,EAAoB,EAApBA,QAASsgB,EAAW,EAAXA,EAAGC,EAAQ,EAARA,EAClB,OACE,uBAAG6I,UAAS,oBAAe9I,EAAf,YAAoBC,EAApB,MACV,0BACED,GAAI,EACJC,EAAG,EACH4tB,GAAI,EACJ4kB,WAAW,MACXx1C,KlMpF0B,UkMqF1BkD,MAAO,CACL3C,WAAY,MAGb9d,EAAQ8U,SAqBJk+C,GAA+B,SAAC,GAAkB,IAAhBh9C,EAAe,EAAfA,SACvC+M,EAAS1G,KACTE,EAAQiM,eACR6H,EAAcC,aAAc/T,EAAMK,YAAYC,KAAK,OACnDo2C,EAAe3iC,aAAc/T,EAAMK,YAAYC,KAAK,OACpDq2C,EAAc5iC,aAAc/T,EAAMK,YAAYC,KAAK,OAEnDs2C,EAAWF,EAAeL,GAlGhB,GAoGVQ,EAAclvC,mBAAQ,WAC1B,OAAImM,EAfmB,IAgBd4iC,EAfe,IAgBfC,EAfc,IACE,MAgBxB,CAACA,EAAaD,EAAc5iC,IA0CzBgjC,EAAsC,SAAC,GAAkB,IAAbhzC,EAAY,oBACtDizC,GAAgB,OAALjzC,QAAK,IAALA,OAAA,EAAAA,EAAOoB,SAAUpB,EAAMoB,OAAS,GAC3ClE,EAAO+1C,EAAQ,OACjBjzC,QADiB,IACjBA,OADiB,EACjBA,EAAO9C,KACPg2C,cAAa,OAALlzC,QAAK,IAALA,OAAA,EAAAA,EAAO9C,OlMlLK,UkMkLiB,IACzC,OAAO,kBAAC,KAAD,eAAW8wB,OAAQilB,EAAW,EAAI,EAAG/1C,KAAMA,GAAU8C,KAGxDmzC,EAAoBtvC,mBAAQ,WAEhC,OADkB,KACEmM,EAAyB,EAAX8iC,EAAen9C,EAASnP,OAAS,KAClE,CAACmP,EAASnP,OAAQssD,EAAU9iC,IAE/B,OACE,oCACE,yBAAK9M,UAAWR,EAAOwvC,WACrB,kBAAC3tB,GAAA,EAAD,CAAYzhB,QAAQ,WAApB,gBACA,kBAACyhB,GAAA,EAAD,CAAYzhB,QAAQ,WAApB,UAEF,kBAAC,GAAD,KACE,kBAAC,KAAD,CACE1G,MAAM,OACNgF,OAAQ2xC,EACRptC,SAAUwtC,GAEV,kBAAC,KAAD,CACEzuD,KAAMiR,EACNy9C,OAAQ,EACR32C,OAAQ,CACNZ,IAAK,GACLzC,KAAM,EACNC,MAAO,GACPyC,OAAQ,IAEVu3C,QAASP,GAET,kBAAC,KAAD,CACEjiC,UAAU,EACVyiC,gBAAgB,MAChB1qC,OAAO,UACPC,YAAa,EACb0qC,cAAe,MAEjB,kBAAC,KAAD,CACEC,UAAU,EACVC,UAAU,EACVC,QAAQ,QACRC,KAAMrB,KAER,kBAAC,KAAD,CACEkB,UAAU,EACVC,UAAU,EACVE,KAAMlB,KAER,kBAAC,KAAD,CACEj1C,OAAQ,CAAEN,KAAM,eAChB02C,mBAAmB,EACnBvqC,QA5FP,SAAC,GAAgC,IACxB,MADNwqC,EAA6B,EAA7BA,OAAQl0D,EAAqB,EAArBA,QAASwtB,EAAY,EAAZA,MACvB,OAAI0mC,EAEA,kBAAC/5D,GAAA,EAAD,CAAOgpB,QAAQ,WAAWI,UAAWR,EAAOmvC,SAC1C,kBAACttB,GAAA,EAAD,CAAYrhB,UAAWR,EAAOsvC,cAA9B,UACGnjD,KAAG2jD,gBADN,aACG,EAAarB,MAAMhkC,IAEtB,yBAAKjK,UAAWR,EAAOuvC,aACrB,kBAAC1tB,GAAA,EAAD,CAAYzhB,QAAQ,UAAUI,UAAWR,EAAOovC,aAAhD,iBAGA,kBAACvtB,GAAA,EAAD,CAAYrhB,UAAWR,EAAOjO,OAC3B9U,IAAO,UAAIA,EAAQ,UAAZ,aAAI,EAAY8U,OAD1B,SAIF,yBAAKyO,UAAWR,EAAOuvC,aACrB,kBAAC1tB,GAAA,EAAD,CAAYzhB,QAAQ,UAAUI,UAAWR,EAAOovC,aAAhD,yBAGA,kBAACvtB,GAAA,EAAD,CACErhB,UAAWR,EAAOjO,MAClB2L,MAAO,CACL/D,MlMjKY,YkMoKb1c,IAAO,UAAIA,EAAQ,UAAZ,aAAI,EAAY8U,OAN1B,UAaD,QA8DC,kBAAC,KAAD,CACEi/C,QAAQ,OACRI,aAAc,EACd52C,KA/MU,UAgNVw8B,MAAOsZ,IAET,kBAAC,KAAD,CACEU,QAAQ,UACRx2C,KlMjPc,UkMkPd42C,aAAc,EACdpa,MAAOsZ,OAKf,yBAAK9vC,UAAWR,EAAOyvC,aACrB,yBAAKjvC,UAAWR,EAAO0vC,YACrB,yBACEhyC,MAAO,CACLqB,WA/NU,aAkOd,gDAEF,yBAAKyB,UAAWR,EAAO0vC,YACrB,yBACEhyC,MAAO,CACLqB,WlMpQc,UkMqQdkiB,YAvOW,aA0Of,2DCxQV,SAAS,KAA2Q,OAA9P,GAAW58B,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IC4BKy1C,GD5BD,GAAqB,IAAMz0C,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,8GAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,WACJ,YAAa,YACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,iBACX3D,EAAG,qEACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,iBACX3D,EAAG,8HACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,iBACXyI,GAAI,KACJC,GAAI,EACJC,GAAI,KACJC,GAAI,OACW,IAAMxM,cAAc,OAAQ,CAC3C4D,UAAW,iBACX3D,EAAG,qQAGD,GAAc,SAAqBO,GACrC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAa,GAAS,CAC5DS,OAAQQ,GACPP,O,IAEU,I,kBE3CFg0C,GAAelzC,cAAW,SAAC5E,GAAD,MAAmB,CACxD6E,KAAM,CACJO,OAAQ,OACRrE,YAAa,OACblB,QAAS,WACTkF,aAAc,iBACdQ,WAAYvF,EAAMiB,QAAQ82C,KAAK,KAC/B53C,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1Bd,cAAe,QAEjBymB,SAAU,CACR9lB,gBAAiBzF,EAAMiB,QAAQC,QAAQC,KAAO,cAC9ChB,MAAOH,EAAMiB,QAAQoE,OAAOC,MAAQ,kBAZZV,CAcxBoB,aAAUgyC,OCTCj4C,iBAAW,SAACC,GAAD,cAAmB,CAC3Ci4C,eAAa,GACXC,KAAM,WACNv3C,WAAY,SACZmB,eAAgB,gBAChBjC,QAASG,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAChCN,OAAQP,EAAMa,QAAQ,EAAG,GACzBQ,SAAU,GACVE,WAAY,KAPD,cAQVvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WATN,cAWVV,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,IAZA,GAebuY,eAAe,aACbtW,eAAgB,gBAChBnB,WAAY,SACZJ,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAC/BuU,SAAU,QACTpV,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4B,UAAW,aACX3B,OAAQ,IAGZ43C,SAAO,GACL13C,QAAS,OACTE,WAAY,SACZJ,OAAQP,EAAMa,QAAQ,EAAG,GACzB,WAAY,CACVhB,QAASG,EAAMa,QAAQ,IAAK,KALzB,cAOJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,WAAY,CACVT,QAASG,EAAMa,QAAQ,EAAG,GAC1BX,MAzCU,OA+BT,cAaJF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,WAAY,CACVJ,MAAOk4C,OAfN,yBAkBK,QAlBL,GAoBPl1D,KAAK,aACHyd,WAAY,SACZyU,SAAU,OACV7U,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAC/B,MAAO,CACLN,OAAQP,EAAMa,QAAQ,EAAG,KAAM,EAAG,IAEpC,SAAU,CACRV,MtMjDwB,UsMkDxBoB,WAAY,MAEbvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfC,WAAY,eAGhByb,QAAQ,aACN7b,OAAQP,EAAMa,QAAQ,EAAG,IACxBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4B,UAAW,eAGfm2C,UAAU,aACR53C,QAAS,OACTF,OAAQP,EAAMa,QAAQ,EAAG,GACzBV,MtMlE0B,UsMmE1B,QAAS,CACPY,YAAaf,EAAMa,QAAQ,MAE5Bb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACf,QAAS,CACPH,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,MAIrCy3C,UAAU,aACRj3C,SAAU,GACVZ,QAAS,QACTgE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KAGdk3C,UAAU,aACRl3C,SAAU,GACVwE,cAAe,GACftE,WAAY,IACZd,QAAS,QACTgE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KAGdm3C,cAAe,CACb/3C,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACR2E,OA5G0B,IA6G1B7D,SAAU,GACVoD,QAAS,IACTtE,MtMtG0B,WsMwG5Bs4C,YAAY,aACVv4C,MAhHuB,IAiHvB4N,UAlH4B,GAmH5BtE,YAAaxJ,EAAMa,QAAQ,GAC3BgX,aAAc7X,EAAMa,QAAQ,GAC5B8a,WAAY,SACZhb,WAAY,QACXX,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACP8B,UAAWhC,EAAMa,QAAQ,SC5HhBd,iBAAW,SAACC,GAAD,eACxBkG,aAAa,CACX8R,eAAgB,CACd,uBACEnY,QAAS,kBADX,cAEGG,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4I,cAAe,SAHnB,cAKGlJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,mBANb,IAUFsN,QAAS,CACP1M,QAAS,OACTC,cAAe,SACfC,WAAY,SACZyI,UAAW,SACXvJ,QAAS,EAET,OAAO,aACLU,OAAQ,WACRc,SAAU,GACVwE,cAAe,SACfC,WAAY,OACZsD,UAAW,SACX7H,WAAYvB,EAAMwB,WAAWkW,kBAE5B1X,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAIhBmU,MAAM,aACJtV,MAAO,MACPK,OAAQ,YACPP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,SAGXojB,gBAAgB,aACd7iB,QAAS,OACTyB,UAAW,SACXJ,eAAgB,gBAChB5B,MAAO,MACPL,QAAS,GAERG,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,mBAGnBg4C,sBAAsB,aACpBj4C,QAAS,OACTyB,UAAW,SACXJ,eAAgB,SAChB5B,MAAO,MACPL,QAAS,GAERG,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,mBAGnByH,QAAM,GACJ5H,OAAQ,EACR2E,OAAQ,OACRhF,MAAO,MACPmB,SAAU,IAJN,cAKHrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,GACVT,aAAc,OACdV,MAAO,SARL,cAUHF,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KAXR,QCrCJvB,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXyyC,cAAc,eACX34C,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,SAMJ+4C,GAAkE,SAAC,GAGzE,IAFLC,EAEI,EAFJA,gBACAC,EACI,EADJA,mBAEQ9kD,EAAM+V,eAAN/V,EACFwS,EAAS1G,KACPygB,EAAoBC,eAApBD,gBAEFw4B,EAA2Bh8C,GAAetS,IAChDouD,EAAkB97C,GAAehS,IACjC+tD,EAAmBD,GAPf,MASoBnrD,oBAAUmrD,GAT9B,mBASGxlC,EATH,KASSyH,EATT,OAWwBttB,GAAO,CACjCnE,cAAc,EACdJ,OAAQ,CACNC,OAAQ,SAHL8vD,EAXH,oBAkBE3yD,EAAWwW,KAiCjB,OACE,kBAAC,KAAD,CAAQkyB,cAAe,GAAI7sC,SAAU,eAClC,gBACC+2D,EADD,EACCA,QACA3nB,EAFD,EAECA,WACApM,EAHD,EAGCA,YACAg0B,EAJD,EAICA,cACAC,EALD,EAKCA,aACAzvD,EAND,EAMCA,OAND,OAQC,kBAAC,KAAD,KACE,kBAACoe,GAAA,EAAD,CACEoC,mBAAiB,aACjBoJ,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTtC,KAAMsL,GAEN,kBAAC7I,GAAA,EAAD,CAAe+I,QAAS,CAAE1O,KAAM2B,EAAOmyC,gBACrC,6BACGI,EAAyBzuD,OAAS,GACjC,oCACE,yDACA,0LACA,kBAAC,GAAD,CAAUT,SAAUkvD,OAK5B,kBAACvlC,GAAA,EAAD,KACE,kBAAC,GAAD,CACEtP,MAAO,CAAEnD,YAAa,GACtB6F,QAAQ,OACRsB,QAAS,WACP4S,GAAQ,GACRg+B,GAAmB,KAGpB9kD,EAAE,6BAEL,kBAAC,GAAD,CACEmM,MAAM,UACNyG,QAAQ,YACR8D,SAAUwa,EAAc,IAAM+zB,EAC9Bn3D,KAAK,SACLomB,QAAS,WACFixC,GACH7nB,IAAazrC,MAAK,YA9EnB,SACf6D,EACAwvD,GAEIH,EAAyBK,OAAM,SAAAtvD,GAAO,OAAW,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAAS/F,KAAM2F,EAAOI,EAAQ/F,SAC1Em1D,GAAc,GACdxzD,QAAQk/B,IACNm0B,EAAyBpuD,KAAI,SAAAb,GAC3B,OAAOkvD,EAAkB,CACvB7vD,IAAK,6BAAuBW,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAS/F,IACrCyE,KAAM,CACJ0C,YAAmB,OAAPpB,QAAO,IAAPA,OAAA,EAAAA,EAAS/F,KAAM2F,EAAOI,EAAQ/F,WAI/C8B,MAAK,WACJQ,EAAS2E,MACT8tD,GAAmB,MAEpBp3B,OAAM,WACLnB,EACE,2JACA,CAAE3Z,QAAS,aAGd/Z,SAAQ,WACPqsD,GAAc,OAqDFh3D,CAASwH,EAAQwvD,OAIvBvrD,QAASwrD,GAZX,iBC/GDE,GAA0G,SAAC,GAIjH,IAHLv+B,EAGI,EAHJA,QACAw+B,EAEI,EAFJA,SACA5W,EACI,EADJA,UAEQ1uC,EAAM+V,eAAN/V,EACAulD,EAA2B7W,EAA3B6W,YAAaC,EAAc9W,EAAd8W,UACbC,EAA2CH,EAA3CG,SAAUC,EAAiCJ,EAAjCI,WAAYC,EAAqBL,EAArBK,iBAExBnzC,EAAS1G,KALX,EAOoCtS,GAAO,CAC7CnE,cAAc,EACdD,oBAAoB,EACpBH,OAAQ,CACNC,OAAQ,OACRC,IAAI,oCALDywD,EAPH,sBAgB4ClsD,oBAAS,GAhBrD,mBAgBGmsD,EAhBH,KAgBqBC,EAhBrB,OAiBgDpsD,oBAAS,GAjBzD,mBAiBGqsD,EAjBH,KAiBuBC,EAjBvB,OAsBAtsD,oBAAS,GAtBT,mBAoBFusD,EApBE,KAqBFC,EArBE,KAwBI35B,EAAoBC,eAApBD,gBAEF45B,EAAyBpsD,sBAAW,sBAAC,sBAAA1F,EAAA,+EAEjCuxD,EAA8B,CAClCpxD,KAAM,CACJ4xD,uBAAwBb,EACxBc,WAAYZ,EACZa,aAAcZ,EACda,YAAaZ,KAEd9zD,MAAK,WACNm0D,GAAsB,SAAA1tC,GAAI,OAAKA,KAC/BwtC,GAAoB,MAXiB,sDAcvC5W,QAAQC,IAAR,MACA5iB,EACE,0GACA,CAAE3Z,QAAS,UAjB0B,wDAoBxC,CACDgzC,EACAI,EACAz5B,EACAg5B,EACAI,EACAF,EACAC,IAGF,OACE,oCACE,kBAAC5xC,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAM8xC,GAAoBI,EAC1B3mC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTrD,UAAWR,EAAOwR,eAClB7N,QAAS,kBAAM2Q,GAAQ,KAEvB,kBAACtQ,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC/B,uDACA,kLAIA,oGAEGqsC,EAAY,gCAAMA,EAAN,MAAyB,gCAAMD,EAAN,MAFxC,gEAKA,6BACA,8BAEF,kBAAC/lC,GAAA,EAAD,CAAexM,UAAWR,EAAO8c,iBAC/B,kBAAC,GAAD,CACE1c,QAAQ,WACRI,UAAWR,EAAO2B,OAClBD,QAAS,WACP4xC,GAAoB,GACpBh/B,GAAQ,KAGT9mB,EAAE,6BAEL,kBAAC,GAAD,CACEmM,MAAM,UACNyG,QAAQ,YACRI,UAAWR,EAAO2B,OAClBD,QAAS,WACPiyC,MALJ,cAaJ,kBAACryC,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAMgyC,EACNzmC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTrD,UAAWR,EAAOwR,eAClB7N,QAAS,WACP6vC,GAAsB,KAGxB,kBAACxvC,GAAA,EAAD,CAAexD,UAAWR,EAAO2G,SAC/B,qEACA,gJAIA,6BACA,8BAEF,kBAACqG,GAAA,EAAD,CAAexM,UAAWR,EAAOkyC,uBAC/B,kBAAC,GAAD,CACE9xC,QAAQ,WACRI,UAAWR,EAAO2B,OAClBD,QAAS,WACP8xC,GAAsB,GACtBF,GAAoB,GACpBh/B,GAAQ,KAGT9mB,EAAE,+BAKT,kBAAC,GAAD,CACE6kD,gBAAiBoB,EACjBnB,mBAAoBoB,O,SLpIvBrC,O,aAAAA,I,oBAAAA,Q,KMpCL,SAAS,KAA2Q,OAA9P,GAAWhtD,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,2DAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,iBACJ,YAAa,kBACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,cACX3D,EAAG,kEACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,cACX3D,EAAG,oEACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,cACX3D,EAAG,iEACY,IAAMD,cAAc,SAAU,CAC7C4D,UAAW,cACX1D,GAAI,KACJC,GAAI,KACJC,EAAG,OACY,IAAMJ,cAAc,SAAU,CAC7C4D,UAAW,cACX1D,GAAI,MACJC,GAAI,MACJC,EAAG,OACY,IAAMJ,cAAc,SAAU,CAC7C4D,UAAW,cACX1D,GAAI,KACJC,GAAI,MACJC,EAAG,QAGD,GAAW,SAAkBI,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,O,IAEU,I,mBC5CA/D,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACXs0C,UAAW,CACTn5C,SAAU,IAEZ4L,QAAS,CACP/M,MAAO,OACPgF,OAAQ,OACRzE,QAAS,OACTqB,eAAgB,aAChBnB,WAAY,cAEdsS,MAAO,CACL/S,MAAO,OACPgF,OAAQ,OACRrF,QAASG,EAAMa,QAAQ,GACvBuF,SAAU,WACVqD,SAxBY,IAyBZqE,UA1Ba,KA4Bf2sC,QAAS,CACPh6C,QAAS,OACTC,cAAe,SACfC,WAAY,cAEd+5C,cAAe,CACbj6C,QAAS,OACTE,WAAY,SACZC,aAAcZ,EAAMa,QAAQ,GAC5B,gBAAiB,CACf,QAAS,CACPqE,OApCuB,GAqCvB3E,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAC/BX,MAAO,OACPc,KAAMhB,EAAMiB,QAAQC,QAAQC,MAE9B,OAAQ,CACNZ,OAAQ,EACRgB,WAAY,IACZF,SAAU,GACVlB,M3MtCoB,U2MuCpB0F,cAAe,OAIrB80C,eAAe,aACbl6C,QAAS,OACTE,WAAY,SACZT,MAAO,OACP,WAAW,aACT6B,WAAY/B,EAAMa,QAAQ,GAC1BX,MAtDU,IAuDVgF,OAtDW,GAuDX3D,WAAY,IACZF,SAAU,IACTrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BX,MAAO,UAGVF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BK,WAAY,SACZD,cAAe,WAGnBk6C,cAAe,CACbn6C,QAAS,QAEX+hB,KAAM,CACJtiB,MAAO,OACPgC,UAAW,aACX9B,SAAU,UC5EDL,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACX+xC,cAAc,aACZ13C,OAAQP,EAAMa,QAAQ,EAAG,EAAG,EAAG,GAC/Bq3C,KAAM,WACNz3C,QAAS,OACTE,WAAY,SACZmB,eAAgB,aAChBsT,SAAU,QAETpV,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,EACZ7B,MAAO,SAGXi4C,QAAQ,aACN/iC,SAAU,OACV,WAAY,CACVvV,QAASG,EAAMa,QAAQ,EAAG,GAC1BN,OAAQP,EAAMa,QAAQ,EAAG,GACzBX,MAtBU,MAwBXF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,SACf,WAAY,CACVR,MAAO,OACPL,QAASG,EAAMa,QAAQ,EAAG,MAIhCooC,oBAAqB,CACnBxoC,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZqB,UAAWhC,EAAMa,QAAQ,IAE3B+tB,OAAQ,CACNnuB,QAAS,OACTqB,eAAgB,SAChB5B,MAAO,QAET26C,mBAAoB,CAClBniC,UAAW,SACXhX,WAAY,2BAEdmzB,MAAO,CACLt0B,OAAQ,EACR2E,OAAQ41C,IACRz5C,SAAU,GACVlB,M5M3CwB,U4M4CxBsE,QAAS,UCjDA1E,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACX+M,MAAO,CACLxS,QAAS,OACTC,cAAe,SACfE,aAAcZ,EAAMa,QAAQ,IAE9Bk6C,aAAa,aACXt6C,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChBlB,aAAcZ,EAAMa,QAAQ,GAC5B,WAAY,CACVX,MAlBU,IAmBVgF,OAlBW,GAmBX7D,SAAU,GACV+D,OAAQ,sBACRjF,M7MZsB,Y6McvBH,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfC,WAAY,aACZ,WAAY,CACVT,MAAO,UAIbwI,KAAK,aACH3H,YAAaf,EAAMa,QAAQ,GAC3BX,MAhCY,GAiCZgF,OAjCY,IAkCXlF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BS,YAAaf,EAAMa,QAAQ,KAG/BqM,OAAO,aACLzM,QAAS,OACTE,WAAY,SACZR,M7MjCwB,W6MkCvBH,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,KAGhC3D,KAAM,CACJ,MAAO,CACLqD,OAAQ,EACRkE,QAAS,IACTpD,SAAU,GACVwE,cAAe,UAEjB,OAAQ,CACNtF,OAAQ,EACRc,SAAU,GACVwE,cAAe,WAGnBsH,QAAS,CACPjI,OA3DsB,GA4DtB7D,SAAU,GACVwE,cAAe,SACfpF,QAAS,cACTgb,gBAAiB,WACjBC,gBAAiB,EACjB3V,SAAU,eCpEDhG,iBAAW,SAACC,GAAD,OACxBkG,aAAa,CACXjG,OAAO,aACLJ,QAASG,EAAMa,QAAQ,GAAI,KAC1Bb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,KAG9BsM,QAAQ,aACNtN,QAAS,EACTe,aAAcZ,EAAMa,QAAQ,IAC5BJ,QAAS,OACTC,cAAe,SACfC,WAAY,SACZ,OAAQ,CACNU,SAAU,GACVwE,cAAe,GACftF,OAAQP,EAAMa,QAAQ,EAAG,EAAG,IAC5BuI,UAAW,UAEb,QAAS,CACPlJ,MAAO,OACPkJ,UAAW,SAEZpJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,GAC5B,OAAQ,CACND,aAAcZ,EAAMa,QAAQ,MAIlC6H,KAAM,CACJjI,QAAS,OACTqB,eAAgB,UAElBqR,IAAI,aACFjT,MAAO,IACPgF,OAAQ,GACR3E,OAAQ,SACR6E,OAAQ,sBACRjF,M9M9BwB,U8M+BxBkB,SAAU,IACTrB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,cCpCF86C,GAIR,SAAC,GAA2B,IAAzB3nC,EAAwB,EAAxBA,KAAMvJ,EAAkB,EAAlBA,MAAOlP,EAAW,EAAXA,KACb4L,EAAS1G,KAEP9L,EAAM+V,eAAN/V,EAEA5R,EAAmBwY,EAAnBxY,MAAO4lC,EAAYptB,EAAZotB,QAEf,OACE,kBAAClgB,GAAA,EAAD,CACEoC,mBAAiB,aACjBnC,KAAMsL,EACNC,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTkJ,QAAS,CAAEN,MAAOzM,EAAOvG,QACzBkK,QAASL,GAET,kBAACU,GAAA,EAAD,CAAe+I,QAAS,CAAE1O,KAAM2B,EAAO2G,UACrC,yBAAKnG,UAAWR,EAAOkC,MACrB,kBAAC,GAAD,CAAM5mB,KAAK,UAEb,4BAAKM,GACL,kBAAC,KAAD,CACE4d,MAAM,SACNqmC,UAAU,EACV9tC,MAAO+tC,KAAKC,MAAL,OAAWve,QAAX,IAAWA,IAAW,OAGjC,kBAACxU,GAAA,EAAD,KACE,kBAAC,GAAD,CAAQ5M,QAAQ,WAAWsB,QAAS4B,EAAO9C,UAAWR,EAAO2M,KAC1Dnf,EAAE,aC/BAinD,GAMR,SAAC,GAA0B,IAAxBrgD,EAAuB,EAAvBA,KAAMsgD,EAAiB,EAAjBA,WACN10C,EAAS1G,KADc,EAEKpS,oBAAS,GAFd,mBAEtBnK,EAFsB,KAEX2wB,EAFW,KAIrBnwB,EAA2C6W,EAA3C7W,GAAI3B,EAAuCwY,EAAvCxY,MAAO2jD,EAAgCnrC,EAAhCmrC,KAAM/d,EAA0BptB,EAA1BotB,QAASge,EAAiBprC,EAAjBorC,aAJL,EAMDx4C,GAAO,CACjCvE,OAAQ,CACNC,OAAQ,SAFLiyD,EANsB,oBAYvBC,EAAyBrtD,uBAC7B,SAAChK,GACCmwB,GAAa,GACbinC,EAAkB,CAAEhyD,IAAI,QAAD,OAAUpF,EAAV,mBAEzB,CAACmwB,EAAcinC,IAGXE,EAAmBttD,uBAAY,WACnCmmB,GAAa,GACbgnC,GAAcA,GAAW,EAAO,KAC/B,CAAChnC,EAAcgnC,IAEZjV,EAAYl4C,uBAChB,SAACg4C,GAAD,OAAgBG,aAAYC,aAAUJ,MACtC,IAGIK,EAAgBr4C,uBACpB,SAACg4C,GAAD,OAAgBtB,aAAO0B,aAAUJ,GAAO,gBACxC,IAGF,OACE,oCACE,kBAACnoD,GAAA,EAAD,CAAOgpB,QAAQ,WAAWI,UAAWR,EAAOyM,OAC1C,yBAAKjM,UAAWR,EAAOu0C,cACrB,yBAAK/zC,UAAWR,EAAO0G,QACrB,yBAAKlG,UAAWR,EAAOkC,MACpBs9B,EAAe,kBAAC,GAAD,MAAkB,kBAAC,GAAD,OAEpC,yBAAKh/B,UAAWR,EAAOtJ,MACrB,2BACG6oC,IAASE,EAAUF,GAAQ,UAAYK,EAAcL,KAExD,4BAAK3jD,KAGT,kBAAC,GAAD,CACEwkB,QAAQ,WACRsB,QAAS,kBAAMnkB,GAAMq3D,EAAuBr3D,KAF9C,+BAOF,kBAACs+C,GAAA,EAAD,MACA,yBAAKr7B,UAAWR,EAAO2G,SACrB,kBAAC,KAAD,CAAYnN,MAAM,SAASqmC,UAAU,EAAM9tC,MAAO+tC,KAAKC,MAAL,OAAWve,QAAX,IAAWA,IAAW,QAG5E,kBAAC,GAAD,CACE3U,KAAM9vB,EACNumB,MAAO,kBAAMuxC,KACbzgD,KAAMA,MCjFD0gD,GAAuB,kBAClC,kBAAC,KAAD,CAAUxhD,GAAE,kBAAaxH,OAAOC,SAASoM,WCJ3C,SAAS,KAA2Q,OAA9P,GAAW9T,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,oBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,iBACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,+BACU,IAAMqf,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,KACHC,EAAG,IACH9D,MAAO,MACPgF,OAAQ,MACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN+C,EAAG,IACHC,EAAG,EACH9D,MAAO,MACPgF,OAAQ,IACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJid,KAAM,UACN+C,EAAG,MACHC,EAAG,MACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3CC,EAAG,yYACHtf,GAAI,QACJid,KAAM,eAGJ,GAAgB,SAAuB4C,GACzC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAe,GAAS,CAC9DS,OAAQQ,GACPP,OAEU,IC1Ef,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,oBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,oBACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,6fACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,OAAQ,CAC3CC,EAAG,ofACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,0OACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,kOACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,kOACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,gcACHtf,GAAI,QACJid,KAAM,cAGJ,GAAe,SAAsB4C,GACvC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAc,GAAS,CAC7DS,OAAQQ,GACPP,OAEU,ICrEf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,mBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,QACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,UAAW,CAC7Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVnI,QAAS,GACTpN,OAAQ,sDACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVnI,QAAS,GACTpN,OAAQ,sCACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVnI,QAAS,GACTpN,OAAQ,gCACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVnI,QAAS,GACTpN,OAAQ,mCACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVnI,QAAS,GACTpN,OAAQ,kCACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVnI,QAAS,GACTpN,OAAQ,oCACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJid,KAAM,UACN3J,OAAQ,kGACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJsT,OAAQ,8CACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJsT,OAAQ,gCACO,IAAM+L,cAAc,UAAW,CAC9Crf,GAAI,OACJsT,OAAQ,8BACO,IAAM+L,cAAc,OAAQ,CAC3CC,EAAG,q5BACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,otFACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,cAGR,GAAW,SAAkBhJ,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,OAEU,ICtGf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,ICNYm5C,GDMR,GAAqB,IAAMn4C,cAAc,IAAK,CAChDrf,GAAI,iBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,SACJ8oB,UAAW,gCACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,gaACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,OAAQ,CAC3CC,EAAG,woBACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,w1BACHtf,GAAI,QACJid,KAAM,cAGJ,GAAe,SAAsB4C,GACvC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAc,GAAS,CAC7DS,OAAQQ,GACPP,OE/CU/D,IFiDA,IEjDAA,cAAW,SAACC,GAAD,aACxBkG,aAAa,CACXs1C,qBAAqB,aACnBt7C,MAR2B,IAS3BgF,OAR4B,GAS5B7D,SAAU,GACV+D,OAAQ,sBACRjF,MvNFwB,WuNGvBH,EAAMK,YAAYC,KAAK,MAAQ,CAC9B0B,UAAWhC,EAAMa,QAAQ,KAG7B46C,eAAgB,CACd76C,aAAcZ,EAAMa,QAAQ,MAC5BJ,QAAS,OACT2U,SAAU,QAEZsmC,gBAAgB,aACd15C,UAAWhC,EAAMa,QAAQ,OACxBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B0B,UAAW,IAGf25C,4BAA4B,aAC1BzD,KAAK,OAAD,OA1BkB,IA0BlB,MACJn3C,YAAaf,EAAMa,QAAQ,KAC1Bb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BS,YAAa,EACbm3C,KAAK,WACLt3C,aAAcZ,EAAMa,QAAQ,QAGhC+6C,2BAA2B,aACzB1D,KAAM,OACLl4C,EAAMK,YAAYC,KAAK,MAAQ,CAC9B43C,KAAK,aAGT2D,gBAAc,GACZryC,YAAaxJ,EAAMa,QAAQ,GAC3Bq3C,KAAM,OAFM,cAGXl4C,EAAMK,YAAYC,KAAK,MAAQ,CAC9BkJ,YAAa,EACbxH,UAAWhC,EAAMa,QAAQ,GACzBq3C,KAAK,aANK,cAQXl4C,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfC,WAAY,eAVF,GAadyb,QAAS,CACPrb,YAAaf,EAAMa,QAAQ,KAC3B,MAAO,CACLN,OAAQP,EAAMa,QAAQ,EAAG,KAG7BqM,OAAQ,CACNkI,SAAU,OACV,YAAa,CACXuG,WAAY,wBAGhBmgC,WAAW,aACT37C,MAAO,UACPkB,SAAU,GACVyE,WAAY,OACZD,cAAe,GACf8V,WAAY,WACZlb,QAAS,OACT2U,SAAU,OACV,SAAU,CACR,gBAAiB,CACfrU,YAAaf,EAAMa,QAAQ,MAE7B,eAAgB,CACdV,MvNvEoB,UuNwEpBoB,WAAY,OAGfvB,EAAMK,YAAYC,KAAK,MAAQ,CAC9B0B,UAAWhC,EAAMa,QAAQ,KAG7Bk7C,YAAa,CACX/5C,UAAWhC,EAAMa,QAAQ,MAE3Bm7C,eAAgB,CACdv7C,QAAS,cACTC,cAAe,UAEjBu7C,sBAAsB,eACnBj8C,EAAMK,YAAYC,KAAK,MAAQ,CAC9B4B,UAAW,WAGf+wC,eAAgB,CACd/tC,OAAQ,IACRhF,MAAO,OACPO,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZyI,UAAW,SACX/H,SAAU,GACVlB,MvNnGwB,UuNoGxBsE,QAAS,WC7GFy3C,GAA4B,SAAC54D,GAAD,OACvCA,EAAMiX,mBAEK4hD,GAA4B1yD,aACvCyyD,IACA,SAAA54D,GAAK,OAAIoG,aAAOpG,EAAMqG,aCJToW,IDO6BtW,aAC1CyyD,IACA,SAAAE,GACE,OAAOA,EAAc11D,eAAiB,KCV3BqZ,cAAW,SAAAC,GAAK,YAAK,CAClCiN,SAAO,GACL/M,MAAO,OACP2I,UAAW,aACX9H,YAAaf,EAAMa,QAAQ,GAC3B,sBAAsB,aACpB2I,YAAaxJ,EAAMa,QAAQ,KAC1Bb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BkJ,YAAa,KAPZ,cAUJxJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BkJ,YAAa,EACb5I,aAAcZ,EAAMa,QAAQ,KAZzB,cAcL,qBAdK,aAeHgX,aAAc7X,EAAMa,QAAQ,IAC5BiX,YAAa,yBACZ9X,EAAMK,YAAYC,KAAK,MAAQ,CAC9BwX,YAAa,OACbD,aAAc,KAnBb,GAuBPz1B,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACf3F,MAAO,OACPC,MzNrB0B,WyNuB5Bk8C,UAAW,CACTC,UAAW,aAEbC,SAAU,CACRzkC,YAAa,kBACbD,aAAc,iBACdrO,YAAa,kBAEfyH,MAAO,CACL5P,SAAU,GACVyE,WAAY,OACZD,cAAe,GACf1F,MzNnC0B,UyNoC1B,MAAO,CACLsE,QAAS,MAGbiE,KAAM,CACJxI,MAnDc,GAoDdgF,OApDc,GAqDdnD,WAAY/B,EAAMa,UAClBS,OAAQ,gBC1CCk7C,GAAmC,SAAC,GAQ1C,IAPLvrC,EAOI,EAPJA,MACA1Y,EAMI,EANJA,MACAxU,EAKI,EALJA,GACAqhB,EAII,EAJJA,OACAq3C,EAGI,EAHJA,UACAC,EAEI,EAFJA,YACG54C,EACC,0EACE0C,EAAS1G,KACP9L,EAAM+V,eAAN/V,EACR,OACE,kBAACo0B,GAAA,EAAD,eACEphB,UAAS,UAAKR,EAAOyG,QAAZ,YAAuB7H,EAAS,GAAKoB,EAAO+1C,UACrDvvC,WAAS,EACTkrB,UAAU,SACVn0C,GAAIA,EACJ65B,MAAI,GACA9Z,GAEJ,kBAACskB,GAAA,EAAD,CAAMpb,WAAS,EAACrM,WAAW,UACzB,kBAAC0nB,GAAA,EAAD,CAAYzhB,QAAQ,UAAUI,UAAWR,EAAOyK,OAC7CA,IAGL,kBAACmX,GAAA,EAAD,CAAMpb,WAAS,EAACrM,WAAW,UACzB,yBAAKqG,UAAS,UAAKR,EAAOpkB,MAAZ,YAAqBq6D,EAAYj2C,EAAO61C,UAAY,KAC/D9jD,GAASvE,EAAE,4BACX0oD,GACC,kBAAC,GAAD,CAAS11C,UAAWR,EAAOkC,KAAMR,QAASw0C,QCxCvC38C,iBAAW,SAAAC,GAAK,MAAK,CAClCiN,QAAS,CACP/H,OAJmB,GAKnBhF,MAAO,OACP2I,UAAW,aACXpI,QAAS,OACTE,WAAY,UAEdve,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACftE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BG,OAAQ,UACRI,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,WCZtBg7C,GAAwC,SAAC,GAI/C,IAHLv6D,EAGI,EAHJA,MACA8lB,EAEI,EAFJA,QACGpE,EACC,oCACE0C,EAAS1G,KACf,OACE,kBAACsoB,GAAA,EAAD,eAAMphB,UAAWR,EAAOyG,QAAS2Q,MAAI,GAAK9Z,EAA1C,CAAiDkyB,GAAI,GAAI+L,GAAI,EAAGuD,GAAI,IAClE,kBAACjd,GAAA,EAAD,CAAYrhB,UAAWR,EAAOpkB,MAAO8lB,QAASA,GAC3C9lB,KNlBIw6D,GAAa,SAACrkD,GAAD,OAAmBA,EAAMnS,SAAS,c,SAEhDm1D,K,cAAAA,E,2CAAAA,E,6BAAAA,E,uCAAAA,E,uCAAAA,E,2DAAAA,E,2DAAAA,E,iDAAAA,E,iDAAAA,E,kCAAAA,Q,KAaL,IAAMsB,GAAa,SAACtkD,GAAD,OAAmBA,EAAM7E,QAAQ,KAAM,K,IOJlDqM,cAAW,iBAAO,M,mBCapB+8C,GAAiC,SAAAh5C,GAC5C,OACE,kBAAC,KAAD,eACEmX,aAAa,EACb8hC,eAAe,EACfC,QDzByB,UC0BzBC,SDzB0B,UC0B1BC,cD7BgC,OC8BhCC,eD7BiC,UC8BjCC,gBAAgB,UAChBl9C,MD3BsB,GC4BtBgF,OD3BuB,GC4BvBm4C,eD3BgC,IC4B5Bv5C,KChCK/D,iBAAW,SAAAC,GAAK,MAAK,CAClCiN,QAAQ,aACNjL,UAAWhC,EAAMa,QAAQ,IACxBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B0B,UAAW,IAGf5f,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZvE,WAAY,IACZQ,WAAY/B,EAAMa,QAAQ,MAC1BgF,cAAe,GACf3F,MAAM,eAAD,OAAiBF,EAAMa,QAAQ,MAhBT,GAgBtB,OACL,QAAS,CACP4I,SAAU,KAGdkZ,IAAK,CACH,qBAAsB,CACpB/hB,aAAcZ,EAAMa,QAAQ,QAGhCy8C,gBAAiB,CACf78C,QAAS,OACTqB,eAAgB,SAChBoD,OA5B4B,GA6B5BhF,MA9B2B,QCiBlBq9C,GAAyC,SAAC,GAAoB,IAAlB/0D,EAAiB,EAAjBA,KAAMtF,EAAW,EAAXA,KACvDsjB,EAAS1G,KADyD,EAE1CpS,mBAAmB,IAFuB,mBAEjEC,EAFiE,KAExDC,EAFwD,KAGlE4vD,EAAe,SAAC9kD,GACpB,IAAM+kD,EAAU,sBAAO9vD,EAAQ9J,QAAO,SAAA+5B,GAAI,OAAIA,IAASllB,MAAvC,CAA+CA,IAC/D9K,EAAW6vD,IAEPC,EAAc,SAAChlD,GACnB,IAAM+kD,EAAU,YAAO9vD,EAAQ9J,QAAO,SAAA+5B,GAAI,OAAIA,IAASllB,MACvD9K,EAAW6vD,IAGPE,EAAgB5vD,uBACpB,SAAC2K,GACC,OAAO/K,EAAQvH,SAASsS,KAE1B,CAAC/K,IAGH,OACE,kBAACy6B,GAAA,EAAD,CAAMphB,UAAWR,EAAOyG,QAASD,WAAS,EAACkrB,UAAU,UAClD1vC,EAAKmC,KAAI,SAACizB,EAAMllB,GAAP,OACR,kBAAC0vB,GAAA,EAAD,CACEpb,WAAS,EACThG,UAAWR,EAAOmc,IAClBt+B,IAAG,iBAAYu5B,EAAK3M,MAAjB,YAA0BvY,EAA1B,YAAmCxV,IAErCy6D,EAAcjlD,GACb,yBAAKsO,UAAWR,EAAO82C,iBACrB,6BACE,kBAACx2C,GAAA,EAAD,CAAkBC,KAAM,OAI5B,kBAAC,GAAD,CACE8D,SAAQ,sBAAE,sBAAAxiB,EAAA,6DACRm1D,EAAa9kD,GADL,SAEFklB,EAAK/S,WAFH,OAGR6yC,EAAYhlD,GAHJ,2CAKV+R,UAAWmT,EAAKnT,QAChBC,SAAUkT,EAAK7zB,YAGnB,yBAAKid,UAAWR,EAAOpkB,OAAQw7B,EAAK3M,aCpDxC2sC,GAAiC,SAACrlD,GAUtC,MAT4B,CAC1B2X,GAAaS,QACbT,GAAaO,MACbP,GAAaU,QACbjmB,KAAI,SAAAizB,GAAI,OACPpN,GAAqBoN,GAAMlN,MAAMjiB,KAAK8J,GAEnC,GADAiY,GAAqBoN,GAAMx7B,SAGNyB,QAAO,SAAAwe,GAAC,OAAIA,MAG5B0iB,GAAW,SAACr7B,GACvB,IAAMkvB,EAAgC,GACtC,GAAKlvB,EAAOm0D,gBAEL,CACL,IAAMC,EAAcF,GAA+Bl0D,EAAOm0D,iBACtDC,EAAYxzD,SACdsuB,EAAOilC,gBAAkBhrD,KAAOmB,EAAE,mCAAoC,CACpE+pD,KAAMD,EAAY/tD,KAAK,cAL3B6oB,EAAOilC,gBAAkBhrD,KAAOmB,EAAE,8BAapC,GALItK,EAAOm0D,kBAAoBn0D,EAAOs0D,cACpCplC,EAAOolC,YAAcnrD,KAAOmB,EAC1B,iDAGCtK,EAAOs0D,YAEL,CACL,IAAMF,EAAcF,GAA+Bl0D,EAAOs0D,aACtDF,EAAYxzD,SACdsuB,EAAOolC,YAAcnrD,KAAOmB,EAAE,mCAAoC,CAChE+pD,KAAMD,EAAY/tD,KAAK,cAL3B6oB,EAAOolC,YAAcnrD,KAAOmB,EAAE,8BAahC,OALKtK,EAAOu0D,mBAEDv0D,EAAOs0D,cAAgBt0D,EAAOu0D,qBACvCrlC,EAAOqlC,mBAAqBprD,KAAOmB,EAAE,uCAFrC4kB,EAAOqlC,mBAAqBprD,KAAOmB,EAAE,8BAIhC4kB,GCnDM7Y,iBAAW,SAAAC,GAAK,MAAK,CAClCiN,QAAS,CACP/M,MAAO,OACP2I,UAAW,aACX,sBAAuB,CACrBW,YAAaxJ,EAAMa,QAAQ,KAE7B,qBAAsB,CACpBgX,aAAc7X,EAAMa,QAAQ,IAC5BiX,YAAa,yBAEfC,WAAY/X,EAAMa,QAAQ,MAC1BqI,cAAelJ,EAAMa,QAAQ,KAE/Bze,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,elOR0B,UkOS1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,IAE9BuX,eAAe,aACbpW,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,UAIbmY,YAAa,CACXrW,UAAWhC,EAAMa,QAAQ,IAE3ByX,OAAQ,CACNpY,MAAO,OACPgF,OAAQ,IACRO,gBAAiB,YACjBzD,UAAWhC,EAAMa,QAAQ,IAE3B0X,KAAM,CACJ9X,QAAS,OACTC,cAAe,SACfb,QAASG,EAAMa,QAAQ,EAAG,KAE5B2X,eAAgB,CACdT,WAAY/X,EAAMa,QAAQ,QCzBjBq9C,GAAyD,SAAC,GAIhE,IAHLh8D,EAGI,EAHJA,SACAC,EAEI,EAFJA,SACAsmC,EACI,EADJA,UAEMjiB,EAAS1G,KACP9L,EAAM+V,eAAN/V,EACR,OACE,kBAACo0B,GAAA,EAAD,CAAMphB,UAAWR,EAAOyG,QAASD,WAAS,EAACkrB,UAAU,UACnD,kBAAC7P,GAAA,EAAD,CAAYrhB,UAAWR,EAAOpkB,OAC3B4R,EAAE,gDAEL,kBAACo0B,GAAA,EAAD,KACE,kBAAC,KAAD,CACE2G,cAAe,CACb8uB,gBAAiB,GACjBG,YAAa,GACbC,mBAAoB,IAEtB/7D,SAAUA,EACV6iC,SAAUA,GACV8W,kBAAgB,IAEf,WACC,OACE,kBAAC,KAAD,CAAM70B,UAAWR,EAAO+R,MACtB,kBAAC,GAAD,CACEr1B,KAAK,kBACLquB,YAAavd,EACX,gDAEFlS,KAAK,aAEP,yBAAKklB,UAAWR,EAAO8R,SACvB,kBAAC,GAAD,CACEp1B,KAAK,cACLquB,YAAavd,EAAE,4CACflS,KAAK,aAEP,kBAAC,GAAD,CACEoB,KAAK,qBACLquB,YAAavd,EACX,oDAEFlS,KAAK,aAEP,kBAACyqB,GAAA,EAAD,CAAUC,GAAIiI,QAAQgU,IACpB,yBAAKzhB,UAAWR,EAAOgS,gBACrB,kBAAC2Q,GAAD,CAAc/mC,MAAOqmC,MAGzB,yBAAKzhB,UAAWR,EAAO4R,gBACrB,kBAAC,GAAD,CAAQlQ,QAAS/lB,GAAW6R,EAAE,UAC9B,kBAAC,GAAD,CAAQlS,KAAK,OAAOknB,QAAM,GACvBhV,EAAE,iBChFR,GACO,yBADP,GAEO,yBAFP,GAGM,wBAHN,GAIgB,kCAJhB,GAKa,2BALb,GAFqB,iCAErB,GAOU,SAAC0D,GAAD,yCACOA,ICL1BymD,GAAkB,uBAKXC,GAAoB,SAAC9nD,GAChC,OAAO6nD,GAAgB1vD,KAAK6H,IAGjB8iC,GAAsB,SAAC1vC,GAAqB,IAAD,EAChDkvB,EAAwB,GAyB9B,OAxBKlvB,EAAO0M,aACVwiB,EAAOxiB,WAAavD,KAAOmB,EAAE,+BAE1BtK,EAAOyM,aAGNzM,EAAOyM,aAAa7L,OAAS,IAC/BsuB,EAAOziB,aAAetD,KAAOmB,EAAE,yBAA0B,CAAEslC,IAAK,KAHlE1gB,EAAOziB,aAAetD,KAAOmB,EAAE,+BAM7B,UAACtK,EAAOuM,mBAAR,QAAuB,IAAI3L,OAAS,IACpCsuB,EAAO3iB,YAAcpD,KAAOmB,EAAE,yBAA0B,CAAEslC,IAAK,KAE9D5vC,EAAO4M,WAGL8nD,GAAkB10D,EAAO4M,cAC5BsiB,EAAOtiB,WAAazD,KAAOmB,EAAE,4BAH/B4kB,EAAOtiB,WAAazD,KAAOmB,EAAE,8BAM1BtK,EAAO6M,WACVqiB,EAAOriB,SAAW1D,KAAOmB,EAAE,+BAGtB4kB,GClCM7Y,iBAAW,SAACC,GAAD,cAAmB,CAC3CiN,SAAO,GACL/M,MAAO,OACP2I,UAAW,aACX,qBAAsB,CACpBiP,YAAa,yBAEfC,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAPxB,cAQJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAV1B,cAYJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAd1B,GAiBPze,OAAK,GACHif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,etOf0B,UsOgB1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,KAPzB,cAQFb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,KAT3B,cAWFb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,KAZ3B,GAeL2X,eAAgB,CACdT,WAAY/X,EAAMa,QAAQ,IAE5Bw9C,YAAa,CACXn1C,cAAelJ,EAAMa,QAAQ,IAC7BuI,UAAW,SACX,SAAU,CACRjJ,MAAO,YAGXu4B,aAAa,aACXx2B,UAAW,SACXzB,QAAS,OACTC,cAAe,MACfC,WAAY,SACZoX,WAAY/X,EAAMa,QAAQ,GAC1B,SAAU,CACRV,MAAO,UACPiJ,UAAW,UAEb7H,WAAYvB,EAAMwB,WAAWC,gBAC5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,KAG9BuX,eAAe,aACbpW,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BX,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,UAIbmY,YAAa,CACXrW,UAAWhC,EAAMa,QAAQ,IAE3B0X,KAAM,CACJ9X,QAAS,OACTC,cAAe,SACfb,QAASG,EAAMa,QAAQ,EAAG,KAE5BknB,OAAQ,CACN/lB,WAAY,GACZ+C,aAAc,EACdu5C,YApFsB,IAqFtBp+C,MAAM,GAAD,OtFlFoB,IsFkFCF,EAAMa,QAAQ,IAAU,IAA7C,kBAEP09C,aAAc,CACZr+C,MAAO,0BC5DEs+C,GAAmD,SAAC,GAW1D,IAVLp8D,EAUI,EAVJA,MACAF,EASI,EATJA,SACAC,EAQI,EARJA,SACAkhD,EAOI,EAPJA,cACAC,EAMI,EANJA,cACAmb,EAKI,EALJA,SACA15B,EAII,EAJJA,SACA/tB,EAGI,EAHJA,OACAC,EAEI,EAFJA,OACAynD,EACI,EADJA,uBAEMl4C,EAAS1G,KACP9L,EAAM+V,eAAN/V,EACF+6B,EACN,CACE34B,WAAY,GACZD,aAAc,GACdF,YAAa,GACbK,WAAY,GACZC,SAAU,IATR,ECnCsC,SAC1CmoD,GACI,IAAD,EAC2Bx3C,IAAMxZ,UAAkB,GADnD,mBACIC,EADJ,KACaC,EADb,OAEyBsZ,IAAMxZ,cAA+B3L,GAF9D,mBAEI48D,EAFJ,KAEYC,EAFZ,OAG2B13C,IAAMxZ,cAA+B3L,GAHhE,mBAGI88D,EAHJ,KAGaC,EAHb,OAI2B53C,IAAMxZ,cAClC3L,GALC,mBAIImX,EAJJ,KAIa6lD,EAJb,KAQGC,EAAY,SAAC9lD,GACjB,OAAOA,EAAQvO,KAAI,SAACs0D,GAAD,OAA0BA,EAAM1oD,aAG/C2oD,EAAa,SAACC,EAAcjmD,GAChC,GAAKA,EAAL,CAD8D,qBAI1CA,GAJ0C,IAI9D,2BAA6B,CAAC,IAAnB+lD,EAAkB,QAC3B,GAAIA,EAAM1oD,WAAa4oD,EACrB,OAAOF,EAAMJ,SAN6C,iCAZ7D,EAwB2BrxD,GAAwB,CACpDpE,oBAAoB,EACpBH,OAAQ,CACNC,OAAQ,SAHLk2D,EAxBJ,oBA0DH,MAAO,CACL3oD,QAAS,CACP4oD,aA7BiBn4C,IAAMnZ,aACzB,SAACuI,EAAoB6oD,GACnBvxD,GAAW,GACXwxD,EAAoB,CAAEj2D,IAAI,WAAD,OAAamN,KACnCzQ,MAAK,SAAA0C,GACoB,MAApBA,EAASyB,SACX+0D,OAAWh9D,GACX68D,OAAU78D,GACV+8D,OAAW/8D,GACX28D,GAAuB,IAEzB,IAAMY,EAAY/2D,EAASC,KAC3Bu2D,EAAWO,GACXV,EAAUI,EAAUM,IACpBR,EAAWK,EAAOD,EAAWC,EAAMG,QAAav9D,GAChD28D,GAAuB,MAExBh9B,OAAM,WACLk9B,OAAU78D,GACV+8D,OAAW/8D,GACX28D,GAAuB,MAE3B9wD,GAAW,KAEb,CAACwxD,EAAqBV,IAMpBM,YACAE,cAEFvxD,QAAS,CACPnF,KAAMmF,EACN4xD,IAAK3xD,GAEP+wD,OAAQ,CACNn2D,KAAMm2D,EACNY,IAAKX,GAEPC,QAAS,CACPr2D,KAAMq2D,EACNU,IAAKT,GAEP5lD,WDzBEsmD,CAA6Bd,GAlB7B,IAaFjoD,QAAW4oD,EAbT,EAaSA,aAAcH,EAbvB,EAauBA,WACzBvxD,EAdE,EAcFA,QACAgxD,EAfE,EAeFA,OACAE,EAhBE,EAgBFA,QACA3lD,EAjBE,EAiBFA,QAGFgO,IAAMzI,WAAU,WAAO,IAAD,IACpB4gD,EAAY,UAACtwB,EAAcz4B,kBAAf,QAA6B,GAA7B,UAAiCy4B,EAAcx4B,gBAA/C,QAA2D,MACtE,CAACw4B,EAAcz4B,WAAYy4B,EAAcx4B,SAAU8oD,IAEtD,IAAMI,EAAiB,SAAChpD,GAAsB,IAAD,UACrCqC,EAAa/B,GAAe,CAChCR,SAAQ,UAAEE,EAAQF,gBAAV,aAAE,EAAkBL,OAC5BD,YAAW,UAAEQ,EAAQR,mBAAV,aAAE,EAAqBC,OAClCI,WAAU,UAAEG,EAAQH,kBAAV,aAAE,EAAoBJ,OAChCE,WAAU,UAAEK,EAAQL,kBAAV,aAAE,EAAoBF,OAChCC,aAAY,UAAEM,EAAQN,oBAAV,aAAE,EAAsBD,SAEtC,OAAQm2C,aAAO,CAAEr1C,SAAQC,UAAU,CAAED,OAAQE,GAAgC4B,EAAW9B,QAASC,YAuBnG,OACE,kBAACmxB,GAAA,EAAD,CAAMphB,UAAWR,EAAOyG,QAASD,WAAS,EAACkrB,UAAU,UAClD91C,GACC,kBAACimC,GAAA,EAAD,CAAYrhB,UAAWR,EAAOpkB,OAC3Bs3C,GAAWt3C,EAAMikC,gBAGtB,kBAAC+B,GAAA,EAAD,KACE,kBAAC,KAAD,CACE2G,cAAeA,EACf7sC,SA9Ba,SAACuU,GAAsB,IAAD,mBAChC,OAANkoD,QAAM,IAANA,GAAA,UAAAA,EAAQn2D,YAAR,eAAcpC,SAAd,UAAuBqQ,EAAQF,gBAA/B,QAA2C,OAA3C,OACEsoD,QADF,IACEA,GADF,UACEA,EAASr2D,YADX,aACE,EAAepC,SAAf,UAAwBqQ,EAAQL,kBAAhC,QAA8C,KAEjDsoD,GAAuB,GAGvBA,GAAuB,GAGzBx8D,EAAS6U,GAAe,CACtBR,SAAQ,UAAEE,EAAQF,gBAAV,aAAE,EAAkBL,OAC5BD,YAAW,UAAEQ,EAAQR,mBAAV,aAAE,EAAqBC,OAClCI,WAAU,UAAEG,EAAQH,kBAAV,aAAE,EAAoBJ,OAChCE,WAAU,UAAEK,EAAQL,kBAAV,aAAE,EAAoBF,OAChCC,aAAY,UAAEM,EAAQN,oBAAV,aAAE,EAAsBD,WAgBhC6uB,SAAUA,EACV8W,kBAAgB,IAEf,YAAgC,IAAD,IAA5BnyC,EAA4B,EAA5BA,OAAQwtB,EAAoB,EAApBA,cACV,OACE,kBAAC,KAAD,CAAMlQ,UAAWR,EAAO+R,MACtB,kBAAC6P,GAAA,EAAD,CAAMpb,WAAS,EAACnM,QAAS,GACvB,kBAACunB,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GACb,kBAAC,GAAD,CACE9yC,KAAK,aACL+tB,MAAOjd,EAAE,mCACT00B,cAAe1K,GAAcqL,OAC7BD,WAAY,CAAEs2B,UFlHJ,GEmHV70C,SAAU,SAAAhN,GAE2C,IAAD,GADlDqZ,EAAc,aAAcrZ,EAAMyW,cAAc/b,OAC5C6lD,GAAkBvgD,EAAMyW,cAAc/b,SACxC8mD,EACExhD,EAAMyW,cAAc/b,MADV,UAEV7O,EAAO4M,kBAFG,QAEW,IAGzB,CAAC,WAAY,aAAc,eAAgB,eAAe8iD,OAAM,SAACt1D,GAAD,OAAmBozB,EAAcpzB,EAAO,IAAI,UAIlH,kBAACskC,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GACb,kBAAC,GAAD,CACE/L,QAAO,UAAE00B,EAAOn2D,YAAT,QAAiB,GACxB2hC,UAAW,SAAAvM,GACT,cAAOA,QAAP,IAAOA,IAAQ,IAEjB16B,KAAK,WACLmnC,UAAU,EACVC,aAAc5gC,EAAO6M,SACrBgC,MAAO7O,EAAO6M,SACdg0B,kBAAmB,SAACvyB,EAAQO,GAC1B,OAAOP,IAAWO,GAEpBiyB,UAAU,EACVC,cAAe,SAAC5sB,EAAOtF,EAAO6R,GAAY,IAAD,IACvC8M,EAAc,WAAY3e,GAC1BsmD,EAAQU,IAAIL,EAAW3mD,EAAOW,IAC9Bge,EAAc,aAAc,IAAI,GAChCA,EAAc,eAAgB,IAAI,GAClCA,EAAc,cAAe,IAC7BwnC,EAAsB,iBAACC,QAAD,IAACA,GAAD,UAACA,EAAQn2D,YAAT,aAAC,EAAcpC,SAASmS,UAAxB,WAExB0Y,MAAOjd,EAAE,4BACT00B,cAAe1K,GAAcqL,OAC7B9V,QAAS,CACPwU,OAAO,GAAD,OAAKvhB,EAAOuhB,OAAZ,YAAsBvhB,EAAO+3C,eAErC7zC,SAAU/c,EAAQnF,KAClBmF,QAASA,EAAQnF,QAIrB,kBAAC4/B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,IACb,kBAAC,GAAD,CACE/L,QAAO,UAAE40B,EAAQr2D,YAAV,QAAkB,GACzB2hC,UAAW,SAAAvM,GACT,cAAOA,QAAP,IAAOA,IAAQ,IAEjB16B,KAAK,aACLunC,cAAe,SAAC5sB,EAAOtF,EAAO6R,GAAY,IAAD,IACvC8M,EAAc,aAAc3e,GAC5B2e,EAAc,eAAgB,IAAI,GAClCA,EAAc,cAAe,IAC7BwnC,EAAsB,iBAACG,QAAD,IAACA,GAAD,UAACA,EAASr2D,YAAV,aAAC,EAAepC,SAASmS,UAAzB,WAExBgyB,kBAAmB,SAACvyB,EAAQO,GAC1B,OAAOP,IAAWO,GAEpB8xB,UAAU,EACVG,UAAU,EACVF,aAAc5gC,EAAO0M,WACrBmC,MAAO7O,EAAO0M,WACd6a,MAAOjd,EAAE,8BACT00B,cAAe1K,GAAcqL,OAC7B9V,QAAS,CACPwU,OAAQvhB,EAAOuhB,QAEjBrd,SAAU/c,EAAQnF,KAClBmF,QAASA,EAAQnF,QAIrB,kBAAC4/B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GACb,kBAAC,GAAD,CACE9yC,KAAK,eACL+tB,MAAOjd,EAAE,qCACT00B,cAAe1K,GAAcqL,OAC7Bxe,SAAU,SAAAhN,GACRqZ,EAAc,eAAgBrZ,EAAMyW,cAAc/b,OAClD2e,EAAc,cAAe,QAInC,kBAACkR,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,GACb,kBAAC,GAAD,CACE9yC,KAAK,cACL+tB,MAAOjd,EAAE,oCACT00B,cAAe1K,GAAcqL,OAC7Bxe,SAAU,SAAAhN,GACRqZ,EAAc,cAAerZ,EAAMyW,cAAc/b,iBAM3CxW,IAAb08D,EACC,yBAAKz3C,UAAWR,EAAO63C,aACrB,8BAAOI,IAEP,KAEJ,yBAAKz3C,UAAWR,EAAO4R,gBACrB,kBAAC,GAAD,CAAQlQ,QAAS/lB,GAAjB,OACGmhD,QADH,IACGA,IAAiBtvC,EAAE,UAEtB,kBAAC,GAAD,CAAQlS,KAAK,OAAOknB,QAAM,EAAC0B,UAAW+0C,EAAe/1D,IAArD,OACG25C,QADH,IACGA,IAAiBrvC,EAAE,iBEhOzB+L,iBAAW,SAACC,GAAD,cAAmB,CAC3CiN,QAAS,CACP/M,MAAO,OACP2I,UAAW,aACX,sBAAuB,CACrBW,YAAaxJ,EAAMa,QAAQ,KAE7B,qBAAsB,CACpBgX,aAAc7X,EAAMa,QAAQ,IAC5BiX,YAAa,yBAEfC,WAAY/X,EAAMa,QAAQ,MAC1BqI,cAAelJ,EAAMa,QAAQ,KAE/BmX,eAAe,aACb9X,MAAO,OACPwY,UAAW,UACX7P,UAAW,aACXW,YAAaxJ,EAAMa,QAAQ,IAC3BgX,aAAc7X,EAAMa,QAAQ,IAC5BkX,WAAY/X,EAAMa,QAAQ,OACzBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BkJ,YAAa,EACbqO,aAAc,IAGlBrC,MAAO,CACL/U,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZd,QAAS,gBACTqF,OAAQ,OACRE,OAAQ,sBACRL,aAAc,MACdU,gBAAiB,UACjBtF,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BvE,SAAU,GACVE,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SACVrE,WAAY,2BAEd/a,MAAO,CACLye,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQta,MAAMwa,OAE7CmU,gBAAiB,CACf7U,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,cAGdve,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,ezOjD0B,UyOkD1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,IAE9BqX,UAAW,CACTtX,aAAcZ,EAAMa,QAAQ,IAE9BsX,cAAe,CACb5W,WAAYvB,EAAMwB,WAAWC,gBAE/B2W,eAAe,aACbpW,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,UAIbmY,YAAa,CACXrW,UAAWhC,EAAMa,QAAQ,IAE3ByX,OAAQ,CACNpY,MAAO,OACPgF,OAAQ,IACRO,gBAAiB,YACjBzD,UAAWhC,EAAMa,QAAQ,GACzBD,aAAcZ,EAAMa,QAAQ,IAE9B0X,KAAM,CACJ9X,QAAS,OACTC,cAAe,SACfb,QAASG,EAAMa,QAAQ,EAAG,KAE5B2X,eAAgB,CACdT,WAAY/X,EAAMa,QAAQ,IAE5B0U,aAAc,CACZ3T,eAAgB,OAChBwD,OAAQ,OACRK,gBAAiB,cACjBtF,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BtB,QAAS,EACTmC,UAAW,MACXX,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,SACfuC,QAAS,OACT9G,OAAQ,UACR,UAAW,CACTnB,MAAOH,EAAMiB,QAAQC,QAAQS,OAGjCsP,OAAK,GACHxQ,QAAS,OACTC,cAAe,MACf0U,SAAU,OACVzU,WAAY,OACZyI,UAAW,OACX0E,UAAW,OACXvN,OAAQ,eACR,UACEE,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACR8U,IAAK,QACLtU,YAAa,MACbM,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1B2E,cAAe,UATjB,cAUG7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,IAXZ,cAaE,SAbF,aAcIkE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAhBhB,GAoBA,YAAY,aACVd,OAAQ,EACRc,SAAU,GACVlB,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BI,WAAYvB,EAAMwB,WAAWC,gBAE5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,KAnCT,cAsCFP,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAvCX,cAyCF/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfqB,WAAY,IA3CX,GA8CL0W,aAAa,aACXvY,MAAM,GAAD,OAnKsB,IAmKtB,iBACLE,SAAU,OACVwL,UAAU,GAAD,OApKmB,IAoKnB,OACR5L,EAAMK,YAAYC,KAAK,MAAQ,CAC9BoY,UAAW,SAGfC,aAAc,CACZ,iCAAkC,CAChC,+BAAgC,CAC9B,qBAAsB,OACtBpY,OAAQ,GAEV,+BAAgC,CAC9B,qBAAsB,OACtBA,OAAQ,GAEV,kBAAmB,cAGvBo/C,WAAY,CACVx/C,MAAO,eCvLIJ,iBAAW,SAACC,GAAD,MAAmB,CAC3CyY,aAAc,CACZvY,MAAM,GAAD,OAJyB,IAIzB,iBACL0L,UAAU,GAAD,O7HIsB,I6HJtB,WCJXva,GAIEoB,GAJFpB,0BACAG,GAGEiB,GAHFjB,2BACAG,GAEEc,GAFFd,mBACAK,GACES,GADFT,6BCkBW4tD,GAA4D,SAAC,GAOnE,IANLhoD,EAMI,EANJA,kBACAioD,EAKI,EALJA,SAEA11B,GAGI,EAJJ5W,QAII,EAHJ4W,WACAjoC,EAEI,EAFJA,SACAC,EACI,EADJA,SAEMk1C,EAAaE,KACXvjC,EAAM+V,eAAN/V,EACFwjC,EAAiBC,KAEvB,OACE,kBAACrP,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWqwB,EAAWpqB,QAASirB,UAAU,UACvD,kBAAC7P,GAAA,EAAD,CAAYrhB,UAAWqwB,EAAWj1C,OAC/B4R,EAAE,gDAEL,6BACE,6BACE,kBAAC0gD,GAAA,EAAD,CACEC,QAAS,4DADX,8BAIG,CAAEkL,SAAUA,GAJf,wEAQF,yBAAK74C,UAAWwwB,EAAenL,sBAC7B,kBAAC,GAAD,CACE/hC,OAAQsN,EAAkBtN,OAC1B0c,UAAWwwB,EAAelL,sBAEzB10B,EAAkBjN,KAAI,SAACqN,GAAD,OACrB,kBAAC,GAAD,CACE/J,OAAM,OAAE+J,QAAF,IAAEA,OAAF,EAAEA,EAAQ/J,OAChBwI,QAAS0zB,EAAUnyB,GACnBgP,UAAWwwB,EAAelC,yBAC1BV,UAAU,SAKlB,6BACE,kBAAC8f,GAAA,EAAD,CAAOC,QAAQ,+CAAf,0FAEyB,CAAEkL,YAF3B,cAGG,CAAEC,iBAAkB9rD,EAAE,kBAHzB,cAMF,kBAAC,GAAD,CACEigC,WAAYjgC,EAAE,iBACdkgC,WAAYlgC,EAAE,YACd9R,SAAUA,EACVC,SAAUA,OCvEL4d,iBAAW,SAACC,GAAD,MAAmB,CAC3C5d,MAAO,CACLqe,QAAS,OACTE,WAAY,SACZU,SAAU,GACVd,OAAQP,EAAMa,QAAQ,EAAG,EAAG,GAC5BkX,WAAY/X,EAAMa,QAAQ,GAC1Bsb,UAAW,wBACX,MAAO,CACLpb,YAAaf,EAAMa,QAAQ,GAC3BU,WAAY,IACZpB,M7OJwB,Y6OO5BuI,KAAM,CACJxD,OAjBc,GAkBdhF,MAlBc,GAmBduJ,SAnBc,GAoBdqE,UApBc,GAqBd/M,YAAaf,EAAMa,QAAQ,GAC3BG,KAAMhB,EAAMiB,QAAQC,QAAQC,MAE9BigC,MAAO,CACL7gC,OAAQ,EACRkJ,SAAU,IACV1E,aAAc,MACd,uBAAwB,CACtBK,OAAQ,GAEV,uBAAuB,aACrBzE,WAAY,SACZd,QAASG,EAAMa,QAAQ,EAAG,IACzBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAASG,EAAMa,QAAQ,EAAG,EAAG,EAAG,MAItCkgC,UAAW,CACT5gC,M7O/B0B,U6O+BFqE,GAAmB,IAC3CnD,SAAU,GACVwE,cAAe,SACfC,WAAY,QAEdi6C,aAAc,CACZz+C,OAAQ,WAEVstB,OAAQ,CACN5sB,UAAWhC,EAAMa,QAAQ,GACzBuF,SAAU,WACVzG,IAAK,MACLzC,KAAM,MACN2P,UAAW,wBCzDf,SAAS,KAA2Q,OAA9P,GAAWhiB,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,ICAY49C,GDAR,GAAqB,IAAM58C,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,OACJ8oB,UAAW,sBACXD,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1CC,EAAG,klBACHtf,GAAI,OACJid,KAAM,UACNyD,QAAS,KACM,IAAMrB,cAAc,OAAQ,CAC3CC,EAAG,ovBACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,iRACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,mRACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,6QACHtf,GAAI,OACJid,KAAM,cAGJ,GAAY,SAAmB4C,GACjC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAW,GAAS,CAC1DS,OAAQQ,GACPP,OE5DQm8C,IF8DE,IE9D0B,SAAC38D,GAAD,OACvCA,EAAMqY,oBAEKukD,GAAmCz2D,aAC9Cw2D,IACA,SAAA38D,GAAK,OAAIA,EAAMoD,eAAiB,KAGrBy5D,GAA0B12D,aACrCw2D,IACA,SAAA38D,GAAK,OAAIA,EAAMmY,WC6GF2kD,GA7FK,WAClB,IAAM55C,EAAS1G,KACTzZ,EAAWwW,KACT7I,EAAM+V,eAAN/V,EAEFyH,EAAUsB,GAAeojD,IACzBE,EAAiBtjD,GAAemjD,IAEtCzhD,qBAAU,WACRpY,EAASkV,QACR,CAAClV,IAMJ,OACE,oCACE,yBAAK2gB,UAAWR,EAAOpkB,OACrB,kBAAC,GAAD,CAAc4kB,UAAWR,EAAOkC,OAChC,2BAAI1U,EAAE,6DAER,kBAACq6C,GAAA,EAAD,KACGgS,EACC,kBAACtsB,GAAA,EAAD,CAAMvnB,GAAI6zC,GACR,yBAAKr5C,UAAWR,EAAOooB,QACpByxB,GAAkB,kBAACv5C,GAAA,EAAD,QAGrBrL,EAAQnR,OAAS,EACnB,kBAAC+9B,GAAA,EAAD,KACGr0B,EAAE,uDAGL,kBAAC84C,GAAA,EAAD,CACE9lC,UAAWR,EAAO46B,MAClB2L,cAAY,EACZnM,aAAW,+BAEX,kBAACoM,GAAA,EAAD,KACGvxC,EAAQ9Q,KAAI,SAACiR,EAAQlD,GAAT,OACX,kBAACo1C,GAAA,EAAD,CACEzpD,IAAKuX,EAAO7X,GACZmgB,MAAOxL,EAAQ,IAAM,EAAI,CAAE+M,gBAAiB,WAAc,GAC1DsoC,UAAW,GAEX,kBAACC,GAAA,EAAD,CAAWhnC,UAAWR,EAAOu6B,WAC3B,kBAAC,GAAD,CACE7zB,OAAQlZ,EAAE,2CACVmZ,QAASvR,EAAO0kD,aAChB77C,SAAO,KAGX,kBAACupC,GAAA,EAAD,CAAWhnC,UAAWR,EAAOu6B,WAC3B,kBAAC,GAAD,CACE7zB,OAAQlZ,EACN,uDAEFmZ,QAASs3B,aACPC,aAAS9oC,EAAO2kD,cAChB,cAEF97C,SAAO,KAGX,kBAACupC,GAAA,EAAD,CAAWhnC,UAAWR,EAAOu6B,WAC3B,kBAAC,GAAD,CACE7zB,OAAQlZ,EAAE,2CACVmZ,QAASs3B,aACPC,aAAS9oC,EAAO4kD,mBAChB,cAEF/7C,SAAO,KAGX,kBAACupC,GAAA,EAAD,KACE,kBAAC,GAAD,CACEpnC,QAAS,OACTsB,QAAS,kBAlEAnkB,EAkE0B6X,EAAO7X,QAjE5DsC,EAASmV,GAAuB,CAAEzX,QADR,IAACA,IAoET,kBAAC,GAAD,CAAWijB,UAAWR,EAAOkC,mB,SFrGvCs3C,K,4BAAAA,E,0BAAAA,E,0BAAAA,E,0BAAAA,E,iCAAAA,Q,KGJL,ICQKA,GDRCzvC,GAAc,CACzB,CAAEhY,MAAO,MAAOrV,KAAM,WACtB,CAAEqV,MAAO,QAASrV,KAAM,WAGbu9D,GAAqB,SAChC/2D,EACAg3D,GAEA,IAAM9nC,EAAqC,GAiC3C,OA/BE8nC,IAAiBV,GAAaW,aACJ,KAA1Bj3D,EAAOknC,iBAEPhY,EAAOgY,eAAiB,0CAGvB,4CAA4CniC,KAAKoiC,OAAOnnC,EAAO7L,SAChE6L,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,QAEzCqgB,EAAO/6B,MAAQ,+BAEb6L,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,QAExB,KAAjB7O,EAAO+jC,QACN0D,aAAmB,GAAD,OAAIznC,EAAOomC,aAAX,OAAyBpmC,EAAO+jC,SACnD/jC,EAAO+jC,MAAMtoC,WAAWmF,OAAS,KAEjCsuB,EAAO6U,MAAQ,iCAIjBizB,IAAiBV,GAAaY,gBACO,IAArCl3D,EAAOm3D,QAAQ17D,WAAWmF,SAE1BsuB,EAAOioC,QAAU,oCAEfn3D,EAAOo3D,gBACLp3D,EAAOq3D,WAAW57D,WAAWmF,OAAS,IACxCsuB,EAAOmoC,WAAa,yDAGjBnoC,GAGIooC,GACX,8EAC+C,6BAD/C,kbAOE,6BACA,6BARF,uBASiB,6BATjB,geEhDajhD,iBAAW,SAAAC,GAAK,cAAK,CAClCsV,gBAAiB,CACf7U,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,cAEdsQ,OAAK,GACHxQ,QAAS,OACTC,cAAe,MACf0U,SAAU,OACVzU,WAAY,OACZyI,UAAW,OACX0E,UAAW,OACXvN,OAAQ,eACR,UACEE,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACR8U,IAAK,QACLtU,YAAa,MACbM,SAAU,GACVE,WAAY,IACZpB,MAAOH,EAAMiB,QAAQ3e,KAAK4e,QAC1B2E,cAAe,UATjB,cAUG7F,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,IAXZ,cAaE,SAbF,aAcIkE,QAAS,KACRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,MAhBhB,GAoBA,YAAY,aACVd,OAAQ,EACRc,SAAU,GACVlB,MAAOH,EAAMiB,QAAQta,MAAMwa,KAC3BI,WAAYvB,EAAMwB,WAAWC,gBAE5BzB,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,KAnCT,cAsCFP,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAvCX,cAyCF/B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,SACfqB,WAAY,IA3CX,GA8CLwT,aAAc,CACZ3T,eAAgB,OAChBwD,OAAQ,OACRK,gBAAiB,cACjBtF,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BtB,QAAS,EACTmC,UAAW,MACXX,SAAU,GACVE,WAAYvB,EAAMwB,WAAWC,eAC7BoE,cAAe,SACfuC,QAAS,OACT9G,OAAQ,UACR,UAAW,CACTnB,MAAOH,EAAMiB,QAAQC,QAAQS,WCzBpBs/C,GAnCM,SAAC,GAMI,IALxB7+D,EAKuB,EALvBA,MACA8+D,EAIuB,EAJvBA,iBACAhwC,EAGuB,EAHvBA,SACA+T,EAEuB,EAFvBA,QACA1e,EACuB,EADvBA,SAEMC,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAER,OACE,oCACE,yBAAKgT,UAAWR,EAAO8O,iBACrB,yBAAKtO,UAAWR,EAAOyK,OACrB,2BAAI7uB,GACJ,kBAACmqB,GAAA,EAAD,CAAUC,GAAIiI,UAAUvD,GAAY+T,IAClC,2BAAI/T,KAGPgwC,EACC,4BACEl6C,UAAWR,EAAO+O,aAClBrN,QAAS,kBAAMg5C,MAEdltD,EAAE,UAAU4lC,eAGf,sCAGHrzB,ICNM46C,GAA8C,SAAC,GAMrD,IALLh/D,EAKI,EALJA,SACAi/D,EAII,EAJJA,UACAC,EAGI,EAHJA,gBACAC,EAEI,EAFJA,gBACAC,EACI,EADJA,eAEM/6C,EAAS1G,KACP9L,EAAM+V,eAAN/V,EACF3N,EAAWwW,KAHb,EAIoCnP,mBACtCsyD,GAAawB,cALX,mBAIGd,EAJH,KAIiBe,EAJjB,KAQE1yB,EAAgB,CACpB6B,eAAgB,GAChB/yC,MAAK,OAAEujE,QAAF,IAAEA,IAAa,GACpB3zB,MAAK,OAAE4zB,QAAF,IAAEA,IAAmB,GAC1BvxB,YAAW,OAAEwxB,QAAF,IAAEA,IAAmB,MAChCT,QAAS,IAGLa,EAAiB,WACrBv/D,IACAs/D,EAAgBzB,GAAawB,eAsBzBG,EAAkB,uCAAG,WACzBj4D,EACAgnC,GAFyB,iBAAAroC,EAAA,sEAIPhC,EAChBmK,GAAsB,CACpBoxD,eAAgB/wB,OAAOnnC,EAAOknC,gBAC9BrM,YACE76B,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,OACzCs4B,OAAOnnC,EAAO+jC,OAAOnjC,OACjBumC,OAAOnnC,EAAO+jC,OACd,KACNpb,YACE3oB,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,OACzCs4B,OAAOnnC,EAAO+jC,OAAOnjC,OACjBumC,OAAOnnC,EAAOomC,aACd,QAhBe,OAInBzL,EAJmB,QAmBzB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,WACpC04B,IAAiBV,GAAa6B,aAC5BnxB,EAAc,QAAUrM,EAA0B19B,MAAOqhC,SAC3D04B,IAAiBV,GAAa8B,aAC5BpxB,EAAc,QAAUrM,EAA0B19B,MAAOqhC,UAEzD3D,EAAIviC,KAAKsE,SAAS,YACpBm7D,IAEAE,EAAgBzB,GAAaY,gBA5BN,2CAAH,wDAgClBmB,EAAmB,uCAAG,WAC1Br4D,EACA+mC,EACAa,EACAZ,GAJ0B,mBAAAroC,EAAA,sDAMpB08B,EAAW0L,EAAa/mC,EAAQg3D,GANZ,KAOlBA,EAPkB,cAQnBV,GAAawB,aARM,SAWnBxB,GAAaW,YAXM,SAcnBX,GAAa6B,aAdM,OAenB7B,GAAa8B,YAfM,SAqBnB9B,GAAaY,eArBM,0BAStBa,EAAgBzB,GAAaW,aATP,mCAYtBrvB,IAZsB,+BAgBtBA,KACI5T,aAAQqH,GAjBU,kCAkBd48B,EAAmBj4D,EAAQgnC,GAlBb,+CAsBtBY,KACI5T,aAAQqH,GAvBU,kCAwBF1+B,EAChBoK,GAAU,CACRmxD,eAAgB/wB,OAAOnnC,EAAOknC,gBAC9BoxB,QAASnxB,OAAOnnC,EAAOm3D,SACvBt8B,YACE76B,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,OACzCs4B,OAAOnnC,EAAO+jC,OAAOnjC,OACjBumC,OAAOnnC,EAAO+jC,OACd,KACNpb,YACE3oB,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,OACzCs4B,OAAOnnC,EAAO+jC,OAAOnjC,OACjBumC,OAAOnnC,EAAOomC,aACd,QArCU,QAwBdzL,EAxBc,QAwCpB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,SACpC0I,EAAc,UAAYrM,EAA0B19B,MAAOqhC,UAE3D3hC,EAAS2J,MACT0xD,IACAr7D,EACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO4R,EAAE,0DAhDK,gFAAH,4DAyDzB,OACE,kBAAC,KAAD,CACE+6B,cAAeA,EACfhK,SAAU,SAAAr7B,GAAM,OAAI+2D,GAAmB/2D,EAAQg3D,IAC/Cx+D,SAAU,aACVmvC,oBAAkB,IAEjB,YASM,IARL3nC,EAQI,EARJA,OACAkvB,EAOI,EAPJA,OACA1B,EAMI,EANJA,cACAkW,EAKI,EALJA,WACAnI,EAII,EAJJA,QACAqM,EAGI,EAHJA,WACA2wB,EAEI,EAFJA,UACAvxB,EACI,EADJA,cAEA,OACE,kBAAC,KAAD,KACE,kBAACtI,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWR,EAAOyG,QAASirB,UAAU,UACnD,kBAAC7P,GAAA,EAAD,CAAYrhB,UAAWR,EAAOpkB,OAC3Bs+D,IAAiBV,GAAaY,eAC3B5sD,EAAE,yDACFA,EAAE,gDAER,kBAACwW,GAAA,EAAD,CAAexD,UAAWR,EAAOwR,gBAC/B,kBAACzL,GAAA,EAAD,CAAUC,GAAIk0C,IAAiBV,GAAawB,cAC1C,kBAACn5B,GAAA,EAAD,CACErhB,UAAS,UAAKR,EAAO0R,UAAZ,YAAyB1R,EAAO2R,gBAExCnkB,EAAE,4CAEL,kBAACq0B,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EAAE,oDAEL,kBAACq0B,GAAA,EAAD,CACErhB,UAAS,UAAKR,EAAO0R,UAAZ,YAAyB1R,EAAO2R,gBAExCnkB,EAAE,8CAEL,kBAACq0B,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EAAE,uDAIP,kBAACuY,GAAA,EAAD,CACEC,GAAIk0C,IAAiBV,GAAaW,YAClCx1C,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACEh/D,KAAK,iBACL+tB,MAAOjd,EAAE,iDACTrN,MAAK,OAAEiyB,QAAF,IAAEA,OAAF,EAAEA,EAAQgY,eACf3G,QAAS1Z,GACTrI,QAAS,SAAAlQ,GACPiqD,IAnKY,SAACjqD,GAC/BA,IAAWuY,GAAY,GAAGhY,MACtBkpD,EAAgBzB,GAAa8B,aAC7BL,EAAgBzB,GAAa6B,aAiKfM,CAAwBnqD,IAE1BoZ,OAAQ,CACNjE,QAAS6zC,OAKf,kBAACz0C,GAAA,EAAD,CACEC,GAAIk0C,IAAiBV,GAAa8B,YAClC32C,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACE9/D,MAAO4R,EAAE,+CACTktD,iBAAkB,WAChBhqC,EAAc,iBAAkB,IAChCuqC,EAAgBzB,GAAaW,cAE/BzvC,SAAQ,OAAE0H,QAAF,IAAEA,OAAF,EAAEA,EAAQ6U,MAClBxI,QAASA,EAAO,OAEhB,kBAAC,GAAD,CACE/hC,KAAK,QACL8pC,gBAAgB,cAChB5W,UAAU,EACV8W,gBAAiB2D,OAAOnnC,EAAOomC,aAC/B7C,qBAAsB4D,OAAOnnC,EAAO+jC,OACpC/iB,UAAW03C,aAAMf,OAIvB,kBAAC90C,GAAA,EAAD,CACEC,GAAIk0C,IAAiBV,GAAa6B,YAClC12C,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACE9/D,MAAO4R,EAAE,+CACTktD,iBAAkB,WAChBhqC,EAAc,iBAAkB,IAChCuqC,EAAgBzB,GAAaW,cAE/BzvC,SAAQ,OAAE0H,QAAF,IAAEA,OAAF,EAAEA,EAAQ/6B,MAClBonC,QAASA,EAAO,OAEhB,yBACEje,UAAS,UAAKR,EAAOgP,MAAZ,YACPoD,EAAO/6B,OAASonC,EAAO,OAAaze,EAAO7f,QAG7C,kBAACquB,GAAD,CACE9xB,KAAK,QACLqV,MAAOs4B,OAAOnnC,EAAO7L,OACrB0zB,YAAavd,EACX,iDAEF6W,SAAU,SAAAC,GAAC,OAAIoM,EAAc,QAASpM,EAAE1I,OAAO7J,QAC/Cy1B,OAAQ,kBAAMZ,EAAW,CAAEvvC,OAAO,KAClC6sB,UAAW03C,aAAMhB,QAKzB,kBAAC70C,GAAA,EAAD,CACEC,GAAIk0C,IAAiBV,GAAaY,eAClCz1C,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACE9/D,MAAO4R,EAAE,8CACTkd,SAAU0H,EAAOioC,QACjB57B,QAASA,EAAO,SAEhB,yBACEje,UAAS,UAAKR,EAAOgP,MAAZ,YACPoD,EAAOioC,SAAW57B,EAAO,SAAeze,EAAO7f,QAGjD,kBAACquB,GAAD,CACE9xB,KAAK,UACLqV,MAAOs4B,OAAOnnC,EAAOm3D,SACrB/+D,KAAK,SACLyvB,YAAavd,EACX,8CAEF6W,SAAU,SAAAC,GAAC,OAAIoM,EAAc,UAAWpM,EAAE1I,OAAO7J,QACjDy1B,OAAQ,kBAAMZ,EAAW,CAAEyzB,SAAS,KACpCwB,WAAY,SAAAv3C,GAAC,OAnPZ,SACrBA,EACAphB,EACA+mC,EACAa,EACAZ,GAEc,UAAV5lB,EAAEzmB,MACJymB,EAAEsQ,iBACF2mC,EAAoBr4D,EAAQ+mC,EAAca,EAAYZ,IA2OlC4xB,CACEx3C,EACAphB,EACA+2D,GACAnvB,EACAZ,IAGJ1pB,UAAWR,EAAOmS,kBAK1B,yBAAK3R,UAAWR,EAAO8R,SACvB,kBAAC+P,GAAA,EAAD,CACErhB,UAAS,UAAKR,EAAO2R,cAAZ,YAA6B3R,EAAOm5C,aAE5C3rD,EAAE,6CAIP,yBAAKgT,UAAWR,EAAO4R,gBACrB,kBAAC,GAAD,CAAQlQ,QAASw5C,GAAiB1tD,EAAE,UACnC0sD,IAAiBV,GAAaY,gBAC7B,kBAAC,GAAD,CACE18C,MAAO,CAAEnD,YAAa,QACtBmH,QAAS,WACPgP,EAAc,UAAW,IACzBwZ,EAAc,UAAW,IACzBixB,EAAmBj4D,EAAQgnC,KAG5B18B,EAAE,iDAGP,kBAAC,GAAD,CACElS,KAAK,OACLomB,QAAS,WACP65C,EACEr4D,EACA+2D,GACAnvB,EACAZ,KAIH18B,EAAE,oDC7VRuuD,GAAiB94D,cAFK,SAACnG,GAAD,OAAsBA,EAAM2M,eAI7D,SAAA3M,GAAK,OAAIA,EAAM8N,eCJF2O,iBAAW,SAACC,GAAD,MAAmB,CAC3CiN,QAAS,CACP/M,MAAO,OACP2I,UAAW,aACX,sBAAuB,CACrBW,YAAaxJ,EAAMa,QAAQ,KAE7B,qBAAsB,CACpBgX,aAAc7X,EAAMa,QAAQ,IAC5BiX,YAAa,yBAEfC,WAAY/X,EAAMa,QAAQ,MAC1BqI,cAAelJ,EAAMa,QAAQ,KAE/BmX,eAAe,aACb9X,MAAO,OACP2I,UAAW,aACXW,YAAaxJ,EAAMa,QAAQ,IAC3BgX,aAAc7X,EAAMa,QAAQ,IAC5BkX,WAAY/X,EAAMa,QAAQ,OACzBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BkJ,YAAa,EACbqO,aAAc,IAGlBrC,MAAO,CACL/U,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZd,QAAS,gBACTqF,OAAQ,OACRE,OAAQ,sBACRL,aAAc,MACdU,gBAAiB,UACjBtF,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BvE,SAAU,GACVE,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SACVrE,WAAY,2BAEd/a,MAAO,CACLye,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQta,MAAMwa,OAE7CmU,gBAAiB,CACf7U,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,cAGdve,MAAO,CACLif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,exP7C0B,UwP8C1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,IAE9BqX,UAAW,CACTtX,aAAcZ,EAAMa,QAAQ,IAE9BsX,cAAe,CACb5W,WAAYvB,EAAMwB,WAAWC,gBAE/B2W,eAAe,aACbpW,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,UAIboY,OAAQ,CACNpY,MAAO,OACPgF,OAAQ,IACRO,gBAAiB,YACjBzD,UAAWhC,EAAMa,QAAQ,GACzBD,aAAcZ,EAAMa,QAAQ,IAE9B8X,aAAc,CACZ,iCAAkC,CAChC,+BAAgC,CAC9B,qBAAsB,OACtBpY,OAAQ,GAEV,+BAAgC,CAC9B,qBAAsB,OACtBA,OAAQ,GAEV,kBAAmB,mB,SLtFby/C,K,4BAAAA,E,0BAAAA,E,0BAAAA,E,oBAAAA,E,+BAAAA,Q,KMRL,ICQKwC,GDRCjyC,GAAc,CACzB,CAAEhY,MAAO,MAAOrV,KAAM,WACtB,CAAEqV,MAAO,QAASrV,KAAM,WAGbu9D,GAAqB,SAChC/2D,EACAg3D,GAEA,IAAM9nC,EAAqC,GAsB3C,MApBG,4CAA4CnqB,KAAKoiC,OAAOnnC,EAAO7L,SAChE6L,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,QAEzCqgB,EAAO/6B,MAAQ,+BAEb6L,EAAOknC,iBAAmBrgB,GAAY,GAAGhY,QAExB,KAAjB7O,EAAO+jC,QACN0D,aAAmB,GAAD,OAAIznC,EAAOomC,aAAX,OAAyBpmC,EAAO+jC,SACnD/jC,EAAO+jC,MAAMtoC,WAAWmF,OAAS,KAEjCsuB,EAAO6U,MAAQ,iCAIjBizB,IAAiBV,GAAajtC,UACO,IAArCrpB,EAAOm3D,QAAQ17D,WAAWmF,SAE1BsuB,EAAOioC,QAAU,oCAEZjoC,GAGI6pC,GAA0B,SACrCb,GAEA,OAAOA,IAAmBtzB,GACtBA,GACAA,IEROo0B,GAA8C,SAAC,GAQrD,IAPLvgE,EAOI,EAPJA,SACAy/D,EAMI,EANJA,eACAR,EAKI,EALJA,UACAC,EAII,EAJJA,gBACAC,EAGI,EAHJA,gBACAqB,EAEI,EAFJA,yBACAC,EACI,EADJA,sBAEMp8C,EAAS1G,KACP9L,EAAM+V,eAAN/V,EACF3N,EAAWwW,KACXzL,EAAc2L,GAAewlD,IAJ/B,EAKoC70D,mBACtCsyD,GAAawB,cANX,mBAKGd,EALH,KAKiBe,EALjB,OAQ4C/zD,oBAAS,GARrD,mBAQGm1D,EARH,KAQqBC,EARrB,KAUE/zB,EAAgB,CACpB6B,eACEgxB,IAAmBtzB,GACfA,GACAA,GACNzwC,MAAK,OAAEujE,QAAF,IAAEA,IAAa,GACpB3zB,MAAK,OAAE4zB,QAAF,IAAEA,IAAmB,GAC1BvxB,YAAW,OAAEwxB,QAAF,IAAEA,IAAmB,MAChCT,QAAS,IAGLU,EAAiBxzD,uBACrB,SAACi6B,GACC3hC,EACE9C,EAAU,CACRzB,KAAM,QACNM,MAAO4R,EAAE,wBACT3R,SAAU2lC,EACVhmC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAU,WACRmE,EACE9C,EAAU,CACRzB,KAAM,kBAOlB,CAACuE,EAAU2N,IAGP0tD,EAAiB,WACrBr7D,EAASoM,GAAmBN,kBAC5BhQ,IACAs/D,EAAgBzB,GAAawB,eAoBzBuB,EAAe,uCAAG,8BAAA16D,EAAA,yDACjB+5D,aAAMf,GADW,gCAEFh7D,EAASsK,MAFP,OAEd0zB,EAFc,QAGpB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,UACpCu5B,EAAgBl9B,EAA0B19B,MAAOqhC,SAE/C3D,EAAIviC,KAAKsE,SAAS,YACpBu8D,IAEAlB,EAAgBzB,GAAajtC,UATX,sBAYpB0uC,EAAgBzB,GAAagD,eAZT,2CAAH,qDAgBfC,EAAgB,uCAAG,WACvBv5D,EACAw5D,EACAxyB,GAHuB,iBAAAroC,EAAA,sEAKLhC,EAChBwK,GAA+B,CAC7BqyD,kBAAmBA,EACnBlB,QAASt4D,EAAOm3D,QAChBzvD,YAAay/B,OAAOz/B,MATD,OAKjBizB,EALiB,QAYvB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,SACpC0I,EAAc,UAAYrM,EAA0B19B,MAAOqhC,SAGvDy5B,EADJyB,IAAsB50B,GACF0xB,GAAa8B,YACb9B,GAAa6B,aAjBZ,2CAAH,0DAqBhBsB,EAAe,uCAAG,WACtBz5D,EACAw5D,EACAxyB,GAHsB,iBAAAroC,EAAA,sEAKJhC,EAChByK,GAA8B,CAC5BoyD,kBAAmBA,EACnBlB,QAASt4D,EAAOm3D,QAChBzvD,YAAay/B,OAAOz/B,MATF,OAKhBizB,EALgB,QAYtB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,SACpC0I,EAAc,UAAYrM,EAA0B19B,MAAOqhC,UAE3D3hC,EAAS2J,MACT0xD,IACAr7D,EACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO4R,EAAE,2DAGb3N,EAASkV,OAvBW,2CAAH,0DA2Bf6nD,EAA0B,uCAAG,WACjC15D,EACA+mC,EACAa,EACAZ,GAJiC,iBAAAroC,EAAA,sDAM3B08B,EAAW0L,EAAa/mC,EAAQg3D,GANL,KAOzBA,EAPyB,cAQ1BV,GAAawB,aARa,SAW1BxB,GAAajtC,SAXa,SAwB1BitC,GAAa6B,aAxBa,OAyB1B7B,GAAa8B,YAzBa,UAiC1B9B,GAAagD,cAjCa,0BAS7BD,IAT6B,mCAY7BzxB,IACM4xB,EAAoBT,GAAwBb,GAC9ClkC,aAAQqH,KACL89B,EAKHM,EAAgBz5D,EAAQw5D,EAAmBxyB,GAH3CuyB,EAAiBv5D,EAAQw5D,EAAmBxyB,IAjBnB,oCA0B7BY,IACI5T,aAAQqH,KACVr7B,EAAOm3D,QAAU,GACjBiC,GAAoB,GACpBrB,EAAgBzB,GAAajtC,WA9BF,6BAkC7B2uC,IACAr7D,EAASnC,EAAUD,kCAAiC,IACpD2+D,IApC6B,4CAAH,4DAwChC,OACE,kBAAC,KAAD,CACE7zB,cAAeA,EACfhK,SAAU,SAACr7B,GAAD,OACR+2D,GAAmB/2D,EAAQg3D,IAE7Bx+D,SAAU,aACVmvC,oBAAkB,IAEjB,YAQM,IAPL3nC,EAOI,EAPJA,OACAkvB,EAMI,EANJA,OACA1B,EAKI,EALJA,cACAkW,EAII,EAJJA,WACAnI,EAGI,EAHJA,QACAqM,EAEI,EAFJA,WACAZ,EACI,EADJA,cAEA,OACE,kBAAC,KAAD,KACE,kBAACtI,GAAA,EAAD,CAAMpb,WAAS,EAAChG,UAAWR,EAAOyG,QAASirB,UAAU,UACnD,kBAAC7P,GAAA,EAAD,CAAYrhB,UAAWR,EAAOpkB,OAC3Bs+D,IAAiBV,GAAajtC,SAC3B/e,EAAE,8CACFA,EAAE,gDAER,kBAACwW,GAAA,EAAD,CAAexD,UAAWR,EAAOwR,gBAC/B,kBAACzL,GAAA,EAAD,CAAUC,GAAIk0C,IAAiBV,GAAawB,cAC1C,kBAACn5B,GAAA,EAAD,CACErhB,UAAS,UAAKR,EAAO0R,UAAZ,YAAyB1R,EAAO2R,gBAExCnkB,EACC,8DAGJ,kBAACq0B,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EACC,+DACA,CACE4tD,eACEA,IAAmBtzB,GACf,iBACA,iBAGV,8BAEF,kBAACjG,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EACC,+DACA,CACEkvD,kBACET,GAAwBb,KACxBtzB,GACI,kBACA,kBAGV,8BAEF,kBAACjG,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EACC,oEAKN,kBAACuY,GAAA,EAAD,CACEC,GAAIk0C,IAAiBV,GAAa8B,YAClC32C,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACE9/D,MAAO4R,EAAE,+CACTkd,SAAQ,OAAE0H,QAAF,IAAEA,OAAF,EAAEA,EAAQ6U,MAClBxI,QAASA,EAAO,OAEhB,kBAAC,GAAD,CACE/hC,KAAK,QACL8pC,gBAAgB,cAChB5W,UAAU,EACV8W,gBAAiB2D,OAAOnnC,EAAOomC,aAC/B7C,qBAAsB4D,OAAOnnC,EAAO+jC,OACpC/iB,UAAW03C,aAAMf,OAIvB,kBAAC90C,GAAA,EAAD,CACEC,GAAIk0C,IAAiBV,GAAa6B,YAClC12C,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACE9/D,MAAO4R,EAAE,+CACTkd,SAAQ,OAAE0H,QAAF,IAAEA,OAAF,EAAEA,EAAQ/6B,MAClBonC,QAASA,EAAO,OAEhB,yBACEje,UAAS,UAAKR,EAAOgP,MAAZ,YACPoD,EAAO/6B,OAASonC,EAAO,OAAaze,EAAO7f,QAG7C,kBAACquB,GAAD,CACE9xB,KAAK,QACLqV,MAAOs4B,OAAOnnC,EAAO7L,OACrB0zB,YAAavd,EACX,iDAEF6W,SAAU,SAAAC,GAAC,OAAIoM,EAAc,QAASpM,EAAE1I,OAAO7J,QAC/Cy1B,OAAQ,kBAAMZ,EAAW,CAAEvvC,OAAO,KAClC6sB,UAAW03C,aAAMhB,QAKzB,kBAAC70C,GAAA,EAAD,CACEC,GAAIk0C,IAAiBV,GAAajtC,SAClC5H,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACE9/D,MAAO4R,EAAE,8CACTkd,SAAU0H,EAAOioC,QACjB57B,QAASA,EAAO,SAEhB,yBACEje,UAAS,UAAKR,EAAOgP,MAAZ,YACPoD,EAAOioC,SAAW57B,EAAO,SAAeze,EAAO7f,QAGjD,kBAACquB,GAAD,CACE9xB,KAAK,UACLqV,MAAOs4B,OAAOnnC,EAAOm3D,SACrB/+D,KAAK,SACLyvB,YAAavd,EACX,8CAEF6W,SAAU,SAAAC,GAAC,OAAIoM,EAAc,UAAWpM,EAAE1I,OAAO7J,QACjDy1B,OAAQ,kBAAMZ,EAAW,CAAEyzB,SAAS,KACpCwB,WAAY,SAAAv3C,GAAC,OAjQZ,SACrBA,EACAphB,EACA+mC,EACAa,EACAZ,GAEc,UAAV5lB,EAAEzmB,KACJ++D,EACE15D,EACA+mC,EACAa,EACAZ,GAsPkB4xB,CACEx3C,EACAphB,EACA+2D,GACAnvB,EACAZ,IAGJ1pB,UAAWR,EAAOmS,kBAK1B,kBAACpM,GAAA,EAAD,CAAUC,GAAIk0C,IAAiBV,GAAagD,eAC1C,kBAAC36B,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EACC,gEAIN,yBAAKgT,UAAWR,EAAO8R,SACvB,kBAAC+P,GAAA,EAAD,CAAYrhB,UAAWR,EAAO2R,eAC3BnkB,EAAE,yDAIP,yBAAKgT,UAAWR,EAAO4R,gBACrB,kBAAC,GAAD,CAAQlQ,QAASw5C,GAAiB1tD,EAAE,UACnC0sD,IAAiBV,GAAajtC,UAC7B,kBAAC,GAAD,CACE7O,MAAO,CAAEnD,YAAa,QACtBmH,QAAS,WACP,IAAMg7C,EAAoBT,GACxBb,GAEDiB,EAEGI,EACEv5D,EACAw5D,EACAxyB,GAJFqyB,IAMJ7rC,EAAc,UAAW,IACzBwZ,EAAc,UAAW,MAG1B18B,EAAE,iDAGP,kBAAC,GAAD,CACElS,KAAK,OACLomB,QAAS,WACPk7C,EACE15D,EACA+2D,GACAnvB,EACAZ,KAIHgwB,IAAiBV,GAAagD,cAC3BhvD,EAAE,2CACFA,EAAE,kDCzZT+L,iBAAW,SAACC,GAAD,cAAmB,CAC3CiN,SAAO,GACL/M,MAAO,OACP2I,UAAW,aACX,qBAAsB,CACpBiP,YAAa,yBAEfC,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAPxB,cAQJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAV1B,cAYJb,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BqI,cAAelJ,EAAMa,QAAQ,KAd1B,GAiBPze,OAAK,GACHif,SAAU,GACVyE,WAAY,OACZD,cAAe,GACfoS,e5PZ0B,U4Pa1B7O,UAAW,SACX7H,WAAY,OACZX,aAAcZ,EAAMa,QAAQ,KAPzB,cAQFb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,KAT3B,cAWFb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BM,aAAcZ,EAAMa,QAAQ,KAZ3B,GAeL2X,eAAgB,CACdT,WAAY/X,EAAMa,QAAQ,IAE5BuX,eAAe,aACbpW,UAAWhC,EAAMa,QAAQ,IACzBJ,QAAS,OACTyB,UAAW,UACVlC,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByX,WAAY/X,EAAMa,QAAQ,GAC1BX,MAAO,OACPQ,cAAe,iBACf,WAAY,CACVR,MAAO,UAIbqY,KAAM,CACJ9X,QAAS,OACTC,cAAe,SACfb,QAASG,EAAMa,QAAQ,EAAG,KAE5B2U,MAAO,CACL/U,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZd,QAAS,gBACTqF,OAAQ,OACRE,OAAQ,sBACRL,aAAc,MACdU,gBAAiB,UACjBtF,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BvE,SAAU,GACVE,WAAY,IACZsE,cAAe,UACfC,WAAY,OACZC,SAAU,SACVrE,WAAY,2BAEd/a,MAAO,CACLye,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQta,MAAMwa,OAE7CwX,aAAc,CACZ,iCAAkC,CAChC,+BAAgC,CAC9B,qBAAsB,OACtBpY,OAAQ,GAEV,+BAAgC,CAC9B,qBAAsB,OACtBA,OAAQ,GAEV,kBAAmB,cAGvB2X,UAAW,CACTtX,aAAcZ,EAAMa,QAAQ,IAE9BsX,cAAe,CACb5W,WAAYvB,EAAMwB,WAAWC,qB,SFlFrB+gD,K,4BAAAA,E,0BAAAA,E,qBAAAA,Q,KGNL,ICkGKxb,GDlGCyZ,GAAqB,SAChC/2D,EACA25D,GAEA,IAAMzqC,EAAqC,GAc3C,OAZmB,KAAjBlvB,EAAO+jC,QACN0D,aAAmB,GAAD,OAAIznC,EAAOomC,aAAX,OAAyBpmC,EAAO+jC,SACnD/jC,EAAO+jC,MAAMtoC,WAAWmF,OAAS,KAEjCsuB,EAAO6U,MAAQ,iCAGf41B,IAAuBb,GAAmBzvC,UACL,IAArCrpB,EAAOm3D,QAAQ17D,WAAWmF,SAE1BsuB,EAAOioC,QAAU,oCAEZjoC,GEfI0qC,GAA0E,SAAC,GAOjF,IANL38D,EAMI,EANJA,MACAs+B,EAKI,EALJA,QACAs+B,EAII,EAJJA,iBACAC,EAGI,EAHJA,WACAH,EAEI,EAFJA,mBACAI,EACI,EADJA,gBAEQzvD,EAAM+V,eAAN/V,EAER,OACE,oCACE,kBAACuY,GAAA,EAAD,CAAUC,GAAI62C,IAAuBb,GAAmBhB,cACtD,kBAACn5B,GAAA,EAAD,CAAYnkB,MAAO,CAAEkF,UAAW,WAC7BpV,EAAE,oEAIP,kBAACuY,GAAA,EAAD,CAAUC,GAAI62C,IAAuBb,GAAmBV,aACtD,kBAAC,GAAD,CACE1/D,MAAO4R,EAAE,qCACTkd,SAAUvqB,EACVs+B,QAASA,GAET,kBAAC,GAAD,CACE/hC,KAAK,QACL8pC,gBAAgB,cAChB5W,UAAU,EACV8W,gBAAiBq2B,EACjBt2B,qBAAsBu2B,EACtBC,gBAAiBA,QC3BhBC,GAA8E,SAAC,GASrF,IARLz+B,EAQI,EARJA,QACArM,EAOI,EAPJA,OACAlvB,EAMI,EANJA,OACA25D,EAKI,EALJA,mBACAnsC,EAII,EAJJA,cACAkW,EAGI,EAHJA,WACAw0B,EAEI,EAFJA,eACA6B,EACI,EADJA,gBAEMj9C,EAAS1G,KACP9L,EAAM+V,eAAN/V,EAER,OACE,oCACE,kBAACuY,GAAA,EAAD,CAAUC,GAAI62C,IAAuBb,GAAmBhB,cACtD,kBAACn5B,GAAA,EAAD,CAAYrhB,UAAS,UAAKR,EAAO0R,UAAZ,YAAyB1R,EAAO2R,gBAClDnkB,EAAE,8DAEL,kBAACq0B,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EAAE,+DAAgE,CACjE4tD,eACEA,IAAmBtzB,GACf,iBACA,iBAER,8BAEF,kBAACjG,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EAAE,0DACH,8BAEF,kBAACq0B,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0R,WAC3BlkB,EAAE,4DACH,+BAIJ,kBAACuY,GAAA,EAAD,CAAUC,GAAI62C,IAAuBb,GAAmBV,aACtD,kBAAC,GAAD,CACE1/D,MAAO4R,EAAE,qCACTkd,SAAU0H,EAAO6U,MACjBxI,QAASA,EAAO,OAEhB,kBAAC,GAAD,CACE/hC,KAAK,QACL8pC,gBAAgB,cAChB5W,UAAU,EACV8W,gBAAiBxjC,EAAOomC,YACxB7C,qBAAsBvjC,EAAO+jC,MAC7Bg2B,gBAAiBA,MAKvB,kBAACl3C,GAAA,EAAD,CACEC,GAAI62C,IAAuBb,GAAmBzvC,SAC9C5H,QAAS,CAAE+1B,MAAO,IAAKghB,KAAM,MAE7B,kBAAC,GAAD,CACE9/D,MAAO4R,EAAE,8CACTkd,SAAU0H,EAAOioC,QACjB57B,QAASA,EAAO,SAEhB,yBACEje,UAAS,UAAKR,EAAOgP,MAAZ,YACPoD,EAAOioC,SAAW57B,EAAO,SAAeze,EAAO7f,QAGjD,kBAACquB,GAAD,CACE9xB,KAAK,UACLqV,MAAOs4B,OAAOnnC,EAAOm3D,SACrB/+D,KAAK,SACLyvB,YAAavd,EAAE,8CACf6W,SAAU,SAAAC,GAAC,OAAIoM,EAAc,UAAWpM,EAAE1I,OAAO7J,QACjDy1B,OAAQ,kBAAMZ,EAAW,CAAEyzB,SAAS,KACpCwB,WAAYoB,EACZz8C,UAAWR,EAAOmS,oBC3DnBgrC,GAAsD,SAAC,GAQ7D,IAPLxhE,EAOI,EAPJA,SACAk/D,EAMI,EANJA,gBACAC,EAKI,EALJA,gBACAsC,EAII,EAJJA,aACAjB,EAGI,EAHJA,yBACAf,EAEI,EAFJA,eACAiC,EACI,EADJA,kBAEMr9C,EAAS1G,KACP9L,EAAM+V,eAAN/V,EACF3N,EAAWwW,KACXzL,EAAc2L,GAAewlD,IAC7Bx/D,EAAgCga,GACpCs0C,IANE,EAQgD3jD,mBAElD80D,GAAmBhB,cAVjB,mBAQG6B,EARH,KAQuBS,EARvB,OAWoCp2D,oBAAkB,GAXtD,mBAWGq2D,EAXH,KAWiBC,EAXjB,KAaEj1B,EAAmC,CACvCtB,MAAK,OAAE4zB,QAAF,IAAEA,IAAmB,GAC1BvxB,YAAW,OAAEwxB,QAAF,IAAEA,IAAmB,MAChCT,QAAS,IAGLU,EAAiBxzD,uBACrB,SAACi6B,GACC3hC,EACE9C,EAAU,CACRzB,KAAM,QACNM,MAAO4R,EAAE,wBACT3R,SAAU2lC,EACVhmC,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAU,WACRmE,EACE9C,EAAU,CACRzB,KAAM,kBAOlB,CAACuE,EAAU2N,IAGP0tD,EAAiB,WACrBv/D,IACA2hE,EAAsBtB,GAAmBhB,cACzCn7D,EAASnC,EAAUD,kCAAiC,KAGhD8+D,EAAe,uCAAG,8BAAA16D,EAAA,0DAClBu7D,EADkB,gCAEFv9D,EAAS0K,MAFP,OAEdszB,EAFc,QAGpB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,UACpCu5B,EAAgBl9B,EAA0B19B,MAAOqhC,SAE/C3D,EAAIviC,KAAKsE,SAAS,YACpBu8D,IAEAmB,EAAsBtB,GAAmBzvC,UATvB,sBAYpB+wC,EAAsBtB,GAAmBV,aAZrB,2CAAH,qDAgBfmB,EAAgB,uCAAG,WACvBv5D,EACAgnC,EACA3L,EACAuM,GAJuB,iBAAAjpC,EAAA,0DAMnBu7D,EANmB,qBAOjBG,EAPiB,gBAQf3B,aAAMr9B,EAAS87B,UACjBiD,EAAsBtB,GAAmBV,aATxB,0BAYnBxwB,KACI5T,aAAQqH,GAbO,iCAcC1+B,EAChB4K,GAAsC,CACpCG,cACA4wD,QAASt4D,EAAOm3D,QAChBtvD,eAAgB7H,EAAO+jC,MACvBw2B,qBAAsBv6D,EAAOomC,eAnBhB,OAcXzL,EAdW,QAsBjB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,SACpC0I,EAAc,UAAYrM,EAA0B19B,MAAOqhC,UAE3D3hC,EAASoM,GAAmBN,kBAC5B9L,EACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO4R,EACL,yDAEF7R,SAAU,WACJY,GACF8gE,QAKRx9D,EAAS2J,MACT0xD,KAxCe,4CAAH,4DA+ChByB,EAAe,uCAAG,WACtBz5D,EACAgnC,EACAY,GAHsB,qBAAAjpC,EAAA,0DAKlBu7D,EALkB,uBAMpBtyB,IANoB,SAOFjrC,EAChB2K,GAAuC,CACrCI,cACA4wD,QAASt4D,EAAOm3D,QAChBtvD,eAAgB7H,EAAO+jC,MACvBw2B,qBAAsBv6D,EAAOomC,eAZb,OAOdzL,EAPc,QAepB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,SACpC0I,EAAc,QAAUrM,EAA0B19B,MAAOqhC,UAEzDt+B,EAAOm3D,QAAU,GACjBmD,GAAgB,GAChBF,EAAsBtB,GAAmBzvC,WApBvB,8BAuBpBue,IAvBoB,UAwBFjrC,EAChB4K,GAAsC,CACpCM,eAAgB7H,EAAO+jC,MACvBw2B,qBAAsBv6D,EAAOomC,eA3Bb,QAwBdzL,EAxBc,QA8BpB,UAAKA,EAA0B19B,aAA/B,aAAI,EAAkCqhC,SACpC0I,EAAc,QAAUrM,EAA0B19B,MAAOqhC,UAEzD3hC,EAASoM,GAAmBN,kBAC5B9L,EACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO4R,EAAE,4DAGb3N,EAAS2J,MACT0xD,KAzCkB,4CAAH,0DA8CfwC,EAAsB,SAC1Bx6D,EACA+mC,EAIAa,EACAZ,GAEA,IAAM3L,EAAW0L,EAAa/mC,EAAQ25D,GAEtC,OAAQA,GACN,KAAKb,GAAmBhB,aACtBuB,IACA,MACF,KAAKP,GAAmBzvC,SACtBkwC,EAAiBv5D,EAAQgnC,EAAe3L,EAAUuM,GAClD,MACF,KAAKkxB,GAAmBV,YACtBqB,EAAgBz5D,EAAQgnC,EAAeY,KAK7C,OACE,kBAAClJ,GAAA,EAAD,CAAMphB,UAAWR,EAAOyG,QAASD,WAAS,EAACkrB,UAAU,UACnD,kBAAC7P,GAAA,EAAD,CAAYrhB,UAAWR,EAAOpkB,OAC3B4R,EAAE,oDAEL,kBAACo0B,GAAA,EAAD,KACE,kBAAC,KAAD,CACE2G,cAAeA,EACfhK,SAAU,SAAAr7B,GAAM,OAAI+2D,GAAmB/2D,EAAQ25D,IAC/CnhE,SAAU,aACVmvC,oBAAkB,IAEjB,YAQM,IAPL3nC,EAOI,EAPJA,OACAkvB,EAMI,EANJA,OACAqM,EAKI,EALJA,QACAqM,EAII,EAJJA,WACApa,EAGI,EAHJA,cACAkW,EAEI,EAFJA,WACAsD,EACI,EADJA,cAEA,OACE,kBAAC,KAAD,CAAM1pB,UAAWR,EAAO+R,MACrBqrC,EACC,kBAAC,GAAD,CACE3+B,QAASA,EACTrM,OAAQA,EACRlvB,OAAQA,EACR25D,mBAAoBA,EACpBnsC,cAAeA,EACfkW,WAAYA,EACZw0B,eAAgBA,EAChB6B,gBAAiB,WACfS,EACEx6D,EACA+2D,GACAnvB,EACAZ,MAKN,kBAAC,GAAD,CACEzL,QAASA,EAAO,MAChBt+B,MAAK,OAAEiyB,QAAF,IAAEA,OAAF,EAAEA,EAAQ6U,MACf+1B,WAAY3yB,OAAOnnC,EAAO+jC,OAC1B81B,iBAAkB1yB,OAAOnnC,EAAOomC,aAChCuzB,mBAAoBA,EACpBI,gBAAiB,WACfS,EACEx6D,EACA+2D,GACAnvB,EACAZ,MAKR,yBAAK1pB,UAAWR,EAAO4R,gBACrB,kBAAC,GAAD,CAAQlQ,QAASw5C,GAAiB1tD,EAAE,UACpC,kBAAC,GAAD,CACElS,KAAK,OACLomB,QAAS,SAAA4C,GACPA,EAAEsQ,iBACF8oC,EACEx6D,EACA+2D,GACAnvB,EACAZ,KAIH18B,EAAE,oB,SH1LXgzC,O,6DAAAA,I,+DAAAA,I,sCAAAA,Q,KAWL,II1FMmd,GAAc,SACzBhlD,EACA0qB,EACAu6B,EACAC,EACAC,GALyB,MAMd,CACXnlD,OACA0qB,YACAu6B,iBACAC,iBACAC,kBAGWC,GAAa,CACxBC,KAAML,GAAY,YtFcc,WAAO,IAAD,EAChC39C,EAAS1G,KACTs0C,EAAUC,eAFsB,EAGM3mD,oBAAS,GAHf,mBAG/B+2D,EAH+B,KAGfC,EAHe,KAIhCr+D,EAAWwW,KACX26B,EAAiBC,KAEfzjC,EAAM+V,eAAN/V,EACR+/C,KAEA,IAAM9+C,GAAUyoB,aACd3gB,GAAe61B,GAA+BV,GAAUY,QAXpB,EAwBlCwe,KATFngD,EAfoC,EAepCA,QACA0G,EAhBoC,EAgBpCA,WACAjD,EAjBoC,EAiBpCA,UACAgD,EAlBoC,EAkBpCA,kBACAgD,EAnBoC,EAmBpCA,KACA/X,EApBoC,EAoBpCA,gCACA4O,EArBoC,EAqBpCA,oBACA+nC,EAtBoC,EAsBpCA,gBACAwZ,EAvBoC,EAuBpCA,OAGI2R,EAAc52D,uBAClB,SAAC02D,GAAD,mBACEA,EAAc,8BACV7sD,EAAkBpP,KAAKoP,EAAkBgrC,sBAD/B,aACV,EAAyD1/C,YAD/C,kBAEV0U,EAAkBpP,KAAKoP,EAAkBgrC,sBAF/B,aAEV,EAAyD30C,cAF/C,QAGV,GuFlFa,evFoFnB,CAAC2J,IAGGgtD,EAAiBC,qBAAWC,IAElCrmD,qBAAU,WAAO,IAAD,EAUd,OATAmmD,EAAe,CACbG,iBACE,kBAAC18B,GAAA,EAAD,CAAYrhB,UAAWR,EAAO0G,QAC5B,qCAAI/b,EAAQ3I,YAAZ,aAAI,EAActF,KAAlB,KADF,cACmC8Q,EAAE,0BADrC,MAIFgxD,iBAAkB7zD,EAAQxD,UAGrB,WACLi3D,EAAe,OAEhB,CAACzzD,EAAQxD,QAASwD,EAAQ3I,KAAMo8D,EAAgBp+C,EAAO0G,OAAQlZ,IAElE,IAAMixD,EAAqB/9C,IAAMnZ,aAAY,WAAO,IAAD,IACjDilD,EAAOT,qBAAgBxwD,GACvB6V,EAAkBu/B,6BAA6B,IAC/C1lC,EAAoBwoC,uBAApB,oBACE9oC,EAAQ3I,YADV,aACE,EAAciJ,2BADhB,QACuC,MAEtC,CAACuhD,EAAQp7C,EAAmBzG,EAAQ3I,KAAMiJ,IAEvCyzD,EAAkBh+C,IAAMnZ,aAAY,WAAe,IAAD,IACtD,2BAAOoD,EAAQ3I,YAAf,aAAO,EAAciQ,aAArB,QAA8B,KAC7B,CAACtH,EAAQ3I,OAEN28D,EAAyBj+C,IAAMnZ,aAAY,WAAe,IAAD,MAC7D,2BACE0D,EAAoBA,2BADtB,kBAEEN,EAAQ3I,YAFV,aAEE,EAAciJ,2BAFhB,QAGE,KAED,CAACN,EAAQ3I,KAAMiJ,IA2BZ2zD,EAAqC,CACzC/pB,iBA1BuBn0B,IAAMS,SAAQ,WACrC,OAA+C,IAA3C9P,EAAWsiC,qBAAqB7vC,OAC3BqrC,GAAiB4F,KAEuB,IAA3C1jC,EAAWsiC,qBAAqB7vC,OAC3BqrC,GAAiB2F,OAEjB3F,GAAiBiC,OAG3B,CAAC//B,EAAWsiC,uBAiBbtC,6BAfmC3wB,IAAMS,SAAQ,WAGjD,O1CnG0C,SAC5CmY,EACAjoB,GAMA,SAJqB,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAYkqB,MAClC,SAACtqB,GAAD,OACW,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWC,gBAAX,OAA2BooB,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAkBpoB,iB0C6FxC2tD,CADLztD,EAAkBpP,KAAKoP,EAAkBgrC,eAGzC/qC,EAAWy/B,sBAEZ,CACDz/B,EAAWy/B,mBACX1/B,EAAkBpP,KAClBoP,EAAkBgrC,iBAQd0iB,EAA0B,WAC9B,OAAOF,EAAiB/pB,mBAAqB1F,GAAiB4F,MAG1DuJ,EAAmB/2C,uBAAY,WACnCilD,EAAOT,qBAAgBxwD,GACvBsE,EACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO4R,EAAE,wCACT3R,SAAU2R,EAAE,oCACZ1R,KACE,kBAACoyD,GAAA,EAAD,CAAOC,QAAQ,6CAAf,2CAEE,6BACC,CAAEl8C,MAAOysD,KAHZ,4BAMF/iE,SAAU,kBAAM8iE,UAGnB,CAACjxD,EAAG3N,EAAU4+D,EAAoBjS,EAAQkS,IAsDvCK,GAAY,mBACfve,GAAOwe,sBACN,kBAAC,GAAD,CACEr0D,QAASA,EAAQ3I,KACjBoP,kBAAmB,CACjBpP,KAAMoP,EAAkBpP,KACxBoyC,wBACEhjC,EAAkBpP,KAAKoP,EAAkBgrC,gBAE7CtL,mBAAoBz/B,EAAWy/B,mBAC/B6C,qBAAsBtiC,EAAWsiC,qBACjCh4C,SAAU8iE,EACV/iE,SAAU,kBAAM8wD,EAAOT,gBAAgBvL,GAAOye,yBAC9Ch0D,oBAAqB0zD,IACrBlrB,uBAAwBxoC,EAAoBwoC,uBAC5ChD,0BAA2Br/B,EAAkBq/B,0BAC7CE,6BACEv/B,EAAkBu/B,6BAEpBD,8BACEsC,EAAgBtC,8BAElBgD,iCACEV,EAAgBU,iCAElB/P,UAAWpyB,GACXyuB,SAAU4+B,KA1BE,cA6Bfpe,GAAOye,uBACN,kBAAC,GAAD,CACEt0D,QAASA,EAAQ3I,KACjBiJ,oBAAqB0zD,IACrBluB,0BAA2Br/B,EAAkBq/B,0BAC7C90C,SAAU,kBAAM6wD,EAAOT,gBAAgBvL,GAAOwe,wBAC9CtjE,SApEmC,WAAO,IAAD,EAC7CmE,EACE8T,GAAoB,CAClBurD,qBAAoB,UAAEj0D,EAAoBA,2BAAtB,QAA6C,GACjEk0D,wBAAyBvuD,GACvBQ,EAAkBq/B,2BAEpB2uB,oBAAoB,EACpBC,yBAAyB,KAG1BhgE,MAAK,WAAO,IAAD,QACVQ,EACE8S,GAAsBJ,4CAA4C,CAChElB,WACEpG,EAAoBA,uBAApB,UACAN,EAAQ3I,YADR,aACA,EAAciJ,qBACV,GACAooC,GAAqC,oBACnC1oC,EAAQ3I,YAD2B,aACnC,EAAciJ,2BADqB,QACE,GACrCoG,EAAWy/B,oBAEnB1+B,SAAQ,UAAEnH,EAAoBA,2BAAtB,QAA6C,GACrDmG,kBAAmBA,EAAkBq/B,6BAGzC6N,OAEDpjB,OAAM,WA9CTr7B,EACE9C,EAAU,CACRzB,KAAM,QACNM,MAAO4R,EAAE,wBACT3R,SAAU2R,EAAE,2CACZhS,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAU,WACRmE,EACE9C,EAAU,CACRzB,KAAM,oBA6EZw1C,mBAAoBz/B,EAAWy/B,mBAC/BJ,8BACEsC,EAAgBtC,8BAElBC,6BACEv/B,EAAkBu/B,6BAEpBhN,UAAWpyB,GACXyuB,SAAU4+B,KA5CE,GAiDlB,OACE,oCACE,kBAACh9B,GAAA,EAAD,CAAMpb,WAAS,EAACnM,QAAS,GACvB,kBAACunB,GAAA,EAAD,CAAMxK,MAAI,EAAC0nB,GAAIrwC,EAAS,EAAI,GAAI+gC,GAAI,IAClC,kBAAC,GAAD,CACE5zC,MAAO4R,EAAE,eACTk/B,KAAM4yB,GACNzyB,cAAe,WACb+gB,EAAQp2C,KAAKumD,GAAWwB,sBAAsB5mD,OAEhDm0B,WAAYt/B,EAAE,sBACdrG,QAASiH,EAAUjH,SAElBiH,EAAUk+C,WAAap1B,aAAQ9oB,EAAUk+C,UACxC,kBAAC,GAAD,CAAiBhE,WAAYl6C,EAAUk+C,WAEvC,yBAAK9rC,UAAWR,EAAOysC,gBAAvB,8BAILh+C,GACC,kBAACmzB,GAAA,EAAD,CACExK,MAAI,EACJ0nB,GAAI,EACJvD,GAAI,GACJ/L,GAAI,GACJ9xB,MAAO,CAAEhE,MAAOjL,EAAS,OAAS,IAElC,kBAAC,GAAD,CAAenT,KAAMowC,GAAUY,QAInC,kBAAC1K,GAAA,EAAD,CAAMxK,MAAI,EAAC0nB,GAAI,EAAGvD,GAAI,GAAI79B,MAAO,CAAEhE,MAAO,SACxC,kBAAC,GAAD,CACE9d,MAAO4R,EAAE,qBACTk/B,KAAM8yB,GACN3yB,cAAe,WACb+gB,EAAQp2C,KAAKumD,GAAW3pD,KAAKuE,OAE/Bm0B,WAAYt/B,EAAE,sBACdrG,QAASiN,EAAKjN,QACdmgB,UACE4P,aAAQ9iB,EAAKpS,MACTsyD,GrE9S6B,KqEkTlClgD,EAAKpS,OAASk1B,aAAQ9iB,EAAKpS,MAC1B,kBAAC,GAAD,CAAQm9C,OAAQ/qC,EAAKpS,OAErB,yBAAKwe,UAAWR,EAAOysC,gBAAvB,0BAIN,kBAAC7qB,GAAA,EAAD,CAAMxK,MAAI,EAAC0nB,GAAI,EAAGtP,GAAI,IACpB,kBAAC,GAAD,CACE5zC,MAAOuiE,EAAYF,GACnBvxB,KAAM+yB,GACN5yB,cAAe,WACbqxB,GAAkB,SAAAp4C,GAAI,OAAKA,MAE7BgnB,WACE5V,aAAQ9lB,EAAkBpP,WACtBzG,EACA0iE,EuFpVU,0BADA,2BvFyVhBlxB,uBACE+xB,IACI,kBAAMtS,EAAOT,gBAAgBvL,GAAOwe,6BACpCzjE,EAENyxC,oBACE8xB,IACItxD,EAAE,uCACFjS,EAEN4L,QAASkK,EAAWlK,SAAWiK,EAAkBjK,SAEhDiK,EAAkBpP,OAASk1B,aAAQ9lB,EAAkBpP,MACpD,kBAAC,GAAD,CACEoP,kBAAmBA,EACnBzG,QAASA,EAAQ3I,KACjBqP,WAAU,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAYrP,KACxBw5B,QAASyiC,EACT5hE,gCACEA,EAEF6gD,wBACE4hB,IACI,kBAAMtS,EAAOT,gBAAgBvL,GAAOwe,6BACpCzjE,IAIR,yBAAKilB,UAAWR,EAAOysC,gBAAvB,0BAGF,kBAAC,GAAD,CACEpxD,YAAgCE,IAAxBixD,EAAOV,aACftrC,UAAWwwB,EAAe/e,mBAED12B,IAAxBixD,EAAOV,cACNiT,EAAavS,EAAOV,iBAK5B,kBAAClqB,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,IACb,kBAAC,GAAD,CACE5zC,MuFlYiB,qBvFmYjB8wC,KAAMgzB,GACN7yB,cAAe,kBAAM+gB,EAAQp2C,KAAKumD,GAAW/9B,SAASrnB,OACtDm0B,WuFpYa,yBvFqYb3lC,QAASwD,EAAQxD,SAEjB,kBAAC,GAAD,CAAey3C,cAAej0C,EAAQ3I,csFtWR,EAAM,eAAgB29D,IAQ9DJ,sBAAuB5B,GACrB,iBElCgC,WAClC,IAAM39C,EAAS1G,KACP5hB,EAAiBI,kCAAjBJ,KAAME,EAAWE,kCAAXF,OAF0B,ECeL,WACnC,IAAMiI,EAAWwW,KACX1L,EAAU4L,IAAe,SAAAzZ,GAAK,MAAK,CACvCkF,KAAMlF,EAAM2M,YAAYkB,QACxBxD,QAASrK,EAAM2M,YAAYvJ,eAAiB,MAGxC0rD,EAAer1C,GAAemzC,IAC9BmC,EAAsBt1C,GAAekzC,IAErCmW,EAAkBrpD,GAAeo2C,IAVE,EAYTzlD,mBAAmB,IAZV,mBAYlC24D,EAZkC,KAYxBC,EAZwB,OAaL54D,mBAAmB,IAbd,mBAalC64D,EAbkC,KAatBC,EAbsB,KAenCC,EAAsB,CAC1B3mC,iBAAkB,GAClBgoB,UAAW,OAjB4B,EAmBGp6C,mBAAS,CACnD27C,cAAe,EACfiD,cAAe,IArBwB,mBAmBlCoa,EAnBkC,KAmBlBC,EAnBkB,OAuBOj5D,mBAAS,CACvD27C,cAAe,EACfiD,cAAe,IAzBwB,mBAuBlCsa,EAvBkC,KAuBhBC,EAvBgB,OA4BTn5D,mBAAqB,CACnDoyB,iBAAkB2mC,EAAoB3mC,iBACtCgoB,UAAW2e,EAAoB3e,YA9BQ,mBA4BlCgf,EA5BkC,KA4BxBC,EA5BwB,OAiCDr5D,mBAAmB,CACzDi7C,OAAQ,UACRE,UAAU,IAnC6B,mBAiClCme,EAjCkC,KAiCpBC,EAjCoB,OAsCGv5D,mBAAmB,CAC7Di7C,OAAQ,UACRE,UAAU,IAxC6B,mBAsClCqe,EAtCkC,KAsClBC,EAtCkB,OA2CHz5D,oBAAS,GA3CN,mBA2ClC05D,EA3CkC,KA2CrBC,EA3CqB,OA4CC35D,oBAAS,GA5CV,mBA4ClC45D,EA5CkC,KA4CnBC,EA5CmB,KA8CnCtV,EAAgDl1C,GACpDgzC,GAA0BwW,IAEtBiB,EAA8CzqD,GAClDgzC,GAA0BsW,IAKtBoB,EAAmB15D,uBACvB,SAAC0kD,EAAiCiV,GAAgC,IAAD,UAC/DL,GAAe,GACfhhE,EACE+S,GAAgB,CACdu5C,MAPU,GAQVlqD,cAAegqD,EACfzoD,OAAQ,OACRg/C,MAAK,iBAAE0e,QAAF,IAAEA,OAAF,EAAEA,EAAM1e,aAAR,QAAiB0d,EAAepa,cACrC3D,OAAM,iBAAE+e,QAAF,IAAEA,OAAF,EAAEA,EAAM/e,cAAR,QAAkBqe,EAAare,OACrCE,SAAQ,iBAAE6e,QAAF,IAAEA,OAAF,EAAEA,EAAM7e,gBAAR,QAAoBme,EAAane,SACzC/mD,KAAI,iBAAE4lE,QAAF,IAAEA,OAAF,EAAEA,EAAM5lE,YAAR,QAAgBglE,EAAShf,UAC7B1tC,mBAAkB,iBAChBstD,QADgB,IAChBA,OADgB,EAChBA,EAAMttD,0BADU,QACY0sD,EAAShnC,oBAGxCj6B,KAAK6sD,KACL7sD,MAAK,YAAgB,IAAD,IAAbpC,EAAa,oBACnBkjE,GAAkB,SAAAr6C,GAAI,YAAK,CACzBggC,cAAa,iBAAEob,QAAF,IAAEA,OAAF,EAAEA,EAAM1e,aAAR,QAAiB18B,EAAKggC,cACnCjD,cAAe5lD,EAAQmD,MACnB3B,KAAK0iE,KAAKlkE,EAAQmD,MAvBd,IAwBJ,MAEN0/D,EAAW,oBACT7iE,EAAQyV,eADC,aACT,EAAiBvO,KAAI,SAAA7E,GAAM,uBAAIA,EAAOwT,4BAAX,QAAmC,aADrD,QAEP,OAGLzM,SAAQ,kBAAMw6D,GAAe,QAElC,CAAChhE,EAAUqgE,EAAgBM,EAAcF,IAGrCc,EAAqB75D,uBACzB,SAAC0kD,EAAiCiV,GAAgC,IAAD,UAC/DH,GAAiB,GACjBlhE,EACE+S,GAAgB,CACdu5C,MAzCU,GA0CVlqD,cAAegqD,EACfzoD,OAAQ,SACRg/C,MAAK,iBAAE0e,QAAF,IAAEA,OAAF,EAAEA,EAAM1e,aAAR,QAAiB4d,EAAiBta,cACvC3D,OAAM,iBAAE+e,QAAF,IAAEA,OAAF,EAAEA,EAAM/e,cAAR,QAAkBue,EAAeve,OACvCE,SAAQ,iBAAE6e,QAAF,IAAEA,OAAF,EAAEA,EAAM7e,gBAAR,QAAoBqe,EAAere,SAC3C/mD,KAAI,iBAAE4lE,QAAF,IAAEA,OAAF,EAAEA,EAAM5lE,YAAR,QAAgBglE,EAAShf,UAC7B1tC,mBAAkB,iBAChBstD,QADgB,IAChBA,OADgB,EAChBA,EAAMttD,0BADU,QACY0sD,EAAShnC,oBAGxCj6B,KAAK6sD,KACL7sD,MAAK,YAAgB,IAAD,IAAbpC,EAAa,oBACnBojE,GAAoB,SAAAv6C,GAAI,YAAK,CAC3BggC,cAAa,iBAAEob,QAAF,IAAEA,OAAF,EAAEA,EAAM1e,aAAR,QAAiB18B,EAAKggC,cACnCjD,cAAe5lD,EAAQmD,MACnB3B,KAAK0iE,KAAKlkE,EAAQmD,MAzDd,IA0DJ,MAEN4/D,EAAa,oBACX/iE,EAAQyV,eADG,aACX,EAAiBvO,KAAI,SAAA7E,GAAM,uBAAIA,EAAOwT,4BAAX,QAAmC,aADnD,QAET,OAGLzM,SAAQ,kBAAM06D,GAAiB,QAEpC,CAAClhE,EAAUugE,EAAkBM,EAAgBJ,IAGzCe,EAA2B95D,uBAAY,WAC3C44D,EAAkB,CAChBra,cAAe,EACfjD,cAAe,IAEjBwd,EAAoB,CAClBva,cAAe,EACfjD,cAAe,IAEjB0d,EAAY,CACVjnC,iBAAkB,GAClBgoB,UAAW1oD,gCAA6Bb,MAE1C0oE,EAAgB,CACdte,OAAQppD,+BAA4BG,QACpCmpD,UAAU,IAEZse,EAAkB,CAChBxe,OAAQppD,+BAA4BG,QACpCmpD,UAAU,IAEZ4e,GAAiB,EAAO,CACtBze,MAAO,EACPL,OAAQppD,+BAA4BG,QACpCmpD,UAAU,EACV/mD,KAAM1C,gCAA6Bb,IACnC6b,mBAAoB,KAEtBwtD,GAAmB,EAAO,CACxB5e,MAAO,EACPL,OAAQppD,+BAA4BG,QACpCmpD,UAAU,EACV/mD,KAAM1C,gCAA6Bb,IACnC6b,mBAAoB,OAErB,CAACqtD,EAAkBG,IAItB,OAFAzxB,GAAkC0xB,GAE3B,CACL12D,UACAoC,SAAU,CACR5F,QAASy4D,GAEXvb,SAAU,CACRkI,OAAQd,EACR6V,KAAMN,EACNJ,cACAE,iBAEF7e,aAAc,CACZgf,mBACAG,sBAEF/jE,OAAQ,CACNijE,WACAC,cACAN,uBAEFh0B,KAAM,CACJu0B,eACAC,kBACAC,iBACAC,qBAEFY,gBAAiB,CACfhd,SAxIc,GAyId2b,iBACAC,oBACAC,mBACAC,uBAEFjvD,kBAAmB,CACjBpP,KAAM4pD,EACNzkD,QAAS0kD,IDxMT2V,GAPFnd,EALsC,EAKtCA,SACApC,EANsC,EAMtCA,aACA5kD,EAPsC,EAOtCA,OACA4uC,EARsC,EAQtCA,KACAs1B,EATsC,EAStCA,gBACAx0D,EAVsC,EAUtCA,SACAqE,EAXsC,EAWtCA,kBAXsC,EAcAlK,mBAAqB,CAC3Do6C,UAAWjkD,EAAOijE,SAAShf,UAC3BhoB,iBAAkBj8B,EAAOijE,SAAShnC,mBAhBI,mBAcjC6nB,EAdiC,KAcnBC,EAdmB,KAmBlCqgB,EAAiBl6D,uBAAY,WACjClK,EAAOkjE,YAAY,CACjBjf,UAAWH,EAAaG,UACxBhoB,iBAAkB6nB,EAAa7nB,mBAEjC2oB,EAAagf,kBAAiB,EAAO,CACnCze,MAAO,EACPlnD,KAAM6lD,EAAaG,UACnB1tC,mBAAoButC,EAAa7nB,mBAEnC2oB,EAAamf,oBAAmB,EAAO,CACrC5e,MAAO,EACPlnD,KAAM6lD,EAAaG,UACnB1tC,mBAAoButC,EAAa7nB,qBAElC,CAAC6nB,EAAcc,EAAc5kD,IAEhC,OACE,oCACE,kBAACukC,GAAA,EAAD,CAAMpb,WAAS,EAACnM,QAAS,GACvB,kBAACunB,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,IACb,kBAACp4C,GAAA,EAAD,CAAOgpB,QAAQ,WAAW2M,QAAS,CAAE1O,KAAM2B,EAAOyM,QAChD,yBAAKjM,UAAWR,EAAOi0C,SACrB,yBAAKzzC,UAAWR,EAAOk0C,eACrB,kBAAC,GAAD,CAAUx2C,MAAO,CAAEhE,MAAO,GAAIgF,OAAQ,MACtC,uCAEF,yBAAK8B,UAAWR,EAAOm0C,gBACrB,kBAAC,GAAD,CACEhT,aAAcA,EACdC,gBAAiBA,EACjBhwC,kBAAmBA,IAErB,kBAAC,GAAD,CACE+vC,aAAcA,EACdC,gBAAiBA,IAEnB,kBAAC,GAAD,CACEhhC,QAAQ,WACR5c,OAAO,UACPke,QAAS,WAELy/B,EAAa7nB,mBACXj8B,EAAOijE,SAAShnC,kBAClB6nB,EAAaG,YAAcjkD,EAAOijE,SAAShf,WAE3CmgB,MATN,aAgBJ,oCACE,kBAAC,GAAD,CACEpd,SAAUA,EAASkI,OACnBplD,QAASk9C,EAASyc,cAClBY,eAAgB30D,EAAS5F,QACzBm9C,WAAY1sD,EACZ2sD,SAAUgd,EAAgBhd,SAC1B7B,WAAY6e,EAAgBnB,iBAC5Bn0B,KAAMA,EAAKy0B,eACX1e,QAAS/V,EAAK00B,kBACd1e,aAAcA,EAAamf,mBAC3B/jE,OAAQA,EAAOijE,SACf9b,cAAennD,EAAO4iE,sBAExB,kBAAC,GAAD,CACE5b,SAAUA,EAASid,KACnBn6D,QAASk9C,EAASuc,YAClBtc,WAAY5sD,EACZ6sD,SAAUgd,EAAgBhd,SAC1B7B,WAAY6e,EAAgBrB,eAC5Bj0B,KAAMA,EAAKu0B,aACXxe,QAAS/V,EAAKw0B,gBACdxe,aAAcA,EAAagf,iBAC3B5jE,OAAQA,EAAOijE,cAMvB,kBAAC1+B,GAAA,EAAD,CAAMxK,MAAI,EAACoY,GAAI,IACb,kBAACp4C,GAAA,EAAD,CAAOgpB,QAAQ,WAAW2M,QAAS,CAAE1O,KAAM2B,EAAOyM,QAChD,2IAIA,yBAAKjM,UAAWR,EAAOo0C,eACrB,yBACEjtC,IAAKw6C,KACLt6C,IAAI,uCACJ7G,UAAWR,EAAOgc,eF3E9B,EACA,eACA4lC,IAEFC,QAASlE,GACP,iB9DfgC,WAAO,IAAD,wBAClC39C,EAAS1G,KACTzZ,EAAWwW,KAFuB,EAIAqK,IAAMxZ,SAASmqD,GAAayQ,QAJ5B,mBAIjCC,EAJiC,KAInBC,EAJmB,OAKd96D,mBAAS,GALK,mBAKjCgL,EALiC,KAK1ButB,EAL0B,OAMFv4B,oBAAS,GANP,mBAMjC+6D,EANiC,KAMpBC,EANoB,KAYlC3xB,EAAWhpC,uBAAY,WAC3B1H,EAASmT,MACTnT,EAAS4T,QACR,CAAC5T,IAEEsiE,EAAkB5rD,GAAeu4C,IACjCsT,EAAkB7rD,GAAew4C,IACjC39C,EAAoBmF,GAAeozC,IACnCh/C,EAAU4L,IAAe,SAAAzZ,GAAK,MAAK,CACvCkF,KAAMlF,EAAM2M,YAAYkB,YAGpB03D,EAAkB9rD,GAAe+3C,IACjCgU,EAA2B/rD,GAC/BkzC,IAGI8Y,EAAchsD,GAAe83C,IAC7B2D,EAAgB96B,aAAQqrC,GA9BU,EAgCwDr7D,oBAAS,GAhCjE,mBAgCjCs7D,EAhCiC,KAgCSC,EAhCT,KAkCxC9yB,GAAkCY,GAElC,IAAMmyB,EAAqBn7D,uBACzB,SAAC0L,GACC,OAAOwjB,cACL,SAACC,EAAD,GAA2B,IAAD,mBAAnB+3B,EAAmB,KAAZvrD,EAAY,KACxB,MAAM,GAAN,mBACKwzB,GADL,cAGI+3B,SACGvrD,OAIT,GACAuvB,aAAQxf,MAGZ,CAACmvD,IAGHnqD,qBAAU,WACRiqD,EAAeH,IAAiB1Q,GAAayQ,UAC5C,CAACC,IAEJ,IAAMY,EAAqBp7D,uBAAY,WACrC,IAAMm0C,EAAgBx4C,aAAOk/D,GAAiBlwD,GAC9C,OAAOwwD,EAAmBhnB,KACzB,CAAC0mB,EAAiBlwD,EAAOwwD,IAEtBE,EAAqBr7D,uBAAY,WACrC,OAAOm7D,EAAmBP,KACzB,CAACA,EAAiBO,IAEfG,EAAct7D,uBAAY,WAC9B,OAAO06D,EAAcU,IAAuBC,MAC3C,CAACA,EAAoBD,EAAoBV,IAEtCa,EAAmBv7D,uBAAY,WACnC,OAAO6J,EAAkBmL,aAAK6lD,GAAiBlwD,MAC9C,CAACkwD,EAAiBlwD,EAAOd,IAEtB2xD,EAAiCx7D,uBAAY,WACjD,OAAOgV,aAAK6lD,GAAiBt+D,SAC5B,CAACs+D,IAEJ,OACE,oCACE,kBAAC,GAAD,CACExmE,MAAM,wBACN8wC,KAAMs2B,GACNr2B,SAAU,GACVxlC,QAASk7D,GAAmBC,EAC5Br1B,cACE,yBAAKzsB,UAAWR,EAAOyxC,eACrB,yBAAKjxC,UAAWR,EAAO4R,gBACrB,yBAAKpR,UAAWR,EAAO2xC,SACrB,0BAAMj0C,MAAO,CAAEnD,YAAa,SAA5B,WACA,kBAAC0oD,GAAA,EAAD,CACElxD,MAAOgwD,EACPmB,WAAS,EACT7+C,SAvFS,SAAC3a,EAAqBy5D,GAC7CA,GAAWnB,EAAgBmB,KAwFb,kBAAC,GAAD,CACEpxD,MAAOs/C,GAAajzB,IACpBgc,aAAW,gBAFb,qBAMA,kBAAC,GAAD,CACEroC,MAAOs/C,GAAayQ,OACpB1nB,aAAW,gBAFb,kBAQDioB,GAAmBC,KACnBtQ,GACDiQ,GACE,yBAAKzhD,UAAWR,EAAOtjB,MACrB,4CACA,kDACGomE,WADH,aACG,EAAoBpmE,YADvB,kBAC+BomE,WAD/B,aAC+B,EAAoBr7D,YAKxD46D,GAAmBC,KACnBtQ,GACDiQ,GACAc,IAAmC,GACjC,yBAAKviD,UAAWR,EAAO4V,SACrB,kBAAC,GAAD,CACEx1B,MAAO2iE,IACPtjC,SAAUA,EACVvtB,MAAOA,OAOlB+vD,IAAgBjQ,EAAgB,kBAACnW,GAAA,EAAD,MAAc,KAC/C,kBAAC91B,GAAA,EAAD,CAAUC,GAAIi8C,IAAgBjQ,GAC5B,yBAAKxxC,UAAWR,EAAO6xC,WACrB,6BACE,kBAAChwB,GAAA,EAAD,CAAYrhB,UAAWR,EAAO8xC,UAAW1xC,QAAQ,WAAjD,gBAGA,0BAAMI,UAAWR,EAAO+xC,WACtB,kBAAC,GAAD,CACE18B,GAAE,UAAEytC,WAAF,aAAE,EAAoBnyD,aACxB2kB,GAAE,UAAEwtC,WAAF,aAAE,EAAoBpxD,iBAI9B,6BACE,kBAACmwB,GAAA,EAAD,CAAYrhB,UAAWR,EAAO8xC,UAAW1xC,QAAQ,WAAjD,uBAGA,0BAAMI,UAAWR,EAAO+xC,WAAxB,UACG+Q,WADH,aACG,EAAoBr7D,UAGR,QAAhB,EAAAq7D,WAAA,eAAoBM,aACnB,6BACE,kBAACvhC,GAAA,EAAD,CAAYrhB,UAAWR,EAAO8xC,UAAW1xC,QAAQ,WAAjD,2BAGA,0BAAMI,UAAWR,EAAO+xC,WACtB,kBAAC,GAAD,CACE3xC,QAAQ,WACRsB,QAAS,kBAAM+gD,GAA4C,SAAA38C,GAAI,OAAKA,MACpEvF,KAAK,QACLC,UAAWR,EAAOiyC,YAClBt4C,MAAM,WALR,gBAcTq4C,EACC,wBAAIxxC,UAAWR,EAAOgyC,eAAtB,8BAEA,kBAAC,GAAD,CAAO/+C,SAAU4vD,OAGpBL,GACC,kBAAC,GAAD,CACEluC,QAASmuC,EACT3P,SAAU,CACRG,SAAQ,UAAEtoD,EAAQ3I,YAAV,aAAE,EAActF,KACxBw2D,WAAU,UAAGvoD,EAAQ3I,YAAX,aAAG,EAAcqD,eAC3B8tD,iBAAgB,UAAGxoD,EAAQ3I,YAAX,aAAG,EAAciJ,qBAEnCixC,UAAW,CACT8W,UAAS,UAAE8P,WAAF,aAAE,EAAoBpmE,KAC/Bq2D,YAAW,UAAE+P,WAAF,aAAE,EAAoBr7D,c8DlLzC,EACA,oBACA47D,IAEFjvD,KAAMupD,GACJ,eIvCgC,WAClC,IAAM39C,EAAS1G,KACTE,EAAQiM,eACR69C,EAAW/1C,aAAc/T,EAAMK,YAAYC,KAAK,OAHd,EAIR5S,mBAASxN,kBAAeC,QAJhB,mBAIjC4pE,EAJiC,KAIvBC,EAJuB,OAKhBt8D,mBAAS,GALO,mBAKjC07C,EALiC,KAK3B8B,EAL2B,OCdT,WAC/B,IAAM7kD,EAAWwW,KADoB,EAGDnP,mBAAmB,IAHlB,mBAG9Bu8D,EAH8B,KAGlBC,EAHkB,OAIKx8D,mBAAmB,IAJxB,mBAI9By8D,EAJ8B,KAIfC,EAJe,OAKD18D,mBAAS,GALR,mBAK9B28D,EAL8B,KAKlBC,EALkB,OAMH58D,mBAAS,GANN,mBAM9B68D,EAN8B,KAMnBC,EANmB,OAOX98D,mBAA0C,CAClEk3B,IAAK,EACL6lC,OAAQ,IAT2B,mBAO9B7jE,EAP8B,KAOvB8jE,EAPuB,OAWPh9D,oBAAS,GAXF,mBAW9BC,EAX8B,KAWrBC,EAXqB,KAa/B+8D,EAAsB5tD,GAAeuzC,GAAqB2Z,IAC1DW,EAAyB7tD,GAC7BuzC,GAAqB6Z,IAGjBU,EAAc98D,uBAClB,SAAC0kD,EAAiCzJ,GAChCp7C,GAAW,GACXvH,EACEsU,GAAW,CACTlS,cAAegqD,EACf3wD,KAAM,MACN6wD,MA3BS,GA4BT3J,MAAK,OAAEA,QAAF,IAAEA,IAASuhB,KAGjB1kE,KAAK6sD,KACL7sD,MAAK,YAAgB,IAAD,IAAbpC,EAAa,oBACnBinE,GAAS,SAAAp+C,GAAI,YAAK,CAChBsY,IAAG,UAAEnhC,EAAQmD,aAAV,QAAmB,EACtB6jE,OAAQn+C,EAAKm+C,WAEfzhB,GAASwhB,EAAaxhB,GACtBshB,EACE7mE,EAAQmD,MAAQ3B,KAAK0iE,KAAKlkE,EAAQmD,MAvC3B,IAuCiD,GAE1DsjE,EAAa,oBAACzmE,EAAQyV,eAAT,aAAC,EAAiBvO,KAAI,SAAA05B,GAAG,uBAAIA,EAAItgC,UAAR,QAAc,aAAvC,QAA8C,OAE5D8I,SAAQ,kBAAMe,GAAW,QAE9B,CAACvH,EAAUkkE,IAGPO,EAAiB/8D,uBACrB,SAAC0kD,EAAiCzJ,GAChCp7C,GAAW,GACXvH,EACEsU,GAAW,CACTlS,cAAegqD,EACf3wD,KAAM,SACN6wD,MAvDS,GAwDT3J,MAAK,OAAEA,QAAF,IAAEA,IAASuhB,KAGjB1kE,KAAK6sD,KACL7sD,MAAK,YAAgB,IAAD,IAAbpC,EAAa,oBACnBinE,GAAS,SAAAp+C,GAAI,YAAK,CAChBsY,IAAKtY,EAAKsY,IACV6lC,OAAM,UAAEhnE,EAAQmD,aAAV,QAAmB,MAE3BoiD,GAASwhB,EAAaxhB,GACtBshB,EACE7mE,EAAQmD,MAAQ3B,KAAK0iE,KAAKlkE,EAAQmD,MAnE3B,IAmEiD,GAE1DwjE,EAAgB,oBAAC3mE,EAAQyV,eAAT,aAAC,EAAiBvO,KAAI,SAAA05B,GAAG,uBAAIA,EAAItgC,UAAR,QAAc,aAAvC,QAA8C,OAE/D8I,SAAQ,kBAAMe,GAAW,QAE9B,CAACvH,EAAUkkE,IAMb,OAHAp0B,GAAkC00B,GAClC10B,GAAkC20B,GAE3B,CACLC,QAASJ,EACTK,WAAYJ,EACZ1hB,WAAY,CACVyJ,MAnFa,GAoFb0X,aACAE,aAEF3jE,QACA+G,UACAk9D,cACAC,kBD3DEG,GAPFF,EARsC,EAQtCA,QACAC,EATsC,EAStCA,WACA9hB,EAVsC,EAUtCA,WACAtiD,EAXsC,EAWtCA,MACA+G,EAZsC,EAYtCA,QACAk9D,EAbsC,EAatCA,YACAC,EAdsC,EActCA,eAGMnY,EAAiCzJ,EAAjCyJ,MAAO0X,EAA0BnhB,EAA1BmhB,WAAYE,EAAcrhB,EAAdqhB,UAErBn/C,EAAYH,GAAgBtd,GAE5Bu9D,EAAuBn9D,uBAC3B,SAACmC,EAAqBy5D,GAChBA,IACFze,EAAQ,GACR8e,EAAYL,GACRA,IAAYzpE,kBAAe3B,IAC7BssE,GAAY,EAAO,GAEnBC,GAAe,EAAO,MAI5B,CAAC5f,EAAS8e,EAAaa,EAAaC,IAGtCrsD,qBAAU,WACJsrD,IAAa7pE,kBAAe3B,IAC9BssE,GAAY,EAAO,GAEnBC,GAAe,EAAO,KAEvB,CAACD,EAAaC,EAAgBf,IAEjCtrD,qBAAU,WACRysC,EAAQqf,EAAY5X,EAAQ,KAC3B,CAAC4X,EAAWrf,EAASyH,IAExB,IAAMwY,EAAYxjD,mBAAQ,WACxB,OAAO,wBAAIX,UAAWR,EAAOquB,OAAtB,0BACN,CAACruB,EAAOquB,QAELu2B,EAAar9D,uBACjB,SAACjM,EAAsBspB,GACrB,OAAItpB,IAAS5B,kBAAe3B,IAExB,8BACI6sB,IACCsS,aAAQqtC,GACLI,GACC//C,GACD2/C,EAAQpgE,KAAI,SAACiQ,EAAMyH,GAAO,IAAD,EACvB,OAAO,kBAAC,GAAD,CAAkBhe,IAAG,UAAEuW,EAAK7W,UAAP,QAAase,EAAGzH,KAAMA,SAM5D,8BACIwQ,IACCsS,aAAQstC,GACLG,EACAH,EAAWrgE,KAAI,SAACiQ,EAAMyH,GAAO,IAAD,EAC1B,OACE,kBAAC,GAAD,CACEhe,IAAG,UAAEuW,EAAK7W,UAAP,QAAase,EAChBzH,KAAMA,EACNsgD,WAAY4P,WAQhC,CAACC,EAASC,EAAYF,EAAgBK,IAGxC,OACE,oCACE,yBAAKjnD,MAAO,CAAEtD,aAAcZ,EAAMa,QAAQ,MACxC,kBAAC,GAAD,CACEze,MA9FM,uBA+FN8wC,KAAM8yB,GACNl4C,UAlGS,GAmGTslB,eAAa,EACbK,cACE,yBAAKzsB,UAAWR,EAAOyxC,eACrB,0BAAM/zC,MAAO,CAAEnD,YAAaf,EAAMa,QAAQ,KAA1C,YACA,kBAAC4oD,GAAA,EAAD,CACElxD,MAAOwxD,EACPL,WAAS,EACT7+C,SAAUqgD,EACVlkD,UAAWR,EAAO2xC,SAElB,kBAAC,GAAD,CACE5/C,MAAOrY,kBAAeC,OACtBygD,aAAW,eACX18B,MAAO,CAAEnD,YAAa+oD,EAAW,EAAI9pD,EAAMa,QAAQ,KAHrD,mBAKmBja,EAAM6jE,OALzB,KAOA,kBAAC,GAAD,CACElyD,MAAOrY,kBAAe3B,IACtBqiD,aAAW,gBAFb,cAIch6C,EAAMg+B,IAJpB,QAUN,kBAAC,GAAD,CACEwkB,KAAMA,EACNC,cAAeghB,EACfx/C,SAAU,SAACC,EAA+ByS,GACpCA,IAAQ6rB,IACV8B,EAAQ3tB,GACJwsC,IAAa7pE,kBAAe3B,IAC9BssE,GAAY,GAAQttC,EAAM,GAAKo1B,GAE/BmY,GAAe,GAAQvtC,EAAM,GAAKo1B,SAO9C,yBAAK3rC,UAAWR,EAAOq0C,oBACrB,6BACGzvC,GACC,yBACEpE,UAAWR,EAAOooB,OAClB1qB,MAAO,CACLgB,OAnJY,MAsJd,kBAAC4B,GAAA,EAAD,OAGJ,kBAACitB,GAAA,EAAD,CAAMvnB,IAAKpB,GAAYggD,EAAWrB,EAAU3+C,UJ7GlD,EACA,kBACAigD,IAEF7kC,SAAU29B,GACR,eJ6CoC,WAAO,IAAD,QACtCmH,EAAuD,CAC3Dr6C,MAAO,GACP/tB,KAAM,IAHoC,EAKRwK,oBAAS,GALD,mBAKrC69D,EALqC,KAKzBC,EALyB,OAMoB99D,oBAC9D,GAP0C,mBAMrC+9D,EANqC,KAMXC,EANW,OASUh+D,oBAAkB,GAT5B,mBASrCi+D,EATqC,KAShBC,EATgB,OAUUl+D,oBAAkB,GAV5B,mBAUrCm+D,EAVqC,KAUhBC,EAVgB,OAWkBp+D,oBAE5D,GAb0C,mBAWrCq+D,EAXqC,KAWZC,EAXY,OAchBt+D,mBAC1B49D,GAf0C,mBAcrCt0D,EAdqC,KAc7Bi1D,EAd6B,OAiBhBv+D,wBAE1B3L,GAnB0C,mBAiBrCkV,EAjBqC,KAiB7Bi1D,EAjB6B,OAoBNx+D,mBAAS,IApBH,mBAoBrCy+D,EApBqC,KAoBxBC,EApBwB,OAqBN1+D,mBAAS,IArBH,mBAqBrC2+D,EArBqC,KAqBxBC,EArBwB,OAsBA5+D,mBAAS,GAtBT,mBAsBrC6+D,EAtBqC,KAsBrBC,GAtBqB,QAwBU9+D,oBAAU,GAxBpB,qBAwBhB++D,IAxBgB,gBAyBN/+D,wBAA6B3L,GAzBvB,qBAyBrC2qE,GAzBqC,MAyBxBC,GAzBwB,SA0BZj/D,wBAA6B3L,GA1BjB,qBA0BrC6W,GA1BqC,MA0B3Bg0D,GA1B2B,SA2BlBl/D,mBAAS,IA3BS,qBA2BrCtL,GA3BqC,MA2B9ByqE,GA3B8B,SA4BNn/D,wBAA6B3L,GA5BvB,qBA4BrC+qE,GA5BqC,MA4BxBC,GA5BwB,SA6BQr/D,wBAElD3L,GA/B0C,qBA6BrCirE,GA7BqC,MA6BjBC,GA7BiB,SAgCYv/D,wBAEtD3L,GAlC0C,qBAgCrCmrE,GAhCqC,MAgCfC,GAhCe,SAmCMz/D,oBAAS,GAnCf,qBAmCrC0/D,GAnCqC,MAmClBC,GAnCkB,MAqCtC7mD,GAAS1G,KACT03B,GAAiBC,KACjB61B,GAA6BC,KAC7BC,GAAgBC,KACdz5D,GAAM+V,eAAN/V,EACF3N,GAAWwW,KA1C2B,GUjFP,WAAO,IAAD,EACWnP,wBAA8B3L,GADzC,mBACpC2rE,EADoC,KACfhP,EADe,OAEKhxD,mBAC9C,IAHyC,mBAEpCg3B,EAFoC,KAElBC,EAFkB,OAQbn3B,GAAiB,CAC7CpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,SAJLu7B,EARoC,sBAgBNj3B,GAAO,CAC1CpE,oBAAoB,EACpBH,OAAQ,CACNC,OAAQ,MACRC,IAAI,2CAJDwkE,EAhBoC,oBAwBrCtnE,EAAWwW,KACT7I,EAAM+V,eAAN/V,EAEFk9C,EAAmBn0C,GAAeihC,IAElCp7C,EAAyBma,GAAeo0C,IAExCO,EAAuB30C,GAAe8zC,IACtCc,EAAmB50C,GACvB6zC,IACAjmD,KAAI,SAAAizB,GAAI,kCAAUA,GAAV,IAAgBplB,gBAAoB,OAAJolB,QAAI,IAAJA,OAAA,EAAAA,EAAMplB,iBAAkB,QAC5DX,EAAakF,GAAe2zC,IAC5BkB,EAAoB70C,GAAe0zC,IACnCnZ,EAAqBv6B,GAAeg0C,IAEpCn5C,EAAoBmF,GAAemzC,IAEnCrmD,EAAWkT,GAAevT,IAE1B4yD,EAAgBr/C,GAAeo/C,IAE/BvlB,EAAkB75B,GAAey5B,IA7CI,EA+CH9oC,wBACtC3L,GAhDyC,mBA+CpCuwD,EA/CoC,KA+CtBC,EA/CsB,OAmDW7kD,wBAEpD3L,GArDyC,mBAmDpC0P,EAnDoC,KAmDfwoC,EAnDe,OAuDuBvsC,mBAEhE,IAzDyC,mBAuDpCupC,EAvDoC,KAuDTE,EAvDS,OA8DvCzpC,wBAAsC3L,GA9DC,mBA4DzCm1C,EA5DyC,KA6DzCgD,EA7DyC,KAgErC/oC,EAAU4L,IAAe,SAAAzZ,GAAK,MAAK,CACvCkF,KAAMlF,EAAM2M,YAAYkB,QACxBxD,QAASrK,EAAM2M,YAAYvJ,eAAiB,MAGxCknE,EAA6B,SAAC9rE,GAClC,OAAQA,GACN,IAAK,aACH,OAAOkS,EAAE,+CAEX,IAAK,uBACH,OAAOA,EAAE,6DAEX,IAAK,cACH,OAAOA,EAAE,mDAEX,IAAK,OACH,OAAOA,EAAE,wCAEX,IAAK,uBACH,OAAOA,EAAE,+DAEX,QACE,OAAOA,EAAE,0CAKT65D,EAAwB,SAAC/rE,GAC7B,OAAQA,GACN,IAAK,oBACH,MAAM,GAAN,OAAUkS,EACR,mEADF,aAEMA,EAAE,yDAFR,KAIF,QACE,MAAM,GAAN,OAAUA,EACR,8DADF,aAEMA,EAAE,yDAFR,OAOA85D,EAAkC1R,EACrCv4D,QAAO,SAAAkqE,GAAC,MAA8B,WAAzB,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAGC,uBACfrjE,KAAI,SAAAojE,GAAC,MAAK,CACT98C,MAAO28C,EAA0B,OAACG,QAAD,IAACA,OAAD,EAACA,EAAGE,kBACrCpjD,SAAU,WACR,OAAOxkB,EACLmU,GAAuB,CACrBzW,GAAIgqE,EAAGhqE,GACP0W,WAAU,OAACszD,QAAD,IAACA,OAAD,EAACA,EAAGtzD,cAIpBgQ,WAAU,OAACsjD,QAAD,IAACA,OAAD,EAACA,EAAGtzD,cAGZyzD,EAAkC,CAAC,oBAAqB,gBACxDC,EAA+BtkE,EAClChG,QACC,SAAAiG,GAAO,OACE,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASY,eAAgBwjE,EAAgB9nE,SAAhB,OAAyB0D,QAAzB,IAAyBA,OAAzB,EAAyBA,EAASY,iBAE9DC,KAAI,SAAAb,GAAO,MAAK,CACfmnB,MAAO48C,EAAqB,OAAC/jE,QAAD,IAACA,OAAD,EAACA,EAASY,cACtCmgB,SAAU,WACR,OAAOxkB,EACL4E,GAAc,CACZlH,GAAI+F,EAAS/F,GACbmH,aAAkC,cAAb,OAAPpB,QAAO,IAAPA,OAAA,EAAAA,EAASE,aAI7BygB,QAA6B,cAAb,OAAP3gB,QAAO,IAAPA,OAAA,EAAAA,EAASE,QAClBD,aAAY,OAACD,QAAD,IAACA,OAAD,EAACA,EAASC,WACtBW,aAAY,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAASY,iBAGrBmsC,EAAuC,CAC3C,QACA,gBACA,gBACA,OAGIE,EAAWhpC,uBAAY,WAC3B1H,EAASiU,MACT5U,QAAQk/B,IAAIiS,EAAqBlsC,KAAI,SAAA0Y,GAAC,OAAIhd,EAASqO,GAAkB2O,UACpE,CAAChd,EAAUwwC,IA2Bd,OAzBAp4B,qBAAU,WACR/Y,QAAQk/B,IACN/6B,EACGhG,QAAO,SAAAiG,GAAO,QAAI,OAACA,QAAD,IAACA,OAAD,EAACA,EAAS+6B,yBAC5Bl6B,KAAI,SAAAb,GAAO,OACV26B,EAAoB,CAClBt7B,IAAK,sBAAgBW,QAAhB,IAAgBA,OAAhB,EAAgBA,EAASY,oBAGpC7E,MAAK,SAAA+O,GAEL,IAAMkwB,EAAWlwB,EAAUqoB,QAAO,SAACC,EAAD,GAAoB,IAAD,EAAX10B,EAAW,EAAXA,KAClC1G,EAAI,UAAG0G,EAAK1G,YAAR,aAAG,EAAWqD,WACxB,OAAKrD,EAEE,2BACFo7B,GADL,kBAEGp7B,EAAO0G,EAAK2kB,UAJG+P,IAMjB,IACHyH,EAAoBG,QAErB,CAACj7B,EAAU46B,IAEd0R,GAAkCY,GAC3B,CACLltC,WACAsH,UACA28D,uBACAK,oBACAC,mBAAoB1pC,EACpB9sB,kBAAmB,CACjBpP,KAAMoP,EACNq/B,4BACAE,gCAEFqC,gBAAiB,CACftC,gCACAgD,oCAEFzoC,oBAAqB,CACnBA,sBACAwoC,0BAEFrD,kBACAsa,mBACAtuD,yBACAiV,WAAY,CACVrP,KAAMqP,EACN65C,uBACAC,mBACAra,qBACA3pC,QAASikD,GAEXoB,OAAQ,CACNV,eACAC,mBAEF8b,IAAK,CACHV,8BAEFl3D,QAAS,CACPi3D,sBACAhP,2BV9EA4P,GAdS9lE,GA7C+B,GA6C1C2I,QAAW3I,KA7C+B,MA8C1CqP,WAAc85C,GA9C4B,GA8C5BA,iBAAkBra,GA9CU,GA8CVA,mBAAoB3pC,GA9CV,GA8CUA,QACpDmgE,GA/C0C,GA+C1CA,qBACAK,GAhD0C,GAgD1CA,kBACAv2D,GAjD0C,GAiD1CA,kBACAg/B,GAlD0C,GAkD1CA,gBACAsa,GAnD0C,GAmD1CA,iBACAtuD,GApD0C,GAoD1CA,uBACAwrE,GArD0C,GAqD1CA,mBACApb,GAtD0C,GAsD1CA,OACAvhD,GAvD0C,GAuD1CA,oBACA+nC,GAxD0C,GAwD1CA,gBACOm0B,GAzDmC,GAyD1CU,IAAOV,2BAzDmC,MA0D1Cl3D,QAAWi3D,GA1D+B,GA0D/BA,oBAAqBhP,GA1DU,GA0DVA,uBAE5B3jC,GAAUxB,KAEVg1C,GAAmB5c,GAAiB4a,GACpCiC,GAA8D,WAAlB,OAAhBD,SAAgB,IAAhBA,QAAA,EAAAA,GAAkBv1D,aAE9Cy1D,GAAY,WAChBjD,GAAc,GACd6B,IAAqB,IAGjBpI,GAAqB/9C,IAAMnZ,aAAY,WAC3CilD,GAAOT,qBAAgBxwD,GACvB6V,GAAkBu/B,6BAA6B,IAC/C1lC,GAAoBwoC,4BAAuBl4C,KAC1C,CAACixD,GAAQp7C,GAAmBnG,KAEzB0zD,GAAyBj+C,IAAMnZ,aAAY,WAAe,IAAD,IAC7D,2BACE0D,GAAoBA,2BADtB,eAEE88D,SAFF,IAEEA,QAFF,EAEEA,GAAkB/1D,eAAe,UAFnC,QAGE,KAED,CAAC/G,GAAoBA,oBAAqB88D,KAEvCG,GAAmB3gE,uBACvB,SAAChK,EAAa4qE,GACZ,IAAMC,EAAmB,+BACzB,OAAQ7qE,GACN,KAAKgJ,GACH,OACE,kBAAC2nD,GAAA,EAAD,CAAOC,QAASia,EAAmB,iBAAnC,qCAEE,6BACC,CAAEn2D,MAAK,OAAEk2D,QAAF,IAAEA,OAAF,EAAEA,EAAgB33D,SAGhC,KAAKjK,GACH,OACE,kBAAC2nD,GAAA,EAAD,CAAOC,QAASia,EAAmB,iBAAnC,2CAEE,6BACC,CAAE3gE,OAAM,OAAE0gE,QAAF,IAAEA,OAAF,EAAEA,EAAgB33D,SAGjC,KAAKjK,GACH,OACE,kBAAC2nD,GAAA,EAAD,CAAOC,QAASia,EAAmB,0BAAnC,6CAEE,6BACC,CACCl4D,MAAOQ,GAA+B,OAACy3D,QAAD,IAACA,OAAD,EAACA,EAAgB33D,SAEzD,6BACC,CAAEL,MAAK,OAAEg4D,QAAF,IAAEA,OAAF,EAAEA,EAAgB13D,SAGhC,KAAKlK,GACH,OACE,kBAAC2nD,GAAA,EAAD,CAAOC,QAASia,EAAmB,gBAAnC,mCAEE,6BACC,CACCl4D,MAAOQ,GAA+B,OAACy3D,QAAD,IAACA,OAAD,EAACA,EAAgB33D,SAEzD,6BACC,CAAEL,MAAK,OAAEg4D,QAAF,IAAEA,OAAF,EAAEA,EAAgB13D,SAGhC,KAAKlK,GACH,OACE,kBAAC2nD,GAAA,EAAD,CAAOC,QAASia,EAAmB,iBAAnC,+CAEE,6BACC,CAAEn2D,MAAK,OAAEk2D,QAAF,IAAEA,OAAF,EAAEA,EAAgB33D,SAGhC,QACE,OAAOjT,GAAQA,EAAG2qC,MAAM3hC,IACtB,kBAAC2nD,GAAA,EAAD,CAAOC,QAASia,EAAmB,mBAAnC,sCAEE,6BACC,CACCl4D,MAAOQ,GAA+B,OAACy3D,QAAD,IAACA,OAAD,EAACA,EAAgB33D,SAEzD,6BACC,CAAEL,MAAK,OAAEg4D,QAAF,IAAEA,OAAF,EAAEA,EAAgB13D,SAG5BjD,GAAE,sCAIV,CAACA,KAGG66D,GAAuBlnD,mBAAQ,WACnC,YAA4B5lB,IAAxB2rE,KACMA,KAGT,CAACA,KAEEoB,GAAoBnnD,mBACxB,SAAC5jB,GACC,OACSiQ,GADLjQ,IAAOgJ,GACA,uCAEF,4BAEX,CAACiH,KAGG+6D,GAAehhE,uBACnB,SAACihE,EAAwBC,GACvB,OAEMj7D,QAFejS,IAAjBitE,EACKA,EACD,2CACA,+CAGNH,KAAoD,IAA5BI,EACpB,2CACA,MAGR,CAACJ,GAAsB76D,KAGnB8wC,GAAmB/2C,uBACvB,SACEhK,EACA4qE,EACAK,EACAC,GAEKJ,KAAoD,IAA5BI,GAC3B5oE,GAASzC,EAAqB,CAAEG,GAAIA,KAEtCsC,GACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO0sE,GACPzsE,SACEwsE,IAAwBI,EACpBj7D,GAAE,mCACF06D,GAAiB3qE,EAAI4qE,GAC3BrsE,KAAMysE,GAAaC,EAAcC,GACjC9sE,SAAU,kBAAMsqE,IAAwB,OAG5C/N,QAAuB38D,KAEzB,CACEsE,GACAyoE,GACAC,GACA/6D,GACA06D,GACAG,GACAnQ,KAIEwQ,GAAcnhE,uBAAY,SAAChK,GAE/B,QADkB,CAACgJ,GAAiCA,IACtC3G,SAASrC,MAIdA,EAAG2qC,MAAM3hC,MACjB,IAEGoiE,GAAWphE,uBACf,SAAChK,GAEC,OADcnB,GAAuBm/B,MAAK,SAAAqtC,GAAC,OAAIA,EAAErrE,KAAOA,KAE/C+gD,GAAiB/gD,OAAIhC,OAAWA,GAAW,GAEhDmtE,GAAYnrE,GACPspE,IAAqB,QAE9B7B,GAAc,KAEhB,CAAC5oE,GAAwBkiD,GAAkBoqB,KAGvCG,GAAa,SAAC,GAQb,IAPLnsE,EAOI,EAPJA,KAOI,IANJonC,oBAMI,MANW,GAMX,MALJglC,SAMM/xC,EAAQ+M,GAA8B,GAO5C,YARI,SAGFgiC,EAAe/uC,GAEf6uC,EAAe7uC,GAEjB2uC,OAAUnqE,GACFmB,GACN,KAAKq4D,GAAOgU,cAMV,OALA1C,GACE74D,GAAE,6BAA8B,CAC9Bw7D,QAASx7D,GAAE,qDAGRi4D,EAAU,CACfh7C,MAAOjd,GAAE,qCACT9Q,KAAMq4D,GAAOgU,gBAEjB,KAAKhU,GAAOkU,qBAMV,OALA5C,GACE74D,GAAE,6BAA8B,CAC9Bw7D,QAASx7D,GAAE,sDAGRi4D,EAAU,CACfh7C,MAAOjd,GAAE,qCACT9Q,KAAMq4D,GAAOkU,uBAEjB,KAAKlU,GAAOmU,8BAOV,OANA7C,GACE74D,GAAE,6BAA8B,CAC9Bw7D,QAASx7D,GAAE,uDAGf+4D,QAAehrE,GACRkqE,EAAU,CACfh7C,MAAOjd,GAAE,4CACT9Q,KAAMq4D,GAAOmU,gCAEjB,KAAKnU,GAAOoU,8BACV,OAAOzD,EAAU,CACfj7C,MAAOjd,GAAE,4CACT9Q,KAAMq4D,GAAOoU,gCAEjB,KAAKpU,GAAOqU,oBAWV,OAVA/C,GACE74D,GAAE,6BAA8B,CAC9Bw7D,QAASx7D,GAAE,6CAGf+4D,GACiB,gBAAX,OAAJvkE,SAAI,IAAJA,QAAA,EAAAA,GAAM1G,WACFC,EACAiS,GAAE,qDAEDi4D,EAAU,CACfh7C,MAAOjd,GAAE,4CACT9Q,KAAMq4D,GAAOqU,sBAEjB,KAAKrU,GAAOsU,oBACV,OAAO3D,EAAU,CACfj7C,MAAOjd,GAAE,4CACT9Q,KAAMq4D,GAAOsU,sBAEjB,KAAKtU,GAAOuU,yBAOV,OANAjD,GACE74D,GAAE,6BAA8B,CAC9Bw7D,QAASx7D,GAAE,gDAGf+4D,QAAehrE,GACRkqE,EAAU,CACfh7C,MAAOjd,GAAE,4CACT9Q,KAAMq4D,GAAOuU,2BAEjB,KAAKvU,GAAOwU,yBACV,OAAO7D,EAAU,CACfj7C,MAAOjd,GAAE,4CACT9Q,KAAMq4D,GAAOwU,2BAGjB,KAAKxU,GAAOyU,gBAMV,OALAnD,GACE74D,GAAE,6BAA8B,CAC9Bw7D,QAASx7D,GAAE,sDAGRi4D,EAAU,CACfh7C,MAAOjd,GAAE,mDACT9Q,KAAMq4D,GAAOyU,kBAEjB,QACE,OAAO/D,EAAU,CACfh7C,MAAO,GACP/tB,KAAM,OAKR03C,GAA0BjzB,mBAAQ,WACtC,OAAO/P,GAAkBpP,KAAKu5B,MAC5B,SAAAnE,GAAI,OAAQ,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMlmB,gBAAN,OAAsB62D,SAAtB,IAAsBA,QAAtB,EAAsBA,GAAkB72D,kBAEjD,CAACE,GAAmB22D,KAEjB0B,GAA0BtoD,mBAAQ,WACtC,OACE,kBAAC,GAAD,CACEkU,GAAE,OAAE+e,SAAF,IAAEA,QAAF,EAAEA,GAAyBzjC,aAC7B2kB,GAAE,OAAE8e,SAAF,IAAEA,QAAF,EAAEA,GAAyB1iC,iBAGhC,CAAC0iC,KAEJn8B,qBAAU,WACR+tD,GAAkB,KACjB,CAAC7a,GAAiBrnD,OAAQqD,GAAS6+D,KAEtC,IAqdI0D,GArdE3O,GAAiBxzD,uBAAY,WACjC1H,GACE9C,EAAU,CACRzB,KAAM,QACNM,MAAO4R,GAAE,wBACT3R,SAAU2R,GAAE,2CACZhS,kBAAkB,EAClBC,kBAAkB,EAClBC,SAAU,WACRmE,GACE9C,EAAU,CACRzB,KAAM,kBAMf,CAACuE,GAAU2N,KAER8jC,GAAe,WACnB22B,KACAxC,EAAUX,GACVY,OAAUnqE,GACVqqE,EAAe,IACfE,EAAe,IACfW,QAAsBlrE,GAClBouE,MACF9pE,GAASzC,EAAqB,CAAEG,GAAIgJ,OAIlCqjE,GAAkB,SACtB7nE,EACA8nE,EACA1B,EACAK,GAEIpS,GAAWr0D,EAASzG,QAAUovD,GAChCqQ,KAEAzc,GAAiBurB,EAAS1B,EAAgBK,IAiBxCx+B,GAAY,uCAAG,aAEnB93B,EACAs2D,GAHmB,6CAAA3mE,EAAA,sDACTioE,EADS,EACjBt5D,OAAwBu5D,EADP,EACDt5D,OAIdzT,OAAsDzB,EACtDyuE,OAEYzuE,EACZ0uE,OAA0C1uE,EAExCoqE,EAXa,iBAWSmE,QAXT,IAWSA,OAXT,EAWSA,EAAQp6D,cAXjB,QAW2B,GACxCm2D,EAZa,OAYqBkE,QAZrB,IAYqBA,OAZrB,EAYqBA,EAAQr6D,OAC5Cm6D,EAAU,GAbK,KAeXr5D,EAAO9T,KAfI,cAgBZq4D,GAAOgU,cAhBK,UAwBZhU,GAAOkU,qBAxBK,UAiCZlU,GAAOmU,8BAjCK,UA6CZnU,GAAOqU,oBA7CK,UAyDZrU,GAAOuU,yBAzDK,2BAiBftsE,EAAS6C,GACPiK,GAAkB,CAAEiB,eAAgBsrD,GAAWsP,MAEjDkE,EAAUtjE,GACV0jE,EAAgB,kBAAMpqE,GAAS3C,EAAkB,CAAEK,GAAIssE,MACvDG,EAAen/D,GAtBA,oCAyBfg/D,EAAUtjE,GACV0jE,EAAgB,kBACdpqE,GAAS3C,EAAkB,CAAEK,GAAIgJ,OACnCvJ,EAAS6C,GACP8J,GAA0B,CAAEuB,gBAAiBy6D,KAE/CqE,EAAeh/D,GA/BA,oCAkCf6+D,EAAUtjE,GACV0jE,EAAgB,kBAAMpqE,GAAS3C,EAAkB,CAAEK,GAAIssE,MACvD7sE,EAAS6C,GACPgK,GACEmG,GAAe,CAAEE,MAAOy1D,EAAax1D,MAAK,OAAE01D,QAAF,IAAEA,IAAe,OAG1DwC,KACH2B,EAAex+D,IA1CF,oCA8Cfq+D,EAAUtjE,GACV0jE,EAAgB,kBAAMpqE,GAAS3C,EAAkB,CAAEK,GAAIssE,MACvD7sE,EAAS6C,GACP+J,GACEoG,GAAe,CAAEE,MAAOy1D,EAAax1D,MAAK,OAAE01D,QAAF,IAAEA,IAAe,OAG1DwC,KACH2B,EAAe7+D,IAtDF,oCA0Df0+D,EAAUtjE,IACe,OAAvB6tC,SAAuB,IAAvBA,QAAA,EAAAA,GAAyBljC,cAAe,IAE1C+4D,EAAgB,kBACdpqE,GACE3C,EAAkB,CAChBK,GAAIssE,MAGV7sE,EAAS6C,GACPkP,GAAqC,2BAChCiB,GAAe,CAAEE,MAAOy1D,EAAax1D,MAAK,OAAE01D,QAAF,IAAEA,IAAe,MAD5B,IAElCtoE,IAA2B,OAAvB62C,SAAuB,IAAvBA,QAAA,EAAAA,GAAyBljC,cAAe,OAG3Cm3D,KACH2B,EACEr3D,GAAsBN,uCA3EX,gCAgFdrV,EAhFc,oEAiFIA,EAjFJ,WAiFb+E,EAjFa,QAkFdq0D,GAAWr0D,EAASzG,OAAS2uE,GAAeA,MAlF9B,UAmFdloE,EAA+B5B,aAnFjB,aAmFf,EAAuCqhC,SAnFxB,0CAoFVilC,GACJ1kE,EAA+B5B,MAAOqhC,UArFxB,oBAwFEjmC,IAAjBitE,IACEA,GACF3oE,GACE6T,GAA6B,CAC3Bw2D,wBAAuB,OAAE93D,SAAF,IAAEA,MAAY,GACrC+sD,wBAAuB,UACrBvuD,GACEQ,GAAkBq/B,kCAFC,QAGhB,MAGX5wC,GACE8S,GAAsBf,wBAAwB,CAC5CR,kBAAmBA,GAAkBq/B,0BACrCr+B,SAAQ,OAAEA,SAAF,IAAEA,MAAY,QAItBinD,EADC,iBACUr3D,SADV,IACUA,QADV,EACUA,GAAMiJ,2BADhB,QACuC,GAC5CpL,GACE6T,GAA6B,CAC3Bw2D,wBAAuB,OAAEhE,SAAF,IAAEA,MAAe,GACxC/G,wBAAuB,UACrBvuD,GACEQ,GAAkBq/B,kCAFC,QAGhB,MAGX5wC,GACE8S,GAAsBf,wBAAwB,CAC5CR,kBAAmBA,GAAkBq/B,0BACrCp/B,WAAYy/B,GACZ1+B,SAAQ,OAAEinD,QAAF,IAAEA,IAAY,QAK1B2Q,IAOA/sE,EAJA,CAACkO,GAAoBK,IAA8B5L,SACjDoqE,GAGQ,CACR3+D,gBAAiBqF,GAAgCi1D,GACjDp6D,gBAAiBs6D,GAGnBmE,IACAr3D,GAAsBN,sCAEZ,CACRnB,aAAoC,OAAvBkjC,SAAuB,IAAvBA,QAAA,EAAAA,GAAyBljC,cAAe,GACrDoB,WAAY,CACVjH,gBAAiBqF,GAAgCi1D,GACjDp6D,gBAAiBs6D,IAIX9jE,EAAS9E,QAErB4C,GAASmqE,EAAa/sE,KAGxBuvD,GAAOT,qBAAgBxwD,GACvBquE,GACE7nE,EACA8nE,EACA,CACEr5D,OAAQm1D,EACRl1D,OAAQo1D,GAEV2C,GAEFP,KACAjC,GAAkB9zD,GApKC,kBAqKZu0D,QAAsBlrE,IArKV,4CAAH,0DAwKZ4uE,GAAwBxC,GAAkBxjE,KAAI,SAAAizB,GAAI,kCACnDA,GADmD,IAEtD3M,MACE,kBAAC,GAAD,CACE4C,WAAS,EACTzxB,MAAOw7B,EAAK3M,MACZ9D,QACEyQ,EAAKlzB,aACD0jE,GAAmBxwC,EAAKlzB,cACxBsJ,GACE,4EAOR48D,GAAiB7iE,uBACrB,SAAC3L,GACC,OACEA,IACA4R,GAAE,6BAA8B,CAC9Bw7D,QAASx7D,GAAE,uDAIjB,CAACA,KAGG68D,GAAiB9iE,uBACrB,SAAC3L,EAAeqW,GAAoB,IAAD,IAI7BuvB,EAHE8oC,EAAUF,GAAexuE,GACzBohD,EAAa,UAChBstB,EAAO,OAAGtoE,SAAH,IAAGA,QAAH,EAAGA,GAAMiQ,MAAT,iBAAiBjQ,SAAjB,IAAiBA,QAAjB,EAAiBA,GAAMiJ,2BAAvB,eAA8CjJ,SAA9C,IAA8CA,QAA9C,EAA8CA,GAAMiQ,aAD3C,QACqD,GAQxE,OALEuvB,EADE8oC,EACQ98D,GAAE,sCAEF,GAGLwvC,EACL,oCACE,8BAAOxb,KACN,OAACx/B,SAAD,IAACA,QAAD,EAACA,GAAMiJ,uBAAwBq/D,GAC9B,kBAAC,GAAD,CAAa3jD,QAAQ,uJAGvBprB,IAEN,CAACyG,GAAMooE,GAAgB58D,KAGnB+mC,GAAqB7zB,IAAMS,SAAQ,WACvC,OAAkC,IAA9B2vB,GAAmBhtC,OACdguC,GAAmBiD,KAErBjE,GAAmBhtC,SAAWqnD,GAAiBrnD,OAClDguC,GAAmB/5C,IACnB+5C,GAAmB0C,OACtB,CAAC1D,GAAmBhtC,OAAQqnD,GAAiBrnD,SAE1C86D,GAAqC,CACzCvqB,kBAAmB8W,GAAiBrnD,OAAS,EAC7CywC,mBAAoBA,IAGhBg2B,GAAsBhjE,uBAAY,WASnC,IAAD,OAR8ChM,IAA5C0P,GAAoBA,sBAItB6lC,IACAwC,GAAgBxC,IAAoBrG,MAClC,SAACx4B,GAAD,OAAmBA,KAAK,OAAKjQ,SAAL,IAAKA,QAAL,EAAKA,GAAMiJ,wBAGrCk8D,GAA2B,CACzBnlE,KAAM,CACJkoE,wBAAyBj/D,GAAoBA,oBAC7Ck0D,wBAAyBvuD,GACvBO,GAAwC,UACtCC,GAAkBpP,YADoB,QACZ,GAC1B8uC,QAKLzxC,MAAK,WAAO,IAAD,EACVmtD,GAAOT,qBAAgBxwD,GACvB+iD,GAAiB/3C,GAA4B,CAC3CiK,OAAQvF,GAAoBA,sBAE9BpL,GACE8S,GAAsBf,wBAAwB,CAC5CynD,SAAQ,OAAEr3D,SAAF,IAAEA,QAAF,EAAEA,GAAMiJ,oBAChBmG,kBAAmBA,GAAkBq/B,0BACrCp/B,WAAU,OAAEy/B,SAAF,IAAEA,MAAsB,GAClC1+B,SAAQ,UAAEnH,GAAoBA,2BAAtB,QAA6C,MAGzDwzD,QAEDvjC,OAAM,WACLsxB,GAAOT,qBAAgBxwD,GACvBw/D,KACA0D,QAGJ0I,GAA2B,CACzBnlE,KAAM,CACJkoE,wBAAyBj/D,GAAoBA,oBAC7Ck0D,wBAAyBvuD,GACvBQ,GAAkBq/B,8BAIrBpxC,MAAK,WAAO,IAAD,EACVmtD,GAAOT,qBAAgBxwD,GACvB+iD,GAAiB/3C,GAA4B,CAC3CiK,OAAQvF,GAAoBA,sBAE9BpL,GACE8S,GAAsBf,wBAAwB,CAC5CynD,SAAQ,OAAEr3D,SAAF,IAAEA,QAAF,EAAEA,GAAMiJ,oBAChBmG,kBAAmBA,GAAkBq/B,0BACrCr+B,SAAQ,UAAEnH,GAAoBA,2BAAtB,QAA6C,MAGzDwzD,QAEDvjC,OAAM,WACLsxB,GAAOT,qBAAgBxwD,GACvBw/D,KACA0D,WAGL,CACDxzD,GAAoBA,oBACpBk8D,GACA/1D,GAAkBq/B,0BAClB6N,GACAyc,GACAjqB,GACA0b,GACAiS,GACA5+D,GACAmC,GACAoP,GAAkBpP,OAGd+8D,IAAY,mBACfve,GAAOgqB,4BACN,kBAAC,GAAD,CACE7/D,QAAS3I,GACToP,kBAAmB,CACjBpP,KAAMoP,GAAkBpP,KACxBoyC,wBAAyBA,IAE3BtD,mBAAoBA,GACpBn1C,SAAU8iE,GACV/iE,SAAU,kBACR8wD,GAAOT,gBAAgBvL,GAAOiqB,+BAEhCx/D,oBAAqB0zD,KACrBlrB,uBAAwBxoC,GAAoBwoC,uBAC5ChD,0BAA2Br/B,GAAkBq/B,0BAC7CE,6BACEv/B,GAAkBu/B,6BAEpBD,8BACEsC,GAAgBtC,8BAElBgD,iCACEV,GAAgBU,iCAElB/P,UAAWpyB,GACXyuB,SAAU4+B,GACVhuB,QAAQ,KA3BI,cA8Bf4P,GAAOiqB,6BACN,kBAAC,GAAD,CACE9/D,QAAS3I,GACTiJ,oBAAqB0zD,KACrBluB,0BAA2Br/B,GAAkBq/B,0BAC7C90C,SAAU,kBACR6wD,GAAOT,gBAAgBvL,GAAOgqB,8BAEhC9uE,SAAU6uE,GACV75B,8BACEsC,GAAgBtC,8BAElBC,6BACEv/B,GAAkBu/B,6BAEpBhN,UAAWpyB,GACXyuB,SAAQ,2BAAO4+B,IAAP,IAAyBvtB,8BAA8B,IAC/DT,QAAQ,EACRE,mBAAoBA,MAhDR,cAmDf0P,GAAOkqB,gBACN,kBAAC,GAAD,CACEt5D,kBAAmBA,GAAkBq/B,0BACrC4oB,SAAQ,OAAE6M,SAAF,IAAEA,MAAe,GACzBxqE,SAAU,WACRsuC,GAAa,CAAEx5B,OAAQ4B,IAAY2zD,GAAgB,IAErDpqE,SAAU,WACRquC,GAAa,CAAEx5B,OAAQ4B,IAAY2zD,GAAgB,IAErDpiC,UAAWpyB,MA7DC,GAkEZo4D,GAA+B,WACnC,QAASvtE,GAAuBm/B,MAAK,SAAAqtC,GAAC,OAAIA,EAAErrE,KAAOgJ,OAG/CokE,GAAiC,SAACznE,GAA4B,IAAD,EAS/D,EALF,GAHAijE,GAAc,OAACnkE,SAAD,IAACA,QAAD,EAACA,GAAMiJ,qBACrBm7D,GAAYljE,EAAOsN,QACnBw0D,GAAc,G5Hr6BmB,SACnC/yD,EACAZ,GAEA,OACEA,GACAA,EAAWhU,QAAO,SAAC4T,GACjB,OACEA,IAAS,OACTA,QADS,IACTA,OADS,EACTA,EAAWe,kBACF,OAATf,QAAS,IAATA,OAAA,EAAAA,EAAWe,eAAe,MAAOC,KA0BhC24D,C4Hm4BwB,iBACzB5oE,SADyB,IACzBA,QADyB,EACzBA,GAAMiJ,2BADmB,QACI,GAC7BkgD,I5Hr4BiDrnD,OAAS,E4Hg5B5D,OARAsN,GAAkBu/B,6B1Rn5BoB,SAC1Cv/B,EACAC,EACAY,GAGA,OAAOb,EAAkB/T,QAAO,SAACyT,GAAqC,IAAD,iBAC3CO,GAD2C,IACnE,2BAAoC,CAAC,IAAD,EAAzBJ,EAAyB,QAClC,IACW,OAATA,QAAS,IAATA,OAAA,EAAAA,EAAWC,eAAgBJ,EAAMI,cAAjC,UACAD,EAAUe,sBADV,aACA,EAA0BpS,SAASqS,IAEnC,OAAOnB,GANwD,kC0R84B/D+5D,CACEz5D,GAAkBpP,KAClBmpD,GAFiC,iBAGjCnpD,SAHiC,IAGjCA,QAHiC,EAGjCA,GAAMiJ,2BAH2B,QAGJ,UAGjCuhD,GAAOT,gBAAgBvL,GAAOkqB,iBAGhC1gC,GAAa9mC,EAAQ6iE,IAYvB,OARIvZ,GAAOV,eAAiBtL,GAAOkqB,gBACjChB,GAAa5C,GAA2B70C,kBACP12B,IAAxBixD,GAAOV,aAChB4d,GAAa14B,GAAe/e,cACnBkzC,GAAuBE,KAChCqE,GAAa1C,GAAc/0C,cAI3B,oCACE,kBAAC,GAAD,CACE52B,OACE0pE,GACAE,GACA2B,IACAzB,GACAE,GACAE,QACwBhqE,IAAxBixD,GAAOV,aAETtrC,UAAWkpD,SAEcnuE,IAAxBixD,GAAOV,aACNiT,GAAavS,GAAOV,cAClBmZ,EACF,kBAAC,GAAD,CACEtpE,SAAU,WACRupE,GAA4B,GAC5ByB,QAAwBprE,IAE1B0mC,UAAWykC,GACXhrE,SAAQ,uCAAE,WAAMwH,GAAN,iBAAArB,EAAA,sEACehC,GACrBkK,GAAe,CACb+gE,qBAAsB5nE,EAAOu0D,mBAC7BJ,gBAAiBn0D,EAAOm0D,gBACxBG,YAAat0D,EAAOs0D,eALhB,UACFz1D,EADE,mBAQHA,EAA+B5B,aAR5B,aAQJ,EAAuCqhC,SARnC,yCASCmlC,GACJ5kE,EAA+B5B,MAAOqhC,UAVnC,cAaJ40B,GAAWr0D,EAASzG,MACtBy/D,MAEAl7D,GACE9C,EAAU,CACRzB,KAAM,UACNM,MAAO4R,GAAE,6CAGb3N,GAASkV,OAEXmwD,GAA4B,GAxBpB,kBAyBDyB,QAAwBprE,IAzBvB,2CAAF,wDA4BR4pE,EACF,kBAAC,GAAD,CACExpE,SAAU,kBAAMypE,GAAuB,IACvCxK,UAAS,OAAE54D,SAAF,IAAEA,QAAF,EAAEA,GAAMiQ,MACjB4oD,gBAAe,OAAE74D,SAAF,IAAEA,QAAF,EAAEA,GAAM+7B,YACvB+8B,gBAAe,OAAE94D,SAAF,IAAEA,QAAF,EAAEA,GAAM6pB,YACvBkvC,eAAgBA,KAEhBsK,EACF,kBAAC,GAAD,CACE1pE,SAAU,kBAAM2pE,GAAuB,IACvClK,eAAc,OAAEp5D,SAAF,IAAEA,QAAF,EAAEA,GAAMo5D,eACtBR,UAAS,OAAE54D,SAAF,IAAEA,QAAF,EAAEA,GAAMiQ,MACjB4oD,gBAAe,OAAE74D,SAAF,IAAEA,QAAF,EAAEA,GAAM+7B,YACvB+8B,gBAAe,OAAE94D,SAAF,IAAEA,QAAF,EAAEA,GAAM6pB,YACvBswC,yBAA0BpB,GAC1BqB,sBAAuB,kBAAMoJ,GAA2B,MAExDD,EACF,kBAAC,GAAD,CACE5pE,SAAU,kBAAM6pE,GAA2B,IAC3C3K,gBAAe,OAAE74D,SAAF,IAAEA,QAAF,EAAEA,GAAM+7B,YACvB+8B,gBAAe,OAAE94D,SAAF,IAAEA,QAAF,EAAEA,GAAM6pB,YACvBuxC,aAAY,OAAEp7D,SAAF,IAAEA,QAAF,EAAEA,GAAMo7D,aACpBjB,yBAA0BpB,GAC1BK,eAAc,OAAEp5D,SAAF,IAAEA,QAAF,EAAEA,GAAMo5D,eACtBiC,kBAAmB,kBAAMiI,GAAuB,MAEhDsB,GACF,kBAAC,GAAD,CACEjrE,SAAU21C,GACV51C,SAAU,SAAAwH,GACR8mC,GAAa9mC,EAAQ6iE,IAEvBv1D,OAAQm1D,EACRl1D,OAAM,OAAEo1D,QAAF,IAAEA,IAAe,GACvBhpB,cAAervC,GAAE,UACjB+wB,SAAUwsC,GACVnvE,MAAOA,GACPs8D,uBAAwBA,GACxBD,SAAUqO,KAGZ,kBAAC,GAAD,CACE3qE,SAAU21C,GACV51C,SAAU,SAAAwH,GACRymE,KACIgB,GAA+BznE,GAC/B8mC,GAAa9mC,EAAQ6iE,IAE3BlpB,cAAervC,GAAE,UACjBy0B,UAAWukC,GACXjoC,SAzhBgB,WACxB,OAAQ/tB,EAAO9T,MACb,KAAKq4D,GAAOgU,cACV,OAAOp2B,GACT,KAAKoiB,GAAOyU,gBAEZ,KAAKzU,GAAOkU,qBACV,OAAOv2B,GACT,QACE,OAAOE,IAihBDo4B,GAIFpvE,MAAOA,GACP4U,OAAM,2BACDA,GADC,IAEJuB,MAAO4zD,IAETl1D,OACEA,EAAM,2BAEGA,GAFH,IAGAsB,MAAO8zD,SAETtqE,EAENyhD,cACEotB,GAAexuE,IACXyuE,GAAezuE,GAAO+pE,GACtB0E,GAAezuE,OAK3B,yBAAK4kB,UAAWR,GAAOi1C,gBACrB,kBAAC,GAAD,CACEr5D,MAAO4R,GAAE,qCACTk/B,KAAMgzB,GACNvyB,iBAj/BiB,IAk/BjB7lB,UAAW,EACXngB,QAASA,GACT8lC,cACE,kBAACrL,GAAA,EAAD,CAAMpb,WAAS,EAACnM,QAAS,GACvB,kBAACunB,GAAA,EAAD,CAAMxK,MAAI,EAAC5W,UAAWR,GAAOy1C,uBAC3B,kBAAC,GAAD,CACEr1C,QAAQ,WACRsB,QAAS,kBAAMwjD,GAA4B,IAC3C1kD,UAAWR,GAAOg1C,sBAEjBxnD,GAAE,kDAGN,OAACxL,SAAD,IAACA,QAAD,EAACA,GAAMo7D,cAWN,kBAACx7B,GAAA,EAAD,CAAMxK,MAAI,EAAC5W,UAAWR,GAAOy1C,uBAC3B,kBAAC,GAAD,CACEr1C,QAAQ,WACRsB,QAAS,kBAAM4jD,GAAuB,IACtC9kD,UAAWR,GAAOg1C,sBAEjBxnD,GAAE,4CAhBP,kBAACo0B,GAAA,EAAD,CAAMxK,MAAI,EAAC5W,UAAWR,GAAOy1C,uBAC3B,kBAAC,GAAD,CACEr1C,QAAQ,WACRsB,QAAS,kBAAM0jD,GAAuB,IACtC5kD,UAAWR,GAAOg1C,sBAEjBxnD,GAAE,gDAiBb,kBAACo0B,GAAA,EAAD,CAAMpb,WAAS,EAACykD,KAAK,OAAOzqD,UAAWR,GAAOk1C,iBAC5C,kBAAC,GAAD,CACEzqC,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GAAE,qCACTmZ,QAASnZ,GAAE,4CAGfuE,MAAK,iBAAE/P,SAAF,IAAEA,QAAF,EAAEA,GAAMiQ,aAAR,QAAiBzE,GAAE,4BACxByoD,WAAS,EACTzmB,GAAI,GACJ+L,GAAI,EACJuD,GAAI,IAEN,kBAAC,GAAD,CACEr0B,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GAAE,qCACTmZ,QAASnZ,GAAE,4CAGfuE,OACM,OAAJ/P,SAAI,IAAJA,QAAA,EAAAA,GAAM+7B,eACG,OAAJ/7B,SAAI,IAAJA,QAAA,EAAAA,GAAM6pB,aAAc7pB,GAAK6pB,YAAc,IAAM,IAC9C7pB,GAAK+7B,YACLvwB,GAAE,4BAER0oD,YAAa,kBAAMsP,GAA2B,IAC9Ch2B,GAAI,GACJ+L,GAAI,EACJuD,GAAI,KAED,OAAJ98C,SAAI,IAAJA,QAAA,EAAAA,GAAMo7D,cACL,kBAACx7B,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAAC,GAAD,CAASiE,MAAO,GAAI+kB,GAAI,GAAIz9B,MAAO,kBAAC,GAAD,SAGrC,wCAKR,yBAAKyO,UAAWR,GAAOi1C,gBACrB,kBAAC,GAAD,CACEr5D,MAAO4R,GAAE,mCACTk/B,KAAMw+B,GACN/9B,iBApkCe,IAqkCf7lB,UAAW,EACXngB,QAASA,IAET,kBAACy6B,GAAA,EAAD,CAAMpb,WAAS,EAACkrB,UAAU,SAASlxB,UAAWR,GAAOk1C,iBACnD,kBAACtzB,GAAA,EAAD,CAAMqpC,KAAK,OAAOzkD,WAAS,GACzB,kBAAC,GAAD,CACEiE,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GAAE,0CACTmZ,QAASnZ,GAAE,iDAGfgiC,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,OAAW,OAAJ/P,SAAI,IAAJA,QAAA,EAAAA,GAAMqD,gBAAiBrD,GAAKqD,oBAAiB9J,IAEtD,kBAAC,GAAD,CACEkvB,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GACU,gBAAX,OAAJxL,SAAI,IAAJA,QAAA,EAAAA,GAAM1G,MACF,8CACA,0CAENqrB,QAASnZ,GACQ,gBAAX,OAAJxL,SAAI,IAAJA,QAAA,EAAAA,GAAM1G,MACF,mDACA,iDAIVk0C,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,MAAK,OAAE/P,SAAF,IAAEA,QAAF,EAAEA,GAAMtF,QAGjB,kBAACklC,GAAA,EAAD,CAAMpb,WAAS,EAACykD,KAAK,OAAOzqD,UAAWR,GAAOk1C,iBAC5C,kBAAC,GAAD,CACEzqC,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GAAE,2CACTmZ,QAASnZ,GAAE,kDAGfyoD,WAAS,EACTzmB,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,MAAK,iBACH/P,SADG,IACHA,QADG,EACHA,GAAMiJ,2BADH,QAC0BuC,GAAE,4BAEjC0oD,YAAa,WACXyS,GAASpiE,IACT1G,GAAS3C,EAAkB,CAAEK,GAAIgJ,MACjCsiE,GAAW,CACTnsE,KAAMq4D,GAAOkU,qBACbnlC,aAAY,OAAE9hC,SAAF,IAAEA,QAAF,EAAEA,GAAMiJ,yBAI1B,kBAAC,GAAD,CACEwf,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GAAE,2CACTmZ,QAASnZ,GAAE,kDAGfgiC,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,OACM,OAAJ/P,SAAI,IAAJA,QAAA,EAAAA,GAAM8I,qBAAsB0C,GAAE,4BAEhC0oD,YAAa,WACX2S,GAAW,CACTnsE,KAAMq4D,GAAOgU,cACbjlC,aAAcuyB,IAAe,OAAJr0D,SAAI,IAAJA,QAAA,EAAAA,GAAM8I,qBAAsB,MAEvD69D,GAASpiE,QAIf,kBAACq7B,GAAA,EAAD,CAAMpb,WAAS,EAACykD,KAAK,OAAOzqD,UAAWR,GAAOk1C,iBAC5C,kBAAC,GAAD,CACEzqC,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GAAE,0CACTmZ,QAASnZ,GACQ,gBAAX,OAAJxL,SAAI,IAAJA,QAAA,EAAAA,GAAM1G,MACF,mDACA,sDAIVk0C,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,MACE,0BAAMyO,UAAWR,GAAOw1C,gBACtB,kBAAC,GAAD,CACEngC,GAAE,OAAErzB,SAAF,IAAEA,QAAF,EAAEA,GAAMoJ,iBACVkqB,GAAE,OAAEtzB,SAAF,IAAEA,QAAF,EAAEA,GAAMsJ,oBAIhB4qD,YAAa,WACX2S,GAAW,CACTnsE,KAAMq4D,GAAOqU,oBACbtlC,aAAY,OAAE9hC,SAAF,IAAEA,QAAF,EAAEA,GAAMoJ,mBAEtBy9D,GAAW,CACTnsE,KAAMq4D,GAAOsU,oBACbvlC,aAAY,OAAE9hC,SAAF,IAAEA,QAAF,EAAEA,GAAMsJ,iBACpBw9D,UAAU,IAEZH,GAASpiE,OAGb,kBAAC,GAAD,CACEkkB,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GACL,oDAEFmZ,QAASnZ,GACP,2DAINgiC,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,MACE,0BAAMyO,UAAWR,GAAOw1C,gBACtB,kBAAC,GAAD,CACEngC,GAAE,OAAErzB,SAAF,IAAEA,QAAF,EAAEA,GAAMyJ,2BACV6pB,GAAE,OAAEtzB,SAAF,IAAEA,QAAF,EAAEA,GAAM0J,8BAIhBwqD,YAAa,WACX2S,GAAW,CACTnsE,KAAMq4D,GAAOmU,8BACbplC,aAAY,OAAE9hC,SAAF,IAAEA,QAAF,EAAEA,GAAMyJ,6BAEtBo9D,GAAW,CACTnsE,KAAMq4D,GAAOoU,8BACbrlC,aAAY,OAAE9hC,SAAF,IAAEA,QAAF,EAAEA,GAAM0J,2BACpBo9D,UAAU,IAEZH,GAASpiE,WAOrB,yBAAKia,UAAWR,GAAOi1C,gBACrB,kBAAC,GAAD,CACEr5D,MAAO4R,GAAE,mCACTk/B,KAAM+yB,GACNtyB,iBAvuCiB,IAwuCjB7lB,UAAW,EACX4lB,YAAaltB,GAAO0G,OACpBvf,QAASA,GACT8lC,cACE77B,KACC8lB,aAAQ9lB,KACP,kBAACwwB,GAAA,EAAD,CACEpb,WAAS,EACTrM,WAAW,SACXqG,UAAWR,GAAOq1C,gBAEjBlK,GAAiBrnD,OAAS,GACzB,kBAAC,GAAD,CACE27B,SAAUumC,GACV5lE,MAAO+qD,GAAiBrnD,OACxBoO,MAAO6zD,EACPvlD,UAAWR,GAAO4V,UAGtB,kBAACiM,GAAA,EAAD,CAAYrhB,UAAWR,GAAOs1C,YAC5B,wCAAU9nD,GACR,8CADF,MAGA,+BAC0B,OAAvB4mC,SAAuB,IAAvBA,QAAA,EAAAA,GAAyB13C,QAAzB,OACC03C,SADD,IACCA,QADD,EACCA,GAAyB3sC,SACzB+F,GAAE,gCAOb4D,KAAsB8lB,aAAQ9lB,IAC7B,kBAACwwB,GAAA,EAAD,CACEpb,WAAS,EACTkrB,UAAU,SACVlxB,UAAWR,GAAOk1C,iBAElB,kBAACtzB,GAAA,EAAD,CAAMpb,WAAS,GACb,kBAAC,GAAD,CACEiE,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GACL,sDAEFmZ,QAASnZ,GACP,6DAINgiC,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,MACE,0BAAMyO,UAAWR,GAAOw1C,gBACrBiU,MAINzB,GACC,kBAAC,GAAD,CACEv9C,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GAAE,6CACTmZ,QAASnZ,GACP,oDAINgiC,GAAI,GACJ+L,GAAI,EACJuD,GAAI,EACJ/sC,MACE,0BAAMyO,UAAWR,GAAOw1C,gBACtB,kBAAC,GAAD,CACEngC,GAAE,OAAE0yC,SAAF,IAAEA,QAAF,EAAEA,GAAkBt8D,2BACtB6pB,GAAE,OAAEyyC,SAAF,IAAEA,QAAF,EAAEA,GAAkBr8D,8BAI5BwqD,YAAa,WACX2S,GAAW,CACTnsE,KAAMq4D,GAAOuU,yBACbxlC,aAAY,OACVikC,SADU,IACVA,QADU,EACVA,GAAkBt8D,6BAEtBo9D,GAAW,CACTnsE,KAAMq4D,GAAOwU,yBACbzlC,aAAY,OACVikC,SADU,IACVA,QADU,EACVA,GAAkBr8D,2BACpBo9D,UAAU,IAEZH,GACEpiE,IACkB,OAAhBwhE,SAAgB,IAAhBA,QAAA,EAAAA,GAAkB72D,cAAe,QAMzC,kBAAC,GAAD,CACEwM,MAAO,CAAEtD,aAAc,GACvBqQ,MACE,kBAAC,GAAD,CACE7uB,MAAO4R,GACL,mDAEFmZ,QAASnZ,GACP,0DAINyoD,WAAS,EACTzmB,GAAI,GACJgM,GAAI,EACJsD,GAAI,EACJ/sC,MAAK,iBACHg2D,SADG,IACHA,QADG,EACHA,GAAkB/1D,eAAe,UAD9B,QAEHxE,GAAE,4BAEJ0oD,YACE6R,IACAA,GAAiBv1D,cAAgBrb,KAAYE,MACzC,WACEm1D,GAAOT,gBACLvL,GAAOgqB,mCAGXjvE,MAOd,yBAAKilB,UAAWR,GAAOysC,gBAAvB,4BAIN,yBAAKjsC,UAAWR,GAAOi1C,gBACrB,yBAAKz0C,UAAWR,GAAOm1C,6BACrB,kBAAC,GAAD,CACEv5D,MAAO4R,GAAE,yCACTk/B,KAAMy+B,GACNh+B,iBAx3CqB,IAy3CrB7lB,UAAW,EACXngB,QAASA,IAET,kBAAC,GAAD,CAAYnF,KAAMslE,GAAsB5qE,KAAK,oBAGjD,yBAAK8jB,UAAWR,GAAOo1C,4BACrB,kBAAC,GAAD,CACEx5D,MAAO4R,GAAE,sDACTk/B,KAAM0+B,GACNj+B,iBAn4CqB,IAo4CrBD,YAAaltB,GAAO0G,OACpBY,UAAW,EACXngB,QAASA,IAET,kBAAC,GAAD,CAAYnF,KAAMmoE,GAAuBztE,KAAK,iBAIpD,yBAAK8jB,UAAWR,GAAOi1C,gBACrB,kBAAC,GAAD,CACEr5D,MAAO4R,GAAE,+BACTk/B,KAAM2+B,GACNl+B,iBA/4CmB,IAg5CnB7lB,UAAW,GAEX,kBAACsa,GAAA,EAAD,CAAMphB,UAAWR,GAAOu1C,YAAa/uC,WAAS,GAC3C4pB,GAAgBjsC,KAAI,SAACmK,EAAK4D,GAAN,OACnBqiB,GAAQ,aAAD,OACQjmB,EAAIhT,KADZ,SAEL,SAACoO,EAAGirB,GAAJ,OACE,kBAAC,GAAD,CACE92B,IAAG,mBAAcgV,SAAd,YAA0BX,GAC7BtW,OAAU,OAAH0S,QAAG,IAAHA,OAAA,EAAAA,EAAK1S,QAAS,GACrB8lB,QAAS,kBAAMiT,UAGhB,OAAHrmB,QAAG,IAAHA,OAAA,EAAAA,EAAK1S,QAAS,sBIn7C1B,EACA,aACA0vE,KAISC,GAAQ,aACnBC,kBAAmB7N,GAAY,2BAA4B7I,IAC3D2W,SAAU9N,GAAY,gBzKAc,WACpC,IAAMxlD,EAASH,eAAcG,OACvB6H,EAAS1G,KACPoyD,EAA+B1iD,GAA/B0iD,YAAaC,EAAkB3iD,GAAlB2iD,KAAMC,EAAY5iD,GAAZ4iD,QAHe,EAIV1kE,mBAA4B,IAJlB,mBAInC0yB,EAJmC,KAIzB8O,EAJyB,OAKIxhC,qBALJ,mBAKnC2yB,EALmC,KAKlBgyC,EALkB,OAQA3kE,mBAASwkE,GART,mBAQnCI,EARmC,KAQpBC,EARoB,KAWpC3mE,EADQ,IAAIkoD,gBAAgBn1C,GACd8a,IAAI,eAAY13B,EAEhC6J,GAAS0mE,IAAkBJ,GAC7BK,EAAiBJ,GA+BnB,OACE,kBAAC,GAAD,KACE,yBAAKnrD,UAAWR,EAAO6U,SACrB,yBAAKrU,UAAWR,EAAOirB,mBA/BJ,WACvB,OAAQ6gC,GACN,KAAKJ,EACH,OAAO,kBAAC,GAAD,CAAahvC,SAAU,kBAAMqvC,EAAiBJ,MACvD,KAAKA,EACH,OACE,kBAAC,GAAD,CACE/xC,SAAUA,EACV8O,YAAaA,EACbC,mBAAoBkjC,EACpBnvC,SAAU,kBAAMqvC,EAAiBH,IACjCxmE,MAAOA,IAGb,KAAKwmE,EACH,GAAI/xC,EACF,OACE,kBAAC,GAAD,CACED,SAAUA,EACVC,gBAAiBA,EACjBC,SAAU,kBAAMiyC,EAAiBJ,IACjCvmE,MAAOA,KAU8B4mE,KAE7C,yBAAKxrD,UAAWR,EAAO6U,SACrB,yBAAK1N,IAAK8kD,KAAgB5kD,IAAI,sByKlDpC6kD,kBAAmBvO,GAAY,wBlNkEc,WAC7C,IAAM39C,EAAS1G,KACTnB,EAASH,eAAcG,OAFsB,EAGTjR,mBAAmB,IAHV,mBAG5CilE,EAH4C,KAG7BC,EAH6B,OAIrBllE,mBAAS,CAAEg2B,MAAO,GAAIC,KAAM,KAJP,mBAI5CC,EAJ4C,KAInCC,EAJmC,KAM3C7vB,EAAM+V,eAAN/V,EAN2C,EAQhBxG,GAAkB,CACnDpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,MACRC,IAAK,4BALFg7B,EAR4C,oBAgB7CC,EAAoBr2B,sBAAW,sBAAC,oCAAA1F,EAAA,sEAClB87B,IADkB,OAC9BE,EAD8B,qBAEXA,EAAI77B,KAFO,GAE7B87B,EAF6B,KAGpCT,EAAW,CACTH,MAAK,UAAEY,EAAeC,mBAAjB,QAAgC,GACrCZ,KAAI,UAAEW,EAAe7rB,aAAjB,QAA0B,KALI,2CAOnC,CAAC0rB,IAvB+C,EAyBZ32B,GAAO,CAC5CpE,oBAAoB,EACpBC,cAAc,EACdJ,OAAQ,CACNC,OAAQ,MACRC,IAAK,2BA9B0C,mBAyB5C0pE,EAzB4C,KAyBvBllE,EAzBuB,KAkC7CmlE,EAAe/kE,sBAAW,uCAC9B,WAAOvF,GAAP,eAAAH,EAAA,+EAEUwqE,EAAoB,CAAErqE,KAAMA,IAFtC,sDAII47B,IACK,KAAIp6B,QAAyB,MAAf,KAAIA,QAGf4uB,EAAS,KAAIrwB,SACfmB,aAAO,KAAInB,UACX,CAACoqB,GAASiP,2BACdgxC,EAAiBG,aAAOn6C,KALxBg6C,EAAiB,CAAC,KAAIrqE,SAASy/B,UANrC,wDAD8B,sDAgB9B,CAAC6qC,EAAqBzuC,IAaxB,OAVA3lB,qBAAU,WACR,IAAMu0D,EAAQ,IAAIlf,gBAAgBn1C,GAC5BnW,EAAO,CACXyqE,OAAQD,EAAMv5C,IAAI,WAAa,GAC/By5C,SAAUF,EAAMv5C,IAAI,aAAe,GACnC7tB,MAAOonE,EAAMv5C,IAAI,UAAY,IAE/Bq5C,EAAatqE,KACZ,CAACsqE,EAAcn0D,IAGhB,kBAAC,GAAD,KACE,kBAACo1B,GAAA,EAAD,eAAMvnB,IAAK7e,GAAeA,EAA6B,GAAnB,CAAEwd,QAAS,MAC7C,yBAAKnE,UAAWR,EAAOwG,WACrB,yBAAKhG,UAAWR,EAAOkC,MACrB,kBAAC,GAAD,OAEDgV,aAAQi1C,GACP,oCACE,4BAAK3+D,EAAE,kCACP,4BAAKA,EAAE,sCAGT,oCACE,4BAAKA,EAAE,gDACP,yBAAKgT,UAAWR,EAAOoS,QACpB+5C,EAAchoE,KAAI,SAACg3B,EAAKtf,GACvB,OAAO,wBAAIhe,IAAKge,GAAIsf,OAGxB,wBAAIzd,MAAO,CAAEtD,aAAc,KACxB5M,EAAE,gDADL,IACuD,IACrD,8BAAO4vB,EAAQF,QAEjB,4BACG1vB,EAAE,wCADL,IAC+C,IAC7C,8BAAO4vB,EAAQD,QAIrB,kBAAC,IAAD,CAAM7pB,GAAG,IAAIkN,UAAWR,EAAOqS,YAC7B,kBAAC,GAAD,CAAc1Y,MAAM,UAAUyG,QAAQ,aACnC8W,aAAQi1C,GACL3+D,EAAE,iCACFA,EAAE,iDkNlKlBgqD,YAAamG,GAAY,eOjDU,WAAO,IAAD,EACnC39C,EAAS1G,KAEP2R,EAA2CzB,GAA3CyB,SAAUqB,EAAiC9C,GAAjC8C,mBAAoBC,EAAa/C,GAAb+C,SAC9B7F,EAA8B2F,GAA9B3F,OAAQ4D,EAAsB+B,GAAtB/B,UAAWO,EAAWwB,GAAXxB,OAErB2hD,EAAQ,IAAIlf,gBAAgBt1C,eAAcG,QACxC4hB,EAAoBC,eAApBD,gBAPiC,cASMlP,EATN,GASlCK,EATkC,KASxByhD,EATwB,KASLnR,EATK,OAWDx0D,GAAO,CAC7CvE,OAAQ,CACNC,OAAQ,MACRC,IAAK,iCACLmD,OAAQ,CACNmM,MAAOu6D,EAAMv5C,IAAI,SACjB25C,KAAMJ,EAAMv5C,IAAI,UAGpBpwB,cAAc,EACdD,oBAAoB,EACpB6C,YAAY,IAtB2B,mBAWlConE,EAXkC,KAWjBC,EAXiB,OAyBT9lE,GAAO,CACrCvE,OAAQ,CACNC,OAAQ,MACRC,IAAK,yBACLX,KAAM,CACJiQ,MAAOu6D,EAAMv5C,IAAI,SACjB25C,KAAMJ,EAAMv5C,IAAI,UAGpBpwB,cAAc,EACdD,oBAAoB,EACpB6C,YAAY,IApC2B,mBAyBlCsnE,EAzBkC,KAyBpB5lE,EAzBoB,OAuCTD,oBAAS,GAvCA,mBAuClC8lE,EAvCkC,KAuCxBC,EAvCwB,KAyCnCzqD,EAASjb,uBACb,SAACrE,EAAYkvB,GACP8E,aAAQ9E,IACV26C,EAAa,CACX/qE,KAAK,eACAkB,KAGJ7D,MAAK,WACJ4tE,GAAY,MAEb/xC,OAAM,SAAAC,GACLpB,EAAgB1wB,GAAc8xB,GAAM,CAAE/a,QAAS,eAIvD,CAAC2sD,EAAchzC,IAGXmzC,EAAsB,CAC1BxwE,KAAM8sB,GAAW+C,SACjB3wB,MAAO,wBACPmvB,YAAa,wBACbL,SAAU,iBAAM,2BAGZyiD,EAAW,UAAGX,EAAMv5C,IAAI,qBAAb,aAAG,EAAyB4M,cAAcjgC,SAAS,SAEpEqY,qBAAU,WAEL2jD,aAAM4Q,EAAMv5C,IAAI,WAChB2oC,aAAM4Q,EAAMv5C,IAAI,UAChBk6C,GAEDN,IACGxtE,MAAK,eACL67B,OAAM,SAAAC,GACLpB,EAAgB1wB,GAAc8xB,GAAM,CAAE/a,QAAS,eAIpD,CAACysD,IAkIJ,OACE,kBAAC,GAAD,KACE,yBAAKrsD,UAAWR,EAAOgR,sBACpBg8C,EArBL,oCACE,yBAAKxsD,UAAWR,EAAOkC,MACrB,kBAAC,KAAD,OAEF,yEACA,kBAAC,IAAD,CAAS5O,GAAIi4D,GAASvN,KAAKrlD,KAAM+E,MAAO,CAAEtC,eAAgB,SACxD,kBAAC,GAAD,CACE9f,KAAK,SACLklB,UAAWR,EAAO2B,OAClBvB,QAAQ,YACRzG,MAAM,WAJR,+BApHO,wBACX,oCACE,4BAAK+M,GACL,4BAAK4D,GACL,kBAAC,KAAD,CACEie,eAAa,mBACVtd,EAAW,IADD,cAEVqB,EAAqB,IAFX,cAGVC,EAAW,IAHD,GAKb7wB,SAAU,eAET,gBAAGwH,EAAH,EAAGA,OAAQ27B,EAAX,EAAWA,cAAeiM,EAA1B,EAA0BA,WAAYb,EAAtC,EAAsCA,aAAtC,OACC,kBAAC,KAAD,CAAMzpB,UAAWR,EAAOoR,eACtB,kBAAC,KAAD,CACE10B,KAAMwuB,EAASxuB,KACf6hC,SAAU,SAACxsB,GACT,OAAImZ,EAASF,YAAcE,EAASF,WAAWjZ,GACtCmZ,EAASR,WAEX,MAGR,YAAsD,IAAnDptB,EAAkD,EAAlDA,MAAkD,IAA3CkhC,KAAQr+B,EAAmC,EAAnCA,MAAOs+B,EAA4B,EAA5BA,QAClB/O,EAAYzB,QAAQ9tB,GAASs+B,GACnC,OACE,kBAAC,GAAD,CACEnhC,MAAOA,EACPoyB,UAAWA,EACXD,UAAWvE,OAKnB,kBAAC,KAAD,CACExuB,KAAMiwE,EAAkBjwE,KACxB6hC,SAAU,SAACxsB,GACT,IAAMq7D,EAAwBvuC,EAAc5T,GAAUlZ,MACtD,OACGA,GACDA,IAAUq7D,GACTliD,EAASF,YAAcE,EAASF,WAAWoiD,GAErCT,EAAkBjiD,WAEpB,MAGR,YAAsD,IAAnDptB,EAAkD,EAAlDA,MAAkD,IAA3CkhC,KAAQr+B,EAAmC,EAAnCA,MAAOs+B,EAA4B,EAA5BA,QAClB/O,EAAYzB,QAAQ9tB,GAASs+B,GACnC,OACE,kBAAC,GAAD,CACEnhC,MAAOA,EACPoyB,UAAWA,EACXD,UAAWk9C,EACX38C,kBAAkB,QAKxBm9C,GACA,kBAAC,KAAD,CACEzwE,KAAM8+D,EAAQ9+D,KACd6hC,SAAU,SAACxsB,GACT,MAAK,SAAS9J,KAAK8J,GAGZ,GAFEypD,EAAQ9wC,cAKlB,YAIkB,IAHjBptB,EAGgB,EAHhBA,MAGgB,IAFhBkhC,KAAQr+B,EAEQ,EAFRA,MAAOs+B,EAEC,EAFDA,QACPC,EACQ,EADhB3M,KAAQ2M,YAEFhP,EACJzB,QAAQ9tB,KAAWs+B,GAAWC,EAAc,GAC9C,OACE,kBAAC,GAAD,CACEphC,MAAOA,EACPoyB,UAAWA,EACXD,UAAWy9C,EACXv9C,WAAYxvB,OAMtB,kBAAC,GAAD,CACE7E,KAAK,SACLklB,UAAWR,EAAO2B,OAClBvB,QAAQ,YACRzG,MAAM,UACNuK,SAAU4oD,EACV3lE,QAASA,EACTua,QAAO,sBAAE,4BAAA7f,EAAA,sEACDipC,IADC,uBAEcb,IAFd,OAED7X,EAFC,OAGP5P,EAAOtf,EAAQkvB,GAHR,4CAPX,eA2CuBL,SPrK9BgsC,I,yEQpECzkD,GAAYC,cAAW,SAACC,GAAD,YAAmB,CAC9C6zD,KAAM,CACJ3zD,MAAO,OACPO,QAAS,OACTE,WAAY,SACZR,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1B5E,KAAMhB,EAAMiB,QAAQ3e,KAAKsjB,UACzBrE,WAAY,IACZK,eAAgB,OAChBP,SAAU,GACV+E,SAAU,WACV7F,OAAQ,EACRV,QAASG,EAAMa,QAAQ,EAAG,GAC1BkF,SAAU,SACV4V,WAAY,SACZ,UAAW,CACTxb,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7B,QAAS,CACPH,KAAMhB,EAAMiB,QAAQC,QAAQC,MAE9B,YAAa,CACX0L,UAAW,mBACXpI,QAAS,IAGb,YAAa,CACX0I,QAAS,KACT1M,QAAS,QACT2F,SAAU,WACVzG,IAAK,EACLkN,UAAW,oBACXpI,QAAS,EACTvE,MAAO,EACPgF,OAAQ,OACRK,WAAYvF,EAAMiB,QAAQC,QAAQC,KAClC6D,UAAU,sBAAD,OAAwBhF,EAAMiB,QAAQC,QAAQ4yD,OACvDpyD,WAAY,iCAGhBqyD,WAAY,CACV5zD,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7B0F,cAAe,OACf,YAAa,CACXgG,UAAW,mBACXpI,QAAS,IAGbuvD,WAAY,CACV,aAAc,CACZhzD,KAAMhB,EAAMiB,QAAQC,QAAQC,OAGhCuH,KAAM,CACJxD,OAAQ,GACRhF,MAAO,OACPL,QAASG,EAAMa,QAAQ,EAAG,KAC1B,SAAU,CACRG,KAAMhB,EAAMiB,QAAQ3e,KAAKsjB,YAG7BquD,OAAK,GACH/zD,MAAO,IACPgF,OAAQ,QACRF,UACE,wEACFO,WAAYvF,EAAMiB,QAAQoE,OAAOC,OAL9B,cAMFtF,EAAMK,YAAYC,KAAK,MAAQ,CAC9B8F,SAAU,WACViC,OAAQ,GACRnI,MAAO,MATN,cAWFF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,SAZN,GAeLg0D,iBAAkB,CAChBxyD,WAAY,4BAEdyyD,OAAQ,CACNj0D,MAAO,EACPuE,QAAS,EACTsB,SAAU,UAEZ60C,cAAe,CACbn6C,QAAS,OACTZ,QAASG,EAAMa,QAAQ,GAAI,IAAK,MAElC2hB,KAAM,CACJtiB,MAAO,OACPgC,UAAW,aACX9B,SAAU,IACVkB,OAAQ,WAEV8yD,QAAS,CACPhuD,SAAU,QACVzG,IAAK,EACLzC,KAAM,EACNC,MAAO,EACPyC,OAAQ,EACRyI,OAAQ,EACR9C,W1QvGsB,0B0QyGxBoG,UAAW,CACT5K,YAAaf,EAAMa,QAAQ,KAC3BqE,OAAQ,GACR7D,SAAU,GACVC,OAAQ,eAIN+yD,GAA8C,SAAC,GAAoB,IAAlBC,EAAiB,EAAjBA,WAC/C9tD,EAAS1G,KADuD,EAEpCpS,oBAAS,GAF2B,mBAE/D6mE,EAF+D,KAEpDC,EAFoD,KAItE,OACE,oCACGC,aAAgBlQ,IAAY55D,KAC3B,YAA8C,IAA3CwU,EAA0C,EAA1CA,KAAMklD,EAAoC,EAApCA,eAAgBC,EAAoB,EAApBA,cACvB,OACE,kBAAC,IAAD,CACEp8C,QAASosD,EACTx6D,GAAIqF,EACJ6H,UAAWR,EAAOqtD,KAClBa,gBAAe,UAAMH,EAAgC,GAApB/tD,EAAOutD,WAAzB,YACbvtD,EAAOwtD,YAET3vE,IAAK8a,EACLkV,aAAc,kBAAMmgD,GAAa,IACjCjgD,aAAc,kBAAMigD,GAAa,KAEhClQ,GAAiB,kBAACA,EAAD,CAAet9C,UAAWR,EAAOkC,OAClD27C,QASFsQ,GAGR,SAAC,GAAuB,IAArB9yE,EAAoB,EAApBA,OAAQioB,EAAY,EAAZA,MACRtD,EAAS1G,KACTE,EAAQiM,eACR2oD,EAAS7gD,aAAc/T,EAAMK,YAAYC,KAAK,OAC9C8zC,EAAUC,eAJU,EAMM3mD,oBAAS,GANf,mBAMnBmnE,EANmB,KAMTC,EANS,KAQ1Br2D,qBAAU,WACR,IAAM6M,EAAQ/W,YAAW,WACvBugE,GAAY,KACX,GAEH,OAAO,WACLvpD,aAAaD,MAEd,IAEH,IAAMypD,EACJ,yBACE/tD,UAAS,UAAKR,EAAOytD,MAAZ,YAAqBW,IAAW/yE,GAAU2kB,EAAO2tD,OAAjD,YACPU,GAAYruD,EAAO0tD,mBAGrB,yBAAKltD,UAAWR,EAAOo0C,eACpBga,GAAU,kBAAC,KAAD,CAAW5tD,UAAWR,EAAOmF,UAAWzD,QAAS4B,IAC5D,yBACE6D,IAAK6U,KACL3U,IAAI,OACJ7G,UAAWR,EAAOgc,KAClBta,QAAS,WACPksC,EAAQp2C,KAAKumD,GAAWC,KAAKrlD,MAC7B2K,QAIL,kBAAC,GAAD,CAAOwqD,WAAYxqD,KAIxB,OACE,oCACGirD,EACD,kBAAChhC,GAAA,EAAD,CAAMvnB,GAAIooD,KAAY/yE,GACpB,yBAAKmlB,UAAWR,EAAO4tD,QAASlsD,QAAS4B,O,UClL3ChK,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXyyC,cAAc,eACX34C,EAAMK,YAAYC,KAAK,MAAQ,CAC9BT,QAAS,SAMJm1D,GAAwC,WACnD,IAAMxuD,EAAS1G,KACPygB,EAAoBC,eAApBD,gBAEF00C,EAAmBl4D,GAAenT,IAClCsrE,EAAmBn4D,GAAe9S,IAClCkrE,EAAyBp4D,GAC7BxS,IAPuD,EAU7BiD,GAAO,CACjCnE,cAAc,EACdJ,OAAQ,CACNC,OAAQ,SAHL8vD,EAVkD,oBAiBnD3yD,EAAWwW,KACX03C,EAASlB,KAET+hB,EAAiC,SACrCH,EACAvrE,GAEA,OAAKurE,GAGIA,EAAiB7b,OACtB,SAAAtvD,GAAO,YAAgB/H,IAAZ+H,IAAgD,IAAvBJ,EAAOI,EAAQ/F,QAkCzD,OACE,kBAAC,KAAD,CAAQgrC,cAAe,GAAI7sC,SAAU,eAClC,gBACC+2D,EADD,EACCA,QACA3nB,EAFD,EAECA,WACApM,EAHD,EAGCA,YACAg0B,EAJD,EAICA,cACAC,EALD,EAKCA,aACAzvD,EAND,EAMCA,OAND,OAQC,kBAAC,KAAD,KACE,kBAACoe,GAAA,EAAD,CACEoC,mBAAiB,aACjBoJ,OAAO,QACPlT,SAAS,KACTiK,WAAS,EACTtC,KAAMotD,GAEN,kBAAC3qD,GAAA,EAAD,CAAe+I,QAAS,CAAE1O,KAAM2B,EAAOmyC,gBACrC,6BACGsc,EAAiB3qE,OAAS,GACzB,oCACE,8CACA,kBAAC,GAAD,CAAUT,SAAUorE,KAGvBC,EAAiB5qE,OAAS,GACzB,oCACE,gDACA,kBAAC,GAAD,CAAUT,SAAUqrE,OAK5B,kBAAC1hD,GAAA,EAAD,KACE,kBAAC,GAAD,CACEtP,MAAO,CAAEnD,YAAa,GACtB6F,QAAQ,OACRsB,QAAS,WACPqsC,MAJJ,oBASA,kBAAC,GAAD,CACEp0C,MAAM,UACNyG,QAAQ,YACR8D,SACGwa,EAAc,IAAM+zB,IACpBmc,EAA+BH,EAAkBvrE,GAEpD5H,KAAK,SACLomB,QAAS,WACFixC,GACH7nB,IAAazrC,MAAK,YAnFnB,SACf6D,EACAwvD,GAEAA,GAAc,GACdxzD,QAAQk/B,IACNswC,EAAiB58D,OAAO28D,GAAkBtqE,KAAI,SAAAb,GAC5C,OAAOkvD,EAAkB,CACvB7vD,IAAK,6BAAuBW,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAS/F,IACrCyE,KAAM,CACJ0C,YAAmB,OAAPpB,QAAO,IAAPA,OAAA,EAAAA,EAAS/F,KAAM2F,EAAOI,EAAQ/F,WAK/C8B,MAAK,WACJQ,EAAS2E,SAEV02B,OAAM,WACLnB,EACE,2JACA,CAAE3Z,QAAS,aAGd/Z,SAAQ,WACPqsD,GAAc,MA2DAh3D,CAASwH,EAAQwvD,OAIvBvrD,QAASwrD,GAfX,iBC5Id,SAAS,KAA2Q,OAA9P,GAAWtuD,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,sGAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,kBACJ,YAAa,mBACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,eACXjD,EAAG,KACHC,EAAG,KACH9D,MAAO,MACPgF,OAAQ,MACR4H,GAAI,KACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,eACX3D,EAAG,+WACY,IAAMD,cAAc,SAAU,CAC7C4D,UAAW,eACX1D,GAAI,MACJC,GAAI,KACJC,EAAG,OACY,IAAMJ,cAAc,OAAQ,CAC3C4D,UAAW,eACX3D,EAAG,yHAGD,GAAS,SAAgBO,GAC3B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAQ,GAAS,CACvDS,OAAQQ,GACPP,OClCU/D,IDoCA,ICpCAA,cAAW,SAACC,GAAD,OACxBkG,aAAa,CACXiC,OAAO,aACL1H,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZT,MAhBc,GAiBdgF,OAjBc,GAkBdO,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCP,aAAc,GACdC,UAAW,iCACXoD,QAAS,OACThD,OAAQ,OACR9D,OAAQ,UACR+G,OAAQ,KACRjC,SAAU,QACVjJ,MAzBkB,GA0BlByC,OA1BkB,GA2BlB,UAAW,CACT,QAAS,CACPO,MAAOH,EAAMiB,QAAQC,QAAQS,OAGjC,UAAW,CACTyG,QAAS,OACTpD,UAAW,kCAEZhF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOm1D,GACPnwD,OAAQmwD,GACRl4D,MAAOsL,GACP7I,OAAQ6I,KAGZC,KAAK,aACHjI,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZT,MA9CmB,GA+CnBgF,OA/CmB,GAgDnBH,aAAc,EACd,QAAS,CACP7E,MAAOyI,GACPzD,OAAQyD,GACRxI,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BO,WAAY,2BAEb1B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOyI,GACPzD,OAAQyD,GACR,QAAS,CACPzI,MAAOyI,GACPzD,OAAQyD,MAIdsK,MAAO,CACL1N,WAAY,cACZH,OAAQ,OACRJ,UAAW,OACXqD,OAAQ,KAEV2E,UAAU,aACRvM,QAAS,OACTC,cAAe,SACfb,QAASG,EAAMa,QAAQ,EAAG,EAAG,GAC7BD,aAAcZ,EAAMa,QAAQ,GAC5B4E,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtCP,aAAc,EACd5E,M7QrEwB,U6QsExBiF,OAAO,eAAD,O7Q7Ee,W6Q8ErBlF,MA7EkB,KA8EjBF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAOo1D,MAGXlzE,MAAO,CACLqe,QAAS,OACTqB,eAAgB,SAChBiW,WAAY,GACZ,OAAQ,CACN1W,SAAU,GACVE,WAAY,IACZsE,cAAe,IACfuD,UAAW,SACX7I,OAAQP,EAAMa,QAAQ,EAAG,KAG7B8K,UAAW,CACTvF,SAAU,WACVzG,IAAK,EACLxC,MAAO,EACP6D,KAAMhB,EAAMiB,QAAQC,QAAQS,KAC5BL,OAAQ,UACRI,WAAY,wBACZ,UAAW,CACTV,KAAMhB,EAAMiB,QAAQC,QAAQC,OAGhCye,QAAS,CACPrf,OAAQP,EAAMa,QAAQ,EAAG,IAE3B00D,eAAgB,CACd,YAAa,CACXl0D,SAAU,GACVoD,QAAS,IACToB,cAAe,KAEjB,MAAO,CACLtF,OAAQP,EAAMa,QAAQ,EAAG,EAAG,KAGhCqM,OAAQ,CACNzM,QAAS,OACTE,WAAY,SACZC,aAAcZ,EAAMa,QAAQ,GAC5B,QAAS,CACPqE,OA1HU,GA2HVhF,MA3HU,GA4HVa,YAAaf,EAAMa,QAAQ,OAG/B20D,WAAY,CACV,OAAQ,CACNj1D,OAAQ,EACRc,SAAU,GACVoD,QAAS,IACToB,cAAe,KAEjB,OAAQ,CACNpF,QAAS,OACTE,WAAY,SACZJ,OAAQ,EACRc,SAAU,GACVwE,cAAe,KAEjB,QAAS,CACP9D,WAAY/B,EAAMa,QAAQ,GAC1BG,KAAMhB,EAAMiB,QAAQC,QAAQC,KAC5B+D,OA7Ie,GA8IfhF,MA9Ie,GA+IfoB,OAAQ,UACRI,WAAY,oDACZ,UAAW,CACTmL,UAAW,aACX7L,KAAMhB,EAAMiB,QAAQC,QAAQS,OAGhC,MAAO,CACLC,eAAgB,OAChBzB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BO,WAAY,yBACZ,UAAW,CACTvB,MAAOH,EAAMiB,QAAQC,QAAQS,QAInC8zD,eAAgB,CACd,QAAS,CACP70D,aAAcZ,EAAMa,QAAQ,KAGhCsS,IAAK,CACH1S,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZqB,UAAWhC,EAAMa,QAAQ,GACzBqE,OA3Ka,GA4KbhF,MAAO,OACPkF,OAAO,eAAD,OAAiBpF,EAAMiB,QAAQC,QAAQC,MAC7C4D,aAAc,GACd1D,SAAU,GACVwE,cAAe,IACfjE,eAAgB,OAChBzB,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7BI,WAAY,IACZG,WAAY,oCACZ,UAAW,CACT+D,gBAAiBiwD,aAAO11D,EAAMiB,QAAQoE,OAAOC,MAAO,aCjL/CqwD,GAAqC,WAAO,IAAD,EAC9C3hE,EAAM+V,eAAN/V,EAEFwS,EAAS1G,KAHuC,EAItBpS,mBAAmC,MAJb,mBAI/CsmB,EAJ+C,KAIrCC,EAJqC,OAKtBvmB,oBAAS,GALa,mBAK/CkoE,EAL+C,KAKrCC,EALqC,KAO9Ct1C,EAAoBC,eAApBD,gBAP8C,EAc5B7yB,mBAAS,GAdmB,mBAc/CgL,EAd+C,aAeVhL,sBAfU,mBAe/C42B,EAf+C,KAe/BwxC,EAf+B,OAkBnBtoE,GAAgC,CACjEvE,OAAQ,CACNC,OAAQ,MACRC,IAAK,mCAHFg7B,EAlB+C,oBAyBhDC,EAAoBr2B,sBAAW,sBAAC,8BAAA1F,EAAA,+EAEX87B,IAFW,OAE5B57B,EAF4B,OAG5BC,EAAOD,EAASC,KACtBstE,EAAkBttE,GAJgB,yGAMnC,CAAC27B,IAEEL,EAAsB/1B,uBAC1B,SAAC7K,EAAc6gC,GACbC,KAAKD,IACHxD,EAAgB,GAAD,OAAIr9B,EAAJ,YAAY8Q,EAAE,4BAA8B,CACzD4S,QAAS,UACTqd,kBAAkB,EAClBC,iBAAkB,QAGxB,CAAC3D,EAAiBvsB,IAGpByK,qBAAU,WACH6lB,GACHF,MAED,CAACwxC,EAAUxxC,EAAmBE,IAjDqB,gBAoDnDA,GAAkBA,EAAe5rB,UApDkB,QAoDP,GADvCD,EAnD8C,EAmD9CA,MAAOirB,EAnDuC,EAmDvCA,MAAOqyC,EAnDgC,EAmDhCA,aAGtB,OACE,6BACE,4BACE/uD,UAAWR,EAAO2B,OAClBD,QAAS,SAAA4C,GAjDK,IAACjN,IAkDDiN,EAjDlBmJ,EAAY2hD,EAAW,KAAO/3D,EAAMyW,eAkD9BuhD,GAAY,SAAAvpD,GAAI,OAAKA,OAGvB,yBAAKtF,UAAWR,EAAOkC,MACrB,kBAAC,GAAD,QAGJ,kBAAC8L,GAAA,EAAD,CACEjB,QAAS,CAAEN,MAAOzM,EAAOyM,OACzBe,SAAUA,EACV7J,QAAS,WACP0rD,GAAY,IAEd9tD,KAAM6tD,KAActxC,EACpB5P,aAAc,CACZC,SAAU,MACVC,WAAY,SAEdC,gBAAiB,CACfF,SAAU,SACVC,WAAY,UAGd,oCACG0P,GACC,yBAAKtd,UAAWR,EAAOwG,WACrB,yBAAKhG,UAAWR,EAAOpkB,OACrB,kBAAC,KAAD,CACE4kB,UAAWR,EAAOmF,UAClBzD,QAAS,kBAAM2tD,GAAY,OAG/B,yBAAK7uD,UAAWR,EAAOivD,gBACrB,yBAAKzuD,UAAWR,EAAOgvD,YACrB,4BC5GW,sBD6GX,4BACG9nD,YACC,uBAAG1F,KAAI,cAAS0b,IAAUA,GAE1B,oCACE,8BAAOA,GACNA,GACC,kBAAC,KAAD,CACExb,QAAS,WACP4b,ECtHD,qBDsHoCJ,SAQjD,yBAAK1c,UAAWR,EAAOgvD,YACrB,4BC9HW,qCD+HX,4BACG9nD,YACC,uBAAG1F,KAAI,cAAS+tD,IAAiBA,GAEjC,oCACE,8BAAOA,GACNA,GACC,kBAAC,KAAD,CACE7tD,QAAS,WACP4b,ECxID,oCDwIoCiyC,SAQjD,yBAAK/uD,UAAWR,EAAOgvD,YACrB,4BChJG,UDiJH,4BACE,uBAAGxtD,KAAI,iBAAYvP,IAAUA,IAC3BiV,aAAYjV,GACZ,kBAAC,KAAD,CACEyP,QAAS,WACP4b,ECtJL,SDsJgCrrB,cExJrD,SAAS,KAA2Q,OAA9P,GAAW5N,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,uBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,mBACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,qsBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,SAAU,CAC7Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,MACJC,GAAI,WACJC,EAAG,IACY,IAAMJ,cAAc,SAAU,CAC7Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,MACJC,GAAI,WACJC,EAAG,IACY,IAAMJ,cAAc,OAAQ,CAC3CC,EAAG,wpBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,ilBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,ytBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,o7CACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4SACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0XACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,oTACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,kaACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4UACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0UACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,wWACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,cAGR,GAAW,SAAkBhJ,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,OAEU,IC9Gf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,qBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,0BACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,qsBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,SAAU,CAC7Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,MACJC,GAAI,WACJC,EAAG,IACY,IAAMJ,cAAc,SAAU,CAC7Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,MACJC,GAAI,WACJC,EAAG,IACY,IAAMJ,cAAc,OAAQ,CAC3CC,EAAG,0pBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,6xBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,2mBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,o7CACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4SACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0XACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,oTACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,kaACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4UACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0UACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,wWACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,cAGR,GAAS,SAAgBhJ,GAC3B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAQ,GAAS,CACvDS,OAAQQ,GACPP,OAEU,IC9Gf,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,uBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,mBACJ8oB,UAAW,kCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,qsBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,SAAU,CAC7Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,MACJC,GAAI,WACJC,EAAG,IACY,IAAMJ,cAAc,SAAU,CAC7Crf,GAAI,OACJid,KAAM,UACN4L,SAAU,UACVtJ,GAAI,MACJC,GAAI,WACJC,EAAG,IACY,IAAMJ,cAAc,OAAQ,CAC3CC,EAAG,4TACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,8sBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0pBACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,o7CACHtf,GAAI,QACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4SACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0XACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,oTACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,kaACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,4UACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,0UACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,YACK,IAAMxJ,cAAc,OAAQ,CAC3CC,EAAG,wWACHtf,GAAI,OACJid,KAAM,UACN4L,SAAU,cAGR,GAAW,SAAkBhJ,GAC/B,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAU,GAAS,CACzDS,OAAQQ,GACPP,O,IAEU,I,QClEThE,GAAYC,cAAW,SAACC,GAAD,YAAmB,CAC9C8yB,MAAI,GACFryB,QAAS,OACTC,cAAe,SACfR,MAVsB,IAWtBuJ,SAVmBusD,IAWnBloD,UAV2B,IAW3B1H,SAAU,WACVrF,YAAaf,EAAMa,QAAQ,GAC3B,eAAgB,CACdE,YAAa,IATb,cAWDf,EAAMK,YAAYw+B,GAAG,MAAQ,CAC5Bz+B,SAnBoB,MAOpB,cAcDJ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,MACPU,aAAcZ,EAAMa,QAAQ,KAhB5B,cAkBDb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACPL,QAASG,EAAMa,QAAQ,KApBvB,GAuBJo1D,cAAe,CACb/1D,MAAO,OACPO,QAAS,OACTE,WAAY,UAEduM,OAAO,aACLzM,QAAS,OACTE,WAAY,SACZT,MAAO,OACPgF,OAAQ,GACR3D,WAAY,IACZ1B,QAASG,EAAMa,QAAQ,KAAM,IAC7BQ,SAAU,GACVkE,WnR7EwB,UmR8ExBR,aAAc,EACd5E,MnRtE0B,WmRuEzBH,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KAGdjf,MAAO,CACL2f,WAAY/B,EAAMa,QAAQ,IAE5B6H,KAAM,CACJxI,MAlDc,GAmDdgF,OAnDc,GAoDdnD,WAAY/B,EAAMa,QAAQ,IAE5Bq1D,WAAY,CACVh2D,MAAOob,GACPpW,OAAQoW,GACR7R,SAAU6R,GACVva,YAAaf,EAAMa,QAAQ,IAE7Bs1D,cAAe,CACb11D,QAAS,OACTqB,eAAgB,gBAChBpB,cAAe,SACfwE,OAAQ,OACR4I,UAAW,IACX1N,SAAU,OACVP,QAASG,EAAMa,QAAQ,EAAG,EAAG,IAE/B8hB,IAAI,aACFxiB,MAAOH,EAAMiB,QAAQ3e,KAAKsjB,UAC1BnF,QAAS,OACTqB,eAAgB,gBAChBnB,WAAY,WACZqB,UAAWhC,EAAMa,QAAQ,IACxBb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,WAAY,CACV4E,OAAQ,MAIdiI,QAAQ,aACN9L,SAAU,GACVE,WAAY,IACZoa,WAAY,SACZ5V,SAAU,SACVgtB,aAAc,WACdtyB,QAAS,SACRT,EAAMK,YAAYC,KAAK,MAAQ,CAC9Be,SAAU,KAGdutB,OAAQ,CACNxoB,SAAU,WACVzG,IAAK,MACLzC,KAAM,MACN2P,UAAW,wBAIFupD,GAAyD,SAAC,GAShE,IARLljC,EAQI,EARJA,KACAmjC,EAOI,EAPJA,mBACAj0E,EAMI,EANJA,MACAguB,EAKI,EALJA,KAKI,IAJJkmD,mBAII,MAJU,UAIV,EAHJ3oE,EAGI,EAHJA,QAGI,IAFJ4oE,sBAEI,SADJhwD,EACI,EADJA,SAEMC,EAAS1G,KACTsL,EAAYH,KAAkBtd,GAC9BqS,EAAQiM,eACRuqD,EAAWziD,aAAc/T,EAAMK,YAAYC,KAAK,OAEhD4O,EAAgBvH,mBAAQ,WAC5B,OACE,yBAAKX,UAAWR,EAAOyvD,eACpB/iC,GAAQ9wC,GACP,oCACGi0E,GAAsB,kBAACnjC,EAAD,CAAMlsB,UAAWR,EAAO0vD,aAC/C,yBAAKlvD,UAAWR,EAAO0G,SACnBmpD,GAAsB,kBAACnjC,EAAD,CAAMlsB,UAAWR,EAAOkC,OAChD,0BAAM1B,UAAWR,EAAOpkB,OAAQA,QAMzC,CAAC8wC,EAAM9wC,EAAOi0E,EAAoB7vD,IAErC,OACE,kBAAC5oB,GAAA,EAAD,CACEsmB,MACEqyD,EACI,CACE9wD,gBAAiB,cACjBL,OAAQ,OACR3E,QAAS+1D,EAAW,OAAS,QAE/B,GAEN5vD,QAAQ,WACRI,UAAWR,EAAOssB,OAEhByjC,GACA,oCACE,kBAACxiC,GAAA,EAAD,CAAMvnB,GAAIpB,GACR,yBAAKpE,UAAWR,EAAOooB,QACpBxjB,GAAa,kBAACtE,GAAA,EAAD,QAGjBoI,EACD,kBAAC6kB,GAAA,EAAD,CAAMvnB,IAAKpB,GACT,yBAAKpE,UAAWR,EAAO2vD,eAAvB,OACG/lD,QADH,IACGA,OADH,EACGA,EAAMzlB,KACL,WAEE+N,GACI,IAFFwU,EAEC,EAFDA,OAAQmmB,EAEP,EAFOA,cAAelmB,EAEtB,EAFsBA,QAASmmB,EAE/B,EAF+BA,WAAYmjC,EAE3C,EAF2CA,aAG9C,OACE,yBAAKpyE,IAAKqU,EAAOsO,UAAWR,EAAOmc,KACjC,yBAAKze,MAAO,CAAEhE,MAAO,SAClBgN,GAAU,6BAAMA,GAChBC,GACC,yBAAKnG,UAAWR,EAAO2G,SAAUA,IAGpCkmB,GAAiBC,GAChB,kBAAC,GAAD,CACE1sB,QAAQ,WACRzG,MAAM,UACN+H,QAAS,kBAAMmrB,KACfrpC,OAAQssE,EACRvvD,KAAK,SAEJusB,GAGJmjC,MAKRlwD,OCrMT0nC,GACJ,0BAAM/pC,MAAO,CAAE/D,MpRjBa,YoRkB1B,wBAAI+D,MAAO,CAAEgqC,cAAe,OAAQttC,aAAc,EAAGoB,UAAW,IAC9D,yRAKA,4BACE,0BAAMkC,MAAO,CAAE/D,MpRtCK,UoRsCgBoB,WAAY,MAAhD,gBACgB,KAFlB,8EAMA,4BACE,0BAAM2C,MAAO,CAAE/D,MpRnCM,UoRmCgBoB,WAAY,MAAjD,iBACiB,KAFnB,2JAOA,4BACE,0BAAM2C,MAAO,CAAE/D,MpRjDK,UoRiDgBoB,WAAY,MAAhD,0BACqB,KAFvB,wLAOA,4BACE,0BAAM2C,MAAO,CAAE/D,MpRnDS,UoRmDgBoB,WAAY,MAApD,kBACkB,KAFpB,iNAK0E,IACxE,0BAAM2C,MAAO,CAAE/D,MpRvDW,UoRuDgBoB,WAAY,MAAtD,sBACiB,KAPnB,oGAsBOm1D,GAA0C,SAAC,GAIjD,IAHLC,EAGI,EAHJA,YACA/hE,EAEI,EAFJA,UACAjH,EACI,EADJA,QAEMqS,EAAQiM,eADV,EAG4Bve,mBAS7B,CACDgb,KAAMkuD,GACNC,cAAe,GACf5nB,aAAc,UACdpD,QAAS,EACTirB,cAAe,KAjBb,mBAGGC,EAHH,KAGaC,EAHb,KAoBE3wE,EAAWwW,KAEX9I,E9GxEuC,WAAO,IAAD,EACOrG,oBAAS,GADhB,mBAC5C+4C,EAD4C,KACrBC,EADqB,KAE7CrgD,EAAWwW,KAEjB,OAAO9O,uBACL,SACE4oE,EACA/vB,GAWA,OAAOA,EAAYH,EANP,uCAAG,sBAAAp+C,EAAA,6DACbq+C,GAAyB,GADZ,SAEPrgD,EAAS0N,GAA6B4iE,IAF/B,OAGbjwB,GAAyB,GAHZ,2CAAH,wDAQd,CAACrgD,EAAUogD,I8GoDwBwwB,GAE/BC,EAAkBnpE,uBAAY,WAIlC,OAHkB,OAAG6G,QAAH,IAAGA,OAAH,EAAGA,EACjB/Q,QAAO,SAAAwe,GAAC,OAAIA,EAAEupC,cAAgBvpC,EAAE8qC,aAAe9qC,EAAE/I,wBAClD3O,KAAI,SAAA0X,GAAC,MAAK,CAAEupC,aAAcvpC,EAAEupC,aAAcjP,OAAQt6B,EAAE8qC,kBAChC,KACtB,CAACv4C,IAwGJ,OAtGA6J,qBAAU,WACR,GAAKk4D,EAAL,CADc,IAEN9qB,EAAkD8qB,EAAlD9qB,QAASsrB,EAAyCR,EAAzCQ,gBAAiBC,EAAwBT,EAAxBS,oBAE5BC,EAAYxrB,EAAU,EACtByrB,EAAUzrB,EAAU,EAEpB0rB,EACJ1pB,aAAiBnJ,aAAS0yB,GAAsB,IAAIv9D,OAAW,EAE7Dw9D,EACFL,EAAY,CACVtuD,KAAMkuD,GACNC,cAAe,yDACf5nB,aAAcjvC,EAAMiB,QAAQ3e,KAAK4e,QACjC2qC,QAAS5mD,KAAKuyE,IAAI3rB,GAqBlBirB,cAAe,KAERM,GAAuBtnB,aAASpL,aAAS0yB,IAClDJ,EAAY,CACVtuD,KAAM6uD,EAAkCE,GAAWb,GACnDC,cAAe,kEACf5nB,aAAcsoB,EACVv3D,EAAMiB,QAAQ2E,UAAUzE,KACxBnB,EAAMiB,QAAQC,QAAQC,KAC1B0qC,QAAS5mD,KAAKuyE,IAAI3rB,GAClBirB,cAAe,mBACfzjC,cAAe,WACbt/B,EACE,CAAEojE,kBAAiBhqB,YAAatB,IAChC,SAAC37C,EAAGirB,GAAJ,OAAeA,UAKrB67C,EADSM,EACG,CACV5uD,KAAMgvD,GACNb,cACE,+EACiCM,EAAkB,GAAK,iBACtD,0BAAMjzD,MAAO,CAAE3C,WAAY,MACxB,UAAG41D,EAAH,UAA4B,GAE9BC,GACC,oCACG,KADH,kDACoC,IAClC,0BAAMlzD,MAAO,CAAE3C,WAAY,MACxBo2D,aAAe,IAAI99D,KAAQ6qC,aAAS0yB,GAAsB,CACzDQ,OAAQjlE,OACN,OAMds8C,aAAcjvC,EAAMiB,QAAQta,MAAMwa,KAClC0qC,UACAirB,cAAe,mBACfzjC,cAAe,WACbt/B,EACE,CAAEojE,kBAAiBhqB,YAAatB,IAChC,SAAC37C,EAAGirB,GAAJ,OAAeA,SAKT,CACVzS,KAAMkuD,GACNC,cAAe,wCACf5nB,aAAcjvC,EAAMiB,QAAQC,QAAQC,KACpC0qC,UACAirB,cAAe,QAGlB,CACDH,EACA32D,EACAjM,EACAmjE,EACA7wE,IAIA,oCACE,kBAAC,GAAD,CACEjE,MAAO,kBAAC,GAAD,CAAaA,MAAM,aAAa+qB,QAAS8gC,GAAar6B,SAAO,IACpEsf,KAAM6jC,EAASruD,KACf2tD,oBAAkB,EAClBjmD,KAAM,CACJ,CACElD,OAAQ,oCAAG6pD,EAASF,gBAEtB,CACE3pD,OAAQ,yBACRC,QACE,0BAAMjJ,MAAO,CAAE/D,MAAO42D,EAAS9nB,eAC5BpI,GAAakwB,EAASlrB,SADzB,YAIFxY,cAAe0jC,EAAS1jC,cACxBC,WAAYyjC,EAASD,gBAGzBnpE,QAASA,MCnOJkqE,GAA8C,SAAC,GAGrD,IAAD,EAFJ1mE,EAEI,EAFJA,QACAxD,EACI,EADJA,QAEQ3P,EAAeF,eAAfE,WACR,OACE,kBAAC,GAAD,CACEoE,MAAM,aACN8wC,KAAMgzB,GACN91C,KAAM,CACJ,CACElD,OAAQ,sBACRC,QAAO,iBAAEhc,QAAF,IAAEA,OAAF,EAAEA,EAAStF,sBAAX,QAA6B,IAEtC,CACEqhB,QAAe,OAAP/b,QAAO,IAAPA,OAAA,EAAAA,EAASrP,QAAS9D,EAAa,QAAU,aACjDmvB,QAAO,OAAEhc,QAAF,IAAEA,OAAF,EAAEA,EAASjO,OAGtByK,QAASA,KC7Bf,SAAS,KAA2Q,OAA9P,GAAW9C,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,gBACJ8oB,UAAW,wCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,UACJ8oB,UAAW,sCACG,IAAMzJ,cAAc,IAAK,CACvCrf,GAAI,oBACJ8oB,UAAW,mCACG,IAAMzJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,QACJ6oB,SAAU,WACI,IAAMxJ,cAAc,OAAQ,CAC1Crf,GAAI,YACJid,KAAM,UACNyD,QAAS,GACTV,EAAG,MACHC,EAAG,MACH9D,MAAO,QACPgF,OAAQ,KACR4H,GAAI,KACW,IAAM1J,cAAc,OAAQ,CAC3CC,EAAG,wlBACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,qQACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,kUACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,+SACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,uPACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,0QACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,gQACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,8TACHtf,GAAI,OACJid,KAAM,iBAGJ,GAAc,SAAqB4C,GACrC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAa,GAAS,CAC5DS,OAAQQ,GACPP,OCtFChE,IDwFS,ICxFGC,cAAW,SAACC,GAAD,MAAmB,CAC9C83D,iBAAkB,CAChBr3D,QAAS,OACTE,WAAY,UAEdo3D,UAAW,CACT73D,MAAO,OACPgF,OAAQ,OACRH,aAAc,OACdtE,QAAS,eACTM,YAAaf,EAAMa,QAAQ,OAE7B82C,OAAQ,CACNpyC,WAAYvF,EAAMiB,QAAQC,QAAQC,MAEpC62D,SAAU,CACRzyD,WAAYvF,EAAMiB,QAAQta,MAAMwa,WAUvB82D,GAAkD,SAAC,GAIzD,IAHLC,EAGI,EAHJA,WACAC,EAEI,EAFJA,QACAxqE,EACI,EADJA,QAEM6Y,EAAS1G,KACf,OACE,kBAAC,GAAD,CACE1d,MAAM,aACN8wC,KAAM+yB,GACN71C,KAAM,CACJ,CACElD,OAAQ,gBACRC,QACE,yBAAKnG,UAAWR,EAAOsxD,kBACrB,yBAAK9wD,UAAS,UAAKR,EAAOmxC,OAAZ,YAAsBnxC,EAAOuxD,aAC3C,2BAAIG,GAAc,KAIxB,CACEhrD,OAAQ,oBACRC,QACE,yBAAKnG,UAAWR,EAAOsxD,kBACrB,yBAAK9wD,UAAS,UAAKR,EAAOwxD,SAAZ,YAAwBxxD,EAAOuxD,aAC7C,2BAAII,GAAW,MAKvBxqE,QAASA,KC7Df,SAAS,KAA2Q,OAA9P,GAAW9C,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,0HAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,YACJ,YAAa,aACC,IAAMqf,cAAc,IAAK,CACvCrf,GAAI,cACJ,YAAa,aACC,IAAMqf,cAAc,OAAQ,CAC1Crf,GAAI,YACJijB,UAAW,iBACX9G,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,OAAQ,CAC3Crf,GAAI,YACJijB,UAAW,iBACXjD,EAAG,KACHC,EAAG,IACH9D,MAAO,MACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACX3D,EAAG,6UACY,IAAMD,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,IACHC,EAAG,MACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,MACHC,EAAG,MACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,KACHC,EAAG,IACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,EACHC,EAAG,IACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,MACHC,EAAG,IACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,KACHC,EAAG,MACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,EACHC,EAAG,MACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,MACHC,EAAG,MACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,iBACXjD,EAAG,KACHC,EAAG,MACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,QAGF,GAAc,SAAqBlJ,GACrC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAa,GAAS,CAC5DS,OAAQQ,GACPP,OCxGQ0tB,ID0GE,IC1Ge5sB,cAAW,iBAAO,CAC9CC,KAAM,CACJK,OAAQ,GACRH,aAAc,EACdU,gBAAiBiwD,azRNE,UyRMc,SAJP9wD,CAM1BwzD,O,UCUEnqB,GACJ,qfASInuC,GAAYC,cAAW,SAACC,GAAD,eAC3BkG,aAAa,CACXmyD,YAAa,CACX53D,QAAS,OACTE,WAAY,UAEd23D,SAAU,CACRpgB,KAAM,WACNn2C,WAAY/B,EAAMa,QAAQ,MAE5B+tB,OAAQ,CACN9sB,eAAgB,SAChBnB,WAAY,SACZ8E,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,OAExC2H,SAAO,GACLxM,QAAS,OACTL,SPZoB,IOapBF,MPboB,IOcpB4N,UPZyB,IOazB/I,aAAc,EACdqB,SAAU,WACVrF,YAAa,GAPR,cAQJf,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,IATL,cAWJP,EAAMK,YAAYsf,KAAK,MAAQ,CAC9BlW,SAAUusD,MAZP,cAcJh2D,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQ,eAfL,cAiBJP,EAAMK,YAAYC,KAAK,MAAQ,CAC9BwN,UAAWyqD,IACXr4D,MAAO,SAnBJ,GAsBPs4D,iBAAe,mBACZx4D,EAAMK,YAAYsf,KAAK,MAAQ,CAC9Bvf,SAAU41D,IACV91D,MAAO81D,MAHI,cAKZh2D,EAAMK,YAAYi/B,QAAQ,KAAM,MAAQ,CACvCl/B,SAAU41D,IACV91D,MAAO81D,MAPI,QAsBNyC,GAA4C,SAAC,GAOnD,IANLC,EAMI,EANJA,kBACA9jE,EAKI,EALJA,UACAjH,EAII,EAJJA,QACAgrE,EAGI,EAHJA,aACAC,EAEI,EAFJA,gBACAC,EACI,EADJA,aAEMryD,EAAS1G,KACTE,EAAQiM,eAFV,EAI0Bve,mBAASgrE,GAAqB,GAJxD,mBAIG7sB,EAJH,KAIYitB,EAJZ,OAK4BprE,mBAG7B,CACDqrE,SAAU,EACVC,YAAah5D,EAAMiB,QAAQC,QAAQC,OAVjC,mBAKG41D,EALH,KAKaC,EALb,KAaJv4D,qBAAU,WACR,GAAI7J,EAAW,CACb,IAAMqkE,EAAWrkE,EAAUjK,KAAI,SAAAyE,GAAO,IAAD,EACnC,OAAOs1C,aAAQ,UAACt1C,EAAG+8C,eAAJ,QAAe,OAEhC,GAAKzuB,aAAQu7C,GAYXL,GAAgB,OAZM,CACtB,IAAM7yB,EAAOmzB,aAAU,IAAIr/D,KAAQo/D,GAC7BF,EAAWlrB,aAAiB9H,EAAM,IAAIlsC,MAC5C++D,EAAgB7yB,GAChBixB,EAAY,CACV+B,SAAUA,EACVC,YACED,GAAY,EACR/4D,EAAMiB,QAAQ2E,UAAUzE,KACxBnB,EAAMiB,QAAQC,QAAQC,OAKhC,IAAMg4D,EAAcl8C,cAClB,SAACC,EAAKK,GAEJ,OADYL,GAAOK,EAAIsuB,SAAW,KAGpC,EACAj3C,GAEFkkE,EAAWK,MAEZ,CACDvkE,EACAoL,EAAMiB,QAAQC,QAAQC,KACtBnB,EAAMiB,QAAQ2E,UAAUzE,KACxBy3D,IA9CE,IAiDII,EAA0BjC,EAA1BiC,YAAaD,EAAahC,EAAbgC,SAEfK,EAAiBrrE,uBACrB,SAAC4qE,GACC,OACE,kBAAC,GAAD,CACEv2E,MACE,kBAAC,GAAD,CAAaA,MAAM,2BAAiB+qB,QAAS8gC,GAAar6B,SAAO,IAEnEsf,KAAMmmC,GACNjpD,KAAM,CACJ,CACElD,OACE,yFACyBtY,QADzB,IACyBA,OADzB,EACyBA,EAAWtK,QADpC,OAEGsK,EAAS,UACkB,IAArBA,EAAUtK,OAAe,YAAc,cAC1C,IAGR6iB,QACE,yBAAKnG,UAAWR,EAAO6xD,aACrB,8BAAO5zB,aAAOk0B,EAAc,eAC5B,kBAAC,GAAD,CACE/xD,QAAQ,cACRzG,MAAO44D,GAAY,EAAI,YAAc,UACrCxgE,MAAO,IAAiB,EAAXwgE,EACb/xD,UAAWR,EAAO8xD,aAK1B,CACEprD,OAAQ,yBACRC,QACE,0BACEjJ,MAAO,CACL/D,MAAO64D,IAGRnyB,GAAagF,GALhB,cAUNl+C,QAASA,MAIf,CAACorE,EAAUvyD,EAAQqlC,EAASj3C,EAAWokE,EAAarrE,IAGtD,OAAwB,OAAjBgrE,GAA0BE,EAK/B,oCACGF,EACCS,EAAeT,GACbE,EACF,yBAAK7xD,UAAS,UAAKR,EAAOyG,QAAZ,YAAuBzG,EAAOgyD,kBAC1C,kBAAC,GAAD,CAAe12E,KAAMowC,GAAUvyB,OAGjC,yBAAKqH,UAAS,UAAKR,EAAOooB,OAAZ,YAAsBpoB,EAAOyG,YAZ/C,yBAAKjG,UAAS,UAAKR,EAAOooB,OAAZ,YAAsBpoB,EAAOyG,UACzC,kBAACnG,GAAA,EAAD,CAAkBC,KAAM,O,qBChMxBjH,GAAYC,cAAW,iBAAO,CAClC6uB,OAAQ,CACNxoB,SAAU,WACVzG,IAAK,QAEPqN,UAAW,CACTc,UAAW,YAIFwrD,GAA4C,SAAC,GAGnD,IAFL3rE,EAEI,EAFJA,QACA4Y,EACI,EADJA,SAEMC,EAAS1G,KAETsL,EAAYH,GAAgBtd,GAElC,OACE,yBAAKqZ,UAAWR,EAAOwG,WAEnB,kBAAC+mB,GAAA,EAAD,CAAMvnB,IAAKpB,GACT,6BAAM7E,IAIR,kBAACwtB,GAAA,EAAD,CAAMvnB,GAAIpB,GACR,yBAAKpE,UAAWR,EAAOooB,QACrB,kBAAC,KAAD,CACE9sC,KAAK,YACLqe,M3RxCc,U2RyCd+E,OAAQ,GACRhF,MAAO,SC1CrB,SAAS,KAA2Q,OAA9P,GAAWrV,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,4KAEvG,GAAqB,IAAMA,cAAc,IAAK,CAChDrf,GAAI,mBACJ,YAAa,oBACC,IAAMqf,cAAc,OAAQ,CAC1C4D,UAAW,cACXjD,EAAG,KACHC,EAAG,KACH9D,MAAO,KACPgF,OAAQ,KACR4H,GAAI,MACW,IAAM1J,cAAc,OAAQ,CAC3C4D,UAAW,cACX3D,EAAG,gMACY,IAAMD,cAAc,WAAY,CAC/C4D,UAAW,cACX3P,OAAQ,sEAGN,GAAY,SAAmBuM,GACjC,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDa,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,GAAO,KAGvF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAW,GAAS,CAC1DS,OAAQQ,GACPP,OCnCChE,IDqCS,ICrCGC,cAAW,SAACC,GAAD,MAAmB,CAC9Cu0C,OAAQ,CACN9zC,QAAS,OACTqB,eAAgB,WAChBvB,OAAQP,EAAMa,QAAQ,EAAG,IAE3B04D,YAAa,CACX94D,QAAS,OACTC,cAAe,MACf0U,SAAU,SACVtT,eAAgB,WAChBnB,WAAY,SACZW,OAAQ,UACR,QAAS,CACPpB,MAAO,GACPgF,OAAQ,GACRnE,YAAaf,EAAMa,QAAQ,IAE7B,SAAU,CACR4D,QAAS,GACTpD,SAAU,GACVlB,M7RfwB,U6RgBxB0F,cAAe,IACftE,WAAYvB,EAAMwB,WAAWC,eAC7BC,WAAY,4BAEd,UAAW,CACT,SAAU,CACR+C,QAAS,KAIf0D,OAAQ,CACN7G,OAAQ,UACR4D,OAAQ,GACR,QAAS,CACPlE,KAAMhB,EAAMiB,QAAQC,QAAQS,KAC5B,UAAW,CACTX,KAAMhB,EAAMiB,QAAQC,QAAQC,aAMvBq4D,GAAW,WACtB,IAAMhzD,EAAS1G,KACTy0C,EAASlB,KAEf,OACE,kBAAC,GAAD,CACEtnC,mBAAoB,SAAC0tD,EAAYC,GAC/B,OACE,yBAAK1yD,UAAWR,EAAO2B,OAAQD,QAASwxD,GACrCD,KAKP,yBAAKzyD,UAAWR,EAAO+tC,QACrB,yBACEvtC,UAAWR,EAAO+yD,YAClBrxD,QAAS,WACPqsC,MAGF,kBAAC,GAAD,MACA,6CCzEV,SAAS,KAA2Q,OAA9P,GAAW1pD,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,+BACU,IAAMqf,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,gBACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,8xBACHtf,GAAI,OACJgsB,YAAa,GACb/O,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,urCACHtf,GAAI,iBACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,ikCACHtf,GAAI,iBACJid,KAAM,eAGJ,GAAqB,SAA4B4C,GACnD,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAoB,GAAS,CACnES,OAAQQ,GACPP,OAEU,IC1Df,SAAS,KAA2Q,OAA9P,GAAWjZ,OAAOC,QAAU,SAAUsX,GAAU,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUhY,OAAQ+X,IAAK,CAAE,IAAIE,EAASD,UAAUD,GAAI,IAAK,IAAIhe,KAAOke,EAAc1X,OAAO2X,UAAUC,eAAeC,KAAKH,EAAQle,KAAQ+d,EAAO/d,GAAOke,EAAOle,IAAY,OAAO+d,IAA2BO,MAAMtd,KAAMid,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkEle,EAAKge,EAAnED,EAEzF,SAAuCG,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2Dle,EAAKge,EAA5DD,EAAS,GAAQU,EAAajY,OAAOkY,KAAKR,GAAqB,IAAKF,EAAI,EAAGA,EAAIS,EAAWxY,OAAQ+X,IAAOhe,EAAMye,EAAWT,GAAQQ,EAAStT,QAAQlL,IAAQ,IAAa+d,EAAO/d,GAAOke,EAAOle,IAAQ,OAAO+d,EAFxM,CAA8BG,EAAQM,GAAuB,GAAIhY,OAAOoY,sBAAuB,CAAE,IAAIC,EAAmBrY,OAAOoY,sBAAsBV,GAAS,IAAKF,EAAI,EAAGA,EAAIa,EAAiB5Y,OAAQ+X,IAAOhe,EAAM6e,EAAiBb,GAAQQ,EAAStT,QAAQlL,IAAQ,GAAkBwG,OAAO2X,UAAUW,qBAAqBT,KAAKH,EAAQle,KAAgB+d,EAAO/d,GAAOke,EAAOle,IAAU,OAAO+d,EAMne,IAAI,GAAqB,IAAMgB,cAAc,IAAK,CAChDrf,GAAI,kBACJ2oB,OAAQ,OACRC,YAAa,EACb3L,KAAM,OACN4L,SAAU,WACI,IAAMxJ,cAAc,IAAK,CACvCrf,GAAI,2BACU,IAAMqf,cAAc,OAAQ,CAC1Crf,GAAI,YACJggB,EAAG,EACHC,EAAG,EACH9D,MAAO,GACPgF,OAAQ,KACO,IAAM9B,cAAc,IAAK,CACxCrf,GAAI,gBACJ8oB,UAAW,iCACG,IAAMzJ,cAAc,OAAQ,CAC1CC,EAAG,8xBACHtf,GAAI,OACJgsB,YAAa,GACb/O,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,iVACHtf,GAAI,OACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,+fACHtf,GAAI,QACJid,KAAM,YACS,IAAMoC,cAAc,OAAQ,CAC3CC,EAAG,ktCACHtf,GAAI,OACJid,KAAM,eAGJ,GAAkB,SAAyB4C,GAC7C,IAAIC,EAASD,EAAKC,OACdzhB,EAAQwhB,EAAKxhB,MACb0hB,EAAQ,GAAyBF,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMR,cAAc,MAAO,GAAS,CACtDlD,MAAO,OACPgF,OAAQ,OACRjB,QAAS,YACTI,IAAKR,GACJC,GAAQ1hB,EAAqB,IAAMghB,cAAc,QAAS,KAAMhhB,GAAS,KAAM,KAGhF,GAA0B,IAAMmiB,YAAW,SAAUT,EAAOO,GAC9D,OAAoB,IAAMjB,cAAc,GAAiB,GAAS,CAChES,OAAQQ,GACPP,O,IAEU,I,6BC3CA/D,iBAAW,SAACC,GAAD,gBAAmB,CAC3CgN,UAAW,CACT9M,MAAO,OACPgF,OAAQ,QACRzE,QAAS,OACT8E,WhSnBmB,WgSqBrByS,eAAgB,CACd9S,OAAQ,OACR0G,UAAW,QACXssC,KAAM,WACN9xC,SAAU,YAEZuzD,IAAI,yBACFz0D,OhSZqB,OgSarBkB,SAAU,WACVlJ,KAAM,EACNC,MAAO,EACPsD,QAAS,OACTqB,eAAgB,iBACbpC,GAAmB,GAAI,KAPzB,gBAQD+F,gBAAiBm0D,aAAe,IhS9BZ,WgS+BpB50D,UAAW,OACXqD,OAAQ,GACRhH,SAAU,GACVE,WAAY,IACZG,WAAY,wBACZf,WAAY,UACXX,EAAMK,YAAYC,KAAK,MAAQ,CAC9BwB,eAAgB,aAChBjC,QAASG,EAAMa,QAAQ,IAAK,EAAG,MAGnCg5D,SAAS,aACPp5D,QAAS,OACTE,WAAY,UACXX,EAAMK,YAAYC,KAAK,MAAQ,CAC9ByB,WAAY,SAGhB+3D,cAAY,GACVr5D,QAAS,OACTqB,eAAgB,SAChBnB,WAAY,SACZuE,OAnDsB,GAoDtBhF,MApDsB,GAqDtB6E,aAAc,OACdU,gBAAiBzF,EAAMiB,QAAQoE,OAAOC,MACtC/E,OAAQP,EAAMa,QAAQ,EAAG,IARf,cASTb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BC,OAAQP,EAAMa,QAAQ,EAAG,KAVjB,cAYV,QAAS,CACPqE,OAAQ60D,GACR75D,MAAO65D,GACPvwD,YAAaxJ,EAAMa,QAAQ,MAfnB,cAiBV,UAAW,CACTS,OAAQ,YAlBA,GAqBZ04D,SAAU,CACR90D,OAAQ,GACRhF,MAAO,GACPa,YAAaf,EAAMa,QAAQ,KAC3BS,OAAQ,WAEV24D,SAAU,CACRx0D,gBhS7EoB,UgS8EpBT,UAAW,iCAEbk1D,aAAa,yBACXh6D,MAAO,QACJR,GAAmB,GAAI,KAFhB,uBAGTM,EAAMK,YAAYC,KAAK,MAAQ,CAC9BkJ,YAAaxJ,EAAMa,QAAQ,GAC3BgX,aAAc7X,EAAMa,QAAQ,KALpB,8CAOcs5D,KAPd,uCAQQ,aARR,+BASM,SATN,IAWZC,WAAY,CACV70D,WAAW,mDAAD,OAAqDq0D,aAC7D,IhS7FkB,WgS4FV,UAIV50D,UAAW,OACXhD,UAAWhC,EAAMa,QAAQ,IAE3Bw5D,sBAAuB,CACrB55D,QAAS,OACTqB,eAAgB,aAChBnB,WAAY,SACZd,QAASG,EAAMa,QAAQ,EAAG,IAE5By5D,aAAa,yBACXl6D,SA1GsB,MA2GnBV,GAAmB,KAFZ,kBAGTM,EAAMK,YAAYC,KAAK,MAHd,eAILZ,GAAmB,OAG1B66D,UAAW,CACTr4D,UAAW,SACXrC,QAAS,EACTwB,SAAU,GACVnB,MA9GqB,IA+GrBgF,OA9GsB,GA+GtB3E,OAAQP,EAAMa,QAAQ,EAAG,EAAG,IAE9B25D,YAAY,aACV/5D,QAAS,OACTP,MAAO,OACPE,SAvH2B,KAwH3B0B,eAAgB,iBACf9B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAGnB+5D,iBAAiB,aACfv6D,MAAO,QACNF,EAAMK,YAAYw+B,GAAG,MAAQ,CAC5B35B,OAAQ,SAGZw1D,aAAa,aACXj6D,QAAS,OACTC,cAAe,MACf0U,SAAU,SACVtT,eAAgB,gBACf9B,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAGnBi6D,gBAAc,GACZz6D,MAAO,MACPO,QAAS,OACTC,cAAe,MACf0U,SAAU,SACVtT,eAAgB,eAChB,gBAAiB,CACff,YAAaf,EAAMa,QAAQ,KAPjB,cASXb,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,OACP,gBAAiB,CACfa,YAAa,EACbH,aAAcZ,EAAMa,QAAQ,MAbpB,cAgBXb,EAAMK,YAAYC,KAAK,MAAQ,CAC9B,gBAAiB,CACfM,aAAc,KAlBN,cAqBXZ,EAAMK,YAAYC,KAAK,MAAQ,CAC9BI,cAAe,WAtBL,O,0CC9IVZ,GAAYC,cAAW,SAACC,GAAD,MAAmB,CAC9CgN,UAAW,CACTzM,OAAQ,mBACRV,QAAS,YACT4J,SAAU,IACVrJ,SAAU,IACV2E,aAAc,MACdK,OAAO,eAAD,OjSbiB,WiScvBJ,UAAW,wCAEbkI,OAAQ,CACN,QAAS,CACPhI,OAAQ,OACRhF,MAAO,OACPa,YAAa,QAGjBoH,OAAQ,CACNjI,MAAO,OACPgF,OAAQ,OACR7D,SAAU,GACVwE,cAAe,QACftE,WAAYvB,EAAMwB,WAAWC,gBAE/BiJ,SAAU,CACRpJ,OAAQ,WAEVqhB,IAAK,CACH3gB,UAAW,OACXvB,QAAS,OACTqB,eAAgB,gBAChB3B,MjS9B0B,UiS+B1B0F,cAAe,SAEf,gBAAiB,CACf,SAAU,CACRpB,QAAS,MAIb,QAAS,CACPsB,SAAU,SACV4V,WAAY,SACZoX,aAAc,WACd1xB,SAAU,IAGZ,OAAQ,CACNd,OAAQ,EACRkE,QAAS,IACTpD,SAAU,IAEZ,SAAU,CACRoD,QAAS,EACTlD,WAAYvB,EAAMwB,WAAWC,iBAGjCvE,KAAM,CACJkM,UAAW,OACXhJ,SAAU,OAEZjD,MAAO,CACLsD,QAAS,OACTC,cAAe,SACfC,WAAY,WACZP,SAAU,MACV0B,eAAgB,iBAElB+pC,QAAS,CACPtqC,WAAY,IACZF,SAAU,GACVwE,cAAe,SAEjB+0D,eAAgB,CACdn6D,QAAS,OACTE,WAAY,SACZ8D,QAAS,EACTtE,MAAOH,EAAMiB,QAAQC,QAAQC,KAC7B+D,OAAQ,SACRxD,WAAY,yBACZ,UAAW,CACTJ,OAAQ,UACRnB,MAAOH,EAAMiB,QAAQC,QAAQS,MAE/B,QAAS,CACPZ,YAAa,EACbgB,WAAY,MACZ7B,MAAO,OACPgF,OAAQ,aAeD21D,GAAoE,SAAC,GAQ3E,IAAD,IAPJtvC,EAOI,EAPJA,SACAuvC,EAMI,EANJA,MACAv7C,EAKI,EALJA,SACAssB,EAII,EAJJA,QACAj0C,EAGI,EAHJA,kBACAjK,EAEI,EAFJA,QACAotE,EACI,EADJA,WAEMv0D,EAAS1G,KACTE,EAAQiM,eAFV,EAG8Bve,oBAAS,GAHvC,mBAGGnK,EAHH,KAGc2wB,EAHd,KAKE8mD,EAAwB/vD,GAAgBtd,GAOtCzK,EAAyBq8B,EAAzBr8B,KAAM2I,EAAmB0zB,EAAnB1zB,eAERojD,EACJpD,EAAU,EACN7rC,EAAMiB,QAAQ3e,KAAK4e,QACP,IAAZ2qC,EACA7rC,EAAMiB,QAAQC,QAAQC,KACtBnB,EAAMiB,QAAQta,MAAMwa,KAE1B,OACE,yBAAK6F,UAAWR,EAAOwG,WACrB,kBAAC,GAAD,CACEhG,UAAS,UAAKR,EAAO2B,OAAZ,YAAsBojB,GAAY/kB,EAAOkE,UAClDxC,QAAS,kBAAOuM,QAAQ8W,IAAauvC,KACrCviE,MAAO1M,EACP0/B,SAAU9W,QAAQ8W,IAEjBA,EACC,0BAAMvkB,UAAWR,EAAO0G,QACtB,kBAAC,KAAD,MADF,wBAKA,wDAGJ,yBAAKlG,UAAWR,EAAOmc,KACrB,yBAAK3b,UAAWR,EAAOtJ,MACrB,mDACA,8BAAOha,IAET,yBAAK8jB,UAAWR,EAAOrJ,OACrB,mDACA,qCAAOtR,QAAP,IAAOA,IAAkB,MAG7B,yBAAKmb,UAAWR,EAAOmc,KACrB,yBAAK3b,UAAWR,EAAOtJ,MACrB,sDACA,0BAAM8J,UAAWR,EAAOqlC,QAAS3nC,MAAO,CAAE/D,MAAO8uC,IAC9CpI,GAAa5hD,KAAKuyE,IAAI3rB,IADzB,aAIF,yBAAK7kC,UAAWR,EAAOrJ,OACrB,6CACA,0BAAM6J,UAAWR,EAAOo0D,eAAgB1yD,QAlD7B,WACjBgM,GAAa,GACb6mD,MAiDQ,kBAAC,GAAD,CAAcn0D,QAAQ,QAAtB,UACS,kBAAC,KAAD,UAKf,kBAAC,GAAD,CACEyM,KAAM9vB,EACNumB,MAAO,kBAAMoK,GAAa,IAC1B7c,OAAQO,EACRjK,QAASqtE,EACTz7C,SAAU,CACRr8B,KAAI,UAAEq8B,EAASr8B,YAAX,QAAmB,GACvB+K,OAAM,UAAEsxB,EAAS1zB,sBAAX,QAA6B,QC7LhCovE,GAA0B,SAAC33E,GAAD,OACrCA,EAAMyF,iBAOKmyE,IALoCzxE,aAC/CwxE,IACA,SAAA33E,GAAK,OAAIA,EAAMoD,eAAiB,KAGW+C,aAC3CwxE,IACA,SAAA33E,GAAK,OAAIoG,aAAOpG,EAAMqG,cAGXwxE,GAAoC1xE,aAC/CwxE,IACA,SAAA33E,GAAK,OAAIA,EAAM0J,0BCfJouE,GAAiB,WAAO,IAAD,EAChB5tE,GAAO,CACvBvE,OAAQ,CACNE,IAAK,mBACLD,OAAQ,QAEVG,cAAc,EACdD,oBAAoB,IANfd,EAD2B,oBAU5BuD,EAAiBkR,GAAeo+D,IAC9BE,EAAkBt+D,IAAe,SAAAzZ,GAAK,OAAIA,EAAM6K,QAAhDktE,cAQR,OANoBttE,uBAAY,WACxBlC,IAAmBwvE,GACvB/yE,MAED,CAACuD,EAAgBvD,EAAS+yE,KCZzBv7D,GAAYC,cAAW,SAACC,GAAD,YAAmB,CAC9CgN,UAAW,CACTvM,QAAS,OACTC,cAAe,OAEjB46D,aAAW,GACT76D,QAAS,OACTE,WAAY,SACZmB,eAAgB,gBAChBjC,QAAS,gBACTK,MAAO,QACPgF,OAAQ,OACRE,OAAO,eAAD,OpSdwB,UoSccZ,GAAmB,KAC/DO,aAAc,MACdU,gBpSnBmB,UoSoBnBpE,SAAU,GACVyD,cAAe,QACfe,cAAe,QACf1F,MpSpB8B,UoSqB9BuB,WAAY,0BACZ,UAAW,CACTJ,OAAQ,UACR8D,OAAO,eAAD,OpSxBsB,YoS0B9B,QAAS,CACP,gBAAiB,CACfhF,SAAU,OACVub,WAAY,SACZ5V,SAAU,SACVgtB,aAAc,YAEhB,eAAgB,CACd7tB,OAAQ,OACRnD,WAAY,MACZ0C,QAAS,MA7BJ,cAgCRzE,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,UAjCA,cAmCRF,EAAMK,YAAYC,KAAK,MAAQ,CAC9BJ,MAAO,QACPmB,SAAU,KArCH,OA0CAk6D,GAAmBr0D,IAAMC,MAAK,WACzC,IAAMX,EAAS1G,KADgC,EAEbpS,oBAAS,GAFI,mBAExC8tE,EAFwC,KAE7BC,EAF6B,OCvCpB,WAC3B,IAAMp1E,EAAWwW,KACX9T,EAAkBgU,GACtBm+D,IACA,SAACh+D,EAAMC,GAAP,OAAiBkvC,aAAOnvC,EAAMC,MAE1BnQ,EAAyB+P,GAC7Bo+D,IAEIO,EAAcN,KATa,EAWK1tE,oBAAS,GAXd,mBAW1BiuE,EAX0B,KAWbC,EAXa,OAYSluE,mBAAoB,IAZ7B,mBAY1BmuE,EAZ0B,KAYXC,EAZW,OAaKpuE,mBAEnC,IAf8B,mBAa1BipE,EAb0B,KAaboF,EAba,OAiBPvuE,GAAgB,CACxCvE,OAAQ,CACNE,IAAK,WACLD,OAAQ,SAHL8yE,EAjB0B,oBAwB3BC,EAAmBluE,uBACvB,SAAAmuE,GAAW,uBAAIA,EAAYhjE,eAAhB,QAA2B,KACtC,IA1B+B,EA4Bc1L,GAI7C,CACEvE,OAAQ,CACNE,IAAK,oBACLD,OAAQ,MACRoD,OAAQ,CACN6vE,sBAAuB,YAI7BF,GAzC+B,mBA4B1BG,EA5B0B,KA4BfC,EA5Be,KA4BAC,EA5BA,OA4CZ9uE,GAAuB,CAC1CvE,OAAQ,CACNC,OAAQ,MACRC,IAAK,sBAHFozE,EA5C0B,oBAmD3BC,EAAuBzuE,uBAC3B,SAAClC,GACCxF,EAAS+O,GAAkBjR,QAAQoD,aACnClB,EAASsJ,GAAsBL,kBAAkBzD,IACjD6vE,MAEF,CAACr1E,EAAUq1E,IAqDb,OAlDAj9D,qBAAU,WACRm9D,GAAe,GAEfl2E,QAAQk/B,IAAI,CACVl/B,QAAQk/B,IACN77B,EAAgB4B,KAAI,SAAAkB,GAAc,OAChCmwE,EAAgB,CACd1vE,OAAQ,CACNT,wBAINhG,MAAK,SAAA42E,GACL,IAAMZ,EAAgBY,EAAU9xE,KAAI,SAAA8xE,GAClC,OAAOA,EAAUj0E,QAGnBszE,EAAiBD,MAGnBn2E,QAAQk/B,IACN77B,EAAgB4B,KAAI,SAAAkB,GAAc,OAChC0wE,EAAW,CACTjwE,OAAQ,CAAET,wBAGdhG,MAAK,SAAA42E,GACL,IAAM5wB,EAAU9iD,EAAgBk0B,QAAO,SAACC,EAAKjvB,EAAQyK,GACnD,OAAO,2BACFwkB,GADL,kBAEGjvB,EAAmBwuE,EAAU/jE,GAAOlQ,KAAKqjD,YAE3C,IACHkwB,EAAelwB,QAEhBhmD,MAAK,WACN+1E,GAAe,QAEhB,CAAC7yE,EAAiBizE,EAAiBI,EAAWG,IAY1C,CACLxzE,gBAXuB4e,mBAAQ,WAC/B,OAAOk0D,EAAcppC,MAAK,SAAC1uB,EAAGC,GAC5B,OAAOD,EAAElY,iBAAmBmB,GACvB,EACDgX,EAAEnY,iBAAmBmB,EACrB,EACA,OAEL,CAAC6uE,EAAe7uE,IAIjBA,yBACA0vE,UAAWb,EACXhwB,QAAS8qB,EACThpE,QAASguE,EACT/jE,kBAAmB,CACjBjK,QAAS0uE,EACT7zE,KAAM8zE,EACN7iD,IAAK,SAAC5tB,GAAD,OACHuwE,EAAU,CACR9vE,OAAQ,CAAET,sBAGhB2wE,wBD1EElrB,GANFtkD,EAL6C,EAK7CA,uBACA0vE,EAN6C,EAM7CA,UACA7wB,EAP6C,EAO7CA,QACAj0C,EAR6C,EAQ7CA,kBACAjK,EAT6C,EAS7CA,QACA6uE,EAV6C,EAU7CA,qBAGIG,EAAgB5uE,uBACpB,SAAClC,GACC4vE,GAAa,GACbe,EAAqB3wE,GACrB0I,YAAW,WACTknE,GAAa,KACZ,OAEL,CAACe,IAGH,OACE,kBAAC,GAAD,CACE1wD,SAAU0vD,EACV7tE,QAASA,EACToe,mBAAoB,SAAC6wD,EAAelD,GAAkB,IAAD,IACnD,OACE,yBAAKxxD,QAASwxD,EAAc1yD,UAAWR,EAAO80D,aAC3C3tE,EACC,kBAAC,KAAD,CAAQ7L,KAAK,YAAYqe,MAAM,QAAQ+E,OAAQ,GAAIhF,MAAO,KAE1D,6BACE,kDAAOw8D,EAAU,UAAjB,aAAO,EAAcx5E,YAArB,QAA6B,KAGhC05E,KAKP,kBAAC,GAAD,KACE,yBAAK51D,UAAWR,EAAOwG,WACrB,oCACG0vD,EAAU/xE,KAAI,SAAA40B,GAAa,IAAD,IACjBr8B,EAAyBq8B,EAAzBr8B,KAAM2I,EAAmB0zB,EAAnB1zB,eACRgxE,EAAiBhxE,EACnBggD,EAAQhgD,GACR,EACJ,OACE,kBAAC,GAAD,CACExH,IAAKwH,EACL0/B,SAAU1/B,IAAmBmB,EAC7B8tE,MAAO,WACLjvE,GAAkB8wE,EAAc9wE,IAElC0zB,SAAU,CACRr8B,OACA2I,kBAEFggD,QAAO,OAAEgxB,QAAF,IAAEA,IAAkB,EAC3BjlE,kBAAiB,UAAEA,EAAkBpP,YAApB,QAA4B,GAC7CmF,QAAO,UAAEiK,EAAkBjK,eAApB,SACPotE,WAAY,kBACVx7C,EAAS1zB,gBACT+L,EAAkB6hB,IAAI8F,EAAS1zB,6BEvFtCixE,GAAmD,SAAC,GAK1D,IAJLv2D,EAII,EAJJA,SACAw+C,EAGI,EAHJA,iBACAsV,EAEI,EAFJA,sBACArV,EACI,EADJA,iBAEMx+C,EAAS1G,KACTE,EAAQiM,eACR2oD,EAAS7gD,aAAc/T,EAAMK,YAAYC,KAAK,OAC9Cy8D,EAAehpD,aAAc/T,EAAMK,YAAYsf,KAAK,OACpDq9C,EAAWjpD,aAAc/T,EAAMK,YAAYC,KAAK,OAEhD/N,EAAWiM,eACX41C,EAAUC,eACVp/C,EAAS8H,GAAe61B,GAA+BV,GAAUvyB,MATnE,EAW8BjS,mBAAS,GAXvC,mBAWGuvE,EAXH,KAWcC,EAXd,OAYwCxvE,mBAAS,IAZjD,mBAYGyvE,EAZH,KAYmBC,EAZnB,OAa4B1vE,oBAAS,GAbrC,mBAaG2vE,EAbH,KAaaC,EAbb,OAc8B5vE,oBAAS,GAdvC,mBAcG6vE,EAdH,KAccC,EAdd,OAe0B9vE,mBAA8B,MAfxD,mBAeGy+C,EAfH,KAeYsxB,EAfZ,OAgBoC/vE,oBAAS,GAhB7C,mBAgBGgwE,EAhBH,KAgBiBC,EAhBjB,OCfuB,WAC3B,IAAMt3E,EAAWwW,KACX1L,EAAU4L,IAAe,SAAAzZ,GAAK,MAAK,CACvCkF,KAAMlF,EAAM2M,YAAYkB,QACxBxD,QAASrK,EAAM2M,YAAYvJ,eAAiB,MAJb,EAOGgH,mBAAS,GAPZ,mBAO1Bs9D,EAP0B,KAOd4S,EAPc,KAS3BlsB,EAAuB30C,GAAe8zC,IACtCc,EAAmB50C,GAAe6zC,IAClC/4C,EAAakF,GAAe2zC,IAE5BkB,EAAoB70C,GAAe0zC,IAEnC2V,EAAkBrpD,GAAeo2C,IAfN,EAiBsB3lD,GACrD,CACEvE,OAAQ,CACNC,OAAQ,MACRC,IAAK,sBArBsB,mBAiB1B00E,EAjB0B,KAiBTC,EAjBS,KAiBOnH,EAjBP,KA0B3B5kB,EAAmBh1C,GAAe4yC,IAClCsC,EAAgDl1C,GACpD8yC,IAEI9Y,EAAWhpC,uBACf,SAAC0kD,GACCpsD,EACEsU,GAAW,CACTlS,cAAegqD,EACf3wD,KAAM,YAGP+D,KAAK6sD,KACL7sD,MAAK,kBAAEpC,EAAF,2BAAem6E,EAAa,iBAACn6E,QAAD,IAACA,OAAD,EAACA,EAASmD,aAAV,QAAmB,MACvDP,EAASgP,MACThP,EAAS4T,MACT5T,EAAS2O,MACT3O,EACE+S,GAAgB,CACd3Q,cAAegqD,EACfE,MAAO,GACPhK,OAAQppD,+BAA4BG,QACpCmpD,UAAU,KAGdg1B,MAEF,CAACA,EAAiBx3E,IAKpB,OAFA8vC,GAAkCY,GAE3B,CACL5lC,UACAoC,SAAU,CACR5F,QAASy4D,GAEXvuD,WAAY,CACVrP,KAAMqP,EACN65C,uBACAC,mBACAhkD,QAASikD,GAEX/F,QAAS,CACPrjD,KAAMmuE,EACNhpE,QAASmwE,GAEXlpE,UAAW,CACTm+C,OAAQd,EACRtkD,QAASokD,GAEXiZ,cDrCE1Z,GANFngD,EAnBE,EAmBFA,QACA0G,EApBE,EAoBFA,WACAg0C,EArBE,EAqBFA,QACAt4C,EAtBE,EAsBFA,SACAqB,EAvBE,EAuBFA,UACAo2D,EAxBE,EAwBFA,WAGFvsD,qBAAU,WACR,IAAMs/D,EAAa1gD,aACjB0E,cAAY,SAAA5iB,GAAI,OAAIA,EAAKA,OAAS5M,EAASmM,aAC3C,SAACs/D,GAAD,OAA4BvJ,aAAgBuJ,KAF3B3gD,CAGjB00C,KAEQ,OAAVgM,QAAU,IAAVA,OAAA,EAAAA,EAAY1Z,iBAAkB+Y,EAAiB,OAACW,QAAD,IAACA,OAAD,EAACA,EAAY1Z,kBAC3D,CAAC9xD,EAASmM,WAMbD,qBAAU,WACJxJ,GAAsB,OAAZk3C,GACZwxB,EAAgBlpD,QAAQ03B,GAAWl3C,MAEpC,CAACk3C,EAASl3C,IAEb,IAAMgpE,EAAoBt2D,mBAAQ,WAChC,MAAO,CACL,kBAAC,GAAD,CACEgvD,YAAa9qB,EAAQrjD,KACrBoM,UAAWA,EAAUm+C,OACrBplD,QAASk+C,EAAQl+C,SAAWiH,EAAUjH,SAAW4F,EAAS5F,UAE5D,kBAAC,GAAD,CACEiH,UAAWA,EAAUm+C,OACrBplD,QAASiH,EAAUjH,QACnBgrE,aAAcxsB,EACdysB,gBAAiB6E,EACjB5E,aAAcpkD,QAAQxf,KAExB,kBAAC,GAAD,CAAe9D,QAASA,EAAQ3I,KAAMmF,QAASwD,EAAQxD,UACvD,kBAAC,GAAD,CACEuqE,WAAYrgE,EAAW85C,iBAAiBrnD,OACxC6tE,QAAStgE,EAAW65C,qBAAqBpnD,OACzCqD,QAASkK,EAAWlK,UAEtB,kBAAC,GAAD,CAAoB4oE,gBAAc,OAEnC,CACD1qB,EACAj3C,EACArB,EACA44C,EACAl3C,EACAwoE,EACAtsE,EACA0G,IAGIqmE,EAAgBv2D,mBAAQ,WAC5B,IAAMw2D,EAAgC,GAUtC,OATIT,EACFO,EAAkBp5E,SAAQ,SAACiuC,EAAMzwB,GAC3BA,EAAI,GAAG87D,EAAengE,KAAK80B,MAGjCmrC,EAAkBp5E,SAAQ,SAACiuC,EAAMzwB,GACrB,IAANA,GAAS87D,EAAengE,KAAK80B,MAG9BqrC,IACN,CAACF,EAAmBP,IAEvB,OACE,yBAAK12D,UAAWR,EAAOwG,WACrB,kBAAC,GAAD,CAAOnrB,OAAQw7E,EAAUvzD,MAAO,kBAAMwzD,GAAY,MAClD,yBAAKt2D,UAAWR,EAAOwR,gBACrB,kBAAC5K,GAAD,MACA,yBAAKpG,UAAS,UAAKR,EAAOmzD,IAAZ,YAAmBsD,EAAY,GAAKz2D,EAAOyzD,WACtDrF,GACC,kBAAC,KAAD,CACE5tD,UAAWR,EAAOwzD,SAClB9xD,QAAS,WACPo1D,GAAaD,OAIjBzI,GAAUuI,EACZ,yBAAKn2D,UAAWR,EAAOqzD,UACrB,kBAAC0B,GAAD,MACA,yBACEv0D,UAAWR,EAAOszD,aAClB5xD,QAAS,kBAAMksC,EAAQp2C,KAAKumD,GAAW3pD,KAAKuE,QAE3C6rD,EAAa,kBAAC,GAAD,MAAsB,kBAAC,GAAD,OAEtC,kBAAC,GAAD,QAGJ,kBAAC,cAAD,CAEEoT,UAAQ,EAERC,gBAAiB,IAEjBn6C,iBAAkB,IAClBo6C,SA1Fa,SAAC,GAAmC,IAAjCrB,EAAgC,EAAhCA,UACtBC,EAAaD,KA2FP,yBAAKj2D,UAAWR,EAAO0zD,eACnBnV,GAAoBC,IACpB,kBAACpnE,GAAA,EAAD,CAAOopB,UAAWR,EAAO4zD,YACvB,kBAAC,GAAD,CAAYzsE,UAAWq3D,GACpBD,IAIP,yBAAK/9C,UAAWR,EAAO6zD,uBACrB,yBAAKrzD,UAAWR,EAAOg0D,aACrB,yBAAKxzD,UAAWR,EAAOm0D,gBACpBuD,EAAc,GACdlB,GACC,kBAAC,GAAD,CACEh2D,UAAWR,EAAO+zD,UAClB3zD,QAAQ,YACRzG,MAAM,UACN+H,QAAS,kBAAMs1D,GAAa,SAAAlxD,GAAI,OAAKA,OAEpCixD,EAAY,QAAU,aANzB,UAUDP,EACC,6BACE,kBAACzwD,GAAA,EAAD,CAAUC,GAAI+wD,GAAYW,EAAc,KAG1C,oCAAGA,EAAc,KAGpBnB,GACC,kBAAC,GAAD,CACE/1D,UAAWR,EAAO+zD,UAClB3zD,QAAQ,YACRzG,MAAM,UACN+H,QAAS,kBAAMs1D,GAAa,SAAAlxD,GAAI,OAAKA,OAEpCixD,EAAY,QAAU,aANzB,UASF,yBAAKv2D,UAAWR,EAAOm0D,gBACrB,kBAACpuD,GAAA,EAAD,CACEC,GAAI+wD,IAAc3I,EAClBrhD,QAAS,CACPvG,UAAWxG,EAAOi0D,iBAClBxtD,QAASzG,EAAOi0D,iBAChBC,aAAcl0D,EAAOk0D,eAGtBwD,EAAc,GACdA,EAAc,MAKpB7D,IAGL,yBAAKrzD,UAAWR,EAAO8zD,cAAe/zD,KAG1C,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAACU,GAAD,MACA,kBAAC,GAAD,QEtOOs3D,GAAmC90E,cAFV,SAACnG,GAAD,OAAsBA,EAAM+H,kBAIhE,SAAA/H,GAAK,OAAIA,EAAM6H,0BCFX2U,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXuI,UAAW,CACTvO,MAAO,QACPgF,OAAQ,cAKDs5D,GAAgC,WAC3C,IAAMh4D,EAAS1G,KACf,OAAO,kBAAC,GAAD,CAAW6N,IjRNc,wBiRMWqB,YAAaxI,EAAOiI,aCP3D3O,GAAYC,cAAW,SAACC,GAAD,OAC3BkG,aAAa,CACXuI,UAAW,CACTvO,MAAO,QACPgF,OAAQ,cA6CDu5D,GAAiD,SAAC,GAGxD,IAtC+BC,EAoCpC70C,EAEI,EAFJA,UACA1qB,EACI,EADJA,KAEA,OACE,oCACE,kBAAC,KAAD,CAAO0qB,WAzCyB60C,EAyCQ70C,EAzCoB,WAChE,IAAMrjB,EAAS1G,KACP5R,EAAS6O,IAAe,SAAAzZ,GAAK,OAAIA,EAAM6K,QAAvCD,KAF8D,EAGxCR,oBAAS,GAH+B,mBAG/DC,EAH+D,KAGtDC,EAHsD,KAmBtE,OAdA6Q,qBAAU,WACR7Q,GAAW,GACX,IAAMud,EAAU5W,YACd,WACE3G,GAAW,KAEgC,KAG/C,OAAO,WACL2d,aAAaJ,MAEd,CAACjd,IAGF,qCACIP,GAAWO,EACX,yBAAKgW,MAAO,CAAEzD,QAAUvS,EAAgB,UAAT,SAC7B,kBAAC,aAAD,CAAYywE,eAAgBH,IAC1B,kBAACE,EAAD,QAGF,KACFxwE,EAEE,KADF,kBAAC,GAAD,CAAWyf,IlR1Ce,wBkR0CUqB,YAAaxI,EAAOiI,eAYNtP,KAAMA,MCnDnD2lD,GAAuB59C,IAAM03D,eAExC,eAEIC,GAGD,SAAA/6D,GAAU,IAAD,EACIpW,mBAAS+mE,aAAgB1C,KAAlCiM,EADK,oBAENzrE,EAAWiM,eACXsgE,EAAcd,EAAMj8C,MAAK,SAAA5iB,GAAI,OAAIA,EAAKA,OAAS5M,EAASmM,YAExDqgE,EAAcp3D,mBAClB,kBACE,kBAAC,KAAD,KACGq2D,EAAMrzE,KAAI,YAAmC,IAAhCy5D,EAA+B,EAA/BA,eAAmBtgD,EAAY,mCAC3C,OAAOsgD,EACL,kBAAC,GAAD,iBAAoBtgD,EAApB,CAA2Bzf,IAAKyf,EAAM3E,QAEtC,kBAAC,KAAD,iBAAW2E,EAAX,CAAkBzf,IAAKyf,EAAM3E,UAE9B4yD,IACH,kBAAC,KAAD,CAAOiN,OAAK,EAAC7/D,KAAK,KAChB,kBAAC,KAAD,CAAUrF,GAAIi4D,GAASvN,KAAKrlD,QAE9B,kBAAC,KAAD,CAAOA,KAAK,oBACZ,kBAAC,KAAD,CAAOA,KAAK,KACV,kBAAC,GAAD,UAIN,CAAC6+D,IAGH,OAAkB,OAAXc,QAAW,IAAXA,OAAA,EAAAA,EAAa1a,iBAAkBtgD,EAAM5V,KAC1C,kBAAC,GAAoB4V,EAAMm7D,YAAcF,GAEzCA,GAISG,GAAS,WAAO,IACnBhxE,EAAS6O,IAAe,SAAAzZ,GAAK,OAAIA,EAAM6K,QAAvCD,KAEFixE,EAA6BpiE,GACjCwhE,IAJwB,EAOY7wE,qBAPZ,mBAOnBuxE,EAPmB,KAONra,EAPM,KAS1B,OACE,kBAACE,GAAqBsa,SAAtB,CAA+B7mE,MAAOqsD,GAClCua,EAGA,kBAAC,GAAD,MAFA,kBAAC,GAAD,CAAoBF,YAAaA,EAAa/wE,KAAMA,MC3B7CmxE,GA7BH,WACV,IAAMjrB,EAAUC,eACVqnB,EAAcN,KAFJ,EAGOh9D,KAAZS,EAHK,oBA0BhB,OArBAJ,qBAAU,WACR9Z,EACGuI,kBAAkB,CAACuC,eACnB5J,MAAK,YAAiB,IACbvC,EADY,EAAbE,OACwBC,QAAvBH,MACJA,GACF8wD,EAAQ1gD,QAAQpQ,EAAM6F,UAG3B,CAACirD,ICrB+B,WAAO,IAClClmD,EAAS6O,IAAe,SAAAzZ,GAAK,OAAIA,EAAM6K,QAAvCD,KADiC,EAGXR,oBAAS,GAHE,mBAGlC4xE,EAHkC,KAGzBC,EAHyB,KAKzC9gE,qBAAU,WACJgW,QAAQvmB,IACVqxE,GAAW,KAEZ,CAACrxE,IAEJuQ,qBAAU,WACJ6gE,IAAYpxE,IACdoE,OAAOC,SAASC,SAChB+sE,GAAW,MAEZ,CAACD,EAASpxE,IDObsxE,GAEA/gE,qBAAU,WACRi9D,MACC,CAACA,IAEJj9D,qBAAU,WACRI,MACC,CAACA,IAEG,kBAAC,GAAD,OETI4gE,GAA6C,SAAC,GAGpD,IAFLl5D,EAEI,EAFJA,SACAvgB,EACI,EADJA,MAEM05E,EApBwB,CAC9Bz2E,OAAQ,CACN02E,UAAWtzE,WACXuzE,aAActtE,OAAOC,SAASstE,OAAS,2BACvCC,cAAe,OACfC,MAAO,kBACPC,UAAW3zE,mCACX4zE,oBACE3tE,OAAOC,SAASstE,OAAS,kCAC3BK,sBAAsB,EACtBC,cAAc,EACdC,yBAA0B9tE,OAAOC,SAASstE,OAC1CQ,gBAAgBh0E,IASlB,OACE,kBAAC,OAAD,CACErG,MAAOA,EACP05E,cAAeA,EAAcz2E,OAC7Bq3E,WAAW,EACXC,UAAWC,qBACXC,0BAA2B,kBAAM,+BACjCC,iBAAkBplB,GAClBqlB,cAAerlB,IAEd/0C,IC9BakO,QACW,cAA7BniB,OAAOC,SAASquE,UAEe,UAA7BtuE,OAAOC,SAASquE,UAEhBtuE,OAAOC,SAASquE,SAASlyC,MACvB,2D,cCyFS1uB,GA7FM6gE,aAAe,CAClChgE,QAAS,EACTigE,UAAW,CACTC,eAAgB,CACd,UAAW,CACT,qBAAsB,CACpBxgE,OAAQ,UAEV,aAAc,CACZ2E,OAAQ,QAEV,aAAc,CACZA,OAAQ,QAEVi3B,SAAU,CACRvP,WAAW,gDAIjBo0C,UAAW,CACTn8D,KAAM,CACJ4E,SAAU,SAGdw3D,SAAU,CACRp8D,KAAM,CACJhF,QAAS,YACT4F,gBAAiB,QACjBW,SAAU,YAEZZ,SAAU,CACRJ,OAAO,eAAD,OhTvCa,WgTwCnBvF,QAAS,QAEXqhE,QAAS,CACPn8D,aAAc,QAGlBo8D,WAAY,CACVluD,MAAO,CACLpT,QAAS,EACTkF,aAAc,MACdK,OAAO,eAAD,OhTlDa,WgTmDnBJ,UAAW,uCACX7E,MhT7CsB,UgT8CtB,OAAQ,CACNN,QAAS,EACT,OAAQ,CACNA,QAAS,YAKjBuhE,UAAW,CACTnuD,MAAO,CACL1S,OAAQ,WAGZ8gE,YAAa,CACXx8D,KAAM,CACJY,gBhT9DkB,4BgTkExBjE,WAAY,CACVorB,WAAW,6CACXvrB,SAAU,GACVsW,gBAAiB,IACjBkG,kBAAmB,IACnBnG,iBAAkB,IAClBjW,eAAgB,KAElBR,QAAS,CACPC,QAAS,CACPC,KhTxFsB,UgTyFtB2yD,MhTxFoB,agT0FtBluD,UAAW,CACTzE,KhT1FsB,WgT4FxBxa,MAAO,CACLwa,KhTtFuB,WgTwFzB7e,KAAM,CACJ4e,QhT3F0B,UgT4F1B0E,UhT3F4B,YgT8FhC43B,MAAO,CACLz4B,aAAc,M,iBCrFlBlS,KAEA,IAAMyuE,GAA0B,kBAC9B,kBAACC,EAAA,EAAD,CAAevhE,MAAOA,IAEpB,kBAACwhE,EAAA,EAAD,MACA,kBAAC,WAAD,CAAUx7E,MAAOA,IACf,kBAAC,KAAD,CAAay7E,UAAWA,IACtB,kBAAC,IAAD,KACE,kBAAC,GAAD,CAAcz7E,MAAOA,KACrB,kBAAC,KAAD,CAAkB07E,SAAU,GAC1B,kBAAC,GAAD,MACA,kBAAC,GAAD,YAcZ,IAAMD,GAAYE,YAAa37E,IAE/B47E,IAASC,OAAO,kBAAC,GAAD,MAAmBxoE,SAASyoE,eAAe,SF0FrD,kBAAmBC,WACrBA,UAAUC,cAAcC,MACrBp8E,MAAK,SAAAq8E,GACJA,EAAaC,gBAEdzgD,OAAM,SAAA/6B,GACLu8C,QAAQv8C,MAAMA,EAAMqhC,c","file":"static/js/main.92a93306.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/polenergiaWaves.17030e26.png\";","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type InvoiceType = 'Paper' | 'Email'\r\n\r\nexport const InvoiceType = {\r\n Paper: 'Paper' as InvoiceType,\r\n Email: 'Email' as InvoiceType,\r\n}\r\n","export * from './account'\r\nexport * from './accountBalance'\r\nexport * from './accountType'\r\nexport * from './accountingDocument'\r\nexport * from './accountingDocumentListItem'\r\nexport * from './accountingDocumentListItemPagedResponse'\r\nexport * from './accountingDocumentStatus'\r\nexport * from './accountingDocumentStatusFilter'\r\nexport * from './accountingDocumentType'\r\nexport * from './accountingDocumentTypeFilter'\r\nexport * from './accountingDocumentsSortType'\r\nexport * from './agreeementGroup'\r\nexport * from './agreement'\r\nexport * from './agreementListItem'\r\nexport * from './agreementListItemPagedResponse'\r\nexport * from './agreementParameterType'\r\nexport * from './agreementSortType'\r\nexport * from './agreementType'\r\nexport * from './body'\r\nexport * from './companyInformation'\r\nexport * from './confirmEmailRequest'\r\nexport * from './consent'\r\nexport * from './consentStatus'\r\nexport * from './consentStatusFilter'\r\nexport * from './contact'\r\nexport * from './contactCategory'\r\nexport * from './createCustomerRequest'\r\nexport * from './createCustomerResponse'\r\nexport * from './createTicketRequest'\r\nexport * from './createTicketResponse'\r\nexport * from './createTransactionRequest'\r\nexport * from './createTransactionResponse'\r\nexport * from './document'\r\nexport * from './documentType'\r\nexport * from './forgotPasswordRequest'\r\nexport * from './iAgreementParameter'\r\nexport * from './invoiceType'\r\nexport * from './measurementPointListItem'\r\nexport * from './measurementPointListItemPagedResponse'\r\nexport * from './measurementPointsDetails'\r\nexport * from './news'\r\nexport * from './newsPagedResponse'\r\nexport * from './newsTypeFilter'\r\nexport * from './notificationMethod'\r\nexport * from './notificationMethodFilter'\r\nexport * from './notificationSetting'\r\nexport * from './notificationType'\r\nexport * from './order'\r\nexport * from './orderItem'\r\nexport * from './orderStatus'\r\nexport * from './paymentStatus'\r\nexport * from './problemDetails'\r\nexport * from './reading'\r\nexport * from './readingsSortType'\r\nexport * from './registerDeviceRequest'\r\nexport * from './resetPasswordRequest'\r\nexport * from './scheduledTask'\r\nexport * from './securedOrderItem'\r\nexport * from './setUpNewPasswordRequest'\r\nexport * from './setting'\r\nexport * from './ticketType'\r\nexport * from './updateConsentRequest'\r\nexport * from './updateNotificationRequest'\r\nexport * from './validateRegistrationRequest'\r\nexport * from './validateRegistrationResult'\r\nexport * from './validationErrorEnum'\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AccountType = 'Individual' | 'Commercial'\r\n\r\nexport const AccountType = {\r\n Individual: 'Individual' as AccountType,\r\n Commercial: 'Commercial' as AccountType,\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AccountingDocumentStatus = 'Paid' | 'PendingPayment' | 'Unpaid'\r\n\r\nexport const AccountingDocumentStatus = {\r\n Paid: 'Paid' as AccountingDocumentStatus,\r\n PendingPayment: 'PendingPayment' as AccountingDocumentStatus,\r\n Unpaid: 'Unpaid' as AccountingDocumentStatus,\r\n}\r\n\r\nexport const TranslatedAccountingDocumentStatus = {\r\n [AccountingDocumentStatus.Paid]: 'Zapłacona',\r\n [AccountingDocumentStatus.PendingPayment]: 'Oczekująca',\r\n [AccountingDocumentStatus.Unpaid]: 'Niezapłacona',\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AccountingDocumentStatusFilter = 'All' | 'Paid' | 'Unpaid'\r\n\r\nexport const AccountingDocumentStatusFilter = {\r\n All: 'All' as AccountingDocumentStatusFilter,\r\n Paid: 'Paid' as AccountingDocumentStatusFilter,\r\n Unpaid: 'Unpaid' as AccountingDocumentStatusFilter,\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AccountingDocumentType =\r\n | 'Invoice'\r\n | 'PrepaymentInvoice'\r\n | 'Forecast'\r\n | 'CollectiveInvoice'\r\n | 'InterestNote'\r\n | 'DebitNote'\r\n | 'CreditNote'\r\n | 'Other'\r\n | 'NoteCorrection'\r\n | 'InvoiceCorrection'\r\n\r\nexport const AccountingDocumentType = {\r\n Invoice: 'Invoice' as AccountingDocumentType,\r\n PrepaymentInvoice: 'PrepaymentInvoice' as AccountingDocumentType,\r\n Forecast: 'Forecast' as AccountingDocumentType,\r\n CollectiveInvoice: 'CollectiveInvoice' as AccountingDocumentType,\r\n InterestNote: 'InterestNote' as AccountingDocumentType,\r\n DebitNote: 'DebitNote' as AccountingDocumentType,\r\n CreditNote: 'CreditNote' as AccountingDocumentType,\r\n Other: 'Other' as AccountingDocumentType,\r\n NoteCorrection: 'NoteCorrection' as AccountingDocumentType,\r\n InvoiceCorrection: 'InvoiceCorrection' as AccountingDocumentType,\r\n}\r\n\r\nexport const TranslatedAccountingDocumentType = {\r\n [AccountingDocumentType.Invoice]: 'Faktura rozliczeniowa',\r\n [AccountingDocumentType.PrepaymentInvoice]: 'Faktura zaliczkowa',\r\n [AccountingDocumentType.Forecast]: 'Prognoza',\r\n [AccountingDocumentType.CollectiveInvoice]: 'Faktura zbiorcza',\r\n [AccountingDocumentType.InterestNote]: 'Nota odsetkowa',\r\n [AccountingDocumentType.DebitNote]: 'Nota obciążeniowa',\r\n [AccountingDocumentType.CreditNote]: 'Nota uznaniowa',\r\n [AccountingDocumentType.Other]: 'Inna',\r\n [AccountingDocumentType.NoteCorrection]: 'Korekta noty',\r\n [AccountingDocumentType.InvoiceCorrection]: 'Korekta faktury',\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AccountingDocumentTypeFilter =\r\n | 'All'\r\n | 'CollectiveInvoice'\r\n | 'AllInvoices'\r\n | 'AllNotes'\r\n\r\nexport const AccountingDocumentTypeFilter = {\r\n All: 'All' as AccountingDocumentTypeFilter,\r\n CollectiveInvoice: 'CollectiveInvoice' as AccountingDocumentTypeFilter,\r\n AllInvoices: 'AllInvoices' as AccountingDocumentTypeFilter,\r\n AllNotes: 'AllNotes' as AccountingDocumentTypeFilter,\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AccountingDocumentsSortType =\r\n | 'DocumentNumber'\r\n | 'DocumentDate'\r\n | 'DueDate'\r\n | 'TotalAmount'\r\n\r\nexport const AccountingDocumentsSortType = {\r\n DocumentNumber: 'DocumentNumber' as AccountingDocumentsSortType,\r\n DocumentDate: 'DocumentDate' as AccountingDocumentsSortType,\r\n DueDate: 'DueDate' as AccountingDocumentsSortType,\r\n TotalAmount: 'TotalAmount' as AccountingDocumentsSortType,\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AgreementType =\r\n | 'Distribution'\r\n | 'Sales'\r\n | 'SelfComprehensive'\r\n | 'ExternalComprehensive'\r\n | 'DistributionSales'\r\n | 'SelfComprehensivePackage'\r\n | 'ExternalComprehensivePackage'\r\n | 'SalesPackage'\r\n\r\nexport const AgreementType = {\r\n Distribution: 'Distribution' as AgreementType,\r\n Sales: 'Sales' as AgreementType,\r\n SelfComprehensive: 'SelfComprehensive' as AgreementType,\r\n ExternalComprehensive: 'ExternalComprehensive' as AgreementType,\r\n DistributionSales: 'DistributionSales' as AgreementType,\r\n SelfComprehensivePackage: 'SelfComprehensivePackage' as AgreementType,\r\n ExternalComprehensivePackage: 'ExternalComprehensivePackage' as AgreementType,\r\n SalesPackage: 'SalesPackage' as AgreementType,\r\n}\r\n\r\nexport const TranslatedAgreementType = {\r\n [AgreementType.Distribution]: 'Umowa dystrybucyjna',\r\n [AgreementType.Sales]: 'Umowa Sprzedaży',\r\n [AgreementType.SelfComprehensive]: 'Umowa kompleksowa',\r\n [AgreementType.ExternalComprehensive]: 'Umowa kompleksowa',\r\n [AgreementType.DistributionSales]: 'Umowa Kompleksowa Sprzedawcy Zewnętrznego',\r\n [AgreementType.SelfComprehensivePackage]: 'Umowa kompleksowa produktowa',\r\n [AgreementType.ExternalComprehensivePackage]: 'Umowa kompleksowa produktowa',\r\n [AgreementType.SalesPackage]: 'Umowa sprzedażowa produktowa',\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type ConsentStatus = 'Accepted' | 'NotSet' | 'Declined'\r\n\r\nexport const ConsentStatus = {\r\n Accepted: 'Accepted' as ConsentStatus,\r\n NotSet: 'NotSet' as ConsentStatus,\r\n Declined: 'Declined' as ConsentStatus,\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type NewsTypeFilter = 'Unread' | 'All'\r\n\r\nexport const NewsTypeFilter = {\r\n Unread: 'Unread' as NewsTypeFilter,\r\n All: 'All' as NewsTypeFilter,\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type OrderStatus =\r\n | 'New'\r\n | 'Pending'\r\n | 'Completed'\r\n | 'CompletedWithErrors'\r\n\r\nexport const OrderStatus = {\r\n New: 'New' as OrderStatus,\r\n Pending: 'Pending' as OrderStatus,\r\n Completed: 'Completed' as OrderStatus,\r\n CompletedWithErrors: 'CompletedWithErrors' as OrderStatus,\r\n}\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type ValidationErrorEnum =\r\n | 'FakeTaxNumber'\r\n | 'CustomerNotFound'\r\n | 'TaxNumberUsed'\r\n | 'CustomerNotActive'\r\n | 'SegmentNotActive'\r\n\r\nexport const ValidationErrorEnum = {\r\n FakeTaxNumber: 'FakeTaxNumber' as ValidationErrorEnum,\r\n CustomerNotFound: 'CustomerNotFound' as ValidationErrorEnum,\r\n TaxNumberUsed: 'TaxNumberUsed' as ValidationErrorEnum,\r\n CustomerNotActive: 'CustomerNotActive' as ValidationErrorEnum,\r\n SegmentNotActive: 'SegmentNotActive' as ValidationErrorEnum,\r\n AdditionalValidationFailed: 'AdditionalValidationFailed' as ValidationErrorEnum,\r\n}\r\n","module.exports = __webpack_public_path__ + \"static/media/registerBack.6b031d35.jpg\";","module.exports = __webpack_public_path__ + \"static/media/registerBack2.5e0b2f1e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/registerBack3.b5e7f6a5.jpg\";","module.exports = __webpack_public_path__ + \"static/media/registerBack4.b03413d7.jpg\";","module.exports = __webpack_public_path__ + \"static/media/registerBack5.1935ce01.jpg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAKQ2lDQ1BJQ0MgcHJvZmlsZQAAeNqdU3dYk/cWPt/3ZQ9WQtjwsZdsgQAiI6wIyBBZohCSAGGEEBJAxYWIClYUFRGcSFXEgtUKSJ2I4qAouGdBiohai1VcOO4f3Ke1fXrv7e371/u855zn/M55zw+AERImkeaiagA5UoU8Otgfj09IxMm9gAIVSOAEIBDmy8JnBcUAAPADeXh+dLA//AGvbwACAHDVLiQSx+H/g7pQJlcAIJEA4CIS5wsBkFIAyC5UyBQAyBgAsFOzZAoAlAAAbHl8QiIAqg0A7PRJPgUA2KmT3BcA2KIcqQgAjQEAmShHJAJAuwBgVYFSLALAwgCgrEAiLgTArgGAWbYyRwKAvQUAdo5YkA9AYACAmUIszAAgOAIAQx4TzQMgTAOgMNK/4KlfcIW4SAEAwMuVzZdL0jMUuJXQGnfy8ODiIeLCbLFCYRcpEGYJ5CKcl5sjE0jnA0zODAAAGvnRwf44P5Dn5uTh5mbnbO/0xaL+a/BvIj4h8d/+vIwCBAAQTs/v2l/l5dYDcMcBsHW/a6lbANpWAGjf+V0z2wmgWgrQevmLeTj8QB6eoVDIPB0cCgsL7SViob0w44s+/zPhb+CLfvb8QB7+23rwAHGaQJmtwKOD/XFhbnauUo7nywRCMW735yP+x4V//Y4p0eI0sVwsFYrxWIm4UCJNx3m5UpFEIcmV4hLpfzLxH5b9CZN3DQCshk/ATrYHtctswH7uAQKLDljSdgBAfvMtjBoLkQAQZzQyefcAAJO/+Y9AKwEAzZek4wAAvOgYXKiUF0zGCAAARKCBKrBBBwzBFKzADpzBHbzAFwJhBkRADCTAPBBCBuSAHAqhGJZBGVTAOtgEtbADGqARmuEQtMExOA3n4BJcgetwFwZgGJ7CGLyGCQRByAgTYSE6iBFijtgizggXmY4EImFINJKApCDpiBRRIsXIcqQCqUJqkV1II/ItchQ5jVxA+pDbyCAyivyKvEcxlIGyUQPUAnVAuagfGorGoHPRdDQPXYCWomvRGrQePYC2oqfRS+h1dAB9io5jgNExDmaM2WFcjIdFYIlYGibHFmPlWDVWjzVjHVg3dhUbwJ5h7wgkAouAE+wIXoQQwmyCkJBHWExYQ6gl7CO0EroIVwmDhDHCJyKTqE+0JXoS+cR4YjqxkFhGrCbuIR4hniVeJw4TX5NIJA7JkuROCiElkDJJC0lrSNtILaRTpD7SEGmcTCbrkG3J3uQIsoCsIJeRt5APkE+S+8nD5LcUOsWI4kwJoiRSpJQSSjVlP+UEpZ8yQpmgqlHNqZ7UCKqIOp9aSW2gdlAvU4epEzR1miXNmxZDy6Qto9XQmmlnafdoL+l0ugndgx5Fl9CX0mvoB+nn6YP0dwwNhg2Dx0hiKBlrGXsZpxi3GS+ZTKYF05eZyFQw1zIbmWeYD5hvVVgq9ip8FZHKEpU6lVaVfpXnqlRVc1U/1XmqC1SrVQ+rXlZ9pkZVs1DjqQnUFqvVqR1Vu6k2rs5Sd1KPUM9RX6O+X/2C+mMNsoaFRqCGSKNUY7fGGY0hFsYyZfFYQtZyVgPrLGuYTWJbsvnsTHYF+xt2L3tMU0NzqmasZpFmneZxzQEOxrHg8DnZnErOIc4NznstAy0/LbHWaq1mrX6tN9p62r7aYu1y7Rbt69rvdXCdQJ0snfU6bTr3dQm6NrpRuoW623XP6j7TY+t56Qn1yvUO6d3RR/Vt9KP1F+rv1u/RHzcwNAg2kBlsMThj8MyQY+hrmGm40fCE4agRy2i6kcRoo9FJoye4Ju6HZ+M1eBc+ZqxvHGKsNN5l3Gs8YWJpMtukxKTF5L4pzZRrmma60bTTdMzMyCzcrNisyeyOOdWca55hvtm82/yNhaVFnMVKizaLx5balnzLBZZNlvesmFY+VnlW9VbXrEnWXOss623WV2xQG1ebDJs6m8u2qK2brcR2m23fFOIUjynSKfVTbtox7PzsCuya7AbtOfZh9iX2bfbPHcwcEh3WO3Q7fHJ0dcx2bHC866ThNMOpxKnD6VdnG2ehc53zNRemS5DLEpd2lxdTbaeKp26fesuV5RruutK10/Wjm7ub3K3ZbdTdzD3Ffav7TS6bG8ldwz3vQfTw91jicczjnaebp8LzkOcvXnZeWV77vR5Ps5wmntYwbcjbxFvgvct7YDo+PWX6zukDPsY+Ap96n4e+pr4i3z2+I37Wfpl+B/ye+zv6y/2P+L/hefIW8U4FYAHBAeUBvYEagbMDawMfBJkEpQc1BY0FuwYvDD4VQgwJDVkfcpNvwBfyG/ljM9xnLJrRFcoInRVaG/owzCZMHtYRjobPCN8Qfm+m+UzpzLYIiOBHbIi4H2kZmRf5fRQpKjKqLupRtFN0cXT3LNas5Fn7Z72O8Y+pjLk722q2cnZnrGpsUmxj7Ju4gLiquIF4h/hF8ZcSdBMkCe2J5MTYxD2J43MC52yaM5zkmlSWdGOu5dyiuRfm6c7Lnnc8WTVZkHw4hZgSl7I/5YMgQlAvGE/lp25NHRPyhJuFT0W+oo2iUbG3uEo8kuadVpX2ON07fUP6aIZPRnXGMwlPUit5kRmSuSPzTVZE1t6sz9lx2S05lJyUnKNSDWmWtCvXMLcot09mKyuTDeR55m3KG5OHyvfkI/lz89sVbIVM0aO0Uq5QDhZML6greFsYW3i4SL1IWtQz32b+6vkjC4IWfL2QsFC4sLPYuHhZ8eAiv0W7FiOLUxd3LjFdUrpkeGnw0n3LaMuylv1Q4lhSVfJqedzyjlKD0qWlQyuCVzSVqZTJy26u9Fq5YxVhlWRV72qX1VtWfyoXlV+scKyorviwRrjm4ldOX9V89Xlt2treSrfK7etI66Trbqz3Wb+vSr1qQdXQhvANrRvxjeUbX21K3nShemr1js20zcrNAzVhNe1bzLas2/KhNqP2ep1/XctW/a2rt77ZJtrWv913e/MOgx0VO97vlOy8tSt4V2u9RX31btLugt2PGmIbur/mft24R3dPxZ6Pe6V7B/ZF7+tqdG9s3K+/v7IJbVI2jR5IOnDlm4Bv2pvtmne1cFoqDsJB5cEn36Z8e+NQ6KHOw9zDzd+Zf7f1COtIeSvSOr91rC2jbaA9ob3v6IyjnR1eHUe+t/9+7zHjY3XHNY9XnqCdKD3x+eSCk+OnZKeenU4/PdSZ3Hn3TPyZa11RXb1nQ8+ePxd07ky3X/fJ897nj13wvHD0Ivdi2yW3S609rj1HfnD94UivW2/rZffL7Vc8rnT0Tes70e/Tf/pqwNVz1/jXLl2feb3vxuwbt24m3Ry4Jbr1+Hb27Rd3Cu5M3F16j3iv/L7a/eoH+g/qf7T+sWXAbeD4YMBgz8NZD+8OCYee/pT/04fh0kfMR9UjRiONj50fHxsNGr3yZM6T4aeypxPPyn5W/3nrc6vn3/3i+0vPWPzY8Av5i8+/rnmp83Lvq6mvOscjxx+8znk98ab8rc7bfe+477rfx70fmSj8QP5Q89H6Y8en0E/3Pud8/vwv94Tz+4A5JREAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAR3klEQVR42uzd+XPXhZ3H8VxAwhHu+z5DDrXV2rpY62rlThEDBHVdu3Vx22k79Win3XasdnS322Nbbd3utrWWXXtQQiSUowFRF1e0OGIXlxyEQAwQUggJkAQScn2/G+BP6DrTnffjMUz+gNfw+Ty/3/zwTmoymUwBIJ40EwAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgDAn7MME7xP9rQeNwL86TLTMm4aNskOAvD/yW0HNxgB/kRZaRm7C9ba4X3iV0DAn+vn09S0TfNX3pw9xRQCAMTy/Nyly0fNtoMAALF8f+bt948rsIMAALF8dcpNj0y+0Q4CAMTyt+Ov/ccZt9pBAIBYikbP+8mcJamGEAAglNuGT9swf0V6qve/AACRXD90fFlu0cDUdFMIABDInMyRO/OLh2cMMoUAAIFMHjhsd8HasQMGm0IAgEBGZAwqz18zI3O4KQQACCQrLWNH3pprhow1hQAAgQxITSvNXbkge7IpBACI5edzly0b6dSPAADBPDPr4/eNy7eDAACxPDZ1wUOTPmQHAQBieXDCdU9Nv8UOAgDEsmpMzr/NXmwHAQBiuX3E9F/nfMKpHwEAYrlh6ISy3Luc+hEAIJa5WSPL89dkpzv1IwBAJFdO/dzt1I8AALGMysjcVVA8fVC2KQQACOTyqZ/8NfmDx5hCAIBABqSmbc6966Zhk0whAEAs/zFv+ZKRs+wgAEAsP5h1xz1j8+wgAEAsX5+64AuTbrCDAACxfHrCB5506kcAgGhWj8n50exFdhAAIJY7Rsz4lVM/AgBEc+PQiU79CAAQTk7WqB35q4emDzSFAACBXDn1s9apHwEAYhmdkfVSQfFUp34EAAjlyqmf1XlO/QgAEMqA1LSy3KKPOPUjAEAoqSkpL8wrXDxypikEAIjlh7MX3j021w4CAMTyxLSbPz/xejsIABDL5yZe/41pH7WDAACxFI+Z/4NZd9hBAIBYFo6Y8YucQqd+BACI5cPDJpblFjn1IwBALPOzRm/PWz0kfYApBAAIxKkfAQAiGjMgq//tP2XQMFMIABDIkPQBO/LW5A4ebQoBAAK5eurnw8MmmkIAgFDvhdRf5nxi4YgZphAAIJZnZy8sHjPfDgIAxPKNaR/97MQP2kEAgFg+P/H6J6bdbAcBAGJZOyb3B7Od+hEAIJhFI2a+kLM8LcWpHwEAIvnIsElleXc59SMAQCx5g8fsyF89OM2pHwEAIpk6KHtXfvHojCxTCAAQiFM/AgBENDR94O/y1+RkjTKFAACBXDn1c9eNQ536EQAg1mOf+qucT9zh1I//CSaAaP51zqI1Tv0gABDNk9Nv+fSED9gBAYBYvjDphq9PXWAHBABiuXds3jOznPpBACCYJSNnrZ+3zKEfBABiuWnYpBdzVzr1gwBALPmXT/2sceoHAYBYpg3K3plfPCoj0xQIAATi1A8CABFlpw/q/+w/z6kfBABCuXrq54ahE0yBAECopzp1Q86K20dMNwUCALH8eM7iVWNy7IAAQCxPTb/lwQnX2QEBgFgemvShx5z6QQAgmvvG5T896+N2QAAglqUjZz0/d6lTPwgAxLIge3KpUz8IAERTMHjsjjynfhAACGZG5vCdBWtGZAwyBQIAgVw99TN5oFM/CABEkp0+aFf+2jmZI02BAEAgA1PTt+QVXT90vCkQAAj10KZumL/ituHTTIEAQCw/mbO4aPQ8OyAAEMs3Z9y6zqkfBACieWTyjV+dcpMdEACI5f5xBd+bebsdEACIZfmo2U79IAAQzs3ZU0rm35mR6mlFACCSK6d+Vjv1gwBALDMzh+8qKB7u1A8CAKGMHTD4pYK1kwYONQUCAIFcOfVT7NQPAgCxZKZlbM1b9UGnfhAACPZMpm7IWXHr8KmmQAAglufmLlk5eq4dEACI5dsz/vKB8dfaAQGAWB6dfOOXp3zEDggAxPLJcQX/7NQPAgDRFF4+9bPMqR8EAGL5aPaUjfPvTE/1/kcAIJJrh4zd7tQPAgDRzM4csSt/rVM/CADEMn7AkJ0FxRMGDjEFAgCBXD71U+DUDwIAwWSlZWzLW3XdkHGmQAAg1CN3+dTPx5z6QQAgmp/NXXqnUz8IAETz3Zm3fWr8NXZAACCWL03+cP8/OyAAEEv/B//vzLzNDggAxHLn6LnPzVnq1AMCALF8bPjUDTkrnPpBACCW64aM25q7KistwxQIAARy+dRPQbFTPwgAxDJh4JBdBWvHD3DqBwGASC6f+slf2/8NwBQIAASSlZaxPX/1tUPGmgIBgEDSU1NL5q+8JXuKKRAAiOX5ucsKR822AwIAsXxv5u2fHFdgBwQAYvnKlJsenXyjHRAAiOWB8df+04xb7YAAQCwrR8/96ZwlTj0gABDLrU79IAAQ0AeGjPtt7qpMp34QAAhlduaIlwrWOvWDAEAskwYO3V1w99gBg02BAEAg/Z/6d+YXz8wcbgoEAALJSsvYkbf6Gqd+EAAIJSM1bdP8lTc79YMAQDTPz1263KkfBACi+f7M2+936gcBgGi+NvUvHnHqBwGAaNZNuO4fpn/MDggAxFI0et6PZy926gEBgFhuGz5tw3ynfhAACOb6oePLcosGpqabAgGAQOZkjtyZX+zUDwIAsUweOGx3wVqnfhAAiGVExqDy/DUznPpBACCUK6d+1jj1gwBALANS017MvWtB9mRTIAAQy/p5y5eOnGUHBABieWbWx/9qbJ4dEACI5bGpCx6a9CE7IAAQS+7g0U9Ov8UOCACEU93R8tix/7IDAgARffPE759p3G8HBAAieqTulV+fqbIDAgAR/c3hHTvP1dkBAYBwepKJouqyt9obTYEAQDidid7CqtJDnS2mQAAgnOaezoUVGxu62k2BAEA4/W//xZUlZ3svmQIBgHCqOpoLK0s7Ej2mQAAgnN+3n1xdvaUnmTAFAgDhlJ+rW1dbnjQEAgABvdBU8aX3XrUDAgARff/k299teMsOCABE9OX6Pf9++qAdEACIaN2R8u1nj9oBAYBw+pLJ4kNb3mhrMAUCAOFcPRRR0XHGFAgAhHO+t2tJxaZjXW2mQAAgnJPd7YsqNp7p6TAFAgDhHO48u7yy9GKfQxEIAMTz9oU/3lW9uTvZZwoEAMLZfb7+/podDkUgABDRxubqh+tetgMCABH9sPGdp068aQcEACJ6/NjrPzv1rh0QAIjo00d2lbUctgMCAOEkUpL31Gx9rfWEKRAACKcr0bei6sV3LzaZAgGAcNr6upZUlhy9dN4UCACEc6r74uKKjU0ORSAAEFD/N4D+7wGtvV2mQAAgnP++cHqlQxEIAMS0p/X4vTXb+pJORSAAEM+LzTWfO/qSHRAAiOgnpw48cXyvHRAAiOjJ42/86I9/sAMCABF94ejLJc2H7IAAQDiJlOR9NdtePl9vCgQAwulJJoqqy965cMoUCACE097XvaSypLbznCkQAAinuadzUeXGxu4LpkAAIJz6S60ORSAAENTBi2cKq0o7Ej2mQAAgnL1tDQ5FIAAQ1G9bav/uyE4FQAAgop+f/p+v1b9mBwQAIvpWw75nGvfbAQGAiB6pe+VXZ6rsgABARJ86vGPnuTo7IAAQztVDEW+1N5oCAYBwOhO9hVWl1R0tpkAAIJyrhyIautpNgQBAOP1v/8WVJWd7L5kCAYBwqjqal1ducigCAYCI9rU3rq7e0pNMmAIBgHDKz9Wtqy13KAIBgIheaKr44nuv2gEBgIiePvn2dxvesgMCABF9uX7P+tMH7YAAQETrasu3nz1qBwQAwkmkJIsPbXmjrcEUCACE05noXV5VevDiGVMgABBOa2/X0spNx7raTIEAQDgnu9sXVWw809NhCgQAwjnceXZZ5aYLfd2mQAAgnP0XThVVl3Un+0yBAEA4u8/X31+zI5HiVAQCAPFsbK5+uO4VOyAAENGzje88deJNOyAAENHjx15/7tS7dkAAIKLPHNm1ueWwHRAACCeRkry3ZutrrSdMgQBAOF2JvhVVLx642GQKBADCaevrWlJRcvTSeVMgABDO6Z6Liys2NjkUgQBAQP3fAPob0NrbZQoEAMI5cLFpZfVmhyIQAIhoT+vxe2u29SUdikAAIJ4Xm2s+e/QlOyAAENFPTx144vheOyAAENGTx9/4lz/+wQ4IAET00NGXS5oP2QEBgHASKcn7ara9fL7eFAgAhNOTTBRVl+2/cMoUCACE097XvbSypLbznCkQAAinuadzUeXGxu4LpkAAIJz6S62LK0ocikAAIKKKjjOFVaUdiR5TIAAQzt62hnsObXUoAgGAiLaePfLgkXIFEAAgovWnD36t/jU7CAAQ0bca9j198m07CAAQ0aPvvfrLpko7CAAQ0QO1v9t5rs4OAgCEc/VQxL72RlMIABBOZ6K3sLK0uqPFFAIAhNPSe/lQRENXuykEAAin/+3f34D+EphCAIBwqjtaCisdihAAIKR97Y2rq7d0J/tMIQBAOOXn6tbVOhQhAEBIv2iq/OJ7r9pBAICInj759nca3rKDAAARfaV+z/rTB+0gAEBE62rLt589agcBAMJJpCSLD23Z29ZgCgEAwrl8KKKq9ODFM6YQACCc1t6upZWbjnW1mUIAgHBOdrcvrPjNmZ4OUwgAEE5t57lllZsu9HWbQgCAcPZfOFVUXeZQhAAAEe0+X//XNdsTKU5FCAAQT0nzoYfrXrGDAAARPdv4zlMn3rSDAAARPX7s9edOvWsHAQAi+syRXZtbDttBAIBwEinJew5t3dN63BQCAITTney7s2rzgYtNphAAIJy2vq4lFSVHLp0zhQAA4ZzuudjfgP6fphAAIJyjl873N6C1t8sUAgCEc+Bi08rqzV0JhyIEAIhnT+vxe2u29iUdihAAIJ7NLYc/e/QlOwgAENFPTx14/NjrdhAAIKKnTrz5bOM7dhAAIKKH614paT5kBwEAwkmkJO+r2bb7fL0pBAAIpyeZKKou23/hlCkEAAjnQl/30sqS2k6HIgQAiKe5p3NhxW9OdrebQgCAcI51tS2p2ORQhAAAEVV0nCmsKu1I9JhCAIBw9rY13H3IoQgBAELadvbIg0fKFUAAgIjWnz741frX7CAAQETfbtj39Mm37SAAQESPvvfqL5sq7SAAQEQP1P6u/FydHQQACKcnmVhVXbavvdEUAgCE05noLawsre5oMYUAAOG09HYurNjY0OVQhAAA8Zzsbl9UubG/BKYQACCc6o6WwkqHIgQACGlfe+Oq6i3dyT5TCAAQzs5zdetqHYoQACCkXzRVPlr3ih0EAIjomcb9327YZwcBACL6+/rX1p8+aAcBACJaV1u+9ewROwgAEE4iJXn3od/ubWswxfskwwTvk/+85h4jwP/BSyrV59T3S2rS32YDCElaAQQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAABAAAAQAAAEAQAAAEAAABAAAAQBAAAAQAAAEAAABAEAAAATABAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAAIAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgCAAAAgAAACAIAAACAAAAgAAAIAgAAAIAAACAAAAgDAn7X/FWAAGFudjkIxjVcAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAPKADAAQAAAABAAAAPAAAAACL3+lcAAAEXUlEQVRoBe2ZWUxTURCGf9oiqyAIoqKgiIALcV8jCRhi8MlEfBKNYowxRo3G6IuaGOODRn3Q+ISaGJcnlweNcYngQlziUoPKokEWQxUtAlK2QgvOwZSo5Zz20sK5hTsvbc9Mz53vzL1z5sz1iyy42o1hJLphxNqDqgEP9YhrEdYiPMRWQLulh1hAnXC0CDstyRAb0CI82AGNCwxGcnAYBmvlDYMN6LheqN6As9MXYUXUuJ6hspYm7Ch9BaOlwWEyIJ+DtbBOzu+dNK0XlilTQsJwa046ssdMdLL15oA04PTIGCeOQL0eeTMW4UDCTPg5ab0zIA3Y3GHlEuyOT8Hl1KVgt723RRrwqeoy2Lq6uDxZUeNxb14G4gNDuDb9UUgDLmw0Y2PxCzTbbFy/U0LC8WD+ciwbFc21UaqQBswcvVP3FVnGAlS3tXD9jvQPwPVZacgdn8C1UaKQCswcLaXtKPNNPp42mLl+G3Q6nEieixNJc6D38yydSQdmlPWdHVhd9AQXTBVcaKbIjZ2CGxTtCMMIoZ1IqQpg5qCtuxt7Phmx79NbYTJbFjGm57lm+3Z/RDXADufPmz5jTVEhGijqPJkUFIq7czOQNfpPlcaz62tcdcDMSZbBM1/ng5WbPBlp8Mcl2qt3xSXzTPocVyUw87SqvQVZbwpwjzI5T3SUwA5OSUXe9IUIoMTmjrhn5c5MA2BjsduQ8/4ZTld/FM6eHROH21SHjx0RKLRjSj/RqxaWGI5OnY0FYaPB6ly1i7XLjq0lL3HTbOK6yo1wGD0jbMNPo6zoC7CMMECnx7kZixEbEKQcOJ1Axwr+yJ1RsoIVJltiE7lecCPM/YePK7jAjxp+oNba5nN4dipg8kzlXL+5wE22TmRTAVBI4O12O3cCNSlY0tpMJzCTIFDCLK0GGHZUOER77XYXBYaxqR7raQur7WgXuu39loLwcsqUI6njcY5aPpkuSshr379gZ9lrWAUNBceVVQucQPXyFSodkwSHhC56Xo9UfMCpL+LCxAHLPlUJnBERg/MU2XB//jHQQjlmCxUZ939++5vH5XfVAW+dkIjDibOEB/3KtmbkvHuKj60Wl4D/G6gG2J8KBtbVWDdu8v8+/vP7cf13bKJM3EgR7o+oAjia+lYXU5dgYXiUkOFsTTn2lxeB7bX9FenAqaGjepJTLL1j4kknZd+91Am59K2SZ+L2uFTgVdETcGbafAQLGu511LDf8OE5XvyqcxtKZCgNmGVitseyQzxPipsbsfbdM9RYW3kmiselAe+ISxLC3jLXYFvJK7RSuehNkQbMGux9STclpONVpThWVdKX2uMx7uHB45ldTJBfX+tk0UotHbblDBQsu6A04JMUxZs/anqh31sasdL4UNie6TX24Iv00xJrvAVRv6xS8H7JAz6nv0p7hh2euDrOOey89SntlvYWgNJ5NGClK+Zr9lqEfS1iSv3VIqx0xXzNXouwr0VMqb9ahJWumK/Z/wZKFSiad1aGZwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAPKADAAQAAAABAAAAPAAAAACL3+lcAAAEe0lEQVRoBe2ZW0xcRRjH/wvL/VYQSum22GJt6V1oRVJpRNtYTIxtgm/4UIy1PGjSF6NRHwyJiTUxseKDVkybtDY11heaNJEIbUqxWKU3yi2lBRq2YBcKcl/YBb8hrja7fAO7nLPncHrm5eyZb2b2/5tvLt/MsSRV/zSNxyiFPEasM6gmsNE9bnrY9LDBesAc0gZzqA+O6WGfLjFYhulhNRwqenVddDzSI6PVaN6vNq1+lQ6gcHZcIsrWP4vMmPiZ2pW93TjQ9DuG3a4AWlt4FVWHdOHSlTiblf8frJD7cnIa3lu1fuHKA2xBFWALifk4YxOObnwOkaGhPtLyk1J98oKVofiQjg214tsNOShIXs4yOCacrE1tg6LAT0bG4NSWHTSEE1jdrqkpfNnZwtrVNigGnLckBcc25SIpLILVPOxyoaT5Ci4NONgyahsUAS5enoHPnn4G1hB+SegcG0FRQy2aRwbVZpK2vyDgUIsFhwm02PaU9E9q+x3Y33gZDycnpOWCYQwYONEajuM0hPMSl0p1Hrffxfu3r8E1rY+7woCARRDxw+YdWBUVy8KKxenDthv43n6HLaOFwW/ggifS8A1tO3HWMFZvPw3d4luXUaPh4sSJ8wv4UPo6fEQBRQjNXS610KJUdLMWHeMjXBFN8+cFHEGrb1nmdhSmpkvF/tJ7HwebrmBIozhZKu5f45zAy8IjcZLma1Z8krS9rzpbUXq3AfpYmnipFtmnltdSbDPzNSLENx7mm9TGMu5244/BPnxw+zrEtOISGynYIqJQvjEXiwFWwIlDyk7aIn/euhPxkgWVBX7btgYisFhsaRk5Kl8SG7DAiw10vnpZ4KP2Nrh1Eh3NF0aU63GO4UL/A7YKC2ynim811sE55WYr68kgFq0aAi28UYNB1yQrTbpKi1piWzpB21L2HNvS1/da8ckd/W9LrIc9XdQzMY5Xr13Amb/uebJmfb5DUdjpLc8jjm489JzmBBbinXQQEBFUKXlwSjKvd1OcXbntJWRIDhVad8a8gD0ij9CwLWr4DUOSObKWTlK/EvSLidpd1Hn0zvb0C1g0UNnXjT311WgfG56tvZm8hLBw/Lg1DyUr1rBltDL4DSyEto4OYfefVbgoWf5F0PIp3YYcydyGMB0FMAEBC+gBGtav0xbwXVebeGXTG2mrUZH1AlIkl3tsZRUMAQMLLSIwEcH6oZZ6TNLCxqWchGRUbd+FzbFLuCJBy18QsEflie527Lt+Eb2SC3YbfUg7l52PvSkrPNU0eSoCLJTX/d2LXTSvG4cHWJBo2qPL6fOLliu4YsCCsss5ioL68zjr6GKhxfXQu+lrWbvaBkWBhdhRir3336rD5+1NmGaCFNnXiUUH7BF8uKMJb9LhY3SW+62qhz2eYkF/Ku7hRwkqHHa8cvU8Gob+n9cVD7rwRUfzo8WC+nvO05JSalZHxWCMjnDiMKJlCtrRpp0+pukhqTqk9QDorcEE9u4Ro72bHjaaR715TA9794jR3k0PG82j3jymh717xGjv/wCsFi6xm+EHtgAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/registerAppImg.7ee01ddd.png\";","module.exports = __webpack_public_path__ + \"static/media/Info.e7d1827a.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo_autopay.8b01250b.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/my-centrum-bg.847cbad9.png\";","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type DocumentType =\r\n | 'PrivacyPolicy'\r\n | 'Terms'\r\n | 'ElectronicContact'\r\n | 'PhoneContact'\r\n | 'CookiesPolicy'\r\n | 'Faq'\r\n | 'EInvoice'\r\n | 'EInvoiceTerms'\r\n | 'EInvoiceTermsAcceptance'\r\n\r\nexport const DocumentType = {\r\n PrivacyPolicy: 'PrivacyPolicy' as DocumentType,\r\n Terms: 'Terms' as DocumentType,\r\n ElectronicContact: 'ElectronicContact' as DocumentType,\r\n PhoneContact: 'PhoneContact' as DocumentType,\r\n CookiesPolicy: 'CookiesPolicy' as DocumentType,\r\n Faq: 'Faq' as DocumentType,\r\n EInvoice: 'EInvoice' as DocumentType,\r\n EInvoiceTerms: 'EInvoiceTerms' as DocumentType,\r\n EInvoiceTermsAcceptance: 'EInvoiceTermsAcceptance' as DocumentType\r\n}\r\n","export enum StoreReducers {\r\n userAccount = 'userAccount',\r\n userConsents = 'userConsents',\r\n ui = 'ui',\r\n payments = 'payments',\r\n persistedSettings = 'persistedSettings',\r\n policies = 'policies',\r\n offers = 'offers',\r\n administration = 'administration',\r\n trustedMfaDevices = 'trustedMfaDevices',\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport { PersistConfig, persistReducer } from 'redux-persist'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport storage from 'redux-persist/lib/storage'\r\n\r\nexport type ModalType =\r\n | 'error'\r\n | 'success'\r\n | 'info'\r\n | 'overpay'\r\n | 'environment'\r\n | 'report'\r\n | 'paymentWait'\r\n | 'paymentDone'\r\n\r\nexport interface UiState {\r\n modal: {\r\n isOpen: boolean\r\n type?: ModalType\r\n title?: string\r\n subtitle?: string | JSX.Element\r\n amount?: string | JSX.Element\r\n subtitle2?: string | JSX.Element\r\n text?: string | JSX.Element\r\n text2?: string\r\n withSubmitButton: boolean\r\n withCancelButton: boolean\r\n smallSubtitle: boolean\r\n subtitleWithMargin: boolean\r\n onSubmit?: () => void\r\n onCancel?: () => void\r\n submitButtonText?: string\r\n cancelButtonText?: string\r\n }\r\n alreadySavedFormFields: {\r\n id: string\r\n isAgreementEmail?: boolean\r\n }[]\r\n alreadySavedInvoiceTypeRequests: string[]\r\n cookiesSettingsDialog: {\r\n isOpen: boolean\r\n }\r\n isChangePhoneAndModifyMfaPath: boolean\r\n}\r\n\r\nconst initialState: UiState = {\r\n modal: {\r\n isOpen: false,\r\n type: undefined,\r\n withCancelButton: true,\r\n withSubmitButton: false,\r\n onSubmit: undefined,\r\n onCancel: undefined,\r\n title: undefined,\r\n subtitle: undefined,\r\n text: undefined,\r\n text2: undefined,\r\n smallSubtitle: false,\r\n subtitleWithMargin: false,\r\n submitButtonText: undefined,\r\n cancelButtonText: undefined,\r\n },\r\n alreadySavedFormFields: [],\r\n alreadySavedInvoiceTypeRequests: [],\r\n cookiesSettingsDialog: {\r\n isOpen: false,\r\n },\r\n isChangePhoneAndModifyMfaPath: false,\r\n}\r\n\r\nexport const uiSlice = createSlice({\r\n name: StoreReducers.ui,\r\n initialState,\r\n reducers: {\r\n hideModal: state => {\r\n state.modal.isOpen = false\r\n },\r\n showModal: (\r\n state,\r\n action: {\r\n payload: {\r\n type?: ModalType\r\n withCancelButton?: boolean\r\n withSubmitButton?: boolean\r\n title?: string\r\n subtitle?: string | JSX.Element\r\n text?: string | JSX.Element\r\n text2?: string\r\n smallSubtitle?: boolean\r\n subtitleWithMargin?: boolean\r\n onSubmit?: () => void\r\n onCancel?: () => void\r\n submitButtonText?: string\r\n cancelButtonText?: string\r\n }\r\n }\r\n ) => {\r\n state.modal = {\r\n ...initialState.modal,\r\n isOpen: true,\r\n ...action.payload,\r\n }\r\n },\r\n addSavedFormField: (\r\n state,\r\n { payload }: { payload: { id: string; isAgreementEmail?: boolean } }\r\n ) => {\r\n state.alreadySavedFormFields = [...state.alreadySavedFormFields, payload]\r\n },\r\n addSaveInvoiceTypeRequests: (state, { payload }: { payload: string }) => {\r\n state.alreadySavedInvoiceTypeRequests = [\r\n ...state.alreadySavedInvoiceTypeRequests,\r\n payload,\r\n ]\r\n },\r\n removeSavedFormField: (\r\n state,\r\n { payload }: { payload: { id?: string } }\r\n ) => {\r\n state.alreadySavedFormFields = state.alreadySavedFormFields.filter(\r\n field => field.id !== payload.id\r\n )\r\n },\r\n switchCookiesDialog: (state, action: { payload: boolean }) => {\r\n state.cookiesSettingsDialog = {\r\n isOpen: action.payload,\r\n }\r\n },\r\n setIsChangePhoneAndModifyMfaPath: (state, action: { payload: boolean }) => {\r\n state.isChangePhoneAndModifyMfaPath = action.payload\r\n },\r\n },\r\n})\r\n\r\nexport const uiActions = uiSlice.actions\r\n\r\nconst persistConfig: PersistConfig = {\r\n key: StoreReducers.ui,\r\n storage: storage,\r\n whitelist: ['alreadySavedInvoiceTypeRequests'],\r\n}\r\n\r\nexport const persistUiReducer = persistReducer(persistConfig, uiSlice.reducer)\r\n","import { uiActions } from './ui'\r\nexport const {\r\n hideModal,\r\n showModal,\r\n addSavedFormField,\r\n addSaveInvoiceTypeRequests,\r\n removeSavedFormField,\r\n switchCookiesDialog,\r\n setIsChangePhoneAndModifyMfaPath,\r\n} = uiActions\r\n","import { forEachObjIndexed } from 'ramda'\r\nimport { AnyAction, Middleware } from 'redux'\r\nimport { RootState } from '../rootReducer'\r\nimport { AppDispatch } from '../store'\r\n\r\nexport interface IActionsHandlerCallback {\r\n action: AnyAction\r\n dispatch: AppDispatch\r\n state: RootState\r\n}\r\n\r\nexport interface IActionsHandler {\r\n actionTypes: string[]\r\n callback: (response: IActionsHandlerCallback) => void\r\n}\r\n\r\nexport class actionsInterceptorMiddleware {\r\n static actionHandlers: { [id: string]: IActionsHandler } = {}\r\n\r\n static addManyActionsCallback(actionsHandlers: IActionsHandler[]) {\r\n actionsHandlers.forEach(actionsHandler => {\r\n actionsInterceptorMiddleware.addActionsCallback(actionsHandler)\r\n })\r\n }\r\n\r\n static addActionsCallback(actionsHandler: IActionsHandler) {\r\n const handlerId = '_' + Math.random().toString(36).substr(2, 9)\r\n\r\n this.actionHandlers[handlerId] = actionsHandler\r\n\r\n return () => actionsInterceptorMiddleware.removeListener(handlerId)\r\n }\r\n\r\n static addActionsPromise(actionTypes: string[]) {\r\n let cleanAction: ReturnType\r\n return new Promise(resolve => {\r\n cleanAction = this.addActionsCallback({\r\n actionTypes,\r\n callback: resolve,\r\n })\r\n }).then(result => {\r\n cleanAction()\r\n return result as IActionsHandlerCallback\r\n })\r\n }\r\n\r\n static removeListener(key: string) {\r\n delete actionsInterceptorMiddleware.actionHandlers[key]\r\n }\r\n\r\n static middleWareFn: Middleware = store => next => action => {\r\n next(action)\r\n forEachObjIndexed(actionHandler => {\r\n if (actionHandler.actionTypes.includes(action.type)) {\r\n actionHandler.callback({\r\n action,\r\n dispatch: store.dispatch,\r\n state: store.getState(),\r\n })\r\n }\r\n }, actionsInterceptorMiddleware.actionHandlers)\r\n\r\n return\r\n }\r\n}\r\n","export enum EntityReducers {\r\n test = 'test',\r\n customerNumbers = 'customerNumbers',\r\n userConsents = 'userConsents',\r\n userAgreements = 'userAgreements',\r\n documents = 'documents',\r\n readings = 'readings',\r\n measurementPoints = 'measurementPoints',\r\n news = 'news',\r\n userNotifications = 'userNotifications',\r\n}\r\n","import { EntityAdapter, EntityState } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from '../EntityReducers'\r\n\r\nexport interface IEntityAdapterConfig {\r\n entityName: EntityReducers\r\n selectId?: (el: T) => string | number\r\n sortComparer?: (a: T, b: T) => number\r\n additionalState?: S\r\n additionalReducers?: {\r\n [type: string]: (state: S & BaseState, action: any) => void\r\n }\r\n}\r\n\r\nexport interface LoadingState {\r\n loadingPending: number\r\n error: string | null\r\n total: number\r\n}\r\n\r\nexport const initialLoadingState: LoadingState = {\r\n loadingPending: 0,\r\n error: null,\r\n total: 0,\r\n}\r\n\r\nexport interface BaseState extends LoadingState, EntityState {}\r\n\r\nexport type ExtendedBaseState = BaseState & S\r\n\r\nexport const getEntityAdapterReducers = (adapter: EntityAdapter) => ({\r\n addOne: adapter.addOne,\r\n removeOne: adapter.removeOne,\r\n updateOne: adapter.updateOne,\r\n upsertOne: adapter.updateOne,\r\n addMany: adapter.addMany,\r\n removeMany: adapter.removeMany,\r\n updateMany: adapter.updateMany,\r\n upsertMany: adapter.upsertMany,\r\n removeAll: adapter.removeAll,\r\n setAll: adapter.setAll,\r\n})\r\n\r\nexport const getBaseState = (\r\n adapter: EntityAdapter,\r\n additionalState?: S\r\n) =>\r\n ({\r\n ...adapter.getInitialState(),\r\n ...initialLoadingState,\r\n ...additionalState,\r\n } as ExtendedBaseState)\r\n","import { EntityReducers } from '../../EntityReducers'\r\nimport { apiAction, handleLoadingAction } from './entityThunksFactory'\r\nimport {\r\n createAsyncThunk,\r\n ActionReducerMapBuilder,\r\n EntityAdapter,\r\n AsyncThunk,\r\n} from '@reduxjs/toolkit'\r\nimport { RootState } from '../../../rootReducer'\r\nimport { BaseState } from '../entityReducerHelpers'\r\n\r\nexport interface IFetchByIdPayload {\r\n id: string\r\n force?: boolean\r\n}\r\n\r\nexport const getByIdThunk = (\r\n name: EntityReducers | undefined,\r\n getAction: apiAction\r\n) => {\r\n return createAsyncThunk(\r\n `${name}/fetchById`,\r\n async ({ id }: IFetchByIdPayload, thunkApi) => {\r\n const [execute] = getAction({ payload: id, thunkApi })\r\n const response = await execute()\r\n return response.data\r\n },\r\n {\r\n condition: ({ id, force }: IFetchByIdPayload, { getState }) => {\r\n const state = (getState() as RootState)[name as EntityReducers]\r\n\r\n const entity = state.entities[id]\r\n if (!force && !!entity) {\r\n // Already fetched or in progress, don't need to re-fetch\r\n return false\r\n }\r\n },\r\n }\r\n )\r\n}\r\n\r\nexport const getByIdExtraReducers = (\r\n thunk: AsyncThunk,\r\n builder: ActionReducerMapBuilder>,\r\n adapter: EntityAdapter\r\n) => {\r\n if (thunk) {\r\n builder.addCase(thunk.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n adapter.upsertOne(state, payload as T)\r\n })\r\n\r\n handleLoadingAction(thunk, builder)\r\n }\r\n}\r\n","import {\r\n ThunkDispatch,\r\n AnyAction,\r\n AsyncThunk,\r\n ActionReducerMapBuilder,\r\n} from '@reduxjs/toolkit'\r\nimport { ApiClientReturnType } from '@core/apiClient/apiClient'\r\nimport { LoadingState } from '../entityReducerHelpers'\r\n\r\nexport interface IThunkApi {\r\n dispatch: ThunkDispatch\r\n getState: () => unknown\r\n}\r\n\r\nexport interface IApiActionProps

{\r\n payload?: P\r\n thunkApi: IThunkApi\r\n}\r\n\r\nexport type apiAction = ({\r\n payload,\r\n thunkApi,\r\n}: IApiActionProps

) => ApiClientReturnType\r\n\r\nexport const handleLoadingAction = (\r\n thunk: AsyncThunk,\r\n builder: ActionReducerMapBuilder\r\n) => {\r\n builder.addCase(thunk.pending, state => {\r\n state.loadingPending++\r\n })\r\n\r\n builder.addCase(thunk.rejected, state => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n}\r\n","import { EntityReducers } from '../../EntityReducers'\r\nimport { apiAction, handleLoadingAction } from './entityThunksFactory'\r\nimport {\r\n createAsyncThunk,\r\n ActionReducerMapBuilder,\r\n EntityAdapter,\r\n AsyncThunk,\r\n} from '@reduxjs/toolkit'\r\nimport { BaseState } from '../entityReducerHelpers'\r\n\r\nexport interface BaseGetAllPayload {\r\n keepPrevious?: boolean\r\n}\r\n\r\nexport const getAllThunk = <\r\n EntityType,\r\n PayloadType extends BaseGetAllPayload | undefined = undefined,\r\n ResponseType = EntityType[]\r\n>(\r\n name: EntityReducers | undefined,\r\n getAction: apiAction\r\n) => {\r\n return createAsyncThunk<[ResponseType, boolean], PayloadType, {}>(\r\n `${name}/fetchAll`,\r\n async (payload: PayloadType, thunkApi) => {\r\n const [execute] = getAction({ payload, thunkApi })\r\n const response = await execute()\r\n return [response.data, !!payload?.keepPrevious]\r\n }\r\n )\r\n}\r\n\r\nexport const getAllExtraReducers = <\r\n EntityType,\r\n PayloadType = undefined,\r\n ApiResponseType = EntityType[]\r\n>(\r\n thunk: AsyncThunk<[ApiResponseType, boolean], PayloadType, {}>,\r\n builder: ActionReducerMapBuilder>,\r\n adapter: EntityAdapter,\r\n extractArrayFromResponse?: (response: ApiResponseType) => EntityType[]\r\n) => {\r\n if (thunk) {\r\n builder.addCase(\r\n thunk.fulfilled,\r\n (state, { payload: [data, keepPrevious] }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n const saveAction = keepPrevious ? adapter.upsertMany : adapter.setAll\r\n\r\n if (extractArrayFromResponse) {\r\n saveAction(state, extractArrayFromResponse(data))\r\n } else {\r\n saveAction(state, data)\r\n }\r\n }\r\n )\r\n handleLoadingAction(thunk, builder)\r\n }\r\n}\r\n","import { getAllThunk } from '../helpers/thunks/getAllThunk'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { useThunkApi } from '../../../apiClient/apiClient'\r\nimport { ICustomerNumber } from '@shared/contracts/CustomerNumbers'\r\n\r\nexport const customerNumbersGetAll = getAllThunk(\r\n EntityReducers.customerNumbers,\r\n ({ thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `accounts/customerNumbers`,\r\n },\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n },\r\n thunkApi\r\n )\r\n)\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { ConsentStatus, DocumentType } from '@shared/contracts/models'\r\nimport { values } from 'ramda'\r\n\r\nexport const userConsentsSelector = (state: RootState) => state.userConsents\r\n\r\nexport const allConsentsSelector = createSelector(userConsentsSelector, state =>\r\n values(state.entities)\r\n)\r\n\r\nexport const consentsLoadingSelector = createSelector(\r\n userConsentsSelector,\r\n consents => {\r\n return consents.loadingPending > 0\r\n }\r\n)\r\n\r\nexport const notAcceptedRequiredConsentsSelector = createSelector(\r\n allConsentsSelector,\r\n consents => {\r\n return consents.filter(\r\n consent =>\r\n consent &&\r\n consent.mandatory &&\r\n consent.status !== ConsentStatus.Accepted\r\n )\r\n }\r\n)\r\n\r\nexport const notSetOptionalConsentsSelector = createSelector(\r\n allConsentsSelector,\r\n consents => {\r\n return consents.filter(\r\n consent =>\r\n consent && !consent.mandatory && consent.status === ConsentStatus.NotSet\r\n )\r\n }\r\n)\r\n\r\nexport const hasAcceptedOrSetAllConsentsSelector = createSelector(\r\n allConsentsSelector,\r\n notAcceptedRequiredConsentsSelector,\r\n notSetOptionalConsentsSelector,\r\n (allConsents, notAcceptedConsents, notSetOptionalConsents) => {\r\n return (\r\n allConsents.length > 0 &&\r\n notAcceptedConsents.length === 0 &&\r\n notSetOptionalConsents.length === 0\r\n )\r\n }\r\n)\r\n\r\nexport const hasNotAcceptedRequiredOrSetConsentsSelector = createSelector(\r\n notAcceptedRequiredConsentsSelector,\r\n notSetOptionalConsentsSelector,\r\n (consents, notSetConsents) => {\r\n return consents.length > 0 || notSetConsents.length > 0\r\n }\r\n)\r\n\r\nexport const electronicContactMandatoryConsentsSelector = createSelector(\r\n allConsentsSelector,\r\n consents => {\r\n var electronicContactConsents = consents.filter(\r\n consent =>\r\n consent &&\r\n !consent.mandatory &&\r\n consent.documentType === DocumentType.ElectronicContact\r\n )\r\n\r\n return electronicContactConsents.map(element =>\r\n Object.assign({}, element, { mandatory: true })\r\n )\r\n }\r\n)\r\n\r\nexport const hasAcceptedElectronicContactConsentsSelector = createSelector(\r\n electronicContactMandatoryConsentsSelector,\r\n consents => {\r\n return (\r\n consents &&\r\n consents.length === 1 &&\r\n consents[0]?.status === ConsentStatus.Accepted\r\n )\r\n }\r\n)\r\n","import { getAllThunk } from '../helpers/thunks/getAllThunk'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { Consent } from '@shared/contracts/models'\r\n\r\nexport type UpdateConsentPayload = {\r\n id: string\r\n isAccepted: boolean\r\n}\r\n\r\nexport const userConsentsGetAll = getAllThunk(\r\n EntityReducers.userConsents,\r\n ({ thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `accounts/consents`,\r\n },\r\n omitConsents: true,\r\n },\r\n thunkApi\r\n )\r\n)\r\n\r\nexport const updateConsent = createAsyncThunk<\r\n UpdateConsentPayload,\r\n UpdateConsentPayload\r\n>(\r\n `${[EntityReducers.userConsents]}/updateConsent`,\r\n async (payload, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: `accounts/consents/${payload.id}`,\r\n data: {\r\n isAccepted: payload.isAccepted,\r\n },\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return {\r\n id: payload.id,\r\n isAccepted: payload.isAccepted,\r\n }\r\n }\r\n)\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport {\r\n initialLoadingState,\r\n LoadingState,\r\n} from '../entity/helpers/entityReducerHelpers'\r\nimport { StoreReducers } from '../StoreReducers'\r\n\r\nexport interface AdministrationState extends LoadingState {\r\n applicationServiceMode: boolean\r\n}\r\n\r\nconst initialState: AdministrationState = {\r\n ...initialLoadingState,\r\n applicationServiceMode: false,\r\n}\r\n\r\nexport const administrationSlice = createSlice({\r\n name: StoreReducers.administration,\r\n initialState,\r\n reducers: {\r\n setApplicationServiceModeOn: state => {\r\n state.applicationServiceMode = true\r\n },\r\n },\r\n})\r\n\r\nexport const administrationActions = administrationSlice.actions\r\n","import { customerNumbersGetAll } from '@core/store/entity/customerNumbers/customerNumbersThunks'\r\nimport { hasAcceptedOrSetAllConsentsSelector } from '@core/store/entity/userConsents/userConsentsSelectors'\r\nimport { userConsentsGetAll } from '@core/store/entity/userConsents/userConsentsThunks'\r\nimport { actionsInterceptorMiddleware } from '@core/store/middleware/actionsInterceptorMiddleware'\r\nimport { Consent } from '@shared/contracts/models'\r\nimport axiosStatic, { AxiosRequestConfig, AxiosResponse } from 'axios'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport { indexBy, prop } from 'ramda'\r\nimport { useCallback, useState } from 'react'\r\nimport { IThunkApi } from '../store/entity/helpers/thunks/entityThunksFactory'\r\nimport { RootState } from '../store/rootReducer'\r\nimport { SORRY, UNKNOW_ERROR_OCCURED } from './strings'\r\nimport store from '../store/store'\r\nimport { administrationActions } from '@core/store/administration/administration'\r\n\r\nexport interface IApiClientConfig {\r\n config: AxiosRequestConfig\r\n notSecured?: boolean\r\n omitCustomerNumber?: boolean\r\n omitConsents?: boolean\r\n}\r\n\r\nexport class AppError extends Error {\r\n constructor(\r\n public status: number,\r\n public response: {\r\n [fieldName: string]: string\r\n }\r\n ) {\r\n super('')\r\n }\r\n}\r\n\r\nexport interface CustomErrorResponse {\r\n message: string\r\n traceId: string\r\n}\r\n\r\nexport type ApiClientReturnType = [\r\n (\r\n additionalConfig?: AxiosRequestConfig\r\n ) => Promise>,\r\n boolean?,\r\n ResponseType?\r\n]\r\n\r\nconst validateStatus = () => {\r\n return true\r\n}\r\n\r\nconst getExecute = (\r\n { config, notSecured }: IApiClientConfig,\r\n token?: string,\r\n customerNumber?: string,\r\n additionalAxiosConfig?: AxiosRequestConfig,\r\n loadingSetter?: (state: boolean) => void,\r\n dataSetter?: (data: ResponseType) => void\r\n) => {\r\n if (loadingSetter) {\r\n loadingSetter(true)\r\n }\r\n\r\n return axiosStatic\r\n .request({\r\n ...config,\r\n ...additionalAxiosConfig,\r\n validateStatus,\r\n baseURL: process.env.REACT_APP_API_URL,\r\n data: {\r\n ...config.data,\r\n ...additionalAxiosConfig?.data,\r\n },\r\n params: {\r\n customerNumber,\r\n ...config?.params,\r\n ...additionalAxiosConfig?.params,\r\n },\r\n ...(notSecured\r\n ? {}\r\n : {\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }),\r\n })\r\n .then(resp => {\r\n const status = resp.status\r\n const correctCall = status >= 200 && status < 300 // default\r\n\r\n if (correctCall) {\r\n if (dataSetter) {\r\n dataSetter(resp.data)\r\n }\r\n return resp\r\n }\r\n\r\n const isServerError = status === 500\r\n const isServerUnavailable = status === 503\r\n const traceId = ((resp as AxiosResponse) as AxiosResponse<\r\n CustomErrorResponse\r\n >).data.traceId\r\n\r\n if (isServerUnavailable) {\r\n store.dispatch(administrationActions.setApplicationServiceModeOn())\r\n } else if (isServerError) {\r\n store.dispatch(\r\n showModal({\r\n title: SORRY,\r\n subtitle: UNKNOW_ERROR_OCCURED,\r\n type: 'error',\r\n withCancelButton: true,\r\n withSubmitButton: true,\r\n onSubmit: () => {\r\n store.dispatch(\r\n showModal({\r\n type: 'report',\r\n text: `Błąd ${traceId}`,\r\n })\r\n )\r\n },\r\n })\r\n )\r\n }\r\n\r\n throw new AppError(status, resp.data as {})\r\n })\r\n .finally(() => {\r\n if (loadingSetter) loadingSetter(false)\r\n })\r\n}\r\n\r\nconst getCustomerNumber = async (\r\n ids: string[],\r\n selectedCustomerNumber?: string\r\n): Promise => {\r\n let allCustomerNumbers = ids\r\n if (!allCustomerNumbers || allCustomerNumbers.length === 0) {\r\n ;[allCustomerNumbers] = (\r\n await actionsInterceptorMiddleware.addActionsPromise([\r\n customerNumbersGetAll.fulfilled.type,\r\n ])\r\n ).action.payload\r\n }\r\n\r\n return selectedCustomerNumber &&\r\n allCustomerNumbers.includes(selectedCustomerNumber)\r\n ? selectedCustomerNumber\r\n : allCustomerNumbers[0]\r\n}\r\n\r\nconst blockUntilConsentsAgreed = async (\r\n hasAcceptedConsents: boolean\r\n): Promise => {\r\n if (!hasAcceptedConsents) {\r\n const [consents] = (\r\n await actionsInterceptorMiddleware.addActionsPromise([\r\n userConsentsGetAll.fulfilled.type,\r\n ])\r\n ).action.payload as [Consent[]]\r\n\r\n const notAcceptedConsent = hasAcceptedOrSetAllConsentsSelector({\r\n userConsents: {\r\n entities: indexBy(prop('id'), consents),\r\n },\r\n } as any)\r\n\r\n return blockUntilConsentsAgreed(!!notAcceptedConsent)\r\n }\r\n\r\n return\r\n}\r\n\r\nexport const useApi = (\r\n config: IApiClientConfig,\r\n dataMapper?: (apiResponse: ApiResponseType) => ResponseType\r\n): ApiClientReturnType => {\r\n const [loading, setLoading] = useState(false)\r\n const [data, setData] = useState()\r\n const [baseConfig] = useState(config)\r\n\r\n const execute = useCallback(\r\n async (additionalConfig?: AxiosRequestConfig) => {\r\n const state = store.getState()\r\n let number = state.customerNumbers.selectedCustomerNumber\r\n const ids = state.customerNumbers.ids\r\n\r\n if (!baseConfig.omitCustomerNumber) {\r\n number = await getCustomerNumber(ids as string[], number)\r\n }\r\n\r\n if (!baseConfig.omitConsents) {\r\n await blockUntilConsentsAgreed(\r\n hasAcceptedOrSetAllConsentsSelector(state)\r\n )\r\n }\r\n\r\n const user = state.oidc.user\r\n\r\n return getExecute(\r\n baseConfig,\r\n user?.access_token,\r\n number,\r\n additionalConfig,\r\n setLoading,\r\n (data: ResponseType | ApiResponseType) => {\r\n dataMapper\r\n ? setData(dataMapper(data as ApiResponseType))\r\n : setData(data as ResponseType)\r\n }\r\n )\r\n },\r\n [baseConfig, dataMapper]\r\n )\r\n\r\n return [execute, loading, data]\r\n}\r\n\r\nexport const useThunkApi = (\r\n config: IApiClientConfig,\r\n { getState }: IThunkApi\r\n): ApiClientReturnType => {\r\n const state: RootState = getState() as RootState\r\n const { user } = state.oidc\r\n const { selectedCustomerNumber, ids } = state.customerNumbers\r\n const consentsState = hasAcceptedOrSetAllConsentsSelector(state)\r\n\r\n const execute = async (additionalConfig?: AxiosRequestConfig) => {\r\n let number = selectedCustomerNumber\r\n if (!config.omitCustomerNumber) {\r\n number = await getCustomerNumber(ids as string[], selectedCustomerNumber)\r\n }\r\n\r\n if (!config.omitConsents) {\r\n await blockUntilConsentsAgreed(consentsState)\r\n }\r\n\r\n return getExecute(\r\n config,\r\n user?.access_token,\r\n number,\r\n additionalConfig\r\n )\r\n }\r\n\r\n return [execute]\r\n}\r\n","export const SORRY = 'Przepraszamy!'\r\nexport const UNKNOW_ERROR_OCCURED = 'Wystąpił nieznany błąd'\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from './EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from './helpers/entityReducerHelpers'\r\nimport {\r\n getByIdThunk,\r\n getByIdExtraReducers,\r\n} from './helpers/thunks/getByIdThunk'\r\nimport { getAllThunk, getAllExtraReducers } from './helpers/thunks/getAllThunk'\r\nimport { useThunkApi } from '@core/apiClient/apiClient'\r\n\r\nexport interface additionalState {\r\n count: number\r\n}\r\n\r\nexport interface ITest {\r\n id: string\r\n test: string\r\n}\r\n\r\nconst entityAdapter = createEntityAdapter({})\r\n\r\nexport const testGetById = getByIdThunk(\r\n EntityReducers.test,\r\n ({ payload, thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `https://jsonplaceholder.typicode.com/todos/${payload}`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n)\r\n\r\nexport const testGetAll = getAllThunk(\r\n EntityReducers.test,\r\n ({ thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `https://jsonplaceholder.typicode.com/todos`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n)\r\n\r\nexport const testSlice = createSlice({\r\n name: EntityReducers.test,\r\n initialState: {\r\n ...getBaseState(entityAdapter, {\r\n count: 1,\r\n }),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n increment: state => {\r\n state.count++\r\n },\r\n },\r\n extraReducers: builder => {\r\n getByIdExtraReducers(testGetById, builder, entityAdapter)\r\n getAllExtraReducers(testGetAll, builder, entityAdapter)\r\n },\r\n})\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { ICustomerNumber } from '@shared/contracts/CustomerNumbers'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n ExtendedBaseState,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport { customerNumbersGetAll } from './customerNumbersThunks'\r\nimport { persistReducer, PersistConfig } from 'redux-persist'\r\nimport storage from 'redux-persist/lib/storage'\r\nimport { addCustomerNumbersSideEffects } from './customerNumbersSideEffects'\r\n\r\nexport interface additionalState {\r\n selectedCustomerNumber?: string\r\n}\r\n\r\nconst entityAdapter = createEntityAdapter({\r\n selectId: el => el as string,\r\n})\r\n\r\nexport const customerNumbersSlice = createSlice({\r\n name: EntityReducers.customerNumbers,\r\n initialState: {\r\n ...getBaseState(entityAdapter, {\r\n selectedCustomerNumber: undefined,\r\n }),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n setCustomerNumber: (state, { payload }) => {\r\n if (state.ids.indexOf(payload) < 0) {\r\n state.selectedCustomerNumber = state.ids[0] as string\r\n return\r\n }\r\n\r\n state.selectedCustomerNumber = payload\r\n },\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers(\r\n customerNumbersGetAll,\r\n builder,\r\n entityAdapter\r\n )\r\n },\r\n})\r\n\r\naddCustomerNumbersSideEffects()\r\n\r\nexport const customerNumberActions = customerNumbersSlice.actions\r\n\r\nconst persistConfig: PersistConfig> = {\r\n key: EntityReducers.customerNumbers,\r\n storage: storage,\r\n whitelist: ['selectedCustomerNumber'],\r\n}\r\n\r\nexport const persisteCustomerNumbersReducer = persistReducer(\r\n persistConfig,\r\n customerNumbersSlice.reducer\r\n)\r\n","import { actionsInterceptorMiddleware } from '@core/store/middleware/actionsInterceptorMiddleware'\r\nimport { USER_FOUND } from 'redux-oidc'\r\nimport { customerNumberActions } from './customerNumbers'\r\nimport { customerNumbersGetAll } from './customerNumbersThunks'\r\n\r\nexport const addCustomerNumbersSideEffects = () => {\r\n actionsInterceptorMiddleware.addManyActionsCallback([\r\n {\r\n actionTypes: [USER_FOUND],\r\n callback: ({ dispatch, state }) => {\r\n if (!state.customerNumbers.loadingPending) {\r\n dispatch(customerNumbersGetAll())\r\n }\r\n },\r\n },\r\n {\r\n actionTypes: [customerNumbersGetAll.fulfilled.type],\r\n callback: ({ dispatch, state }) => {\r\n const selectdNumer = state.customerNumbers.selectedCustomerNumber\r\n const customerNumbers = state.customerNumbers.ids\r\n if (\r\n !selectdNumer ||\r\n (selectdNumer && customerNumbers.indexOf(selectdNumer) < 0)\r\n ) {\r\n dispatch(customerNumberActions.setCustomerNumber(customerNumbers[0]))\r\n }\r\n },\r\n },\r\n ])\r\n}\r\n","interface Response {\r\n [key: string]: string[]\r\n}\r\n\r\nexport const errorToString = ({ response }: { response: Response }) => {\r\n if (!response) return ''\r\n const errors: string[] = Object.values(response).flat()\r\n return errors.join(', ')\r\n}\r\n","import { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { ActionReducerMapBuilder, createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { Account, SetUpNewPasswordRequest } from '@shared/contracts/models'\r\nimport { handleLoadingAction } from '../entity/helpers/thunks/entityThunksFactory'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport {\r\n UpdateAddressPayload,\r\n UpdateCorrespondenceEmailPayload,\r\n UpdatePhoneNumberPayload,\r\n} from './types'\r\nimport { errorToString } from '@shared/utils/errors'\r\nimport { UserAccountState } from './userAccount'\r\nimport {\r\n EnableMfaVerificationRequest,\r\n EnableMfaRequest,\r\n} from '@shared/contracts/enableMfaRequest'\r\nimport { UpdateMfaContactTypeRequest } from '@shared/contracts/updateMfaContactTypeRequest'\r\nimport { AccessToken } from '@shared/contracts/accessToken'\r\nimport { UpdateAccountMainPhoneNumberRequest } from '@shared/contracts/updateAccountMainPhoneNumberRequest'\r\n\r\nexport const getUserAccount = createAsyncThunk(\r\n `${[StoreReducers.userAccount]}/getProfile`,\r\n async (_, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `accounts`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n }\r\n)\r\n\r\nexport const updateCorrespondenceEmail = createAsyncThunk<\r\n UpdateCorrespondenceEmailPayload,\r\n UpdateCorrespondenceEmailPayload\r\n>(\r\n `${[StoreReducers.userAccount]}/updateCorrespondenceEmail`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/updateCorrespondenceEmail',\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return data\r\n }\r\n)\r\n\r\nexport const updateMainAddress = createAsyncThunk<\r\n UpdateAddressPayload,\r\n UpdateAddressPayload\r\n>(\r\n `${[StoreReducers.userAccount]}/updateMainAddress`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/updateMainAddress',\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return data\r\n }\r\n)\r\n\r\nexport const updateCorrespondenceAddress = createAsyncThunk<\r\n UpdateAddressPayload,\r\n UpdateAddressPayload\r\n>(\r\n `${[StoreReducers.userAccount]}/updateCorrespondenceAddress`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/updateCorrespondenceAddress',\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return data\r\n }\r\n)\r\n\r\nexport const updatePhoneNumber = createAsyncThunk<\r\n UpdatePhoneNumberPayload,\r\n UpdatePhoneNumberPayload\r\n>(\r\n `${[StoreReducers.userAccount]}/updatePhoneNumber`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/updatePhoneNumber',\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n }\r\n)\r\n\r\nexport const updatePassword = createAsyncThunk<\r\n SetUpNewPasswordRequest,\r\n SetUpNewPasswordRequest\r\n>(`${[StoreReducers.userAccount]}/updatePassword`, async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/setUpNewPassword',\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n})\r\n\r\nexport const enableMfaVerification = createAsyncThunk<\r\n EnableMfaVerificationRequest,\r\n EnableMfaVerificationRequest\r\n>(\r\n `${[StoreReducers.userAccount]}/enableMfaVerification`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'post',\r\n url: 'Accounts/enableMfaVerification',\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n }\r\n)\r\n\r\nexport const enableMfa = createAsyncThunk(\r\n `${[StoreReducers.userAccount]}/enableMfa`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/enableMfa',\r\n data,\r\n withCredentials: true,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n }\r\n)\r\n\r\nexport const mfaContactTypeChangeFirstStep = createAsyncThunk(\r\n `${[StoreReducers.userAccount]}/mfaContactTypeChangeFirstStep`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: 'Accounts/mfaContactTypeChangeFirstStep',\r\n withCredentials: true,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n const response = await execute()\r\n return response.data.actionAccessToken\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n }\r\n)\r\n\r\nexport const mfaContactTypeChangeSecondStep = createAsyncThunk<\r\n UpdateMfaContactTypeRequest,\r\n UpdateMfaContactTypeRequest\r\n>(\r\n `${[StoreReducers.userAccount]}/mfaContactTypeChangeSecondStep`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'post',\r\n url: 'Accounts/mfaContactTypeChangeSecondStep',\r\n data,\r\n withCredentials: true,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n }\r\n)\r\n\r\nexport const mfaContactTypeChangeThirdStep = createAsyncThunk<\r\n UpdateMfaContactTypeRequest,\r\n UpdateMfaContactTypeRequest\r\n>(\r\n `${[StoreReducers.userAccount]}/mfaContactTypeChangeThirdStep`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'post',\r\n url: 'Accounts/mfaContactTypeChangeThirdStep',\r\n data,\r\n withCredentials: true,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n }\r\n)\r\n\r\nexport const updateAccountMainPhoneNumberFirstStep = createAsyncThunk(\r\n `${[StoreReducers.userAccount]}/updateAccountMainPhoneNumberFirstStep`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: 'Accounts/updateAccountMainPhoneNumberFirstStep',\r\n withCredentials: true,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n const response = await execute()\r\n return response.data.actionAccessToken\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n }\r\n)\r\n\r\nexport const updateAccountMainPhoneNumberSecondStep = createAsyncThunk<\r\n UpdateAccountMainPhoneNumberRequest,\r\n UpdateAccountMainPhoneNumberRequest\r\n>(\r\n `${[StoreReducers.userAccount]}/updateAccountMainPhoneNumberSecondStep`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/updateAccountMainPhoneNumberSecondStep',\r\n data,\r\n withCredentials: true,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n }\r\n)\r\n\r\nexport const updateAccountMainPhoneNumberThirdStep = createAsyncThunk<\r\n UpdateAccountMainPhoneNumberRequest,\r\n UpdateAccountMainPhoneNumberRequest\r\n>(\r\n `${[StoreReducers.userAccount]}/updateAccountMainPhoneNumberThirdStep`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/updateAccountMainPhoneNumberThirdStep',\r\n data,\r\n withCredentials: true,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n await execute()\r\n } catch (error) {\r\n throw new Error(errorToString(error as any))\r\n }\r\n return data\r\n }\r\n)\r\n\r\nexport const getUserAccoutExtraReducers = (\r\n builder: ActionReducerMapBuilder\r\n) => {\r\n handleLoadingAction(getUserAccount, builder)\r\n builder.addCase(getUserAccount.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.account = payload\r\n })\r\n\r\n handleLoadingAction(updateCorrespondenceEmail, builder)\r\n builder.addCase(updateCorrespondenceEmail.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n handleLoadingAction(updateMainAddress, builder)\r\n builder.addCase(updateMainAddress.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n handleLoadingAction(updateCorrespondenceAddress, builder)\r\n builder.addCase(\r\n updateCorrespondenceAddress.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n }\r\n )\r\n handleLoadingAction(updatePhoneNumber, builder)\r\n builder.addCase(updatePhoneNumber.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n handleLoadingAction(updatePassword, builder)\r\n builder.addCase(updatePassword.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n handleLoadingAction(enableMfa, builder)\r\n builder.addCase(enableMfa.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n handleLoadingAction(enableMfaVerification, builder)\r\n builder.addCase(enableMfaVerification.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n handleLoadingAction(mfaContactTypeChangeFirstStep, builder)\r\n builder.addCase(\r\n mfaContactTypeChangeFirstStep.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.accessToken = payload\r\n }\r\n )\r\n handleLoadingAction(mfaContactTypeChangeSecondStep, builder)\r\n builder.addCase(\r\n mfaContactTypeChangeSecondStep.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n }\r\n )\r\n handleLoadingAction(mfaContactTypeChangeThirdStep, builder)\r\n builder.addCase(\r\n mfaContactTypeChangeThirdStep.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n }\r\n )\r\n handleLoadingAction(updateAccountMainPhoneNumberFirstStep, builder)\r\n builder.addCase(\r\n updateAccountMainPhoneNumberFirstStep.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.accessToken = payload\r\n }\r\n )\r\n handleLoadingAction(updateAccountMainPhoneNumberSecondStep, builder)\r\n builder.addCase(\r\n updateAccountMainPhoneNumberSecondStep.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n }\r\n )\r\n handleLoadingAction(updateAccountMainPhoneNumberThirdStep, builder)\r\n builder.addCase(\r\n updateAccountMainPhoneNumberThirdStep.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n }\r\n )\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport { Account } from '@shared/contracts/models'\r\nimport {\r\n initialLoadingState,\r\n LoadingState,\r\n} from '../entity/helpers/entityReducerHelpers'\r\nimport { NewAddressPayload } from '../entity/userAgreements/types'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { BaseAction } from '../types'\r\nimport { addUserAccountSideEffects } from './userAccountSideEffects'\r\nimport { getUserAccoutExtraReducers } from './userAccountThunks'\r\n\r\nexport interface UserAccountState extends LoadingState {\r\n account?: Account\r\n accessToken?: string\r\n}\r\n\r\ntype RefreshContactPhoneNumberAction = BaseAction & {\r\n payload: {\r\n newPhoneNumber: string\r\n }\r\n}\r\n\r\ntype RefreshCorrespondenceEmailAction = BaseAction & {\r\n payload: {\r\n newEmailAddress: string\r\n }\r\n}\r\n\r\ntype RefreshAddressAction = BaseAction & {\r\n payload: NewAddressPayload\r\n}\r\n\r\nexport const userAccountSlice = createSlice({\r\n name: StoreReducers.userAccount,\r\n initialState: {\r\n account: undefined,\r\n accessToken: undefined,\r\n ...initialLoadingState,\r\n } as UserAccountState,\r\n reducers: {\r\n refreshContactPhoneNumber: (\r\n state,\r\n action: RefreshContactPhoneNumberAction\r\n ) => {\r\n if (state.account && action.payload) {\r\n state.account.contactPhoneNumber = action.payload.newPhoneNumber\r\n }\r\n },\r\n refreshCorrespondenceEmail: (\r\n state,\r\n action: RefreshCorrespondenceEmailAction\r\n ) => {\r\n if (state.account && action.payload) {\r\n state.account.correspondenceEmail = action.payload.newEmailAddress\r\n }\r\n },\r\n refreshMainAddress: (state, action: RefreshAddressAction) => {\r\n if (state.account && action.payload) {\r\n state.account.mainAddressLine1 = action.payload.newAddressLine1\r\n state.account.mainAddressLine2 = action.payload.newAddressLine2\r\n }\r\n },\r\n refreshCorrespondenceAddress: (state, action: RefreshAddressAction) => {\r\n if (state.account && action.payload) {\r\n state.account.correspondenceAddressLine1 =\r\n action.payload.newAddressLine1\r\n state.account.correspondenceAddressLine2 =\r\n action.payload.newAddressLine2\r\n }\r\n },\r\n resetAccessToken: (state, action) => {\r\n state.accessToken = undefined\r\n },\r\n },\r\n extraReducers: builder => {\r\n getUserAccoutExtraReducers(builder)\r\n },\r\n})\r\n\r\naddUserAccountSideEffects()\r\n\r\nexport const userAccountActions = userAccountSlice.actions\r\n","import { actionsInterceptorMiddleware } from '@core/store/middleware/actionsInterceptorMiddleware'\r\nimport { USER_FOUND, USER_SIGNED_OUT } from 'redux-oidc'\r\nimport { customerNumberActions } from '../entity/customerNumbers/customerNumbers'\r\nimport { getUserAccount } from './userAccountThunks'\r\n\r\nexport const addUserAccountSideEffects = () => {\r\n actionsInterceptorMiddleware.addManyActionsCallback([\r\n {\r\n actionTypes: [USER_FOUND, customerNumberActions.setCustomerNumber.type],\r\n callback: ({ dispatch, state }) => {\r\n if (!state.userAccount.loadingPending) {\r\n dispatch(getUserAccount())\r\n }\r\n },\r\n },\r\n {\r\n actionTypes: [USER_SIGNED_OUT],\r\n callback: () => {\r\n window.location.reload()\r\n },\r\n },\r\n ])\r\n}\r\n","import i18n from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\n\r\nimport plTranslation from './pl.json'\r\n\r\nconst resources = {\r\n pl: { global: plTranslation },\r\n}\r\n\r\nexport default () => {\r\n i18n.use(initReactI18next).init({\r\n resources,\r\n defaultNS: 'global',\r\n lng: 'pl',\r\n fallbackLng: ['pl'],\r\n interpolation: {\r\n escapeValue: false,\r\n },\r\n })\r\n return i18n\r\n}\r\n","import { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { ActionReducerMapBuilder, createAsyncThunk } from '@reduxjs/toolkit'\r\nimport {\r\n CreateTransactionResponse,\r\n SecuredOrderItem,\r\n OrderItem,\r\n Order,\r\n} from '@shared/contracts/models'\r\nimport { handleLoadingAction } from '../entity/helpers/thunks/entityThunksFactory'\r\nimport i18n from '@i18n/index'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport store from '../store'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport { PaymentsState } from './payments'\r\n\r\ninterface ValidateHashPayload {\r\n hash: string\r\n values: string[]\r\n}\r\ninterface ValidateHashResponse {\r\n isHashValid: boolean\r\n}\r\n\r\nexport interface CreateTransactionFromBalancePayload {\r\n activeDocuments: number\r\n totalAmount: number\r\n}\r\n\r\nexport const createTransaction = createAsyncThunk<\r\n CreateTransactionResponse,\r\n SecuredOrderItem[]\r\n>(\r\n `${[StoreReducers.payments]}/createTransaction`,\r\n async (orderItems, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'post',\r\n url: 'Payments',\r\n data: {\r\n orderItems,\r\n },\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n const {\r\n data: { paymentRedirectUrl },\r\n } = response\r\n if (paymentRedirectUrl) window.location.replace(paymentRedirectUrl)\r\n return response.data\r\n }\r\n)\r\n\r\nexport const getOrderItems = createAsyncThunk(\r\n `${[StoreReducers.payments]}/getOrderItems`,\r\n async (orderId, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `Payments/${orderId}/items`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n }\r\n)\r\n\r\nexport const getOrder = createAsyncThunk(\r\n `${[StoreReducers.payments]}/getOrder`,\r\n async (orderId, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `Payments/${orderId}`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n }\r\n)\r\n\r\nexport const validateHash = createAsyncThunk<\r\n ValidateHashResponse,\r\n ValidateHashPayload\r\n>(`${[StoreReducers.payments]}/validateHash`, async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'post',\r\n url: `Payments/hash/validate`,\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n})\r\n\r\nexport const createTransactionFromBalance = createAsyncThunk<\r\n unknown,\r\n CreateTransactionFromBalancePayload\r\n>(\r\n `${[StoreReducers.payments]}/createTransactionFromBalance`,\r\n async (data, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'post',\r\n url: `Payments/balance`,\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n try {\r\n const response = await execute()\r\n const {\r\n data: { paymentRedirectUrl },\r\n } = response\r\n\r\n if (paymentRedirectUrl) window.location.replace(paymentRedirectUrl)\r\n return response.data\r\n } catch (error) {\r\n if (error.status === 400) {\r\n store.dispatch(\r\n showModal({\r\n title: i18n().t('MODAL_MESSAGES.SORRY'),\r\n subtitle: i18n().t('MODAL_MESSAGES.BALANCE_PAYMENT_UNAVAILABLE'),\r\n type: 'error',\r\n withCancelButton: true,\r\n withSubmitButton: false,\r\n })\r\n )\r\n throw new Error()\r\n }\r\n }\r\n }\r\n)\r\n\r\nexport const getPaymentsExtraReducers = (\r\n builder: ActionReducerMapBuilder\r\n) => {\r\n handleLoadingAction(createTransaction, builder)\r\n builder.addCase(createTransaction.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.currentOrderId = payload.orderId\r\n state.paymentRedirectUrl = payload.paymentRedirectUrl\r\n })\r\n builder.addCase(createTransactionFromBalance.pending, state => {\r\n state.loadingPending++\r\n })\r\n builder.addCase(\r\n createTransactionFromBalance.rejected,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n }\r\n )\r\n builder.addCase(\r\n createTransactionFromBalance.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.currentOrderId = (payload as CreateTransactionResponse).orderId\r\n state.paymentRedirectUrl = (payload as CreateTransactionResponse).paymentRedirectUrl\r\n }\r\n )\r\n handleLoadingAction(validateHash, builder)\r\n builder.addCase(validateHash.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.isHashValid = payload.isHashValid\r\n })\r\n handleLoadingAction(getOrderItems, builder)\r\n builder.addCase(getOrderItems.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.orderItems = payload\r\n })\r\n builder.addCase(getOrder.pending, state => {\r\n state.loadingPending++\r\n })\r\n builder.addCase(getOrder.rejected, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n builder.addCase(getOrder.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.order = payload\r\n if (\r\n payload.orderStatus !== 'Completed' &&\r\n payload.orderStatus !== 'CompletedWithErrors' &&\r\n payload.orderId\r\n ) {\r\n setTimeout(() => {\r\n store.dispatch(getOrder(payload.orderId || ''))\r\n }, 3000)\r\n }\r\n })\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport {\r\n initialLoadingState,\r\n LoadingState,\r\n} from '../entity/helpers/entityReducerHelpers'\r\nimport { OrderItem, Order } from '@shared/contracts/models'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { getPaymentsExtraReducers } from './paymentsThunks'\r\n\r\nexport interface PaymentsState extends LoadingState {\r\n currentOrderId?: string\r\n paymentRedirectUrl?: string\r\n order?: Order\r\n orderItems: OrderItem[]\r\n isHashValid: boolean\r\n}\r\n\r\nconst initialState: PaymentsState = {\r\n ...initialLoadingState,\r\n currentOrderId: undefined,\r\n paymentRedirectUrl: undefined,\r\n order: undefined,\r\n isHashValid: false,\r\n orderItems: [],\r\n}\r\n\r\nexport const paymentsSlice = createSlice({\r\n name: StoreReducers.payments,\r\n initialState,\r\n reducers: {\r\n resetState: () => {\r\n return initialState\r\n },\r\n },\r\n extraReducers: builder => {\r\n getPaymentsExtraReducers(builder)\r\n },\r\n})\r\n\r\nexport const paymentActions = paymentsSlice.actions\r\n","import { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { ActionReducerMapBuilder, createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { Document, DocumentType } from '@shared/contracts/models'\r\nimport { handleLoadingAction } from '../entity/helpers/thunks/entityThunksFactory'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { PoliciesState } from './policies'\r\n\r\nexport const getPolicyDocument = createAsyncThunk(\r\n `${[StoreReducers.policies]}/getPolicyDocument`,\r\n async (type, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `Documents/${type}`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n }\r\n)\r\n\r\nexport const getPoliciesExtraReducers = (\r\n builder: ActionReducerMapBuilder\r\n) => {\r\n handleLoadingAction(getPolicyDocument, builder)\r\n builder.addCase(getPolicyDocument.fulfilled, (state, { payload }) => {\r\n state.documents = [\r\n ...state.documents.filter(doc => doc.type !== payload.type),\r\n payload,\r\n ]\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport {\r\n initialLoadingState,\r\n LoadingState,\r\n} from '../entity/helpers/entityReducerHelpers'\r\nimport { Document } from '@shared/contracts/models'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { getPoliciesExtraReducers } from './policiesThunks'\r\n\r\nexport interface PoliciesState extends LoadingState {\r\n documents: Document[]\r\n}\r\n\r\nconst initialState: PoliciesState = {\r\n ...initialLoadingState,\r\n documents: [],\r\n}\r\n\r\nexport const policiesSlice = createSlice({\r\n name: StoreReducers.policies,\r\n initialState,\r\n reducers: {\r\n resetState: state => {\r\n state = initialState\r\n },\r\n },\r\n extraReducers: builder => {\r\n getPoliciesExtraReducers(builder)\r\n },\r\n})\r\n\r\nexport const policyActions = policiesSlice.actions\r\n","import { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { ActionReducerMapBuilder, createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { handleLoadingAction } from '../entity/helpers/thunks/entityThunksFactory'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { OffersState } from './offers'\r\nimport { Offer } from './types'\r\n\r\nexport const getOffers = createAsyncThunk(\r\n `${[StoreReducers.offers]}/getOffers`,\r\n async (_, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `offers`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n }\r\n)\r\n\r\nexport const getOffersExtraReducers = (\r\n builder: ActionReducerMapBuilder\r\n) => {\r\n handleLoadingAction(getOffers, builder)\r\n builder.addCase(getOffers.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n state.offers = payload\r\n })\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport {\r\n initialLoadingState,\r\n LoadingState,\r\n} from '../entity/helpers/entityReducerHelpers'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { Offer } from './types'\r\nimport { getOffersExtraReducers } from './offersThunks'\r\n\r\nexport interface OffersState extends LoadingState {\r\n offers?: Offer[] | null\r\n}\r\n\r\nconst initialState: OffersState = {\r\n ...initialLoadingState,\r\n offers: null,\r\n}\r\n\r\nexport const offersSlice = createSlice({\r\n name: StoreReducers.offers,\r\n initialState,\r\n reducers: {\r\n resetState: () => {\r\n return initialState\r\n },\r\n },\r\n extraReducers: builder => {\r\n getOffersExtraReducers(builder)\r\n },\r\n})\r\n\r\nexport const offerActions = offersSlice.actions\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport { userConsentsGetAll, updateConsent } from './userConsentsThunks'\r\nimport { handleLoadingAction } from '../helpers/thunks/entityThunksFactory'\r\nimport { addUserConsentsSideEffects } from './userConsentsSideEffects'\r\nimport { Consent } from '@shared/contracts/models'\r\n\r\nconst entityAdapter = createEntityAdapter()\r\n\r\nexport const userConsentsSlice = createSlice({\r\n name: EntityReducers.userConsents,\r\n initialState: {\r\n ...getBaseState(entityAdapter),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers(userConsentsGetAll, builder, entityAdapter)\r\n handleLoadingAction(updateConsent, builder)\r\n builder.addCase(updateConsent.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n const entity = state.entities[payload.id]\r\n state.entities = {\r\n ...state.entities,\r\n [payload.id]: {\r\n ...(entity as Consent),\r\n status: payload.isAccepted ? 'Accepted' : 'Declined',\r\n },\r\n }\r\n })\r\n },\r\n})\r\n\r\naddUserConsentsSideEffects()\r\n\r\nexport const userConsentsActions = userConsentsSlice.actions\r\n","import { actionsInterceptorMiddleware } from '@core/store/middleware/actionsInterceptorMiddleware'\r\nimport { USER_FOUND } from 'redux-oidc'\r\nimport { customerNumberActions } from '../customerNumbers/customerNumbers'\r\nimport { userConsentsGetAll } from './userConsentsThunks'\r\n\r\nexport const addUserConsentsSideEffects = () => {\r\n actionsInterceptorMiddleware.addManyActionsCallback([\r\n {\r\n actionTypes: [USER_FOUND, customerNumberActions.setCustomerNumber.type],\r\n callback: ({ dispatch, state }) => {\r\n if (!state.userConsents.loadingPending) {\r\n dispatch(userConsentsGetAll())\r\n }\r\n },\r\n },\r\n ])\r\n}\r\n","import { getAllThunk } from '../helpers/thunks/getAllThunk'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { useThunkApi } from '../../../apiClient/apiClient'\r\nimport { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport {\r\n UpdateAgreementEmailPayload,\r\n UpdateAgreementAddressPayload,\r\n} from './types'\r\n\r\nimport {\r\n AgreementListItem,\r\n AgreementListItemPagedResponse,\r\n} from '@shared/contracts/models'\r\n\r\nexport const userAgreementsGetAll = getAllThunk<\r\n AgreementListItem,\r\n undefined,\r\n AgreementListItemPagedResponse\r\n>(EntityReducers.userAgreements, ({ thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `Agreements`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n)\r\n\r\nexport const updateAgreementCorrespondenceAddress = createAsyncThunk<\r\n UpdateAgreementAddressPayload,\r\n UpdateAgreementAddressPayload\r\n>(\r\n `${[EntityReducers.userAgreements]}/updateCorrespondenceAddress`,\r\n async ({ id, ...data }, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: `agreements/${id}/correspondenceAddress`,\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return { id, ...data }\r\n }\r\n)\r\n\r\nexport const updateAgreementEmail = createAsyncThunk<\r\n UpdateAgreementEmailPayload,\r\n UpdateAgreementEmailPayload\r\n>(\r\n `${[EntityReducers.userAgreements]}/updateEmail`,\r\n async ({ id, ...data }, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: `agreements/${id}/email`,\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return { id, ...data }\r\n }\r\n)\r\n","import i18n from '@i18n/index'\r\n\r\nexport interface ProvidedAddress {\r\n line1: string\r\n line2: string\r\n}\r\n\r\ninterface Line1Address {\r\n streetName?: string\r\n streetNumber?: string\r\n houseNumber?: string\r\n}\r\n\r\ninterface Line2Address {\r\n postalCode?: string\r\n cityName?: string\r\n}\r\n\r\nexport type Address = Line1Address & Line2Address\r\nconst addressDelimiter = i18n().t('DELIMITER')\r\nconst houseNumberPrefix = i18n().t('PREFIXES.HOUSE_NUMBER')\r\n\r\nconst getSplittedAddressLine = (line: string) => {\r\n return line.split(addressDelimiter)\r\n}\r\n\r\nconst isHouseNumber = (houseNumber?: string) => {\r\n return !!houseNumber\r\n}\r\n\r\nconst explodeLine1 = (line: string) => {\r\n const exploded: Line1Address = {}\r\n const splittedAddressLine1 = getSplittedAddressLine(line)\r\n if (isHouseNumber(splittedAddressLine1[2])) {\r\n exploded.houseNumber = (splittedAddressLine1[2] ?? '').trim()\r\n }\r\n exploded.streetNumber = (splittedAddressLine1[1] ?? '').trim()\r\n exploded.streetName = (splittedAddressLine1[0] ?? '').trim()\r\n\r\n return exploded\r\n}\r\n\r\nconst explodeLine2 = (line: string): Line2Address => {\r\n const exploded = line.split(' ')\r\n\r\n return {\r\n postalCode: exploded[0],\r\n cityName: exploded[1],\r\n }\r\n}\r\n\r\nexport const explodeAddress = (address: ProvidedAddress): Address => {\r\n const exploded = {\r\n line1: explodeLine1(address.line1),\r\n line2: explodeLine2(address.line2),\r\n }\r\n\r\n return {\r\n streetName: exploded.line1.streetName,\r\n streetNumber: exploded.line1.streetNumber,\r\n houseNumber: exploded.line1.houseNumber,\r\n postalCode: exploded.line2.postalCode,\r\n cityName: exploded.line2.cityName,\r\n }\r\n}\r\n\r\nconst implodeLine1 = (address: Address) => {\r\n let imploded = `${address.streetName} ${addressDelimiter} ${address.streetNumber} ${addressDelimiter} `\r\n imploded += address.houseNumber ? `${address.houseNumber}` : ''\r\n return imploded\r\n}\r\n\r\nconst implodeLine2 = (address: Address) => {\r\n return `${address.postalCode} ${address.cityName}`\r\n}\r\n\r\nexport const implodeAddress = (address: Address) => {\r\n return {\r\n field1: implodeLine1(address),\r\n field2: implodeLine2(address),\r\n }\r\n}\r\n\r\nexport const stringifyAddressLine1 = (address: Address) => {\r\n return `${implodeLine1(address)}, ${implodeLine2(address)}`\r\n}\r\n\r\nexport const getConfirmationAddress = (address: ProvidedAddress) => {\r\n const exploded = explodeAddress(address)\r\n\r\n return `${exploded.streetName} ${exploded.streetNumber}${\r\n exploded.houseNumber ? ` ${houseNumberPrefix} ${exploded.houseNumber}` : ''\r\n }\\n${implodeLine2(exploded)}`\r\n}\r\n\r\nexport const removeDelimiterFromAddressLine1 = (addressLine1?: string) => {\r\n const exploded = explodeLine1(addressLine1 ?? '')\r\n return `${exploded.streetName} ${exploded.streetNumber}${\r\n exploded.houseNumber ? ` ${houseNumberPrefix} ${exploded.houseNumber}` : ''\r\n }`\r\n}\r\n","import { AgreementListItem } from '@shared/contracts/agreementListItem'\r\nimport { MeasurementPointListItem } from '@shared/contracts/measurementPointListItem'\r\nimport { getConfirmationAddress } from './addressParser'\r\n\r\nconst getMeasurementPointsNumbers = (\r\n points: (MeasurementPointListItem | undefined)[]\r\n): string[] => {\r\n return points.map(point => point?.number ?? '')\r\n}\r\n\r\nconst getAgreementsIds = (\r\n items: (AgreementListItem | MeasurementPointListItem | undefined)[]\r\n) => {\r\n return items.map(\r\n (agreement: AgreementListItem | MeasurementPointListItem | undefined) =>\r\n agreement?.agreementId\r\n )\r\n}\r\n\r\nconst getMeasurementPointsFilteredByAgreements = (\r\n measurementPoints: MeasurementPointListItem[],\r\n agreements: (AgreementListItem | undefined)[]\r\n) => {\r\n const agreementsIds = getAgreementsIds(agreements)\r\n return measurementPoints.filter((point: MeasurementPointListItem) =>\r\n agreementsIds.includes(point.agreementId)\r\n )\r\n}\r\n\r\nconst getMeasurementPointsFilteredByEmail = (\r\n measurementPoints: MeasurementPointListItem[],\r\n agreements: (AgreementListItem | undefined)[],\r\n email: string\r\n) => {\r\n // eslint-disable-next-line\r\n return measurementPoints.filter((point: MeasurementPointListItem) => {\r\n for (const agreement of agreements) {\r\n if (\r\n agreement?.agreementId === point.agreementId &&\r\n agreement.emailAddresses?.includes(email)\r\n ) {\r\n return point\r\n }\r\n }\r\n })\r\n}\r\n\r\nconst stringifyMeasurementPoint = (option: MeasurementPointListItem) => {\r\n return getConfirmationAddress({\r\n line1: option.addressLine1 ?? '',\r\n line2: option.addressLine2 ?? '',\r\n })\r\n}\r\n\r\nexport {\r\n getMeasurementPointsNumbers,\r\n getAgreementsIds,\r\n getMeasurementPointsFilteredByAgreements,\r\n stringifyMeasurementPoint,\r\n getMeasurementPointsFilteredByEmail,\r\n}\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport {\r\n userAgreementsGetAll,\r\n updateAgreementEmail,\r\n updateAgreementCorrespondenceAddress,\r\n} from './userAgreementsThunks'\r\nimport { addUserAgreementsSideEffects } from './userAgreementsSideEffects'\r\nimport { handleLoadingAction } from '../helpers/thunks/entityThunksFactory'\r\nimport {\r\n AgreementListItem,\r\n AgreementListItemPagedResponse,\r\n InvoiceType,\r\n MeasurementPointListItem,\r\n} from '@shared/contracts/models'\r\nimport { BaseAction } from '@core/store/types'\r\nimport { NewAddressPayload } from './types'\r\nimport { getAgreementsIds } from '@shared/utils/measurementPoints'\r\n\r\nconst entityAdapter = createEntityAdapter({\r\n selectId: agreement => agreement.agreementId ?? '',\r\n})\r\n\r\nexport interface UpdateAgreementsEmailsPayload {\r\n newEmailAddress: string\r\n}\r\n\r\ntype RefreshAgreementsEmailsAction = BaseAction & {\r\n payload: {\r\n oldEmail?: string\r\n newEmail: string\r\n measurementPoints: MeasurementPointListItem[]\r\n agreements?: (AgreementListItem | undefined)[]\r\n }\r\n}\r\n\r\ntype RefreshCorrespondenceAddressAction = BaseAction & {\r\n payload: {\r\n agreementId: string\r\n newAddress: NewAddressPayload\r\n }\r\n}\r\n\r\ntype RefreshAgreementsAfterActivateAction = BaseAction & {\r\n payload: {\r\n measurementPoints: MeasurementPointListItem[]\r\n agreements?: (AgreementListItem | undefined)[]\r\n newEmail: string\r\n oldEmail?: string\r\n }\r\n}\r\n\r\nexport const userAgreementsSlice = createSlice({\r\n name: EntityReducers.userAgreements,\r\n initialState: {\r\n ...getBaseState(entityAdapter),\r\n },\r\n reducers: {\r\n refreshAgreementsEmails: (state, action: RefreshAgreementsEmailsAction) => {\r\n if (!state || !state.entities || !action.payload) {\r\n return\r\n }\r\n const ids = getAgreementsIds(action.payload.measurementPoints)\r\n const otherAgreementsIds = getAgreementsIds(\r\n action.payload.agreements ?? []\r\n )\r\n const allIds =\r\n otherAgreementsIds.length > 0 ? ids.concat(otherAgreementsIds) : ids\r\n allIds.forEach((agreementId?: string) => {\r\n if (!agreementId) {\r\n return\r\n }\r\n let value = state.entities[agreementId]\r\n if (!value || !value?.emailAddresses) {\r\n return\r\n }\r\n\r\n value.emailAddresses.forEach((email, index, emails) => {\r\n emails[index] = action.payload.newEmail\r\n })\r\n })\r\n },\r\n refreshAgreementCorrespondenceAddress: (\r\n state,\r\n action: RefreshCorrespondenceAddressAction\r\n ) => {\r\n if (!state || !state.entities || !action.payload) {\r\n return\r\n }\r\n let value = state.entities[action.payload.agreementId]\r\n if (value) {\r\n value.correspondenceAddressLine1 =\r\n action.payload.newAddress.newAddressLine1\r\n value.correspondenceAddressLine2 =\r\n action.payload.newAddress.newAddressLine2\r\n }\r\n },\r\n refreshAgreementEmailsAfterActivateEInvoice: (\r\n state,\r\n action: RefreshAgreementsAfterActivateAction\r\n ) => {\r\n if (!state || !state.entities || !action.payload) {\r\n return\r\n }\r\n const ids = getAgreementsIds(action.payload.measurementPoints)\r\n const otherAgreementsIds = getAgreementsIds(\r\n action.payload.agreements ?? []\r\n )\r\n const allIds =\r\n otherAgreementsIds.length > 0 ? ids.concat(otherAgreementsIds) : ids\r\n allIds.forEach((agreementId?: string) => {\r\n if (!agreementId) {\r\n return\r\n }\r\n let value = state.entities[agreementId]\r\n if (!value || !value?.emailAddresses) {\r\n return\r\n }\r\n value.invoiceType = InvoiceType.Email\r\n if (value.emailAddresses.length > 0) {\r\n value.emailAddresses.forEach((email, index, emails) => {\r\n emails[index] = action.payload.newEmail\r\n })\r\n } else {\r\n value.emailAddresses = Array(action.payload.newEmail)\r\n }\r\n })\r\n },\r\n ...getEntityAdapterReducers(entityAdapter),\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers<\r\n AgreementListItem,\r\n undefined,\r\n AgreementListItemPagedResponse\r\n >(\r\n userAgreementsGetAll,\r\n builder,\r\n entityAdapter,\r\n response => response.results ?? []\r\n )\r\n handleLoadingAction(updateAgreementCorrespondenceAddress, builder)\r\n builder.addCase(\r\n updateAgreementCorrespondenceAddress.fulfilled,\r\n (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n }\r\n )\r\n handleLoadingAction(updateAgreementEmail, builder)\r\n builder.addCase(updateAgreementEmail.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n },\r\n})\r\n\r\naddUserAgreementsSideEffects()\r\n\r\nexport const userAgreementsActions = userAgreementsSlice.actions\r\n","import {\r\n AccountingDocumentListItem,\r\n AccountingDocumentListItemPagedResponse,\r\n AccountingDocumentsSortType,\r\n AccountingDocumentStatusFilter,\r\n AccountingDocumentTypeFilter,\r\n} from '@shared/contracts/models'\r\nimport { useThunkApi } from '../../../apiClient/apiClient'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { BaseGetAllPayload, getAllThunk } from '../helpers/thunks/getAllThunk'\r\n\r\nexport interface GetDocumentsPayload extends BaseGetAllPayload {\r\n limit?: number\r\n sortBy?: AccountingDocumentsSortType\r\n sortDesc?: boolean\r\n status?: AccountingDocumentStatusFilter\r\n type?: AccountingDocumentTypeFilter\r\n start?: number\r\n measurementPointId?: string\r\n}\r\n\r\nexport const documentsGetAll = getAllThunk<\r\n AccountingDocumentListItem,\r\n GetDocumentsPayload,\r\n AccountingDocumentListItemPagedResponse\r\n>(EntityReducers.documents, ({ thunkApi, payload }) => {\r\n return useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `AccountingDocuments`,\r\n params: payload,\r\n },\r\n },\r\n thunkApi\r\n )\r\n})\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport { documentsGetAll, GetDocumentsPayload } from './documentsThunks'\r\nimport { addDocumentsSideEffects } from './documentsSideEffects'\r\nimport {\r\n AccountingDocumentListItem,\r\n AccountingDocumentListItemPagedResponse,\r\n} from '@shared/contracts/models'\r\n\r\nconst entityAdapter = createEntityAdapter({\r\n selectId: document => document.accountingDocumentId ?? '',\r\n})\r\n\r\nexport const documentsSlice = createSlice({\r\n name: EntityReducers.documents,\r\n initialState: {\r\n ...getBaseState(entityAdapter),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers<\r\n AccountingDocumentListItem,\r\n GetDocumentsPayload,\r\n AccountingDocumentListItemPagedResponse\r\n >(\r\n documentsGetAll,\r\n builder,\r\n entityAdapter,\r\n response => response.results ?? []\r\n )\r\n },\r\n})\r\n\r\naddDocumentsSideEffects()\r\n\r\nexport const documentsActions = documentsSlice.actions\r\n","import { getAllThunk } from '../helpers/thunks/getAllThunk'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { useThunkApi } from '../../../apiClient/apiClient'\r\nimport { Reading } from '@shared/contracts/models'\r\nimport { endOfYear, startOfYear, addYears } from 'date-fns'\r\n\r\nexport const readingsGetAll = getAllThunk(\r\n EntityReducers.readings,\r\n ({ thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `MeasurementPoints/readings`,\r\n params: {\r\n from: addYears(startOfYear(new Date()), -1),\r\n to: endOfYear(new Date()),\r\n },\r\n },\r\n },\r\n thunkApi\r\n )\r\n)\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport { readingsGetAll } from './readingsThunks'\r\nimport { addReadingsSideEffects } from './readingsSideEffects'\r\nimport { Reading } from '@shared/contracts/models'\r\n\r\nconst entityAdapter = createEntityAdapter()\r\n\r\nexport const readingsSlice = createSlice({\r\n name: EntityReducers.readings,\r\n initialState: {\r\n ...getBaseState(entityAdapter),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers(\r\n readingsGetAll,\r\n builder,\r\n entityAdapter,\r\n response =>\r\n response.map((el, index) => {\r\n el.id = index\r\n return el\r\n })\r\n )\r\n },\r\n})\r\n\r\naddReadingsSideEffects()\r\n\r\nexport const readingsActions = readingsSlice.actions\r\n","import { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport {\r\n MeasurementPointListItem,\r\n MeasurementPointListItemPagedResponse\r\n} from '@shared/contracts/models'\r\nimport { useThunkApi } from '../../../apiClient/apiClient'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { getAllThunk } from '../helpers/thunks/getAllThunk'\r\nimport { ActivationEInvoiceRequest, UpdateEInvoiceEmailRequest } from './types'\r\n\r\nexport const measurementPointsGetAll = getAllThunk<\r\n MeasurementPointListItem,\r\n undefined,\r\n MeasurementPointListItemPagedResponse\r\n>(EntityReducers.measurementPoints, ({ thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `MeasurementPoints?agreementStatusFilter=Active`,\r\n },\r\n },\r\n thunkApi\r\n )\r\n)\r\n\r\nexport const updateMeasurementPointsEmail = createAsyncThunk<\r\n UpdateEInvoiceEmailRequest,\r\n UpdateEInvoiceEmailRequest\r\n>(\r\n `${[EntityReducers.measurementPoints]}/updateEInvoiceEmail`,\r\n async ({ ...data }, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: `MeasurementPoints/updateEInvoiceEmail`,\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return { ...data }\r\n }\r\n)\r\n\r\nexport const activationEInvoices = createAsyncThunk<\r\n ActivationEInvoiceRequest,\r\n ActivationEInvoiceRequest\r\n>(\r\n `${[EntityReducers.measurementPoints]}/EInvoice`,\r\n async ({ ...data }, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'post',\r\n url: `MeasurementPoints/EInvoice`,\r\n data,\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return { ...data }\r\n }\r\n)\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport {\r\n MeasurementPointListItem,\r\n MeasurementPointListItemPagedResponse,\r\n} from '@shared/contracts/models'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport { addMeasurementPointsSideEffects } from './measurementPointsSideEffects'\r\nimport { measurementPointsGetAll } from './measurementPointsThunks'\r\n\r\nconst entityAdapter = createEntityAdapter({\r\n selectId: agreement => agreement.measurementPointId ?? '',\r\n})\r\n\r\nexport const measurementPointsSlice = createSlice({\r\n name: EntityReducers.measurementPoints,\r\n initialState: {\r\n ...getBaseState(entityAdapter),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers<\r\n MeasurementPointListItem,\r\n undefined,\r\n MeasurementPointListItemPagedResponse\r\n >(\r\n measurementPointsGetAll,\r\n builder,\r\n entityAdapter,\r\n response => response.results ?? []\r\n )\r\n },\r\n})\r\n\r\naddMeasurementPointsSideEffects()\r\n\r\nexport const measurementPointsActions = measurementPointsSlice.actions\r\n","import { getAllThunk } from '../helpers/thunks/getAllThunk'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { NotificationSetting } from '@shared/contracts/models'\r\n\r\nexport type UpdateUserNotificationPayload = {\r\n id: string\r\n isActive: boolean\r\n}\r\n\r\nexport const userNotificationsGetAll = getAllThunk(\r\n EntityReducers.userNotifications,\r\n ({ thunkApi }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `accounts/settings/notifications`,\r\n params: {\r\n method: 'All',\r\n },\r\n },\r\n omitConsents: true,\r\n },\r\n thunkApi\r\n )\r\n)\r\n\r\nexport const updateUserNotification = createAsyncThunk<\r\n UpdateUserNotificationPayload,\r\n UpdateUserNotificationPayload\r\n>(\r\n `${[EntityReducers.userNotifications]}/updateNotification`,\r\n async (payload, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'put',\r\n url: `accounts/settings/notifications/${payload.id}`,\r\n data: {\r\n isActive: payload.isActive,\r\n },\r\n },\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return {\r\n id: payload.id,\r\n isActive: payload.isActive,\r\n }\r\n }\r\n)\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport {\r\n userNotificationsGetAll,\r\n updateUserNotification,\r\n} from './userNotificationsThunks'\r\nimport { handleLoadingAction } from '../helpers/thunks/entityThunksFactory'\r\nimport { addUserNotificationsSideEffects } from './userNotificationsSideEffects'\r\nimport { NotificationSetting } from '@shared/contracts/models'\r\n\r\nconst entityAdapter = createEntityAdapter()\r\n\r\nexport const userNotificationsSlice = createSlice({\r\n name: EntityReducers.userConsents,\r\n initialState: {\r\n ...getBaseState(entityAdapter),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers(\r\n userNotificationsGetAll,\r\n builder,\r\n entityAdapter\r\n )\r\n handleLoadingAction(updateUserNotification, builder)\r\n builder.addCase(updateUserNotification.fulfilled, (state, { payload }) => {\r\n state.loadingPending > 0 && state.loadingPending--\r\n const entity = state.entities[payload.id]\r\n state.entities = {\r\n ...state.entities,\r\n [payload.id]: {\r\n ...(entity as NotificationSetting),\r\n isActive: payload.isActive,\r\n },\r\n }\r\n })\r\n },\r\n})\r\n\r\naddUserNotificationsSideEffects()\r\n\r\nexport const userNotificationActions = userNotificationsSlice.actions\r\n","import { actionsInterceptorMiddleware } from '@core/store/middleware/actionsInterceptorMiddleware'\r\nimport { USER_FOUND } from 'redux-oidc'\r\nimport { customerNumberActions } from '../customerNumbers/customerNumbers'\r\nimport { userNotificationsGetAll } from './userNotificationsThunks'\r\n\r\nexport const addUserNotificationsSideEffects = () => {\r\n actionsInterceptorMiddleware.addManyActionsCallback([\r\n {\r\n actionTypes: [USER_FOUND, customerNumberActions.setCustomerNumber.type],\r\n callback: ({ dispatch, state }) => {\r\n if (!state.userConsents.loadingPending) {\r\n dispatch(userNotificationsGetAll())\r\n }\r\n },\r\n },\r\n ])\r\n}\r\n","import { useThunkApi } from '@core/apiClient/apiClient'\r\nimport {\r\n News,\r\n NewsPagedResponse,\r\n NewsTypeFilter,\r\n} from '@shared/contracts/models'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport { BaseGetAllPayload, getAllThunk } from '../helpers/thunks/getAllThunk'\r\n\r\nexport interface GetNewsPayload extends BaseGetAllPayload {\r\n type?: NewsTypeFilter\r\n start?: number\r\n limit?: number\r\n}\r\n\r\nexport const newsGetAll = getAllThunk(\r\n EntityReducers.news,\r\n ({ thunkApi, payload }) =>\r\n useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: 'News',\r\n params: payload,\r\n },\r\n },\r\n thunkApi\r\n )\r\n)\r\n","import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'\r\nimport { News, NewsPagedResponse } from '@shared/contracts/models'\r\nimport { EntityReducers } from '../EntityReducers'\r\nimport {\r\n getBaseState,\r\n getEntityAdapterReducers,\r\n} from '../helpers/entityReducerHelpers'\r\nimport { getAllExtraReducers } from '../helpers/thunks/getAllThunk'\r\nimport { GetNewsPayload, newsGetAll } from './newsThunks'\r\n\r\nconst entityAdapter = createEntityAdapter()\r\n\r\nexport const newsSlice = createSlice({\r\n name: EntityReducers.news,\r\n initialState: {\r\n ...getBaseState(entityAdapter),\r\n },\r\n reducers: {\r\n ...getEntityAdapterReducers(entityAdapter),\r\n },\r\n extraReducers: builder => {\r\n getAllExtraReducers(\r\n newsGetAll,\r\n builder,\r\n entityAdapter,\r\n response => response.results ?? []\r\n )\r\n },\r\n})\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit'\r\nimport { PersistConfig, persistReducer } from 'redux-persist'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport storage from 'redux-persist/lib/storage'\r\n\r\nexport type persistedSettingsType =\r\n | 'cookiesSeen'\r\n | 'analyticsEnabled'\r\n | 'mobileAppNavSeen'\r\n\r\nexport type PersistedSettingsState = {\r\n [key in persistedSettingsType]: boolean\r\n}\r\n\r\nconst initialState: PersistedSettingsState = {\r\n cookiesSeen: false,\r\n analyticsEnabled: false,\r\n mobileAppNavSeen: false,\r\n}\r\n\r\nexport interface ISetPersistedSettingsPayload {\r\n persistedSetting: persistedSettingsType\r\n value: boolean\r\n}\r\n\r\nexport const persistedSettingsSlice = createSlice({\r\n name: StoreReducers.persistedSettings,\r\n initialState,\r\n reducers: {\r\n setPersistedSetting: (\r\n state,\r\n { payload }: PayloadAction\r\n ) => {\r\n state[payload.persistedSetting] = payload.value\r\n },\r\n },\r\n})\r\n\r\nexport const persistedSettingsActions = persistedSettingsSlice.actions\r\n\r\nconst persistConfig: PersistConfig = {\r\n key: StoreReducers.persistedSettings,\r\n storage: storage,\r\n}\r\n\r\nexport const persistedSettingsReducer = persistReducer(\r\n persistConfig,\r\n persistedSettingsSlice.reducer\r\n)\r\n","import { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { ActionReducerMapBuilder, createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { handleLoadingAction } from '../entity/helpers/thunks/entityThunksFactory'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { TrustedMfaDevicesState } from './trustedMfaDevices'\r\nimport { Device } from '@shared/contracts/trustedMfaDevice'\r\n\r\nexport type RemoveTrustedMfaDevicePayload = {\r\n id: number\r\n}\r\n\r\nexport const getTrustedMfaDevices = createAsyncThunk(\r\n `${[StoreReducers.userAccount]}/getTrustedMfaDevices`,\r\n async (_, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: `Accounts/trustedMfaDevices`,\r\n },\r\n omitConsents: true,\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n }\r\n)\r\n\r\nexport const removeTrustedMfaDevice = createAsyncThunk<\r\n RemoveTrustedMfaDevicePayload,\r\n RemoveTrustedMfaDevicePayload\r\n>(\r\n `${[StoreReducers.userAccount]}/removeTrustedMfaDevice`,\r\n async (payload, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'delete',\r\n url: `Accounts/trustedMfaDevices/${payload.id}`,\r\n },\r\n omitConsents: true,\r\n },\r\n thunkApi\r\n )\r\n await execute()\r\n return {\r\n id: payload.id,\r\n }\r\n }\r\n)\r\n\r\nexport const getTrustedMfaDevicesExtraReducers = (\r\n builder: ActionReducerMapBuilder\r\n) => {\r\n handleLoadingAction(getTrustedMfaDevices, builder)\r\n builder.addCase(getTrustedMfaDevices.fulfilled, (state, { payload }) => {\r\n state.devices = payload\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n handleLoadingAction(removeTrustedMfaDevice, builder)\r\n builder.addCase(removeTrustedMfaDevice.fulfilled, (state, { payload }) => {\r\n state.devices = state.devices.filter(device => device.id !== payload.id)\r\n state.loadingPending > 0 && state.loadingPending--\r\n })\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport {\r\n initialLoadingState,\r\n LoadingState,\r\n} from '../entity/helpers/entityReducerHelpers'\r\nimport { StoreReducers } from '../StoreReducers'\r\nimport { getTrustedMfaDevicesExtraReducers } from './trustedMfaDevicesThunk'\r\nimport { Device } from '@shared/contracts/trustedMfaDevice'\r\n\r\nexport interface TrustedMfaDevicesState extends LoadingState {\r\n devices: Device[]\r\n}\r\n\r\nconst initialState: TrustedMfaDevicesState = {\r\n ...initialLoadingState,\r\n devices: [],\r\n}\r\n\r\nexport const trustedMfaDevicesSlice = createSlice({\r\n name: StoreReducers.trustedMfaDevices,\r\n initialState,\r\n reducers: {\r\n resetState: state => Object.assign(state, initialState),\r\n },\r\n extraReducers: builder => {\r\n getTrustedMfaDevicesExtraReducers(builder)\r\n },\r\n})\r\n\r\nexport const trustedMfaDevicesActions = trustedMfaDevicesSlice.actions\r\n","import { reducer as oidc } from '@axa-fr/react-oidc-redux'\r\nimport { combineReducers } from '@reduxjs/toolkit'\r\nimport { EntityReducers } from './entity/EntityReducers'\r\nimport { testSlice } from './entity/TestReducer'\r\nimport { persisteCustomerNumbersReducer } from './entity/customerNumbers/customerNumbers'\r\nimport { StoreReducers } from './StoreReducers'\r\nimport { userAccountSlice } from './user/userAccount'\r\nimport { administrationSlice } from './administration/administration'\r\nimport { persistUiReducer } from './ui/ui'\r\nimport { paymentsSlice } from './payments/payments'\r\nimport { policiesSlice } from './policies/policies'\r\nimport { offersSlice } from './offers/offers'\r\nimport { userConsentsSlice } from './entity/userConsents/userConsents'\r\nimport { userAgreementsSlice } from './entity/userAgreements/userAgreements'\r\nimport { documentsSlice } from './entity/documents/documents'\r\nimport { readingsSlice } from './entity/readings/readings'\r\nimport { measurementPointsSlice } from './entity/measurementPoints/measurementPoints'\r\nimport { userNotificationsSlice } from './entity/userNotifications/userNotifications'\r\nimport { newsSlice } from './entity/news/news'\r\nimport { persistedSettingsReducer } from './persistedSettings/persisted'\r\nimport { trustedMfaDevicesSlice } from './trustedMfaDevices/trustedMfaDevices'\r\n\r\nconst rootReducer = combineReducers({\r\n [EntityReducers.test]: testSlice.reducer,\r\n [EntityReducers.userConsents]: userConsentsSlice.reducer,\r\n [EntityReducers.userAgreements]: userAgreementsSlice.reducer,\r\n [EntityReducers.customerNumbers]: persisteCustomerNumbersReducer,\r\n [EntityReducers.documents]: documentsSlice.reducer,\r\n [EntityReducers.readings]: readingsSlice.reducer,\r\n [EntityReducers.measurementPoints]: measurementPointsSlice.reducer,\r\n [EntityReducers.news]: newsSlice.reducer,\r\n [EntityReducers.userNotifications]: userNotificationsSlice.reducer,\r\n oidc,\r\n [StoreReducers.userAccount]: userAccountSlice.reducer,\r\n [StoreReducers.ui]: persistUiReducer,\r\n [StoreReducers.payments]: paymentsSlice.reducer,\r\n [StoreReducers.policies]: policiesSlice.reducer,\r\n [StoreReducers.persistedSettings]: persistedSettingsReducer,\r\n [StoreReducers.offers]: offersSlice.reducer,\r\n [StoreReducers.administration]: administrationSlice.reducer,\r\n [StoreReducers.trustedMfaDevices]: trustedMfaDevicesSlice.reducer,\r\n})\r\nexport type RootState = ReturnType\r\n\r\nexport default rootReducer\r\n","import {\r\n Action,\r\n configureStore,\r\n getDefaultMiddleware,\r\n SerializableStateInvariantMiddlewareOptions,\r\n ThunkAction,\r\n} from '@reduxjs/toolkit'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { USER_FOUND } from 'redux-oidc'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport {\r\n FLUSH,\r\n PAUSE,\r\n PERSIST,\r\n PURGE,\r\n REGISTER,\r\n REHYDRATE,\r\n} from 'redux-persist'\r\nimport { actionsInterceptorMiddleware } from './middleware/actionsInterceptorMiddleware'\r\nimport rootReducer, { RootState } from './rootReducer'\r\n\r\nconst store = configureStore({\r\n reducer: rootReducer,\r\n middleware: getDefaultMiddleware({\r\n serializableCheck: {\r\n // Ignore these action types\r\n ignoredActions: [\r\n showModal.type,\r\n USER_FOUND,\r\n FLUSH,\r\n REHYDRATE,\r\n PAUSE,\r\n PERSIST,\r\n PURGE,\r\n REGISTER,\r\n ],\r\n ignoredPaths: ['oidc.user', 'ui'],\r\n } as SerializableStateInvariantMiddlewareOptions,\r\n }).concat([actionsInterceptorMiddleware.middleWareFn]),\r\n devTools: process.env.NODE_ENV === 'development',\r\n})\r\n\r\nexport type AppDispatch = typeof store.dispatch\r\nexport const useAppDispatch = () => useDispatch() // Export a hook that can be reused to resolve types\r\n\r\nexport const useAppSelector = (\r\n selector: (state: State) => PartState,\r\n equalityFn: (left: PartState, right: PartState) => boolean = (\r\n left: PartState,\r\n right: PartState\r\n ) => left === right\r\n): ReturnType =>\r\n useSelector>(selector, equalityFn) // Export a hook that can be reused to resolve types\r\n\r\nexport default store\r\n\r\nexport type AppStore = typeof store\r\n\r\nexport type AppThunk = ThunkAction>\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { persistedSettingsType } from './persisted'\r\n\r\nexport const persistedSettingsStateSelector = (state: RootState) =>\r\n state.persistedSettings\r\n\r\nexport const getPersistedSettingState = (\r\n persistedSetting: persistedSettingsType\r\n) =>\r\n createSelector(\r\n persistedSettingsStateSelector,\r\n state => state[persistedSetting]\r\n )\r\n","import { useCallback } from 'react'\r\nimport { useAppSelector, useAppDispatch } from '../store'\r\nimport { persistedSettingsActions, persistedSettingsType } from './persisted'\r\nimport { getPersistedSettingState } from './selectors'\r\n\r\nexport const usePersistedSetting = (\r\n persistedSetting: persistedSettingsType\r\n) => {\r\n const value = useAppSelector(getPersistedSettingState(persistedSetting))\r\n const dispatch = useAppDispatch()\r\n\r\n const setPersistedSettingState = useCallback(\r\n (value: boolean) => {\r\n dispatch(\r\n persistedSettingsActions.setPersistedSetting({\r\n persistedSetting,\r\n value,\r\n })\r\n )\r\n },\r\n [dispatch, persistedSetting]\r\n )\r\n\r\n return [value, setPersistedSettingState] as [\r\n typeof value,\r\n typeof setPersistedSettingState\r\n ]\r\n}\r\n","import { usePersistedSetting } from '@core/store/persistedSettings/hooks'\r\n\r\nexport const useAnalyticsState = () => {\r\n return usePersistedSetting('analyticsEnabled')\r\n}\r\n","import ReactGA from 'react-ga4'\r\nimport { pushToEventsQueue } from './eventsQueue'\r\n\r\nexport const trackCustomEvent = (\r\n eventArgs: any,\r\n cookieValue: boolean\r\n) => {\r\n if (!cookieValue) {\r\n pushToEventsQueue(eventArgs)\r\n return\r\n }\r\n\r\n ReactGA.event(eventArgs)\r\n}\r\n","import { trackCustomEvent } from './trackCustomEvent'\r\n\r\nconst eventsQueue: any[] = []\r\n\r\nexport const pushToEventsQueue = (event: any) => eventsQueue.push(event)\r\nexport const getElementFromQueue = () => eventsQueue.shift()\r\n\r\nexport const sendAllEventsFromQueue = () => {\r\n let event = getElementFromQueue()\r\n\r\n if (!event) return\r\n trackCustomEvent(event, true)\r\n sendAllEventsFromQueue()\r\n}\r\n","import Cookies from 'universal-cookie'\r\n\r\nconst analyticsCookiesNames = ['_ga', '_gid', '_gat']\r\nconst defaultCookiesPath = '/'\r\n\r\nexport const deactivateGa = () => {\r\n const cookies = new Cookies()\r\n analyticsCookiesNames.forEach(cookieName => {\r\n cookies.remove(cookieName, { path: defaultCookiesPath })\r\n });\r\n}\r\n","import { useCallback } from 'react'\r\nimport { useAnalyticsState } from './hooks/useAnalyticsState'\r\nimport { useEventsQueue } from './hooks/useEventsQueue'\r\nimport { usePageViews } from './hooks/usePageViews'\r\nimport { initializeGa } from './utils/initializeGa'\r\nimport { deactivateGa } from './utils/deactivateGa'\r\nimport { trackCustomEvent } from './utils/trackCustomEvent'\r\n\r\nexport const useAnalytics = () => {\r\n const [, sendEventsFromQueue] = useEventsQueue()\r\n const [analyticsState, setAnalyticsState] = useAnalyticsState()\r\n usePageViews()\r\n\r\n const enableGa = useCallback(\r\n (newState?: boolean) => {\r\n if (newState) {\r\n setAnalyticsState(newState)\r\n }\r\n\r\n if (newState === false) {\r\n setAnalyticsState(newState)\r\n deactivateGa()\r\n sendEventsFromQueue()\r\n } else if (analyticsState || newState === true) {\r\n initializeGa()\r\n sendEventsFromQueue()\r\n }\r\n },\r\n [analyticsState, sendEventsFromQueue, setAnalyticsState]\r\n )\r\n\r\n const _trackCustomEvent = useCallback(\r\n (event: any) => {\r\n trackCustomEvent(event, analyticsState)\r\n },\r\n [analyticsState]\r\n )\r\n\r\n type useAnalyticsReturnType = [\r\n typeof _trackCustomEvent,\r\n boolean,\r\n typeof enableGa\r\n ]\r\n\r\n return [_trackCustomEvent, analyticsState, enableGa] as useAnalyticsReturnType\r\n}\r\n","import { pushToEventsQueue, sendAllEventsFromQueue } from '../utils/eventsQueue'\r\n\r\ntype useEventsQueueReturnType = [\r\n typeof pushToEventsQueue,\r\n typeof sendAllEventsFromQueue\r\n]\r\n\r\nexport const useEventsQueue = (): useEventsQueueReturnType => {\r\n return [pushToEventsQueue, sendAllEventsFromQueue]\r\n}\r\n","import { useEffect } from 'react'\r\nimport ReactGA from 'react-ga4'\r\nimport { useLocation } from 'react-router'\r\nimport { useAnalyticsState } from './useAnalyticsState'\r\n\r\nexport const usePageViews = () => {\r\n let location = useLocation()\r\n const [state] = useAnalyticsState()\r\n\r\n useEffect(() => {\r\n if (state) {\r\n ReactGA.event(location.pathname + location.search)\r\n }\r\n }, [location, state])\r\n}\r\n","import ReactGA from 'react-ga4'\r\n\r\nexport const initializeGa = () => {\r\n if (process.env.REACT_APP_GOOGLE_ANALYTICS) {\r\n ReactGA.initialize(\r\n [{\r\n trackingId: process.env.REACT_APP_GOOGLE_ANALYTICS,\r\n gaOptions: {\r\n debug: process.env.NODE_ENV === 'development',\r\n titleCase: false}\r\n }])\r\n }\r\n}\r\n","export const primaryColor = '#12BEAB'\r\nexport const lightColor = '#12BEAB40'\r\nexport const warningColor = '#E9A711'\r\nexport const errorColor = '#FFABAE'\r\nexport const subHeadColor = '#F2F6F5'\r\nexport const bgColor = '#FBFBFB'\r\nexport const borderColor = '#E2E4E3'\r\nexport const textPrimaryColor = '#1D4874'\r\nexport const textSecondaryColor = '#3A3A3A'\r\nexport const errorRedColor = '#D22454'\r\nexport const headerBg = '#F6F9F8'\r\nexport const sidePadding = '28px'\r\nexport const backdropBg = 'rgba(17, 41, 65, 0.75)'\r\nexport const tableTextColor = '#112941'\r\nexport const autocompleteInputColor = 'rgba(17,41,65,0.55)'\r\nexport const lightGrey = '#F2F6F5'\r\nexport const tableAmountColor = '#07617B'\r\nexport const modalIconBackgroundColor = 'rgba(71, 169, 160, 0.2)'\r\nexport const textFieldBorderColor = '#D3CFCF'\r\nexport const autocompleteBackgroundColor = '#F9F9F9'\r\nexport const secondaryColor = '#48A9A1'\r\nexport const navHeight = '60px'\r\nexport const inputBackgroundColor = '#F7F7F7'\r\n\r\nexport const contentSidePadding = (top: number, bottom?: number) => ({\r\n padding: `${top}px ${sidePadding} ${bottom ?? top}px`,\r\n})\r\n\r\nexport type StatusColor = 'default' | 'warning' | 'error'\r\n\r\nexport const getStatusColor = (status: StatusColor) => {\r\n switch (status) {\r\n case 'default':\r\n return primaryColor\r\n case 'warning':\r\n return warningColor\r\n case 'error':\r\n return errorColor\r\n }\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst COOKIE_ICON_SIZE = 55\r\n\r\nexport const useStyles = makeStyles((theme: Theme) => ({\r\n dialog: {\r\n width: \"100%\",\r\n color: tableTextColor,\r\n '& .MuiPaper-root': {\r\n maxWidth: '700px'\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: \"85%\",\r\n margin: '0 auto',\r\n },\r\n },\r\n textContainer: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(3),\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n cookieIcon: {\r\n width: COOKIE_ICON_SIZE,\r\n margin: 0,\r\n marginRight: theme.spacing(7),\r\n \"& svg\": {\r\n width: \"100%\",\r\n fill: theme.palette.primary.main,\r\n }\r\n },\r\n mainContent: {\r\n fontSize: 18,\r\n '& a': {\r\n cursor: 'pointer',\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n textDecoration: 'none',\r\n },\r\n },\r\n buttonsContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n marginBottom: theme.spacing(3),\r\n \"& >*\": {\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: 0,\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n \"& :first-child\": {\r\n marginLeft: 0\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column-reverse',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n },\r\n },\r\n contentMsg: {\r\n fontSize: 14,\r\n margin: 0,\r\n '& a': {\r\n cursor: 'pointer',\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n textDecoration: 'none',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n alignSelf: 'flex-start',\r\n },\r\n },\r\n}))\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M507.44,208.64c-1.296-6.88-6.88-12.096-13.824-12.928c-6.96-0.832-13.6,2.928-16.48,9.312 c-5.072,11.2-16.208,18.992-29.12,18.976c-14.32,0.032-26.416-9.632-30.448-22.896c-2.432-8.096-10.752-12.896-18.976-10.976 C393.536,191.312,388.752,192,384,192c-35.248-0.064-63.936-28.752-64-64c0-4.752,0.688-9.536,1.872-14.576 c1.936-8.224-2.88-16.56-10.976-18.992C297.632,90.416,287.968,78.32,288,64c-0.016-12.928,7.776-24.048,18.976-29.12 c6.384-2.88,10.144-9.536,9.312-16.48c-0.832-6.96-6.048-12.544-12.928-13.84C288.096,1.696,272.288,0,256,0 C114.784,0.032,0.032,114.784,0,256c0.032,141.216,114.784,255.968,256,256c141.216-0.032,255.968-114.784,256-256 C512,239.712,510.304,223.904,507.44,208.64z M414.32,414.32C373.696,454.912,317.792,480,256,480s-117.696-25.088-158.32-65.68 C57.088,373.696,32,317.792,32,256S57.088,138.304,97.68,97.68C138.304,57.088,194.208,32,256,32c2.88,0,5.696,0.304,8.56,0.432 C259.216,41.744,256.016,52.464,256,64c0.032,23.888,13.28,44.368,32.592,55.296C288.288,122.144,288,124.992,288,128 c0.032,52.976,43.024,95.968,96,96c3.008,0,5.856-0.288,8.704-0.592C403.632,242.704,424.096,255.968,448,256 c11.536-0.016,22.256-3.216,31.568-8.56c0.128,2.848,0.432,5.68,0.432,8.56C480,317.792,454.912,373.696,414.32,414.32z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 192,\n cy: 128,\n r: 32\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 128,\n cy: 256,\n r: 32\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 288,\n cy: 384,\n r: 32\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 272,\n cy: 272,\n r: 16\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 400,\n cy: 336,\n r: 16\n}), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 176,\n cy: 368,\n r: 16\n}))));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"g\", null);\n\nvar SvgCookies = function SvgCookies(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 512 512\",\n style: {\n enableBackground: \"new 0 0 512 512\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCookies, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Cookies.8e5657c4.svg\";\nexport { ForwardRef as ReactComponent };","export const colorOpacityParser = (opacity: number) => {\r\n const parsedOpacity = Math.round(opacity * 2.55)\r\n return parsedOpacity.toString(16)\r\n}\r\n","import {\r\n Button as MaterialButton,\r\n ButtonProps,\r\n CircularProgress,\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n withStyles,\r\n withTheme,\r\n} from '@material-ui/core'\r\nimport {\r\n borderColor,\r\n getStatusColor,\r\n StatusColor,\r\n textSecondaryColor,\r\n} from '@mbok/styles/constants'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\nimport React from 'react'\r\n\r\nexport const Button = withStyles((theme: Theme) => ({\r\n root: {\r\n textTransform: 'unset',\r\n borderRadius: '24px',\r\n boxShadow:\r\n '-1px -2px 3px rgba(53, 160, 148, 0.15), 2px 3px 4px rgba(54, 54, 54, 0.24)',\r\n fontWeight: 700,\r\n padding: '5px 25px',\r\n fontSize: 17,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 16,\r\n padding: '0 16px',\r\n },\r\n },\r\n sizeSmall: {\r\n padding: '2.5px 25px',\r\n fontSize: 14,\r\n height: 'fit-content',\r\n },\r\n containedPrimary: {\r\n border: `2.5px solid transparent`,\r\n color: theme.palette.common.white,\r\n background: theme.palette.primary.main,\r\n },\r\n outlined: {\r\n border: `2.5px solid ${borderColor}`,\r\n color: textSecondaryColor,\r\n backgroundColor: theme.palette.common.white,\r\n boxShadow: 'none',\r\n },\r\n outlinedPrimary: {\r\n border: `2.5px solid ${theme.palette.primary.main}`,\r\n color: theme.palette.primary.main,\r\n '&:hover': {\r\n border: `2.5px solid ${theme.palette.primary.main}`,\r\n },\r\n },\r\n containedSecondary: {\r\n height: '50px',\r\n border: 'transparent',\r\n borderRadius: '7px',\r\n backgroundColor: '#f5f5f5',\r\n boxShadow: 'none',\r\n color: theme.palette.text.secondary + colorOpacityParser(75),\r\n fontWeight: 700,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '16px',\r\n overflow: 'hidden',\r\n transition: 'color 0.2s, background-color 0.2s',\r\n '&:hover': {\r\n opacity: 1,\r\n color: theme.palette.common.white,\r\n backgroundColor: theme.palette.primary.main,\r\n border: 'transparent',\r\n boxShadow: 'none',\r\n },\r\n },\r\n text: {\r\n padding: 0,\r\n border: 'transparent',\r\n boxShadow: 'none',\r\n color: theme.palette.primary.main,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n boxShadow: 'none',\r\n border: 'transparent',\r\n backgroundColor: 'transparent',\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n}))(withTheme(MaterialButton))\r\n\r\nexport interface IStyledButtonProps extends ButtonProps {\r\n status?: StatusColor\r\n loading?: boolean\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n spinner: {\r\n marginLeft: '0',\r\n width: '0 !important',\r\n height: '20px',\r\n transition: 'margin 0.3s, width 0.3s',\r\n color: theme.palette.common.white,\r\n right: '-10px',\r\n position: 'relative',\r\n },\r\n visible: {\r\n marginLeft: '10px',\r\n width: '20px !important',\r\n },\r\n })\r\n)\r\n\r\nexport const StyledButton: React.FC = ({\r\n status,\r\n loading,\r\n children,\r\n ...props\r\n}) => {\r\n const styles = useStyles()\r\n const statusColorValue = status && getStatusColor(status)\r\n const additionalStyles =\r\n props.variant === 'outlined' && statusColorValue\r\n ? {\r\n border: `2.5px solid ${statusColorValue}`,\r\n color: statusColorValue,\r\n }\r\n : {}\r\n\r\n return (\r\n \r\n {children}{' '}\r\n {loading && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default StyledButton\r\n","import React, { useCallback, useMemo } from 'react'\r\nimport { useAppDispatch } from '@core/store/store'\r\nimport { Dialog } from '@material-ui/core'\r\nimport { useStyles } from './CookiesConsent.style'\r\nimport { useCookiesSeen } from './hooks/useCookiesSeen'\r\nimport { ReactComponent as CookieSvg } from '@images/icons/other/Cookies.svg'\r\nimport { StyledButton } from '../Button'\r\nimport { useAnalytics } from '@core/analytics/useAnalytics'\r\nimport { DocumentType } from '@shared/contracts/models'\r\nimport { switchCookiesDialog } from '@core/store/ui/actions'\r\n\r\nexport const CookiesConsent: React.FC<{ positionTop?: number }> = React.memo(\r\n ({ positionTop }) => {\r\n const styles = useStyles()\r\n const dispatch = useAppDispatch()\r\n\r\n // eslint-disable-next-line\r\n const [, googleAnalytics, toggleGA] = useAnalytics()\r\n const [cookieAccepted, setCookieAccepted] = useCookiesSeen()\r\n\r\n const handleCookieAccept = useCallback(\r\n (analytics: boolean) => {\r\n toggleGA(analytics)\r\n setCookieAccepted(true)\r\n dispatch(switchCookiesDialog(false))\r\n },\r\n [setCookieAccepted, toggleGA, dispatch]\r\n )\r\n\r\n const mojaPolenergiaURL = useMemo(() => {\r\n return 'https://moja.polenergia.pl/'\r\n }, [])\r\n\r\n const cookiesURL = useMemo(() => {\r\n return (\r\n process.env.REACT_APP_API_URL +\r\n `Documents/${DocumentType.CookiesPolicy}/pdf`\r\n )\r\n }, [])\r\n\r\n const privacyTermsURL = useMemo(() => {\r\n return (\r\n process.env.REACT_APP_API_URL +\r\n `Documents/${DocumentType.PrivacyPolicy}/pdf`\r\n )\r\n }, [])\r\n\r\n return (\r\n <>\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n Drogi użytkowniku,\r\n
\r\n prosimy o zapoznanie się z poniższymi informacjami. Mają one na\r\n celu umożliwienie udzielenia dobrowolnej, świadomej i wyraźnej\r\n zgody.\r\n

\r\n

\r\n Polenergia Dystrybucja sp. z o.o. z siedzibą w Warszawie\r\n wykorzystuje pliki cookies i inne podobne technologie (dalej:\r\n „Cookies”), aby umożliwić prawidłowe działanie strony\r\n internetowej{' '}\r\n \r\n Moja Polenergia\r\n \r\n , ulepszać ją, a także aby analizować ruch na stronie oraz\r\n udostępniać informacje o sposobie korzystania z niej przez\r\n użytkowników swoim partnerom w obszarze mediów\r\n społecznościowych, reklamy i marketingu. Użytkownik może\r\n zaakceptować wszystkie Cookies, odrzucić wszystkie Cookies poza\r\n niezbędnymi, lub wybrać niektóre z nich, zaznaczając w zakładce\r\n „Ustawienia cookies” poniżej odpowiednie kategorie plików\r\n Cookies używanych na naszej stronie. Więcej informacji o tym,\r\n jak Polenergia Dystrybucja sp. z o.o. wykorzystuje Cookies,\r\n znajduje się w \r\n \r\n Polityce Cookies\r\n \r\n .\r\n

\r\n

\r\n Więcej informacji o zasadach przetwarzania danych osobowych\r\n przez Polenergia Dystrybucja sp. z o.o. na stronie internetowej\r\n znajduje się w \r\n \r\n Polityce prywatności\r\n \r\n .\r\n

\r\n
\r\n
\r\n
\r\n dispatch(switchCookiesDialog(true))}\r\n >\r\n Ustawienia cookies\r\n \r\n handleCookieAccept(false)}\r\n >\r\n Odrzuć opcjonalne\r\n \r\n handleCookieAccept(true)}\r\n >\r\n Akceptuj wszystkie\r\n \r\n
\r\n
\r\n \r\n )\r\n }\r\n)\r\n\r\nexport default CookiesConsent\r\n","import { usePersistedSetting } from '@core/store/persistedSettings/hooks'\r\n\r\nexport const useCookiesSeen = () => {\r\n return usePersistedSetting('cookiesSeen')\r\n}\r\n","import { Theme, createStyles, makeStyles } from '@material-ui/core'\r\n\r\nconst BUTTON_WIDTH_CLOSED = 56\r\nconst BUTTON_WIDTH = 330\r\nconst BUTTON_HEIGHT = 56\r\nconst BUTTON_POSITION = 24\r\nconst BUTTON_ICON_SIZE = 42\r\n\r\nconst BUTTON_RADIUS = 56\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n button: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n overflow: 'hidden',\r\n width: BUTTON_WIDTH_CLOSED,\r\n height: BUTTON_HEIGHT,\r\n backgroundColor: theme.palette.common.white,\r\n borderRadius: BUTTON_RADIUS,\r\n boxShadow: '0 3px 7px 1px rgba(0,0,0,0.15)',\r\n outline: 'none',\r\n border: 'none',\r\n cursor: 'pointer',\r\n zIndex: 1900,\r\n position: 'fixed',\r\n left: BUTTON_POSITION,\r\n bottom: BUTTON_POSITION,\r\n transition: 'width 200ms ease-in-out',\r\n '&:hover': {\r\n width: BUTTON_WIDTH,\r\n [theme.breakpoints.down('sm')]: {\r\n width: BUTTON_WIDTH_CLOSED - 20,\r\n },\r\n '& svg': {\r\n fill: theme.palette.primary.main,\r\n },\r\n '& span': {\r\n opacity: 1,\r\n width: '100%',\r\n transition: 'all 200ms ease-in',\r\n transitionDelay: '200ms',\r\n [theme.breakpoints.down('sm')]: {\r\n width: 0,\r\n },\r\n }\r\n },\r\n '&:focus': {\r\n outline: 'none',\r\n boxShadow: '0 3px 7px 1px rgba(0,0,0,0.3)',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: 56 - 20,\r\n height: BUTTON_HEIGHT - 20,\r\n right: BUTTON_POSITION - 12,\r\n bottom: BUTTON_POSITION - 12,\r\n },\r\n },\r\n icon: {\r\n display: 'flex',\r\n width: BUTTON_ICON_SIZE,\r\n height: BUTTON_ICON_SIZE,\r\n borderRadius: 8,\r\n marginTop: 6,\r\n marginLeft: 5,\r\n '& svg': {\r\n width: BUTTON_ICON_SIZE - 8,\r\n height: BUTTON_ICON_SIZE - 8,\r\n transition: 'fill 300ms ease-in-out',\r\n \r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: BUTTON_ICON_SIZE - 18,\r\n height: BUTTON_ICON_SIZE - 18,\r\n marginLeft: 0,\r\n '& svg': {\r\n width: BUTTON_ICON_SIZE - 22,\r\n height: BUTTON_ICON_SIZE - 22,\r\n },\r\n },\r\n },\r\n text: {\r\n fontSize: 16,\r\n textTransform: 'uppercase',\r\n fontWeight: 500,\r\n opacity: 0,\r\n [theme.breakpoints.down('sm')]: {\r\n display: 'none'\r\n },\r\n }\r\n })\r\n)\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { CreateCSSProperties } from '@material-ui/core/styles/withStyles'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst BUTTON_HEIGHT = 38\r\n\r\nconst getButtonStyles = (theme: Theme): CreateCSSProperties<{}> => ({\r\n fontSize: 14,\r\n height: BUTTON_HEIGHT,\r\n boxSizing: 'border-box',\r\n padding: theme.spacing(1.25, 9.25),\r\n boxShadow: 'none',\r\n})\r\n\r\nexport default makeStyles(theme => ({\r\n closeButton: {\r\n '&:first-child:not(:last-child)': {\r\n marginRight: theme.spacing(7),\r\n [theme.breakpoints.down('xs')]: {\r\n marginRight: 0,\r\n },\r\n },\r\n color: tableTextColor,\r\n border: '2.7px solid #E1E2E2',\r\n ...getButtonStyles(theme),\r\n '&:hover': {\r\n boxShadow:\r\n '0px 2px 4px -1px rgba(0,0,0,0.2), 0px 4px 5px 0px rgba(0,0,0,0.14), 0px 1px 10px 0px rgba(0,0,0,0.12)',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n saveButton: {\r\n ...getButtonStyles(theme),\r\n },\r\n}))\r\n","import React from 'react'\r\nimport {\r\n StyledButton as BaseButton,\r\n IStyledButtonProps,\r\n} from '@shared/components/Button'\r\nimport useStyles from './Button.style'\r\n\r\nexport type ButtonType = 'close' | 'save'\r\n\r\nexport interface IButtonProps extends Omit {\r\n type?: ButtonType\r\n submit?: boolean\r\n}\r\n\r\nconst Button: React.FC = ({\r\n children,\r\n type = 'close',\r\n onClick,\r\n submit,\r\n className,\r\n ...props\r\n}) => {\r\n const styles = useStyles()\r\n const isCloseButton = type === 'close'\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default Button\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport const useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n dialog: {\r\n '& .MuiPaper-root': {\r\n maxWidth: '700px',\r\n padding: theme.spacing(7, 10),\r\n [theme.breakpoints.down('sm')]: {\r\n paddingBottom: theme.spacing(6),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(5, 8),\r\n },\r\n },\r\n color: tableTextColor,\r\n },\r\n mainContent: {\r\n fontSize: 18,\r\n '& a': {\r\n cursor: 'pointer',\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n textDecoration: 'none',\r\n },\r\n },\r\n dialogTitle: {\r\n margin: theme.spacing(0, 0, 3),\r\n padding: 0,\r\n fontSize: 28,\r\n fontWeight: theme.typography.fontWeightBold,\r\n textAlign: 'center',\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: '20px',\r\n },\r\n },\r\n contentContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: 0,\r\n '& h2, h3, h4': {\r\n margin: 0,\r\n },\r\n },\r\n cookieCard: {\r\n padding: theme.spacing(4),\r\n margin: theme.spacing(0, 0, 5),\r\n boxShadow:\r\n '0 7px 9px 3px rgba(105,105,105,0.02), 0 2px 5px 0 rgba(66,65,65,0.05)',\r\n borderRadius: 4,\r\n [theme.breakpoints.down('sm')]: {\r\n padding: theme.spacing(6, 2, 8),\r\n },\r\n },\r\n cookiesTitle: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n margin: theme.spacing(0, 0, 3),\r\n alignItems: 'baseline',\r\n '& h3': {\r\n fontSize: 20,\r\n letterSpacing: 0.7,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n '& span': {\r\n color: theme.palette.primary.main,\r\n paddingLeft: theme.spacing(1),\r\n minWidth: 112,\r\n textAlign: 'right',\r\n fontSize: 12,\r\n letterSpacing: 0.64,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& h3': {\r\n fontSize: 16,\r\n },\r\n },\r\n },\r\n cookieContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n '& p': {\r\n margin: 0,\r\n fontSize: 12,\r\n opacity: 0.8,\r\n color: tableTextColor,\r\n maxWidth: 240,\r\n [theme.breakpoints.down('xs')]: {\r\n maxWidth: '74%',\r\n },\r\n },\r\n },\r\n switchContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n '& h4': {\r\n margin: 0,\r\n color: '#4E4F4F',\r\n fontSize: 16,\r\n lineHeight: '20px',\r\n letterSpacing: 0.64,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& h4': {\r\n fontSize: 12,\r\n },\r\n },\r\n },\r\n buttonsContainer: {\r\n display: 'flex',\r\n margin: theme.spacing(4, 0, 2),\r\n justifyContent: 'space-evenly',\r\n [theme.breakpoints.down('xs')]: {\r\n justifyContent: 'space-around',\r\n margin: 0,\r\n },\r\n '& button': {\r\n height: 48,\r\n width: 176,\r\n fontSize: 16,\r\n [theme.breakpoints.down('xs')]: {\r\n height: 40,\r\n fontSize: 14,\r\n width: '40%',\r\n margin: theme.spacing(0, 0, 5),\r\n },\r\n },\r\n },\r\n switchStateTitle: {\r\n textTransform: 'uppercase',\r\n },\r\n })\r\n)\r\n","import { Dialog, DialogContent, DialogTitle, Switch } from '@material-ui/core'\r\nimport { useAppSelector } from '@core/store/store'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport { useTranslation } from 'react-i18next'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { DocumentType } from '@shared/contracts/models'\r\nimport { useStyles } from './CookiesSettings.style'\r\n\r\ninterface CookiesSettingsProps {\r\n close: () => void\r\n analytics: boolean\r\n handleCookieAccept: (analytics: boolean) => void\r\n}\r\n\r\nexport const CookiesSettings: React.FC = ({\r\n close,\r\n analytics,\r\n handleCookieAccept,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n const { isOpen } = useAppSelector(state => state.ui.cookiesSettingsDialog)\r\n\r\n const [analyticsCheckState, setAnalyticsCheckState] = useState(false)\r\n\r\n const cookiesURL =\r\n process.env.REACT_APP_API_URL +\r\n `Documents/${DocumentType.CookiesPolicy}/pdf`\r\n\r\n // Update state whenever props change\r\n useEffect(() => {\r\n setAnalyticsCheckState(analytics)\r\n }, [analytics])\r\n\r\n return (\r\n <>\r\n {\r\n if (reason !== 'backdropClick') {\r\n return close\r\n }\r\n }}\r\n maxWidth=\"sm\"\r\n fullWidth\r\n className={styles.dialog}\r\n >\r\n \r\n {t('COOKIES.title')}\r\n \r\n \r\n

\r\n Zaznaczając pola zamieszczone poniżej, wyrażasz zgodę na\r\n wykorzystywanie następujących kategorii plików cookies (opis\r\n poszczególnych kategorii znajdą Państwo w \r\n \r\n Polityce Cookies\r\n \r\n .)\r\n

\r\n
\r\n
\r\n

{t('COOKIES.REQUIRED_COOKIES')}

\r\n \r\n {t('COOKIES.MANDATORY')}\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n

{t('COOKIES.ANALYTICS_COOKIES')}

\r\n \r\n {t(\r\n analyticsCheckState\r\n ? 'COOKIES.TURNED_ON'\r\n : 'COOKIES.TURNED_OFF'\r\n )}\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n handleCookieAccept(analyticsCheckState)}\r\n >\r\n {t('SAVE')}\r\n \r\n
\r\n
\r\n \r\n \r\n )\r\n}\r\n","import React, { useCallback } from 'react'\r\nimport { useAppSelector, useAppDispatch } from '@core/store/store'\r\nimport { useCookiesSeen } from './hooks/useCookiesSeen'\r\nimport { useAnalytics } from '@core/analytics/useAnalytics'\r\nimport { ReactComponent as CookieSvg } from '@images/icons/other/Cookies.svg'\r\nimport useStyles from './CookiesFloatingButton.style'\r\nimport { CookiesSettings } from '../cookiesConsent/components/CookiesSettings'\r\nimport { switchCookiesDialog } from '@core/store/ui/actions'\r\n\r\nexport const CookiesFloatingButton: React.FC = () => {\r\n const styles = useStyles()\r\n const dispatch = useAppDispatch()\r\n\r\n const { isOpen } = useAppSelector(state => state.ui.cookiesSettingsDialog)\r\n\r\n const [, googleAnalytics, toggleGA] = useAnalytics()\r\n // eslint-disable-next-line\r\n const [cookieAccepted, setCookieAccepted] = useCookiesSeen()\r\n\r\n const handleCookieAccept = useCallback(\r\n (analytics: boolean) => {\r\n toggleGA(analytics)\r\n setCookieAccepted(true)\r\n dispatch(switchCookiesDialog(false))\r\n },\r\n [setCookieAccepted, toggleGA, dispatch]\r\n )\r\n\r\n return (\r\n
\r\n dispatch(switchCookiesDialog(!isOpen))}\r\n >\r\n
\r\n \r\n
\r\n Ustawienia plików cookies\r\n \r\n\r\n dispatch(switchCookiesDialog(false))}\r\n analytics={googleAnalytics}\r\n handleCookieAccept={handleCookieAccept}\r\n />\r\n
\r\n )\r\n}\r\n","import { usePersistedSetting } from '@core/store/persistedSettings/hooks'\r\n\r\nexport const useCookiesSeen = () => {\r\n return usePersistedSetting('cookiesSeen')\r\n}\r\n","import { useState, useEffect } from 'react'\r\n\r\nexport const useLoadingState = (loadingProps: boolean, timeout?: number) => {\r\n const [isLoading, setIsLoading] = useState(true)\r\n\r\n useEffect(() => {\r\n setIsLoading(true)\r\n\r\n if (!loadingProps) {\r\n const timer = setTimeout(() => {\r\n setIsLoading(false)\r\n }, timeout ?? 400)\r\n\r\n return () => clearTimeout(timer)\r\n }\r\n }, [loadingProps, timeout])\r\n\r\n return isLoading\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport {\r\n ClickAwayListener,\r\n Collapse,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from '@material-ui/core'\r\nimport { headerBg, navHeight, textSecondaryColor } from '@mbok/styles/constants'\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess'\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore'\r\nimport { useLoadingState } from '@shared/hooks/loadingState'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n navExpandMenu: {\r\n left: 0,\r\n right: 0,\r\n position: 'absolute',\r\n background: headerBg,\r\n zIndex: 10,\r\n },\r\n childWrapper: {\r\n display: 'flex',\r\n },\r\n child: {\r\n padding: theme.spacing(0, 6),\r\n },\r\n closeIcon: {\r\n cursor: 'pointer',\r\n maxHeight: 40,\r\n padding: theme.spacing(2),\r\n },\r\n loading: {\r\n '&:hover': {\r\n cursor: 'default',\r\n border: `1.7px solid ${textSecondaryColor + colorOpacityParser(35)}`,\r\n },\r\n },\r\n}))\r\n\r\ninterface NavExpandMenuProps {\r\n expanded?: boolean\r\n loading?: boolean\r\n clickElementRender?: (\r\n expandIcon: React.ReactElement,\r\n clickHandler: () => void\r\n ) => React.ReactElement\r\n positionTop?: number\r\n closeBtn?: () => void\r\n}\r\n\r\nexport const NavExpandMenu: React.FC = ({\r\n children,\r\n expanded,\r\n loading,\r\n clickElementRender,\r\n positionTop = navHeight,\r\n closeBtn,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n\r\n const [_expanded, setExpanded] = useState(false)\r\n\r\n const isLoading = useLoadingState(loading ?? false)\r\n\r\n useEffect(() => {\r\n setExpanded(!!expanded)\r\n }, [expanded])\r\n\r\n return (\r\n {\r\n if (!expanded) {\r\n setExpanded(false)\r\n }\r\n }}\r\n >\r\n
\r\n {clickElementRender &&\r\n clickElementRender(\r\n
{_expanded ? : }
,\r\n () => {\r\n !isLoading && setExpanded(prev => !prev)\r\n }\r\n )}\r\n \r\n
\r\n \r\n {children}\r\n
\r\n {closeBtn && (\r\n {\r\n closeBtn()\r\n setExpanded(false)\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Baner-aplikacja-mobilna\",\n transform: \"translate(-371.000000, -141.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"d\",\n transform: \"translate(366.000000, 141.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"telefon-kopia\",\n transform: \"translate(4.800000, 0.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.72,0.684 L3.408,0.684 C2.39868187,0.703705537 1.59461144,1.53457831 1.608,2.544 L1.608,20.4 C1.59461144,21.4094217 2.39868187,22.2402945 3.408,22.26 L12.672,22.26 C13.676599,22.2338174 14.4734776,21.4048497 14.46,20.4 L14.46,2.4 C14.4468734,1.44841015 13.6716804,0.684 12.72,0.684 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"ellipse\", {\n id: \"Oval\",\n fill: \"#5C5C5C\",\n cx: 7.044,\n cy: 20.856,\n rx: 1,\n ry: 1\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.412,2.868 L2.724,2.868 C2.2603933,2.87429503 1.81847176,3.06535898 1.49630281,3.39879258 C1.17413386,3.73222618 0.998364517,4.1804507 1.008,4.644 L1.008,21.252 C0.998364517,21.7155493 1.17413386,22.1637738 1.49630281,22.4972074 C1.81847176,22.830641 2.2603933,23.021705 2.724,23.028 L11.364,23.028 C11.825509,23.0185504 12.26435,22.8261032 12.583933,22.4930168 C12.9035159,22.1599303 13.0776472,21.7135049 13.068,21.252 L13.068,4.524 C13.068,3.60941645 12.3265835,2.868 11.412,2.868 Z M2.208,4.644 C2.198164,4.49873449 2.24740518,4.35565241 2.34455529,4.24720578 C2.44170539,4.13875915 2.57853133,4.07413841 2.724,4.068 L11.412,4.068 C11.6638418,4.068 11.868,4.27215815 11.868,4.524 L11.868,5.544 L2.268,5.544 L2.208,4.644 Z M11.868,6.744 L11.868,18.744 L2.268,18.744 L2.268,6.744 L11.868,6.744 Z M11.364,21.828 L2.724,21.828 C2.57853133,21.8218616 2.44170539,21.7572409 2.34455529,21.6487942 C2.24740518,21.5403476 2.198164,21.3972655 2.208,21.252 L2.208,19.944 L11.868,19.944 L11.868,21.252 C11.8778728,21.3952931 11.8302514,21.5366153 11.7356686,21.64471 C11.6410857,21.7528047 11.5073355,21.8187642 11.364,21.828 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n})))));\n\nvar SvgPhone = function SvgPhone(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"15px\",\n height: \"24px\",\n viewBox: \"0 0 15 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPhone, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Phone.3c4675d4.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst BULB_ICON_WRAPPER = 64\r\nconst PHONE_ICON_SIZE = 24\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n container: {\r\n padding: theme.spacing(7, 4),\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(3, 0),\r\n },\r\n },\r\n icon: {\r\n marginRight: theme.spacing(4),\r\n [theme.breakpoints.down('xs')]: {\r\n marginRight: theme.spacing(3),\r\n },\r\n height: BULB_ICON_WRAPPER,\r\n width: BULB_ICON_WRAPPER,\r\n borderRadius: 12,\r\n boxShadow: '0 7px 9px 3px rgba(105,105,105,0.1)',\r\n },\r\n wrapper: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n color: tableTextColor,\r\n },\r\n header: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(1),\r\n '& svg': {\r\n marginRight: theme.spacing(1),\r\n height: PHONE_ICON_SIZE,\r\n width: PHONE_ICON_SIZE,\r\n },\r\n '& p': {\r\n margin: 0,\r\n fontSize: 14,\r\n letterSpacing: 0.2,\r\n fontWeight: 700,\r\n },\r\n },\r\n content: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n contentMsg: {\r\n fontSize: 12,\r\n margin: 0,\r\n '& a': {\r\n cursor: 'pointer',\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n textDecoration: 'none',\r\n },\r\n },\r\n}))\r\n","import React, { useCallback, useMemo } from 'react'\r\nimport { NavExpandMenu } from '../NavExpandMenu'\r\nimport { ReactComponent as PhoneSvg } from '@images/icons/Phone.svg'\r\nimport useStyles from './DownloadMobileApp.style'\r\nimport { isMobile, isIOS, isAndroid } from 'react-device-detect'\r\nimport { useMobileAppSeen } from './hooks/useMobileAppSeen'\r\nimport { useTranslation } from 'react-i18next'\r\nimport mobileAppImg from '@images/app_icon.png'\r\n\r\nexport const DownloadMobileApp: React.FC<{ positionTop?: number }> = React.memo(\r\n ({ positionTop }) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n const [mobileAppNavSeen, setMobileAppNavSeen] = useMobileAppSeen()\r\n\r\n const appLink = useMemo(() => {\r\n if (isIOS) {\r\n return process.env.REACT_APP_IOS_APP_LINK\r\n }\r\n if (isAndroid) {\r\n return process.env.REACT_APP_ANDROID_APP_LINK\r\n }\r\n return ''\r\n }, [])\r\n\r\n const showNav = useCallback(() => {\r\n if (isMobile && !mobileAppNavSeen && appLink) {\r\n return true\r\n }\r\n return false\r\n }, [mobileAppNavSeen, appLink])\r\n\r\n return (\r\n setMobileAppNavSeen(true)}\r\n >\r\n
\r\n \r\n
\r\n
\r\n \r\n

{t('DOWNLOAD_MOBILE_APP.header')}

\r\n
\r\n
\r\n

\r\n {t('DOWNLOAD_MOBILE_APP.content')}\r\n
\r\n \r\n {t('DOWNLOAD_MOBILE_APP.CLICK_AND_DOWNLOAD')}\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n)\r\n","import { usePersistedSetting } from '@core/store/persistedSettings/hooks'\r\n\r\nexport const useMobileAppSeen = () => {\r\n return usePersistedSetting('mobileAppNavSeen')\r\n}\r\n","import React from 'react'\r\nimport { makeStyles, Theme } from '@material-ui/core'\r\nimport registerBack from '@images/registerBack.jpg'\r\nimport registerBack2 from '@images/registerBack2.jpg'\r\nimport registerBack3 from '@images/registerBack3.jpg'\r\nimport registerBack4 from '@images/registerBack4.jpg'\r\nimport registerBack5 from '@images/registerBack5.jpg'\r\nimport CookiesConsent from './components/cookiesConsent'\r\nimport CookiesFloatingButton from './components/CookiesFloatingButton'\r\nimport DownloadMobileApp from './components/DownloadMobileApp'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n flexDirection: 'column',\r\n minHeight: '100vh',\r\n width: '100%',\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center bottom',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundImage: `url(\"${registerBack5}\"), linear-gradient(90deg, rgba(148,200,177,1) 0%, rgba(140,199,179,1) 35%, rgba(133,190,184,1) 100%)`,\r\n [theme.breakpoints.down(4000)]: {\r\n backgroundImage: `url(\"${registerBack4}\"), linear-gradient(90deg, rgba(148,200,177,1) 0%, rgba(140,199,179,1) 35%, rgba(133,190,184,1) 100%)`,\r\n },\r\n [theme.breakpoints.down(3200)]: {\r\n backgroundImage: `url(\"${registerBack3}\"), linear-gradient(90deg, rgba(148,200,177,1) 0%, rgba(140,199,179,1) 35%, rgba(133,190,184,1) 100%)`,\r\n },\r\n [theme.breakpoints.down('lg')]: {\r\n //1920\r\n backgroundImage: `url(\"${registerBack2}\"), linear-gradient(90deg, rgba(148,200,177,1) 0%, rgba(140,199,179,1) 35%, rgba(133,190,184,1) 100%)`,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n //960\r\n backgroundImage: `url(\"${registerBack}\"), linear-gradient(90deg, rgba(148,200,177,1) 0%, rgba(140,199,179,1) 35%, rgba(133,190,184,1) 100%)`,\r\n },\r\n color: theme.palette.text.primary,\r\n margin: 0,\r\n padding: 0,\r\n },\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n },\r\n}))\r\n\r\nexport const BackgroundWrapper: React.FC = ({ children }) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
{children}
\r\n
\r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\n\r\nconst WIDTH = 1000\r\nconst HEIGHT = 667.5\r\n\r\nexport const useStyles = makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n margin: theme.spacing(3, 0),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n width: '80%',\r\n maxHeight: '100%',\r\n },\r\n animation: {\r\n height: HEIGHT * 0.7,\r\n width: WIDTH * 0.7,\r\n [theme.breakpoints.down('xl')]: {\r\n height: HEIGHT * 0.7,\r\n width: WIDTH * 0.7,\r\n },\r\n [theme.breakpoints.down('lg')]: {\r\n height: HEIGHT * 0.65,\r\n width: WIDTH * 0.65,\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n height: HEIGHT * 0.55,\r\n width: WIDTH * 0.55,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n height: HEIGHT * 0.45,\r\n width: WIDTH * 0.45,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n height: HEIGHT * 0.28,\r\n width: WIDTH * 0.28,\r\n },\r\n borderRadius: 12,\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n width: '100%',\r\n color: theme.palette.common.white,\r\n fontWeight: 800,\r\n '& h2': {\r\n margin: 0,\r\n fontSize: 44,\r\n textAlign: 'center',\r\n textShadow: `-1px 1px 4px ${theme.palette.common.black}`,\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n '& h2': {\r\n fontSize: 36,\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& h2': {\r\n fontSize: 32,\r\n },\r\n },\r\n },\r\n}))\r\n","import { makeStyles } from '@material-ui/core'\r\nimport React from 'react'\r\n\r\nconst useStyles = makeStyles(() => ({\r\n iframe: {\r\n border: 'none',\r\n },\r\n}))\r\n\r\nexport const Animation: React.FC<{ src: string; customClass?: string }> = ({\r\n src,\r\n customClass,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { BackgroundWrapper } from '@shared/BackgroundWrapper'\r\nimport { useStyles } from './NotFound.styles'\r\nimport { Animation } from '@shared/components/Animation'\r\nimport { Animation404Src } from '@shared/static-data/staticData'\r\n\r\nexport const NotFoundPage: React.FC = () => {\r\n const styles = useStyles()\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n

Przepraszamy - strona, której szukasz nie istnieje

\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","export const Animation404Src = '/404/demo/404.html'\r\nexport const AnimationNadplataSrc = '/nadplata/demo/zwrot.html'\r\nexport const AnimationBladSrc = '/blad/demo/blad.html'\r\nexport const AnimationSukcesSrc = '/sukces/demo/sukces.html'\r\nexport const AnimationInfowiatrakSrc = '/infowiatrak/demo/info.html'\r\nexport const AnimationSluchawkiSrc = '/sluchawki/demo/sluchawki.html'\r\nexport const AnimationWyslanieSrc = '/wysylanieMaila/demo/mail.html'\r\nexport const AnimationOczekiwaniePlatnoscSrc =\r\n '/platnoscOczekiwanie/demo/data.html'\r\nexport const AnimationDokonanaPlatnoscSrc = '/platnoscDone/demo/data.html'\r\nexport const AnimationScreenSrc = '/svg_2/demo/data.html'\r\nexport const AnimationPreRegisterSrc = '/preRegister/demo/data.html'\r\nexport const helpLinePhoneNumber = '+48 123 456 789'\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { primaryColor } from '@mbok/styles/constants'\r\nexport const useStyles = makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n margin: theme.spacing(3, 0),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n width: '80%',\r\n maxHeight: '100%',\r\n },\r\n iconContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n width: '76%',\r\n borderRadius: 10,\r\n backgroundColor: '#DAEEEC',\r\n marginBottom: theme.spacing(12),\r\n flexFlow: \"column\",\r\n [theme.breakpoints.down('md')]: {\r\n width: '100%',\r\n },\r\n },\r\n container: {\r\n width: '60%',\r\n padding:40,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n [theme.breakpoints.down('sm')]: {\r\n width: '80%',\r\n marginBottom: theme.spacing(4),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '92%',\r\n marginBottom: theme.spacing(4),\r\n },\r\n '& svg': {\r\n minHeight:300,\r\n [theme.breakpoints.down('xs')]: {\r\n minHeight:200,\r\n },\r\n }\r\n },\r\n icon: {\r\n width: '100%',\r\n opacity: 1,\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n padding:\"40px\",\r\n \r\n '& h2': {\r\n margin: 0,\r\n fontSize: 44,\r\n textAlign: 'left',\r\n color: primaryColor,\r\n fontWeight: 800,\r\n paddingBottom:\"20px\",\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 28,\r\n },\r\n },\r\n \r\n [theme.breakpoints.down('md')]: {\r\n '& h2': {\r\n fontSize: 36,\r\n \r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& h2': {\r\n fontSize: 32,\r\n },\r\n },\r\n },\r\n unavaiableContent: {\r\n fontSize: 24,\r\n fontWeight: 600,\r\n marginBottom:20,\r\n '& strong': {\r\n fontWeight:800\r\n }\r\n },\r\n}))\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"title\", null, \"logg_out\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ustawienia---wylogowano\",\n transform: \"translate(-720.000000, -333.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-12\",\n transform: \"translate(544.000000, 301.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"wylogowanie\",\n transform: \"translate(138.604651, 12.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"logg_out\",\n transform: \"translate(37.395349, 21.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.12037,90.3175684 C175.899981,90.3175684 180.483763,92.2126529 183.863024,95.5857957 C187.242285,98.9589385 189.140117,103.533734 189.138889,108.303465 L153.097222,108.303465 C153.097222,103.533309 154.996084,98.9585255 158.37608,95.5855156 C161.756076,92.2125056 166.340334,90.3175684 171.12037,90.3175684 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M194.810185,99.331307 C197.200817,99.331307 199.493535,100.279019 201.183967,101.965957 C202.874399,103.652895 203.824074,105.940875 203.824074,108.326565 L185.800926,108.326565 C185.800926,103.360425 189.83376,99.3338577 194.810185,99.331307 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.518519,10.8894833 L76.7361111,1.25203647 C75.5049176,0.929833997 74.1936019,1.1955819 73.1858772,1.97151783 C72.1781524,2.74745375 71.587963,3.94585487 71.587963,5.21604863 L71.587963,111.015441 L113.518519,111.015441 L113.518519,10.8894833 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.7777778,91.9808127 C73.5041923,91.9808127 73.2824061,91.7594638 73.2824061,91.4864438 L73.2824061,5.0312462 C73.2813491,3.60651997 73.9429815,2.26199273 75.0733787,1.39174858 C76.2037758,0.521504435 77.6748979,0.224115703 79.0555556,0.58674772 L115.837963,10.2241945 C116.051296,10.2789507 116.203589,10.4665787 116.212963,10.6862006 L116.212963,59.5987842 C116.212963,59.8743558 115.989105,60.0977508 115.712963,60.0977508 C115.436821,60.0977508 115.212963,59.8743558 115.212963,59.5987842 L115.212963,11.0881459 L78.8009259,1.54772036 C77.7190175,1.26397923 76.5664174,1.49731044 75.6808312,2.17934922 C74.7952449,2.86138801 74.2769403,3.91491266 74.2777778,5.0312462 L74.2777778,91.4772036 C74.2802849,91.6107112 74.2285638,91.7395526 74.1343846,91.8344074 C74.0402054,91.9292622 73.9115793,91.9820617 73.7777778,91.9808127 L73.7777778,91.9808127 Z\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(107.414352, 20.963526) rotate(180.000000) translate(-107.414352, -20.963526) \",\n x: 102.884259,\n y: 16.4427964,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(94.743056, 20.963526) rotate(180.000000) translate(-94.743056, -20.963526) \",\n x: 90.212963,\n y: 16.4427964,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(82.076389, 20.963526) rotate(180.000000) translate(-82.076389, -20.963526) \",\n x: 77.5462963,\n y: 16.4427964,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(107.414352, 34.555745) rotate(180.000000) translate(-107.414352, -34.555745) \",\n x: 102.884259,\n y: 30.0350152,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(94.743056, 34.555745) rotate(180.000000) translate(-94.743056, -34.555745) \",\n x: 90.212963,\n y: 30.0350152,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(82.076389, 34.555745) rotate(180.000000) translate(-82.076389, -34.555745) \",\n x: 77.5462963,\n y: 30.0350152,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(107.414352, 48.157204) rotate(180.000000) translate(-107.414352, -48.157204) \",\n x: 102.884259,\n y: 43.6364742,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(94.743056, 48.157204) rotate(180.000000) translate(-94.743056, -48.157204) \",\n x: 90.212963,\n y: 43.6364742,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(82.076389, 48.157204) rotate(180.000000) translate(-82.076389, -48.157204) \",\n x: 77.5462963,\n y: 43.6364742,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(94.743056, 61.749422) rotate(180.000000) translate(-94.743056, -61.749422) \",\n x: 90.212963,\n y: 57.228693,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(82.076389, 61.749422) rotate(180.000000) translate(-82.076389, -61.749422) \",\n x: 77.5462963,\n y: 57.228693,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(94.743056, 75.346261) rotate(180.000000) translate(-94.743056, -75.346261) \",\n x: 90.212963,\n y: 70.8255319,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(82.076389, 75.346261) rotate(180.000000) translate(-82.076389, -75.346261) \",\n x: 77.5462963,\n y: 70.8255319,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.606481,58.9981763 L162.282407,58.9981763 L162.282407,110.534954 C162.282407,113.24219 160.083214,115.436839 157.37037,115.436839 L108.518519,115.436839 C105.805675,115.436839 103.606481,113.24219 103.606481,110.534954 L103.606481,58.9981763 L103.606481,58.9981763 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\",\n transform: \"translate(132.944444, 87.217508) rotate(-180.000000) translate(-132.944444, -87.217508) \"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.300926,117.964012 L105.800926,117.964012 C105.524784,117.964012 105.300926,117.740617 105.300926,117.465046 L105.300926,63.2116717 C105.303477,60.9494677 107.140518,59.1162239 109.407407,59.1136778 L160.041667,59.1136778 C162.308556,59.1162239 164.145597,60.9494677 164.148148,63.2116717 L164.148148,116.379331 C164.166424,116.568207 164.075763,116.75108 163.914226,116.85118 C163.752689,116.95128 163.548237,116.95128 163.3867,116.85118 C163.225163,116.75108 163.134502,116.568207 163.152778,116.379331 L163.152778,63.2116717 C163.150224,61.4988084 161.75808,60.111609 160.041667,60.1116109 L109.407407,60.1116109 C107.692802,60.1141553 106.303476,61.5006104 106.300926,63.2116717 L106.300926,116.966079 L117.300926,116.966079 C117.577068,116.966079 117.800926,117.189474 117.800926,117.465046 C117.800926,117.740617 117.577068,117.964012 117.300926,117.964012 L117.300926,117.964012 Z\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(153.293981, 69.104559) rotate(180.000000) translate(-153.293981, -69.104559) \",\n x: 148.763889,\n y: 64.5838298,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(140.627315, 69.104559) rotate(180.000000) translate(-140.627315, -69.104559) \",\n x: 136.097222,\n y: 64.5838298,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(127.956019, 69.104559) rotate(180.000000) translate(-127.956019, -69.104559) \",\n x: 123.425926,\n y: 64.5838298,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(153.293981, 82.701398) rotate(180.000000) translate(-153.293981, -82.701398) \",\n x: 148.763889,\n y: 78.1806687,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(140.627315, 82.701398) rotate(180.000000) translate(-140.627315, -82.701398) \",\n x: 136.097222,\n y: 78.1806687,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(127.956019, 82.701398) rotate(180.000000) translate(-127.956019, -82.701398) \",\n x: 123.425926,\n y: 78.1806687,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"ellipse\", {\n id: \"Oval\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n cx: 167.810185,\n cy: 135.594164,\n rx: 57.0462963,\n ry: 7.69702128\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.736111,127.097872 C149.006419,127.097872 143.550926,132.54209 143.550926,139.257872 L167.921296,139.257872 C167.921296,132.54209 162.465803,127.097872 155.736111,127.097872 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.148148,118.832584 C169.844209,118.832584 160.680556,127.977297 160.680556,139.257872 L201.615741,139.257872 C201.615741,127.977297 192.452087,118.832584 181.148148,118.832584 L181.148148,118.832584 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.884259,129.435623 C188.425737,128.534007 188.438011,127.411089 187.916369,126.497901 C187.394727,125.584713 186.420222,125.023147 185.366918,125.028717 C184.313614,125.034371 183.345174,125.60629 182.833333,126.524985 C181.441619,125.752808 179.68652,126.237252 178.890237,127.613362 C178.093954,128.989473 178.550824,130.748583 179.916667,131.565471 C179.142891,132.954309 179.628338,134.70578 181.007298,135.500418 C182.386259,136.295055 184.149012,135.839129 184.967593,134.476109 C186.359307,135.248286 188.114406,134.763842 188.910689,133.387732 C189.706972,132.011621 189.250102,130.252511 187.884259,129.435623 L187.884259,129.435623 Z\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n strokeWidth: 3,\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.365741,131.343708 C184.897823,132.152426 183.861564,132.429509 183.051145,131.962602 C182.240727,131.495696 181.963014,130.461593 182.430843,129.652825 C182.898672,128.844056 183.934901,128.56686 184.74537,129.033678 C185.135572,129.257006 185.420444,129.626372 185.536887,130.059963 C185.65333,130.493554 185.591733,130.955581 185.365741,131.343708 L185.365741,131.343708 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M169.037037,126.206201 C170.402879,125.389312 170.85975,123.630202 170.063467,122.254092 C169.267184,120.877982 167.512085,120.393537 166.12037,121.165714 C165.30179,119.802695 163.539037,119.346768 162.160076,120.141406 C160.781116,120.936043 160.295668,122.687514 161.069444,124.076353 C159.703602,124.893241 159.246731,126.652351 160.043015,128.028461 C160.839298,129.404572 162.594397,129.889016 163.986111,129.116839 C164.497952,130.035534 165.466392,130.607453 166.519696,130.613107 C167.573,130.618677 168.547505,130.057111 169.069147,129.143923 C169.590789,128.230735 169.578515,127.107817 169.037037,126.206201 L169.037037,126.206201 Z\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n strokeWidth: 3,\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M165.898148,126.589666 C165.087679,127.056484 164.05145,126.779288 163.583621,125.970519 C163.115792,125.16175 163.393505,124.127648 164.203923,123.660741 C165.014341,123.193835 166.050601,123.470918 166.518519,124.279635 C166.744511,124.667762 166.806107,125.12979 166.689664,125.563381 C166.573221,125.996972 166.28835,126.366338 165.898148,126.589666 L165.898148,126.589666 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(153.293981, 95.351125) rotate(180.000000) translate(-153.293981, -95.351125) \",\n x: 148.763889,\n y: 90.8303951,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(140.627315, 95.351125) rotate(180.000000) translate(-140.627315, -95.351125) \",\n x: 136.097222,\n y: 90.8303951,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n transform: \"translate(127.956019, 95.351125) rotate(180.000000) translate(-127.956019, -95.351125) \",\n x: 123.425926,\n y: 90.8303951,\n width: 9.06018519,\n height: 9.04145897\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#009693\",\n fillRule: \"nonzero\",\n x: 24.6759259,\n y: 104.163891,\n width: 16.1111111,\n height: 6.74528875\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5925926,95.5613374 C7.10121456,95.5613374 0.217592593,102.430732 0.217592593,110.904559 L30.9629637,110.904559 C30.9641911,106.835709 29.3453596,102.933088 26.4627229,100.055543 C23.5800861,97.177998 19.6698705,95.5613374 15.5925926,95.5613374 Z\",\n id: \"Path\",\n fill: \"#009693\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.6018519,85.1338602 C46.3396096,85.1338602 34.7777778,96.6717952 34.7777778,110.904559 L86.4259259,110.904559 C86.4259259,104.069745 83.7051831,97.5148668 78.8622297,92.6819232 C74.0192764,87.8489796 67.4508221,85.1338602 60.6018519,85.1338602 Z\",\n id: \"Path\",\n fill: \"#009693\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.9490741,91.7913678 C55.1818439,90.9487537 57.3379239,89.9162216 59.3935185,88.7051672 C54.9830432,84.7237583 51.1040011,80.1928117 47.8518519,75.2238298 C49.7902123,74.6031258 51.6534881,73.7694837 53.4074074,72.7382371 C48.4027778,68.3122188 44.1481481,62.1860182 40.8055556,55.103465 C37.4537037,62.1860182 33.2083333,68.3122188 28.2037037,72.7382371 C29.957623,73.7694837 31.8208988,74.6031258 33.7592593,75.2238298 C30.4940534,80.1951756 26.6009265,84.7262165 22.1759259,88.7051672 C24.2329532,89.9096664 26.3888633,90.9374803 28.6203704,91.7775076 C25.4271078,96.0421739 21.8184459,99.9807482 17.8472222,103.535562 C32.8657407,112.290578 48.7083333,112.290578 63.7268519,103.535562 C59.7560325,99.984011 56.1459606,96.0502329 52.9490741,91.7913678 L52.9490741,91.7913678 Z\",\n id: \"Path\",\n fill: \"#009693\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.5462963,103.549422 C62.5723447,99.995959 58.9620191,96.0572614 55.7685185,91.7913678 C58.0008766,90.9477941 60.1568759,89.9153007 62.212963,88.7051672 C57.8010048,84.7239041 53.920413,80.1929648 50.6666667,75.2238298 C52.6053707,74.6040209 54.468744,73.7703352 56.2222222,72.7382371 C51.2222222,68.3122188 46.962963,62.1860182 43.6203704,55.103465 C40.2685185,62.1860182 36.0231481,68.3122188 31.0185185,72.7382371 C32.7724378,73.7694837 34.6357136,74.6031258 36.5740741,75.2238298 C33.3133423,80.1958283 29.4231809,84.7270399 25,88.7051672 C27.0565634,89.9105379 29.2125495,90.938388 31.4444444,91.7775076 C28.2509439,96.0434013 24.6406182,99.9820988 20.6666667,103.535562\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n strokeWidth: 3,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#33B3A5\",\n fillRule: \"nonzero\",\n x: 77.4861111,\n y: 116.27769,\n width: 13.5787037,\n height: 5.68267477\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.8287037,109.033435 C62.6694569,109.033435 56.8657407,114.825155 56.8657407,121.969605 L82.7916667,121.969605 C82.7916667,114.825155 76.9879505,109.033435 69.8287037,109.033435 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.259259,95.7553799 C105.293266,95.7553799 98.6127172,98.5175223 93.6878846,103.433909 C88.7630519,108.350295 85.9975437,115.01801 85.9999984,121.969605 L138.513891,121.969605 C138.516345,115.01881 135.751472,108.351796 130.827641,103.435542 C125.90381,98.5192887 119.22445,95.756605 112.259259,95.7553799 L112.259259,95.7553799 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.314815,105.854833 C103.195497,105.146408 105.012257,104.279319 106.74537,103.262979 C103.029817,99.9078241 99.7622542,96.0895723 97.0231481,91.9022492 C98.649321,91.3772233 100.212725,90.675378 101.685185,89.8093617 C97.4722222,86.0809726 93.8935185,80.9111246 91.0694444,74.9466261 C88.2453704,80.9111246 84.6666667,86.0809726 80.4490741,89.8093617 C81.922707,90.6762532 83.4877433,91.3781343 85.1157407,91.9022492 C82.3764701,96.0894494 79.1089249,99.9076811 75.3935185,103.262979 C77.126632,104.279319 78.9433915,105.146408 80.8240741,105.854833 C78.1322609,109.44707 75.0912438,112.765002 71.7453704,115.760243 C84.3981481,123.15234 97.7546296,123.15234 110.412037,115.760243 C107.058623,112.767007 104.011272,109.448932 101.314815,105.854833 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.768519,115.760243 C109.427482,112.764326 106.391138,109.446416 103.703704,105.854833 C105.584386,105.146408 107.401146,104.279319 109.134259,103.262979 C105.418853,99.9076811 102.151308,96.0894494 99.412037,91.9022492 C101.040034,91.3781343 102.605071,90.6762532 104.078704,89.8093617 C99.8611111,86.0809726 96.287037,80.9111246 93.4583333,74.9466261 C90.6342593,80.9111246 87.0555556,86.0809726 82.8425926,89.8093617 C84.313586,90.6750707 85.8754218,91.3769089 87.5,91.9022492 C84.7608939,96.0895723 81.4933316,99.9078241 77.7777778,103.262979 C79.5108912,104.279319 81.3276507,105.146408 83.2083333,105.854833 C80.5162541,109.448275 77.4735758,112.766327 74.125,115.760243\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n strokeWidth: 3,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\",\n x: 40.6435185,\n y: 91.3432219,\n width: 23.0231481,\n height: 53.578845\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.6666667,150.854225 L37.6851852,150.854225 L37.6851852,145.772158 C37.6851852,144.769384 38.4997782,143.956474 39.5046296,143.956474 L64.8148148,143.956474 C65.8196662,143.956474 66.6342593,144.769384 66.6342593,145.772158 L66.6666667,150.854225 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.1157407,88.1322766 L44.1944444,88.1322766 C43.2523036,88.1310514 42.3483964,88.5039981 41.6822016,89.1688159 C41.0160069,89.8336338 40.6422878,90.7356727 40.6435155,91.6758663 L40.6435155,94.8868085 L63.6666667,94.8868085 L63.6666667,91.6758663 C63.6666667,89.7187974 62.076863,88.1322766 60.1157407,88.1322766 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n x: 40.6435185,\n y: 94.8868085,\n width: 23.0231481,\n height: 1.95890578\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#C1E0DB\",\n fillRule: \"nonzero\",\n x: 40.6435185,\n y: 137.183465,\n width: 23.0231481,\n height: 6.74990881\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.9814815,151.630395 L40,151.630395 L40,146.525228 C40,146.043679 40.1916909,145.581852 40.5329029,145.241346 C40.874115,144.900839 41.3368978,144.709544 41.8194444,144.709544 L67.1759259,144.709544 C67.6584726,144.709544 68.1212554,144.900839 68.4624674,145.241346 C68.8036795,145.581852 68.9953704,146.043679 68.9953704,146.525228 L68.9814815,151.630395 Z\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n strokeWidth: 3,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66,91.1353191 C65.8414741,89.3060888 64.3074537,87.9012766 62.4675926,87.9012766 L46.5462963,87.9012766 C44.7055147,87.9012766 43.1700576,89.3053642 43.0092593,91.1353191 L43.0092593,91.1353191 L43.0092593,144.728024 L66.0185185,144.728024 L66.0185185,91.1353191 L66,91.1353191 Z\",\n id: \"Path\",\n stroke: \"#5B5B5B\",\n strokeWidth: 3,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\",\n points: \"165.592593 111.066261 55.25 111.066261 55.25 102.657751 166.666667 102.657751\"\n}), /*#__PURE__*/React.createElement(\"ellipse\", {\n id: \"Oval\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\",\n cx: 55.25,\n cy: 106.862006,\n rx: 6.19444444,\n ry: 6.18164134\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"71.6296296 102.657751 66.0833333 102.657751 60.0416667 111.066261 65.5925926 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"82.7777778 102.657751 77.2314815 102.657751 71.1898148 111.066261 76.7361111 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"93.9259259 102.657751 88.375 102.657751 82.337963 111.066261 87.8842593 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"105.074074 102.657751 99.5231481 102.657751 93.4814815 111.066261 99.0324074 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"116.222222 102.657751 110.671296 102.657751 104.62963 111.066261 110.180556 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"127.37037 102.657751 121.819444 102.657751 115.777778 111.066261 121.328704 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"138.513889 102.657751 132.967593 102.657751 126.925926 111.066261 132.476852 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"149.662037 102.657751 144.115741 102.657751 138.074074 111.066261 143.62037 111.066261\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\",\n points: \"160.810185 102.657751 155.259259 102.657751 149.217593 111.066261 154.768519 111.066261\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.666667,102.657751 L166.388889,102.657751 L160.37037,111.066261 L166.666667,111.066261 C168.967853,111.066261 170.833344,109.204637 170.833344,106.908207 L170.833344,106.825046 C170.835793,105.720661 170.397892,104.660668 169.616223,103.878882 C168.834555,103.097096 167.773342,102.657751 166.666667,102.657751 L166.666667,102.657751 Z\",\n id: \"Path\",\n fill: \"#EDA242\",\n fillRule: \"nonzero\"\n}))))));\n\nvar Svg502V2 = function Svg502V2(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"225px\",\n height: \"155px\",\n viewBox: \"0 0 225 155\",\n ref: svgRef\n }, props), title === undefined ? _ref2 : title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Svg502V2, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/502v2.5c2cc9f4.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport { BackgroundWrapper } from '@shared/BackgroundWrapper'\r\nimport { useStyles } from './ServiceUnavailable.styles'\r\nimport { ReactComponent as UnavailableSvg } from '@images/502v2.svg'\r\n\r\nexport const ServiceUnavailablePage: React.FC = () => {\r\n const styles = useStyles()\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Dzień dobry!

\r\n
\r\n Cały czas zmieniamy się dla Ciebie!
\r\n \r\n Obecnie przeprowadzamy prace serwisowe. Wrócimy wkrótce.\r\n
\r\n
\r\n Za utrudnienia przepraszamy.\r\n
\r\n\r\n
Zespół Polenergia Dystrybucja
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"High-Fi-\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ2--krok1-\",\n transform: \"translate(-25.000000, -452.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#FFFFFF\",\n x: 0,\n y: 0,\n width: 414,\n height: 896\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon/Number\",\n transform: \"translate(25.000000, 452.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: 1,\n transform: \"translate(0.000000, 1.200000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 5.412,\n y: 4.8,\n width: 11.844,\n height: 12.84\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.692,0.143992946 L3.792,0.143992946 C3.54678557,0.143992946 3.34782827,0.342785571 3.34782827,0.588 L3.34782827,18.648 C3.3446529,18.7667506 3.39035567,18.8816389 3.47435837,18.9656416 C3.55836108,19.0496443 3.6732494,19.0953471 3.792,19.0921717 L22.692,19.0921717 C22.8118213,19.0952396 22.927862,19.0498953 23.0137418,18.9662754 C23.0996217,18.8826555 23.1480438,18.7678651 23.148,18.648 L23.148,0.648 C23.1616584,0.518985148 23.1197159,0.390260238 23.0326744,0.294056483 C22.9456329,0.197852727 22.8217338,0.143279028 22.692,0.143992946 Z M14.616,16.548 L7.932,16.548 L7.932,14.748 L10.152,14.748 L10.152,8.808 L8.076,10.008 L8.076,8.052 L11.088,6.3 L12.396,6.3 L12.396,14.7 L14.616,14.7 L14.616,16.548 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4,21.456 L1.452,21.456 C1.12062915,21.456 0.852,21.1873708 0.852,20.856 L0.852,2.856 C0.852,2.52462915 1.12062915,2.256 1.452,2.256 L20.4,2.256 C20.7313708,2.256 21,2.52462915 21,2.856 L21,20.856 C21,21.1873708 20.7313708,21.456 20.4,21.456 Z M2.1,20.256 L19.752,20.256 L19.752,3.456 L2.052,3.456 L2.1,20.256 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n})))));\n\nvar SvgFirst = function SvgFirst(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFirst, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/First.1bdbcba8.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"High-Fi-\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ2--krok1-\",\n transform: \"translate(-25.000000, -560.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#FFFFFF\",\n x: 0,\n y: 0,\n width: 414,\n height: 896\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Row\",\n transform: \"translate(25.000000, 540.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon/Number\",\n transform: \"translate(0.000000, 20.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: 2,\n transform: \"translate(0.000000, 1.200000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 5.508,\n y: 4.8,\n width: 10.32,\n height: 12.84\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.692,0.143992946 L3.792,0.143992946 C3.54678557,0.143992946 3.34782827,0.342785571 3.34782827,0.588 L3.34782827,18.648 C3.3446529,18.7667506 3.39035567,18.8816389 3.47435837,18.9656416 C3.55836108,19.0496443 3.6732494,19.0953471 3.792,19.0921717 L22.692,19.0921717 C22.8118213,19.0952396 22.927862,19.0498953 23.0137418,18.9662754 C23.0996217,18.8826555 23.1480438,18.7678651 23.148,18.648 L23.148,0.648 C23.1616584,0.518985148 23.1197159,0.390260238 23.0326744,0.294056483 C22.9456329,0.197852727 22.8217338,0.143279028 22.692,0.143992946 Z M14.4,16.548 L7.38,16.548 L7.38,14.892 L10.788,11.292 C11.3893534,10.7465591 11.7694188,9.99923935 11.856,9.192 C11.8748258,8.84650267 11.7436018,8.50969437 11.496,8.268 C11.204033,8.04681621 10.8412246,7.94010786 10.476,7.968 C9.48834241,8.00770185 8.53702426,8.35134981 7.752,8.952 L7.032,7.32 C7.49544573,6.9323065 8.03506602,6.64614423 8.616,6.48 C9.24788891,6.27525221 9.90777017,6.16999507 10.572,6.168 C11.4837585,6.1182911 12.3840544,6.39007855 13.116,6.936 C13.7356754,7.43817268 14.0825056,8.20297779 14.052,9 C14.0580487,9.57204748 13.9349954,10.1380925 13.692,10.656 C13.3703214,11.2680027 12.9665933,11.8332221 12.492,12.336 L10.176,14.736 L14.4,14.736 L14.4,16.548 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4,21.456 L1.452,21.456 C1.12062915,21.456 0.852,21.1873708 0.852,20.856 L0.852,2.856 C0.852,2.52462915 1.12062915,2.256 1.452,2.256 L20.4,2.256 C20.7313708,2.256 21,2.52462915 21,2.856 L21,20.856 C21,21.1873708 20.7313708,21.456 20.4,21.456 Z M2.1,20.256 L19.752,20.256 L19.752,3.456 L2.052,3.456 L2.1,20.256 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}))))));\n\nvar SvgSecond = function SvgSecond(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSecond, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Second.3f22c874.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"High-Fi-\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ2--krok1-\",\n transform: \"translate(-25.000000, -624.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#FFFFFF\",\n x: 0,\n y: 0,\n width: 414,\n height: 896\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Row\",\n transform: \"translate(25.000000, 604.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon/Number\",\n transform: \"translate(0.000000, 20.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: 3,\n transform: \"translate(0.000000, 1.200000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 5.616,\n y: 4.8,\n width: 9.492,\n height: 12.84\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.692,0.143992946 L3.792,0.143992946 C3.54678557,0.143992946 3.34782827,0.342785571 3.34782827,0.588 L3.34782827,18.648 C3.3446529,18.7667506 3.39035567,18.8816389 3.47435837,18.9656416 C3.55836108,19.0496443 3.6732494,19.0953471 3.792,19.0921717 L22.692,19.0921717 C22.8118213,19.0952396 22.927862,19.0498953 23.0137418,18.9662754 C23.0996217,18.8826555 23.1480438,18.7678651 23.148,18.648 L23.148,0.648 C23.1616584,0.518985148 23.1197159,0.390260238 23.0326744,0.294056483 C22.9456329,0.197852727 22.8217338,0.143279028 22.692,0.143992946 Z M13.308,15.888 C12.4906782,16.4463327 11.5124349,16.7204094 10.524,16.668 C9.83206319,16.668706 9.14409545,16.5634874 8.484,16.356 C7.90279704,16.1905238 7.36304362,15.9042909 6.9,15.516 L7.62,13.896 C8.42207553,14.525813 9.40833243,14.8756392 10.428,14.892 C10.9028713,14.929876 11.3775449,14.8164584 11.784,14.568 C12.0848949,14.313784 12.241866,13.9280838 12.204,13.536 C12.2383496,13.1582461 12.0805399,12.7885205 11.784,12.552 C11.3727259,12.3163806 10.9008923,12.2078172 10.428,12.24 L8.952,12.24 L8.952,10.488 L10.152,10.488 C10.6172875,10.5204989 11.0815464,10.4117536 11.484,10.176 C11.8109759,9.97869492 12.0077172,9.62181534 12,9.24 C12.0272204,8.87434923 11.8857763,8.51631875 11.616,8.268 C11.3022396,8.03332225 10.9149794,7.91842088 10.524,7.944 C10.060763,7.94828172 9.60184606,8.03356718 9.168,8.196 C8.68682797,8.37343406 8.23407315,8.62002373 7.824,8.928 L7.044,7.32 C7.50744573,6.9323065 8.04706602,6.64614423 8.628,6.48 C9.26768605,6.2733605 9.93576632,6.16808725 10.608,6.168 C11.2334923,6.156979 11.8545026,6.27546124 12.432,6.516 C12.9138145,6.71763616 13.3295176,7.05019867 13.632,7.476 C13.9138185,7.90721628 14.0600975,8.41292373 14.052,8.928 C14.1130737,9.99394851 13.462623,10.9720698 12.456,11.328 C13.0046061,11.4631601 13.4911237,11.7804542 13.836,12.228 C14.1615158,12.6864382 14.3299076,13.2379211 14.316,13.8 C14.3351293,14.6175584 13.9600693,15.3944685 13.308,15.888 L13.308,15.888 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4,21.456 L1.452,21.456 C1.12062915,21.456 0.852,21.1873708 0.852,20.856 L0.852,2.856 C0.852,2.52462915 1.12062915,2.256 1.452,2.256 L20.4,2.256 C20.7313708,2.256 21,2.52462915 21,2.856 L21,20.856 C21,21.1873708 20.7313708,21.456 20.4,21.456 Z M2.1,20.256 L19.752,20.256 L19.752,3.456 L2.052,3.456 L2.1,20.256 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}))))));\n\nvar SvgThird = function SvgThird(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgThird, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Third.dcd32624.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"High-Fi-\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ2--krok1-\",\n transform: \"translate(-25.000000, -688.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#FFFFFF\",\n x: 0,\n y: 0,\n width: 414,\n height: 896\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Row\",\n transform: \"translate(25.000000, 668.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon/Number\",\n transform: \"translate(0.000000, 20.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: 4,\n transform: \"translate(0.000000, 1.200000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 5.664,\n y: 4.476,\n width: 11.34,\n height: 12.864\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.692,0.143992946 L3.792,0.143992946 C3.54678557,0.143992946 3.34782827,0.342785571 3.34782827,0.588 L3.34782827,18.648 C3.3446529,18.7667506 3.39035567,18.8816389 3.47435837,18.9656416 C3.55836108,19.0496443 3.6732494,19.0953471 3.792,19.0921717 L22.692,19.0921717 C22.8118213,19.0952396 22.927862,19.0498953 23.0137418,18.9662754 C23.0996217,18.8826555 23.1480438,18.7678651 23.148,18.648 L23.148,0.648 C23.1616584,0.518985148 23.1197159,0.390260238 23.0326744,0.294056483 C22.9456329,0.197852727 22.8217338,0.143279028 22.692,0.143992946 Z M14.832,14.676 L13.428,14.676 L13.428,16.548 L11.232,16.548 L11.232,14.676 L6.924,14.676 L6.924,13.008 L11.628,6.3 L13.428,6.3 L13.428,12.936 L14.832,12.936 L14.832,14.676 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n points: \"11.232 12.936 11.232 9.708 8.988 12.936\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4,21.456 L1.452,21.456 C1.12062915,21.456 0.852,21.1873708 0.852,20.856 L0.852,2.856 C0.852,2.52462915 1.12062915,2.256 1.452,2.256 L20.4,2.256 C20.7313708,2.256 21,2.52462915 21,2.856 L21,20.856 C21,21.1873708 20.7313708,21.456 20.4,21.456 Z M2.1,20.256 L19.752,20.256 L19.752,3.456 L2.052,3.456 L2.1,20.256 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}))))));\n\nvar SvgFourth = function SvgFourth(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFourth, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Fourth.74bddd63.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"High-Fi-\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ2--krok1-\",\n transform: \"translate(-25.000000, -752.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#FFFFFF\",\n x: 0,\n y: 0,\n width: 414,\n height: 896\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Row\",\n transform: \"translate(25.000000, 732.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon/Number\",\n transform: \"translate(0.000000, 20.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: 5,\n transform: \"translate(0.000000, 1.200000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 5.76,\n y: 5.184,\n width: 10.32,\n height: 12.564\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.692,0.143992946 L3.792,0.143992946 C3.54678557,0.143992946 3.34782827,0.342785571 3.34782827,0.588 L3.34782827,18.648 C3.3446529,18.7667506 3.39035567,18.8816389 3.47435837,18.9656416 C3.55836108,19.0496443 3.6732494,19.0953471 3.792,19.0921717 L22.692,19.0921717 C22.8118213,19.0952396 22.927862,19.0498953 23.0137418,18.9662754 C23.0996217,18.8826555 23.1480438,18.7678651 23.148,18.648 L23.148,0.648 C23.1616584,0.518985148 23.1197159,0.390260238 23.0326744,0.294056483 C22.9456329,0.197852727 22.8217338,0.143279028 22.692,0.143992946 Z M14.16,15.036 C13.8290657,15.5639031 13.3487421,15.9815758 12.78,16.236 C12.121524,16.5364891 11.4036178,16.6841727 10.68,16.668 C10.0225989,16.6665711 9.36990134,16.5571125 8.748,16.344 C8.18063782,16.1771763 7.65369866,15.8953251 7.2,15.516 L7.92,13.896 C8.71752065,14.5257004 9.69998067,14.8756754 10.716,14.892 C11.916,14.892 12.516,14.364 12.516,13.296 C12.5401219,12.8472634 12.3695585,12.4099213 12.048,12.096 C11.7048243,11.7925963 11.2576919,11.6335203 10.8,11.652 C10.4548981,11.6518558 10.1128842,11.7170013 9.792,11.844 C9.45966126,11.9602374 9.15079634,12.13499 8.88,12.36 L7.56,12.36 L7.56,6.3 L14.136,6.3 L14.136,8.028 L9.744,8.028 L9.744,10.32 C10.2434179,10.0338198 10.8127276,9.89253124 11.388,9.912 C11.9778664,9.89870801 12.5610189,10.0393263 13.08,10.32 C13.5905615,10.5915928 14.0084072,11.0094385 14.28,11.52 C14.5390157,12.0409391 14.6628149,12.6186687 14.64,13.2 C14.6563981,13.8450262 14.489991,14.481533 14.16,15.036 L14.16,15.036 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.4,21.456 L1.452,21.456 C1.12062915,21.456 0.852,21.1873708 0.852,20.856 L0.852,2.856 C0.852,2.52462915 1.12062915,2.256 1.452,2.256 L20.4,2.256 C20.7313708,2.256 21,2.52462915 21,2.856 L21,20.856 C21,21.1873708 20.7313708,21.456 20.4,21.456 Z M2.1,20.256 L19.752,20.256 L19.752,3.456 L2.052,3.456 L2.1,20.256 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}))))));\n\nvar SvgFifth = function SvgFifth(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFifth, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Fifth.71cb776c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n x1: \"89.1009174%\",\n y1: \"-29.4852941%\",\n x2: \"89.1009174%\",\n y2: \"69.4754902%\",\n id: \"linearGradient-1\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#E42813\",\n offset: \"0%\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#981914\",\n offset: \"100%\"\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ-1\",\n transform: \"translate(-534.000000, -447.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(103.000000, 105.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-11\",\n transform: \"translate(76.000000, 339.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n transform: \"translate(355.000000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(0.483871, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"nr_platnika\",\n transform: \"translate(0.000000, 3.032258)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fillOpacity: 0.2,\n fill: \"#48A9A0\",\n x: 26.7141935,\n y: 7.74741935,\n width: 128.082581,\n height: 177.099032,\n rx: 1.64\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M141.606452,148.474516 L42.4516129,148.474516 C41.1956105,148.474516 40.1774194,147.456325 40.1774194,146.200323 L40.1774194,78.1564516 C40.1774194,76.9004492 41.1956105,75.8822581 42.4516129,75.8822581 L141.606452,75.8822581 C142.862454,75.8822581 143.880645,76.9004492 143.880645,78.1564516 L143.880645,146.200323 C143.872377,147.452884 142.859013,148.466248 141.606452,148.474516 Z M44.756129,143.926129 L139.332258,143.926129 L139.332258,80.4306452 L44.756129,80.4306452 L44.756129,143.926129 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\",\n x: 42.4819355,\n y: 78.1564516,\n width: 99.1245161,\n height: 10.3248387\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M141.606452,90.7554839 L42.4516129,90.7554839 C41.1956105,90.7554839 40.1774194,89.7372927 40.1774194,88.4812903 L40.1774194,78.1564516 C40.1774194,76.9004492 41.1956105,75.8822581 42.4516129,75.8822581 L141.606452,75.8822581 C142.862454,75.8822581 143.880645,76.9004492 143.880645,78.1564516 L143.880645,88.4812903 C143.880645,89.084444 143.641043,89.662894 143.214549,90.089388 C142.788055,90.515882 142.209605,90.7554839 141.606452,90.7554839 Z M44.756129,86.2070968 L139.332258,86.2070968 L139.332258,80.4306452 L44.756129,80.4306452 L44.756129,86.2070968 Z\",\n id: \"Shape\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M141.606452,105.977419 L42.4516129,105.977419 C41.1956105,105.977419 40.1774194,104.959228 40.1774194,103.703226 C40.1774194,102.447223 41.1956105,101.429032 42.4516129,101.429032 L141.606452,101.429032 C142.862454,101.429032 143.880645,102.447223 143.880645,103.703226 C143.880645,104.959228 142.862454,105.977419 141.606452,105.977419 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M141.606452,134.162258 L42.4516129,134.162258 C41.1956105,134.162258 40.1774194,133.144067 40.1774194,131.888065 C40.1774194,130.632062 41.1956105,129.613871 42.4516129,129.613871 L141.606452,129.613871 C142.862454,129.613871 143.880645,130.632062 143.880645,131.888065 C143.880645,133.144067 142.862454,134.162258 141.606452,134.162258 L141.606452,134.162258 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M141.606452,120.077419 L42.4516129,120.077419 C41.1956105,120.077419 40.1774194,119.059228 40.1774194,117.803226 C40.1774194,116.547223 41.1956105,115.529032 42.4516129,115.529032 L141.606452,115.529032 C142.862454,115.529032 143.880645,116.547223 143.880645,117.803226 C143.880645,119.059228 142.862454,120.077419 141.606452,120.077419 L141.606452,120.077419 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.576129,23.2725806 L53.6406452,29.4583871 L42.0725806,29.4583871 L42.0725806,17.0867742 L53.6406452,17.0867742 L47.576129,23.2725806 Z\",\n id: \"Combined-Shape\",\n fill: \"#00c389\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#00c389\",\n fillRule: \"nonzero\",\n points: \"42.0725806 23.2574194 47.8641935 23.2574194 53.6406452 17.0867742\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#00c389\",\n fillRule: \"nonzero\",\n points: \"42.0725806 23.2574194 53.6406452 29.4432258 47.8490323 23.2574194\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M161.285806,181.207742 L124.701613,181.207742 C124.073612,181.207742 123.564516,180.698646 123.564516,180.070645 C123.564516,179.442644 124.073612,178.933548 124.701613,178.933548 L160.14871,178.933548 L160.14871,2.68354839 L126.293548,2.68354839 C125.665547,2.68354839 125.156452,2.17445282 125.156452,1.54645161 C125.156452,0.918450405 125.665547,0.409354839 126.293548,0.409354839 L161.285806,0.409354839 C161.913808,0.409354839 162.422903,0.918450405 162.422903,1.54645161 L162.422903,180.070645 C162.41941,180.371467 162.299921,180.659327 162.089355,180.874194 C161.876312,181.087502 161.587282,181.207742 161.285806,181.207742 L161.285806,181.207742 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.4451613,141.894516 C31.8171601,141.894516 31.3079605,141.385421 31.3079605,140.757419 L31.3079605,1.51612903 C31.3039439,1.2133078 31.4224212,0.921682468 31.636568,0.707535699 C31.8507147,0.49338893 32.1423401,0.374911667 32.4451613,0.378928258 L61.5245161,0.378928258 C62.1525173,0.378928258 62.6616129,0.888127825 62.6616129,1.51612903 C62.6616129,2.14413024 62.1525173,2.65322581 61.5245161,2.65322581 L33.5822581,2.65322581 L33.5822581,140.727097 C33.5863057,141.032702 33.4687724,141.327396 33.2555197,141.546336 C33.0422671,141.765275 32.7507676,141.890521 32.4451613,141.894516 L32.4451613,141.894516 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n transform: \"translate(101.125806, 17.571935)\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.7383871,4.5483871 L2.27419355,4.5483871 C1.01819113,4.5483871 -9.04910555e-12,3.53019596 -9.04910555e-12,2.27419355 C-9.04910555e-12,1.01819113 1.01819113,-2.69318618e-15 2.27419355,-2.69318618e-15 L40.7383871,-2.69318618e-15 C41.9943895,-2.69318618e-15 43.0125806,1.01819113 43.0125806,2.27419355 C43.0125806,3.53019596 41.9943895,4.5483871 40.7383871,4.5483871 Z\",\n id: \"Path\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.4806452,13.993871 L14.1,13.993871 C12.8439976,13.993871 11.8258065,12.9756798 11.8258065,11.7196774 C11.8258065,10.463675 12.8439976,9.44548387 14.1,9.44548387 L40.4806452,9.44548387 C41.7366476,9.44548387 42.7548387,10.463675 42.7548387,11.7196774 C42.7548387,12.9756798 41.7366476,13.993871 40.4806452,13.993871 Z\",\n id: \"Path\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.4806452,52.9432258 L14.1,52.9432258 C12.8439976,52.9432258 11.8258065,51.9250347 11.8258065,50.6690323 C11.8258065,49.4130298 12.8439976,48.3948387 14.1,48.3948387 L40.4806452,48.3948387 C41.7366475,48.3948387 42.7548386,49.4130299 42.7548386,50.6690323 C42.7548386,51.9250346 41.7366475,52.9432258 40.4806452,52.9432258 L40.4806452,52.9432258 Z\",\n id: \"Path\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(62.161290, 43.967742)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#FFFFFF\",\n x: 1.36451613,\n y: 3.36648272e-15,\n width: 80.3548387,\n height: 9.27870968,\n rx: 1.7\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-3\",\n transform: \"translate(28.806452, 1.940645)\",\n fill: \"#5B5B5B\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"1.03096774 1.0916129 1.03096774 2.1983871 2.95645161 2.1983871 2.95645161 2.98677419 0.985483871 2.98677419 0.985483871 4.50290323 1.98218503e-12 4.50290323 1.98218503e-12 0.257741935 3.21419355 0.257741935 3.21419355 1.04612903\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.33741935,1.60709677 C6.6284576,1.89261113 6.77831412,2.29222851 6.74677419,2.69870968 L6.74677419,4.5483871 L5.86741935,4.5483871 L5.86741935,4.15419355 C5.64224546,4.47750771 5.2584266,4.65197083 4.86677419,4.60903226 C4.64203446,4.61243527 4.41934955,4.5658268 4.21483871,4.47258065 C3.8610028,4.33569127 3.63485578,3.98730262 3.65387097,3.6083871 C3.64164755,3.3305694 3.76624877,3.06437589 3.98741935,2.89580645 C4.30567062,2.70137322 4.67672901,2.61125904 5.04870968,2.63806452 L5.80677419,2.63806452 C5.81543045,2.459671 5.74298797,2.28692356 5.60967742,2.16806452 C5.45255009,2.0396256 5.2504843,1.97955198 5.04870968,2.00129032 C4.87379467,1.99662369 4.69939195,2.02227115 4.53322581,2.07709677 C4.37854463,2.12521456 4.23446361,2.20240082 4.10870968,2.30451613 L3.77516129,1.63741935 C3.96601062,1.49976502 4.18254352,1.40180966 4.41193548,1.34935484 C4.65783498,1.27599457 4.91340845,1.24021428 5.17,1.24322581 C5.59099868,1.21384855 6.00766876,1.34371975 6.33741935,1.60709677 L6.33741935,1.60709677 Z M5.53387097,3.85096774 C5.65923619,3.77304031 5.75521467,3.65573327 5.80677419,3.51741935 L5.80677419,3.18387097 L5.15483871,3.18387097 C4.76064516,3.18387097 4.56354839,3.32032258 4.56354839,3.57806452 C4.56592208,3.69259875 4.62209518,3.79932764 4.71516129,3.86612903 C4.833397,3.93919203 4.97041868,3.97608248 5.10935484,3.97225806 C5.25929731,3.97146531 5.40614251,3.92950953 5.53387097,3.85096774 L5.53387097,3.85096774 Z\",\n id: \"Shape\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"9.02096774 3.27483871 8.56612903 3.72967742 8.56612903 4.5483871 7.61096774 4.5483871 7.61096774 0 8.56612903 0 8.56612903 2.54709677 9.94580645 1.22806452 11.0677419 1.22806452 9.7183871 2.60774194 11.2345161 4.48774194 10.0974194 4.48774194\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.7058065,4.39677419 C13.6086928,4.47382432 13.4941651,4.52588238 13.3722581,4.5483871 C13.2261241,4.5641743 13.0787146,4.5641743 12.9325806,4.5483871 C12.6065644,4.56570327 12.2863484,4.45715546 12.0380645,4.24516129 C11.8107292,4.0112725 11.6947765,3.69102219 11.7196774,3.36580645 L11.7196774,2.0316129 L11.2193548,2.0316129 L11.2193548,1.30387097 L11.7196774,1.30387097 L11.7196774,0.515483871 L12.6596774,0.515483871 L12.6596774,1.30387097 L13.4783871,1.30387097 L13.4783871,2.0316129 L12.6596774,2.0316129 L12.6596774,3.36580645 C12.6573421,3.48098908 12.6948286,3.59344862 12.7658065,3.68419355 C12.8518961,3.75297921 12.9588375,3.79040868 13.0690323,3.79032258 C13.2052542,3.79252139 13.338426,3.74990641 13.4480645,3.66903226 L13.7058065,4.39677419 Z\",\n id: \"Path\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5264516,1.28870968 L17.5264516,4.5483871 L16.6016129,4.5483871 L16.6016129,4.16935484 C16.4790143,4.30515543 16.3292089,4.41363518 16.1619355,4.48774194 C15.9796629,4.56542986 15.78393,4.60663679 15.5858065,4.60903226 C15.2104917,4.62145134 14.8454423,4.48523888 14.57,4.23 C14.3045074,3.93043164 14.1682556,3.53802653 14.1909677,3.1383871 L14.1909677,1.28870968 L15.146129,1.28870968 L15.146129,3.00193548 C15.146129,3.51741935 15.3583871,3.79032258 15.7980645,3.79032258 C16.004723,3.79920823 16.2046634,3.71589974 16.343871,3.56290323 C16.4941784,3.38006465 16.5699777,3.1472525 16.556129,2.91096774 L16.556129,1.28870968 L17.5264516,1.28870968 Z\",\n id: \"Path\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.7703226,1.36451613 C19.9830246,1.28229028 20.2093867,1.24113353 20.4374194,1.24322581 L20.4374194,2.1983871 L20.2251613,2.1983871 C19.9908254,2.18456295 19.7609484,2.26666189 19.5883871,2.42580645 C19.4236423,2.6132319 19.3416272,2.8592773 19.3609677,3.10806452 L19.3609677,4.62419355 L18.4058065,4.62419355 L18.4058065,1.28870968 L19.3154839,1.28870968 L19.3154839,1.7283871 C19.4231174,1.56052333 19.5829262,1.43267631 19.7703226,1.36451613 Z\",\n id: \"Path\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.5,1.60709677 C23.7910382,1.89261113 23.9408948,2.29222851 23.9093548,2.69870968 L23.9093548,4.5483871 L23.03,4.5483871 L23.03,4.15419355 C22.8048261,4.47750771 22.4210073,4.65197083 22.0293548,4.60903226 C21.8046151,4.61243527 21.5819302,4.5658268 21.3774194,4.47258065 C21.0235834,4.33569127 20.7974364,3.98730262 20.8164516,3.6083871 C20.8042282,3.3305694 20.9288294,3.06437589 21.15,2.89580645 C21.4690205,2.70323405 21.8394796,2.61326542 22.2112903,2.63806452 L22.9693548,2.63806452 C22.9780111,2.459671 22.9055686,2.28692356 22.7722581,2.16806452 C22.6151307,2.0396256 22.4130649,1.97955198 22.2112903,2.00129032 C22.0363753,1.99662369 21.8619726,2.02227115 21.6958065,2.07709677 C21.5411253,2.12521456 21.3970443,2.20240082 21.2712903,2.30451613 L20.9377419,1.63741935 C21.1285913,1.49976502 21.3451242,1.40180966 21.5745161,1.34935484 C21.8204156,1.27599457 22.0759891,1.24021428 22.3325806,1.24322581 C22.7535793,1.21384855 23.1702494,1.34371975 23.5,1.60709677 L23.5,1.60709677 Z M22.666129,3.85096774 C22.7914943,3.77304031 22.8874727,3.65573327 22.9390323,3.51741935 L22.9390323,3.18387097 L22.2870968,3.18387097 C21.8929032,3.18387097 21.6958065,3.32032258 21.6958065,3.57806452 C21.6981801,3.69259875 21.7543532,3.79932764 21.8474194,3.86612903 C21.9656551,3.93919203 22.1026767,3.97608248 22.2416129,3.97225806 C22.3915554,3.97146531 22.5384006,3.92950953 22.666129,3.85096774 L22.666129,3.85096774 Z\",\n id: \"Shape\"\n}))), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.2380645,147.443548 C85.9820621,147.443548 84.963871,146.425357 84.963871,145.169355 L84.963871,90.9677419 C84.963871,89.7117395 85.9820621,88.6935484 87.2380645,88.6935484 C88.4940669,88.6935484 89.5122581,89.7117395 89.5122581,90.9677419 L89.5122581,145.123871 C89.5244804,145.734866 89.2902852,146.32507 88.8624592,146.761453 C88.4346333,147.197835 87.8491821,147.443548 87.2380645,147.443548 L87.2380645,147.443548 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.507419,148.474516 C104.254858,148.466248 103.241494,147.452884 103.233226,146.200323 L102.945161,88.1174194 C102.941127,87.5142617 103.176868,86.9342066 103.600522,86.5048663 C104.024175,86.0755261 104.601036,85.8320722 105.204194,85.8280645 L105.204194,85.8280645 C106.450913,85.8362121 107.461901,86.8404598 107.478387,88.0870968 L107.766452,146.185161 C107.770486,146.788319 107.534745,147.368374 107.111091,147.797714 C106.687438,148.227055 106.110577,148.470508 105.507419,148.474516 L105.507419,148.474516 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M124.443871,147.443548 C123.187869,147.443548 122.169677,146.425357 122.169677,145.169355 L122.169677,90.9677419 C122.169677,89.7117395 123.187869,88.6935484 124.443871,88.6935484 C125.699873,88.6935484 126.718065,89.7117395 126.718065,90.9677419 L126.718065,145.123871 C126.730287,145.734866 126.496092,146.32507 126.068266,146.761453 C125.64044,147.197835 125.054989,147.443548 124.443871,147.443548 L124.443871,147.443548 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\",\n transform: \"translate(0.000000, 34.154730)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.25920455,51.7946249 L0.243398102,49.6417216 L0.243398102,49.6417216 C-0.437832238,47.9587175 0.35912168,46.040625 2.03243036,45.3359152 L29.3227529,34.46527 C31.0224895,33.7909703 32.947496,34.6179097 33.6285594,36.3149474 L34.6443658,38.483012 C34.971917,39.2969514 34.96079,40.208007 34.6134578,41.0137039 C34.2661255,41.8194009 33.6113639,42.4529885 32.7946884,42.7736571 L5.50436584,53.6443023 C4.69042636,53.9718534 3.77937081,53.9607264 2.97367388,53.6133942 C2.16797695,53.2660619 1.53438932,52.6113004 1.21372068,51.7946249 L1.25920455,51.7946249 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.7746884,48.4439797 C42.7865089,45.8755776 38.0642777,41.0330181 35.6473311,34.9821213 C33.2303846,28.9312245 33.3168122,22.1679131 35.8875917,16.1807539 L35.8875917,16.1807539 C40.9381155,4.48754796 54.0977576,-1.39495451 66.1790115,2.64016138 C78.2602654,6.67527728 85.2433965,19.2854278 82.2530775,31.6667383 C79.2627585,44.0480487 67.2939431,52.0809482 54.7027529,50.1572055 C52.6639719,49.8313009 50.6730076,49.2559072 48.7746884,48.4439797 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.0401723,51.0668848 C57.5620305,51.0651391 54.1208767,50.3531763 50.9275917,48.9746249 C38.9048867,43.7826364 32.7599571,30.3360789 36.7030228,17.847908 C40.6460884,5.35973705 53.3984107,-2.12012561 66.2226916,0.533173894 C79.0469726,3.1864734 87.7842898,15.1124684 86.4482401,28.1400219 C85.1121904,41.1675754 74.1360554,51.0718437 61.0401723,51.0668848 Z M61.0401723,1.92914099 C51.6741006,1.93657481 43.210343,7.51550233 39.51114,16.1201087 C34.4182577,28.0062136 39.913462,41.7713612 51.7917852,46.8823668 L51.7917852,46.8823668 C60.5296171,50.6284874 70.6650264,48.7217738 77.4442302,42.0565265 C84.223434,35.3912792 86.3016788,25.2896467 82.7042111,16.4895699 C79.1067435,7.68949304 70.5471734,1.93659476 61.0401723,1.92914099 L61.0401723,1.92914099 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.97243036,53.2197862 L2.03243036,51.0517216 L2.03243036,51.0517216 C1.35813063,49.3519851 2.18507003,47.4269786 3.88210778,46.7459152 L31.1724304,35.87527 C32.8463777,35.2514836 34.7130477,36.0706697 35.3872691,37.7249474 L36.4030755,39.893012 C37.0790651,41.5885452 36.2596521,43.5117956 34.5685594,44.1988184 L7.27823681,55.0543023 C5.58270361,55.7302918 3.65945318,54.9108788 2.97243036,53.2197862 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.0501723,56.4339797 C5.82330934,56.4564773 5.59477719,56.4564773 5.36791423,56.4339797 C3.83511576,56.1811819 2.53735348,55.1635533 1.92630133,53.73527 L0.925656167,51.5975281 C0.466798883,50.4965576 0.468335187,49.2576129 0.929921486,48.1577838 C1.39150778,47.0579548 2.27463263,46.1890032 3.3817852,45.74527 L30.6721078,34.8897862 C31.7570634,34.4280288 32.9832812,34.4280288 34.0682368,34.8897862 C35.1557339,35.3530354 36.0128108,36.2319486 36.4485594,37.3307539 L37.4340433,39.4381733 C37.8923863,40.5369997 37.8904615,41.7738231 37.4287007,42.8712176 C36.9669398,43.9686122 36.0839947,44.8347205 34.9779142,45.27527 L7.70275294,56.1155926 C7.17721243,56.3260534 6.61628762,56.4341215 6.0501723,56.4339797 Z M32.2337207,36.7242214 C31.9585414,36.7218909 31.6855538,36.773398 31.4301723,36.8759152 L4.23081746,47.8072055 C3.69290262,48.0164167 3.26151703,48.4328528 3.03347195,48.9630576 C2.80542688,49.4932624 2.79982166,50.0928299 3.01791423,50.6272055 L4.0033981,52.7346249 C4.0033981,52.7346249 4.0033981,52.7346249 4.0033981,52.7346249 C4.29693173,53.4458738 4.94095887,53.9518951 5.70146262,54.0688184 C6.08460901,54.1272711 6.47636324,54.085484 6.83855939,53.9475281 L34.0682368,43.1678507 C35.1787051,42.7123608 35.7185862,41.4503887 35.28114,40.3326894 L34.2804949,38.2404313 C34.0791685,37.6743274 33.6504345,37.2181105 33.0979142,36.9820442 C32.827232,36.8553798 32.5325556,36.7881729 32.2337207,36.7849474 L32.2337207,36.7242214 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 32.5824304,\n y1: 39.9536571,\n x2: 38.6772691,\n y2: 37.3155926,\n id: \"Path\",\n fill: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.5824304,41.4698373 C31.8596533,41.4756841 31.2332168,40.9705368 31.0857984,40.2629286 C30.93838,39.5553204 31.3109776,38.842041 31.9759787,38.5588184 L38.0404949,35.9207539 C38.810843,35.58582 39.7068511,35.9387929 40.0417851,36.709141 C40.3767191,37.4794891 40.0237462,38.3754973 39.2533981,38.7104313 L33.188882,41.3333345 C32.9983254,41.4202159 32.7918355,41.4666761 32.5824304,41.4698373 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#5B5B5B\",\n points: \"46.7733981 19.8043023 46.7733981 24.0494636 46.0001723 24.0494636 43.8927529 21.4720442 43.8927529 24.0494636 42.9224304 24.0494636 42.9224304 19.8043023 43.7259787 19.8043023 45.8485594 22.3817216 45.8485594 19.8043023\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.5485594,24.0494636 L49.7298497,22.8668829 L48.8353336,22.8668829 L48.8353336,24.0494636 L47.8498497,24.0494636 L47.8498497,19.8043023 L49.6843658,19.8043023 C50.021943,19.7956937 50.357599,19.857661 50.6698497,19.9862378 C50.9272779,20.1005365 51.1477774,20.2842861 51.3066239,20.5168829 C51.5269691,20.8990341 51.5699497,21.358203 51.4243535,21.7746081 C51.2787573,22.1910133 50.9590233,22.5233589 50.5485594,22.6849474 L51.5037207,24.0494636 L50.5485594,24.0494636 Z M50.3059787,20.7897862 C50.1120694,20.6510107 49.8770753,20.5815806 49.638882,20.5926894 L48.8353336,20.5926894 L48.8353336,22.1088184 L49.638882,22.1088184 C49.8779643,22.127821 50.1156132,22.0576065 50.3059787,21.9117216 C50.606682,21.609976 50.606682,21.1218543 50.3059787,20.8201087 L50.3059787,20.7897862 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.6130755,20.9413991 C56.8561158,21.0814094 57.0555531,21.286095 57.1892046,21.5326894 C57.4725731,22.084683 57.4725731,22.7394054 57.1892046,23.2913991 C57.0555531,23.5379934 56.8561158,23.7426791 56.6130755,23.8826894 C56.3572164,24.0219956 56.0705293,24.0949705 55.7792046,24.0949474 C55.4089981,24.1132193 55.0491999,23.9693 54.7937207,23.7007539 L54.7937207,25.2168829 L53.8840433,25.2168829 L53.8840433,20.7746249 L54.7785594,20.7746249 L54.7785594,21.1536571 C55.0413344,20.8649471 55.4196484,20.7091707 55.8095271,20.729141 C56.0905704,20.7340871 56.3662515,20.8069086 56.6130755,20.9413991 L56.6130755,20.9413991 Z M56.218882,23.0639797 C56.5228567,22.6825059 56.5228567,22.1415826 56.218882,21.7601087 C56.0617552,21.5930443 55.8417584,21.4995457 55.6124304,21.5023668 C55.3871984,21.4980449 55.1712808,21.5921628 55.02114,21.7601087 C54.6991132,22.1350824 54.6991132,22.6890061 55.02114,23.0639797 C55.1712808,23.2319256 55.3871984,23.3260436 55.6124304,23.3217216 C55.8522105,23.3333195 56.084999,23.2390956 56.2492046,23.0639797 L56.218882,23.0639797 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.4621078,22.3362378 L59.4179142,20.8201087 L59.7666239,21.30527 L57.8108175,22.8213991 L57.4621078,22.3362378 Z M58.1443658,19.5465603 L59.0843658,19.5465603 L59.0843658,24.0949474 L58.1292046,24.0949474 L58.1443658,19.5465603 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.5259787,21.093012 C62.817017,21.3785263 62.9668735,21.7781437 62.9353336,22.1846249 L62.9353336,24.0494636 L62.0559787,24.0494636 L62.0559787,23.6401087 C61.8308049,23.9634229 61.446986,24.137886 61.0553336,24.0949474 C60.8305938,24.0983505 60.6079089,24.051742 60.4033981,23.9584958 C60.0550145,23.823412 59.8300427,23.4829141 59.8424304,23.1094636 C59.8303457,22.8274045 59.954421,22.5566947 60.1759787,22.3817216 C60.49423,22.1872884 60.8652884,22.0971742 61.2372691,22.1239797 L61.9953336,22.1239797 C61.9998313,21.9463433 61.9280927,21.7752743 61.7982368,21.6539797 C61.6411095,21.5255408 61.4390437,21.4654672 61.2372691,21.4872055 C61.0661487,21.4651521 60.8929055,21.4651521 60.7217852,21.4872055 C60.5696602,21.541259 60.4265484,21.6179261 60.2972691,21.7146249 L59.9637207,21.0475281 C60.1580403,20.9159712 60.3733913,20.8185506 60.6004949,20.7594636 C60.8479363,20.6934373 61.1024993,20.6577985 61.3585594,20.6533345 C61.7896553,20.6449293 62.2075329,20.8023118 62.5259787,21.093012 L62.5259787,21.093012 Z M61.7224304,23.3368829 C61.843906,23.2612627 61.9391817,23.1501078 61.9953336,23.0184958 L61.9953336,22.6849474 L61.3433981,22.6849474 C60.9492046,22.6849474 60.7521078,22.8062378 60.7521078,23.0639797 C60.7544815,23.1785139 60.8106546,23.2852428 60.9037207,23.3520442 C61.0189058,23.4319114 61.1582001,23.4694137 61.2979142,23.4581733 C61.4478567,23.4573805 61.5947019,23.4154247 61.7224304,23.3368829 L61.7224304,23.3368829 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.8917852,23.8826894 C65.7932173,23.95733 65.6792847,24.0091176 65.5582368,24.0343023 C65.4125993,24.0575465 65.2641969,24.0575465 65.1185594,24.0343023 C64.7925432,24.0516185 64.4723271,23.9430706 64.2240433,23.7310765 C63.9991227,23.5018553 63.8832113,23.1872387 63.9056562,22.8668829 L63.9056562,21.5175281 L63.4053336,21.5175281 L63.4053336,20.7897862 L63.9056562,20.7897862 L63.9056562,20.0013991 L64.8456562,20.0013991 L64.8456562,20.7897862 L65.7098497,20.7897862 L65.7098497,21.5175281 L64.89114,21.5175281 L64.89114,22.8517216 C64.8888047,22.9669043 64.9262913,23.0793638 64.9972691,23.1701087 C65.07966,23.2453261 65.1891807,23.2836584 65.3004949,23.2762378 C65.4376011,23.2849509 65.5729504,23.2416391 65.6795271,23.1549474 L65.8917852,23.8826894 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.3940433,21.093012 C69.6502923,21.3910917 69.7807549,21.7770436 69.7579142,22.1694636 L69.7579142,24.0494636 L68.8179142,24.0494636 L68.8179142,22.3210765 C68.832885,22.1152819 68.7737282,21.9109223 68.65114,21.7449474 C68.5242016,21.6048581 68.3391958,21.5319771 68.1508175,21.5478507 C67.9396766,21.5386057 67.7349458,21.6216047 67.5898497,21.77527 C67.4395423,21.9581086 67.363743,22.1909208 67.3775917,22.4272055 L67.3775917,24.0494636 L66.4224304,24.0494636 L66.4224304,20.7746249 L67.3321078,20.7746249 L67.3321078,21.1688184 C67.4631609,21.0290732 67.6237227,20.9203055 67.8021078,20.8504313 C67.994499,20.7711187 68.2004627,20.729926 68.4085594,20.729141 C68.7724507,20.7140527 69.127273,20.845064 69.3940433,21.093012 L69.3940433,21.093012 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.6675917,20.1681733 C70.5622255,20.0765356 70.5014532,19.9439414 70.5008175,19.8043023 C70.4990611,19.659802 70.55987,19.5216 70.6675917,19.42527 C70.7835259,19.3206597 70.936134,19.2661569 71.0921078,19.2736571 C71.2452529,19.2678298 71.3955556,19.3161414 71.5166239,19.4101087 C71.6189588,19.5039833 71.6790891,19.6351766 71.6833981,19.7739797 C71.6856155,19.9229645 71.6250932,20.0660174 71.5166239,20.1681733 C71.2701378,20.3715139 70.9140778,20.3715139 70.6675917,20.1681733 L70.6675917,20.1681733 Z M70.6675917,20.7746249 L71.6075917,20.7746249 L71.6075917,24.0494636 L70.6675917,24.0494636 L70.6675917,20.7746249 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#5B5B5B\",\n points: \"73.8514626 22.7607539 73.3966239 23.2155926 73.3966239 24.0494636 72.4414626 24.0494636 72.4414626 19.5010765 73.3966239 19.5010765 73.3966239 22.0936571 74.7763013 20.7746249 75.8982368 20.7746249 74.548882 22.1694636 76.065011 24.0494636 74.9279142 24.0494636\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.9304949,21.093012 C79.2215331,21.3785263 79.3713896,21.7781437 79.3398497,22.1846249 L79.3398497,24.0494636 L78.4453336,24.0494636 L78.4453336,23.6401087 C78.2273345,23.9636023 77.847454,24.1389318 77.4598497,24.0949474 C77.2348105,24.1015962 77.0113977,24.0548354 76.8079142,23.9584958 C76.6304696,23.8946225 76.4805171,23.7714472 76.3833981,23.6097862 C76.2814949,23.4631096 76.2284414,23.2880331 76.2317852,23.1094636 C76.2257823,22.8252546 76.3552254,22.5551126 76.5804949,22.3817216 C76.8987461,22.1872884 77.2698045,22.0971742 77.6417852,22.1239797 L78.3846884,22.1239797 C78.395095,21.9483386 78.328707,21.7768361 78.2027529,21.6539797 C78.0433751,21.5298506 77.8430903,21.4703065 77.6417852,21.4872055 C77.4707339,21.464101 77.2973526,21.464101 77.1263013,21.4872055 C76.9726805,21.5378251 76.8290345,21.6147783 76.7017852,21.7146249 L76.3530755,21.0475281 C76.5505169,20.9216437 76.7649453,20.8246403 76.9898497,20.7594636 C77.2426567,20.6944901 77.5021115,20.6588787 77.7630755,20.6533345 C78.1936416,20.6479772 78.6104366,20.8049519 78.9304949,21.093012 L78.9304949,21.093012 Z M78.1269465,23.3368829 C78.2480525,23.2648545 78.3394553,23.1519452 78.3846884,23.0184958 L78.3846884,22.6849474 L77.7327529,22.6849474 C77.3537207,22.6849474 77.1566239,22.8062378 77.1566239,23.0639797 C77.1529931,23.1763871 77.2037996,23.2836453 77.2930755,23.3520442 C77.4092657,23.4297223 77.5477849,23.4670159 77.6872691,23.4581733 C77.8420453,23.4578456 77.9938932,23.4159566 78.1269465,23.3368829 L78.1269465,23.3368829 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#5B5B5B\",\n points: \"44.7266239 27.2636571 44.7266239 31.8120442 43.6804949 31.8120442 43.6804949 28.1126894 42.7708175 28.1126894 42.7708175 27.2636571\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.7146884,30.9326894 L49.7146884,31.7817216 L46.3033981,31.7817216 L46.3033981,31.0388184 L48.0469465,29.5226894 C48.1985113,29.394006 48.3267363,29.240136 48.4259787,29.0678507 C48.4847713,28.9500831 48.5158853,28.8204415 48.5169465,28.6888184 C48.5266965,28.5308603 48.4587918,28.3780746 48.335011,28.2794636 C48.1821722,28.166645 47.9937369,28.1128064 47.8043658,28.1278507 C47.6158003,28.1283378 47.4295839,28.1697192 47.2585594,28.249141 C47.0977013,28.319913 46.9607865,28.435764 46.8643658,28.5826894 L46.1063013,28.0975281 C46.2815607,27.8224706 46.5349685,27.606018 46.8340433,27.4759152 C47.1655723,27.3193892 47.528777,27.2415596 47.8953336,27.2484958 C48.1967501,27.2436291 48.4959843,27.3003804 48.7746884,27.41527 C49.013387,27.5109478 49.2189119,27.6743137 49.3659787,27.88527 C49.5084082,28.0895908 49.5826916,28.3336647 49.5782368,28.5826894 C49.5792124,28.8251537 49.5220215,29.0643157 49.4114626,29.2801087 C49.2613952,29.5573882 49.0608603,29.8042005 48.8201723,30.0078507 L47.7740433,30.9933345 L49.7146884,30.9326894 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.0053336,29.5226894 C54.2186298,29.7530379 54.3329613,30.0579218 54.3237207,30.3717216 C54.3284786,30.6302241 54.2544454,30.8840522 54.1114626,31.0994636 C53.9640974,31.3363528 53.7469284,31.521741 53.4898497,31.6301087 C53.1652938,31.7721967 52.8129625,31.8395542 52.458882,31.8272055 C52.1417805,31.8251764 51.8261124,31.784445 51.518882,31.7059152 C51.2382603,31.6277244 50.9720581,31.5048618 50.7304949,31.3420442 L51.1398497,30.5536571 C51.3192718,30.6823691 51.5191949,30.7797676 51.73114,30.8417216 C51.9562602,30.9149356 52.1918513,30.9507864 52.4285594,30.9478507 C52.6463411,30.9614849 52.8631241,30.908611 53.0501723,30.7962378 C53.1982255,30.7072716 53.2855502,30.5442656 53.2775917,30.3717216 C53.2775917,30.0078507 52.9895271,29.8107539 52.4285594,29.8107539 L51.9585594,29.8107539 L51.9585594,29.1284958 L52.8833981,28.0823668 L50.9579142,28.0823668 L50.9579142,27.2333345 L54.1114626,27.2333345 L54.1114626,28.0065603 L53.0956562,29.1739797 C53.4289871,29.1869758 53.748727,29.3095428 54.0053336,29.5226894 L54.0053336,29.5226894 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#5B5B5B\",\n points: \"59.7817852 30.8417216 59.038882 30.8417216 59.038882 31.7817216 58.0230755 31.7817216 58.0230755 30.8417216 55.5972691 30.8417216 55.5972691 30.129141 57.7198497 27.2636571 58.8266239 27.2636571 56.8404949 29.9775281 58.0533981 29.9775281 58.0533981 29.1436571 59.038882 29.1436571 59.038882 29.9775281 59.7817852 29.9775281\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.8904949,29.3407539 C64.1917452,29.5902614 64.3598385,29.9656698 64.3453336,30.3565603 C64.3471574,30.6241653 64.2735981,30.8868769 64.1330755,31.1146249 C63.9804703,31.3506632 63.7652544,31.5396332 63.5114626,31.6604313 C63.1816476,31.802777 62.8243353,31.8700967 62.4653336,31.8575281 C62.1482321,31.855499 61.832564,31.8147676 61.5253336,31.7362378 C61.2458243,31.6550444 60.9800729,31.5323898 60.7369465,31.3723668 L61.1614626,30.5839797 C61.3390631,30.7157181 61.5395473,30.81339 61.7527529,30.8720442 C61.9726585,30.9452366 62.2032633,30.9811085 62.435011,30.9781733 C62.6529644,30.9937963 62.870339,30.9407781 63.0566239,30.8265603 C63.2022695,30.7353235 63.2887776,30.5738417 63.2840433,30.4020442 C63.294814,30.220951 63.200401,30.0498274 63.0414626,29.9623668 C62.7925546,29.8391872 62.5145943,29.7867419 62.2379142,29.8107539 L61.0704949,29.8107539 L61.3130755,27.2636571 L64.0572691,27.2636571 L64.0572691,28.1126894 L62.1772691,28.1126894 L62.1772691,28.9617216 L62.54114,28.9617216 C63.0198582,28.9407478 63.4927188,29.0735738 63.8904949,29.3407539 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.5601723,29.1284958 C68.7916548,29.2301891 68.9871362,29.3992541 69.12114,29.6136571 C69.3919704,30.0827491 69.3919704,30.6606942 69.12114,31.1297862 C68.9701865,31.3635626 68.7540947,31.5480312 68.4995271,31.6604313 C68.2286044,31.7846719 67.9333519,31.8468304 67.6353336,31.8423668 C67.070697,31.8767934 66.518487,31.6669536 66.1192046,31.2662378 C65.7432673,30.8003726 65.5541144,30.2112964 65.5885594,29.6136571 C65.5725889,29.1567924 65.6716416,28.7032355 65.8766239,28.2946249 C66.0589563,27.9402957 66.3444093,27.6495565 66.6953336,27.4607539 C67.0615938,27.2592402 67.4752394,27.1597559 67.8930755,27.1726894 C68.128544,27.1721076 68.3630537,27.2026958 68.5904949,27.2636571 C68.7908699,27.3009858 68.981661,27.3783335 69.1514626,27.4910765 L68.7572691,28.249141 C68.5095553,28.0888429 68.2181951,28.009381 67.9233981,28.0217216 C67.5875423,28.0053086 67.2593613,28.1256416 67.0137207,28.35527 C66.7713685,28.6254469 66.6412283,28.9779098 66.6498497,29.3407539 C66.9483549,29.0604372 67.3475562,28.9127874 67.7566239,28.9313991 C68.0367015,28.9292069 68.3128976,28.9969531 68.5601723,29.1284958 Z M68.1053336,30.9023668 C68.2530807,30.7799156 68.3322168,30.5933806 68.3175917,30.4020442 C68.3272597,30.2159087 68.248598,30.0361105 68.1053336,29.9168829 C67.9528119,29.7896486 67.7578851,29.724673 67.5595271,29.7349474 C67.3562376,29.7223041 67.1557322,29.7873329 66.9985594,29.9168829 C66.8533665,30.0359538 66.7697781,30.2142757 66.77114,30.4020442 C66.7638173,30.5877448 66.8420449,30.7665507 66.9833981,30.8872055 C67.1421483,31.0259408 67.349064,31.0967278 67.5595271,31.0843023 C67.7578851,31.0945768 67.9528119,31.0296012 68.1053336,30.9023668 L68.1053336,30.9023668 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#5B5B5B\",\n points: \"74.078882 27.2636571 74.078882 28.0065603 72.41114 31.8423668 71.2740433 31.8423668 72.8963013 28.1733345 71.3801723 28.1733345 71.3801723 28.9162378 70.4553336 28.9162378 70.4553336 27.2636571\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.99114,29.8410765 C79.1144765,30.0301927 79.1778847,30.2521214 79.1730755,30.4778507 C79.171997,30.7401106 79.086988,30.9951375 78.9304949,31.2055926 C78.7572408,31.4258576 78.5263285,31.5937939 78.2633981,31.6907539 C77.6155248,31.9172396 76.909981,31.9172396 76.2621078,31.6907539 C75.9991774,31.5937939 75.768265,31.4258576 75.595011,31.2055926 C75.4439137,30.9932842 75.3642674,30.7384158 75.3675917,30.4778507 C75.3573157,30.2535909 75.4154802,30.0315083 75.5343658,29.8410765 C75.6669365,29.6576979 75.8444533,29.5115076 76.0498497,29.4165603 C75.8899712,29.3171179 75.7550986,29.1822453 75.6556562,29.0223668 C75.4463521,28.6297778 75.4817603,28.1517677 75.7466239,27.7943023 C75.9020376,27.5922169 76.1126834,27.4394987 76.3530755,27.3546249 C76.6424816,27.2400947 76.9515399,27.183434 77.2627529,27.1878507 C77.5737401,27.1860641 77.8823024,27.2426338 78.1724304,27.3546249 C78.4128225,27.4394987 78.6234683,27.5922169 78.778882,27.7943023 C79.0437456,28.1517677 79.0791538,28.6297778 78.8698497,29.0223668 C78.7704072,29.1822453 78.6355347,29.3171179 78.4756562,29.4165603 C78.6810526,29.5115076 78.8585694,29.6576979 78.99114,29.8410765 L78.99114,29.8410765 Z M77.8843658,30.9175281 C78.0329058,30.8078389 78.1179525,30.6320757 78.1117852,30.4475281 C78.1206903,30.2624114 78.0350511,30.0854236 77.8843658,29.9775281 C77.5055031,29.7347895 77.0200028,29.7347895 76.64114,29.9775281 C76.4904548,30.0854236 76.4048156,30.2624114 76.4137207,30.4475281 C76.4075534,30.6320757 76.4926001,30.8078389 76.64114,30.9175281 C77.0200028,31.1602667 77.5055031,31.1602667 77.8843658,30.9175281 L77.8843658,30.9175281 Z M76.7472691,28.1126894 C76.6255133,28.2128534 76.5580932,28.3645485 76.5653336,28.5220442 C76.5555836,28.6800023 76.6234883,28.832788 76.7472691,28.9313991 C76.8954483,29.0419333 77.0783257,29.0957208 77.2627529,29.083012 C77.4468876,29.0931226 77.6288968,29.0395905 77.7782368,28.9313991 C77.9020176,28.832788 77.9699223,28.6800023 77.9601723,28.5220442 C77.9674127,28.3645485 77.8999926,28.2128534 77.7782368,28.1126894 C77.4640851,27.9113014 77.0614208,27.9113014 76.7472691,28.1126894 L76.7472691,28.1126894 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.3080645,165.258065 L42.0725806,165.258065 C40.8165782,165.258065 39.7983871,164.239873 39.7983871,162.983871 C39.7983871,161.727869 40.8165782,160.709677 42.0725806,160.709677 L78.3080645,160.709677 C79.5640669,160.709677 80.5822581,161.727869 80.5822581,162.983871 C80.5822581,164.239873 79.5640669,165.258065 78.3080645,165.258065 L78.3080645,165.258065 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.4077419,175.052258 L42.0725806,175.052258 C40.8165782,175.052258 39.7983871,174.034067 39.7983871,172.778065 C39.7983871,171.522062 40.8165782,170.503871 42.0725806,170.503871 L68.4077419,170.503871 C69.6637444,170.503871 70.6819355,171.522062 70.6819355,172.778065 C70.6819355,174.034067 69.6637444,175.052258 68.4077419,175.052258 Z\",\n id: \"Path\",\n fill: \"#FFFFFF\",\n fillRule: \"nonzero\"\n}))))))));\n\nvar SvgInvoice = function SvgInvoice(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"163px\",\n height: \"185px\",\n viewBox: \"0 0 163 185\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInvoice, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Invoice.f793d092.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport { ReactComponent as FirstSvg } from '@images/icons/register/First.svg'\r\nimport { ReactComponent as SecondSvg } from '@images/icons/register/Second.svg'\r\nimport { ReactComponent as ThirdSvg } from '@images/icons/register/Third.svg'\r\nimport { ReactComponent as FourthSvg } from '@images/icons/register/Fourth.svg'\r\nimport { ReactComponent as FifthSvg } from '@images/icons/register/Fifth.svg'\r\nimport { ReactComponent as InvoiceSvg } from '@images/icons/register/Invoice.svg'\r\n\r\nexport enum registerSteps {\r\n PREPARATION = 'preparation',\r\n FORM = 'form',\r\n SUMMARY = 'summary',\r\n}\r\n\r\n//PreRegister\r\n\r\nexport interface PreRegisterRow {\r\n icon?: JSX.Element\r\n title?: JSX.Element\r\n doc?: JSX.Element\r\n}\r\n\r\nexport interface RowDivision {\r\n left: PreRegisterRow\r\n right?: PreRegisterRow\r\n}\r\nexport interface PreRegister {\r\n subtitle: string\r\n rows: RowDivision[]\r\n}\r\n\r\nexport const preRegister: PreRegister = {\r\n subtitle: 'Przygotuj proszę następujące dane:',\r\n rows: [\r\n {\r\n left: {\r\n icon: ,\r\n title: (\r\n <>\r\n

NUMER PŁATNIKA

\r\n

\r\n Numer płatnika to Twój indywidualny 8-cyfrowy \r\n numer, który znajdziesz na fakturze za prąd.\r\n

\r\n \r\n ),\r\n },\r\n right: {\r\n doc: ,\r\n },\r\n },\r\n {\r\n left: {\r\n icon: ,\r\n title: (\r\n

\r\n NUMER PESEL (OSOBA PRYWATNA) / NIP (FIRMA)\r\n

\r\n ),\r\n },\r\n },\r\n {\r\n left: {\r\n icon: ,\r\n title: (\r\n

\r\n ADRES E-MAIL{' '}\r\n \r\n Wybierz z rozwagą adres e-mail (brak możliwości zmiany po\r\n założeniu konta)\r\n \r\n

\r\n ),\r\n },\r\n },\r\n {\r\n left: {\r\n icon: ,\r\n title:

NUMER TELEFONU

,\r\n },\r\n right: {\r\n icon: ,\r\n title:

SILNE HASŁO

,\r\n },\r\n },\r\n ],\r\n}\r\n\r\n//Register Form\r\n\r\nexport type ErrorCodeTypes = 'CNF' | 'FTN' | 'TNU' | 'CNA' | 'SNA' | ''\r\n\r\nexport const ErrorCodes = {\r\n CustomerNotFound: 'CNF' as ErrorCodeTypes,\r\n FakeTaxNumber: 'FTN' as ErrorCodeTypes,\r\n TaxNumberUsed: 'TNU' as ErrorCodeTypes,\r\n CustomerNotActive: 'CNA' as ErrorCodeTypes,\r\n SegmentNotActive: 'SNA' as ErrorCodeTypes,\r\n AdditionalValidationFailed: 'AVF' as ErrorCodeTypes,\r\n empty: '' as ErrorCodeTypes,\r\n}\r\n\r\nexport enum fieldNames {\r\n MFA_CONTACT_TYPE = 'MFAContactType',\r\n EMAIL = 'Email',\r\n CUSTOMER_NUMBER = 'CustomerNumber',\r\n TAX_NUMBER = 'TaxNumber',\r\n PASSWORD = 'Password',\r\n CONFIRMED_PASSWORD = 'ConfirmedPassword',\r\n PHONE = 'Phone',\r\n PHONE_PREFIX = 'PhonePrefix',\r\n ACCOUNT_TYPE = 'Type',\r\n FIRST_NAME = 'Name',\r\n LAST_NAME = 'Surname',\r\n ROLE = 'Position',\r\n INVOICE_VALUE = 'AdditionalValidationValue',\r\n MFA_CODE = 'MfaCode',\r\n}\r\n\r\nexport enum accountTypes {\r\n COMMERCIAL = 'commercial',\r\n INDIVIDUAL = 'individual',\r\n NOT_SELECTED = 'accountNotSelected',\r\n}\r\n\r\n// password\r\n\r\nexport enum passReqNames {\r\n DIGIT = 'digit',\r\n LETTERS = 'letters',\r\n LENGTH = 'length',\r\n}\r\n\r\nexport const mfaChannels = [\r\n { value: 'Sms', name: 'Telefon' },\r\n { value: 'Email', name: 'E-Mail' },\r\n]\r\n\r\ninterface PasswordReqType {\r\n [key: string]: { title: string; regex: RegExp }\r\n}\r\n\r\nexport const PasswordRequirements: PasswordReqType = {\r\n [passReqNames.DIGIT]: {\r\n title: '1 cyfra',\r\n regex: /^(.*[0-9]+.*)$/,\r\n },\r\n [passReqNames.LETTERS]: {\r\n title: 'Wielka i mała litera',\r\n regex: /^((.*[a-z]+.*[A-Z]+.*)|(.*[A-Z]+.*[a-z]+.*))$/,\r\n },\r\n [passReqNames.LENGTH]: { title: '8 znaków', regex: /^(.{8,})$/ },\r\n}\r\n\r\n// register\r\n\r\nexport interface InputType {\r\n name: string\r\n title: string\r\n placeholder: string\r\n errorMsg: (accType?: string) => string\r\n password?: boolean\r\n customNextField?: string\r\n validation?: (el: string, accType?: string) => boolean\r\n optional?: boolean\r\n helper?: {\r\n content: string\r\n }\r\n disable?: boolean\r\n}\r\n\r\nexport interface Section {\r\n header: string\r\n subHeader: string\r\n inputs: InputType[]\r\n}\r\n\r\nexport interface RegisterDataTypes extends Section {\r\n mfa: {\r\n description: string\r\n label: string\r\n errorMsg: () => string\r\n channel: {\r\n helper: {\r\n content: JSX.Element\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const registerData: RegisterDataTypes = {\r\n header: 'Rejestracja',\r\n subHeader: 'Bezpieczeństwo',\r\n\r\n mfa: {\r\n description:\r\n 'UWAGA: Wymagane jest logowanie dwuskładnikowe. Wybierz kanał na który będziemy dostarczać kody służące do logowania lub innych ważnych czynności.',\r\n label: 'Kanał komunikacji dwuskładniowej',\r\n errorMsg: () => 'Wybierz kanał komunikacji dla MFA',\r\n channel: {\r\n helper: {\r\n content: (\r\n \r\n Czym jest MFA (Multi Factor Authentication)?
\r\n Jest to wieloskładnikowe uwierzytelnienie (weryfikacja) Użytkownika\r\n podczas logowania i innych wrażliwych czynnościach wykonywanych w\r\n aplikacji. Uwierzytelnienie Użytkownika następuje na podstawie\r\n znajomości loginu, hasła oraz dodatkowego kodu otrzymywanego drogą\r\n mailową lub w wiadomości SMS, w zależności od wybranego przez\r\n Użytkownika kanału komunikacji\r\n
\r\n
\r\n Jak to działa?
\r\n Podczas logowania (następującego po aktywacji MFA) po podaniu adresu\r\n e-mail i hasła wymagane będzie wpisanie 6-cyfrowego kodu\r\n uwierzytelniającego. Kod ten zostanie dostarczony drogą mailową lub\r\n w wiadomości SMS. Podczas wprowadzania kodu istnieje możliwość\r\n zapamiętania urządzenia, na którym wprowadzono kod. Pozwoli to na\r\n logowanie na tym urządzeniu bez użycia MFA przez 6 kolejnych\r\n miesięcy.\r\n
\r\n ),\r\n },\r\n },\r\n },\r\n inputs: [\r\n {\r\n name: fieldNames.EMAIL,\r\n title: 'E-MAIL',\r\n placeholder: 'Wpisz adres e-mail',\r\n errorMsg: () => 'Wpisz poprawny adres e-mail',\r\n validation: el => !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(el),\r\n },\r\n {\r\n name: fieldNames.PASSWORD,\r\n title: 'HASŁO',\r\n placeholder: 'Wpisz hasło',\r\n errorMsg: () => 'Wpisz poprawne hasło',\r\n password: true,\r\n validation: el => {\r\n return (\r\n !PasswordRequirements[passReqNames.DIGIT].regex.test(el) ||\r\n !PasswordRequirements[passReqNames.LETTERS].regex.test(el) ||\r\n !PasswordRequirements[passReqNames.LENGTH].regex.test(el)\r\n )\r\n },\r\n customNextField: fieldNames.PHONE,\r\n },\r\n {\r\n name: fieldNames.CUSTOMER_NUMBER,\r\n title: 'NUMER PŁATNIKA',\r\n placeholder: 'Wpisz numer płatnika',\r\n errorMsg: () => 'Wpisz 8-cyfrowy numer płatnika',\r\n customNextField: fieldNames.TAX_NUMBER,\r\n validation: el => !/^(([0-9]|[*]){8})$/i.test(el),\r\n },\r\n ],\r\n}\r\n\r\nexport const commercialAccountData: InputType[] = [\r\n {\r\n name: fieldNames.FIRST_NAME,\r\n title: 'IMIĘ',\r\n placeholder: 'Wpisz imię',\r\n errorMsg: () => 'Wpisz poprawne imię',\r\n validation: (el, accType) => {\r\n if (accType === accountTypes.COMMERCIAL) {\r\n return el.length < 3\r\n }\r\n return false\r\n },\r\n },\r\n {\r\n name: fieldNames.LAST_NAME,\r\n title: 'NAZWISKO',\r\n placeholder: 'Wpisz nazwisko',\r\n errorMsg: () => 'Wpisz poprawne nazwisko',\r\n validation: (el, accType) => {\r\n if (accType === accountTypes.COMMERCIAL) {\r\n return el.length < 3\r\n }\r\n return false\r\n },\r\n },\r\n]\r\n\r\nexport interface PhoneNumberInputType {\r\n name: string\r\n phonePrefix: string\r\n title: string\r\n placeholder: string\r\n}\r\n\r\nexport const phoneNumberData: PhoneNumberInputType = {\r\n name: fieldNames.PHONE,\r\n phonePrefix: fieldNames.PHONE_PREFIX,\r\n title: 'TELEFON',\r\n placeholder: 'Wpisz numer telefonu',\r\n}\r\n\r\nexport interface TaxInputType {\r\n name: string\r\n title: (accType: string) => string\r\n placeholder: (accType: string) => string\r\n errorMsg: (accType?: string) => string\r\n validation?: (el: string, accType: string) => boolean\r\n}\r\n\r\nexport const taxNumberData: TaxInputType = {\r\n name: fieldNames.TAX_NUMBER,\r\n title: accType => {\r\n if (accType === accountTypes.INDIVIDUAL) {\r\n return 'NUMER PESEL'\r\n } else if (accType === accountTypes.COMMERCIAL) {\r\n return 'NIP'\r\n }\r\n return 'RODZAJ KONTA'\r\n },\r\n placeholder: accType => {\r\n if (accType === accountTypes.INDIVIDUAL) {\r\n return 'Wpisz PESEL'\r\n } else if (accType === accountTypes.COMMERCIAL) {\r\n return 'Wpisz NIP'\r\n }\r\n return ''\r\n },\r\n errorMsg: accType => {\r\n if (accType === accountTypes.INDIVIDUAL) {\r\n return 'Wpisz poprawny numer PESEL'\r\n } else if (accType === accountTypes.COMMERCIAL) {\r\n return 'Wpisz poprawny 10-cio znakowy NIP, bez łączników'\r\n }\r\n return 'Wybierz rodzaj konta'\r\n },\r\n validation: (el, accType) => {\r\n if (accType === accountTypes.INDIVIDUAL) {\r\n return !/^([0-9]{11})$/i.test(el)\r\n } else if (accType === accountTypes.COMMERCIAL) {\r\n return el.length !== 10 || !/^[A-Z0-9-]+$/i.test(el)\r\n }\r\n return true\r\n },\r\n}\r\n\r\nexport const invoiceValueData: InputType = {\r\n name: fieldNames.INVOICE_VALUE,\r\n title: 'KWOTA BRUTTO FAKTURY',\r\n placeholder: 'Wpisz kwotę brutto ostatniej faktury prądowej lub zbiorczej',\r\n helper: {\r\n content:\r\n 'Prosimy o wprowadzenie kwoty brutto z jednej z 3 ostatnich otrzymanych faktur. W przypadku kiedy posiadasz więcej niż 1 punkt poboru zwróć uwagę aby podać kwotę brutto z jednej z trzech faktur o najwyższym numerze.',\r\n },\r\n errorMsg: () => 'Wpisz poprawną kwotę faktury w formacie 1234,56',\r\n validation: el => !/^\\s*-?\\d+([\\d,]\\d{1,2})?\\s*$/.test(el),\r\n}\r\n\r\nexport enum AdditionalValidationType {\r\n SEND_INVOICE = 1,\r\n SEND_TOKEN = 2,\r\n}\r\n\r\nexport const roles: string[] = [\r\n 'Administrator',\r\n 'Dyrektor',\r\n 'Inspektor',\r\n 'Kierownik',\r\n 'Księgowy',\r\n 'Pełnomocnik',\r\n 'Prezes',\r\n 'Prokurent',\r\n 'Przedstawiciel',\r\n 'Specjalista',\r\n 'Właściciel',\r\n 'Współwłaściciel',\r\n 'Członek Zarządu',\r\n 'Energetyk',\r\n 'Zarządca',\r\n]\r\n\r\nexport enum ErrorMsg {\r\n noConnectionOrServerError = 'Coś poszło nie tak, spróbuj ponownie za chwilę bądź skontaktuj się z infolinią',\r\n}\r\n\r\n// combined form fields\r\n\r\nexport const registerFormFields: (InputType | TaxInputType)[] = [\r\n ...registerData.inputs,\r\n taxNumberData,\r\n]\r\n","import {\r\n PasswordRequirements,\r\n passReqNames,\r\n Section,\r\n fieldNames,\r\n} from '../../Register/static-data/RegisterData'\r\n\r\nexport const NewPassData: Section = {\r\n header: 'Ustaw nowe hasło',\r\n subHeader:\r\n 'Po zapisaniu automatycznie przeniesiemy Cię na stronę logowania do panelu Moja Polenergia',\r\n inputs: [\r\n {\r\n name: fieldNames.PASSWORD,\r\n title: 'NOWE HASŁO',\r\n placeholder: 'Wpisz nowe hasło',\r\n errorMsg: () => 'Wpisz poprawne hasło',\r\n validation: el => {\r\n return (\r\n !PasswordRequirements[passReqNames.DIGIT].regex.test(el) ||\r\n !PasswordRequirements[passReqNames.LETTERS].regex.test(el) ||\r\n !PasswordRequirements[passReqNames.LENGTH].regex.test(el)\r\n )\r\n },\r\n },\r\n {\r\n name: fieldNames.CONFIRMED_PASSWORD,\r\n title: 'POWTÓRZ NOWE HASŁO',\r\n placeholder: 'Wpisz ponownie nowe hasło',\r\n errorMsg: () => 'Hasło powinno być takie samo jak powyższe',\r\n },\r\n {\r\n name: fieldNames.MFA_CODE,\r\n title: 'WPROWADŹ KOD MFA',\r\n placeholder: 'Kod MFA',\r\n errorMsg: () => 'Kod MFA składa się z 6 cyfr, bez spacji i łączników',\r\n },\r\n ],\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-hideInput{fill:#48a9a1;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonki_oczka\",\n \"data-name\": \"Ikonki oczka\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-hideInput\",\n d: \"M20.35,10.23a11.51,11.51,0,0,0-2.89-2.85A1,1,0,1,0,16.33,9a9.58,9.58,0,0,1,2.1,2A9.47,9.47,0,0,1,11,14.62l-.42,0,.47-.81a2.77,2.77,0,0,0,2.39-4.14l4-6.91a1,1,0,1,0-1.73-1l-2.25,3.9A11.93,11.93,0,0,0,11,5.38a11.46,11.46,0,0,0-9.34,4.85,1.32,1.32,0,0,0,0,1.54A11.42,11.42,0,0,0,5,14.93a1,1,0,0,0,.53.15,1,1,0,0,0,.52-1.85A9.36,9.36,0,0,1,3.57,11,9.45,9.45,0,0,1,11,7.38a9.06,9.06,0,0,1,1.38.1l-.5.88A2.84,2.84,0,0,0,11,8.21,2.79,2.79,0,0,0,8.21,11a2.76,2.76,0,0,0,.93,2.07L5.57,19.26a1,1,0,0,0,.86,1.5,1,1,0,0,0,.87-.5l2.17-3.75a11,11,0,0,0,1.52.11,11.48,11.48,0,0,0,9.36-4.85A1.32,1.32,0,0,0,20.35,10.23Z\"\n}));\n\nvar SvgHideInput = function SvgHideInput(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHideInput, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/HideInput.c15a6511.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-showInput{fill:#48a9a1;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonki_oczka\",\n \"data-name\": \"Ikonki oczka\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-showInput\",\n d: \"M11,16.83a11.93,11.93,0,0,1-9.72-5,1.35,1.35,0,0,1,0-1.56,11.9,11.9,0,0,1,19.46,0,1.34,1.34,0,0,1,0,1.55A12,12,0,0,1,11,16.83ZM3.18,11a9.9,9.9,0,0,0,15.64,0A9.9,9.9,0,0,0,3.18,11Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-showInput\",\n d: \"M11,13.79A2.79,2.79,0,1,1,13.79,11,2.79,2.79,0,0,1,11,13.79Z\"\n}));\n\nvar SvgShowInput = function SvgShowInput(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgShowInput, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ShowInput.aa5ced87.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ-3\",\n transform: \"translate(-180.000000, -694.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(103.000000, 105.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Registration_form\",\n transform: \"translate(75.000000, 95.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Check/Off\",\n transform: \"translate(1.000000, 493.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 23,\n height: 23\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"checkbox\",\n transform: \"translate(1.150000, 1.150000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.35,14.7085 C10.0260465,14.7054395 9.71469879,14.5825391 9.476,14.3635 L5.658,10.81 C5.32520709,10.4977499 5.18427722,10.031676 5.28829731,9.58734379 C5.3923174,9.14301161 5.72548432,8.78792581 6.16229732,8.65584377 C6.59911032,8.52376173 7.07320711,8.63474986 7.406,8.947 L10.2235,11.592 L14.398,6.7735 C14.6165021,6.51557587 14.9291453,6.35583306 15.2661851,6.32990692 C15.603225,6.30398077 15.9366213,6.41402825 16.192,6.6355 C16.4506438,6.85604106 16.6106482,7.17062956 16.6365526,7.50954535 C16.662457,7.84846113 16.5521218,8.18371252 16.33,8.441 L11.293,14.26 C11.0660562,14.5235005 10.7429667,14.6850452 10.396,14.7085 L10.35,14.7085 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.7,0 C18.909139,-4.05812251e-16 20.7,1.790861 20.7,4 L20.7,16.7 C20.7,18.909139 18.909139,20.7 16.7,20.7 L4,20.7 C1.790861,20.7 1.15871992e-15,18.909139 0,16.7 L0,4 C-2.705415e-16,1.790861 1.790861,1.29399067e-15 4,0 L16.7,0 Z M16.55,1.15 L4.15,1.15 C2.49314575,1.15 1.15,2.49314575 1.15,4.15 L1.15,4.15 L1.15,16.55 C1.15,18.2068542 2.49314575,19.55 4.15,19.55 L4.15,19.55 L16.55,19.55 C18.2068542,19.55 19.55,18.2068542 19.55,16.55 L19.55,16.55 L19.55,4.15 C19.55,2.49314575 18.2068542,1.15 16.55,1.15 L16.55,1.15 Z\",\n id: \"Shape\",\n fill: \"#C8C8C8\"\n})))))));\n\nvar SvgChecked = function SvgChecked(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"21px\",\n viewBox: \"0 0 21 21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgChecked, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Checked.1d44419c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ-2\",\n transform: \"translate(-180.000000, -694.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\",\n transform: \"translate(103.000000, 105.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Registration_form\",\n transform: \"translate(75.000000, 95.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Check/Off\",\n transform: \"translate(1.000000, 493.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 23,\n height: 23\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"checkbox_empty\",\n transform: \"translate(1.150000, 1.150000)\",\n fill: \"#C8C8C8\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.7,0 C18.909139,-4.05812251e-16 20.7,1.790861 20.7,4 L20.7,16.7 C20.7,18.909139 18.909139,20.7 16.7,20.7 L4,20.7 C1.790861,20.7 1.15871992e-15,18.909139 0,16.7 L0,4 C-2.705415e-16,1.790861 1.790861,1.29399067e-15 4,0 L16.7,0 Z M16.55,1.15 L4.15,1.15 C2.49314575,1.15 1.15,2.49314575 1.15,4.15 L1.15,4.15 L1.15,16.55 C1.15,18.2068542 2.49314575,19.55 4.15,19.55 L4.15,19.55 L16.55,19.55 C18.2068542,19.55 19.55,18.2068542 19.55,16.55 L19.55,16.55 L19.55,4.15 C19.55,2.49314575 18.2068542,1.15 16.55,1.15 L16.55,1.15 Z\",\n id: \"Shape\"\n})))))));\n\nvar SvgUnchecked = function SvgUnchecked(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"21px\",\n viewBox: \"0 0 21 21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUnchecked, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Unchecked.a1bd7853.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Info/On_White\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"info\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n cx: 10.92,\n cy: 8.99,\n r: 8.69\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.92,4.71 L10.92,6.84 L8.5,6.84 L8.5,4.71 L10.92,4.71 Z M8.58,8.28 L10.84,8.28 L10.84,15.88 L8.58,15.88 L8.58,8.28 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.72,19.7000055 C5.99804001,19.7040456 2.64031832,17.4651044 1.21318177,14.0276222 C-0.213954772,10.59014 0.570687919,6.6314169 3.20108112,3.99816147 C5.83147432,1.36490603 9.78934174,0.575958506 13.228374,1.99935578 C16.6674062,3.42275306 18.91,6.77803781 18.91,10.5 C18.9045018,15.5748384 14.7948294,19.6889827 9.72,19.7000055 Z M9.72,2.30999387 C6.40159305,2.30595562 3.40787591,4.30233765 2.13610758,7.36737376 C0.864339255,10.4324099 1.56526068,13.9617997 3.91173048,16.3082695 C6.25820028,18.6547393 9.78759013,19.3556607 12.8526262,18.0838924 C15.9176624,16.8121241 17.9140444,13.818407 17.9100061,10.5 C17.9100061,8.32787695 17.0471275,6.2447184 15.5112045,4.70879546 C13.9752816,3.17287252 11.8921231,2.30999387 9.72,2.30999387 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n})));\n\nvar SvgHint = function SvgHint(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHint, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Hint.6f7f5f70.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, createStyles, Theme } from '@material-ui/core/styles'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst PAPER_MAX_WIDTH = 544\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n popover: {\r\n pointerEvents: 'none',\r\n },\r\n paper: {\r\n maxWidth: PAPER_MAX_WIDTH,\r\n padding: theme.spacing(3),\r\n [theme.breakpoints.down('sm')]: {\r\n maxWidth: PAPER_MAX_WIDTH - 44,\r\n },\r\n fontSize: 14,\r\n color: tableTextColor,\r\n },\r\n container: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n '& p': {\r\n margin: 0,\r\n },\r\n '& svg': {\r\n marginLeft: theme.spacing(1),\r\n },\r\n },\r\n })\r\n)\r\n","import { makeStyles, createStyles, Theme } from '@material-ui/core/styles'\r\n\r\nconst BTN_HEIGHT = 40\r\nconst BTN_WIDTH = 148\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n dialog: {\r\n padding: theme.spacing(5),\r\n },\r\n container: {\r\n padding: 0,\r\n marginBottom: theme.spacing(6),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n '& h1': {\r\n fontSize: 22,\r\n letterSpacing: 0.2,\r\n margin: theme.spacing(0, 0, 8),\r\n textAlign: 'center',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(8),\r\n '& h1': {\r\n marginBottom: theme.spacing(8),\r\n },\r\n },\r\n },\r\n content: {\r\n width: '100%',\r\n textAlign: 'center',\r\n fontSize: 14,\r\n '& ul': {\r\n textAlign: 'left',\r\n paddingLeft: 0,\r\n '& li': {\r\n marginBottom: theme.spacing(2),\r\n },\r\n },\r\n },\r\n btn: {\r\n width: BTN_WIDTH,\r\n height: BTN_HEIGHT,\r\n margin: '0 auto',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n },\r\n },\r\n })\r\n)\r\n","import React from 'react'\r\nimport { Dialog, DialogActions, DialogContent } from '@material-ui/core'\r\nimport useStyles from './HintModal.style'\r\nimport { Button } from '@shared/components/Button'\r\n\r\ninterface HintModalProps {\r\n title: string\r\n content: string | JSX.Element\r\n show: boolean\r\n close: () => void\r\n}\r\n\r\nexport const HintModal: React.FC = ({\r\n title,\r\n content,\r\n show,\r\n close,\r\n}) => {\r\n const styles = useStyles()\r\n return (\r\n \r\n \r\n

{title}

\r\n
{content}
\r\n
\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useMemo, useState } from 'react'\r\nimport Popover from '@material-ui/core/Popover'\r\nimport { useTheme, Theme, useMediaQuery } from '@material-ui/core'\r\nimport { ReactComponent as HintSvg } from '@images/icons/other/Hint.svg'\r\nimport useStyles from './HintPopover.style'\r\nimport { isMobile } from 'react-device-detect'\r\nimport HintModal from './modal'\r\n\r\ninterface HintPopoverProps {\r\n title?: string\r\n content: string | JSX.Element\r\n small?: boolean\r\n customHintTitle?: string | JSX.Element\r\n topCard?: boolean\r\n clickable?: boolean\r\n}\r\n\r\nexport const HintPopover: React.FC = ({\r\n title,\r\n content,\r\n small,\r\n customHintTitle = null,\r\n topCard = false,\r\n clickable = false,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const smallScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n const [anchorEl, setAnchorEl] = useState<\r\n SVGSVGElement | HTMLDivElement | null\r\n >(null)\r\n const [showModal, setShowModal] = useState(false)\r\n\r\n const shouldDisplayModal = isMobile || smallScreen\r\n\r\n const svgProps = useMemo(() => {\r\n return {\r\n style: {\r\n width: topCard ? 15 : 17,\r\n height: topCard ? 22 : 20,\r\n minWidth: topCard ? 15 : 17,\r\n cursor: shouldDisplayModal || clickable ? 'pointer' : 'help',\r\n },\r\n onMouseEnter: (e: React.MouseEvent) =>\r\n !shouldDisplayModal && !clickable && setAnchorEl(e.currentTarget),\r\n onMouseLeave: () =>\r\n !shouldDisplayModal && !clickable && setAnchorEl(null),\r\n onClick: () => (shouldDisplayModal || clickable) && setShowModal(true),\r\n }\r\n }, [shouldDisplayModal, topCard, clickable])\r\n\r\n return (\r\n
\r\n
\r\n {!customHintTitle ? (\r\n <>\r\n {title &&

{title}

}\r\n \r\n \r\n ) : (\r\n \r\n !shouldDisplayModal && !clickable && setAnchorEl(e.currentTarget)\r\n }\r\n onMouseLeave={() =>\r\n !shouldDisplayModal && !clickable && setAnchorEl(null)\r\n }\r\n onClick={() =>\r\n (shouldDisplayModal || clickable) && setShowModal(true)\r\n }\r\n >\r\n {customHintTitle}\r\n
\r\n )}\r\n
\r\n setAnchorEl(null)}\r\n disableRestoreFocus\r\n disableScrollLock\r\n >\r\n
{content}
\r\n \r\n setShowModal(false)}\r\n />\r\n \r\n )\r\n}\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\nimport {\r\n TextField,\r\n withTheme,\r\n withStyles,\r\n Theme,\r\n makeStyles,\r\n Collapse,\r\n} from '@material-ui/core'\r\nimport StyledButton from './Button'\r\nimport {\r\n accountTypes,\r\n InputType,\r\n TaxInputType,\r\n PasswordRequirements,\r\n fieldNames,\r\n passReqNames,\r\n} from '../../features/Register/static-data/RegisterData'\r\nimport { FieldInputProps } from 'formik'\r\nimport { ReactComponent as HideSvg } from '@images/icons/input/HideInput.svg'\r\nimport { ReactComponent as ShowSvg } from '@images/icons/input/ShowInput.svg'\r\nimport { ReactComponent as CheckOnSvg } from '@images/icons/checkbox/Checked.svg'\r\nimport { ReactComponent as CheckOffSvg } from '@images/icons/checkbox/Unchecked.svg'\r\nimport HintPopover from './HintPopover'\r\n\r\nexport const Input = withStyles((theme: Theme) => ({\r\n root: {\r\n width: '100%',\r\n '& input': {\r\n padding: '2px 0',\r\n fontSize: 16,\r\n opacity: 0.85,\r\n color: theme.palette.text.secondary,\r\n letterSpacing: '0.11px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n '&::placeholder': {\r\n letterSpacing: '1.25px',\r\n color: theme.palette.text.secondary,\r\n opacity: 0.35,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n '&:disabled': {\r\n color: theme.palette.text.secondary,\r\n opacity: 0.35,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n },\r\n '& label': {\r\n display: 'none',\r\n },\r\n '& div': {\r\n margin: 0,\r\n },\r\n '& div:after, div:before': {\r\n display: 'none',\r\n },\r\n },\r\n}))(withTheme(TextField))\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n inputContainer: {\r\n margin: '0 0 16px',\r\n },\r\n buttonsContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: '50px',\r\n '& p': {\r\n margin: 0,\r\n fontSize: 11,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.08px',\r\n textAlign: 'center',\r\n },\r\n '& button': {\r\n fontSize: 16,\r\n width: '44%',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& p': {\r\n fontSize: 10,\r\n },\r\n '& button': {\r\n fontSize: 12,\r\n width: '44%',\r\n },\r\n },\r\n },\r\n titles: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n alignItems: 'left',\r\n textAlign: 'left',\r\n minHeight: '17px',\r\n margin: '0 0 4px 20px',\r\n '& p': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n gap: '3.5px',\r\n marginRight: '8px',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.text.primary,\r\n letterSpacing: '0.08px',\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n '& span': {\r\n opacity: 0.25,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 10,\r\n },\r\n },\r\n },\r\n '& div > p': {\r\n margin: 0,\r\n fontSize: 12,\r\n color: theme.palette.error.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '16px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n marginLeft: 0,\r\n },\r\n },\r\n titlesAndButton: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-start',\r\n },\r\n changeButton: {\r\n textDecoration: 'none',\r\n border: 'none',\r\n backgroundColor: 'transparent',\r\n color: theme.palette.primary.main,\r\n padding: 0,\r\n marginTop: '2px',\r\n fontSize: 13,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.09px',\r\n outline: 'none',\r\n cursor: 'pointer',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n input: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '0 16px 0 20px',\r\n height: '50px',\r\n border: '1.7px solid #D3CFCF',\r\n borderRadius: '7px',\r\n backgroundColor: '#f9f9f9',\r\n color: theme.palette.text.secondary,\r\n fontSize: 16,\r\n fontWeight: 600,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '25px',\r\n overflow: 'hidden',\r\n\r\n transition: 'border 0.2s ease-in-out',\r\n },\r\n error: {\r\n border: `1.7px solid ${theme.palette.error.main}`,\r\n },\r\n icon: {\r\n height: 24,\r\n width: 24,\r\n '& svg': {\r\n opacity: 0.85,\r\n transition: 'opacity 0.2s ease-in-out',\r\n },\r\n '&:hover': {\r\n '& svg': {\r\n opacity: 1,\r\n },\r\n },\r\n cursor: 'pointer',\r\n },\r\n iconDisabled: {\r\n height: 24,\r\n width: 24,\r\n '& svg': {\r\n color: theme.palette.primary.main,\r\n },\r\n opacity: 0.2,\r\n },\r\n password: {\r\n display: 'flex',\r\n margin: '8px -16px 0',\r\n '& div': {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n margin: '0 16px 0',\r\n '& svg': {\r\n width: '16px',\r\n height: '16px',\r\n marginRight: '4px',\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n margin: '8px 0 0',\r\n '& div': {\r\n margin: 0,\r\n },\r\n },\r\n },\r\n validationContainer: {\r\n '& svg': {\r\n transition: 'color 0.2s ease-in-out',\r\n },\r\n '& p': {\r\n margin: 0,\r\n fontSize: 12,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.08px',\r\n transition: 'color 0.2s ease-in-out',\r\n },\r\n },\r\n goodPasswordIcon: {\r\n '& svg': {\r\n color: theme.palette.primary.main,\r\n },\r\n },\r\n wrongPasswordIcon: {\r\n '& svg': {\r\n color: 'lightGrey',\r\n },\r\n },\r\n wrongPasswordText: {\r\n color: theme.palette.error.main,\r\n },\r\n}))\r\n\r\nexport interface StyledInputProps {\r\n value: string\r\n change: (e: React.ChangeEvent) => void\r\n errorMsg?: string\r\n type?: string\r\n placeholder?: string\r\n}\r\n\r\n// reusable styled input\r\n\r\nexport const StyledInput: React.FC = ({\r\n value,\r\n change,\r\n errorMsg,\r\n type,\r\n placeholder,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n
\r\n
\r\n \r\n

{errorMsg}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\n// input (form)\r\n\r\ninterface CustomInputProps {\r\n field: {\r\n name: string\r\n value: string\r\n }\r\n inputData: InputType\r\n showError?: boolean\r\n errMessage?: string\r\n optional?: boolean\r\n}\r\n\r\nexport const CustomInput: React.FC = ({\r\n field,\r\n inputData,\r\n showError,\r\n errMessage,\r\n optional,\r\n}) => {\r\n const styles = useStyles()\r\n const { title, placeholder, errorMsg, helper, disable } = inputData\r\n const [error, setError] = useState('')\r\n\r\n useEffect(() => {\r\n if (showError) {\r\n if (errMessage) {\r\n setError(errMessage)\r\n } else {\r\n setError(errorMsg())\r\n }\r\n }\r\n }, [showError, setError, errorMsg, errMessage])\r\n\r\n return (\r\n
\r\n
\r\n

\r\n {title} {optional && (opcjonalne)}{' '}\r\n {helper && }\r\n

\r\n \r\n

{error}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\n// password\r\n\r\ninterface CustomPasswordInputProps extends CustomInputProps {\r\n showRequirements?: boolean\r\n}\r\n\r\ninterface PasswordReqTypes {\r\n [key: string]: boolean\r\n}\r\n\r\nexport const CustomPasswordInput: React.FC = ({\r\n field,\r\n showError,\r\n inputData,\r\n showRequirements = true,\r\n}) => {\r\n const styles = useStyles()\r\n const { title, placeholder, errorMsg } = inputData\r\n const { DIGIT, LETTERS, LENGTH } = passReqNames\r\n\r\n const [visible, setVisible] = useState(false)\r\n const [passwordReq, setPasswordReq] = useState({\r\n [DIGIT]: false,\r\n [LETTERS]: false,\r\n [LENGTH]: false,\r\n })\r\n\r\n const check = useCallback((value: string, type: string): boolean => {\r\n return PasswordRequirements[type].regex.test(value)\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (field.value) {\r\n setPasswordReq({\r\n digit: check(field.value, DIGIT),\r\n letters: check(field.value, LETTERS),\r\n length: check(field.value, LENGTH),\r\n })\r\n } else {\r\n setPasswordReq({\r\n digit: false,\r\n letters: false,\r\n length: false,\r\n })\r\n }\r\n }, [field.value, field.name, check, DIGIT, LETTERS, LENGTH])\r\n\r\n return (\r\n
\r\n
\r\n

{title}

\r\n \r\n

{errorMsg()}

\r\n
\r\n
\r\n
\r\n \r\n {\r\n field.value && setVisible(prev => !prev)\r\n }}\r\n >\r\n {visible ? : }\r\n
\r\n
\r\n {showRequirements && (\r\n
\r\n {Object.keys(PasswordRequirements).map(name => {\r\n const requirement = PasswordRequirements[name]\r\n return (\r\n
\r\n {passwordReq[name] ? : }\r\n \r\n {requirement.title}\r\n

\r\n
\r\n )\r\n })}\r\n
\r\n )}\r\n \r\n )\r\n}\r\n\r\n// pesel/nip\r\n\r\ninterface PeselOrNipProps {\r\n setFieldValue: (field: string, value: any) => void\r\n fieldData: {\r\n field: FieldInputProps\r\n input: TaxInputType\r\n }\r\n showError: boolean\r\n accType: string\r\n errMessage?: string\r\n}\r\n\r\nexport const PeselOrNipInput: React.FC = ({\r\n setFieldValue,\r\n fieldData,\r\n showError,\r\n accType,\r\n errMessage,\r\n}) => {\r\n const styles = useStyles()\r\n const { COMMERCIAL, INDIVIDUAL, NOT_SELECTED } = accountTypes\r\n const { ACCOUNT_TYPE, TAX_NUMBER } = fieldNames\r\n\r\n const [error, setError] = useState('')\r\n const [accountType, setAccountType] = useState(accType)\r\n\r\n const { field, input } = fieldData\r\n const title = input.title(accountType)\r\n const placeholder = input.placeholder(accountType)\r\n\r\n useEffect(() => {\r\n setError(input.errorMsg(accountType))\r\n if (showError && field.value) {\r\n setError(input.errorMsg(accountType))\r\n }\r\n }, [accountType, field.value, showError, setError, input])\r\n\r\n useEffect(() => {\r\n if (\r\n showError &&\r\n errMessage &&\r\n errMessage !== input.errorMsg(INDIVIDUAL) &&\r\n errMessage !== input.errorMsg(COMMERCIAL) &&\r\n errMessage !== input.errorMsg(NOT_SELECTED)\r\n ) {\r\n setError(errMessage)\r\n }\r\n }, [showError, errMessage, input, COMMERCIAL, INDIVIDUAL, NOT_SELECTED])\r\n\r\n useEffect(() => {\r\n setAccountType(accType)\r\n }, [accType])\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

{title}

\r\n \r\n

{error}

\r\n
\r\n
\r\n {accountType !== NOT_SELECTED && (\r\n {\r\n setFieldValue(ACCOUNT_TYPE, NOT_SELECTED)\r\n setAccountType(NOT_SELECTED)\r\n setFieldValue(TAX_NUMBER, '')\r\n }}\r\n >\r\n ZMIEŃ\r\n \r\n )}\r\n
\r\n\r\n \r\n
\r\n {\r\n setFieldValue(ACCOUNT_TYPE, INDIVIDUAL)\r\n setAccountType(INDIVIDUAL)\r\n }}\r\n >\r\n Prywatne\r\n \r\n

LUB

\r\n {\r\n setFieldValue(ACCOUNT_TYPE, COMMERCIAL)\r\n setAccountType(COMMERCIAL)\r\n }}\r\n >\r\n Firmowe\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport waves from '@images/polenergiaWaves.png'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nexport const MFA_MODAL_WIDTH = 820\r\nexport const MFA_MODAL_HEIGHT = 720\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n newPasswordContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n flexDirection: 'column',\r\n maxWidth: '720px',\r\n width: '100%',\r\n margin: '32px',\r\n padding: '68px 48px',\r\n borderRadius: '7px',\r\n backgroundColor: theme.palette.common.white,\r\n boxShadow:\r\n '0 7px 9px 3px rgba(105,105,105,0.03), 0 2px 3px 0 rgba(66,65,65,0.5)',\r\n\r\n backgroundSize: '100% 36%',\r\n backgroundPosition: 'bottom',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundImage: `url(\"${waves}\")`,\r\n\r\n '& h1': {\r\n margin: '0 0 12px',\r\n fontSize: 30,\r\n letterSpacing: '0.29px',\r\n lineHeight: '38px',\r\n textAlign: 'center',\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n '& h2': {\r\n width: '80%',\r\n margin: '0 auto 32px',\r\n fontSize: 18,\r\n fontWeight: theme.typography.fontWeightLight,\r\n letterSpacing: '0.05px',\r\n lineHeight: '23px',\r\n textAlign: 'center',\r\n },\r\n\r\n [theme.breakpoints.down('md')]: {\r\n padding: '48px',\r\n margin: '32px',\r\n backgroundSize: '100% 32%',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& h2': {\r\n width: '90%',\r\n },\r\n backgroundSize: '100% 31%',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n padding: '36px 24px',\r\n margin: '24px',\r\n backgroundImage: 'none',\r\n '& h2': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n icon: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n margin: '0 0 44px',\r\n width: '140px',\r\n height: '140px',\r\n borderRadius: '50%',\r\n backgroundColor: theme.palette.primary.main + colorOpacityParser(13),\r\n '& svg': {\r\n width: '56px',\r\n height: '56px',\r\n color: theme.palette.primary.dark,\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: '120px',\r\n height: '120px',\r\n margin: '0 0 32px',\r\n '& svg': {\r\n width: '52px',\r\n height: '52px',\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100px',\r\n height: '100px',\r\n margin: '0 0 24px',\r\n '& svg': {\r\n width: '44px',\r\n height: '44px',\r\n },\r\n },\r\n },\r\n formContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n },\r\n button: {\r\n alignSelf: 'center',\r\n width: '240px',\r\n height: '48px',\r\n fontSize: 17,\r\n margin: '16px 0 0',\r\n\r\n [theme.breakpoints.down('md')]: {\r\n margin: '16px 0 0',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n margin: '16px 0 0',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n margin: '16px 0 0',\r\n width: '100%',\r\n },\r\n },\r\n wrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n '&:not(:first-child)': {\r\n paddingLeft: theme.spacing(15),\r\n },\r\n '&:not(:last-child)': {\r\n paddingRight: theme.spacing(15),\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n paddingTop: theme.spacing(10.5),\r\n paddingBottom: theme.spacing(12),\r\n },\r\n contentWrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n paddingLeft: theme.spacing(15),\r\n paddingRight: theme.spacing(15),\r\n paddingTop: theme.spacing(10.5),\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n },\r\n input: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '0 16px 0 20px',\r\n height: '50px',\r\n border: '1.7px solid #D3CFCF',\r\n borderRadius: '7px',\r\n backgroundColor: '#f9f9f9',\r\n color: theme.palette.text.secondary,\r\n fontSize: 16,\r\n fontWeight: 600,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '25px',\r\n overflow: 'hidden',\r\n transition: 'border 0.2s ease-in-out',\r\n },\r\n error: {\r\n border: `1.7px solid ${theme.palette.error.main}`,\r\n },\r\n titlesAndButton: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-start',\r\n },\r\n\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(2),\r\n },\r\n paragraph: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n paragraphBold: {\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n buttonsWrapper: {\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n secondField: {\r\n marginTop: theme.spacing(5),\r\n },\r\n spacer: {\r\n width: '100%',\r\n height: 1.8,\r\n backgroundColor: '#5F76FD1A',\r\n marginTop: theme.spacing(6),\r\n marginBottom: theme.spacing(4),\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(0, 16),\r\n },\r\n messageWrapper: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n changeButton: {\r\n textDecoration: 'none',\r\n border: 'none',\r\n backgroundColor: 'transparent',\r\n color: theme.palette.primary.main,\r\n padding: 0,\r\n marginTop: '2px',\r\n fontSize: 13,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.09px',\r\n outline: 'none',\r\n cursor: 'pointer',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n label: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n alignItems: 'left',\r\n textAlign: 'left',\r\n minHeight: '17px',\r\n margin: '0 0 4px 20px',\r\n '& p': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n gap: '3.5px',\r\n marginRight: '8px',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.text.primary,\r\n letterSpacing: '0.08px',\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n '& span': {\r\n opacity: 0.25,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 10,\r\n },\r\n },\r\n },\r\n '& div > p': {\r\n margin: 0,\r\n fontSize: 12,\r\n color: theme.palette.error.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '16px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n marginLeft: 0,\r\n },\r\n },\r\n modalWrapper: {\r\n width: `${MFA_MODAL_WIDTH}px !important`,\r\n maxWidth: '90vw',\r\n maxHeight: `${MFA_MODAL_HEIGHT}px`,\r\n [theme.breakpoints.down('sm')]: {\r\n overflowY: 'auto',\r\n },\r\n },\r\n numericInput: {\r\n '& > div > input[type=\"number\"]': {\r\n '&::-webkit-inner-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '&::-webkit-outer-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '-moz-appearance': 'textfield',\r\n },\r\n },\r\n}))\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ-5\",\n transform: \"translate(-771.000000, -306.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-16\",\n transform: \"translate(447.000000, 206.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"online-marketing-hIgeoQjS_iE-unsplash\",\n transform: \"translate(272.000000, 30.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"wyslano_wiadomosc\",\n transform: \"translate(52.210526, 70.736842)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.576195,1.42312796 C103.576195,1.34369756 103.576195,1.26426716 103.576195,1.17821756 C103.573012,1.15848987 103.573012,1.13837246 103.576195,1.11864477 C103.576195,1.11864477 103.576195,1.05907197 103.576195,1.02597597 C103.578947,1.00406736 103.578947,0.981692581 103.576195,0.95978397 C103.578947,0.928963783 103.578947,0.89793536 103.576195,0.867115173 C103.576195,0.867115173 103.576195,0.867115173 103.576195,0.867115173 L103.536839,0.781065576 C103.504043,0.721492778 103.477805,0.661919979 103.445009,0.608966381 C103.412212,0.556012783 103.445009,0.608966381 103.445009,0.608966381 L103.405653,0.556012783 C103.365196,0.500392991 103.321384,0.447339068 103.274467,0.397151988 L103.215433,0.33095999 L103.156399,0.278006391 L103.110484,0.278006391 L102.998975,0.185337594 L102.95962,0.185337594 C102.89567,0.139310248 102.827594,0.099421243 102.756281,0.0661919979 L102.756281,0.0661919979 L102.684128,0.0661919979 L102.493908,0 L102.402078,0 L102.316807,0 L102.126587,0 L101.956044,0 L7.23954333,0 L7.06900116,0 L7.01652664,0 L6.93125555,0 L6.83942515,0 L6.64920503,0.0661919979 L6.57705257,0.0661919979 L6.57705257,0.0661919979 C6.50573934,0.099421243 6.43766313,0.139310248 6.37371382,0.185337594 L6.33435793,0.185337594 L6.22284959,0.278006391 L6.17693439,0.278006391 L6.11790056,0.33095999 L6.05886673,0.397151988 C6.01194925,0.447339068 5.96813764,0.500392991 5.92768044,0.556012783 L5.88832455,0.608966381 L5.88832455,0.608966381 C5.88832455,0.661919979 5.82929072,0.721492778 5.79649415,0.781065576 L5.75713826,0.867115173 C5.75713826,0.867115173 5.75713826,0.867115173 5.75713826,0.867115173 C5.75438596,0.89793536 5.75438596,0.928963783 5.75713826,0.95978397 C5.75438596,0.981692581 5.75438596,1.00406736 5.75713826,1.02597597 C5.75713826,1.02597597 5.75713826,1.08554877 5.75713826,1.11864477 C5.76032148,1.13837246 5.76032148,1.15848987 5.75713826,1.17821756 C5.75713826,1.26426716 5.75713826,1.34369756 5.75713826,1.42312796 L5.75713826,66.0860907 C5.75713826,67.0000115 6.49131454,67.7408907 7.39696688,67.7408907 L101.936366,67.7408907 C102.842019,67.7408907 103.576195,67.0000115 103.576195,66.0860907 L103.576195,1.42312796 L103.576195,1.42312796 Z\",\n id: \"Path\",\n fillOpacity: 0.2,\n fill: \"#48A9A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.8245614,8.65793923 C97.8245614,8.57191781 97.8245614,8.49251343 97.8245614,8.41310904 C97.8213778,8.39338781 97.8213778,8.37327698 97.8245614,8.35355575 C97.8245614,8.32047059 97.8245614,8.28738543 97.8245614,8.25430026 L97.8245614,8.18812994 C97.8245614,8.18812994 97.8245614,8.12857665 97.8245614,8.09549149 C97.8245614,8.06240633 97.8245614,8.09549149 97.8245614,8.09549149 L97.7852013,8.00947007 L97.6933609,7.83742723 L97.6933609,7.83742723 L97.6540008,7.78449097 L97.5228003,7.6256822 L97.46376,7.56612891 L97.4047198,7.50657562 L97.3587996,7.47349046 L97.2472792,7.38085201 L97.2079191,7.38085201 C97.1423307,7.33944613 97.0744312,7.30188735 97.0045583,7.26836246 L97.0045583,7.26836246 L97.0045583,7.26836246 L96.932398,7.26836246 C96.870986,7.24251038 96.8072892,7.22257063 96.7421573,7.20880917 L96.6503169,7.20880917 L96.5650366,7.20880917 L96.5191164,7.20880917 L96.3485558,7.20880917 L1.47747513,7.20880917 L1.30691448,7.20880917 L1.2609943,7.20880917 L1.18227401,7.20880917 C1.14954627,7.20570059 1.11660137,7.20570059 1.08387363,7.20880917 C1.0187417,7.22257063 0.955044911,7.24251038 0.893632908,7.26836246 L0.821472634,7.26836246 L0.821472634,7.26836246 L0.821472634,7.26836246 C0.751599693,7.30188735 0.683700202,7.33944613 0.618111861,7.38085201 L0.578751711,7.38085201 L0.467231287,7.47349046 L0.421311113,7.50657562 L0.362270888,7.56612891 L0.303230664,7.6256822 L0.17859019,7.78449097 L0.132670015,7.83742723 C0.132670015,7.83742723 0.132670015,7.83742723 0.132670015,7.83742723 L0.0408296661,8.00947007 L0.00146951648,8.09549149 C0.00146951648,8.09549149 0.00146951648,8.09549149 0.00146951648,8.09549149 C-0.000489838827,8.12633305 -0.000489838827,8.15728838 0.00146951648,8.18812994 C-0.000489838827,8.21010801 -0.000489838827,8.2323222 0.00146951648,8.25430026 C0.00146951648,8.25430026 0.00146951648,8.32047059 0.00146951648,8.35355575 C0.00465307725,8.37327698 0.00465307725,8.39338781 0.00146951648,8.41310904 C0.00146951648,8.49251343 0.00146951648,8.57191781 0.00146951648,8.65793923 L0.00146951648,73.2931104 C0.00146951648,74.2067319 0.735725318,74.9473684 1.64147575,74.9473684 L96.1845552,74.9473684 C97.0903056,74.9473684 97.8245614,74.2067319 97.8245614,73.2931104 L97.8245614,8.65793923 Z M31.5683095,38.6926487 L3.11748136,68.1119741 L3.11748136,12.4825839 L31.5683095,38.6926487 Z M33.9889587,40.9292056 L47.7650111,53.6206734 C48.392378,54.1938472 49.3483726,54.1938472 49.9757395,53.6206734 L63.7517919,40.9292056 L93.4424647,71.6388523 L4.27860578,71.6388523 L33.9889587,40.9292056 Z M66.1330809,38.6926487 L94.5445489,12.4825839 L94.5445489,68.1384422 L66.1330809,38.6926487 Z M91.9861392,10.3518995 L48.8474152,50.1599656 L5.69557116,10.3518995 L91.9861392,10.3518995 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}))))));\n\nvar SvgConfirmMailAcc = function SvgConfirmMailAcc(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"105px\",\n height: \"76px\",\n viewBox: \"0 0 105 76\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgConfirmMailAcc, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ConfirmMailAcc.329d7099.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { Fade, makeStyles, Theme } from '@material-ui/core'\r\nimport { ReactComponent as EmailSvg } from '@images/icons/other/ConfirmMailAcc.svg'\r\nimport { BackgroundWrapper } from '../../shared/BackgroundWrapper'\r\nimport StyledButton from '../../shared/components/Button'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport { Link, useLocation } from 'react-router-dom'\r\nimport { isEmpty, unnest, values } from 'ramda'\r\nimport { ErrorMsg } from './static-data/RegisterData'\r\nimport { ConfirmEmailRequest, Contact } from '@shared/contracts/models'\r\nimport waves from '@images/polenergiaWaves.png'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n flexDirection: 'column',\r\n maxWidth: '720px',\r\n padding: '68px 92px',\r\n margin: '32px',\r\n borderRadius: '7px',\r\n backgroundColor: theme.palette.common.white,\r\n boxShadow:\r\n '0 7px 9px 3px rgba(105,105,105,0.03), 0 2px 3px 0 rgba(66,65,65,0.5)',\r\n\r\n backgroundSize: '100% 35%',\r\n backgroundPosition: 'bottom',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundImage: `url(\"${waves}\")`,\r\n\r\n '& h1': {\r\n margin: '0 0 16px',\r\n fontSize: 35,\r\n textAlign: 'center',\r\n letterSpacing: '0.29px',\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n '& h3': {\r\n width: '100%',\r\n margin: '0 auto 52px',\r\n fontSize: 18,\r\n textAlign: 'center',\r\n letterSpacing: '0.05px',\r\n color: theme.palette.text.primary,\r\n fontWeight: theme.typography.fontWeightLight,\r\n '& span ': {\r\n color: theme.palette.primary.main,\r\n fontWeight: 700,\r\n },\r\n },\r\n '& h4': {\r\n width: '100%',\r\n margin: '0 auto 12px',\r\n fontSize: 16,\r\n textAlign: 'center',\r\n letterSpacing: '0.05px',\r\n color: theme.palette.error.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '36px 24px',\r\n margin: '24px 44px',\r\n '& h1': {\r\n fontSize: 31,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n margin: '24px',\r\n backgroundImage: 'none',\r\n '& h1': {\r\n fontSize: 28,\r\n },\r\n '& h3': {\r\n width: '100%',\r\n fontSize: 16,\r\n margin: '0 0 16px',\r\n },\r\n },\r\n },\r\n icon: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n margin: '0 0 36px',\r\n width: '120px',\r\n height: '120px',\r\n borderRadius: '50%',\r\n backgroundColor: theme.palette.primary.main + colorOpacityParser(13),\r\n '& svg': {\r\n width: '68px',\r\n height: '68px',\r\n color: theme.palette.primary.dark,\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100px',\r\n height: '100px',\r\n margin: '0 0 28px',\r\n '& svg': {\r\n width: '52px',\r\n height: '52px',\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '80px',\r\n height: '80px',\r\n margin: '0 0 20px',\r\n '& svg': {\r\n width: '48px',\r\n height: '48px',\r\n },\r\n },\r\n },\r\n errors: {\r\n marginBottom: '4px',\r\n },\r\n linkButton: {\r\n margin: '24px 0 0',\r\n width: '280px',\r\n '& button': {\r\n width: '100%',\r\n height: '48px',\r\n fontSize: 17,\r\n fontWeight: 700,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& button': {\r\n fontSize: 15,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n '& button': {\r\n height: '42px',\r\n fontSize: 14,\r\n },\r\n },\r\n\r\n textDecoration: 'none',\r\n outline: 'none',\r\n },\r\n}))\r\n\r\nexport const EmailConfirmationPage: React.FC = () => {\r\n const styles = useStyles()\r\n const search = useLocation().search\r\n const [errorMessages, setErrorMessages] = useState([])\r\n const [contact, setContact] = useState({ phone: '', mail: '' })\r\n\r\n const { t } = useTranslation()\r\n\r\n const [executeGetContactDetails] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'get',\r\n url: 'Content/contactDetails',\r\n },\r\n })\r\n const getContactDetails = useCallback(async () => {\r\n const res = await executeGetContactDetails()\r\n const [contactDetails] = res.data\r\n setContact({\r\n phone: contactDetails.phoneNumber ?? '',\r\n mail: contactDetails.email ?? '',\r\n })\r\n }, [executeGetContactDetails])\r\n\r\n const [executeConfirmEmail, loading] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/confirmEmail',\r\n },\r\n })\r\n\r\n const confirmEmail = useCallback(\r\n async (data: ConfirmEmailRequest) => {\r\n try {\r\n await executeConfirmEmail({ data: data })\r\n } catch (err) {\r\n getContactDetails()\r\n if (!err.status || err.status === 500) {\r\n setErrorMessages([err.response.message])\r\n } else {\r\n const errors = err.response\r\n ? values(err.response)\r\n : [ErrorMsg.noConnectionOrServerError]\r\n setErrorMessages(unnest(errors))\r\n }\r\n }\r\n },\r\n [executeConfirmEmail, getContactDetails]\r\n )\r\n\r\n useEffect(() => {\r\n const query = new URLSearchParams(search)\r\n const data = {\r\n userId: query.get('userId') || '',\r\n clientId: query.get('clientId') || '',\r\n token: query.get('token') || '',\r\n }\r\n confirmEmail(data)\r\n }, [confirmEmail, search])\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {isEmpty(errorMessages) ? (\r\n <>\r\n

{t('EMAIL_CONFIRMATION_PAGE.TITLE')}

\r\n

{t('EMAIL_CONFIRMATION_PAGE.SUBTITLE')}

\r\n \r\n ) : (\r\n <>\r\n

{t('EMAIL_CONFIRMATION_PAGE.NEW_ACC_ERROR_TITLE')}

\r\n
\r\n {errorMessages.map((err, i) => {\r\n return

{err}

\r\n })}\r\n
\r\n

\r\n {t('EMAIL_CONFIRMATION_PAGE.CONTACT_WITH_SERVICE')}:{' '}\r\n {contact.phone}\r\n

\r\n

\r\n {t('EMAIL_CONFIRMATION_PAGE.MAIL_CONTACT')}:{' '}\r\n {contact.mail}\r\n

\r\n \r\n )}\r\n \r\n \r\n {isEmpty(errorMessages)\r\n ? t('EMAIL_CONFIRMATION_PAGE.LOGIN')\r\n : t('EMAIL_CONFIRMATION_PAGE.BACK_TO_LOGIN')}\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import { InitialFieldsType } from '../components/Register'\r\nimport { toPairs } from 'ramda'\r\nimport { AdditionalValidationType, fieldNames } from '../static-data/RegisterData'\r\nconst { PASSWORD, INVOICE_VALUE } = fieldNames\r\n\r\nexport const extractFormValues = (\r\n values: InitialFieldsType\r\n): InitialFieldsType => {\r\n const AcceptedConsentIds: Array = []\r\n let restValues: InitialFieldsType = {}\r\n\r\n toPairs(values).forEach(([fieldName, value]) => {\r\n if (typeof value === 'boolean' && value) {\r\n AcceptedConsentIds.push(fieldName)\r\n } else {\r\n restValues[fieldName] = value\r\n }\r\n })\r\n\r\n return {\r\n ...restValues,\r\n AcceptedConsentIds,\r\n ClientId: 'mBok_web',\r\n ConfirmedPassword: values[PASSWORD],\r\n AdditionalValidationType: values[INVOICE_VALUE] === \"\" ? AdditionalValidationType.SEND_TOKEN.toString() : AdditionalValidationType.SEND_INVOICE.toString()\r\n }\r\n}\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { getFileName } from '@shared/utils/fileNameFromContentDisposition'\r\n\r\nimport { saveAs } from 'file-saver'\r\nimport { useCallback, useState } from 'react'\r\n\r\nexport const useSavePdf = () => {\r\n const [get] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n responseType: 'blob',\r\n },\r\n })\r\n\r\n const [downloadingUrls, setDownloadingUrls] = useState<{\r\n [url: string]: Boolean\r\n }>({})\r\n\r\n const setDownloadingState = useCallback(\r\n (url: string, state: boolean) => {\r\n setDownloadingUrls({\r\n ...downloadingUrls,\r\n [url]: state,\r\n })\r\n },\r\n [downloadingUrls]\r\n )\r\n\r\n return useCallback(\r\n (\r\n url: string,\r\n downloadBtnRenderer: (\r\n loading: boolean,\r\n saveFunction: () => void\r\n ) => React.ReactNode,\r\n documentName?: string\r\n ) => {\r\n const saveFn = () => {\r\n setDownloadingState(url, true)\r\n get({\r\n url,\r\n }).then(response => {\r\n let fileName = documentName\r\n if (!documentName) {\r\n fileName = getFileName(response)\r\n }\r\n saveAs(response.data, fileName + '.pdf')\r\n setDownloadingState(url, false)\r\n })\r\n }\r\n\r\n return downloadBtnRenderer(!!downloadingUrls[url], saveFn)\r\n },\r\n [downloadingUrls, get, setDownloadingState]\r\n )\r\n}\r\n","import { AxiosResponse } from 'axios'\r\n\r\nexport const getFileName = (response: AxiosResponse) => {\r\n const contentDisposition = response.headers['content-disposition']\r\n const filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/\r\n const matches = filenameRegex.exec(contentDisposition)\r\n if (matches != null && matches[1]) {\r\n return matches[1].replace(/['\"]/g, '')\r\n }\r\n return ''\r\n}\r\n","import {\r\n Checkbox,\r\n Collapse,\r\n makeStyles,\r\n Theme,\r\n withStyles,\r\n withTheme,\r\n} from '@material-ui/core'\r\nimport React, { useMemo, useState } from 'react'\r\nimport { ReactComponent as CheckedSvg } from '@images/icons/checkbox/Checked.svg'\r\nimport { ReactComponent as UncheckedSvg } from '@images/icons/checkbox/Unchecked.svg'\r\nimport { useSavePdf } from '@shared/hooks/pdfSaver'\r\nimport { DocumentType } from '@shared/contracts/models'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { inputBackgroundColor } from '@mbok/styles/constants'\r\n\r\nexport const StyledCheckbox = withStyles((theme: Theme) => ({\r\n root: {\r\n height: '22px',\r\n width: '22px',\r\n padding: 0,\r\n borderRadius: '4px',\r\n backgroundColor: inputBackgroundColor,\r\n },\r\n}))(withTheme(Checkbox))\r\n\r\nexport default StyledCheckbox\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n margin: theme.spacing(0, 0, 3),\r\n cursor: 'pointer',\r\n },\r\n consentContainer: {\r\n margin: theme.spacing(0, 3),\r\n fontSize: 14,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.1px',\r\n transition: 'color 0.2s ease-in-out',\r\n '& p': {\r\n margin: theme.spacing(2, 0, 4),\r\n opacity: 0.75,\r\n fontSize: 11,\r\n },\r\n },\r\n spanHover: {\r\n opacity: 1,\r\n cursor: 'pointer',\r\n fontWeight: 700,\r\n color: theme.palette.primary.main,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n optionalConsent: {\r\n opacity: 0.35,\r\n color: theme.palette.text.primary,\r\n },\r\n error: {\r\n color: theme.palette.error.main,\r\n },\r\n}))\r\n\r\ninterface ConsentsCheckboxProps {\r\n field: {\r\n name: string\r\n value: boolean\r\n }\r\n showError: boolean\r\n mandatory?: boolean\r\n documentFile?: string\r\n documentContent?: string\r\n documentTitle?: string\r\n documentType?: DocumentType\r\n}\r\n\r\nexport const ConsentsCheckbox: React.FC = ({\r\n field,\r\n showError,\r\n documentTitle,\r\n mandatory = false,\r\n documentFile,\r\n documentContent,\r\n documentType,\r\n}) => {\r\n const styles = useStyles()\r\n const [show, setShow] = useState(false)\r\n\r\n const savePdf = useSavePdf()\r\n const { t } = useTranslation()\r\n\r\n const optionalConsentTitle = useMemo(() => {\r\n switch (documentType) {\r\n case 'ElectronicContact':\r\n return t(\r\n 'MY_SETTINGS.MARKETING_COMMUNICATION_CONSENTS.ELECTRONIC_CONTACT'\r\n )\r\n case 'PhoneContact':\r\n return t('MY_SETTINGS.MARKETING_COMMUNICATION_CONSENTS.PHONE_CONTACT')\r\n default:\r\n return ''\r\n }\r\n }, [documentType, t])\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\n\r\nconst ICON_SIZE = 24\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '98%',\r\n maxWidth: '98%',\r\n margin: '0 auto 24px',\r\n padding: '20px',\r\n borderRadius: '7px',\r\n boxShadow:\r\n '0px 5px 9px 3px rgba(105, 105, 105, 0.03), 0px 1px 6px 3px rgba(74, 73, 73, 0.03), 0px 3px 3px rgba(66, 65, 65, 0.05)',\r\n '&:last-child': {\r\n marginBottom: 0,\r\n },\r\n },\r\n section: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: '12px',\r\n },\r\n icon: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n '& svg': {\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n },\r\n padding: theme.spacing(1),\r\n marginRight: theme.spacing(3),\r\n borderRadius: 4,\r\n backgroundColor: '#F2F3F41A',\r\n boxShadow: '0 2px 4px 0 rgba(0,0,0,0.05)',\r\n [theme.breakpoints.down('xs')]: {\r\n '& svg': {\r\n width: ICON_SIZE - 4,\r\n height: ICON_SIZE - 4,\r\n },\r\n marginRight: theme.spacing(2),\r\n },\r\n },\r\n collectionPoint: {\r\n '& h5': {\r\n margin: 0,\r\n fontSize: 14,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '1.03px',\r\n },\r\n '& h2': {\r\n margin: 0,\r\n fontSize: 18,\r\n fontWeight: 800,\r\n letterSpacing: '1.32px',\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n '& h2': {\r\n fontSize: 16,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& h5': {\r\n fontSize: 12,\r\n },\r\n '& h2': {\r\n fontSize: 12,\r\n },\r\n },\r\n },\r\n address: {\r\n margin: 0,\r\n fontSize: 18,\r\n fontWeight: theme.typography.fontWeightLight,\r\n letterSpacing: '0.89px',\r\n [theme.breakpoints.down('md')]: {\r\n fontSize: 16,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 14,\r\n },\r\n },\r\n}))\r\n","import i18n from '@i18n/index'\r\nimport React, { useMemo } from 'react'\r\n\r\nconst wrappedSpan = {\r\n display: '-webkit-box',\r\n WebkitBoxOrient: 'vertical',\r\n WebkitLineClamp: 2,\r\n overflow: 'hidden',\r\n whiteSpace: 'normal',\r\n} as React.CSSProperties\r\n\r\nexport const AddressParser: React.FC<{\r\n a1?: string | null\r\n a2?: string | null\r\n}> = ({ a1 = '', a2 = '' }) => {\r\n const a1Line = useMemo(\r\n () =>\r\n a1 && (\r\n \r\n {typeof a1 === 'string' && a1?.startsWith('inne') ? a1.replace(i18n().t('PREFIXES.OTHER_STREET_TYPE'), '') : `${a1}`}\r\n \r\n ),\r\n [a1]\r\n )\r\n\r\n return (\r\n <>\r\n {Boolean(a1) || Boolean(a2) ? (\r\n <>\r\n {a1Line}\r\n {a2 && {a2}}\r\n \r\n ) : (\r\n <>{i18n().t('MY_SETTINGS.NOT_PROVIDED')}\r\n )}\r\n \r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-collectionPt,.cls-2-collectionPt{fill:#48a9a1;}.cls-1-collectionPt{opacity:0.2;}.cls-3-collectionPt{fill:#5c5c5c;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_punkt_odbioru\",\n \"data-name\": \"Ikonka punkt odbioru\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-1-collectionPt\",\n cx: 10.38,\n cy: 9.15,\n r: 4.43\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2-collectionPt\",\n d: \"M10.38,2.19A6.75,6.75,0,0,0,3.63,8.94c0,4.64,4.68,9.78,6.39,11.24a.59.59,0,0,0,.73,0c1.7-1.46,6.39-6.6,6.39-11.24A6.76,6.76,0,0,0,10.38,2.19ZM9.21,13a4.05,4.05,0,1,1,5.06-2.7A4.05,4.05,0,0,1,9.21,13Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-collectionPt\",\n d: \"M11.62,1.32A7.09,7.09,0,0,0,5.71,4.46a.37.37,0,0,0,.1.52.38.38,0,0,0,.52-.1A6.37,6.37,0,0,1,18,8.44c0,4.68-4.93,9.83-6.25,11a.2.2,0,0,1-.25,0,23.15,23.15,0,0,1-3.31-3.71.38.38,0,0,0-.61.44A23.42,23.42,0,0,0,11,20a.91.91,0,0,0,1.21,0c2.13-1.81,6.52-7,6.52-11.52A7.12,7.12,0,0,0,11.62,1.32Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-collectionPt\",\n d: \"M12.41,13A4.43,4.43,0,1,0,7.25,9.45,4.43,4.43,0,0,0,12.41,13Zm-4.11-6a3.68,3.68,0,1,1,4,5.22,3.68,3.68,0,0,1-4-5.22Z\"\n}));\n\nvar SvgCollectionPoint = function SvgCollectionPoint(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCollectionPoint, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CollectionPoint.af4a5d70.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport useStyles from './MeasurementPoint.style'\r\nimport { AddressParser } from '@shared/components/AddressParser'\r\nimport { ReactComponent as MeasurementPointSvg } from '@images/icons/other/CollectionPoint.svg'\r\n\r\ninterface MeasurementPointProps {\r\n number?: string\r\n name?: string\r\n addressLine1?: string\r\n addressLine2?: string\r\n}\r\n\r\nexport const MeasurementPoint: React.FC = ({\r\n number,\r\n name,\r\n addressLine1,\r\n addressLine2,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{name ? 'Nazwa punktu poboru' : 'Numer punktu poboru'}
\r\n

{name ?? number}

\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n )\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport {\r\n Button,\r\n Collapse,\r\n createStyles,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n makeStyles,\r\n Theme,\r\n} from '@material-ui/core'\r\nimport {\r\n MeasurementPointListItem,\r\n MeasurementPointsDetails,\r\n} from '@shared/contracts/models'\r\nimport { reduce, compose, keys, pickBy, isEmpty } from 'ramda'\r\nimport StyledCheckbox from '@shared/components/Checkbox'\r\nimport { accountTypes } from '../../static-data/RegisterData'\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess'\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore'\r\nimport { textSecondaryColor } from '@mbok/styles/constants'\r\nimport MeasurementPoint from '@shared/components/MeasurementPoint'\r\nimport { ReactComponent as CheckedSvg } from '@images/icons/checkbox/Checked.svg'\r\nimport { ReactComponent as UncheckedSvg } from '@images/icons/checkbox/Unchecked.svg'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n dialog: {\r\n '& .MuiPaper-root': {\r\n padding: theme.spacing(7, 5),\r\n },\r\n },\r\n title: {\r\n padding: theme.spacing(0, 2),\r\n textAlign: 'center',\r\n marginBottom: theme.spacing(5),\r\n color: theme.palette.error.main,\r\n '& h2': {\r\n fontSize: 16,\r\n letterSpacing: 0.55,\r\n fontWeight: 700,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& h2': {\r\n fontSize: 14,\r\n },\r\n },\r\n },\r\n content: {\r\n padding: theme.spacing(0, 1),\r\n },\r\n detailsContainer: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n padding: theme.spacing(5, 0),\r\n borderTop: '1.8px solid #E2E8ED',\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n label: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n cursor: 'pointer',\r\n '& p': {\r\n margin: theme.spacing(0, 7, 0, 4),\r\n fontWeight: 800,\r\n fontSize: 14,\r\n letterSpacing: 0.08,\r\n },\r\n '& span': {\r\n fontSize: 18,\r\n color: textSecondaryColor,\r\n letterSpacing: 0.13,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& p': {\r\n margin: theme.spacing(0, 5, 0, 3),\r\n },\r\n '& span': {\r\n fontSize: 16,\r\n },\r\n },\r\n },\r\n toggler: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.primary.main,\r\n cursor: 'pointer',\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n '& p': {\r\n margin: 0,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(2, 0, 0),\r\n },\r\n },\r\n buttonsContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n padding: theme.spacing(6, 0, 0),\r\n '& button': {\r\n fontSize: 17,\r\n textAlign: 'center',\r\n letterSpacing: 0.31,\r\n fontWeight: theme.typography.fontWeightBold,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 14,\r\n },\r\n '&:first-child': {\r\n padding: theme.spacing(2, 4),\r\n marginBottom: theme.spacing(3),\r\n borderRadius: 24,\r\n color: theme.palette.common.white,\r\n },\r\n '&:last-child': {\r\n padding: theme.spacing(1),\r\n margin: 0,\r\n color: theme.palette.primary.main,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n backgroundColor: 'transparent',\r\n },\r\n },\r\n textTransform: 'unset',\r\n },\r\n },\r\n footer: {\r\n marginBottom: theme.spacing(3),\r\n '& p': {\r\n margin: 0,\r\n fontSize: 14,\r\n letterSpacing: 0.1,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n '& span': {\r\n cursor: 'pointer',\r\n color: theme.palette.primary.main,\r\n fontWeight: 700,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n },\r\n })\r\n)\r\n\r\ninterface CustomerNumberSelectionModalProps {\r\n accType: string\r\n customerNumbersDetails: MeasurementPointsDetails[]\r\n setSelectedCustomerNumbers: (customerNumbers: string[]) => void\r\n selectedNumbers: string[]\r\n}\r\n\r\nexport const CustomerNumberSelectionModal: React.FC = ({\r\n accType,\r\n customerNumbersDetails,\r\n selectedNumbers,\r\n setSelectedCustomerNumbers,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n const [isOpen, setIsOpen] = useState(true)\r\n const [selectedNumbersState, setSelectedNumbersState] = useState(\r\n {} as {\r\n [customerNumber: string]: boolean\r\n }\r\n )\r\n\r\n const { COMMERCIAL } = accountTypes\r\n const NIPorPESEL = accType === COMMERCIAL ? 'NIP' : 'PESEL'\r\n const moreThanOnePoint = customerNumbersDetails.length > 1\r\n\r\n const setDefaultValues = useCallback(() => {\r\n const numbersValues = reduce(\r\n (acc, { customerNumber }) => ({\r\n ...acc,\r\n [customerNumber as string]: selectedNumbers.includes(customerNumber),\r\n }),\r\n {},\r\n customerNumbersDetails\r\n )\r\n setSelectedNumbersState(numbersValues)\r\n }, [customerNumbersDetails, selectedNumbers])\r\n\r\n useEffect(() => {\r\n setDefaultValues()\r\n }, [customerNumbersDetails, selectedNumbers, setDefaultValues])\r\n\r\n const handleClose = (setNumbers: boolean) => {\r\n if (setNumbers) {\r\n const selectedNumbers = compose(\r\n keys,\r\n pickBy(val => !!val)\r\n )(selectedNumbersState)\r\n setSelectedCustomerNumbers(selectedNumbers)\r\n } else {\r\n setDefaultValues()\r\n }\r\n setIsOpen(false)\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setIsOpen(false)\r\n }}\r\n className={styles.dialog}\r\n transitionDuration={500}\r\n >\r\n \r\n Do tego numeru {NIPorPESEL}\r\n {moreThanOnePoint\r\n ? ' przypisane są dodatkowe numery płatnika'\r\n : ' przypisany jest dodatkowy numer płatnika'}\r\n \r\n \r\n {customerNumbersDetails.map(\r\n ({ customerNumber, measurementPointItems }) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n handleClose(true)}\r\n color=\"primary\"\r\n >\r\n Dodaj{moreThanOnePoint ? ' wybrane numery' : ' wybrany numer'}\r\n \r\n \r\n \r\n \r\n
\r\n {isEmpty(selectedNumbers) ? (\r\n

\r\n Do tego numeru {NIPorPESEL}\r\n {moreThanOnePoint\r\n ? ' przypisane są dodatkowe numery płatnika'\r\n : ' przypisany jest dodatkowy numer płatnika'}\r\n {'. '}\r\n {\r\n setIsOpen(true)\r\n }}\r\n >\r\n Dodaj {moreThanOnePoint ? 'numery' : 'numer'}\r\n \r\n

\r\n ) : (\r\n <>\r\n

\r\n Do konta przypisano{' '}\r\n {selectedNumbers.length > 1\r\n ? 'dodatkowe numery'\r\n : 'dodatkowy numer'}{' '}\r\n płatnika.{' '}\r\n {\r\n setIsOpen(true)\r\n }}\r\n >\r\n Zmień wybór\r\n \r\n

\r\n \r\n )}\r\n
\r\n \r\n )\r\n}\r\n\r\ninterface CustomerNumberMeasurementPointsProps {\r\n customerNumber: string\r\n items: MeasurementPointListItem[]\r\n selectedNumbersState: {\r\n [customerNumber: string]: boolean\r\n }\r\n setSelectedNumbersState: React.Dispatch<\r\n React.SetStateAction<{\r\n [customerNumber: string]: boolean\r\n }>\r\n >\r\n}\r\n\r\nexport const CustomerNumberMeasurementPoints: React.FC = ({\r\n customerNumber,\r\n items,\r\n selectedNumbersState,\r\n setSelectedNumbersState,\r\n}) => {\r\n const styles = useStyles()\r\n const [visible, setVisible] = useState(false)\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
setVisible(!visible)}>\r\n {visible ? (\r\n <>\r\n

Schowaj punkty poboru

\r\n \r\n ) : (\r\n <>\r\n

Wyświelt punkty poboru

\r\n \r\n )}\r\n
\r\n
\r\n \r\n {items.map((item, i) => {\r\n const key = item.measurementPointId ? item.measurementPointId + i : i\r\n return \r\n })}\r\n \r\n \r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport { makeStyles, createStyles, Theme } from '@material-ui/core/styles'\r\nimport { Dialog, DialogContent } from '@material-ui/core'\r\nimport StyledButton from '../../../../shared/components/Button'\r\nimport waves from '@images/polenergiaWaves.png'\r\nimport { Link } from 'react-router-dom'\r\nimport { Animation } from '@shared/components/Animation'\r\nimport { AnimationWyslanieSrc } from '@shared/static-data/staticData'\r\n\r\nconst WIDTH = 300\r\nconst HEIGHT = 150\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n contentWrapper: {\r\n backgroundSize: '100% 35%',\r\n backgroundPosition: 'bottom',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundImage: `url(\"${waves}\")`,\r\n [theme.breakpoints.down('xs')]: {\r\n backgroundImage: 'none',\r\n },\r\n },\r\n animation: {\r\n width: WIDTH,\r\n height: HEIGHT,\r\n [theme.breakpoints.down('xs')]: {\r\n width: WIDTH * 0.7,\r\n height: HEIGHT * 0.7,\r\n },\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n textAlign: 'center',\r\n padding: '20px 0 40px',\r\n\r\n '& h1': {\r\n margin: '0 0 16px',\r\n fontSize: 35,\r\n textAlign: 'center',\r\n letterSpacing: '0.29px',\r\n fontWeight: theme.typography.fontWeightRegular,\r\n },\r\n '& h3': {\r\n margin: '0 0 32px',\r\n fontSize: 18,\r\n textAlign: 'center',\r\n letterSpacing: '0.05px',\r\n color: theme.palette.text.primary,\r\n fontWeight: theme.typography.fontWeightLight,\r\n },\r\n '& h2': {\r\n margin: '0 0 56px',\r\n fontSize: 25,\r\n textAlign: 'center',\r\n letterSpacing: '0.17px',\r\n color: theme.palette.text.secondary,\r\n fontWeight: 700,\r\n opacity: 0.55,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '20px 0',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& h1': {\r\n fontSize: 28,\r\n },\r\n '& h3': {\r\n fontSize: 16,\r\n },\r\n '& h2': {\r\n margin: '0 0 24px',\r\n fontSize: 16,\r\n },\r\n },\r\n },\r\n linkButton: {\r\n margin: '24px 0 0',\r\n width: '280px',\r\n '& button': {\r\n width: '100%',\r\n height: '48px',\r\n fontSize: 17,\r\n fontWeight: 700,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& button': {\r\n fontSize: 15,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n margin: '12px 0 0',\r\n '& button': {\r\n height: '38px',\r\n fontSize: 14,\r\n },\r\n },\r\n\r\n textDecoration: 'none',\r\n outline: 'none',\r\n },\r\n })\r\n)\r\n\r\ninterface RegisterConfModalProps {\r\n show: boolean\r\n email: string\r\n}\r\n\r\nexport const RegisterConfirmationModal: React.FC = ({\r\n show,\r\n email,\r\n}) => {\r\n const styles = useStyles()\r\n const [isOpen, setIsOpen] = useState(show)\r\n\r\n return (\r\n \r\n \r\n \r\n

Rejestracja zakończona!

\r\n

Wysłaliśmy Ci email z linkiem aktywacyjnym na adres:

\r\n

{email}

\r\n \r\n setIsOpen(false)}\r\n >\r\n Przejdź do logowania\r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default RegisterConfirmationModal\r\n","import { withStyles, Theme, withTheme } from '@material-ui/core'\r\nimport StyledButton from '@shared/components/Button'\r\n\r\nexport const SubmitButton = withStyles((theme: Theme) => ({\r\n root: {\r\n alignSelf: 'center',\r\n minWidth: '180px',\r\n height: '48px',\r\n fontSize: 17,\r\n marginBottom: '15px',\r\n marginTop: '20px',\r\n padding: '0 40px',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n },\r\n },\r\n}))(withTheme(StyledButton))\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter-1\"\n}, /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"0 0 0 0 0.760784 0 0 0 0 0.878431 0 0 0 0 0.862745 0 0 0 1.000000 0\"\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"High-Fi-\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"REJ4---Krok2-Brak-Innych-Numero\\\\u0301w\",\n transform: \"translate(-175.000000, -108.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"My_Account\",\n transform: \"translate(175.000000, 108.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"ic_account_circle\",\n fill: \"#C2E0DC\",\n fillOpacity: 0.28\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Icon-24px\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32,0.556311413 C14.6430839,0.556311413 0.556311413,14.6430839 0.556311413,32 C0.556311413,49.3569161 14.6430839,63.4436886 32,63.4436886 C49.3569161,63.4436886 63.4436886,49.3569161 63.4436886,32 C63.4436886,14.6430839 49.3569161,0.556311413 32,0.556311413 L32,0.556311413 Z\",\n id: \"Path\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"to-delete\",\n transform: \"translate(11.000000, 7.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 44,\n height: 44\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"moje_konto\",\n transform: \"translate(2.200000, 1.650000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter-1)\",\n id: \"Group\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.854286, 0.256905)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.6142857,18.5145594 C21.360773,18.5249304 24.7441471,16.2761102 26.1850825,12.8177897 C27.6260179,9.35946934 26.8403758,5.37359688 24.1948862,2.72073816 C21.5493965,0.0678794362 17.5657248,-0.728846862 14.1034096,0.702463208 C10.6410945,2.13377328 8.38285714,5.51087889 8.38285714,9.25738059 C8.38285714,14.3599342 12.5117518,18.5003497 17.6142857,18.5145594 L17.6142857,18.5145594 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.3714286,21.3430949 L12.8571429,21.3430949 C5.75633893,21.3430949 1.17239551e-14,27.0994338 1.17239551e-14,34.2002377 C1.17239551e-14,34.9103181 0.575633893,35.485952 1.28571429,35.485952 L34.0457143,35.485952 C34.7557947,35.485952 35.3314286,34.9103181 35.3314286,34.2002377 C35.3314286,30.7724152 33.9628401,27.4864659 31.5293661,25.0723052 C29.0958922,22.6581446 25.7991414,21.3156723 22.3714286,21.3430949 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}))), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\",\n cx: 18.2828571,\n cy: 13.3971429,\n r: 9.23142857\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.7142857,39.96 L1.8,39.96 C1.08991961,39.96 0.514285714,39.3843661 0.514285714,38.6742857 C0.514285714,31.5523854 6.24987738,25.7590853 13.3714286,25.6885714 L22.8857143,25.6885714 C30.0072655,25.7590853 35.7431218,31.5523854 35.7431218,38.6742857 C35.7553745,39.2949781 35.322587,39.8359625 34.7142857,39.96 Z M3.21428571,37.3885714 L33.3514286,37.3885714 C32.7600183,32.1640171 28.3235295,28.2266333 23.0657143,28.26 L13.5257143,28.26 C8.28007478,28.271681 3.86188413,32.1830468 3.21428571,37.3885714 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}))))));\n\nvar SvgMyAccSummary = function SvgMyAccSummary(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"64px\",\n height: \"64px\",\n viewBox: \"0 0 64 64\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMyAccSummary, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/MyAccSummary.c4060292.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport { Input } from '@shared/components/Input'\r\nimport { Grid, StandardTextFieldProps, Typography } from '@material-ui/core'\r\nimport ErrorMessage from '../ErrorMessage'\r\nimport useStyles from './TextField.style'\r\nimport useAutocompleteStyles from '../../../../components/Autocomplete/Autocomplete.style'\r\n\r\nexport enum ErrorPosition {\r\n Top,\r\n Bottom,\r\n Disable,\r\n}\r\n\r\nexport interface ITextFieldProps extends StandardTextFieldProps {\r\n name: string\r\n formError?: string\r\n wrapperClass?: string\r\n errorPosition?: ErrorPosition\r\n custom?: boolean\r\n autocomplete?: boolean\r\n}\r\n\r\nconst TextField: React.FC = ({\r\n className = '',\r\n wrapperClass = '',\r\n formError,\r\n label,\r\n errorPosition = ErrorPosition.Top,\r\n custom = false,\r\n autocomplete = false,\r\n ...props\r\n}) => {\r\n const styles = useStyles()\r\n const autocompleteStyles = useAutocompleteStyles()\r\n const errorStyle = autocomplete ? autocompleteStyles.inputError : styles.inputError;\r\n const formErrorStyle = formError ? errorStyle : '';\r\n return (\r\n \r\n \r\n {label}\r\n {errorPosition === ErrorPosition.Top && (\r\n \r\n )}\r\n \r\n \r\n {errorPosition === ErrorPosition.Bottom && (\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default TextField\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\n\r\nexport const SCROLL_SIZE = 8\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n },\r\n track: {\r\n position: 'absolute',\r\n cursor: 'pointer',\r\n zIndex: 1,\r\n },\r\n trackHorizontal: {\r\n minWidth: '100%',\r\n bottom: 0,\r\n },\r\n thumb: {\r\n borderRadius: 8,\r\n background: 'rgba(0, 0, 0, 0.2)',\r\n },\r\n trackVertical: {\r\n right: 0,\r\n },\r\n}))\r\n","import React, { useRef, useEffect, useState } from 'react'\r\nimport { Scrollbar } from 'react-scrollbars-custom'\r\nimport useStyles, { SCROLL_SIZE } from './ScrollBar.style'\r\n\r\ninterface ICustomScrollBarProps {\r\n maxWidth?: number | string\r\n maxHeight?: number | string\r\n autoHeight?: boolean\r\n minHeight?: number | string\r\n minWidth?: number | string\r\n wrapperProps?: object\r\n}\r\n\r\nconst BASE_HEIGHT = 100\r\n\r\nexport const CustomScrollBar: React.FC = ({\r\n children,\r\n maxHeight = 'none',\r\n minHeight = 'none',\r\n autoHeight = true,\r\n maxWidth = 'none',\r\n minWidth = 'none',\r\n wrapperProps,\r\n}) => {\r\n const [height, setHeight] = useState(BASE_HEIGHT)\r\n const styles = useStyles()\r\n const childrenRef = useRef(null) as any\r\n const childrenHeight = childrenRef?.current?.offsetHeight\r\n useEffect(() => {\r\n if (autoHeight) {\r\n setHeight((childrenHeight || BASE_HEIGHT) + 20)\r\n }\r\n }, [childrenHeight, autoHeight])\r\n\r\n return (\r\n {\r\n const { elementRef, style, ...restProps } = props\r\n return (\r\n \r\n )\r\n },\r\n }}\r\n trackYProps={{\r\n renderer: props => {\r\n const { elementRef, style, ...restProps } = props\r\n return (\r\n \r\n )\r\n },\r\n }}\r\n thumbXProps={{\r\n renderer: props => {\r\n const { elementRef, ...restProps } = props\r\n return (\r\n
\r\n )\r\n },\r\n }}\r\n thumbYProps={{\r\n renderer: props => {\r\n const { elementRef, ...restProps } = props\r\n return (\r\n
\r\n )\r\n },\r\n }}\r\n >\r\n
\r\n {children}\r\n
\r\n \r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n dialog: {\r\n '& .MuiPaper-root': {\r\n padding: '28px 20px',\r\n },\r\n },\r\n title: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '80%',\r\n margin: '0 auto',\r\n padding: theme.spacing(2, 0, 4),\r\n '& h1': {\r\n margin: 0,\r\n fontSize: 24,\r\n textAlign: 'center',\r\n fontWeight: 700,\r\n },\r\n '& p': {\r\n margin: theme.spacing(2, 0, 0),\r\n fontSize: 18,\r\n opacity: 0.75,\r\n textAlign: 'center',\r\n color: tableTextColor,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n },\r\n },\r\n content: {\r\n padding: theme.spacing(2, 0),\r\n },\r\n measurementPointsWrapper: {\r\n margin: theme.spacing(0, 2),\r\n },\r\n buttonsContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n}))\r\n","import {\r\n Collapse,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n DialogTitle,\r\n} from '@material-ui/core'\r\nimport { Button } from '@shared/components/Button'\r\nimport MeasurementPoint from '@shared/components/MeasurementPoint'\r\nimport { MeasurementPointListItem } from '@shared/contracts/models'\r\nimport { isEmpty } from 'ramda'\r\nimport React from 'react'\r\nimport useStyles from './MeasurementPointsModal.style'\r\n\r\nconst MEASUREMENT_POINTS = 'Punkty poboru'\r\nconst CUSTOMER = 'Płatnik'\r\nconst CUSTOMER_NUMBER = 'Numer płatnika'\r\nconst CLOSE = 'Zamknij'\r\n\r\ninterface MeasurementPointsModalProps {\r\n show: boolean\r\n close: () => void\r\n points: MeasurementPointListItem[]\r\n loading: boolean\r\n customer: {\r\n name: string\r\n number: string\r\n }\r\n}\r\n\r\nexport const MeasurementPointsModal: React.FC = ({\r\n show,\r\n close,\r\n points,\r\n loading,\r\n customer,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n \r\n \r\n

{MEASUREMENT_POINTS}

\r\n

\r\n {CUSTOMER}: {customer.name}\r\n

\r\n

\r\n {CUSTOMER_NUMBER}: {customer.number}\r\n

\r\n
\r\n \r\n \r\n
\r\n {points.map((point, i) => {\r\n const key = point.measurementPointId\r\n ? point.measurementPointId + i\r\n : i\r\n return \r\n })}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { AppError, useApi } from '@core/apiClient/apiClient'\r\nimport { makeStyles, Theme } from '@material-ui/core/styles'\r\nimport {\r\n MeasurementPointListItem,\r\n MeasurementPointsDetails,\r\n ValidateRegistrationResult,\r\n} from '@shared/contracts/models'\r\nimport { AxiosResponse } from 'axios'\r\nimport { useSnackbar } from 'notistack'\r\nimport { isEmpty } from 'ramda'\r\nimport { accountTypes, ErrorMsg, fieldNames, AdditionalValidationType } from '../static-data/RegisterData'\r\nimport { extractFormValues } from '../utils/formValueMapper'\r\nimport { CustomerNumberSelectionModal } from './modals/CustomerNumberSelectionModal'\r\nimport RegisterConfirmationModal from './modals/RegisterConfirmationModal'\r\nimport { InitialFieldsType } from './Register'\r\nimport { SubmitButton } from './SubmitButton'\r\nimport MeasurementPoint from '@shared/components/MeasurementPoint'\r\nimport { ReactComponent as MyAccSvg } from '@images/icons/register/MyAccSummary.svg'\r\nimport CustomScrollBar from '@shared/components/ScrollBar'\r\nimport { Button } from '@shared/components/Button'\r\nimport MeasurementPointsModal from '@shared/components/customersSelector/modal/MeasurementPointsModal'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n '& h1': {\r\n margin: '0 0 24px',\r\n fontSize: 30,\r\n letterSpacing: '0.35px',\r\n lineHeight: '38px',\r\n textAlign: 'center',\r\n fontWeight: theme.typography.fontWeightLight,\r\n },\r\n },\r\n person: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n paddingBottom: '20px',\r\n marginBottom: '24px',\r\n borderBottom: '1.8px solid #E2E8ED',\r\n '& svg': {\r\n width: '62px',\r\n height: '62px',\r\n },\r\n '& h2': {\r\n margin: '0 16px',\r\n fontSize: 22,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.15px',\r\n },\r\n },\r\n dataSection: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n flexDirection: 'row',\r\n marginBottom: '24px',\r\n '& h3': {\r\n margin: '0 0 8px',\r\n fontSize: 14,\r\n fontWeight: 800,\r\n letterSpacing: '0.08px',\r\n },\r\n '& p': {\r\n margin: 0,\r\n fontSize: 16,\r\n letterSpacing: '0.13px',\r\n color: theme.palette.text.secondary,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n [theme.breakpoints.only('md')]: {\r\n flexDirection: 'column',\r\n '& h3': {\r\n fontSize: 14,\r\n marginLeft: '8px',\r\n },\r\n '& p': {\r\n marginLeft: '8px',\r\n fontSize: 16,\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& h3': {\r\n fontSize: 13,\r\n },\r\n '& p': {\r\n fontSize: 15,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n '& h3': {\r\n marginLeft: '8px',\r\n },\r\n '& p': {\r\n marginLeft: '8px',\r\n fontSize: 16,\r\n },\r\n },\r\n },\r\n divider: {\r\n margin: '0 4px',\r\n width: 0,\r\n borderLeft: '1.8px solid #E2E8ED',\r\n [theme.breakpoints.only('md')]: {\r\n borderLeft: 'none',\r\n width: '100%',\r\n margin: '12px 0',\r\n borderBottom: '1.8px solid #E2E8ED',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n margin: '0 8px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n borderLeft: 'none',\r\n width: '100%',\r\n margin: '12px 0',\r\n borderBottom: '1.8px solid #E2E8ED',\r\n },\r\n },\r\n measurementPoint: {\r\n '& h4': {\r\n margin: '0 0 8px',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n letterSpacing: '0.08px',\r\n },\r\n },\r\n pointsWrapper: {\r\n marginBottom: theme.spacing(3),\r\n width: '100%',\r\n },\r\n pointsDisplay: {\r\n '& p': {\r\n margin: theme.spacing(0, 0, 2),\r\n },\r\n },\r\n numberSpan: {\r\n fontWeight: 700,\r\n },\r\n seePointsSpan: {\r\n cursor: 'pointer',\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n}))\r\n\r\ninterface RegisterSummaryProps {\r\n formData: InitialFieldsType\r\n formAPIResponse: AxiosResponse\r\n prevPage: () => void\r\n token?: string\r\n}\r\n\r\nexport const RegisterSummary: React.FC = ({\r\n formData,\r\n formAPIResponse,\r\n prevPage,\r\n token,\r\n}) => {\r\n const styles = useStyles()\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const { COMMERCIAL, INDIVIDUAL } = accountTypes\r\n const { EMAIL, TAX_NUMBER, CUSTOMER_NUMBER, ACCOUNT_TYPE } = fieldNames\r\n const { SEND_TOKEN, SEND_INVOICE } = AdditionalValidationType\r\n\r\n const [accCreated, setAccCreated] = useState(false)\r\n const [mainCustomerNumberDetails, setMainCustomerNumberDetails] = useState<\r\n MeasurementPointsDetails\r\n >()\r\n const [restCustomerNumbersDetails, setRestCustomerNumbersDetails] = useState<\r\n MeasurementPointsDetails[]\r\n >([])\r\n\r\n const [selectedAdditionalNumbers, setSelectedAdditionalNumbers] = useState<\r\n string[]\r\n >([])\r\n\r\n const responseData = formAPIResponse.data\r\n const numberOfMainPoints =\r\n mainCustomerNumberDetails?.measurementPointItems?.length\r\n\r\n // Check account type to select correct API endpoint\r\n const checkAccType = ():string | undefined => {\r\n if (formData[ACCOUNT_TYPE] === COMMERCIAL) {\r\n return \"/createB2BAccount\"\r\n } else if (formData[ACCOUNT_TYPE] === INDIVIDUAL) {\r\n return \"\"\r\n }\r\n }\r\n\r\n const [executeRegister] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'post',\r\n url: `Accounts${checkAccType()}`,\r\n },\r\n })\r\n\r\n if(token === undefined) {\r\n token = \"\"\r\n }\r\n\r\n let {InvoiceValue, name, surname, position, ...formDataWithoutAdditionals} = formData\r\n\r\n const additionalValidationTypeCheck = () => {\r\n if(formData.AdditionalValidationValue !== \"\"){\r\n return SEND_INVOICE\r\n }\r\n return SEND_TOKEN\r\n }\r\n\r\n const additionalValidationValueCheck = () => {\r\n if(formData.AdditionalValidationValue !== \"\"){\r\n return formData.AdditionalValidationValue\r\n }\r\n return token\r\n }\r\n\r\n const createAcc = async () => {\r\n if (formData[ACCOUNT_TYPE] === COMMERCIAL) {\r\n executeRegister({\r\n data: {\r\n ...extractFormValues(formDataWithoutAdditionals),\r\n CustomerNumbers: [\r\n mainCustomerNumberDetails?.customerNumber,\r\n ...selectedAdditionalNumbers,\r\n ],\r\n name: name,\r\n surname: surname,\r\n position: position,\r\n AdditionalValidationType: additionalValidationTypeCheck(),\r\n AdditionalValidationValue: additionalValidationValueCheck()\r\n },\r\n })\r\n .then(() => {\r\n setAccCreated(true)\r\n })\r\n .catch((err: AppError) => {\r\n enqueueSnackbar(ErrorMsg.noConnectionOrServerError, {\r\n variant: 'error',\r\n })\r\n })\r\n } else if (formData[ACCOUNT_TYPE] === INDIVIDUAL) {\r\n executeRegister({\r\n data: {\r\n ...extractFormValues(formDataWithoutAdditionals),\r\n CustomerNumbers: [\r\n mainCustomerNumberDetails?.customerNumber,\r\n ...selectedAdditionalNumbers,\r\n ],\r\n },\r\n })\r\n .then(() => {\r\n setAccCreated(true)\r\n })\r\n .catch((err: AppError) => {\r\n enqueueSnackbar(ErrorMsg.noConnectionOrServerError, {\r\n variant: 'error',\r\n })\r\n })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const selectedNumber = responseData.measurementDetailsPerCustomer?.find(\r\n details => details.customerNumber === formData[CUSTOMER_NUMBER]\r\n )\r\n const restNumbers = responseData.measurementDetailsPerCustomer?.filter(\r\n details => details.customerNumber !== formData[CUSTOMER_NUMBER]\r\n )\r\n\r\n if (restNumbers) {\r\n setRestCustomerNumbersDetails(restNumbers)\r\n }\r\n if (selectedNumber) {\r\n setMainCustomerNumberDetails(selectedNumber)\r\n }\r\n }, [formData, CUSTOMER_NUMBER, responseData.measurementDetailsPerCustomer])\r\n\r\n return (\r\n <>\r\n {accCreated && (\r\n \r\n )}\r\n
\r\n

Podsumowanie rejestracji

\r\n
\r\n \r\n

{mainCustomerNumberDetails?.customerName}

\r\n
\r\n
\r\n
\r\n

E-MAIL

\r\n

{formData[EMAIL]}

\r\n
\r\n
\r\n
\r\n

{formData[ACCOUNT_TYPE] === COMMERCIAL ? 'NIP' : 'PESEL'}

\r\n

{formData[TAX_NUMBER]}

\r\n
\r\n
\r\n
\r\n

NUMER PŁATNIKA

\r\n

{formData[CUSTOMER_NUMBER]}

\r\n
\r\n
\r\n {!isEmpty(mainCustomerNumberDetails) && numberOfMainPoints && (\r\n
\r\n

\r\n {numberOfMainPoints} {numberOfMainPoints < 2 ? 'PUNKT' : 'PUNKTY'}{' '}\r\n POBORU\r\n

\r\n
\r\n \r\n {mainCustomerNumberDetails?.measurementPointItems?.map(\r\n (point, i) => {\r\n const key = point.measurementPointId\r\n ? point.measurementPointId + i\r\n : i\r\n return \r\n }\r\n )}\r\n \r\n
\r\n
\r\n )}\r\n {!isEmpty(restCustomerNumbersDetails) && (\r\n \r\n setSelectedAdditionalNumbers(numbers)\r\n }\r\n />\r\n )}\r\n {selectedAdditionalNumbers.map(number => {\r\n const numberDetails = restCustomerNumbersDetails.filter(\r\n el => el.customerNumber === number\r\n )\r\n const customer = numberDetails[0].customerName\r\n const points = numberDetails[0].measurementPointItems\r\n return (\r\n \r\n )\r\n })}\r\n {\r\n Boolean(mainCustomerNumberDetails) && createAcc()\r\n }}\r\n >\r\n Dalej\r\n \r\n prevPage()}\r\n >\r\n Zmień dane\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\ninterface MeasurementPointsDisplay {\r\n number: string\r\n points: MeasurementPointListItem[]\r\n customer: string\r\n}\r\n\r\nexport const MeasurementPointsDisplay: React.FC = ({\r\n number,\r\n points,\r\n customer,\r\n}) => {\r\n const styles = useStyles()\r\n const [showMeasurementPointsModal, setShowMeasurementPointsModal] = useState(\r\n false\r\n )\r\n\r\n return (\r\n
\r\n

\r\n {number}: \r\n setShowMeasurementPointsModal(true)}\r\n >\r\n {points.length} {points.length > 1 ? 'punkty' : 'punkt'} poboru\r\n {' '}\r\n

\r\n setShowMeasurementPointsModal(false)}\r\n customer={{ name: customer, number }}\r\n loading={false}\r\n points={points}\r\n />\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport { makeStyles, Theme, useTheme } from '@material-ui/core/styles'\r\nimport { preRegister } from '../static-data/RegisterData'\r\nimport { useMediaQuery } from '@material-ui/core'\r\nimport { SubmitButton } from './SubmitButton'\r\nimport { bgColor } from '@mbok/styles/constants'\r\nimport { AnimationPreRegisterSrc } from '@shared/static-data/staticData'\r\nimport { Animation } from '@shared/components/Animation'\r\n\r\nconst ANIMATION_WIDTH = 300\r\nconst ANIMATION_HEIGHT = 240\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n '& h1': {\r\n margin: '0 0 32px',\r\n fontSize: 18,\r\n textAlign: 'left',\r\n lineHeight: '20px',\r\n letterSpacing: '0.13px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n '& button': {\r\n margin: '32px 0 0',\r\n [theme.breakpoints.down('xs')]: {\r\n margin: '16px 0',\r\n },\r\n },\r\n },\r\n logo: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n width: '100%',\r\n borderRadius: 5,\r\n backgroundColor: '#e6f2f2',\r\n margin: theme.spacing(0, 0, 10),\r\n },\r\n animation: {\r\n height: ANIMATION_HEIGHT,\r\n width: ANIMATION_WIDTH,\r\n [theme.breakpoints.down('xs')]: {\r\n height: ANIMATION_HEIGHT * 0.8,\r\n width: ANIMATION_WIDTH * 0.8,\r\n },\r\n },\r\n icon: {\r\n marginRight: '12px',\r\n height: '24px',\r\n minWidth: '24px',\r\n lineHeight: '24px',\r\n textAlign: 'center',\r\n fontSize: 12,\r\n [theme.breakpoints.down('xs')]: {\r\n height: '20px',\r\n minWidth: '20px',\r\n lineHeight: '20px',\r\n },\r\n },\r\n row: {\r\n display: 'flex',\r\n paddingBottom: '20px',\r\n marginBottom: '20px',\r\n },\r\n rowContent: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n },\r\n rightRowContent: {\r\n marginLeft: '28px',\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '20px',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: '24px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginLeft: '16px',\r\n },\r\n },\r\n rowTitle: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n '& div': {\r\n '& h3': {\r\n margin: theme.spacing(1, 0),\r\n fontSize: 12,\r\n fontWeight: 800,\r\n letterSpacing: '0.08px',\r\n '& span': {\r\n opacity: 0.25,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 10,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 11.5,\r\n },\r\n },\r\n '& p': {\r\n margin: theme.spacing(4, 0, 0),\r\n maxWidth: '236px',\r\n minWidth: '160px',\r\n fontSize: 14,\r\n lineHeight: '20px',\r\n letterSpacing: '0.1px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n '& span': {\r\n fontWeight: 800,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n maxWidth: '100%',\r\n margin: theme.spacing(1, 0, 0),\r\n },\r\n },\r\n },\r\n },\r\n rowDocSmall: {\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n document: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n backgroundColor: bgColor,\r\n textAlign: 'center',\r\n margin: theme.spacing(0, 2),\r\n\r\n [theme.breakpoints.down('md')]: {\r\n margin: theme.spacing(2, 2, 0),\r\n '& svg': {\r\n height: 160,\r\n },\r\n },\r\n },\r\n rowBorder: {\r\n borderBottom: '1.8px solid #E2E8ED',\r\n },\r\n}))\r\n\r\ninterface PreRegisterProps {\r\n buttonVisible?: boolean\r\n nextPage?: () => void\r\n}\r\n\r\nexport const PreRegister: React.FC = ({\r\n nextPage,\r\n buttonVisible,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const XSScreen = useMediaQuery(theme.breakpoints.down('xs'))\r\n const { subtitle, rows } = preRegister\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n

{subtitle}

\r\n {rows.map(({ left, right }, i) => (\r\n \r\n
\r\n
{left.icon}
\r\n
\r\n
{left.title}
\r\n
\r\n
\r\n {right && (\r\n \r\n {right.doc ? (\r\n
{right.doc}
\r\n ) : (\r\n <>\r\n
{right.icon}
\r\n
\r\n
{right.title}
\r\n
\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n ))}\r\n {!buttonVisible && (\r\n nextPage && nextPage()}\r\n >\r\n Dalej\r\n \r\n )}\r\n
\r\n )\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport {\r\n Collapse,\r\n createStyles,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n makeStyles,\r\n Theme,\r\n} from '@material-ui/core'\r\nimport StyledButton from '@shared/components/Button'\r\nimport { ErrorCodes, ErrorCodeTypes } from '../../static-data/RegisterData'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport { Contact } from '@shared/contracts/models'\r\nimport copy from 'copy-to-clipboard'\r\nimport { useSnackbar } from 'notistack'\r\nimport FileCopyIcon from '@material-ui/icons/FileCopy'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { isMobile } from 'react-device-detect'\r\nimport { Animation } from '@shared/components/Animation'\r\nimport { AnimationSluchawkiSrc } from '@shared/static-data/staticData'\r\n\r\nconst WIDTH = 84\r\nconst HEIGHT = 84\r\nconst BTN_HEIGHT = 48\r\n\r\nconst COPY_ICON_SIZE = 18\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n contentWrapper: {\r\n padding: 0,\r\n },\r\n icon: {\r\n width: WIDTH,\r\n height: HEIGHT,\r\n marginBottom: theme.spacing(1),\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n textAlign: 'center',\r\n padding: theme.spacing(5, 0, 0),\r\n '& h1': {\r\n margin: theme.spacing(0, 0, 4),\r\n fontSize: 28,\r\n textAlign: 'center',\r\n letterSpacing: '0.29px',\r\n fontWeight: theme.typography.fontWeightMedium,\r\n },\r\n '& h3': {\r\n margin: theme.spacing(0, 0, 4),\r\n fontSize: 18,\r\n textAlign: 'center',\r\n letterSpacing: '0.05px',\r\n color: theme.palette.text.primary,\r\n fontWeight: theme.typography.fontWeightLight,\r\n },\r\n '& h5': {\r\n margin: theme.spacing(0, 0, 5),\r\n fontSize: 12,\r\n color: theme.palette.common.black,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& h1': {\r\n fontSize: 24,\r\n },\r\n '& h3': {\r\n fontSize: 15,\r\n },\r\n },\r\n },\r\n info: {\r\n margin: theme.spacing(0, 0, 5),\r\n fontSize: 15,\r\n '& p': {\r\n margin: theme.spacing(0, 0, 1),\r\n '&:last-child': {\r\n fontSize: 18,\r\n color: theme.palette.primary.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n },\r\n '& a': {\r\n cursor: 'pointer',\r\n textDecoration: 'none',\r\n color: theme.palette.primary.main,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n '& svg': {\r\n marginLeft: theme.spacing(1),\r\n fill: theme.palette.primary.main,\r\n height: COPY_ICON_SIZE,\r\n width: COPY_ICON_SIZE,\r\n cursor: 'pointer',\r\n transition: 'fill 0.2s ease-in-out, transform 0.2s ease-in-out',\r\n '&:hover': {\r\n transform: 'scale(1.1)',\r\n fill: theme.palette.primary.dark,\r\n },\r\n },\r\n '& div': {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n },\r\n data: {\r\n fontSize: 18,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n buttonContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n width: '100%',\r\n marginBottom: theme.spacing(3),\r\n },\r\n button: {\r\n margin: 0,\r\n width: '44%',\r\n height: BTN_HEIGHT,\r\n fontSize: 17,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 15,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n height: BTN_HEIGHT - 10,\r\n fontSize: 14,\r\n width: '100%',\r\n },\r\n },\r\n })\r\n)\r\n\r\ninterface UpdateDataModalProps {\r\n show: boolean\r\n close: () => void\r\n errCode: ErrorCodeTypes\r\n}\r\n\r\nexport const ValidationErrorModal: React.FC = ({\r\n show,\r\n close,\r\n errCode,\r\n}) => {\r\n const styles = useStyles()\r\n const [contact, setContact] = useState({ phone: '', mail: '' })\r\n\r\n const { t } = useTranslation()\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const copyDataToClipboard = useCallback(\r\n (name: string, dataToCopy: string) => {\r\n copy(dataToCopy) &&\r\n enqueueSnackbar(`${name} ${t('BOK_FAB.HAS_BEEN_COPIED')}`, {\r\n variant: 'default',\r\n preventDuplicate: true,\r\n autoHideDuration: 2000,\r\n })\r\n },\r\n [enqueueSnackbar, t]\r\n )\r\n\r\n const [executeGetContactDetails] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'get',\r\n url: 'Content/contactDetails',\r\n },\r\n })\r\n\r\n const getContactDetails = useCallback(async () => {\r\n const res = await executeGetContactDetails()\r\n const [contactDetails] = res.data\r\n setContact({\r\n phone: contactDetails.phoneNumber ?? '',\r\n mail: contactDetails.email ?? '',\r\n })\r\n }, [executeGetContactDetails])\r\n\r\n useEffect(() => {\r\n getContactDetails()\r\n }, [getContactDetails])\r\n\r\n return (\r\n \r\n \r\n \r\n {errCode === ErrorCodes.FakeTaxNumber && (\r\n

Dane wymagają aktualizacji

\r\n )}\r\n {errCode === ErrorCodes.TaxNumberUsed &&

Konto już istnieje

}\r\n

\r\n {errCode === ErrorCodes.SegmentNotActive\r\n ? 'Aby utworzyć konto w portalu klienta, skontaktuj się z nami'\r\n : 'Prosimy, skontaktuj się z nami w celu wyjaśnienia sprawy'}\r\n

\r\n
\r\n

\r\n Telefonicznie (8:00-18:00, pon-pt.)\r\n

\r\n \r\n {isMobile ? (\r\n \r\n {contact.phone}\r\n \r\n ) : (\r\n
\r\n {contact.phone}\r\n {contact.phone && (\r\n {\r\n copyDataToClipboard('Telefon', contact.phone)\r\n }}\r\n />\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n

\r\n Za pomocą E-mail (24h na dobę, 7 dni w tygodniu)\r\n

\r\n \r\n
\r\n \r\n {contact.mail}\r\n \r\n {!isMobile && contact.mail && (\r\n {\r\n copyDataToClipboard('E-mail', contact.mail)\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
{errCode !== ErrorCodes.empty && `Kod błędu: ${errCode}`}
\r\n
\r\n \r\n \r\n Wróć do formularza\r\n \r\n \r\n \r\n )\r\n}\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { Collapse } from '@material-ui/core'\r\nimport { Consent, Document } from '@shared/contracts/models'\r\nimport { Field, FieldProps } from 'formik'\r\nimport { useSnackbar } from 'notistack'\r\nimport { isEmpty } from 'ramda'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { ConsentsCheckbox } from './Checkbox'\r\n\r\nexport const Consents: React.FC<{ consents: Consent[] }> = ({ consents }) => {\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const [executeGetDocuments] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'get',\r\n },\r\n })\r\n\r\n const [documentsContent, setDocumentsContent] = useState(\r\n {} as {\r\n [consentType: string]: string\r\n }\r\n )\r\n\r\n useEffect(() => {\r\n Promise.all(\r\n consents\r\n .filter(consent => !consent.pdfDocumentAvailable)\r\n .map(consent =>\r\n executeGetDocuments({\r\n url: '/Documents/' + consent.documentType,\r\n })\r\n )\r\n )\r\n .then(documents => {\r\n const contents = documents.reduce((acc, { data }) => {\r\n const type = data.type?.toString()\r\n if (!type) return acc\r\n\r\n return {\r\n ...acc,\r\n [type]: data.content,\r\n }\r\n }, {})\r\n setDocumentsContent(contents)\r\n })\r\n .catch(() => {\r\n enqueueSnackbar(\r\n 'Pobieranie treści zgód nie udało się, odśwież stronę lub skontaktuj się z biurem obsługi jeśli sytuacja powtarza się.',\r\n { variant: 'error' }\r\n )\r\n })\r\n }, [consents, enqueueSnackbar, executeGetDocuments])\r\n\r\n return (\r\n \r\n {consents?.map(consent => {\r\n const { id, mandatory, documentType, pdfDocumentAvailable } = consent\r\n return (\r\n {\r\n if (mandatory && !Boolean(value)) {\r\n return true\r\n }\r\n return false\r\n }}\r\n >\r\n {({\r\n field,\r\n meta: { error, touched },\r\n form: { submitCount },\r\n }: FieldProps) => {\r\n const showError = Boolean(error) && (touched || submitCount > 0)\r\n return (\r\n \r\n )\r\n }}\r\n \r\n )\r\n })}\r\n \r\n )\r\n}\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { Consents } from '@shared/components/Consents'\r\nimport { Consent } from '@shared/contracts/models'\r\nimport { Field, FieldInputProps, FieldMetaProps, FieldProps } from 'formik'\r\nimport { useSnackbar } from 'notistack'\r\nimport { isEmpty } from 'ramda'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\nimport {\r\n CustomInput,\r\n CustomPasswordInput,\r\n PeselOrNipInput,\r\n} from '../../../shared/components/Input'\r\nimport {\r\n ErrorMsg,\r\n fieldNames,\r\n InputType,\r\n TaxInputType,\r\n taxNumberData,\r\n} from '../static-data/RegisterData'\r\n\r\nconst { ACCOUNT_TYPE, TAX_NUMBER } = fieldNames\r\n\r\nexport const validateFunction = (\r\n value: string,\r\n input: InputType | TaxInputType,\r\n accType: string\r\n): string => {\r\n if (input.validation && input.validation(value, accType)) {\r\n return input.errorMsg(accType)\r\n }\r\n return ''\r\n}\r\n\r\ninterface DisplayInputProps {\r\n input: InputType\r\n getFieldProps: (props: any) => FieldInputProps\r\n}\r\n\r\nexport const DisplayInput: React.FC = ({\r\n input,\r\n getFieldProps,\r\n}) => {\r\n const { name } = input\r\n return (\r\n {\r\n const accType: string = getFieldProps(ACCOUNT_TYPE).value\r\n return validateFunction(value, input, accType)\r\n }}\r\n >\r\n {({\r\n field,\r\n meta: { error, touched },\r\n form: { submitCount },\r\n }: FieldProps) => {\r\n const showError = Boolean(error) && (touched || submitCount > 0)\r\n if (input.password) {\r\n return (\r\n \r\n )\r\n }\r\n return (\r\n \r\n )\r\n }}\r\n \r\n )\r\n}\r\n\r\ninterface DisplayPeselOrNipInputProps {\r\n getFieldProps: (props: any) => FieldInputProps\r\n getFieldMeta: (name: string) => FieldMetaProps\r\n setFieldValue: (\r\n field: string,\r\n value: any,\r\n shouldValidate?: boolean | undefined\r\n ) => void\r\n}\r\n\r\nexport const DisplayPeselOrNipInput: React.FC = ({\r\n getFieldProps,\r\n getFieldMeta,\r\n setFieldValue,\r\n}) => {\r\n return (\r\n {\r\n const accType: string = getFieldProps(ACCOUNT_TYPE).value\r\n return validateFunction(value, taxNumberData, accType)\r\n }}\r\n >\r\n {({ form: { submitCount } }: FieldProps) => {\r\n const fieldData = {\r\n field: getFieldProps(TAX_NUMBER),\r\n input: taxNumberData,\r\n }\r\n const showError = Boolean(\r\n getFieldMeta(TAX_NUMBER).error &&\r\n (getFieldMeta(TAX_NUMBER).touched || submitCount > 0)\r\n )\r\n const accType: string = getFieldProps(ACCOUNT_TYPE).value\r\n return (\r\n \r\n )\r\n }}\r\n \r\n )\r\n}\r\n\r\nexport const DisplayRegisterConsents = () => {\r\n const { enqueueSnackbar } = useSnackbar()\r\n const [consents, setConsents] = useState([])\r\n\r\n const [executeGetConsents] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'get',\r\n url: 'Accounts/consents',\r\n },\r\n })\r\n\r\n const getConsents = useCallback(async () => {\r\n try {\r\n const response = await executeGetConsents()\r\n setConsents(response.data)\r\n return response.data\r\n } catch (err) {\r\n if (!err.status || err.status !== 200) {\r\n enqueueSnackbar(ErrorMsg.noConnectionOrServerError, {\r\n variant: 'error',\r\n })\r\n }\r\n return err\r\n }\r\n }, [enqueueSnackbar, executeGetConsents])\r\n\r\n useEffect(() => {\r\n if (isEmpty(consents)) {\r\n getConsents()\r\n }\r\n }, [consents, getConsents])\r\n\r\n return \r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n overflow: 'hidden',\r\n '& .slick-list': {\r\n height: '100% !important',\r\n },\r\n },\r\n toggler: {\r\n marginTop: theme.spacing(4),\r\n justifyContent: 'center',\r\n },\r\n emptyToggler: {\r\n height: 14\r\n }\r\n}))\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst TOGGLER_MIN_WIDTH = 120\r\n\r\nconst PARAGRAPH_WIDTH = 60\r\n\r\nconst TOGGLE_ICON_CONTAINER_SIZE = 30\r\nconst TOGGLE_ICON_SIZE = 20\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n toggler: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n minWidth: TOGGLER_MIN_WIDTH,\r\n '& p': {\r\n minWidth: PARAGRAPH_WIDTH,\r\n margin: theme.spacing(0, 2),\r\n fontSize: 17,\r\n color: tableTextColor,\r\n textAlign: 'center',\r\n letterSpacing: 0.04,\r\n fontWeight: theme.typography.fontWeightRegular,\r\n '& span': {\r\n fontWeight: 800,\r\n },\r\n },\r\n '& div': {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n width: TOGGLE_ICON_CONTAINER_SIZE,\r\n minWidth: TOGGLE_ICON_CONTAINER_SIZE,\r\n height: TOGGLE_ICON_CONTAINER_SIZE,\r\n minHeight: TOGGLE_ICON_CONTAINER_SIZE,\r\n borderRadius: '100%',\r\n cursor: 'pointer',\r\n backgroundColor: theme.palette.primary.main,\r\n transition: 'background-color 0.2s ease-in-out',\r\n '& img': {\r\n width: TOGGLE_ICON_SIZE,\r\n height: TOGGLE_ICON_SIZE,\r\n [theme.breakpoints.down('xs')]: {\r\n width: TOGGLE_ICON_SIZE - 4,\r\n height: TOGGLE_ICON_SIZE - 4,\r\n },\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& p': {\r\n margin: theme.spacing(0, 1),\r\n fontSize: 15,\r\n minWidth: PARAGRAPH_WIDTH - 4,\r\n },\r\n '& div': {\r\n width: TOGGLE_ICON_CONTAINER_SIZE - 4,\r\n minWidth: TOGGLE_ICON_CONTAINER_SIZE - 4,\r\n height: TOGGLE_ICON_CONTAINER_SIZE - 4,\r\n minHeight: TOGGLE_ICON_CONTAINER_SIZE - 4,\r\n },\r\n },\r\n },\r\n })\r\n)\r\n","import React from 'react'\r\nimport useStyles from './Toggler.style'\r\nimport RightPng from '@images/icons/toggler/Right @3x.png'\r\nimport LeftPng from '@images/icons/toggler/Left @3x.png'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport interface ITogglerProps {\r\n setIndex?: React.Dispatch>\r\n index: number\r\n total: number\r\n content?: JSX.Element\r\n className?: string\r\n setNext?: () => void\r\n setPrev?: () => void\r\n}\r\n\r\nexport const Toggler: React.FC = ({\r\n index,\r\n setIndex,\r\n total,\r\n content,\r\n className,\r\n setNext,\r\n setPrev,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n return (\r\n
\r\n {\r\n if (setPrev) {\r\n setPrev()\r\n } else {\r\n setIndex && setIndex((prev: number) => {\r\n return prev === 0 ? total - 1 : prev - 1\r\n })\r\n }\r\n }}\r\n >\r\n \"\"\r\n
\r\n {content ?? (\r\n

\r\n {index + 1} {t('OF').toLowerCase()} {total}\r\n

\r\n )}\r\n {\r\n if (setNext) {\r\n setNext()\r\n } else {\r\n setIndex && setIndex(prev => {\r\n return prev === total - 1 ? 0 : prev + 1\r\n })\r\n }\r\n }}\r\n >\r\n \"\"\r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport Slider from 'react-slick'\r\nimport { Settings } from 'react-slick'\r\nimport useStyles from './Carousel.style'\r\nimport { Toggler } from '@shared/components/Toggler/Toggler'\r\n\r\ninterface CarouselProps {\r\n settings?: Settings\r\n length: number\r\n className?: string\r\n showToggler?: boolean\r\n}\r\n\r\nexport const Carousel: React.FC = ({\r\n settings,\r\n children,\r\n length,\r\n className,\r\n showToggler = true\r\n}) => {\r\n const [currentSlide, setCurrentSlide] = React.useState(0)\r\n\r\n const defaultSettings: Settings = {\r\n dots: false,\r\n infinite: true,\r\n autoplay: false,\r\n adaptiveHeight: true,\r\n slidesToShow: 1,\r\n variableWidth: true,\r\n initialSlide: currentSlide,\r\n }\r\n \r\n const styles = useStyles()\r\n const slider = React.useRef(null)\r\n\r\n const setNext = () => {\r\n if (slider.current) {\r\n slider.current.slickNext()\r\n }\r\n }\r\n\r\n const setPrev = () => {\r\n if (slider.current) {\r\n slider.current.slickPrev()\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n setCurrentSlide(currentSlide)}\r\n >\r\n {children}\r\n \r\n {showToggler && length > 0 && (\r\n
\r\n \r\n
\r\n )}\r\n {!showToggler && (\r\n
\r\n
\r\n )}\r\n \r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport {\r\n tableTextColor,\r\n textFieldBorderColor,\r\n autocompleteBackgroundColor,\r\n secondaryColor,\r\n borderColor,\r\n errorRedColor\r\n} from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n root: {\r\n display: 'flex',\r\n '& .MuiInput-notchedOutline': {\r\n border: 'none',\r\n },\r\n '& .MuiFormControl-root': {\r\n alignSelf: 'center',\r\n },\r\n '& .MuiSvgIcon-root': {\r\n color: secondaryColor,\r\n fontSize: '1.2rem',\r\n },\r\n },\r\n inputRoot: {\r\n '&[class*=\"MuiInput-root\"]': {\r\n border: '1.8px solid',\r\n backgroundColor: autocompleteBackgroundColor,\r\n borderColor: textFieldBorderColor,\r\n borderRadius: 4,\r\n height: 40,\r\n padding: `${theme.spacing(0, 3)} !important`,\r\n '& .MuiAutocomplete-input': {\r\n padding: theme.spacing(0, 3),\r\n fontSize: 15,\r\n },\r\n },\r\n '& .MuiAutocomplete-endAdornment': {\r\n top: 'inherit',\r\n marginRight: theme.spacing(3),\r\n },\r\n '&.MuiInput-adornedEnd': {\r\n paddingRight: theme.spacing(3) + 'px !important',\r\n },\r\n letterSpacing: '0.2px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n color: tableTextColor,\r\n },\r\n inputError: {\r\n '& .MuiInput-root': {\r\n borderColor: errorRedColor,\r\n },\r\n },\r\n option: {\r\n display: 'flex',\r\n minHeight: 40,\r\n padding: theme.spacing(2, 3),\r\n fontSize: 14,\r\n fontWeight: theme.typography.fontWeightBold,\r\n '&[aria-selected=true]': {\r\n backgroundColor: autocompleteBackgroundColor,\r\n },\r\n '&[aria-selected=false][data-focus=true]': {\r\n backgroundColor: 'white',\r\n },\r\n '& .MuiIconButton-root': {\r\n height: 20,\r\n width: 20,\r\n backgroundColor: 'transparent',\r\n },\r\n '&:last-of-type': {\r\n marginBottom: theme.spacing(3),\r\n },\r\n },\r\n highlightedOption: {\r\n backgroundColor: `${autocompleteBackgroundColor} !important`,\r\n },\r\n error: {\r\n height: 40,\r\n border: '1.7px solid #FF4067',\r\n borderRadius: 4,\r\n backgroundColor: '#FAD1DA',\r\n boxShadow: 'none',\r\n color: '#D2183E',\r\n fontSize: 14,\r\n letterSpacing: 0.1,\r\n fontWeight: theme.typography.fontWeightBold,\r\n padding: theme.spacing(2, 4),\r\n marginTop: theme.spacing(2),\r\n },\r\n errorInput: {\r\n paddingLeft: 0,\r\n },\r\n noOptions: {\r\n borderRadius: 4,\r\n },\r\n noItemsWrapper: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n close: {\r\n cursor: 'pointer',\r\n },\r\n popper: {\r\n '& .MuiAutocomplete-paper': {\r\n padding: 0,\r\n marginTop: -1.8,\r\n },\r\n '& .MuiAutocomplete-listbox': {\r\n maxHeight: 136,\r\n border: `1.7px solid ${borderColor}`,\r\n borderRadius: 4,\r\n },\r\n '& .MuiPaper-rounded': {\r\n borderRadius: 4,\r\n },\r\n '& .MuiPaper-elevation1': {\r\n boxShadow: 'none',\r\n border: 'none',\r\n },\r\n },\r\n loading: {\r\n marginLeft: theme.spacing(1),\r\n },\r\n}))\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nconst ERROR_MESSAGE_HEIGHT = 25\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n display: 'flex',\r\n minHeight: ERROR_MESSAGE_HEIGHT,\r\n '& *': {\r\n width: '100%',\r\n },\r\n },\r\n message: {\r\n color: theme.palette.error.main,\r\n minHeight: ERROR_MESSAGE_HEIGHT,\r\n width: '100%',\r\n fontSize: 12,\r\n lineHeight: `${ERROR_MESSAGE_HEIGHT}px`,\r\n },\r\n}))\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Grid, Typography, GridProps, Collapse } from '@material-ui/core'\r\nimport { duration } from '@material-ui/core/styles/transitions'\r\nimport useStyles from './ErrorMessage.style'\r\n\r\nexport interface IErrorMessageProps extends GridProps {\r\n title?: string\r\n className?: string\r\n}\r\n\r\nconst Button: React.FC = ({\r\n className = '',\r\n title,\r\n ...props\r\n}) => {\r\n const [message, setMessage] = useState(title)\r\n const styles = useStyles()\r\n\r\n useEffect(() => {\r\n let timer: NodeJS.Timeout\r\n if (title) return setMessage(title)\r\n if (!title) {\r\n timer = setTimeout(() => {\r\n setMessage(title)\r\n }, duration.standard)\r\n }\r\n return () => clearTimeout(timer)\r\n }, [title])\r\n return (\r\n \r\n \r\n {message}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Button\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { CreateCSSProperties } from '@material-ui/core/styles/withStyles'\r\nimport { duration } from '@material-ui/core/styles/transitions'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst INPUT_HEIGHT = 40\r\n\r\nconst getInputStyles = (theme: Theme): CreateCSSProperties<{}> => ({\r\n height: INPUT_HEIGHT,\r\n width: '100%',\r\n border: '1.8px solid',\r\n borderColor: '#CECECE',\r\n backgroundColor: '#F9F9F9',\r\n paddingLeft: theme.spacing(5),\r\n paddingRight: theme.spacing(1.5),\r\n boxSizing: 'border-box',\r\n transition: `border-color ${duration.standard / 1000}s`,\r\n borderRadius: 4,\r\n '& *': {\r\n width: '100%',\r\n height: '100%',\r\n },\r\n '& input': {\r\n fontSize: 15,\r\n letterSpacing: 0.2,\r\n color: tableTextColor,\r\n '&::placeholder': {\r\n color: tableTextColor,\r\n opacity: 0.55,\r\n letterSpacing: 0.2,\r\n },\r\n },\r\n})\r\n\r\nexport default makeStyles(theme => ({\r\n input: {\r\n ...getInputStyles(theme),\r\n },\r\n inputError: {\r\n ...getInputStyles(theme),\r\n borderColor: theme.palette.error.main,\r\n '& .MuiInputBase-adornedStart': {\r\n border: 'none !important',\r\n },\r\n '& .MuiInputAdornment-positionStart': {\r\n width: 'initial !important',\r\n height: 'initial !important',\r\n marginLeft: theme.spacing(-5),\r\n },\r\n },\r\n label: {\r\n marginBottom: theme.spacing(2),\r\n color: tableTextColor,\r\n opacity: '0.55 !important',\r\n fontSize: 14,\r\n lineHeight: '18px',\r\n marginRight: theme.spacing(0.75),\r\n },\r\n errorMessageBottom: {\r\n width: 'auto',\r\n height: 16,\r\n },\r\n}))\r\n","import React, { FunctionComponent } from 'react'\r\nimport { Field, useFormikContext } from 'formik'\r\n// import {\r\n// Input,\r\n// } from \"@shared/components/Input\";\r\nimport TextField from '../TextField'\r\nimport { ITextFieldProps } from '../TextField/TextField'\r\n\r\ninterface FormikFieldProps extends Omit {}\r\n\r\nconst FormikField: FunctionComponent = ({\r\n name,\r\n label,\r\n type = 'text',\r\n required = false,\r\n disabled = false,\r\n autocomplete,\r\n ...props\r\n}) => {\r\n const formikContext = useFormikContext()\r\n const formikErrors: {\r\n [key: string]: string\r\n } = formikContext.errors\r\n const formikTouchedFields: {\r\n [key: string]: string\r\n } = formikContext.touched\r\n const fieldError = formikTouchedFields[name] ? formikErrors[name] : undefined\r\n \r\n const autocompleteField = \r\n \r\n \r\n return (\r\n autocomplete? \r\n autocompleteField :\r\n \r\n )\r\n}\r\n\r\nexport default FormikField\r\n","import {\r\n UseAutocompleteProps as MaterialAutocompleteProps,\r\n Autocomplete as MaterialAutocomplete,\r\n} from '@material-ui/lab'\r\nimport React, { useEffect } from 'react'\r\nimport StyledCheckbox from '../Checkbox'\r\nimport { ReactComponent as CheckedSvg } from '@images/icons/checkbox/Checked.svg'\r\nimport { ReactComponent as UncheckedSvg } from '@images/icons/checkbox/Unchecked.svg'\r\nimport {\r\n Box,\r\n CircularProgress,\r\n InputAdornment,\r\n Paper,\r\n Popper,\r\n} from '@material-ui/core'\r\nimport { useTranslation } from 'react-i18next'\r\nimport Carousel from '../Carousel'\r\nimport useStyles from './Autocomplete.style'\r\nimport { ExpandMore, Search, Close } from '@material-ui/icons'\r\nimport FormikField from '@shared/components/modals/Modal/FormikField/FormikField'\r\nimport { ErrorPosition } from '@shared/components/modals/Modal/TextField'\r\n\r\nexport interface Classes {\r\n root?: string\r\n carouselOuterWrapper?: string\r\n carouselInnerWrapper?: string\r\n popper?: string\r\n inputRoot?: string\r\n}\r\n\r\ninterface AutocompleteProps {\r\n options: T[]\r\n selectedOptions?: T[]\r\n stringify: (item: T) => string\r\n children?: JSX.Element[] | JSX.Element\r\n disabled?: boolean\r\n name?: string\r\n error?: string\r\n classes?: Classes\r\n carousel?: boolean\r\n initialValue?: string\r\n errorPosition?: ErrorPosition\r\n label?: string\r\n loading?: boolean\r\n customNoOptionText?: string\r\n}\r\n\r\nexport const Autocomplete = ({\r\n multiple = false,\r\n options,\r\n filterOptions,\r\n onChange,\r\n value,\r\n stringify,\r\n selectedOptions,\r\n disabled = false,\r\n children,\r\n name,\r\n error,\r\n classes = {},\r\n carousel = true,\r\n initialValue = '',\r\n getOptionSelected,\r\n freeSolo,\r\n onInputChange,\r\n errorPosition,\r\n customNoOptionText,\r\n label,\r\n loading,\r\n}: AutocompleteProps &\r\n MaterialAutocompleteProps<\r\n T,\r\n boolean | undefined,\r\n undefined,\r\n boolean | undefined\r\n >) => {\r\n const { t } = useTranslation()\r\n const styles = useStyles()\r\n\r\n const [inputValue, setInputValue] = React.useState(initialValue)\r\n const [autocompleteValue, setAutocompleteValue] = React.useState(\r\n value as T\r\n )\r\n\r\n useEffect(() => {\r\n setInputValue(initialValue)\r\n }, [initialValue])\r\n return (\r\n
\r\n {\r\n if (reason !== 'remove-option') {\r\n onChange && onChange(event, newValue, reason)\r\n if (!multiple) {\r\n setAutocompleteValue(newValue as T)\r\n setInputValue(newValue ? stringify(newValue as T) : '')\r\n }\r\n } else if (event.type === 'click') {\r\n onChange && onChange(event, newValue, reason)\r\n if (!multiple) {\r\n setAutocompleteValue(null)\r\n }\r\n }\r\n }}\r\n renderTags={() => null}\r\n value={multiple ? value : autocompleteValue}\r\n inputValue={inputValue}\r\n onInputChange={(event, value, reason) => {\r\n if (reason !== 'reset' || !multiple) {\r\n setInputValue(value)\r\n onInputChange && onInputChange(event, value, reason)\r\n }\r\n }}\r\n disabled={disabled}\r\n clearOnBlur={false}\r\n disableListWrap\r\n disablePortal\r\n renderOption={\r\n multiple\r\n ? (option, { selected }) => (\r\n \r\n }\r\n checkedIcon={}\r\n style={{ marginRight: 8 }}\r\n checked={selected}\r\n />\r\n {stringify(option)}\r\n \r\n )\r\n : undefined\r\n }\r\n renderInput={params => {\r\n return (\r\n \r\n {label}{' '}\r\n {loading && (\r\n \r\n )}\r\n \r\n }\r\n errorPosition={errorPosition}\r\n InputProps={{\r\n ...params.InputProps,\r\n startAdornment: (\r\n \r\n \r\n \r\n ),\r\n endAdornment: inputValue ? (\r\n \r\n {\r\n setInputValue('')\r\n if (!multiple) {\r\n setAutocompleteValue(null)\r\n onInputChange && onInputChange(event, '', 'reset')\r\n }\r\n }}\r\n className={styles.close}\r\n />\r\n {\r\n (params.InputProps.endAdornment as JSX.Element).props\r\n .children[1]\r\n }\r\n \r\n ) : multiple ? (\r\n params.InputProps.endAdornment\r\n ) : (\r\n (params.InputProps.endAdornment as JSX.Element).props\r\n .children[1]\r\n ),\r\n }}\r\n />\r\n )\r\n }}\r\n noOptionsText={\r\n customNoOptionText === undefined\r\n ? t('NO_OPTIONS')\r\n : customNoOptionText\r\n }\r\n classes={{\r\n root: styles.root,\r\n inputRoot: `${styles.inputRoot} ${classes.inputRoot ?? ''}`,\r\n popper: `${styles.popper} ${classes.popper ?? ''}`,\r\n option: styles.option,\r\n noOptions: styles.noOptions,\r\n }}\r\n popupIcon={}\r\n PopperComponent={props => }\r\n />\r\n {error && {error}}\r\n {carousel && (\r\n \r\n \r\n {children}\r\n \r\n \r\n )}\r\n
\r\n )\r\n}\r\n","import { Theme, createStyles, makeStyles } from '@material-ui/core'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n container: {\r\n margin: '0 0 16px',\r\n },\r\n label: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n alignItems: 'left',\r\n textAlign: 'left',\r\n minHeight: '17px',\r\n margin: '0 0 4px 20px',\r\n '& p': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n gap: '3.5px',\r\n marginRight: '8px',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.text.primary,\r\n letterSpacing: '0.08px',\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n '& span': {\r\n opacity: 0.25,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 10,\r\n },\r\n },\r\n },\r\n '& div > p': {\r\n margin: 0,\r\n fontSize: 12,\r\n color: theme.palette.error.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '16px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n marginLeft: 0,\r\n },\r\n },\r\n buttonsContainer: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n height: '50px',\r\n '& p': {\r\n margin: 0,\r\n fontSize: 11,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.08px',\r\n textAlign: 'center',\r\n },\r\n '& button': {\r\n fontSize: 16,\r\n width: '44%',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& p': {\r\n fontSize: 10,\r\n },\r\n '& button': {\r\n fontSize: 12,\r\n width: '44%',\r\n },\r\n },\r\n },\r\n unselectedButton: {\r\n height: '50px',\r\n border: 'transparent',\r\n borderRadius: '7px',\r\n backgroundColor: '#f5f5f5',\r\n boxShadow: 'none',\r\n color: theme.palette.text.secondary + colorOpacityParser(75),\r\n fontWeight: 700,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '16px',\r\n overflow: 'hidden',\r\n transition: 'color 0.2s, background-color 0.2s',\r\n textTransform: 'none',\r\n '&:hover': {\r\n opacity: 1,\r\n color: theme.palette.common.white,\r\n backgroundColor: theme.palette.primary.main,\r\n border: 'transparent',\r\n boxShadow: 'none',\r\n },\r\n },\r\n selectedButton: {\r\n height: '50px',\r\n border: `2.5px solid transparent`,\r\n color: theme.palette.common.white,\r\n background: theme.palette.primary.main,\r\n borderRadius: '7px',\r\n boxShadow: 'none',\r\n fontWeight: 700,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '16px',\r\n overflow: 'hidden',\r\n transition: 'color 0.2s, background-color 0.2s',\r\n textTransform: 'none',\r\n '&:hover': {\r\n opacity: 1,\r\n color: theme.palette.common.white,\r\n backgroundColor: theme.palette.primary.main,\r\n border: 'transparent',\r\n boxShadow: 'none',\r\n },\r\n },\r\n })\r\n)\r\n","import React from 'react'\r\nimport { Button, Collapse } from '@material-ui/core'\r\nimport { useField, useFormikContext } from 'formik'\r\n\r\nimport { HintPopover } from '../HintPopover/HintPopover'\r\nimport useStyles from './SelectiveButtons.style'\r\nimport {\r\n ISelectiveButtonsFormValues,\r\n SelectiveButtonsProps,\r\n} from './SelectiveButtons.types'\r\n\r\nexport const SelectiveButtons: React.FC = ({\r\n helper,\r\n label,\r\n options,\r\n error,\r\n name,\r\n onClick,\r\n}) => {\r\n const styles = useStyles()\r\n const { setFieldValue, errors, touched } = useFormikContext<\r\n ISelectiveButtonsFormValues\r\n >()\r\n const [field] = useField(name)\r\n\r\n const handleClick = (option: string) => {\r\n onClick && onClick(option)\r\n setFieldValue(field.name, option)\r\n }\r\n\r\n return (\r\n
\r\n {label && (\r\n
\r\n

\r\n {label} {helper && }\r\n

\r\n \r\n

{error}

\r\n
\r\n
\r\n )}\r\n
\r\n handleClick(options[0].value)}\r\n >\r\n {options[0].name}\r\n \r\n

LUB

\r\n handleClick(options[1].value)}\r\n >\r\n {options[1].name}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import { Theme, createStyles, makeStyles } from '@material-ui/core'\r\n\r\nexport const phoneFieldStyles = (theme: Theme) =>\r\n createStyles({\r\n root: {\r\n '& .react-tel-input': {\r\n margin: '0 0 16px',\r\n },\r\n '& .react-tel-input .form-control': {\r\n backgroundColor: '#f9f9f9',\r\n border: '1.7px solid #D3CFCF',\r\n height: '50px',\r\n width: 'calc(100% - 90px)',\r\n fontSize: '16px',\r\n marginLeft: '90px',\r\n borderRadius: '7px',\r\n paddingLeft: '20px',\r\n letterSpacing: '0.11px',\r\n color: '#3A3A3A',\r\n opacity: '0.85',\r\n fontWeight: 600,\r\n fontFamily: '\"Mulish\", \"Helvetica\", \"Arial\", sans-serif',\r\n },\r\n '& .react-tel-input .flag-dropdown': {\r\n borderRadius: '7px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n '& .react-tel-input .flag-dropdown:hover': {\r\n backgroundColor: '#f9f9f9',\r\n },\r\n '&.error .selected-flag': {\r\n border: '1.7px solid #D22454 !important',\r\n },\r\n '&.disabled .selected-flag': {\r\n color: 'rgba(58, 58, 58, 0.35)',\r\n cursor: 'default',\r\n },\r\n '& .react-tel-input .selected-flag': {\r\n padding: '0 50px 0 28px',\r\n borderRadius: '7px',\r\n backgroundColor: '#f9f9f9',\r\n },\r\n '& .react-tel-input .selected-flag:hover': {\r\n backgroundColor: '#f9f9f9',\r\n },\r\n '& .react-tel-input .country-list': {\r\n top: '-11px',\r\n left: 0,\r\n boxShadow: 'none',\r\n overflowX: 'hidden',\r\n borderRadius: '3px',\r\n border: '1px solid #D3CFCF',\r\n },\r\n '&.error .form-control': {\r\n border: '1.7px solid #D22454 !important',\r\n },\r\n '&.disabled .form-control': {\r\n color: 'rgba(58, 58, 58, 0.35)',\r\n cursor: 'default',\r\n },\r\n '& .react-tel-input .search-emoji': {\r\n textIndent: '-9999px',\r\n fontSize: 0,\r\n },\r\n '& .react-tel-input .search-box': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n border: 'none',\r\n height: '50px',\r\n paddingLeft: '45px',\r\n borderRadius: '3px',\r\n borderBottom: '1px solid #D3CFCF',\r\n fontSize: '15px',\r\n color: '#3A3A3A',\r\n },\r\n '& input[type=\"search\"].search-box::-webkit-search-cancel-button': {\r\n WebkitAppearance: 'none',\r\n height: '19px',\r\n width: '19px',\r\n background: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='rgb(72,169,161)' d='M10 8.586l4.95-4.95 1.414 1.414L11.414 10l4.95 4.95-1.414 1.414L10 11.414l-4.95 4.95-1.414-1.414L8.586 10 3.636 5.05l1.414-1.414L10 8.586z'/%3E%3C/svg%3E\") no-repeat`,\r\n backgroundSize: 'contain',\r\n opacity: 1,\r\n cursor: 'pointer',\r\n },\r\n '& input[type=\"search\"].search-box::-ms-clear': {\r\n WebkitAppearance: 'none',\r\n height: '19px',\r\n width: '19px',\r\n background: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='rgb(72,169,161)' d='M10 8.586l4.95-4.95 1.414 1.414L11.414 10l4.95 4.95-1.414 1.414L10 11.414l-4.95 4.95-1.414-1.414L8.586 10 3.636 5.05l1.414-1.414L10 8.586z'/%3E%3C/svg%3E\") no-repeat`,\r\n backgroundSize: 'contain',\r\n opacity: 1,\r\n cursor: 'pointer',\r\n },\r\n '& .react-tel-input .search-emoji::before': {\r\n content:\r\n 'url(\"svg/Search.svg\") !important' /* ścieżka do nowej ikony */,\r\n position: 'absolute !important',\r\n background: 'url(\"svg/Search.svg\") !important',\r\n top: '15px',\r\n left: '5px',\r\n height: '19px',\r\n width: '19px',\r\n zIndex: 99999,\r\n marginLeft: '15px',\r\n },\r\n '& .react-tel-input li:nth-child(1)': {\r\n paddingTop: '25px',\r\n },\r\n '& .react-tel-input .country-list .country': {\r\n paddingLeft: '20px',\r\n },\r\n '& .react-tel-input .country-list .no-entries-message': {\r\n paddingLeft: '20px',\r\n color: '#3A3A3A',\r\n fontFamily: 'inherit',\r\n },\r\n },\r\n })\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n label: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n alignItems: 'left',\r\n textAlign: 'left',\r\n minHeight: '17px',\r\n margin: '0 0 4px 20px',\r\n '& p': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n gap: '3.5px',\r\n marginRight: '8px',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.text.primary,\r\n letterSpacing: '0.08px',\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n '& span': {\r\n opacity: 0.25,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 10,\r\n },\r\n },\r\n },\r\n '& div > p': {\r\n margin: 0,\r\n fontSize: 12,\r\n color: theme.palette.error.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '16px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n marginLeft: 0,\r\n },\r\n },\r\n })\r\n)\r\n","import React, { PropsWithChildren, useEffect, useState } from 'react'\r\nimport { Collapse, withStyles } from '@material-ui/core'\r\nimport { useField, useFormikContext } from 'formik'\r\nimport { parsePhoneNumber } from 'react-phone-number-input'\r\nimport PhoneInput, { CountryData } from 'react-phone-input-2'\r\nimport pl from 'react-phone-input-2/lang/pl.json'\r\nimport 'react-phone-input-2/lib/style.css'\r\n\r\nimport { HintPopover } from '../HintPopover/HintPopover'\r\nimport useStyles, { phoneFieldStyles } from './PhoneNumberInput.style'\r\nimport {\r\n IPhoneNumberFormValues,\r\n PhoneNumberInputProps,\r\n} from './PhoneNumberInput.types'\r\n\r\nconst PhoneNumberInput: React.FC> = ({\r\n classes,\r\n ...props\r\n}) => {\r\n const {\r\n name,\r\n phonePrefixName,\r\n persistedPhoneNumber,\r\n persistedPrefix,\r\n label,\r\n helper,\r\n placeholder,\r\n localization,\r\n optional,\r\n } = props\r\n const styles = useStyles()\r\n const {\r\n setFieldValue,\r\n values,\r\n errors,\r\n touched,\r\n setTouched,\r\n } = useFormikContext()\r\n const [field] = useField(name)\r\n const [phoneNumber, setPhoneNumber] = useState('')\r\n\r\n const isError = Boolean(errors[field.name] && touched[field.name])\r\n const parsedPhone = parsePhoneNumber(\r\n `${persistedPrefix}${persistedPhoneNumber}`\r\n )\r\n\r\n const handleOnMount = (phone: string, data: CountryData) => {\r\n phonePrefixName &&\r\n setFieldValue(\r\n phonePrefixName,\r\n `${\r\n persistedPrefix && persistedPrefix.length > 0\r\n ? persistedPrefix\r\n : `+${data.dialCode}`\r\n }`\r\n )\r\n }\r\n\r\n const handleOnChange = (phone: string, data: CountryData) => {\r\n phonePrefixName && setFieldValue(phonePrefixName, `+${data.dialCode}`)\r\n setFieldValue(name, phone.slice(data.dialCode.length))\r\n }\r\n\r\n const validateOnBlur = (value: string | number | boolean) => {\r\n setTouched({ ...touched, [field.name]: true })\r\n }\r\n\r\n useEffect(() => {\r\n if (parsedPhone) {\r\n setPhoneNumber(parsedPhone?.number)\r\n }\r\n }, [parsedPhone])\r\n\r\n return (\r\n <>\r\n {label && (\r\n
\r\n

\r\n {label} {optional && (opcjonalne)}{' '}\r\n {helper && }\r\n

\r\n \r\n

{errors.Phone}

\r\n
\r\n
\r\n )}\r\n \r\n handleOnMount(phone, data)}\r\n onChange={(phone, data: CountryData) => handleOnChange(phone, data)}\r\n onBlur={() => validateOnBlur(values.Phone)}\r\n placeholder={placeholder ? placeholder : 'Wpisz numer telefonu'}\r\n localization={localization ? localization : pl}\r\n enableSearch\r\n countryCodeEditable={false}\r\n searchPlaceholder=\"\"\r\n searchNotFound=\"Nie znaleziono kraju\"\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default withStyles(phoneFieldStyles)(PhoneNumberInput)\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { makeStyles, createStyles, Theme } from '@material-ui/core/styles'\r\nimport { Dialog, DialogContent } from '@material-ui/core'\r\n\r\nimport StyledButton from '@shared/components/Button'\r\nimport waves from '@images/polenergiaWaves.png'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n contentWrapper: {\r\n backgroundSize: '100% 35%',\r\n backgroundPosition: 'bottom',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundImage: `url(\"${waves}\")`,\r\n [theme.breakpoints.down('xs')]: {\r\n backgroundImage: 'none',\r\n },\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n textAlign: 'center',\r\n padding: '20px 0 40px',\r\n\r\n '& h1': {\r\n margin: '0 0 16px',\r\n fontSize: 35,\r\n textAlign: 'center',\r\n letterSpacing: '0.29px',\r\n fontWeight: theme.typography.fontWeightRegular,\r\n },\r\n '& h3': {\r\n margin: '0 0 32px',\r\n fontSize: 18,\r\n textAlign: 'center',\r\n letterSpacing: '0.05px',\r\n color: theme.palette.text.primary,\r\n fontWeight: theme.typography.fontWeightLight,\r\n },\r\n '& h2': {\r\n margin: '0 0 24px',\r\n fontSize: 25,\r\n textAlign: 'center',\r\n letterSpacing: '0.17px',\r\n color: theme.palette.text.secondary,\r\n fontWeight: 700,\r\n opacity: 0.55,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n padding: '20px 0',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& h1': {\r\n fontSize: 28,\r\n },\r\n '& h3': {\r\n fontSize: 16,\r\n },\r\n '& h2': {\r\n margin: '0 0 24px',\r\n fontSize: 16,\r\n },\r\n },\r\n },\r\n buttonsWrapper: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n gap: '16px',\r\n '& button': {\r\n height: '48px',\r\n fontSize: 17,\r\n fontWeight: 700,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& button': {\r\n fontSize: 15,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& button': {\r\n height: '38px',\r\n fontSize: 14,\r\n },\r\n },\r\n },\r\n })\r\n)\r\n\r\ninterface PhoneNumberConfirmationModalProps {\r\n show: boolean\r\n phoneNumber: string\r\n close: () => void\r\n nextPage: () => void\r\n}\r\n\r\nconst PhoneNumberConfirmationModal: React.FC = ({\r\n show,\r\n phoneNumber,\r\n close,\r\n nextPage,\r\n}) => {\r\n const { t } = useTranslation()\r\n const styles = useStyles()\r\n\r\n return (\r\n \r\n \r\n

{t('REGISTER_PAGE.PHONE_NUMBER_CONFIRM_MODAL.TITLE')}

\r\n

{phoneNumber}

\r\n

{t('REGISTER_PAGE.PHONE_NUMBER_CONFIRM_MODAL.EXPLANATION')}

\r\n
\r\n close()}\r\n >\r\n {t('CHANGE_DATA')}\r\n \r\n nextPage()}\r\n >\r\n {t('CONFIRM')}\r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default PhoneNumberConfirmationModal\r\n","export type MfaContactType = 'Email' | 'Sms' | 'None'\r\n\r\nexport const MfaContactType = {\r\n None: 'None' as MfaContactType,\r\n Email: 'Email' as MfaContactType,\r\n Sms: 'Sms' as MfaContactType,\r\n}\r\n","/**\r\n * Formats the specified string so that a separator is inserted every three characters.\r\n * Mainly intended for formatting phone numbers, but can be used for any strings of characters.\r\n *\r\n * @param input - The string of characters to be formatted. If not specified, the function will return an empty string.\r\n * Examples: \"123456789\", \"0123456789\".\r\n * @param separator - A character that will be inserted every three characters in the specified string.\r\n * The default is set to a hyphen ('-'). Any character can be used, such as space (' '), underscore ('_'), etc.\r\n * Examples: \"-\", \" \", \"_\".\r\n *\r\n * @returns Formatted string with inserted separators. If 'input' is not specified, returns an empty string.\r\n * Examples of results: \"123-456-789\", \"012-345-678-9\", \"123 456 789\", \"012_345_678_9\".\r\n */\r\nexport const phoneFormatter = (\r\n input?: string,\r\n separator: string = '-'\r\n): string => {\r\n const matched = input?.match(/.{1,3}/g)\r\n const formatted = matched ? matched.join(separator) : ''\r\n\r\n return formatted\r\n}\r\n","import {\r\n Button,\r\n Collapse,\r\n LinearProgress,\r\n makeStyles,\r\n Theme,\r\n} from '@material-ui/core'\r\nimport {\r\n ValidateRegistrationResult,\r\n ValidationErrorEnum,\r\n} from '@shared/contracts/models'\r\nimport { RegistrationFormFields } from '@shared/contracts/registrationFormFields'\r\nimport { AxiosResponse } from 'axios'\r\nimport { Form, Formik } from 'formik'\r\nimport { useSnackbar } from 'notistack'\r\nimport { forEachObjIndexed, isEmpty, reduce } from 'ramda'\r\nimport React, { Fragment, useEffect, useState } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport { useApi } from '../../../core/apiClient/apiClient'\r\nimport {\r\n accountTypes,\r\n ErrorCodes,\r\n ErrorCodeTypes,\r\n ErrorMsg,\r\n fieldNames,\r\n registerData,\r\n commercialAccountData,\r\n invoiceValueData,\r\n roles,\r\n mfaChannels,\r\n phoneNumberData,\r\n} from '../static-data/RegisterData'\r\nimport { extractFormValues } from '../utils/formValueMapper'\r\nimport { ValidationErrorModal } from './modals/ValidationErrorModal'\r\nimport {\r\n DisplayInput,\r\n DisplayPeselOrNipInput,\r\n DisplayRegisterConsents,\r\n} from './RegisterFields'\r\nimport { SubmitButton } from './SubmitButton'\r\nimport Autocomplete from '@shared/components/Autocomplete'\r\nimport { ErrorPosition } from '@shared/components/modals/Modal/TextField/TextField'\r\nimport { SelectiveButtons } from '@shared/components/SelectiveButtons/SelectiveButtons'\r\nimport PhoneNumberInput from '@shared/components/PhoneNumberInput/PhoneNumberInput'\r\nimport { isValidPhoneNumber } from 'react-phone-number-input'\r\nimport PhoneNumberConfirmationModal from './modals/PhoneNumberConfirmationModal'\r\nimport { MfaContactType } from '@shared/contracts/mfaContactType'\r\nimport { phoneFormatter } from '@shared/utils/phoneFormatter'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100%',\r\n '& h1': {\r\n height: '52px',\r\n margin: '0 0 4px',\r\n fontSize: 30,\r\n letterSpacing: '0.35px',\r\n lineHeight: '38px',\r\n textAlign: 'center',\r\n fontWeight: theme.typography.fontWeightRegular,\r\n },\r\n '& h2': {\r\n margin: '0 0 24px',\r\n fontSize: 18,\r\n letterSpacing: '0.13px',\r\n lineHeight: '20px',\r\n textAlign: 'left',\r\n },\r\n '& h3': {\r\n margin: '0 0 20px',\r\n fontSize: 18,\r\n letterSpacing: '0.13px',\r\n lineHeight: '20px',\r\n textAlign: 'center',\r\n },\r\n '& p.description': {\r\n textAlign: 'left',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.text.primary,\r\n margin: '0 0 20px 20px',\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '16px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginLeft: 0,\r\n },\r\n },\r\n },\r\n formContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n },\r\n loader: {\r\n margin: '8px 0',\r\n height: '4px',\r\n },\r\n buttonsContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n alignSelf: 'center',\r\n width: '90%',\r\n [theme.breakpoints.down('md')]: {\r\n justifyContent: 'space-around',\r\n width: '100%',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n marginBottom: '8px',\r\n },\r\n },\r\n linkButton: {\r\n '& button': {\r\n color: theme.palette.primary.main,\r\n marginTop: '8px',\r\n height: '28px',\r\n fontWeight: 700,\r\n fontSize: 17,\r\n textTransform: 'unset',\r\n transition: 'color 0.2s ease-in-out',\r\n },\r\n '&:hover': {\r\n backgroundColor: 'transparent',\r\n '& button': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n textDecoration: 'none',\r\n outline: 'none',\r\n },\r\n popper: {\r\n marginTop: -20,\r\n position: 'absolute',\r\n },\r\n autocompleteWrapper: {\r\n position: 'relative',\r\n '& p': {\r\n fontSize: 12,\r\n fontWeight: 800,\r\n letterSpacing: '0.08px',\r\n textTransform: 'uppercase',\r\n marginLeft: 16,\r\n opacity: '1.0 !important',\r\n },\r\n },\r\n inputRoot: {\r\n '&[class*=\"MuiInput-root\"]': {\r\n borderRadius: 7,\r\n height: 50,\r\n },\r\n },\r\n collapse: {\r\n margin: '0 0 16px',\r\n },\r\n}))\r\n\r\nexport interface InitialFieldsType {\r\n [key: string]: string | boolean | string[]\r\n}\r\n\r\ninterface RegisterProps {\r\n formData: InitialFieldsType\r\n setFormData: React.Dispatch>\r\n setFormApiResponse: React.Dispatch<\r\n React.SetStateAction | undefined>\r\n >\r\n nextPage: () => void\r\n token?: string\r\n}\r\n\r\nconst {\r\n TAX_NUMBER,\r\n CUSTOMER_NUMBER,\r\n PHONE,\r\n ACCOUNT_TYPE,\r\n INVOICE_VALUE,\r\n} = fieldNames\r\nconst { NOT_SELECTED } = accountTypes\r\n\r\nconst initialValues = reduce(\r\n (acc, field) => {\r\n const isAccountType: boolean = field === ACCOUNT_TYPE\r\n\r\n return {\r\n ...acc,\r\n ...(isAccountType ? { [field]: NOT_SELECTED } : { [field]: '' }),\r\n }\r\n },\r\n {},\r\n Object.values(fieldNames)\r\n)\r\n\r\nexport const Register: React.FC = ({\r\n formData,\r\n setFormData,\r\n setFormApiResponse,\r\n nextPage,\r\n token,\r\n}) => {\r\n const [executeGetData] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'get',\r\n url: 'Accounts/autocompleteRegistrationForm/' + token,\r\n },\r\n })\r\n\r\n const [isTokenValid, setIsTokenOk] = useState(false)\r\n const [isQuickRegistration, setIsQuickRegistration] = useState({\r\n phone: false,\r\n rest: false,\r\n })\r\n const [initialFormValues, setInitialFormValues] = useState(\r\n initialValues\r\n )\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n try {\r\n const apiReponse = await executeGetData()\r\n const {\r\n accountType,\r\n phoneNumber,\r\n phonePrefix,\r\n customerNumber,\r\n email,\r\n } = apiReponse.data\r\n setInitialFormValues((prevState: InitialFieldsType) => ({\r\n ...prevState,\r\n Phone: (phoneNumber ?? '').replace(/\\s/g, ''),\r\n PhonePrefix: phonePrefix ?? '',\r\n Email: email ?? '',\r\n CustomerNumber: customerNumber ?? '',\r\n Type: (accountType?.toLowerCase() as accountTypes) ?? NOT_SELECTED,\r\n }))\r\n setIsTokenOk(true)\r\n setIsQuickRegistration({\r\n phone: Boolean(!!phoneNumber && !!phonePrefix),\r\n rest: Boolean(customerNumber?.length > 0 && email?.length > 0),\r\n })\r\n } catch {}\r\n }\r\n\r\n getData()\r\n }, [executeGetData])\r\n\r\n const styles = useStyles()\r\n const { header, subHeader, mfa, inputs } = registerData\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const [showErrModal, setShowErrModal] = useState(false)\r\n const [\r\n showConfirmPhoneNumberModal,\r\n setShowConfirmPhoneNumberModal,\r\n ] = useState(false)\r\n const [errCode, setErrCode] = useState(ErrorCodes.empty)\r\n\r\n const [executeRegister, registerLoading] = useApi(\r\n {\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'post',\r\n url: 'Accounts/validateRegistration',\r\n },\r\n }\r\n )\r\n\r\n const onFormSubmit = async (\r\n values: InitialFieldsType,\r\n validateForm: (values: {}) => {},\r\n setFieldError: (field: string, err: string) => void\r\n ) => {\r\n const validate = await validateForm(values)\r\n\r\n if (isEmpty(validate)) {\r\n const formValues = extractFormValues(values)\r\n executeRegister({\r\n data: {\r\n ...formValues,\r\n PhonePrefix:\r\n formValues.MFAContactType === 'Sms' ||\r\n String(formValues.Phone).length\r\n ? formValues.PhonePrefix\r\n : '',\r\n },\r\n })\r\n .then(response => {\r\n const { data } = response\r\n if (data.validationSuccessful) {\r\n setFormApiResponse && setFormApiResponse(response)\r\n setFormData(values)\r\n if (\r\n values.MFAContactType === MfaContactType.Sms &&\r\n !isQuickRegistration.phone\r\n ) {\r\n setShowConfirmPhoneNumberModal(true)\r\n } else {\r\n nextPage()\r\n }\r\n } else {\r\n const {\r\n CustomerNotFound,\r\n FakeTaxNumber,\r\n TaxNumberUsed,\r\n CustomerNotActive,\r\n SegmentNotActive,\r\n AdditionalValidationFailed,\r\n } = ValidationErrorEnum\r\n switch (data.errorReason) {\r\n case FakeTaxNumber:\r\n enqueueSnackbar('Błędny numer PESEL/NIP', {\r\n variant: 'error',\r\n })\r\n setFieldError(TAX_NUMBER, 'Błędny numer PESEL/NIP')\r\n setErrCode(ErrorCodes.FakeTaxNumber)\r\n setShowErrModal(true)\r\n break\r\n case CustomerNotFound:\r\n enqueueSnackbar(\r\n 'Sprawdź, czy podany numer płatnika jest poprawny',\r\n {\r\n variant: 'error',\r\n }\r\n )\r\n setFieldError(\r\n CUSTOMER_NUMBER,\r\n 'Sprawdź, czy podany numer płatnika jest poprawny'\r\n )\r\n setFieldError(\r\n TAX_NUMBER,\r\n 'Sprawdź, czy podany numer PESEL/NIP jest poprawny'\r\n )\r\n setErrCode(ErrorCodes.CustomerNotFound)\r\n break\r\n case TaxNumberUsed:\r\n enqueueSnackbar('Podany numer PESEL/NIP został już użyty', {\r\n variant: 'error',\r\n })\r\n setFieldError(\r\n TAX_NUMBER,\r\n 'Podany numer PESEL/NIP został już użyty'\r\n )\r\n setErrCode(ErrorCodes.TaxNumberUsed)\r\n setShowErrModal(true)\r\n break\r\n case CustomerNotActive:\r\n enqueueSnackbar('Podany numer płatnika nie jest aktywny', {\r\n variant: 'error',\r\n })\r\n setFieldError(\r\n CUSTOMER_NUMBER,\r\n 'Podany numer płatnika nie jest aktywny'\r\n )\r\n setErrCode(ErrorCodes.CustomerNotActive)\r\n setShowErrModal(true)\r\n break\r\n case SegmentNotActive:\r\n setErrCode(ErrorCodes.SegmentNotActive)\r\n setShowErrModal(true)\r\n break\r\n case AdditionalValidationFailed:\r\n enqueueSnackbar(\r\n 'Podana kwota jest nieprawidłowa. Sprawdź ponownie jej poprawność na fakturze lub skontaktuj się z bok@polenergia.pl opisując problem',\r\n {\r\n variant: 'error',\r\n }\r\n )\r\n setFieldError(\r\n INVOICE_VALUE,\r\n 'Podana kwota jest nieprawidłowa. Sprawdź ponownie jej poprawność na fakturze lub skontaktuj się z bok@polenergia.pl opisując problem'\r\n )\r\n setErrCode(ErrorCodes.AdditionalValidationFailed)\r\n break\r\n default:\r\n setErrCode(ErrorCodes.empty)\r\n enqueueSnackbar(ErrorMsg.noConnectionOrServerError, {\r\n variant: 'error',\r\n })\r\n }\r\n }\r\n })\r\n .catch(err => {\r\n if (!err.status || err.status === 500) {\r\n enqueueSnackbar(ErrorMsg.noConnectionOrServerError, {\r\n variant: 'error',\r\n })\r\n }\r\n\r\n forEachObjIndexed((val, key) => {\r\n setFieldError(key as string, val)\r\n enqueueSnackbar(val, {\r\n variant: 'error',\r\n })\r\n }, err.response)\r\n })\r\n }\r\n }\r\n\r\n const validateCustomFields = (values: InitialFieldsType) => {\r\n const errors: Partial = {}\r\n if (values.Type === accountTypes.COMMERCIAL) {\r\n if (values.Position === '') {\r\n errors.Position = 'Wybierz stanowisko'\r\n } else if (!roles.some(role => values.Position === role)) {\r\n errors.Position = 'Wybierz wartość z dostępnego słownika'\r\n }\r\n }\r\n if (values.MFAContactType === '') {\r\n errors.MFAContactType = 'Wybierz kanał komunikacji dla MFA'\r\n }\r\n if (values.Phone !== '' || values.MFAContactType === mfaChannels[0].value) {\r\n if (\r\n values.Phone === '' ||\r\n !isValidPhoneNumber(`${values.PhonePrefix}${values.Phone}`) ||\r\n values.Phone.toString().length < 9\r\n ) {\r\n errors.Phone = 'Wpisz poprawny numer telefonu'\r\n }\r\n }\r\n return errors\r\n }\r\n\r\n return (\r\n
\r\n validateCustomFields(values)}\r\n initialValues={isEmpty(formData) ? initialFormValues : formData}\r\n enableReinitialize\r\n onSubmit={() => {}}\r\n >\r\n {({\r\n setFieldValue,\r\n submitForm,\r\n getFieldProps,\r\n getFieldMeta,\r\n values,\r\n validateForm,\r\n setFieldError,\r\n }) => (\r\n <>\r\n
\r\n

{header}

\r\n

{subHeader}

\r\n

{mfa.description}

\r\n \r\n {inputs.map((input, index) => {\r\n const { name } = input\r\n return (\r\n \r\n {index === 0 || index === 2 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {input.customNextField === PHONE ? (\r\n \r\n ) : null}\r\n {input.customNextField === TAX_NUMBER ? (\r\n \r\n ) : null}\r\n {input.customNextField === TAX_NUMBER &&\r\n getFieldProps(ACCOUNT_TYPE).value ===\r\n accountTypes.COMMERCIAL &&\r\n !isTokenValid ? (\r\n \r\n ) : null}\r\n \r\n )\r\n })}\r\n \r\n

\r\n \r\n {commercialAccountData.map(input => {\r\n const { name } = input\r\n return (\r\n \r\n \r\n \r\n )\r\n })}\r\n {\r\n return item ?? ''\r\n }}\r\n carousel={true}\r\n getOptionSelected={(option, value) => {\r\n return option === value\r\n }}\r\n onInputChange={(event, value, reason) => {\r\n setFieldValue('Position', value)\r\n }}\r\n label=\"Funkcja\"\r\n initialValue={values.Position as string}\r\n value={values.Position as string}\r\n classes={{\r\n popper: styles.popper,\r\n root: styles.autocompleteWrapper,\r\n inputRoot: styles.inputRoot,\r\n }}\r\n customNoOptionText=\"Brak funkcji pasujących do kryteriów\"\r\n errorPosition={ErrorPosition.Top}\r\n />\r\n \r\n

\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n await submitForm()\r\n await onFormSubmit(values, validateForm, setFieldError)\r\n }}\r\n >\r\n Dalej\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n )}\r\n \r\n setShowErrModal(false)}\r\n errCode={errCode}\r\n />\r\n setShowConfirmPhoneNumberModal(false)}\r\n phoneNumber={`${formData.PhonePrefix} ${phoneFormatter(\r\n String(formData.Phone)\r\n )}`}\r\n nextPage={nextPage}\r\n />\r\n
\r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport { makeStyles, Theme } from '@material-ui/core/styles'\r\nimport { RegisterSummary } from './components/RegisterSummary'\r\nimport { PreRegister } from './components/PreRegister'\r\nimport { Register, InitialFieldsType } from './components/Register'\r\nimport { BackgroundWrapper } from '../../shared/BackgroundWrapper'\r\nimport { registerSteps } from './static-data/RegisterData'\r\nimport { AxiosResponse } from 'axios'\r\nimport { ValidateRegistrationResult } from '@shared/contracts/models'\r\nimport registerAppImg from '@images/registerAppImg.png'\r\nimport { useLocation } from 'react-router'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n section: {\r\n margin: 0,\r\n padding: 0,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n\r\n '&:first-child': {\r\n width: '60%',\r\n },\r\n\r\n '&:last-child': {\r\n justifyContent: 'flex-end',\r\n width: '40%',\r\n '& img': {\r\n maxWidth: '100%',\r\n maxHeight: '100%',\r\n },\r\n },\r\n\r\n [theme.breakpoints.only('md')]: {\r\n '&:first-child': {\r\n width: '55%',\r\n },\r\n '&:last-child': {\r\n width: '45%',\r\n },\r\n },\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n '&:first-child': {\r\n justifyContent: 'center',\r\n width: '100%',\r\n },\r\n '&:last-child': {\r\n width: 0,\r\n display: 'none',\r\n },\r\n },\r\n },\r\n registerContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n minHeight: '808px',\r\n width: '760px',\r\n padding: '32px 72px',\r\n margin: '32px',\r\n borderRadius: '7px',\r\n backgroundColor: theme.palette.common.white,\r\n boxShadow:\r\n '0 7px 9px 3px rgba(105,105,105,0.03), 0 2px 3px 0 rgba(66,65,65,0.5)',\r\n\r\n [theme.breakpoints.down('md')]: {\r\n padding: '28px',\r\n margin: '24px',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n margin: '42px 32px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n padding: '24px',\r\n margin: '24px',\r\n },\r\n },\r\n}))\r\n\r\nexport const RegisterPage: React.FC = () => {\r\n const search = useLocation().search\r\n const styles = useStyles()\r\n const { PREPARATION, FORM, SUMMARY } = registerSteps\r\n const [formData, setFormData] = useState({})\r\n const [formAPIResponse, setFormAPIResponse] = useState<\r\n AxiosResponse\r\n >()\r\n const [toggleSection, setToggleSection] = useState(PREPARATION)\r\n\r\n const query = new URLSearchParams(search)\r\n const token = query.get('token') || undefined\r\n\r\n if (token && toggleSection === PREPARATION) {\r\n setToggleSection(FORM)\r\n }\r\n\r\n const displayedSection = () => {\r\n switch (toggleSection) {\r\n case PREPARATION:\r\n return setToggleSection(FORM)} />\r\n case FORM:\r\n return (\r\n setToggleSection(SUMMARY)}\r\n token={token}\r\n />\r\n )\r\n case SUMMARY:\r\n if (formAPIResponse) {\r\n return (\r\n setToggleSection(FORM)}\r\n token={token}\r\n />\r\n )\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n
{displayedSection()}
\r\n
\r\n
\r\n \"register\r\n
\r\n
\r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".clsInvoices-1{fill:#c8c8c8;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Faktura_papierowa\",\n \"data-name\": \"Faktura papierowa\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsInvoices-1\",\n d: \"M14.09,15h-8a.51.51,0,0,1-.5-.5.5.5,0,0,1,.5-.5h8a.5.5,0,0,1,.5.5A.51.51,0,0,1,14.09,15Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsInvoices-1\",\n d: \"M14.09,18.08H10.56a.5.5,0,0,1,0-1h3.53a.5.5,0,0,1,0,1Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsInvoices-1\",\n d: \"M14.09,12.86h-8a.5.5,0,0,1,0-1h8a.5.5,0,0,1,0,1Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsInvoices-1\",\n d: \"M16.33,2.7H8.44a.49.49,0,0,0-.35.15L3.43,7.51a.45.45,0,0,0-.15.35V20.2a.5.5,0,0,0,.5.5H16.33a.5.5,0,0,0,.5-.5V3.2A.51.51,0,0,0,16.33,2.7ZM7.94,4.41v3H5ZM15.83,19.7H4.28V8.36H8.44a.5.5,0,0,0,.5-.5V3.7h6.89Z\"\n}));\n\nvar SvgFakturySider = function SvgFakturySider(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFakturySider, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/FakturySider.08caadc1.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".clsReadings-1{fill:#c8c8c8;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Moje_zu\\\\u017Cycie\",\n \"data-name\": \"Moje zu\\\\u017Cycie\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsReadings-1\",\n d: \"M18,18.51H1.88a.5.5,0,0,1-.5-.5V5a.5.5,0,0,1,.5-.5H18a.5.5,0,0,1,.5.5V18A.5.5,0,0,1,18,18.51Zm-15.59-1H17.47v-12H2.38Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsReadings-1\",\n d: \"M9.92,9.6a.5.5,0,0,1-.5-.5V7.42a.51.51,0,0,1,.5-.5.5.5,0,0,1,.5.5V9.1A.5.5,0,0,1,9.92,9.6Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsReadings-1\",\n d: \"M7.27,10.3A.51.51,0,0,1,6.82,10L6.05,8.54a.5.5,0,0,1,.89-.46l.77,1.49a.49.49,0,0,1-.21.67A.53.53,0,0,1,7.27,10.3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsReadings-1\",\n d: \"M5.32,11.88A.5.5,0,0,1,5,11.75L3.74,10.63a.5.5,0,1,1,.67-.74L5.65,11a.5.5,0,0,1,0,.71A.49.49,0,0,1,5.32,11.88Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsReadings-1\",\n d: \"M12.58,10.3a.46.46,0,0,1-.23-.06.49.49,0,0,1-.21-.67l.77-1.49a.49.49,0,0,1,.67-.21.5.5,0,0,1,.22.67L13,10A.49.49,0,0,1,12.58,10.3Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsReadings-1\",\n d: \"M14.53,11.88a.47.47,0,0,1-.37-.16.5.5,0,0,1,0-.71l1.25-1.12a.49.49,0,0,1,.7,0,.5.5,0,0,1,0,.71l-1.25,1.12A.46.46,0,0,1,14.53,11.88Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsReadings-1\",\n d: \"M10.3,13.33V10.74a.38.38,0,0,0-.75,0v2.59c-2,.13-3.55,1.3-3.55,2.79a.5.5,0,0,0,.5.5h6.85a.5.5,0,0,0,.5-.5C13.85,14.63,12.31,13.46,10.3,13.33Z\"\n}));\n\nvar SvgZuzycieSider = function SvgZuzycieSider(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgZuzycieSider, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ZuzycieSider.2d5d85a2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"path-1\",\n width: 231,\n height: 1024\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -1.4,\n width: 118.6,\n height: 104.2,\n filterUnits: \"objectBoundingBox\",\n id: \"filter-2\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"path-3\",\n width: 231,\n height: 1790\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -0.8,\n width: 118.6,\n height: 102.4,\n filterUnits: \"objectBoundingBox\",\n id: \"filter-4\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"path-5\",\n width: 231,\n height: 1790\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -0.8,\n width: 118.6,\n height: 102.4,\n filterUnits: \"objectBoundingBox\",\n id: \"filter-6\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n fill: \"none\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"FAB-1\",\n transform: \"translate(-32 -164)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 1645,\n height: 1024,\n fill: \"#FBFBFB\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-18\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n filter: \"url(#filter-2)\",\n xlinkHref: \"#path-1\",\n fill: \"black\"\n}), /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-1\",\n fill: \"#FFF\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Fill-365-+-Fill-366\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.9 180.7L47 180.7 44.9 178.6 47 176.5 53.9 176.5 53.9 180.7ZM48.1 168.4L49.1 170.2 43.6 170.2 48.1 168.4ZM55 174.4L53.9 174.4 53.9 172.3C53.9 171.1 53 170.2 51.8 170.2L51.4 170.2 49.6 166.6C49.3 166.1 48.8 165.9 48.3 166.1L37.9 170.2 37.1 170.2C35.9 170.2 35 171.1 35 172.3L35 184.9C35 186.1 35.9 187 37.1 187L51.8 187C53 187 53.9 186.1 53.9 184.9L53.9 182.8 55 182.8C55.5 182.8 56 182.3 56 181.7L56 175.4C56 174.9 55.5 174.4 55 174.4L55 174.4Z\",\n id: \"Fill-365\",\n fill: \"#38BAAC\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.7 179.6C48.3 179.6 48.7 179.2 48.7 178.6 48.7 178 48.3 177.5 47.7 177.5 47.1 177.5 46.6 178 46.6 178.6 46.6 179.2 47.1 179.6 47.7 179.6\",\n id: \"Fill-366\",\n fill: \"#FFF\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-30\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-18\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n filter: \"url(#filter-4)\",\n xlinkHref: \"#path-3\",\n fill: \"black\"\n}), /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-3\",\n fill: \"#FFF\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Fill-365-+-Fill-366\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.9 180.7L47 180.7 44.9 178.6 47 176.5 53.9 176.5 53.9 180.7ZM48.1 168.4L49.1 170.2 43.6 170.2 48.1 168.4ZM55 174.4L53.9 174.4 53.9 172.3C53.9 171.1 53 170.2 51.8 170.2L51.4 170.2 49.6 166.6C49.3 166.1 48.8 165.9 48.3 166.1L37.9 170.2 37.1 170.2C35.9 170.2 35 171.1 35 172.3L35 184.9C35 186.1 35.9 187 37.1 187L51.8 187C53 187 53.9 186.1 53.9 184.9L53.9 182.8 55 182.8C55.5 182.8 56 182.3 56 181.7L56 175.4C56 174.9 55.5 174.4 55 174.4L55 174.4Z\",\n id: \"Fill-365\",\n fill: \"#38BAAC\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.7 179.6C48.3 179.6 48.7 179.2 48.7 178.6 48.7 178 48.3 177.5 47.7 177.5 47.1 177.5 46.6 178 46.6 178.6 46.6 179.2 47.1 179.6 47.7 179.6\",\n id: \"Fill-366\",\n fill: \"#FFF\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Rectangle\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n filter: \"url(#filter-6)\",\n xlinkHref: \"#path-5\",\n fill: \"black\"\n}), /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-5\",\n fill: \"#FFF\"\n})), /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Nav/My_Center/On\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 32,\n y: 164,\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"moje_konto2_on\",\n fill: \"#48A9A1\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.4 175.1L48.7 167.1C48.6 167 48.4 166.9 48.2 166.9L40.3 166.9C40.1 166.9 39.9 167 39.8 167.1L34.1 175.1C33.9 175.3 33.9 175.5 34.1 175.7 34.2 175.9 34.4 176.1 34.6 176.1L36.5 176.1 36.5 185C36.5 185.3 36.8 185.6 37.1 185.6L51.4 185.6C51.7 185.6 51.9 185.3 52 185L52 176.1 53.9 176.1C54.1 176.1 54.3 175.9 54.5 175.7 54.6 175.5 54.5 175.3 54.4 175.1L54.4 175.1ZM50.8 184.4L46.5 184.4 46.5 179.1C46.5 178.8 46.2 178.5 45.9 178.5L42.6 178.5C42.3 178.5 42 178.8 42 179.1L42 184.4 37.7 184.4 37.7 176 50.8 176 50.8 184.4ZM35.8 174.8L40.6 168.1 47.9 168.1 52.7 174.9 35.8 174.8Z\",\n id: \"Shape\"\n}))))));\n\nvar SvgCentrumSider = function SvgCentrumSider(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCentrumSider, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CentrumSider.d0767370.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n width: 231,\n height: 1790\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -0.8,\n width: 118.6,\n height: 102.4,\n filterUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))), /*#__PURE__*/React.createElement(\"rect\", {\n width: 231,\n height: 1790\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -0.8,\n width: 118.6,\n height: 102.4,\n filterUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))), /*#__PURE__*/React.createElement(\"rect\", {\n width: 231,\n height: 1790\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -0.8,\n width: 118.6,\n height: 102.4,\n filterUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))), /*#__PURE__*/React.createElement(\"filter\", null, /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceGraphic\",\n type: \"matrix\",\n values: \"0 0 0 0 0.282353 0 0 0 0 0.662745 0 0 0 0 0.627451 0 0 0 1.000000 0\"\n})), /*#__PURE__*/React.createElement(\"rect\", {\n width: 231,\n height: 1790\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -0.8,\n width: 118.6,\n height: 102.4,\n filterUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))), /*#__PURE__*/React.createElement(\"rect\", {\n width: 231,\n height: 1790\n}), /*#__PURE__*/React.createElement(\"filter\", {\n x: -9.3,\n y: -0.8,\n width: 118.6,\n height: 102.4,\n filterUnits: \"objectBoundingBox\"\n}, /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 2,\n in: \"SourceAlpha\",\n result: \"shadowOffsetOuter1\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.5,\n in: \"shadowOffsetOuter1\",\n result: \"shadowBlurOuter1\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.258576766 0 0 0 0 0.255985086 0 0 0 0 0.255985086 0 0 0 0.05 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter1\",\n result: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMorphology\", {\n radius: 1.5,\n operator: \"dilate\",\n in: \"SourceAlpha\",\n result: \"shadowSpreadOuter2\"\n}), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 0,\n dy: 7,\n in: \"shadowSpreadOuter2\",\n result: \"shadowOffsetOuter2\"\n}), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n in: \"shadowOffsetOuter2\",\n result: \"shadowBlurOuter2\"\n}), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0 0.411514946 0 0 0 0.03 0\",\n type: \"matrix\",\n in: \"shadowBlurOuter2\",\n result: \"shadowMatrixOuter2\"\n}), /*#__PURE__*/React.createElement(\"feMerge\", null, /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter1\"\n}), /*#__PURE__*/React.createElement(\"feMergeNode\", {\n in: \"shadowMatrixOuter2\"\n}))));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 1645,\n height: 1790,\n fill: \"#FBFBFB\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"use\", {\n filter: \"url(#filter-9)\",\n xlinkHref: \"#path-8\",\n fill: \"black\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-8\",\n fill: \"#FFF\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"use\", {\n filter: \"url(#filter-11)\",\n xlinkHref: \"#path-10\",\n fill: \"black\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-10\",\n fill: \"#FFF\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 32,\n y: 414,\n width: 24,\n height: 24\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#555150\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.3 437.4C47.1 437.4 46.9 437.3 46.7 437.2L45.3 435.5C45.1 435.2 44.9 435.1 44.5 435.1L43.6 435C43.3 435 43 435.1 42.8 435.3L41.3 436.8C41 437.1 40.4 437.1 39.5 436.7 38.2 436 38.3 435.6 38.3 435.5L38.5 433.3C38.5 433 38.4 432.7 38.2 432.4L37.6 431.7C37.4 431.5 37.1 431.4 36.8 431.4L34.8 431.4C34.3 431.4 33.9 430.9 33.5 430 33.1 428.7 33.4 428.4 33.5 428.3L35.2 426.9C35.5 426.7 35.6 426.4 35.6 426.1L35.6 425.2C35.7 424.9 35.6 424.5 35.4 424.3L33.9 422.9C33.6 422.5 33.6 421.9 34 421.1 34.6 419.7 35 419.8 35.2 419.8L37.4 420.1C37.7 420.1 38 420 38.3 419.8L38.9 419.2C39.2 419 39.3 418.7 39.3 418.3L39.3 416.3C39.3 415.8 39.8 415.4 40.7 415.1 42 414.6 42.3 414.9 42.4 415.1L43.8 416.8C44 417 44.3 417.2 44.6 417.2L45.5 417.2C45.8 417.2 46.1 417.1 46.4 416.9L47.8 415.4C48.2 415.1 48.8 415.1 49.7 415.5 50.9 416.1 50.9 416.5 50.9 416.7L50.6 418.9C50.6 419.2 50.7 419.5 50.9 419.8L51.5 420.4C51.7 420.7 52 420.8 52.4 420.8L54.4 420.8C54.9 420.8 55.3 421.3 55.6 422.2 56.1 423.5 55.8 423.8 55.6 423.9L53.9 425.3C53.7 425.5 53.5 425.8 53.5 426.1L53.5 426.1 53.5 427C53.5 427.3 53.6 427.6 53.8 427.9L55.3 429.3C55.6 429.7 55.6 430.3 55.2 431.2 54.5 432.4 54.1 432.4 54 432.4L51.8 432.1C51.5 432.1 51.2 432.2 51 432.4L50.3 433C50.1 433.2 49.9 433.5 49.9 433.9L49.9 435.9C49.9 436.4 49.5 436.8 48.5 437.2 48.1 437.3 47.7 437.4 47.3 437.4L47.3 437.4ZM43.6 433.9L43.7 433.9 44.6 433.9C45.2 433.9 45.8 434.2 46.2 434.7L47.5 436.2C47.9 436.1 48.3 436 48.7 435.7L48.7 433.9C48.7 433.3 49 432.6 49.4 432.2L50.1 431.6C50.6 431.2 51.2 431 51.9 431.1L53.8 431.3C54 430.9 54.2 430.5 54.3 430.1L53 428.8C52.5 428.3 52.3 427.7 52.3 427L52.3 426.1C52.4 425.5 52.7 424.9 53.2 424.5L54.7 423.3C54.6 422.8 54.5 422.4 54.3 422L52.4 422C51.7 422 51.1 421.7 50.7 421.2L50.1 420.6C49.6 420.1 49.4 419.5 49.5 418.8L49.7 416.9C49.4 416.7 49 416.5 48.6 416.4L47.2 417.7C46.7 418.2 46.1 418.4 45.4 418.4L44.6 418.3C43.9 418.3 43.3 418 42.9 417.5L41.8 416C41.3 416.1 40.9 416.2 40.5 416.4L40.5 418.3C40.5 419 40.3 419.6 39.8 420L39.1 420.6C38.7 421 38 421.3 37.4 421.2L35.4 421C35.2 421.3 35 421.7 34.9 422.1L36.2 423.5C36.6 424 36.9 424.6 36.8 425.3L36.8 426.1C36.8 426.8 36.5 427.4 36 427.8L34.4 429C34.5 429.4 34.7 429.8 34.9 430.2L36.8 430.2C37.4 430.2 38 430.5 38.5 431L39.1 431.6C39.5 432.1 39.7 432.8 39.6 433.4L39.4 435.3C39.8 435.6 40.2 435.8 40.6 435.9L42 434.6C42.4 434.1 43 433.9 43.6 433.9ZM44.6 430.8C42.7 430.8 41 429.6 40.3 427.9 39.6 426.2 40 424.2 41.3 422.8 42.6 421.5 44.6 421.1 46.4 421.8 48.1 422.5 49.2 424.2 49.2 426.1 49.2 428.7 47.1 430.8 44.6 430.8L44.6 430.8ZM44.6 422.6C42.6 422.6 41.1 424.2 41.1 426.1 41.1 428.1 42.6 429.6 44.6 429.6 46.5 429.6 48.1 428.1 48.1 426.1 48.1 425.2 47.7 424.3 47.1 423.6 46.4 423 45.5 422.6 44.6 422.6Z\"\n}));\n\nvar SvgUstawieniaSider = function SvgUstawieniaSider(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-32 -414)\"\n }, _ref3, _ref4, _ref5, /*#__PURE__*/React.createElement(\"g\", {\n style: {\n fill: \"#415467\",\n opacity: 0.8\n }\n }), _ref6, _ref7, _ref8, _ref9)));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUstawieniaSider, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/UstawieniaSider.68ca3763.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24\n}), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#555150\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 5.4L22 5.4 22 5.4C21.9 5.3 21.8 5.2 21.7 5.1L21.7 5.1 21.7 5.1C21.6 5 21.5 5 21.4 5L2.6 5C2.4 5 2.3 5 2.2 5.1L2.2 5.1 2.2 5.1C2.1 5.2 2.1 5.3 2 5.4L2 5.4 2 5.4C2 5.4 2 5.5 2 5.6L2 18.3C2 18.6 2.3 18.9 2.6 18.9L21.4 18.9C21.7 18.9 22 18.6 22 18.3L22 5.6C22 5.5 22 5.5 22 5.4L22 5.4ZM20.7 16.5L15.8 11.5 20.7 7 20.7 16.5ZM20 17.7L3.8 17.7 9 12.4 11.5 14.7C11.7 14.8 11.8 14.8 12 14.8 12.1 14.8 12.3 14.8 12.4 14.7L14.9 12.4 20 17.7ZM8.9 6.3L19.7 6.3 15 10.6 14 11.5 12 13.3 9.9 11.5 9 10.6 4.2 6.2 8.9 6.3ZM8 11.6L3.2 16.6 3.2 7 8 11.6Z\"\n})));\n\nvar SvgWiadomosciSider = function SvgWiadomosciSider(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWiadomosciSider, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/WiadomosciSider.758c5d0f.svg\";\nexport { ForwardRef as ReactComponent };","export enum OfferType {\r\n advertisement = 'Advertisement',\r\n information = 'Information',\r\n reminder = 'ConsentReminder',\r\n}\r\n\r\nexport enum ImageType {\r\n top = 'Toptile',\r\n card = 'Card',\r\n banner = 'Banner',\r\n}\r\n\r\nexport enum ImageSize {\r\n mobile = 'Mobile',\r\n desktop = 'Desktop',\r\n}\r\n\r\nexport interface OfferImage {\r\n imageUrl: string\r\n type: ImageType\r\n size: ImageSize\r\n}\r\n\r\nexport interface Offer {\r\n title: string\r\n redirectUrl: string\r\n priorityScore: number\r\n adType: OfferType\r\n images: OfferImage[]\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { ImageType } from './types'\r\n\r\nexport const offersStateSelector = (state: RootState) => state.offers\r\n\r\nexport const paymentsLoadingSelector = createSelector(\r\n offersStateSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const getOffersSelector = createSelector(\r\n offersStateSelector,\r\n state => state.offers\r\n)\r\n\r\nexport const getDesktopOffersSelector = createSelector(\r\n getOffersSelector,\r\n offers => {\r\n const filteredOffers = offers\r\n ?.filter(item => item.images.some(item => item.size === 'Desktop'))\r\n .map(item => ({\r\n ...item,\r\n images: item.images.filter(item => item.size === 'Desktop'),\r\n }))\r\n return filteredOffers?.sort((a, b) => a.priorityScore - b.priorityScore)\r\n }\r\n)\r\n\r\nexport const getDesktopOffersByTypeSelector = (type: ImageType) =>\r\n createSelector(\r\n getDesktopOffersSelector,\r\n offers =>\r\n offers &&\r\n offers\r\n .filter(item => item.images.some(item => item.type === type))\r\n .map(item => ({\r\n ...item,\r\n images: item.images.filter(item => item.type === type),\r\n }))\r\n )\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Baner-cookies\",\n transform: \"translate(-843.000000, -1046.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\",\n transform: \"translate(813.000000, 1017.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Contract\",\n transform: \"translate(30.000000, 29.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 21,\n height: 21\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"umowa\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 2.352,\n y: 0.3045,\n width: 14.2275,\n height: 18.9,\n rx: 0.5\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5845,20.622 L1.407,20.622 C1.11705051,20.622 0.882,20.3869495 0.882,20.097 L0.882,2.247 C0.882,1.95705051 1.11705051,1.722 1.407,1.722 L14.5845,1.722 C14.8721039,1.72758611 15.1039139,1.95939612 15.1095,2.247 L15.1095,4.9665 C15.1039139,5.25410388 14.8721039,5.48591389 14.5845,5.4915 C14.2945505,5.4915 14.0595,5.25644949 14.0595,4.9665 L14.0595,2.772 L1.932,2.772 L1.932,19.572 L14.0595,19.572 L14.0595,14.5005 C14.0595,14.2105505 14.2945505,13.9755 14.5845,13.9755 C14.8744495,13.9755 15.1095,14.2105505 15.1095,14.5005 L15.1095,20.097 C15.1095,20.3869495 14.8744495,20.622 14.5845,20.622 Z\",\n id: \"Path\",\n fill: \"#555150\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.198,14.6055 L3.843,14.6055 C3.55305051,14.6055 3.318,14.3704495 3.318,14.0805 C3.318,13.7905505 3.55305051,13.5555 3.843,13.5555 L9.198,13.5555 C9.48794949,13.5555 9.723,13.7905505 9.723,14.0805 C9.71741389,14.3681039 9.48560388,14.5999139 9.198,14.6055 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2325,17.85 L8.5365,17.85 C8.24655051,17.85 8.0115,17.6149495 8.0115,17.325 C8.0115,17.0350505 8.24655051,16.8 8.5365,16.8 L12.2325,16.8 C12.5201039,16.8055861 12.7519139,17.0373961 12.7575,17.325 C12.7575,17.4642387 12.7021877,17.5977745 12.6037311,17.6962311 C12.5052745,17.7946877 12.3717387,17.85 12.2325,17.85 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.912,12.39 L3.843,12.39 C3.55305051,12.39 3.318,12.1549495 3.318,11.865 C3.318,11.5750505 3.55305051,11.34 3.843,11.34 L9.912,11.34 C10.2019495,11.34 10.437,11.5750505 10.437,11.865 C10.437,12.0042387 10.3816877,12.1377745 10.2832311,12.2362311 C10.1847745,12.3346877 10.0512387,12.39 9.912,12.39 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.235,10.2165 L3.885,10.2165 C3.59505051,10.2165 3.36,9.98144949 3.36,9.6915 C3.36,9.40155051 3.59505051,9.1665 3.885,9.1665 L11.235,9.1665 C11.5249495,9.1665 11.76,9.40155051 11.76,9.6915 C11.76,9.98144949 11.5249495,10.2165 11.235,10.2165 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2325,8.0115 L3.8325,8.0115 C3.54255051,8.0115 3.3075,7.77644949 3.3075,7.4865 C3.3075,7.19655051 3.54255051,6.9615 3.8325,6.9615 L12.2325,6.9615 C12.5224495,6.9615 12.7575,7.19655051 12.7575,7.4865 C12.7519139,7.77410388 12.5201039,8.00591389 12.2325,8.0115 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2325,5.796 L3.8325,5.796 C3.54255051,5.796 3.3075,5.56094949 3.3075,5.271 C3.3075,4.98105051 3.54255051,4.746 3.8325,4.746 L12.2325,4.746 C12.5224495,4.746 12.7575,4.98105051 12.7575,5.271 C12.7519139,5.55860388 12.5201039,5.79041389 12.2325,5.796 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.572,1.05 C19.0295562,0.729818012 18.330349,0.908139314 18.0075,1.449 L12.054,11.55 C10.857,13.587 10.4265,15.897 10.7205,16.0755 C11.0145,16.254 12.8205,14.7525 14.028,12.705 L19.95,2.625 C20.1089522,2.36607291 20.1584276,2.05456903 20.0875233,1.75913442 C20.016619,1.4636998 19.8311543,1.20858154 19.572,1.05 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}))))));\n\nvar SvgContract = function SvgContract(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"21px\",\n viewBox: \"0 0 21 21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgContract, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Contract.a233b4e7.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Moje-Centrum---Szczego\\\\u0301\\\\u0142y-Umowy-Papierowej\",\n transform: \"translate(-307.000000, -1051.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-35\",\n transform: \"translate(272.000000, 1016.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Archive\",\n transform: \"translate(35.000000, 32.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 21,\n height: 21\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"archiwum_wiadomosci\",\n transform: \"translate(0.000000, 3.150000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 0.966,\n y: 3.7275,\n width: 15.561,\n height: 10.521\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.01,3.5595 L17.01,3.5595 L17.01,3.5595 C16.9591754,3.46414695 16.8873718,3.38157289 16.8,3.318 L16.8,3.318 L16.8,3.318 C16.717113,3.26837749 16.6234457,3.23955678 16.527,3.234 L0.966,3.234 C0.869554303,3.23955678 0.77588701,3.26837749 0.693,3.318 L0.693,3.318 L0.693,3.318 C0.619350057,3.37882051 0.558652125,3.45380031 0.5145,3.5385 L0.5145,3.5385 L0.5145,3.5385 C0.504464515,3.5940504 0.504464515,3.6509496 0.5145,3.7065 L0.5145,14.2065 C0.5145,14.4964495 0.749550506,14.7315 1.0395,14.7315 L16.5165,14.7315 C16.8064495,14.7315 17.0415,14.4964495 17.0415,14.2065 L17.0415,3.7065 C17.0389125,3.6561329 17.0282779,3.60650487 17.01,3.5595 L17.01,3.5595 Z M15.96,12.7785 L11.9175,8.5785 L15.96,4.872 L15.96,12.7785 Z M15.4245,13.7235 L2.0265,13.7235 L6.3,9.3345 L8.4,11.235 C8.49583464,11.3266052 8.62449604,11.3757992 8.757,11.3715 C8.88610293,11.3741477 9.01089035,11.3249891 9.1035,11.235 L11.2035,9.3345 L15.4245,13.7235 Z M6.1845,4.2735 L15.141,4.2735 L11.214,7.875 L10.437,8.5785 L8.7465,10.1325 L7.0455,8.5785 L6.3,7.875 L2.31,4.2525 L6.1845,4.2735 Z M5.502,8.652 L1.4595,12.852 L1.4595,4.9245 L5.502,8.652 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.5615,0.451499769 L4.0005,0.451499769 C3.73954546,0.451499769 3.528,0.663045456 3.528,0.924 L3.528,2.415 L17.43,2.415 C17.6909545,2.415 17.9025,2.62654546 17.9025,2.8875 L17.9025,11.9175 L19.5615,11.9175 C19.8224545,11.9175 20.034,11.7059545 20.034,11.445 L20.034,0.945 C20.0397352,0.816087854 19.9924976,0.690438615 19.9032574,0.597232236 C19.8140173,0.504025857 19.6905396,0.451372488 19.5615,0.451499769 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}))))));\n\nvar SvgNews = function SvgNews(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"15px\",\n viewBox: \"0 0 21 15\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNews, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/News.dda414a4.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-profile{fill:none;}.cls-2-profile{fill:#48a9a0;opacity:0.2;}.cls-3-profile{fill:#47a9a0;}.cls-4-profile{fill:#5b5b5b;fill-rule:evenodd;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Warstwa_2\",\n \"data-name\": \"Warstwa 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Warstwa_1-2\",\n \"data-name\": \"Warstwa 1\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n className: \"cls-1-profile\",\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n className: \"cls-2-profile\",\n d: \"M10.3,9.28A4.2,4.2,0,1,0,6.11,5.07,4.19,4.19,0,0,0,10.3,9.28Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path-2\",\n \"data-name\": \"Path\",\n className: \"cls-2-profile\",\n d: \"M12.47,10.57H8.14A5.83,5.83,0,0,0,2.3,16.41a.58.58,0,0,0,.58.59H17.77a.58.58,0,0,0,.59-.59,5.83,5.83,0,0,0-1.73-4.15A5.89,5.89,0,0,0,12.47,10.57Z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n className: \"cls-3-profile\",\n cx: 9.31,\n cy: 6.84,\n r: 4.2\n}), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Shape\",\n className: \"cls-4-profile\",\n d: \"M16.78,18.91h-15a.59.59,0,0,1-.59-.58,5.9,5.9,0,0,1,5.85-5.9H11.4a5.9,5.9,0,0,1,5.85,5.9A.58.58,0,0,1,16.78,18.91ZM2.46,17.74h13.7a4.67,4.67,0,0,0-4.68-4.14H7.15A4.73,4.73,0,0,0,2.46,17.74Z\"\n})));\n\nvar SvgProfile = function SvgProfile(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgProfile, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Profile.ed5ea2b6.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Sale\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"sprzedaz\",\n transform: \"translate(1.000000, 1.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.57,3.47 L15.79,3.47 L15.79,1.47 C15.7846799,1.19609155 15.5639085,0.975320106 15.29,0.97 L5.11,0.97 C4.83385763,0.97 4.61,1.19385763 4.61,1.47 L4.61,2.2 L4.47,2.2 C3.13899375,2.2 2.06,3.27899375 2.06,4.61 L2.06,12.89 C2.04633283,13.7030231 2.3632805,14.4867688 2.93825587,15.0617441 C3.51323124,15.6367195 4.2969769,15.9536672 5.11,15.94 L15.3,15.94 C16.2791594,15.934499 17.0700155,15.1391748 17.07,14.16 L17.07,4 C17.0782787,3.86227481 17.0292781,3.72725023 16.9345977,3.62688898 C16.8399173,3.52652772 16.7079736,3.46975141 16.57,3.47 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n x: 3.64,\n y: 3.09,\n width: 10.19,\n height: 2.55\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.83,7.69 L3,7.69 C2.2212785,7.69 1.59,7.0587215 1.59,6.28 C1.59,5.5012785 2.2212785,4.87 3,4.87 L3.14,4.87 L3.14,5.64 C3.14,5.91614237 3.36385763,6.14 3.64,6.14 L15.1,6.14 C15.3761424,6.14 15.6,5.91614237 15.6,5.64 C15.6,5.36385763 15.3761424,5.14 15.1,5.14 L14.32,5.14 L14.32,3.14 C14.3216165,3.00739614 14.2671383,2.88028033 14.17,2.79 C14.0770751,2.69668749 13.9516573,2.642937 13.82,2.64 L3.64,2.64 C3.36385763,2.64 3.14,2.86385763 3.14,3.14 L3.14,3.92 L3,3.92 C1.68827797,3.91971767 0.61721412,4.96856027 0.59,6.28 L0.59,14.56 C0.576332834,15.3730231 0.893280496,16.1567688 1.46825587,16.7317441 C2.04323124,17.3067195 2.8269769,17.6236672 3.64,17.61 L13.83,17.61 C14.8091594,17.604499 15.6,16.8091748 15.6,15.83 L15.6,9.46 C15.6,8.48245599 14.807544,7.69 13.83,7.69 L13.83,7.69 Z M4.14,3.59 L13.33,3.59 L13.33,5.14 L4.14,5.14 L4.14,3.59 Z M14.6,13.42 L11.28,13.42 C10.8858781,13.3751586 10.588176,13.0416646 10.588176,12.645 C10.588176,12.2483354 10.8858781,11.9148414 11.28,11.87 L14.6,11.87 L14.6,13.42 Z M13.83,16.61 L3.63999991,16.61 C2.52738952,16.5828551 1.63966892,15.6729415 1.63999991,14.56 L1.63999991,8.22 C2.0333552,8.51441813 2.50879413,8.67872423 3,8.69 L13.83,8.69 C14.2530068,8.69538928 14.5946107,9.03699316 14.6,9.46 L14.6,10.87 L11.28,10.87 C10.3512685,10.9397584 9.63332292,11.7136523 9.63332292,12.645 C9.63332292,13.5763477 10.3512685,14.3502416 11.28,14.42 L14.6,14.42 L14.6,15.83 C14.6,16.2569069 14.2568718,16.6045268 13.83,16.61 L13.83,16.61 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n})));\n\nvar SvgWallet = function SvgWallet(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWallet, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Wallet.321e4ab0.svg\";\nexport { ForwardRef as ReactComponent };","enum ActivationPoint {\r\n All,\r\n One,\r\n Many,\r\n}\r\n\r\nexport default ActivationPoint\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst BTN_WIDTH = 160\r\nconst BTN_MIN_HEIGHT = 34\r\n\r\nconst ICON_SIZE = 24\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n card: {\r\n width: '100%',\r\n height: '100%',\r\n marginRight: theme.spacing(5),\r\n position: 'relative',\r\n minWidth: 270,\r\n '&:last-child': {\r\n marginRight: 0,\r\n },\r\n padding: theme.spacing(5, 7.5),\r\n },\r\n header: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n fontSize: 19,\r\n padding: theme.spacing(1, 0),\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(3),\r\n whiteSpace: 'nowrap',\r\n '& b': {\r\n marginRight: theme.spacing(2),\r\n fontWeight: 700,\r\n color: tableTextColor,\r\n },\r\n '& div': {\r\n display: 'flex',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n },\r\n },\r\n title: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n icon: {\r\n height: ICON_SIZE,\r\n width: ICON_SIZE,\r\n minWidth: ICON_SIZE,\r\n minHeight: ICON_SIZE,\r\n marginRight: theme.spacing(4),\r\n fill: theme.palette.primary.main,\r\n },\r\n row: {\r\n paddingTop: theme.spacing(5),\r\n color: theme.palette.text.secondary,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-end',\r\n },\r\n content: {\r\n fontSize: 18,\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n display: 'block',\r\n },\r\n loader: {\r\n marginTop: theme.spacing(3),\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n },\r\n btn: {\r\n width: BTN_WIDTH,\r\n minHeight: BTN_MIN_HEIGHT,\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n whiteSpace: 'normal',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n secondaryBtn: {\r\n marginLeft: theme.spacing(3),\r\n }\r\n}))\r\n","import React, { useMemo } from 'react'\r\nimport { CircularProgress, Collapse, Fade, Paper } from '@material-ui/core'\r\nimport StyledButton from '@shared/components/Button'\r\nimport { useLoadingState } from '@shared/hooks/loadingState'\r\nimport useStyles from './DetailsCard.style'\r\n\r\nexport interface IDetailsWrapperProps {\r\n title: string\r\n Icon: React.FC & { title?: string | undefined }>\r\n iconSize?: number\r\n customButtons?: React.ReactNode\r\n buttonHandler?: () => void\r\n buttonText?: string\r\n secondaryButtonHandler?: () => void\r\n secondaryButtonText?: string\r\n loading?: boolean\r\n disableLoader?: boolean\r\n minHeight?: number\r\n wrapperMinHeight?: number\r\n headerClass?: string\r\n}\r\n\r\nexport const DETAILS_CARD_CONTENT_MIN_HEIGHT = 180\r\n\r\nexport const DetailsCardWrapper: React.FC = ({\r\n Icon,\r\n iconSize,\r\n title,\r\n children,\r\n loading,\r\n disableLoader = false,\r\n buttonHandler,\r\n buttonText,\r\n secondaryButtonHandler,\r\n secondaryButtonText,\r\n customButtons,\r\n minHeight = DETAILS_CARD_CONTENT_MIN_HEIGHT,\r\n headerClass,\r\n wrapperMinHeight,\r\n}) => {\r\n const styles = useStyles()\r\n const isLoading = useLoadingState(!!loading)\r\n\r\n const iconCustomSize = useMemo(() => {\r\n return iconSize\r\n ? {\r\n minWidth: iconSize,\r\n minHeight: iconSize,\r\n Width: iconSize,\r\n Height: iconSize,\r\n }\r\n : {}\r\n }, [iconSize])\r\n\r\n return (\r\n \r\n {!disableLoader && (\r\n \r\n
\r\n {isLoading && }\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {}\r\n {title}\r\n
\r\n
\r\n {buttonText && buttonHandler && (\r\n buttonHandler()}\r\n size=\"small\"\r\n className={styles.btn}\r\n color=\"primary\"\r\n >\r\n {buttonText}\r\n \r\n )}\r\n {secondaryButtonText && secondaryButtonHandler && (\r\n secondaryButtonHandler()}\r\n size=\"small\"\r\n className={`${styles.btn} ${styles.secondaryBtn}`}\r\n color=\"primary\"\r\n >\r\n {secondaryButtonText}\r\n \r\n )}\r\n {!isLoading && (customButtons ?? null)}\r\n
\r\n
\r\n
\r\n {disableLoader ? (\r\n <>{children}\r\n ) : (\r\n \r\n <>{!isLoading && children}\r\n \r\n )}\r\n
\r\n \r\n )\r\n}\r\n","import { makeStyles } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n '&:not(:first-child)': {\r\n paddingLeft: theme.spacing(15),\r\n },\r\n '&:not(:last-child)': {\r\n paddingRight: theme.spacing(15),\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n padding: theme.spacing(12, 16)\r\n },\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(6),\r\n },\r\n buttonsWrapper: {\r\n paddingTop: theme.spacing(6),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n}))\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n marginTop: theme.spacing(4),\r\n },\r\n}))\r\n","import React from 'react'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport useStyles from './Actions.style'\r\n\r\ninterface ActionsProps {\r\n cancelText: string\r\n submitText: string\r\n onCancel: () => void\r\n onSubmit?: () => void\r\n disabled?: boolean\r\n}\r\n\r\nexport const Actions: React.FC = ({\r\n cancelText,\r\n submitText,\r\n onCancel,\r\n onSubmit,\r\n disabled = false\r\n}) => {\r\n const styles = useStyles()\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { secondaryColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n cardHeader: {\r\n padding: 0,\r\n },\r\n cardContent: {\r\n padding: 0,\r\n marginTop: theme.spacing(2),\r\n '&:last-child': {\r\n paddingBottom: 0,\r\n },\r\n fontSize: 18,\r\n },\r\n emptyCard: {\r\n padding: '0px !important',\r\n fontSize: 18,\r\n height: 80,\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n avatar: {\r\n width: 35,\r\n height: 35,\r\n backgroundColor: '#F2F3F4',\r\n padding: theme.spacing(2),\r\n borderRadius: 4,\r\n },\r\n emptyCardAvatar: {\r\n width: 60,\r\n height: 60,\r\n marginRight: theme.spacing(8),\r\n },\r\n title: {\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n numberHeading: {\r\n marginBottom: theme.spacing(1),\r\n fontSize: 14,\r\n },\r\n number: {\r\n fontWeight: 800,\r\n fontSize: 18,\r\n },\r\n delete: {\r\n position: 'absolute',\r\n top: 12,\r\n right: 8,\r\n width: 20,\r\n height: 20,\r\n color: secondaryColor,\r\n },\r\n}))\r\n","import { Card, CardHeader, CardContent, IconButton } from '@material-ui/core'\r\nimport React from 'react'\r\nimport useStyles from './SelectedMeasurementPoint.style'\r\nimport { Close } from '@material-ui/icons'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ReactComponent as CollectionPoint } from '@images/icons/other/CollectionPoint.svg'\r\n\r\ninterface SelectedMeasurementPointProps {\r\n number?: string\r\n onDelete?: () => void\r\n disabled?: boolean\r\n address?: string\r\n isDelete?: boolean\r\n className?: string\r\n empty?: boolean\r\n}\r\n\r\nexport const autocompleteWrapperPadding = 28\r\n\r\nexport const SelectedMeasurementPoint: React.FC = ({\r\n number,\r\n onDelete,\r\n disabled,\r\n address,\r\n isDelete = true,\r\n className,\r\n empty = false,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n return (\r\n \r\n \r\n {empty ? (\r\n \r\n \r\n \r\n \r\n \r\n {t('MY_INVOICES.E_INVOICE.NO_MEASUREMENT_POINTS_SELECTED')}\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n }\r\n title={\r\n number ? (\r\n
\r\n
\r\n {t('MY_CONTRACTS.POINT_NUMBER')}\r\n
\r\n
{number}
\r\n
\r\n ) : (\r\n ''\r\n )\r\n }\r\n action={\r\n isDelete && (\r\n onDelete && onDelete()}\r\n disabled={disabled}\r\n className={styles.delete}\r\n >\r\n \r\n \r\n )\r\n }\r\n className={styles.cardHeader}\r\n />\r\n {address}\r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport {\r\n borderColor,\r\n textPrimaryColor,\r\n} from '@mbok/styles/constants'\r\nimport { autocompleteWrapperPadding } from '@shared/components/forms/eInvoice/SelectedMeasurementPoint'\r\n\r\nexport const eInvoiceModalWidth = 720\r\nconst measurementPointBoxShadow =\r\n '0 5px 9px 3px rgba(105,105,105,0.03), 0 1px 6px 3px rgba(74,73,73,0.03), 0 3px 3px 0 rgba(66,65,65,0.05)'\r\n\r\nexport const eInvoiceModalHeight = 840\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n modalWrapper: {\r\n width: `${eInvoiceModalWidth}px !important`,\r\n\theight: '90%',\r\n maxHeight: `${eInvoiceModalHeight}px`,\r\n },\r\n autocompleteWrapper: {\r\n paddingLeft: autocompleteWrapperPadding,\r\n },\r\n carouselOuterWrapper: {\r\n width:\r\n eInvoiceModalWidth - theme.spacing(2 * 16) - autocompleteWrapperPadding,\r\n marginTop: theme.spacing(3),\r\n minHeight: 200,\r\n },\r\n carouselOuterWrapperWide: {\r\n width: eInvoiceModalWidth - theme.spacing(2 * 16),\r\n },\r\n carouselInnerWrapper: {\r\n borderRadius: 7,\r\n boxShadow: measurementPointBoxShadow,\r\n },\r\n autocompletePopper: {\r\n // Dirty hack - popper width and position got calculated incorrectly\r\n width: `${\r\n eInvoiceModalWidth - theme.spacing(2 * 16) - autocompleteWrapperPadding\r\n }px !important`,\r\n '& .MuiAutocomplete-paper': {\r\n padding: 0,\r\n marginTop: -1.8,\r\n },\r\n '& .MuiAutocomplete-listbox': {\r\n maxHeight: 136,\r\n },\r\n '& .MuiPaper-elevation1': {\r\n boxShadow: 'none',\r\n border: `1.7px solid ${borderColor}`,\r\n },\r\n },\r\n modalHeading: {\r\n color: textPrimaryColor,\r\n textTransform: 'uppercase',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n lineHeight: '25px',\r\n letterSpacing: 0.08,\r\n },\r\n selectedMeasurementPoint: {\r\n '&:not(.MuiPaper-elevation1)': {\r\n boxShadow: 'none',\r\n },\r\n width:\r\n eInvoiceModalWidth - theme.spacing(2 * 16) - autocompleteWrapperPadding,\r\n borderRadius: 7,\r\n boxShadow: measurementPointBoxShadow,\r\n padding: theme.spacing(6),\r\n position: 'relative',\r\n },\r\n selectedMeasurementPointWide: {\r\n width: eInvoiceModalWidth - theme.spacing(2 * 16),\r\n boxShadow: measurementPointBoxShadow,\r\n padding: theme.spacing(6),\r\n position: 'relative',\r\n },\r\n}))\r\n","import { \r\n FormControlLabel,\r\n FormControlLabelProps\r\n} from '@material-ui/core'\r\nimport React from 'react'\r\n\r\nconst Label: React.FC = ({\r\n label,\r\n control,\r\n ...props\r\n}) => {\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default Label\r\n","enum MissingEInvoices {\r\n Many,\r\n Single,\r\n None,\r\n}\r\n\r\nexport default MissingEInvoices","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n marginBottom: theme.spacing(5),\r\n },\r\n subHeading: {\r\n color: tableTextColor,\r\n fontSize: 14,\r\n opacity: 0.55,\r\n lineHeight: '18px',\r\n letterSpacing: 0.61,\r\n marginBottom: theme.spacing(1),\r\n },\r\n text: {\r\n color: tableTextColor,\r\n opacity: 0.75,\r\n fontSize: 17,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: 0.64,\r\n lineHeight: '21px',\r\n display: 'inline-block'\r\n },\r\n item: {\r\n padding: theme.spacing(0, 4.5),\r\n borderRight: '1.8px solid #E2E8ED',\r\n },\r\n correspondenceEmail: {\r\n '& *': {\r\n padding: 0,\r\n border: 'none',\r\n },\r\n marginTop: theme.spacing(2),\r\n },\r\n row: {\r\n '& > :first-child': {\r\n paddingLeft: 0,\r\n },\r\n '& > :last-child': {\r\n paddingRight: 0,\r\n borderRight: 'none',\r\n },\r\n },\r\n}))\r\n","import { Grid, Typography } from '@material-ui/core'\r\nimport { Account } from '@shared/contracts/account'\r\nimport { MeasurementPointListItem } from '@shared/contracts/measurementPointListItem'\r\nimport React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport useStyles from './Payer.styles'\r\n\r\ninterface PayerProps {\r\n account?: Account\r\n headingClass?: string\r\n className?: string\r\n correspondenceEmail?: string\r\n stringifyAddress: (point: MeasurementPointListItem) => string\r\n}\r\n\r\nexport const Payer: React.FC = ({\r\n account,\r\n headingClass = '',\r\n className = '',\r\n correspondenceEmail,\r\n stringifyAddress,\r\n}) => {\r\n const { t } = useTranslation()\r\n const styles = useStyles()\r\n\r\n return (\r\n
\r\n \r\n {t('MY_INVOICES.E_INVOICE.PAYER')}\r\n \r\n \r\n \r\n \r\n {t('MY_INVOICES.E_INVOICE.PAYER_NUMBER')}\r\n \r\n \r\n \r\n \r\n {t('MY_INVOICES.E_INVOICE.PAYER_NAME')}\r\n \r\n \r\n \r\n \r\n {t('MY_INVOICES.E_INVOICE.MAIN_ADDRESS')}\r\n \r\n \r\n \r\n \r\n \r\n {account?.customerNumber}\r\n \r\n \r\n {account?.name}\r\n \r\n \r\n \r\n { account?.mainAddressLine1 }\r\n \r\n \r\n { account?.mainAddressLine2 }\r\n \r\n \r\n \r\n {correspondenceEmail && (\r\n \r\n \r\n \r\n {t('MY_INVOICES.E_INVOICE.E_INVOICE_EMAIL')}\r\n \r\n \r\n \r\n {correspondenceEmail}\r\n \r\n \r\n )}\r\n
\r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { textPrimaryColor } from '@mbok/styles/constants'\r\n\r\nconst border = '1.8px solid #E2E8ED'\r\nexport default makeStyles((theme: Theme) => ({\r\n measurementPoints: {\r\n borderTop: border,\r\n borderBottom: border,\r\n paddingTop: theme.spacing(6),\r\n paddingBottom: theme.spacing(4),\r\n },\r\n carouselOuterWrapper: {\r\n marginTop: theme.spacing(7),\r\n },\r\n consents: {\r\n paddingTop: theme.spacing(7),\r\n '& .MuiFormControlLabel-root': {\r\n marginLeft: 0,\r\n marginBottom: theme.spacing(2),\r\n alignItems: 'flex-start',\r\n '&:last-of-type': {\r\n marginBottom: 0,\r\n },\r\n },\r\n },\r\n consent: {\r\n width: '100%',\r\n '& .MuiFormControlLabel-label': {\r\n fontSize: 14,\r\n letterSpacing: 0.1,\r\n lineHeight: '20px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n color: textPrimaryColor,\r\n marginTop: -3,\r\n '& span': {\r\n color: theme.palette.primary.main,\r\n fontWeight: 700,\r\n },\r\n },\r\n },\r\n measurementPointsHeading: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n}))\r\n","import i18n from '@i18n/index'\r\nimport { DocumentType } from '@shared/contracts/documentType'\r\nimport { FormValues } from './ConfirmActivationPointForm'\r\n\r\ntype ConfirmActivationPointFormErrors = {\r\n [type in DocumentType]?: string\r\n}\r\n\r\nexport const validateConfirmActivationPointForm = (values: FormValues) => {\r\n const errors: ConfirmActivationPointFormErrors = {}\r\n if (!values[DocumentType.EInvoice]) {\r\n errors[DocumentType.EInvoice] = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n }\r\n if (!values[DocumentType.EInvoiceTermsAcceptance]) {\r\n errors[DocumentType.EInvoiceTermsAcceptance] = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n }\r\n return errors\r\n}\r\n","import { useEffect, useState } from 'react'\r\nimport { useAppSelector } from './store'\r\n\r\nexport const useDispatchOnCustomerNumberChange = (\r\n loadDataFn: (numberChanged: boolean) => void\r\n) => {\r\n const { selectedCustomerNumber } = useAppSelector(\r\n store => store.customerNumbers\r\n )\r\n\r\n const [previousCustomerNumber, setPreviousCustomerNumber] = useState()\r\n\r\n useEffect(() => {\r\n if (previousCustomerNumber === selectedCustomerNumber) {\r\n return\r\n }\r\n\r\n loadDataFn(\r\n !!(\r\n previousCustomerNumber &&\r\n previousCustomerNumber !== selectedCustomerNumber\r\n )\r\n )\r\n\r\n setPreviousCustomerNumber(selectedCustomerNumber)\r\n }, [selectedCustomerNumber, previousCustomerNumber, loadDataFn])\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\n\r\nexport const policiesSelector = (state: RootState) => state.policies\r\n\r\nexport const policiesLoadingSelector = createSelector(\r\n policiesSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const getDocuments = createSelector(policiesSelector, state =>\r\n state.documents.filter(doc => doc.pdfAvailable)\r\n)\r\n\r\nexport const getNoPdfDocuments = createSelector(policiesSelector, state =>\r\n state.documents.filter(doc => !doc.pdfAvailable)\r\n)\r\n","import { useDispatchOnCustomerNumberChange } from '@core/store/customerNumberDispatcher'\r\nimport { getNoPdfDocuments } from '@core/store/policies/policiesSelectors'\r\nimport { getPolicyDocument } from '@core/store/policies/policiesThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { DocumentType } from '@shared/contracts/documentType'\r\nimport { useCallback } from 'react'\r\n\r\nexport type ReducedConsent = {\r\n type: DocumentType\r\n content: string\r\n pdf?: string\r\n}\r\n\r\nconst useConfirmActivationPointFormDataSource = () => {\r\n const dispatch = useAppDispatch()\r\n\r\n const policyDocuments = useAppSelector(getNoPdfDocuments)\r\n\r\n const documentTypesToFetch: DocumentType[] = [\r\n 'EInvoice',\r\n 'EInvoiceTermsAcceptance',\r\n ]\r\n\r\n const consents = policyDocuments.map(\r\n ({ type, content }): ReducedConsent => {\r\n if (!type) {\r\n return {} as ReducedConsent\r\n }\r\n const pdf =\r\n type === DocumentType.EInvoiceTermsAcceptance\r\n ? `Documents/${DocumentType.EInvoiceTerms}/pdf`\r\n : null\r\n return {\r\n type,\r\n content,\r\n pdf,\r\n } as ReducedConsent\r\n }\r\n )\r\n\r\n const loadData = useCallback(() => {\r\n Promise.all(documentTypesToFetch.map(d => dispatch(getPolicyDocument(d))))\r\n }, [dispatch, documentTypesToFetch])\r\n\r\n\r\n useDispatchOnCustomerNumberChange(loadData)\r\n\r\n return {\r\n consents,\r\n }\r\n}\r\n\r\nexport default useConfirmActivationPointFormDataSource\r\n","import { ReactComponent as CheckedSvg } from '@images/icons/checkbox/Checked.svg'\r\nimport { ReactComponent as UncheckedSvg } from '@images/icons/checkbox/Unchecked.svg'\r\nimport { Box, Grid, Typography } from '@material-ui/core'\r\nimport useModalFormStyles from '@mbok/styles/modalForm'\r\nimport Actions from '@shared/components/Actions'\r\nimport Carousel from '@shared/components/Carousel'\r\nimport StyledCheckbox from '@shared/components/Checkbox'\r\nimport useEInvoiceStyles from '@shared/components/forms/eInvoice/style'\r\nimport Label from '@shared/components/Label'\r\nimport { Account } from '@shared/contracts/account'\r\nimport { AgreementListItem } from '@shared/contracts/agreementListItem'\r\nimport { DocumentType } from '@shared/contracts/documentType'\r\nimport { MeasurementPointListItem } from '@shared/contracts/measurementPointListItem'\r\nimport { useSavePdf } from '@shared/hooks/pdfSaver'\r\nimport { Form, Formik } from 'formik'\r\nimport React from 'react'\r\nimport { Scrollbars } from 'react-custom-scrollbars'\r\nimport { useTranslation } from 'react-i18next'\r\nimport ActivationPoint from '../ActivationPoint'\r\nimport EInvoiceSettings from '../EInvoiceSettings'\r\nimport Payer from '../Payer'\r\nimport SelectedMeasurementPoint from '../SelectedMeasurementPoint'\r\nimport useStyles from './ConfirmActivationPointForm.style'\r\nimport { validateConfirmActivationPointForm } from './ConfirmActivationPointForm.utils'\r\nimport useConfirmActivationPointFormDataSource, {\r\n ReducedConsent,\r\n} from './dataSource'\r\n\r\nexport type FormValues = {\r\n [type in DocumentType]?: boolean\r\n}\r\n\r\ninterface ConfirmActivationPointFormProps {\r\n account?: Account\r\n selectedMeasurementPoints: MeasurementPointListItem[]\r\n correspondenceEmail: string\r\n onCancel: () => void\r\n onSubmit: () => void\r\n selectedActivationPointOption: ActivationPoint | undefined\r\n stringify: (point: MeasurementPointListItem) => string\r\n settings: EInvoiceSettings\r\n setSelectedMeasurementPoints: (points: MeasurementPointListItem[]) => void\r\n update?: boolean\r\n eInvoiceAgreements?: (AgreementListItem | undefined)[]\r\n}\r\n\r\nexport const ConfirmActivationPointForm: React.FC = ({\r\n account,\r\n selectedMeasurementPoints,\r\n correspondenceEmail,\r\n onCancel,\r\n onSubmit,\r\n selectedActivationPointOption,\r\n stringify,\r\n settings,\r\n setSelectedMeasurementPoints,\r\n update = false,\r\n eInvoiceAgreements,\r\n}) => {\r\n const formStyles = useModalFormStyles()\r\n const { t } = useTranslation()\r\n const styles = useStyles()\r\n const { consents } = useConfirmActivationPointFormDataSource()\r\n const eInvoiceStyles = useEInvoiceStyles()\r\n const savePdf = useSavePdf()\r\n\r\n const initialValues: FormValues = {\r\n [DocumentType.EInvoice]: false,\r\n [DocumentType.EInvoiceTermsAcceptance]: false,\r\n }\r\n\r\n const changeFor = React.useMemo((): string => {\r\n const prefix = 'MY_INVOICES.E_INVOICE.ACTIVATION_POINTS.'\r\n const count = ` (${selectedMeasurementPoints.length})`\r\n\r\n if (selectedActivationPointOption === ActivationPoint.Many) {\r\n return t(`${prefix}MANY`) + count\r\n }\r\n if (selectedActivationPointOption === ActivationPoint.All) {\r\n return t(`${prefix}ALL`) + count\r\n }\r\n if (settings.hasSelectedAgreementEInvoice && !update) {\r\n return t(`${prefix}SINGLE`)\r\n }\r\n return t(`${prefix}SELECTED`)\r\n }, [\r\n t,\r\n selectedActivationPointOption,\r\n settings,\r\n selectedMeasurementPoints.length,\r\n update,\r\n ])\r\n\r\n const onFormCancel = React.useCallback(() => {\r\n if (selectedActivationPointOption !== ActivationPoint.Many) {\r\n setSelectedMeasurementPoints([])\r\n }\r\n onCancel()\r\n }, [onCancel, selectedActivationPointOption, setSelectedMeasurementPoints])\r\n\r\n const replaceConsentLink = (consent: ReducedConsent) => {\r\n const linkPattern = /\\*.*\\*/\r\n const matched = consent.content.match(linkPattern)\r\n if (matched !== null && consent.pdf) {\r\n const exploded = consent.content.split(matched[0])\r\n const noMarks = matched[0].replaceAll('*', '')\r\n const pdf = savePdf(\r\n consent.pdf ?? '',\r\n (_, saveFn) => saveFn()}>{noMarks},\r\n noMarks\r\n )\r\n\r\n return [exploded[0], pdf, exploded[1]]\r\n }\r\n return [consent.content]\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {t(\r\n update\r\n ? 'MY_INVOICES.E_INVOICE.CONFIRM_UPDATE'\r\n : 'MY_INVOICES.E_INVOICE.CONFIRM_ACTIVATION'\r\n )}\r\n \r\n \r\n {\r\n onSubmit()\r\n }}\r\n validate={update ? undefined : validateConfirmActivationPointForm}\r\n >\r\n {({ values, setFieldValue }) => (\r\n
\r\n \r\n {`${t(\r\n update\r\n ? 'MY_INVOICES.E_INVOICE.UPDATE_FOR'\r\n : 'MY_INVOICES.E_INVOICE.ACTIVATE_FOR'\r\n )} ${changeFor}:`}\r\n \r\n 1\r\n }\r\n className={eInvoiceStyles.carouselInnerWrapper}\r\n >\r\n {selectedMeasurementPoints.map(\r\n (option: MeasurementPointListItem) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n {!update && (\r\n \r\n {consents?.map((consent: ReducedConsent) => (\r\n part\r\n )}\r\n control={\r\n }\r\n checkedIcon={}\r\n style={{ marginRight: 8 }}\r\n checked={values[consent.type]}\r\n onChange={() =>\r\n setFieldValue(consent.type, !values[consent.type])\r\n }\r\n />\r\n }\r\n className={styles.consent}\r\n />\r\n ))}\r\n \r\n )}\r\n\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","enum ActivatedEInvoices {\r\n All,\r\n Some,\r\n None,\r\n}\r\n\r\nexport default ActivatedEInvoices","import { makeStyles } from '@material-ui/core'\r\nimport { Theme } from '@material-ui/core'\r\nimport { secondaryColor } from '@mbok/styles/constants'\r\n\r\nconst height = 20\r\nconst widht = height\r\nconst size = height\r\nconst borderColor = '#E2E8ED'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n icon: {\r\n width: widht,\r\n height: height,\r\n borderRadius: size,\r\n border: `2px solid ${borderColor}`,\r\n backgroundColor: 'white',\r\n },\r\n checkedIcon: {\r\n width: widht,\r\n height: height,\r\n borderRadius: size,\r\n boxShadow: 'inset 0 0 0 3px white',\r\n border: `1px solid ${borderColor}`,\r\n backgroundColor: secondaryColor,\r\n },\r\n wrapper: {\r\n alignItems: 'flex-start',\r\n },\r\n label: {\r\n marginTop: 8,\r\n fontSize: 14,\r\n fontWeight: theme.typography.fontWeightBold,\r\n marginBottom: 14,\r\n '&:last-of-type': {\r\n marginBottom: 0,\r\n },\r\n },\r\n}))\r\n","import {\r\n Radio as MaterialRadio,\r\n RadioProps as MaterialRadioProps,\r\n} from '@material-ui/core'\r\nimport React from 'react'\r\nimport Label from '../Label'\r\nimport useStyles from './Radio.style'\r\n\r\ninterface RadioProps {\r\n label?: string | React.ReactElement\r\n}\r\n\r\nexport const Radio: React.FC = ({\r\n value,\r\n label = '',\r\n}) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n }\r\n checkedIcon={}\r\n />\r\n }\r\n label={label}\r\n classes={{root: styles.wrapper, label: styles.label}}\r\n />\r\n )\r\n}\r\n","import {\r\n FormControl,\r\n RadioGroup as MaterialRadioGroup,\r\n RadioGroupProps as MaterialRadioGroupProps,\r\n Typography,\r\n} from '@material-ui/core'\r\nimport React from 'react'\r\nimport Radio from '../Radio'\r\n\r\nexport interface Option {\r\n value: string\r\n label: string | React.ReactElement\r\n}\r\n\r\ninterface RadioGroupProps {\r\n label: string\r\n options: Option[]\r\n headingClass?: string\r\n}\r\n\r\nexport const RadioGroup: React.FC<\r\n RadioGroupProps & MaterialRadioGroupProps\r\n> = ({\r\n label,\r\n name,\r\n value,\r\n onChange,\r\n options,\r\n headingClass = '',\r\n className,\r\n}) => {\r\n return (\r\n
\r\n {label}\r\n \r\n \r\n {options.map((option: Option) => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n )\r\n}\r\n","import { makeStyles } from '@material-ui/core'\r\nimport { textPrimaryColor } from '@mbok/styles/constants'\r\n\r\nconst border = '1.8px solid #E2E8ED'\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n borderTop: '1.8px solid #E2E8ED',\r\n paddingTop: theme.spacing(6),\r\n },\r\n emailWrapper: {\r\n width: '100%',\r\n alignItems: 'initial',\r\n margin: 0,\r\n paddingTop: theme.spacing(5),\r\n marginTop: theme.spacing(5),\r\n borderTop: '1.8px solid #E2E8ED',\r\n },\r\n measurementPointsHeading: {\r\n marginBottom: theme.spacing(4),\r\n },\r\n singleMeasurementPointHeading: {\r\n color: textPrimaryColor,\r\n fontSize: 14,\r\n fontWeight: theme.typography.fontWeightBold,\r\n lineHeight: '20px',\r\n letterSpacing: 0.1,\r\n },\r\n singleMeasurementPointText: {\r\n color: 'rgba(29, 72, 116, 0.55)',\r\n },\r\n messages: {\r\n borderBottom: border,\r\n padding: theme.spacing(0, 0, 8)\r\n }\r\n}))\r\n","import { Typography } from '@material-ui/core'\r\nimport React from 'react'\r\n\r\ninterface Classes {\r\n wrapper?: string\r\n heading?: string\r\n text?: string\r\n}\r\n\r\ninterface SingleMeasurementPointProps {\r\n classes?: Classes\r\n heading?: string\r\n measurementPoint: string | React.ReactElement\r\n}\r\n\r\nexport const SingleMeasurementPoint: React.FC = ({\r\n classes = {},\r\n heading,\r\n measurementPoint,\r\n}) => {\r\n return (\r\n
\r\n {heading && (\r\n {heading}\r\n )}\r\n {classes?.text ? (\r\n {measurementPoint}\r\n ) : (\r\n <>{measurementPoint}\r\n )}\r\n
\r\n )\r\n}\r\n","import i18n from '@i18n/index'\r\n\r\nexport const capitalize = (text: string) =>\r\n text.charAt(0).toUpperCase() + text.slice(1)\r\n\r\nexport const emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i\r\n\r\nconst phoneRegex = /^(([+][0-9]{2}|[0]{2}[0-9]{2}){0,1}[1-9][0-9]{8})$/i\r\n\r\nexport interface ISingleFieldValues {\r\n field1: string\r\n}\r\n\r\nexport interface ISingleFieldErrors {\r\n field1?: string\r\n}\r\n\r\nexport const validateEmailForm = (values: ISingleFieldValues) => {\r\n const errors: ISingleFieldErrors = {}\r\n if (!values.field1) {\r\n errors.field1 = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n if (!emailRegex.test(values.field1))\r\n errors.field1 = i18n().t('FORM_ERRORS.EMAIL')\r\n }\r\n return errors\r\n}\r\n\r\nexport const validatePhoneForm = (values: ISingleFieldValues) => {\r\n const errors: ISingleFieldErrors = {}\r\n if (!values.field1) {\r\n errors.field1 = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n if (!phoneRegex.test(values.field1))\r\n errors.field1 = i18n().t('FORM_ERRORS.PHONE_NUMBER')\r\n }\r\n return errors\r\n}\r\n\r\nexport interface IDoubleFieldValues {\r\n field1: string\r\n field2: string\r\n}\r\n\r\nexport interface IDoubleFieldErrors {\r\n field1?: string\r\n field2?: string\r\n}\r\n\r\nexport const validateAddressForm = (values: IDoubleFieldValues) => {\r\n const errors: IDoubleFieldErrors = {}\r\n if (!values.field1) {\r\n errors.field1 = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n if (values.field1.length < 7 || values.field1.length > 255)\r\n errors.field1 = i18n().t('FORM_ERRORS.LENGTH', { min: 7, max: 255 })\r\n }\r\n if (!values.field2) {\r\n errors.field2 = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n if (values.field2.length < 7 || values.field2.length > 255)\r\n errors.field2 = i18n().t('FORM_ERRORS.LENGTH', { min: 7, max: 255 })\r\n }\r\n return errors\r\n}\r\n","import i18n from '@i18n/index'\r\nimport ActivationPoint from '../ActivationPoint'\r\nimport { FormValues } from './SelectActivationPointForm'\r\nimport { emailRegex } from '@mbok/features/MySettings/components/forms/EditFieldForm/EditFieldForm.utils'\r\n\r\ninterface ActivationPointFormErrors {\r\n activationPoint?: string\r\n email?: string\r\n selectedMeasurementPoints?: string\r\n}\r\n\r\nexport const validateActivationPointForm = (values: FormValues) => {\r\n const errors: ActivationPointFormErrors = {}\r\n\r\n if (\r\n Number(values.activationPoint) === ActivationPoint.Many &&\r\n values.selectedMeasurementPoints.length === 0\r\n ) {\r\n errors.selectedMeasurementPoints = i18n().t(\r\n 'FORM_ERRORS.NO_MEASUREMENT_POINTS_SELECTED'\r\n )\r\n }\r\n if (!values.email) {\r\n errors.email = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else if (!emailRegex.test(values.email)) {\r\n errors.email = i18n().t('FORM_ERRORS.EMAIL')\r\n }\r\n\r\n return errors\r\n}\r\n","export enum tokenLinkReducers {\r\n generatedTokenLink = 'generatedTokenLink'\r\n}","export const capitalize = (text: string) =>\r\n text.charAt(0).toUpperCase() + text.slice(1)\r\n","import { AgreementListItem } from '@shared/contracts/agreementListItem'\r\nimport { MeasurementPointListItem } from '@shared/contracts/measurementPointListItem'\r\nimport { getAgreementsIds } from './measurementPoints'\r\n\r\nconst getAgreementsAssignedToEmail = (\r\n email: string,\r\n agreements: (AgreementListItem | undefined)[]\r\n) => {\r\n return (\r\n agreements &&\r\n agreements.filter((agreement: AgreementListItem | undefined) => {\r\n return (\r\n agreement &&\r\n agreement?.emailAddresses &&\r\n agreement?.emailAddresses[0] === email\r\n )\r\n })\r\n )\r\n}\r\n\r\nconst getAgreementsAssignedToOtherEmailThan = (\r\n email: string,\r\n agreements: (AgreementListItem | undefined)[]\r\n) => {\r\n return (\r\n agreements &&\r\n agreements.filter((agreement: AgreementListItem | undefined) => {\r\n return (\r\n agreement &&\r\n agreement?.emailAddresses &&\r\n agreement?.emailAddresses[0] !== email\r\n )\r\n })\r\n )\r\n}\r\n\r\nconst isEmailAssignedToAgreements = (\r\n email: string,\r\n agreements: (AgreementListItem | undefined)[]\r\n) => {\r\n return getAgreementsAssignedToEmail(email, agreements).length > 0\r\n}\r\n\r\nconst isMeasurementPointAssignedToAgreement = (\r\n measurementPoint: MeasurementPointListItem,\r\n agreements: (AgreementListItem | undefined)[]\r\n) => {\r\n const agreementsFound = agreements?.find(\r\n (agreement: AgreementListItem | undefined) =>\r\n agreement?.agreementId === measurementPoint?.agreementId\r\n )\r\n return !!agreementsFound\r\n}\r\n\r\nconst getMeasurementPointsAgreementsNumbers = (\r\n measurementPoints: MeasurementPointListItem[],\r\n agreements: (AgreementListItem | undefined)[]\r\n) => {\r\n if (!agreements) {\r\n return undefined\r\n }\r\n const ids = getAgreementsIds(measurementPoints)\r\n return agreements\r\n .filter(\r\n (agreement: AgreementListItem | undefined) =>\r\n agreement && ids.includes(agreement.agreementId)\r\n )\r\n .map(\r\n (agreement: AgreementListItem | undefined) =>\r\n agreement && agreement.documentNumber\r\n )\r\n}\r\nconst getUniqueEmails = (agreements: (AgreementListItem | undefined)[]) => {\r\n let emails: string[] = []\r\n agreements?.forEach(\r\n (agreement: AgreementListItem | undefined) =>\r\n (emails = [...emails, ...(agreement?.emailAddresses ?? [])])\r\n )\r\n\r\n return [...Array.from(new Set(emails))]\r\n}\r\n\r\nconst isEInvoiceEmailsLimitExceeded = (\r\n agreements: (AgreementListItem | undefined)[],\r\n email: string, \r\n correspondentialEmail: string | undefined\r\n) => {\r\n const uniqueEmails = getUniqueEmails(agreements)\r\n if ((uniqueEmails.length === 2 && !uniqueEmails.includes(email))\r\n || (uniqueEmails.length === 1 && !uniqueEmails.includes(correspondentialEmail ?? ''))) {\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nexport {\r\n getAgreementsAssignedToEmail,\r\n isEmailAssignedToAgreements,\r\n isMeasurementPointAssignedToAgreement,\r\n getMeasurementPointsAgreementsNumbers,\r\n isEInvoiceEmailsLimitExceeded,\r\n getUniqueEmails,\r\n getAgreementsAssignedToOtherEmailThan,\r\n}\r\n\r\n","import React from 'react'\r\nimport { Grid, Typography } from '@material-ui/core'\r\nimport { useTranslation } from 'react-i18next'\r\nimport useModalFormStyles from '@mbok/styles/modalForm'\r\nimport { Account } from '@shared/contracts/account'\r\nimport { MeasurementPointListItem } from '@shared/contracts/measurementPointListItem'\r\nimport { Form, Formik } from 'formik'\r\nimport RadioGroup from '@shared/components/RadioGroup'\r\nimport { createFilterOptions } from '@material-ui/lab'\r\nimport Autocomplete from '@shared/components/Autocomplete'\r\nimport Label from '@shared/components/Label'\r\nimport Payer from '../Payer'\r\nimport Actions from '@shared/components/Actions'\r\nimport ActivationPoint from '../ActivationPoint'\r\nimport { AgreementListItem } from '@shared/contracts/agreementListItem'\r\nimport SelectedMeasurementPoint from '../SelectedMeasurementPoint'\r\nimport useStyles from './SelectActivationPointForm.style'\r\nimport FormikField from '@shared/components/modals/Modal/FormikField'\r\nimport { ErrorPosition } from '@shared/components/modals/Modal/TextField/TextField'\r\nimport { Option } from '@shared/components/RadioGroup/RadioGroup'\r\nimport { getMeasurementPointsFilteredByAgreements } from '@shared/utils/measurementPoints'\r\nimport SingleMeasurementPoint from '../SingleMeasurementPoint'\r\nimport { validateActivationPointForm } from './SelectActivationPointForm.utils'\r\nimport { Scrollbars } from 'react-custom-scrollbars'\r\nimport { isEmpty } from 'ramda'\r\nimport EInvoiceSettings from '../EInvoiceSettings'\r\nimport MissingEInvoices from '../MissingEInvoices'\r\nimport useEInvoiceStyles from '@shared/components/forms/eInvoice/style'\r\nimport ActivatedEInvoices from '../ActivatedEInvoices'\r\nimport { capitalize } from '@shared/utils/stringParser'\r\nimport { getUniqueEmails } from '@shared/utils/agreements'\r\n\r\ninterface Classes {\r\n selectedMeasurementPoint?: string\r\n selectedMeasurementPointWide?: string\r\n headingClass?: string\r\n}\r\n\r\ninterface EInvoiceOptions {\r\n all: Option\r\n selected: Option\r\n many: Option\r\n}\r\n\r\ninterface SelectActivationPointFormProps {\r\n account?: Account\r\n measurementPoints: {\r\n data: MeasurementPointListItem[]\r\n currentMeasurementPoint: MeasurementPointListItem | undefined\r\n }\r\n onCancel: () => void\r\n onSubmit: () => void\r\n correspondenceEmail: string\r\n setCorrespondenceEmail: (email: string) => void\r\n selectedMeasurementPoints: MeasurementPointListItem[]\r\n setSelectedMeasurementPoints: (points: MeasurementPointListItem[]) => void\r\n selectedActivationPointOption: ActivationPoint | undefined\r\n setSelectedActivationPointOption: (option: ActivationPoint) => void\r\n noEInvoiceAgreements?: (AgreementListItem | undefined)[]\r\n eInvoiceAgreements?: (AgreementListItem | undefined)[]\r\n stringify: (point: MeasurementPointListItem) => string\r\n settings: EInvoiceSettings\r\n update?: boolean\r\n}\r\n\r\nexport interface FormValues {\r\n activationPoint: string\r\n email: string\r\n selectedMeasurementPoints: MeasurementPointListItem[]\r\n}\r\n\r\nexport const SelectActivationPointForm: React.FC = ({\r\n account,\r\n measurementPoints,\r\n onCancel,\r\n onSubmit,\r\n correspondenceEmail,\r\n setCorrespondenceEmail,\r\n selectedMeasurementPoints,\r\n setSelectedMeasurementPoints,\r\n selectedActivationPointOption,\r\n setSelectedActivationPointOption,\r\n noEInvoiceAgreements,\r\n eInvoiceAgreements,\r\n stringify,\r\n settings,\r\n update = false,\r\n}) => {\r\n const formStyles = useModalFormStyles()\r\n const { t } = useTranslation()\r\n const styles = useStyles()\r\n const eInvoiceStyles = useEInvoiceStyles()\r\n\r\n const [\r\n availableMeasurementPoints,\r\n setAvailableMeasurementPoints,\r\n ] = React.useState([])\r\n\r\n React.useEffect(() => {\r\n if (update) {\r\n setAvailableMeasurementPoints(\r\n getMeasurementPointsFilteredByAgreements(\r\n measurementPoints.data,\r\n eInvoiceAgreements ?? []\r\n )\r\n )\r\n return\r\n }\r\n setAvailableMeasurementPoints(\r\n getMeasurementPointsFilteredByAgreements(\r\n measurementPoints.data,\r\n noEInvoiceAgreements ?? []\r\n )\r\n )\r\n }, [measurementPoints.data, noEInvoiceAgreements, update, eInvoiceAgreements])\r\n\r\n const filterOptions = createFilterOptions({\r\n stringify: stringify,\r\n })\r\n\r\n // Use callback instead of memo to avoid manual deep cloning of the returned object.\r\n const getPreOptions = React.useCallback((): EInvoiceOptions => {\r\n return {\r\n all: {\r\n value: ActivationPoint.All.toString(),\r\n label: t('MY_INVOICES.E_INVOICE.ACTIVATION_POINTS.ALL'),\r\n },\r\n selected: {\r\n value: ActivationPoint.One.toString(),\r\n label: <>,\r\n },\r\n many: {\r\n value: ActivationPoint.Many.toString(),\r\n label: t('MY_INVOICES.E_INVOICE.ACTIVATION_POINTS.MANY'),\r\n },\r\n }\r\n }, [t])\r\n\r\n const updateOptions = React.useMemo((): Option[] | undefined => {\r\n if (!update) {\r\n return undefined\r\n }\r\n const newOptions = getPreOptions()\r\n const currentPoint = measurementPoints.currentMeasurementPoint\r\n newOptions.selected.label = (\r\n \r\n )\r\n newOptions.all.label = capitalize(\r\n `${newOptions.all.label} ${t(\r\n 'MY_INVOICES.E_INVOICE.WITH_ACTIVATED_E_INVOICE'\r\n )}`.toLowerCase()\r\n )\r\n newOptions.many.label = capitalize(\r\n `${newOptions.many.label} ${t(\r\n 'MY_INVOICES.E_INVOICE.WITH_ACTIVATED_E_INVOICE'\r\n )}:`.toLowerCase()\r\n )\r\n\r\n if (\r\n settings.hasManyAgreements &&\r\n eInvoiceAgreements &&\r\n getUniqueEmails(eInvoiceAgreements).some(\r\n (emailAddress: string) => emailAddress !== account?.correspondenceEmail\r\n )\r\n ) {\r\n return [newOptions.all]\r\n } else if (settings.hasManyAgreements) {\r\n switch (settings.activatedEInvoices) {\r\n case ActivatedEInvoices.All:\r\n return [newOptions.all, newOptions.selected, newOptions.many]\r\n case ActivatedEInvoices.Some:\r\n return [newOptions.all, newOptions.selected, newOptions.many]\r\n }\r\n }\r\n if (settings.activatedEInvoices === ActivatedEInvoices.All) {\r\n newOptions.selected.label = (\r\n \r\n )\r\n return [newOptions.selected]\r\n }\r\n\r\n return undefined\r\n }, [\r\n measurementPoints.currentMeasurementPoint,\r\n getPreOptions,\r\n settings,\r\n stringify,\r\n t,\r\n update,\r\n styles.singleMeasurementPointHeading,\r\n styles.singleMeasurementPointText,\r\n eInvoiceStyles.selectedMeasurementPointWide,\r\n account,\r\n eInvoiceAgreements,\r\n ])\r\n\r\n const activateOptions = React.useMemo((): Option[] | undefined => {\r\n if (update) {\r\n return undefined\r\n }\r\n const newOptions = getPreOptions()\r\n const currentPoint = measurementPoints.currentMeasurementPoint\r\n const labelSelected = (\r\n \r\n )\r\n const noEInvoicePoint = getMeasurementPointsFilteredByAgreements(\r\n measurementPoints.data,\r\n noEInvoiceAgreements ?? []\r\n )[0]\r\n const labelSingle = (\r\n \r\n )\r\n newOptions.many.label += ':'\r\n\r\n if (settings.hasSelectedAgreementEInvoice) {\r\n switch (settings.missingEInvoices) {\r\n case MissingEInvoices.Many:\r\n return [newOptions.all, newOptions.many]\r\n case MissingEInvoices.Single:\r\n newOptions.selected.label = labelSingle\r\n return [newOptions.selected]\r\n case MissingEInvoices.None:\r\n return []\r\n }\r\n }\r\n switch (settings.missingEInvoices) {\r\n case MissingEInvoices.Many:\r\n newOptions.selected.label = labelSelected\r\n return [newOptions.all, newOptions.selected, newOptions.many]\r\n case MissingEInvoices.Single:\r\n newOptions.selected.label = labelSingle\r\n return [newOptions.selected]\r\n case MissingEInvoices.None:\r\n return []\r\n }\r\n\r\n return undefined\r\n }, [\r\n getPreOptions,\r\n settings,\r\n measurementPoints.data,\r\n measurementPoints.currentMeasurementPoint,\r\n t,\r\n stringify,\r\n noEInvoiceAgreements,\r\n styles.singleMeasurementPointHeading,\r\n styles.singleMeasurementPointText,\r\n eInvoiceStyles.selectedMeasurementPointWide,\r\n update,\r\n ])\r\n\r\n const options = update ? updateOptions : activateOptions\r\n\r\n const initialActivationPointOption = React.useMemo(() => {\r\n if (!options) {\r\n return undefined\r\n }\r\n if (\r\n options.length === 1 &&\r\n update &&\r\n eInvoiceAgreements &&\r\n getUniqueEmails(eInvoiceAgreements).some(\r\n (email: string) => email !== account?.correspondenceEmail\r\n )\r\n ) {\r\n return ActivationPoint.All\r\n } else if (options.length === 1) {\r\n return 'selected' in options ? ActivationPoint.One : ActivationPoint.All\r\n }\r\n if (options.length > 1) {\r\n return ActivationPoint.All\r\n }\r\n return undefined\r\n }, [options, account, eInvoiceAgreements, update])\r\n\r\n const parsedSelectedActivationPointOption = React.useMemo(() => {\r\n if (selectedActivationPointOption === undefined) {\r\n if (initialActivationPointOption === undefined) {\r\n return ''\r\n }\r\n return initialActivationPointOption.toString()\r\n }\r\n return selectedActivationPointOption.toString()\r\n }, [initialActivationPointOption, selectedActivationPointOption])\r\n\r\n const initialValuesRefs = {\r\n activationPoint: React.useRef(parsedSelectedActivationPointOption),\r\n email: React.useRef(correspondenceEmail),\r\n selectedMeasurementPoints: React.useRef(selectedMeasurementPoints),\r\n }\r\n\r\n const initialValues: FormValues = React.useMemo(() => {\r\n return {\r\n activationPoint: initialValuesRefs.activationPoint.current,\r\n email: initialValuesRefs.email.current,\r\n selectedMeasurementPoints:\r\n initialValuesRefs.selectedMeasurementPoints.current,\r\n }\r\n }, [initialValuesRefs])\r\n\r\n const removeMeasurementPoint = (\r\n measurementPoint: MeasurementPointListItem\r\n ) => {\r\n const selected = selectedMeasurementPoints.filter(\r\n (point: MeasurementPointListItem) =>\r\n point.measurementPointId !== measurementPoint.measurementPointId\r\n )\r\n setSelectedMeasurementPoints(selected)\r\n return selected\r\n }\r\n\r\n const isManyActivationPointsSelected = (value?: string) => {\r\n return value && value === ActivationPoint.Many.toString()\r\n }\r\n\r\n const onFormSubmit = (values: FormValues) => {\r\n const currentPoint = measurementPoints.currentMeasurementPoint\r\n switch (Number(values.activationPoint)) {\r\n case ActivationPoint.All:\r\n setSelectedMeasurementPoints(availableMeasurementPoints)\r\n break\r\n case ActivationPoint.One:\r\n if (update) {\r\n currentPoint && setSelectedMeasurementPoints([currentPoint])\r\n break\r\n } else if (settings.hasSelectedAgreementEInvoice) {\r\n setSelectedMeasurementPoints(availableMeasurementPoints)\r\n break\r\n } else {\r\n currentPoint && setSelectedMeasurementPoints([currentPoint])\r\n }\r\n break\r\n case ActivationPoint.Many:\r\n setSelectedMeasurementPoints(values.selectedMeasurementPoints)\r\n break\r\n }\r\n setSelectedActivationPointOption(Number(values.activationPoint))\r\n setCorrespondenceEmail(values.email)\r\n onSubmit()\r\n }\r\n\r\n const singleMeasurementPointHeading = React.useMemo(() => {\r\n const activateFor = update\r\n ? t('MY_INVOICES.E_INVOICE.UPDATE_FOR')\r\n : t('MY_INVOICES.E_INVOICE.ACTIVATE_FOR')\r\n const prefix = 'MY_INVOICES.E_INVOICE.ACTIVATION_POINTS.'\r\n if (settings.hasSelectedAgreementEInvoice) {\r\n return `${activateFor} ${t(prefix + 'SINGLE')}:`\r\n }\r\n return `${activateFor} ${t(prefix + 'ALL')}:`\r\n }, [t, settings.hasSelectedAgreementEInvoice, update])\r\n\r\n let message: String\r\n if (\r\n update &&\r\n eInvoiceAgreements &&\r\n getUniqueEmails(eInvoiceAgreements).some(\r\n (email: string) => email !== account?.correspondenceEmail\r\n )\r\n ) {\r\n message = t('MY_INVOICES.E_INVOICE.LIMIT_EXCEEDED_MESSAGE_1')\r\n } else if (\r\n !update &&\r\n eInvoiceAgreements &&\r\n (getUniqueEmails(eInvoiceAgreements).length === 2 ||\r\n (getUniqueEmails(eInvoiceAgreements).length === 1 &&\r\n !getUniqueEmails(eInvoiceAgreements).includes(\r\n account?.correspondenceEmail ?? ''\r\n )))\r\n ) {\r\n message = t('MY_INVOICES.E_INVOICE.LIMIT_EXCEEDED_MESSAGE_2')\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {update\r\n ? t('MY_INVOICES.E_INVOICE.UPDATE')\r\n : t('MY_INVOICES.E_INVOICE.ACTIVATE')}\r\n \r\n \r\n \r\n \r\n {({ values, setFieldValue, touched, errors }) => (\r\n
\r\n {options && options.length > 1 ? (\r\n <>\r\n {\r\n setFieldValue(\r\n 'activationPoint',\r\n event.currentTarget.value\r\n )\r\n setSelectedActivationPointOption(\r\n Number(event.currentTarget.value)\r\n )\r\n }}\r\n options={options}\r\n headingClass={eInvoiceStyles.modalHeading}\r\n />\r\n {\r\n setSelectedMeasurementPoints(\r\n newValue as MeasurementPointListItem[]\r\n )\r\n setFieldValue('selectedMeasurementPoints', newValue)\r\n }}\r\n value={values.selectedMeasurementPoints}\r\n stringify={stringify}\r\n selectedOptions={selectedMeasurementPoints}\r\n disabled={\r\n !isManyActivationPointsSelected(values.activationPoint)\r\n }\r\n carousel={\r\n !!isManyActivationPointsSelected(values.activationPoint)\r\n }\r\n error={\r\n touched.selectedMeasurementPoints &&\r\n errors.selectedMeasurementPoints\r\n ? (errors.selectedMeasurementPoints as string)\r\n : undefined\r\n }\r\n classes={{\r\n root: eInvoiceStyles.autocompleteWrapper,\r\n carouselOuterWrapper:\r\n eInvoiceStyles.carouselOuterWrapper,\r\n carouselInnerWrapper:\r\n eInvoiceStyles.carouselInnerWrapper,\r\n popper: eInvoiceStyles.autocompletePopper,\r\n }}\r\n errorPosition={ErrorPosition.Disable}\r\n >\r\n {selectedMeasurementPoints.length > 0 ? (\r\n selectedMeasurementPoints.map(\r\n (option: MeasurementPointListItem) => (\r\n {\r\n setFieldValue(\r\n 'selectedMeasurementPoints',\r\n removeMeasurementPoint(option)\r\n )\r\n }}\r\n disabled={\r\n !isManyActivationPointsSelected(\r\n values.activationPoint\r\n )\r\n }\r\n address={stringify(option)}\r\n className={\r\n eInvoiceStyles.selectedMeasurementPoint\r\n }\r\n />\r\n )\r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {\r\n setFieldValue('email', event.currentTarget.value)\r\n }}\r\n />\r\n }\r\n label={\r\n (update\r\n ? t('MY_INVOICES.E_INVOICE.UPDATE_EMAIL_LABEL')\r\n : t('MY_INVOICES.E_INVOICE.SELECTED_EMAIL_LABEL')) + ':'\r\n }\r\n labelPlacement=\"top\"\r\n classes={{\r\n root: styles.emailWrapper,\r\n label: eInvoiceStyles.modalHeading,\r\n }}\r\n />\r\n {!!message &&
{message}
}\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { CreateCSSProperties } from '@material-ui/core/styles/withStyles'\r\nimport { duration } from '@material-ui/core/styles/transitions'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst TEXTAREA_HEIGHT = 207\r\n\r\nconst getTextAreaStyles = (theme: Theme): CreateCSSProperties<{}> => ({\r\n width: '100%',\r\n border: '1.8px solid',\r\n borderColor: '#CECECE',\r\n backgroundColor: '#F9F9F9',\r\n paddingLeft: theme.spacing(5),\r\n paddingRight: theme.spacing(5),\r\n boxSizing: 'border-box',\r\n borderRadius: 4,\r\n height: `${TEXTAREA_HEIGHT}px !important`,\r\n transition: `border-color ${duration.standard / 1000}s`,\r\n paddingTop: theme.spacing(2.5),\r\n paddingBottom: theme.spacing(2.5),\r\n letterSpacing: 0.2,\r\n resize: 'none',\r\n outline: 'none',\r\n color: tableTextColor,\r\n fontSize: 15,\r\n '&::placeholder': {\r\n color: tableTextColor,\r\n letterSpacing: 0.2,\r\n opacity: 0.55,\r\n },\r\n})\r\n\r\nexport default makeStyles(theme => ({\r\n textarea: {\r\n ...getTextAreaStyles(theme),\r\n },\r\n textareaError: {\r\n ...getTextAreaStyles(theme),\r\n borderColor: theme.palette.error.main,\r\n },\r\n}))\r\n","import React from 'react'\r\nimport {\r\n Grid,\r\n TextareaAutosize,\r\n TextareaAutosizeProps,\r\n} from '@material-ui/core'\r\nimport ErrorMessage from '../ErrorMessage'\r\nimport useStyles from './TextArea.style'\r\n\r\nexport interface ITextAreaProps extends TextareaAutosizeProps {\r\n name: string\r\n formError?: string\r\n}\r\n\r\nconst TextArea: React.FC = ({\r\n className = '',\r\n formError,\r\n ...props\r\n}) => {\r\n const styles = useStyles()\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default TextArea\r\n","import React, { FunctionComponent } from 'react'\r\nimport { Field, useFormikContext } from 'formik'\r\nimport TextArea from '../TextArea'\r\nimport { ITextAreaProps } from '../TextArea/TextArea'\r\n\r\ninterface IFormikTextAreaProps extends Omit {}\r\n\r\nconst FormikTextArea: FunctionComponent = ({\r\n name,\r\n required = false,\r\n disabled = false,\r\n ...props\r\n}) => {\r\n const formikContext = useFormikContext()\r\n const formikErrors: {\r\n [key: string]: string\r\n } = formikContext.errors\r\n const formikTouchedFields: {\r\n [key: string]: string\r\n } = formikContext.touched\r\n const fieldError = formikTouchedFields[name] ? formikErrors[name] : undefined\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default FormikTextArea\r\n","import { makeStyles } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles(theme => ({\r\n title: {\r\n color: tableTextColor,\r\n fontWeight: 'bold',\r\n letterSpacing: 0.1,\r\n fontSize: 25,\r\n lineHeight: '32px',\r\n textAlign: 'center',\r\n },\r\n titleSmall: {\r\n color: tableTextColor,\r\n fontWeight: 'bold',\r\n letterSpacing: 0.6,\r\n fontSize: 14,\r\n lineHeight: '17px',\r\n },\r\n subtitle: {\r\n color: '#7c8a97',\r\n fontWeight: 'bold',\r\n letterSpacing: 0.2,\r\n lineHeight: '30px',\r\n fontSize: 22,\r\n '&:not(:first-child)': {\r\n marginTop: theme.spacing(5.5),\r\n },\r\n },\r\n subtitleSmall: {\r\n color: '#7c8a97',\r\n letterSpacing: 0.6,\r\n fontSize: 14,\r\n lineHeight: '17px',\r\n '&:not(:first-child)': {\r\n marginTop: theme.spacing(5.5),\r\n },\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { Typography, TypographyProps } from '@material-ui/core'\r\nimport useStyles from './Text.style'\r\n\r\nexport interface IText extends Omit {\r\n title?: boolean\r\n small?: boolean\r\n}\r\n\r\nconst Text: React.FC = ({\r\n title = false,\r\n small = false,\r\n children,\r\n className = '',\r\n ...props\r\n}) => {\r\n const styles = useStyles()\r\n const getTitleClass = () => {\r\n if (title && small) return styles.titleSmall\r\n if (title) return styles.title\r\n if (small) return styles.subtitleSmall\r\n return styles.subtitle\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default Text\r\n","import { IReportFormErrors, IReportFormValues } from './ReportForm'\r\nimport { DESCRIPTION_LENGTH, REQUIRED, TITLE_LENGTH } from './strings'\r\n\r\nexport const MAX_TITLE_LENGTH = 80\r\nexport const MAX_DESCRIPTION_LENGTH = 500\r\n\r\nexport const validate = (values: IReportFormValues) => {\r\n const errors: IReportFormErrors = {}\r\n if (!values.title) {\r\n errors.title = REQUIRED\r\n } else if (values.title.length > MAX_TITLE_LENGTH) {\r\n errors.title = TITLE_LENGTH(MAX_TITLE_LENGTH)\r\n }\r\n if (!values.description) {\r\n errors.description = REQUIRED\r\n } else if (values.title.length > MAX_DESCRIPTION_LENGTH) {\r\n errors.title = DESCRIPTION_LENGTH(MAX_DESCRIPTION_LENGTH)\r\n }\r\n return errors\r\n}\r\n","export const REQUIRED = 'Pole jest wymagane'\r\nexport const TITLE_LENGTH = (amount: number) =>\r\n `Tytuł nie może mieć więcej niż ${amount} znaków`\r\nexport const DESCRIPTION_LENGTH = (amount: number) =>\r\n `Opis nie może mieć więcej niż ${amount} znaków`\r\nexport const REFUSE = 'Odrzuć'\r\nexport const SEND = 'Wyślij'\r\nexport const REPORT_TITLE = 'Tytuł zgłoszenia'\r\nexport const REPORT_DESCRIPTION = 'Treść zgłoszenia'\r\nexport const SEND_ERROR_REPORT = 'Wyślij zgłoszenie błędu'\r\nexport const SEND_ERROR_REPORT_DESCRIPTION =\r\n 'Ups. Przepraszamy, coś poszło nie tak. Prosimy o wysłanie zgłoszenia za pomocą poniższego formularza. Dzięki temu szybciej usuniemy przyczynę problemu.'\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nexport default makeStyles(theme => ({\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n boxSizing: 'border-box',\r\n padding: theme.spacing(10.5, 0, 12, 0),\r\n },\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n marginBottom: theme.spacing(8),\r\n userSelect: 'none',\r\n textAlign: 'center',\r\n },\r\n subtitle: {\r\n fontSize: 14,\r\n lineHeight: '17px',\r\n fontWeight: 'normal',\r\n marginBottom: theme.spacing(1.75),\r\n marginTop: '0px !important',\r\n userSelect: 'none',\r\n textAlign: 'center',\r\n },\r\n errorTitle: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n textArea: {\r\n marginBottom: theme.spacing(8),\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { Grid } from '@material-ui/core'\r\nimport { Formik, Form } from 'formik'\r\nimport Button from '../Button'\r\nimport FormikTextArea from '../FormikTextArea'\r\nimport FormikField from '../FormikField'\r\nimport Text from '../Text'\r\nimport {\r\n REFUSE,\r\n SEND,\r\n REPORT_DESCRIPTION,\r\n REPORT_TITLE,\r\n SEND_ERROR_REPORT,\r\n SEND_ERROR_REPORT_DESCRIPTION,\r\n} from './strings'\r\nimport { validate } from './ReportForm.utils'\r\nimport useStyles from './ReportForm.style'\r\n\r\nexport interface IReportFormValues {\r\n title: string\r\n description: string\r\n}\r\n\r\nexport interface IReportFormErrors {\r\n title?: string\r\n description?: string\r\n}\r\n\r\nexport interface IReportForm {\r\n onSubmit: (values: IReportFormValues) => void\r\n onCancel: () => void\r\n callPending: boolean\r\n err?: string\r\n}\r\n\r\nconst ReportForm: React.FC = ({\r\n onSubmit,\r\n onCancel,\r\n callPending,\r\n err,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n \r\n \r\n {() => {\r\n return (\r\n
\r\n \r\n {SEND_ERROR_REPORT}\r\n \r\n \r\n {SEND_ERROR_REPORT_DESCRIPTION}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default ReportForm\r\n","import { ModalType } from '@core/store/ui/ui'\r\nimport {\r\n AnimationNadplataSrc,\r\n AnimationBladSrc,\r\n AnimationSukcesSrc,\r\n AnimationOczekiwaniePlatnoscSrc,\r\n AnimationDokonanaPlatnoscSrc,\r\n AnimationWyslanieSrc,\r\n} from '@shared/static-data/staticData'\r\nimport info from './Info.svg'\r\n\r\nexport type ModalIconTypes = Extract<\r\n ModalType,\r\n | 'error'\r\n | 'info'\r\n | 'overpay'\r\n | 'environment'\r\n | 'success'\r\n | 'paymentWait'\r\n | 'paymentDone'\r\n>\r\n\r\nconst images: Record = {\r\n environment: AnimationWyslanieSrc, // tutaj będzie e-faktura z animacją\r\n error: AnimationBladSrc,\r\n info: info,\r\n overpay: AnimationNadplataSrc,\r\n success: AnimationSukcesSrc,\r\n paymentWait: AnimationOczekiwaniePlatnoscSrc,\r\n paymentDone: AnimationDokonanaPlatnoscSrc,\r\n}\r\n\r\nexport default images\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nconst WIDTH = 300\r\nconst HEIGHT = 215\r\n\r\nexport default makeStyles(theme => ({\r\n icon: {\r\n width: WIDTH,\r\n height: HEIGHT,\r\n borderRadius: 24,\r\n [theme.breakpoints.down('md')]: {\r\n width: WIDTH * 0.9,\r\n height: HEIGHT * 0.9,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: WIDTH * 0.8,\r\n height: HEIGHT * 0.8,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: WIDTH * 0.7,\r\n height: HEIGHT * 0.7,\r\n },\r\n },\r\n}))\r\n","import React from 'react'\r\nimport icons, { ModalIconTypes } from './icons'\r\nimport useStyles from './Icon.style'\r\nimport { Animation } from '@shared/components/Animation'\r\n\r\nexport interface IIcon {\r\n type: ModalIconTypes\r\n}\r\n\r\nconst Icon: React.FC = ({ type }) => {\r\n const styles = useStyles()\r\n\r\n if (type === 'info') {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return \r\n}\r\n\r\nexport default Icon\r\n","import { makeStyles } from '@material-ui/core'\r\nimport {\r\n tableTextColor,\r\n borderColor,\r\n modalIconBackgroundColor,\r\n} from '@mbok/styles/constants'\r\n\r\nexport const WRAPPER_WIDTH = 552\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n width: WRAPPER_WIDTH,\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n borderRadius: theme.shape.borderRadius,\r\n boxSizing: 'border-box',\r\n backgroundColor: theme.palette.common.white,\r\n border: `1.7px solid ${borderColor}`,\r\n outline: 'none',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '92%',\r\n padding: theme.spacing(0, 10),\r\n },\r\n },\r\n backdrop: {\r\n backgroundColor: `${tableTextColor} !important`,\r\n opacity: 0.75,\r\n },\r\n content: {\r\n padding: theme.spacing(10, 0, 8),\r\n textAlign: 'center',\r\n },\r\n buttonsWrapper: {\r\n width: '100%',\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n justifyContent: 'space-evenly',\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column-reverse',\r\n },\r\n '& button': {\r\n height: '100%',\r\n padding: theme.spacing(1.25, 4),\r\n },\r\n },\r\n noMargin: {\r\n margin: '0px !important',\r\n },\r\n iconWrapper: {\r\n backgroundColor: modalIconBackgroundColor,\r\n borderTopLeftRadius: theme.shape.borderRadius,\r\n borderTopRightRadius: theme.shape.borderRadius,\r\n marginTop: theme.spacing(-10),\r\n marginBottom: theme.spacing(6),\r\n width: '100%',\r\n fontSize: 0,\r\n },\r\n textWrapper: {\r\n padding: theme.spacing(0, 16),\r\n whiteSpace: 'pre-wrap'\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { Modal as BaseModal, Grid } from '@material-ui/core'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { CLOSE, SAVE, SEND_REPORT, REPORT_SENT_SUCCESSFULLY } from './strings'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport { hideModal, showModal } from '@core/store/ui/actions'\r\nimport Button from './Button'\r\nimport ReportForm from './ReportForm'\r\nimport { IReportFormValues } from './ReportForm/ReportForm'\r\nimport Text from './Text'\r\nimport Icon from './Icon'\r\nimport icons, { ModalIconTypes } from './Icon/icons'\r\nimport useStyles from './Modal.style'\r\nimport { useSnackbar } from 'notistack'\r\n\r\ninterface IModalProps {\r\n isOpen?: boolean\r\n className?: string\r\n}\r\n\r\nconst Modal: React.FC = ({\r\n children,\r\n isOpen: isModalOpen,\r\n className = '',\r\n}) => {\r\n const styles = useStyles()\r\n const {\r\n isOpen,\r\n type,\r\n withCancelButton,\r\n withSubmitButton,\r\n cancelButtonText,\r\n submitButtonText,\r\n subtitleWithMargin,\r\n onCancel,\r\n onSubmit,\r\n subtitle,\r\n smallSubtitle,\r\n title,\r\n text,\r\n text2,\r\n } = useAppSelector(state => state.ui.modal)\r\n const dispatch = useAppDispatch()\r\n const [executeSendReport, isReportSending] = useApi({\r\n omitConsents: true,\r\n config: {\r\n method: 'post',\r\n url: 'CustomerTickets',\r\n },\r\n })\r\n\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const onCancelClick = async () => {\r\n if (onCancel) await onCancel()\r\n dispatch(hideModal())\r\n }\r\n const onSubmitClick = async () => {\r\n if (onSubmit) return onSubmit()\r\n dispatch(hideModal())\r\n }\r\n\r\n const getButtonTitle = (buttonType: 'cancel' | 'save') => {\r\n if (buttonType === 'cancel') return CLOSE\r\n if (buttonType === 'save' && type === 'error') return SEND_REPORT\r\n return SAVE\r\n }\r\n\r\n const showButtons = withCancelButton || withSubmitButton\r\n const showText = !!title || !!subtitle\r\n const showIcon = type && Object.keys(icons).includes(type)\r\n\r\n const onReportFormSubmit = async (values: IReportFormValues) => {\r\n try {\r\n await executeSendReport({\r\n data: {\r\n title: values.title,\r\n content: values.description,\r\n ticketType: 'Other',\r\n },\r\n })\r\n dispatch(\r\n showModal({\r\n title: REPORT_SENT_SUCCESSFULLY,\r\n type: 'success',\r\n withCancelButton: true,\r\n withSubmitButton: false,\r\n onCancel: () => {\r\n dispatch(hideModal())\r\n },\r\n })\r\n )\r\n } catch (error) {\r\n enqueueSnackbar(\r\n 'Wysyłanie zgłoszenia błędu nie powiodło się, spróbuj ponownie lub skontaktuj się z biurem obsługi jeśli sytuacja powtarza się.',\r\n { variant: 'error' }\r\n )\r\n }\r\n }\r\n\r\n const getContent = () => {\r\n if (children) return children\r\n if (type === 'report')\r\n return (\r\n dispatch(hideModal())}\r\n err={text as string}\r\n />\r\n )\r\n return (\r\n \r\n {showIcon && (\r\n
\r\n \r\n
\r\n )}\r\n {showText && (\r\n \r\n {!!title && {title}}\r\n {!!subtitle && (\r\n \r\n {subtitle}\r\n \r\n )}\r\n {!!text && {text}}\r\n {!!text2 && {text2}}\r\n \r\n )}\r\n {showButtons && (\r\n
\r\n {withCancelButton && (\r\n \r\n )}\r\n {withSubmitButton && (\r\n \r\n )}\r\n
\r\n )}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n
{getContent()}
\r\n \r\n )\r\n}\r\n\r\nexport default Modal\r\n","export const CLOSE = 'Zamknij'\r\nexport const SEND_REPORT = 'Wyślij zgłoszenie'\r\nexport const SAVE = 'Wyślij zgłoszenie'\r\nexport const REPORT_SENT_SUCCESSFULLY = 'Zgłoszenie zostało pomyślnie wysłane!'\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nconst WRAPPER_CARD_TYPE_HEIGHT = 340\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n borderRadius: 8,\r\n overflow: 'hidden',\r\n position: 'relative',\r\n [theme.breakpoints.up('sm')]: {\r\n height: '100%',\r\n },\r\n width: '100%',\r\n '& div': {\r\n '&:not(.slick-dots)': {\r\n height: '100%',\r\n },\r\n '&.slick-list': {\r\n height: '100% !important',\r\n },\r\n },\r\n '& li': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n },\r\n loader: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n background: '#FFFFFF',\r\n borderRadius: 8,\r\n },\r\n button: {\r\n marginBottom: theme.spacing(8),\r\n },\r\n adItem: {\r\n width: '100%',\r\n overflow: 'hidden',\r\n outline: 'none',\r\n '& h1': {\r\n padding: theme.spacing(10, 7, 0),\r\n margin: 0,\r\n fontWeight: 500,\r\n textAlign: 'left',\r\n color: theme.palette.common.white,\r\n fontSize: 31,\r\n letterSpacing: 0.3,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n padding: theme.spacing(1, 5, 0),\r\n fontSize: 26,\r\n },\r\n '& span': {\r\n fontWeight: 800,\r\n color: theme.palette.primary.main,\r\n },\r\n },\r\n },\r\n wrapperTopType: {},\r\n wrapperCardType: {\r\n backgroundColor: '#E2E4E3',\r\n border: '1.7px solid #E2E4E3',\r\n minHeight: WRAPPER_CARD_TYPE_HEIGHT + 44,\r\n [theme.breakpoints.down('md')]: {\r\n margin: '0 auto',\r\n width: '76%',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: '80%',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '84%',\r\n minHeight: WRAPPER_CARD_TYPE_HEIGHT - 140,\r\n height: WRAPPER_CARD_TYPE_HEIGHT - 140,\r\n },\r\n [theme.breakpoints.down(440)]: {\r\n width: '100%',\r\n },\r\n },\r\n wrapperBannerType: {},\r\n\r\n itemContent: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n borderRadius: 8,\r\n flexDirection: 'column',\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center',\r\n backgroundRepeat: 'no-repeat',\r\n },\r\n\r\n itemTopType: {},\r\n itemCardType: {\r\n [theme.breakpoints.between('sm', 'md')]: {\r\n backgroundPosition: 'left top',\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n backgroundSize: '100% auto',\r\n },\r\n },\r\n itemBannerType: {},\r\n}))\r\n","import { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { useThunkApi } from '@core/apiClient/apiClient'\r\nimport { tokenLinkReducers } from './../../core/store/entity/tokenLinkReducer'\r\n\r\nexport const generateUserToken = createAsyncThunk(\r\n `${[tokenLinkReducers.generatedTokenLink]}/getTokenLink`,\r\n async (type, thunkApi) => {\r\n const [execute] = useThunkApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: process.env.REACT_APP_API_URL + 'Offers',\r\n },\r\n },\r\n thunkApi\r\n )\r\n const response = await execute()\r\n return response.data\r\n }\r\n)\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react'\r\nimport { primaryColor } from '@mbok/styles/constants'\r\nimport {\r\n CircularProgress,\r\n Fade,\r\n useMediaQuery,\r\n useTheme,\r\n} from '@material-ui/core'\r\nimport { useAppSelector,useAppDispatch } from '@core/store/store'\r\nimport { ImageType } from '@core/store/offers/types'\r\nimport { getDesktopOffersByTypeSelector } from '@core/store/offers/offersSelectors'\r\nimport Slider from 'react-slick'\r\nimport useStyles from './OfferCarousel.style'\r\nimport { generateUserToken } from '@shared/utils/generateUserToken'\r\nimport store from '@core/store/store'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport i18n from '@i18n/index'\r\nexport interface IOfferCarousel {\r\n type: ImageType\r\n}\r\n\r\nconst LOADING_CUSTOM_TIMEOUT = 800\r\n\r\nconst OfferCarousel: React.FC = ({ type, ...props }) => {\r\n const dispatch = useAppDispatch()\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const smallScreen = useMediaQuery(theme.breakpoints.down('xs'))\r\n\r\n const offers = useAppSelector(\r\n getDesktopOffersByTypeSelector(smallScreen ? ImageType.top : type)\r\n )\r\n\r\n const initialIndex = useMemo(() => {\r\n return type === ImageType.card && offers && offers.length > 1 ? 1 : 0\r\n }, [type, offers])\r\n\r\n useEffect(() => {\r\n setActiveSlide(initialIndex)\r\n }, [initialIndex])\r\n\r\n const [activeSlide, setActiveSlide] = useState(initialIndex)\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n adaptiveHeight: true,\r\n speed: 1000,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n initialSlide: initialIndex,\r\n autoplay: true,\r\n autoplaySpeed: 8000,\r\n beforeChange: (old: number, next: number) => setActiveSlide(next),\r\n appendDots: (dots: any) => (\r\n \r\n {offers && offers.length && (\r\n \r\n {dots}\r\n \r\n )}\r\n \r\n ),\r\n customPaging: (i: number) => {\r\n const style = {\r\n width: 12,\r\n height: 12,\r\n borderRadius: 100,\r\n backgroundColor: 'white',\r\n transition: 'all 0.3s',\r\n }\r\n const activeStyle = {\r\n ...style,\r\n width: 16,\r\n height: 16,\r\n backgroundColor: primaryColor,\r\n transition: 'all 0.3s',\r\n }\r\n return
\r\n },\r\n }\r\n const getBgUrl = (url: string) => {\r\n const newUrl = url.includes('http') ? url : `http://${url}`\r\n return newUrl.replace(/\\\\/g, '/')\r\n }\r\n\r\n const itemClassName = useCallback(\r\n (type: ImageType) => {\r\n switch (type) {\r\n case ImageType.top:\r\n return { itemStyle: styles.itemTopType, wrapper: '' }\r\n case ImageType.card:\r\n return {\r\n itemStyle: styles.itemCardType,\r\n wrapper: styles.wrapperCardType,\r\n }\r\n default:\r\n return { itemStyle: styles.itemBannerType, wrapper: '' }\r\n }\r\n },\r\n [\r\n styles.itemTopType,\r\n styles.itemCardType,\r\n styles.itemBannerType,\r\n styles.wrapperCardType,\r\n ]\r\n )\r\nconst handleRedirect =async ()=>{\r\n dispatch(generateUserToken()).then((response: any) => {\r\n window.open('https://nowaoferta.polenergia.pl/')\r\n })\r\n .catch(()=>{\r\n store.dispatch(\r\n showModal({\r\n title: i18n().t('MODAL_MESSAGES.SORRY'),\r\n subtitle: i18n().t('MODAL_MESSAGES.UNEXPECTED_ERROR_OCCURED'),\r\n type: 'error',\r\n withCancelButton: true,\r\n withSubmitButton: false,\r\n })\r\n )\r\n })\r\n}\r\n\r\n return (\r\n
\r\n {offers ? (\r\n \r\n {offers.map((item, index) => (\r\n \r\n \r\n
\r\n
\r\n \r\n ))}\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default OfferCarousel\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Edit\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"edycja\",\n transform: \"translate(1.000000, 1.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.64,1.43 C17.2543785,1.05423024 16.7335343,0.849816668 16.1952655,0.862991078 C15.6569968,0.876165489 15.1467764,1.10581491 14.78,1.5 L14.49,1.8 L14.49,1.8 L13.13,3.21 L13.13,3.21 L4.38,12.21 L4.38,12.21 L4.38,12.21 L4.38,12.21 C4.30622866,12.2945135 4.23934797,12.3848025 4.18,12.48 L1.61,17.16 C1.45180323,17.3825351 1.47715186,17.6867187 1.67,17.88 C1.77714271,17.9672052 1.91189354,18.0133042 2.05,18.0101661 C2.15855513,18.010933 2.2654525,17.9833466 2.36,17.93 L7,15.21 L7.11,15.12 L7.11,15.12 L7.27,15 L16,6.09 L16,6.09 L17.32,4.72 L17.74,4.28 C18.1181882,3.89358483 18.3238103,3.37051112 18.31,2.83 C18.2912028,2.29043459 18.0484106,1.78310761 17.64,1.43 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n points: \"13.97 1.69 12.61 3.11 14.71 5.29 16.02 3.93\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.76,1 C16.3743785,0.624230244 15.8535343,0.419816668 15.3152655,0.432991078 C14.7769968,0.446165489 14.2667764,0.675814911 13.9,1.07 L13.61,1.37 L12.25,2.76 L12.25,2.76 L3.49,11.76 L3.49,11.76 C3.39710798,11.8588415 3.3134278,11.9659521 3.24,12.08 L0.72,16.71 C0.564394623,16.934896 0.593988384,17.239289 0.79,17.43 C0.891639584,17.5199627 1.02442675,17.5666177 1.16,17.56 C1.27171843,17.5608472 1.38182359,17.5333209 1.48,17.48 L6.1,14.77 L6.22,14.68 L6.22,14.68 L6.39,14.53 L15.07,5.65 L15.07,5.65 L16.38,4.29 L16.81,3.84 C17.1881882,3.45358483 17.3938103,2.93051112 17.38,2.39 C17.3645984,1.8630635 17.1417789,1.36351642 16.76,1 Z M16.07,1.72 C16.2620951,1.90297542 16.3736102,2.15478365 16.38,2.42 C16.3829683,2.69494307 16.2789843,2.96028159 16.09,3.16 L16,3.2 L14.66,1.7 C15.0500375,1.31227641 15.6799625,1.31227641 16.07,1.7 L16.07,1.72 Z M2.34,15.81 L3.92,12.89 L5.12,14.18 L2.34,15.81 Z M5.92,13.57 L4.53,12.08 L12.61,3.82 L14,5.29 L5.92,13.57 Z M14.71,4.57 L13.31,3.1 L14,2.42 L15.38,3.92 L14.71,4.57 Z\",\n id: \"Shape\",\n fill: \"#5C5C5C\"\n})));\n\nvar SvgEditPencil = function SvgEditPencil(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEditPencil, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EditPencil.7661d2be.svg\";\nexport { ForwardRef as ReactComponent };","import { useApi } from '@core/apiClient/apiClient'\r\nimport { useAppDispatch } from '@core/store/store'\r\nimport {\r\n addSaveInvoiceTypeRequests,\r\n hideModal,\r\n showModal,\r\n} from '@core/store/ui/actions'\r\nimport { ReactComponent as PencilSvg } from '@images/icons/other/EditPencil.svg'\r\nimport { ReactComponent as EditSvg } from '@images/icons/other/EditPencil.svg'\r\nimport { Dictionary } from '@reduxjs/toolkit'\r\nimport Toggler from '@shared/components/Toggler'\r\nimport {\r\n Account,\r\n AgreementListItem,\r\n InvoiceType,\r\n MeasurementPointListItem,\r\n TranslatedAgreementType,\r\n} from '@shared/contracts/models'\r\nimport { format, parseISO } from 'date-fns'\r\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\r\nimport DocumentDetails from './DocumentDetails'\r\nimport Document from './Document'\r\nimport useStyles from './MyDocumentsTable.style'\r\nimport ChangeMeasurementPointNameModal from '../modals/ChangeMeasurementPointNameModal'\r\nimport useDeepCompareEffect from 'use-deep-compare-effect'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { AddressParser } from '@shared/components/AddressParser'\r\nimport { isEmpty } from 'ramda'\r\nimport { EditFieldForm } from '@mbok/features/MySettings/components/forms'\r\nimport { validateEmailForm } from '@mbok/features/MySettings/components/forms/EditFieldForm/EditFieldForm.utils'\r\nimport Modal from '@shared/components/modals/Modal'\r\nimport Icon from '@shared/components/modals/Modal/Icon'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\n\r\ninterface MyDocumentsTableProps {\r\n measurementPoints: {\r\n data: MeasurementPointListItem[]\r\n loading: boolean\r\n selectedIndex: number\r\n setSelectedIndex: React.Dispatch>\r\n reloadData: (\r\n customerNumberChanged: boolean,\r\n selectedIndex?: number | undefined\r\n ) => void\r\n }\r\n account?: Account\r\n agreements?: Dictionary\r\n details: boolean\r\n alreadySavedInvoiceTypeRequests: string[],\r\n activateEInvoiceHandler?: () => void\r\n}\r\n\r\nenum ModalContent {\r\n FirstPage,\r\n EmailField,\r\n}\r\n\r\nexport const MyDocumentsTable: React.FC = ({\r\n measurementPoints,\r\n account,\r\n agreements,\r\n details,\r\n alreadySavedInvoiceTypeRequests,\r\n activateEInvoiceHandler,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n const dispatch = useAppDispatch()\r\n\r\n const [\r\n selectedPoint,\r\n setSelectedPoint,\r\n ] = useState(null)\r\n const [showNameModal, setShowNameModal] = useState(false)\r\n\r\n const [showInvoiceTypeChangeModal, setShowInvoiceTypeChangeModal] = useState(\r\n false\r\n )\r\n\r\n const { addressLine1, addressLine2 } = selectedPoint ?? {}\r\n\r\n const { data, selectedIndex, setSelectedIndex, reloadData } =\r\n measurementPoints ?? {}\r\n\r\n useEffect(() => {\r\n selectedIndex && setSelectedIndex(selectedIndex)\r\n }, [selectedIndex, setSelectedIndex])\r\n\r\n useDeepCompareEffect(() => {\r\n data && setSelectedPoint(data[selectedIndex])\r\n }, [selectedIndex, setSelectedPoint, data])\r\n\r\n const [executeInvoiceTypeChange] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'put',\r\n },\r\n })\r\n\r\n const getAgreement = useMemo(() => {\r\n const agreement =\r\n selectedPoint && agreements && agreements[selectedPoint?.agreementId]\r\n return agreement\r\n }, [selectedPoint, agreements])\r\n\r\n const agreementTariff = useMemo(() => {\r\n const agreement = getAgreement\r\n const tariff =\r\n agreement && agreement.parameters?.find(param => param.type === 'Tariff')\r\n return tariff?.value ?? t('MY_CONTRACTS.EMPTY_GROUP')\r\n }, [getAgreement, t])\r\n\r\n const settlementType = useMemo(() => {\r\n const agreement = getAgreement\r\n const tariff =\r\n agreement &&\r\n agreement.parameters?.find(param => param.type === 'SettlementType')\r\n return tariff?.value ?? ''\r\n }, [getAgreement])\r\n\r\n const agreementType = useMemo(() => {\r\n const agreement = getAgreement\r\n const type = agreement && agreement.agreementType\r\n const translatedType = type ? TranslatedAgreementType[type] : '-'\r\n return translatedType\r\n }, [getAgreement])\r\n\r\n const agreementEndDate = useMemo(() => {\r\n const agreement = getAgreement\r\n const dateTo = agreement && agreement.dateTo\r\n return dateTo ? format(parseISO(dateTo), 'dd.MM.yyyy') : 'Nieokreślony'\r\n }, [getAgreement])\r\n\r\n const agreementCorrespondenceAddress = useMemo(() => {\r\n const agreement = getAgreement\r\n const address = (\r\n \r\n )\r\n return address\r\n }, [getAgreement])\r\n\r\n const agreementCorrespondenceEmail = useMemo(() => {\r\n const agreement = getAgreement\r\n const email =\r\n agreement?.emailAddresses && !isEmpty(agreement?.emailAddresses)\r\n ? agreement?.emailAddresses[0]\r\n : t('MY_CONTRACTS.EMPTY_EMAIL')\r\n return email\r\n }, [getAgreement, t])\r\n\r\n const invoiceType = useMemo(() => {\r\n const agreement = getAgreement\r\n return agreement?.invoiceType\r\n }, [getAgreement])\r\n\r\n const changeInvoiceType = useCallback(\r\n async (email: string) => {\r\n const agreement = getAgreement\r\n const id = agreement?.agreementId\r\n if (id && selectedPoint?.addressLine1 && selectedPoint?.addressLine2) {\r\n await executeInvoiceTypeChange({\r\n url: `Agreements/${id}/invoiceType`,\r\n data: {\r\n invoiceType: InvoiceType.Email,\r\n newEmailAddress: email,\r\n },\r\n })\r\n dispatch(addSaveInvoiceTypeRequests(getAgreement?.agreementId ?? ''))\r\n }\r\n },\r\n [getAgreement, executeInvoiceTypeChange, dispatch, selectedPoint]\r\n )\r\n\r\n const showSuccessModal = useCallback(\r\n (selectedIndex: number) => {\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: t('MY_CONTRACTS.MODAL.THANKS_FOR_CHANGE'),\r\n subtitle: t('MODAL_MESSAGES.REQUEST_ACCEPTED'),\r\n text: t('MY_CONTRACTS.MODAL.INVOICE_TYPE_WILL_CHANGE'),\r\n withCancelButton: true,\r\n onCancel: () => {\r\n dispatch(hideModal())\r\n selectedIndex !== -1 && reloadData(false, selectedIndex)\r\n },\r\n })\r\n )\r\n },\r\n [dispatch, t, reloadData]\r\n )\r\n\r\n const invoiceTypeContent = useMemo(() => {\r\n return (\r\n
{}}>\r\n {invoiceType === InvoiceType.Email ? (\r\n {t('MY_CONTRACTS.EMAIL_INVOICE')}\r\n ) : (\r\n <>\r\n {t('MY_CONTRACTS.PAPER_INVOICE')}\r\n
\r\n \r\n {t('MY_CONTRACTS.CHANGE')}\r\n
\r\n \r\n )}\r\n
\r\n )\r\n }, [invoiceType, styles, t, activateEInvoiceHandler])\r\n\r\n const onFormSubmit = async (\r\n { field1: email }: { field1: string },\r\n selectedIndex: number\r\n ) => {\r\n setShowInvoiceTypeChangeModal(false)\r\n changeInvoiceType(email)\r\n showSuccessModal(selectedIndex)\r\n }\r\n\r\n const [showModalState, setShowModalState] = useState(\r\n ModalContent.FirstPage\r\n )\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n {showModalState === ModalContent.FirstPage ? (\r\n <>\r\n

{t('MY_CONTRACTS.MODAL.CHANGE_INVOICE_TYPE')}

\r\n

{t('MY_CONTRACTS.MODAL.THANKS')}

\r\n
\r\n \r\n setShowModalState(ModalContent.EmailField)}\r\n >\r\n Potwierdź\r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n

\r\n {selectedPoint?.name ?? (\r\n \r\n ) ??\r\n selectedPoint?.number}\r\n

\r\n

\r\n Podaj adres e-mail, na który ma być wysyłana od teraz e-faktura\r\n dla tego punktu\r\n

\r\n {\r\n setShowInvoiceTypeChangeModal(false)\r\n setShowModalState(ModalContent.FirstPage)\r\n }}\r\n onSubmit={values => {\r\n onFormSubmit(values, selectedIndex)\r\n setShowModalState(ModalContent.FirstPage)\r\n }}\r\n validate={validateEmailForm}\r\n title={''}\r\n field1={{\r\n ...{ label: 'E-mail do e-faktur', name: 'E-mail' },\r\n value:\r\n agreementCorrespondenceEmail !==\r\n t('MY_CONTRACTS.EMPTY_EMAIL')\r\n ? agreementCorrespondenceEmail\r\n : '',\r\n }}\r\n submitBtnText=\"Potwierdź\"\r\n cancelBtnText=\"Zrezygnuj\"\r\n saveBtnVisible\r\n />\r\n \r\n )}\r\n
\r\n
\r\n {details ? (\r\n <>\r\n {data?.length > 1 && (\r\n \r\n )}\r\n {account && selectedPoint && (\r\n }\r\n invoiceType={invoiceType as 'Paper' | 'Email'}\r\n agreementType={agreementType}\r\n invoiceTypeContent={invoiceTypeContent}\r\n tariff={agreementTariff}\r\n endDate={agreementEndDate}\r\n settlementType={settlementType}\r\n correspondenceEmail={agreementCorrespondenceEmail}\r\n correspondenceAddress={agreementCorrespondenceAddress}\r\n />\r\n )}\r\n \r\n ) : (\r\n <>\r\n
\r\n
\r\n

{t('MY_CONTRACTS.MEASUREMENT_POINT')}

\r\n {selectedPoint?.name ?? selectedPoint?.number}\r\n
setShowNameModal(prev => !prev)}>\r\n \r\n

{t('MY_CONTRACTS.CHANGE_NAME')}

\r\n
\r\n
\r\n {data?.length > 1 && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {selectedPoint && (\r\n }\r\n selectedPoint={selectedPoint}\r\n invoiceTypeContent={invoiceTypeContent}\r\n tariff={agreementTariff}\r\n />\r\n )}\r\n {showNameModal &&\r\n selectedPoint?.measurementPointId &&\r\n selectedPoint?.number && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { Theme, makeStyles, createStyles } from '@material-ui/core'\r\nimport { animated, Transition } from 'react-spring'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n tableCell: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n '& p': {\r\n margin: '0 0 4px',\r\n fontSize: 14,\r\n opacity: 0.55,\r\n color: tableTextColor,\r\n letterSpacing: '0.61px',\r\n },\r\n '& div': {\r\n minHeight: '20px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n fontSize: 17,\r\n color: tableTextColor,\r\n letterSpacing: '0.64px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n\r\n transition: 'color 0.2s ease-in-out',\r\n },\r\n },\r\n })\r\n)\r\n\r\nexport const TableCellContent: React.FC<{\r\n header: string\r\n content: string | JSX.Element\r\n small?: boolean\r\n opacity?: boolean\r\n bold?: boolean\r\n}> = ({ header, content, small, opacity, bold }) => {\r\n const styles = useStyles()\r\n\r\n return (\r\n
\r\n

{header}

\r\n \r\n {(values, visible) => {\r\n return (\r\n visible && {content}\r\n )\r\n }}\r\n \r\n
\r\n )\r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n table: {\r\n margin: 0,\r\n maxWidth: '100%',\r\n borderRadius: 8,\r\n },\r\n gridElement: {\r\n alignItems: 'center',\r\n padding: theme.spacing(4, 2),\r\n fontSize: 16,\r\n lineHeight: '20px',\r\n letterSpacing: 0.61,\r\n color: tableTextColor + colorOpacityParser(75),\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(2, 0),\r\n },\r\n },\r\n flexEndAlignment: {\r\n alignSelf: 'flex-end',\r\n },\r\n })\r\n)\r\n","import React from 'react'\r\nimport { Grid } from '@material-ui/core'\r\nimport { TableCellContent } from '@shared/components/TableCell'\r\nimport { InvoiceType } from '@shared/contracts/models'\r\nimport useStyles from './DocumentDetails.style'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IDocumentDetailsProps {\r\n name: string\r\n selectedPointNumber: string\r\n address: JSX.Element | string\r\n invoiceType: string\r\n agreementType: string\r\n invoiceTypeContent: JSX.Element\r\n tariff: string\r\n endDate: string\r\n settlementType: string\r\n correspondenceEmail: string\r\n correspondenceAddress: JSX.Element\r\n}\r\n\r\nexport const DocumentDetails: React.FC = ({\r\n name,\r\n selectedPointNumber,\r\n address,\r\n invoiceType,\r\n agreementType,\r\n invoiceTypeContent,\r\n tariff,\r\n endDate,\r\n settlementType,\r\n correspondenceEmail,\r\n correspondenceAddress,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n table: {\r\n margin: 0,\r\n maxWidth: '100%',\r\n borderRadius: 8,\r\n },\r\n gridElement: {\r\n alignItems: 'center',\r\n padding: theme.spacing(4, 2),\r\n fontSize: 16,\r\n lineHeight: '20px',\r\n letterSpacing: 0.61,\r\n color: tableTextColor + colorOpacityParser(75),\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(2, 0),\r\n },\r\n },\r\n flexEndAlignment: {\r\n alignSelf: 'flex-end',\r\n },\r\n divider: {\r\n margin: theme.spacing(3, 0),\r\n },\r\n })\r\n)\r\n","import React from 'react'\r\nimport { Divider, Grid } from '@material-ui/core'\r\nimport { TableCellContent } from '@shared/components/TableCell'\r\nimport useStyles from './Document.style'\r\nimport { MeasurementPointListItem } from '@shared/contracts/models'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IDocumentProps {\r\n address: JSX.Element | string\r\n selectedPoint: MeasurementPointListItem\r\n invoiceTypeContent: JSX.Element\r\n tariff: string\r\n}\r\n\r\nexport const Document: React.FC = ({\r\n address,\r\n selectedPoint,\r\n invoiceTypeContent,\r\n tariff,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n const { number, lastConsumptionValue, consumptionUnit } = selectedPoint\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lastConsumptionValue ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { lightGrey, tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst EDIT_ICON_SIZE = 16\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n header: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n padding: theme.spacing(3, 6),\r\n backgroundColor: lightGrey,\r\n color: tableTextColor + '8C',\r\n fontSize: 14,\r\n letterSpacing: 0.61,\r\n lineHeight: '14px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(3),\r\n flexDirection: 'column',\r\n },\r\n },\r\n measurementPoint: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n marginRight: theme.spacing(3),\r\n fontSize: 17,\r\n letterSpacing: 0.64,\r\n '& p': {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n margin: 0,\r\n marginRight: theme.spacing(1),\r\n fontSize: 17,\r\n letterSpacing: 0.64,\r\n lineHeight: '18px',\r\n },\r\n '& span': {\r\n color: tableTextColor,\r\n marginRight: theme.spacing(2),\r\n },\r\n '& div': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginRight: theme.spacing(3),\r\n cursor: 'pointer',\r\n color: theme.palette.primary.main,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n '& svg': {\r\n width: EDIT_ICON_SIZE,\r\n height: EDIT_ICON_SIZE,\r\n marginRight: theme.spacing(0.5),\r\n },\r\n '& p': {\r\n margin: 0,\r\n fontSize: 14,\r\n letterSpacing: '0.55px',\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n '& span': {\r\n margin: theme.spacing(1, 0, 2),\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n alignSelf: 'flex-start',\r\n '& span': {\r\n fontSize: 15,\r\n },\r\n },\r\n },\r\n toggler: {\r\n justifyContent: 'flex-end',\r\n },\r\n togglerContainer: {\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: theme.spacing(0.5),\r\n alignSelf: 'flex-end',\r\n },\r\n },\r\n tableWrapper: {\r\n display: 'flex',\r\n minHeight: 250,\r\n width: '40%',\r\n border: '1px solid black',\r\n },\r\n invoiceTypeContent: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n '& span': {\r\n fontSize: 17,\r\n fontWeight: 700,\r\n color: theme.palette.primary.main,\r\n marginRight: theme.spacing(2),\r\n },\r\n '& div': {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n cursor: 'pointer',\r\n '& svg': {\r\n margin: theme.spacing(0, 0.5, 0, 0),\r\n width: EDIT_ICON_SIZE,\r\n minWidth: EDIT_ICON_SIZE,\r\n height: EDIT_ICON_SIZE,\r\n minHeight: EDIT_ICON_SIZE,\r\n fill: theme.palette.primary.main,\r\n transition: 'fill 0.2s ease-in-out',\r\n },\r\n '& span': {\r\n fontSize: 14,\r\n transition: 'color 0.2s ease-in-out',\r\n },\r\n '&:hover': {\r\n '& svg': {\r\n fill: theme.palette.primary.dark,\r\n },\r\n '& span': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n },\r\n },\r\n modal: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n padding: theme.spacing(6, 0, 8),\r\n '& h1, h2, h3': {\r\n textAlign: 'center',\r\n margin: theme.spacing(0, 0, 3),\r\n },\r\n '& h1': {\r\n fontSize: 25,\r\n color: tableTextColor,\r\n },\r\n '& h2': {\r\n fontSize: 22,\r\n color: tableTextColor,\r\n },\r\n '& h3': {\r\n fontSize: 17,\r\n color: '#7c8a97',\r\n margin: 0,\r\n },\r\n '& div': {\r\n paddingBottom: 0,\r\n },\r\n '& grid': {\r\n width: '100%',\r\n },\r\n },\r\n modalButtonsWrapper: {\r\n paddingTop: theme.spacing(6),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n })\r\n)\r\n","import { makeStyles, Theme, createStyles } from '@material-ui/core'\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n contentWrapper: {\r\n '& .MuiPaper-root': {\r\n padding: '28px 40px 48px',\r\n [theme.breakpoints.down('sm')]: {\r\n paddingBottom: '24px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n padding: '20px 32px 24px',\r\n },\r\n },\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n textAlign: 'center',\r\n padding: 0,\r\n\r\n '& h1': {\r\n margin: '0 0 16px',\r\n fontSize: 30,\r\n letterSpacing: '0.29px',\r\n lineHeight: '38px',\r\n textAlign: 'center',\r\n fontWeight: theme.typography.fontWeightMedium,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 28,\r\n },\r\n },\r\n },\r\n input: {\r\n width: '80%',\r\n margin: '0 0 16px',\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n },\r\n },\r\n buttonContainer: {\r\n display: 'flex',\r\n alignSelf: 'center',\r\n justifyContent: 'space-between',\r\n width: '80%',\r\n padding: 0,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n },\r\n },\r\n button: {\r\n margin: 0,\r\n height: '48px',\r\n width: '46%',\r\n fontSize: 16,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 15,\r\n marginBottom: '16px',\r\n width: '100%',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 14,\r\n },\r\n },\r\n })\r\n)\r\n","import React, { useState, useCallback } from 'react'\r\nimport { Dialog, DialogContent, DialogActions } from '@material-ui/core'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport { StyledInput } from '@shared/components/Input'\r\nimport useStyles from './ChangeMeasurementPointNameModal.style'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface ChangeMeasurementPointNameModalProps {\r\n show: boolean\r\n setShow: React.Dispatch>\r\n pointData: {\r\n id: string\r\n name?: string\r\n number: string\r\n reloadData: (\r\n customerNumberChanged: boolean,\r\n selectedIndex?: number | undefined\r\n ) => void\r\n selectedIndex: number\r\n }\r\n}\r\n\r\nexport const ChangeMeasurementPointNameModal: React.FC = ({\r\n show,\r\n setShow,\r\n pointData,\r\n}) => {\r\n const { t } = useTranslation()\r\n const { id, name, number, reloadData, selectedIndex } = pointData\r\n\r\n const styles = useStyles()\r\n const [newName, setNewName] = useState(name ?? number ?? '')\r\n\r\n const nameError = useCallback(\r\n (newName: string) => {\r\n if (newName.length < 3) {\r\n return t('MY_CONTRACTS.MODAL.NAME_MIN_LENGTH_INFO')\r\n } else if (newName.length > 20) {\r\n return t('MY_CONTRACTS.MODAL.NAME_MAX_LENGTH_INFO')\r\n } else if (newName[0] === ' ') {\r\n return t('MY_CONTRACTS.MODAL.SPACEBAR')\r\n } else if (!/^[A-Za-z0-9-./,() ąĄćĆęĘłŁńŃóÓśŚżŻźŹ]+$/i.test(newName)) {\r\n return t('MY_CONTRACTS.MODAL.SYMBOLS_ERROR_INFO')\r\n }\r\n return ''\r\n },\r\n [t]\r\n )\r\n\r\n const [executeNameChange] = useApi({\r\n omitConsents: true,\r\n omitCustomerNumber: true,\r\n config: {\r\n method: 'put',\r\n url: `MeasurementPoints/${id}/name`,\r\n },\r\n })\r\n\r\n const nameChange = useCallback(\r\n async (name: string) => {\r\n if (!Boolean(nameError(name))) {\r\n try {\r\n await executeNameChange({\r\n data: {\r\n name,\r\n },\r\n })\r\n } catch (err) {\r\n console.log(err)\r\n } finally {\r\n setTimeout(() => {\r\n setShow(false)\r\n reloadData(false, selectedIndex)\r\n }, 300)\r\n }\r\n }\r\n },\r\n [executeNameChange, nameError, setShow, reloadData, selectedIndex]\r\n )\r\n\r\n return (\r\n setShow(false)}\r\n >\r\n \r\n

{t('MY_CONTRACTS.MODAL.CHANGE_MEASUREMENT_POINT_NAME')}

\r\n
\r\n \r\n ) => setNewName(e.target.value)}\r\n errorMsg={nameError(newName)}\r\n />\r\n
\r\n
\r\n \r\n \r\n {\r\n nameChange(newName)\r\n }}\r\n className={styles.button}\r\n submit\r\n >\r\n {t('MY_CONTRACTS.MODAL.SAVE_CHANGE')}\r\n \r\n \r\n \r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n '&:not(:last-child)': {\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n paddingTop: theme.spacing(8),\r\n paddingBottom: theme.spacing(10),\r\n [theme.breakpoints.down('sm')]: {\r\n paddingTop: theme.spacing(7),\r\n paddingBottom: theme.spacing(9),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(5),\r\n paddingBottom: theme.spacing(8),\r\n },\r\n },\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(10),\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(8),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n },\r\n messageWrapper: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n emailWrapper: {\r\n alignSelf: 'center',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n paddingTop: theme.spacing(4),\r\n '& span': {\r\n color: '#7c8a97',\r\n textAlign: 'center',\r\n },\r\n fontWeight: theme.typography.fontWeightBold,\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n },\r\n buttonsWrapper: {\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(3),\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n secondField: {\r\n marginTop: theme.spacing(5),\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(0, 16)\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { Collapse, Grid, Typography } from '@material-ui/core'\r\nimport { Formik, Form } from 'formik'\r\nimport FormikField from '@shared/components/modals/Modal/FormikField'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n IDoubleFieldErrors,\r\n IDoubleFieldValues,\r\n ISingleFieldErrors,\r\n ISingleFieldValues,\r\n} from './EditFieldForm.utils'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport ErrorMessage from '@shared/components/modals/Modal/ErrorMessage'\r\nimport { capitalize } from './EditFieldForm.utils'\r\nimport useStyles from './EditFieldForm.style'\r\nimport { ErrorPosition } from '@shared/components/modals/Modal/TextField'\r\n\r\nexport type Field = {\r\n label: string\r\n value: string\r\n name: string\r\n}\r\n\r\nexport interface IEditFieldFormProps {\r\n title: string\r\n formError?: string\r\n field1: Field\r\n field2?: Field\r\n onSubmit: (values: { field1: string; field2?: string }) => void\r\n onCancel: () => void\r\n submitBtnText?: string\r\n cancelBtnText?: string\r\n validate: (\r\n values: ISingleFieldValues | IDoubleFieldValues\r\n ) => IDoubleFieldErrors | ISingleFieldErrors\r\n saveBtnVisible?: boolean\r\n emailToInform?: JSX.Element\r\n}\r\n\r\nexport const EditFieldForm: React.FC = ({\r\n title,\r\n field1,\r\n field2,\r\n onSubmit,\r\n onCancel,\r\n submitBtnText,\r\n cancelBtnText,\r\n validate,\r\n formError,\r\n saveBtnVisible,\r\n emailToInform,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n const initialValues = field2\r\n ? { field1: field1.value, field2: field2.value }\r\n : { field1: field1.value }\r\n\r\n return (\r\n \r\n {title && (\r\n \r\n {capitalize(title.toLowerCase())}\r\n \r\n )}\r\n \r\n \r\n {({ values }) => {\r\n return (\r\n
\r\n \r\n {field2 && }\r\n \r\n
\r\n \r\n
\r\n
\r\n {emailToInform && (\r\n
{emailToInform}
\r\n )}\r\n
\r\n \r\n \r\n {submitBtnText ?? t('SEND')}\r\n \r\n
\r\n \r\n )\r\n }}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React, { useMemo } from 'react'\r\nimport { createStyles, Grid, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { Account } from '@shared/contracts/models'\r\nimport { TableCellContent } from '@shared/components/TableCell'\r\nimport { AddressParser } from '@shared/components/AddressParser'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n table: {\r\n margin: theme.spacing(0, 0, 2),\r\n maxWidth: '100%',\r\n borderRadius: '8px',\r\n },\r\n gridElement: {\r\n alignItems: 'center',\r\n padding: theme.spacing(4, 2),\r\n fontSize: 16,\r\n lineHeight: '20px',\r\n letterSpacing: 0.61,\r\n color: tableTextColor + colorOpacityParser(75),\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(2, 0),\r\n },\r\n },\r\n })\r\n)\r\n\r\nexport interface MeasurementPointData {}\r\n\r\ninterface MyInformationProps {\r\n myInformation?: Account\r\n}\r\n\r\nexport const MyInformation: React.FC = ({\r\n myInformation,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n const {\r\n name,\r\n type,\r\n contactPhoneNumber,\r\n customerNumber,\r\n mainAddressLine1,\r\n mainAddressLine2,\r\n correspondenceAddressLine1,\r\n correspondenceAddressLine2,\r\n correspondenceEmail,\r\n } = myInformation ?? {}\r\n\r\n const mainAddress = useMemo(\r\n () => ,\r\n [mainAddressLine1, mainAddressLine2]\r\n )\r\n\r\n const correspondenceAddress = useMemo(\r\n () => (\r\n \r\n ),\r\n [correspondenceAddressLine1, correspondenceAddressLine2]\r\n )\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Wiadomo\\\\u015Bci\",\n transform: \"translate(-305.000000, -1078.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n transform: \"translate(273.000000, 1034.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Messages/Read\",\n transform: \"translate(30.000000, 44.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 21\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"wiadomosci_odebrane\",\n transform: \"translate(2.500000, 0.525000)\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path\",\n fill: \"#EDEDED\",\n points: \"10.89 9.6915 13.95 9.6915 13.95 18.963 0.89 18.963 0.89 9.6915 3.78 9.6915\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.89,9.1665 C10.6138576,9.1665 10.39,9.40155051 10.39,9.6915 C10.39,9.98144949 10.6138576,10.2165 10.89,10.2165 L12.66,10.2165 L9.42,13.3665 L7.42,15.288 L5.42,13.3665 L2.17,10.2165 L3.78,10.2165 C4.05614237,10.2165 4.28,9.98144949 4.28,9.6915 C4.28,9.40155051 4.05614237,9.1665 3.78,9.1665 L0.91,9.1665 C0.62281193,9.1665 0.39,9.41095253 0.39,9.7125 L0.39,18.963 C0.39,19.2529495 0.613857625,19.488 0.89,19.488 L14,19.488 C14.2761424,19.488 14.5,19.2529495 14.5,18.963 L14.5,9.7125 C14.5,9.41095253 14.2671881,9.1665 13.98,9.1665 L10.89,9.1665 Z M1.39,10.8885 L1.39,10.8885 L4.62,13.986 L1.39,17.514 L1.39,10.8885 Z M1.92,18.438 L5.38,14.7 L7.08,16.338 C7.27359645,16.5198158 7.56640355,16.5198158 7.76,16.338 L9.46,14.7 L12.91,18.417 L1.92,18.438 Z M10.2,14.007 L13.43,10.9095 L13.43,10.9095 L13.43,17.535 L10.2,14.007 Z\",\n id: \"Shape\",\n fill: \"#555150\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.05,5.817 C10.6238697,5.45470908 9.99936755,5.5202818 9.65,5.964 L8.42,7.5285 L8.42,1.4175 C8.42,0.837601013 7.97228475,0.3675 7.42,0.3675 C6.86771525,0.3675 6.42,0.837601013 6.42,1.4175 L6.42,7.5285 L5.19,5.964 C4.82549207,5.51747778 4.18525926,5.46576667 3.76,5.8485 C3.33474074,6.23123333 3.28549207,6.90347778 3.65,7.35 L6.65,11.172 C6.8399799,11.4127338 7.12224634,11.5520539 7.42,11.5520539 C7.71775366,11.5520539 8.0000201,11.4127338 8.19,11.172 L11.19,7.35 C11.3751341,7.13174755 11.4652548,6.84234895 11.4386853,6.55141319 C11.4121158,6.26047743 11.2712608,5.99433461 11.05,5.817 Z\",\n id: \"Path\",\n fill: \"#C8C8C8\"\n}))))));\n\nvar SvgReadNews = function SvgReadNews(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"15px\",\n height: \"21px\",\n viewBox: \"0 0 15 21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgReadNews, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ReadNews.123b523f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Wiadomo\\\\u015Bci\",\n transform: \"translate(-304.000000, -621.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n transform: \"translate(273.000000, 574.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Messages/On\",\n transform: \"translate(30.000000, 44.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 21\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"wiadomosci\",\n transform: \"translate(1.000000, 3.150000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.2,10.8885 L14.2,10.0275 L15.46,9.261 L16,9.261 L16,12.2745 C16.1269055,12.179778 16.2045421,12.0283866 16.21,11.865 L16.21,1.365 C16.2191447,1.3094116 16.2191447,1.2525884 16.21,1.197 L16.21,1.197 C16.1547879,1.12796948 16.0819216,1.07696305 16,1.05 L15.95,1.05 C15.876747,0.995944593 15.7895318,0.966640284 15.7,0.966 L1,0.966 C0.910665497,0.967910977 0.823794844,0.997099516 0.75,1.05 L0.75,1.05 C0.681117974,1.10521271 0.626180562,1.17731806 0.589897815,1.26 L0.589897815,1.26 L0.589897815,11.76 L0.589897815,11.9385 C0.587312091,12.076764 0.637747886,12.2103428 0.729933657,12.3091133 C0.822119428,12.4078837 0.948292607,12.4635 1.08,12.4635 L15.07,12.4635 L15.07,10.353 L14.2,10.8885 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.56,0.818999995 L1,0.818999995 C0.828514543,0.818999995 0.664194032,0.891217347 0.543879106,1.01952194 C0.423564179,1.14782653 0.357320538,1.32146225 0.359921765,1.5015 L0.359921765,11.7075 C0.359921765,12.0803716 0.644926195,12.3842635 1,12.39 L10.87,12.39 C11.1461424,12.39 11.37,12.1549495 11.37,11.865 C11.37,11.5750505 11.1461424,11.34 10.87,11.34 L1.87,11.34 L6,6.951 L8,8.8515 C8.09443192,8.93771941 8.21487333,8.98607309 8.34,8.988 C8.46201074,8.98542159 8.57909634,8.93699073 8.67,8.8515 L10.67,6.951 L12,8.4 C12.0953883,8.50050572 12.2248664,8.55715241 12.36,8.5575 C12.4896962,8.55423627 12.6139384,8.50205453 12.71,8.4105 C12.9017833,8.20279564 12.9017833,7.87270436 12.71,7.665 L11.34,6.195 L15.2,2.541 L15.2,6.93 C15.2053201,7.21760388 15.4260915,7.44941389 15.7,7.455 C15.9761424,7.455 16.2,7.21994949 16.2,6.93 C16.2,6.93 16.2,3.0975 16.2,1.5015 C16.2,1.12862838 15.9150738,0.824736484 15.56,0.818999995 Z M1.39,10.395 L1.39,2.541 L5.24,6.237 L1.39,10.395 Z M8.3,7.749 L2.17,1.869 L14.42,1.869 L8.3,7.749 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.45,8.295 C14.1813157,8.295 13.038152,9.09924235 12.5554979,10.3311949 C12.0728439,11.5631474 12.346178,12.9791666 13.2475828,13.9165699 C14.1489875,14.8539732 15.500147,15.1273237 16.6687325,14.608696 C17.837318,14.0900683 18.5921599,12.8820574 18.58,11.55 C18.5635431,9.74722967 17.167003,8.29491719 15.45,8.295 L15.45,8.295 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n}))))));\n\nvar SvgUnreadNews = function SvgUnreadNews(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"19px\",\n height: \"15px\",\n viewBox: \"0 0 19 15\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUnreadNews, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/UnreadNews.2c66d1c0.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback } from 'react'\r\nimport { createStyles, Divider, makeStyles, Theme } from '@material-ui/core'\r\nimport { News } from '@shared/contracts/models'\r\nimport { format, isYesterday, parseJSON } from 'date-fns'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { DETAILS_CARD_CONTENT_MIN_HEIGHT } from '@shared/components/DetailsCard/DetailsCard'\r\nimport { ReactComponent as ReadNewsSvg } from '@images/icons/myNews/ReadNews.svg'\r\nimport { ReactComponent as UnreadNewsSvg } from '@images/icons/myNews/UnreadNews.svg'\r\nimport ReactQuill from 'react-quill'\r\nimport 'react-quill/dist/quill.bubble.css'\r\n\r\nconst NEWS_CONTENT_HEIGHT = 64\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n singleNews: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n marginBottom: theme.spacing(5),\r\n paddingBottom: theme.spacing(5),\r\n borderBottom: '1.8px solid #5F76FD1A',\r\n },\r\n newsHeader: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(2),\r\n },\r\n icon: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n marginRight: theme.spacing(3),\r\n },\r\n header: {\r\n color: tableTextColor,\r\n '& p': {\r\n margin: theme.spacing(0, 0, 0.5),\r\n opacity: 0.55,\r\n fontSize: 14,\r\n letterSpacing: '0.60px',\r\n },\r\n '& h1': {\r\n margin: 0,\r\n fontSize: 17,\r\n letterSpacing: '0.64px',\r\n },\r\n },\r\n newsContent: {\r\n height: NEWS_CONTENT_HEIGHT,\r\n fontSize: 14,\r\n letterSpacing: '0.61px',\r\n display: '-webkit-box',\r\n WebkitBoxOrient: 'vertical',\r\n WebkitLineClamp: 3,\r\n overflow: 'hidden',\r\n },\r\n empty: {\r\n height: DETAILS_CARD_CONTENT_MIN_HEIGHT,\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n fontSize: 19,\r\n color: tableTextColor,\r\n opacity: 0.55,\r\n },\r\n })\r\n)\r\n\r\nexport interface MyNewsProps {\r\n myNews: News[]\r\n}\r\n\r\nexport const MyNews: React.FC = ({ myNews }) => {\r\n const [firstNews, secondNews] = myNews\r\n return (\r\n
\r\n
\r\n {firstNews && }\r\n {secondNews && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport const SingleNews: React.FC<{ singleNews: News }> = ({ singleNews }) => {\r\n const styles = useStyles()\r\n const { date, title, message, markedAsRead } = singleNews\r\n\r\n const yesterday = useCallback(\r\n (date: Date) => isYesterday(parseJSON(date)),\r\n []\r\n )\r\n\r\n const formattedDate = useCallback(\r\n (date: Date) => format(parseJSON(date), 'dd.MM.yyyy'),\r\n []\r\n )\r\n\r\n return (\r\n \r\n
\r\n
\r\n {markedAsRead ? : }\r\n
\r\n
\r\n

{date && (yesterday(date) ? 'Wczoraj' : formattedDate(date))}

\r\n

{title}

\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import { useAppDispatch } from '@core/store/store'\r\nimport {\r\n createTransaction,\r\n createTransactionFromBalance,\r\n CreateTransactionFromBalancePayload,\r\n} from '@core/store/payments/paymentsThunks'\r\nimport { SecuredOrderItem } from '@shared/contracts/models'\r\nimport { useCallback, useState } from 'react'\r\n\r\nexport const useCreateTransaction = () => {\r\n const [isCreatingTransaction, setIsCreatingTransaction] = useState(false)\r\n const dispatch = useAppDispatch()\r\n\r\n return useCallback(\r\n (\r\n transactions: SecuredOrderItem[],\r\n btnRenderer: (\r\n loading: boolean,\r\n saveFunction: () => void\r\n ) => React.ReactNode\r\n ) => {\r\n const saveFn = async () => {\r\n setIsCreatingTransaction(true)\r\n await dispatch(createTransaction(transactions))\r\n setIsCreatingTransaction(false)\r\n }\r\n\r\n return btnRenderer(isCreatingTransaction, saveFn)\r\n },\r\n [dispatch, isCreatingTransaction]\r\n )\r\n}\r\n\r\nexport const useCreateTransactionFromBalance = () => {\r\n const [isCreatingTransaction, setIsCreatingTransaction] = useState(false)\r\n const dispatch = useAppDispatch()\r\n\r\n return useCallback(\r\n (\r\n balanceData: CreateTransactionFromBalancePayload,\r\n btnRenderer: (\r\n loading: boolean,\r\n saveFunction: () => void\r\n ) => React.ReactNode | void\r\n ) => {\r\n const saveFn = async () => {\r\n setIsCreatingTransaction(true)\r\n await dispatch(createTransactionFromBalance(balanceData))\r\n setIsCreatingTransaction(false)\r\n }\r\n\r\n return btnRenderer(isCreatingTransaction, saveFn)\r\n },\r\n [dispatch, isCreatingTransaction]\r\n )\r\n}\r\n","export const amountParser = (number?: number, precision?: number) => {\r\n return number?.toFixed(precision ?? 2).replace('.', ',')\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-previewDoc{fill:none;}.cls-2-previewDoc{fill:#48a9a0;fill-opacity:0.2;fill-rule:evenodd;}.cls-3-previewDoc{fill:#555150;}.cls-4-previewDoc{fill:#48a9a1;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Warstwa_2\",\n \"data-name\": \"Warstwa 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Warstwa_1-2\",\n \"data-name\": \"Warstwa 1\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n className: \"cls-1-previewDoc\",\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path\",\n className: \"cls-2-previewDoc\",\n d: \"M15,1.32H7.88a.36.36,0,0,0-.2.11L3.52,5.6a.51.51,0,0,0-.1.21V16.92a.44.44,0,0,0,.45.45H15a.46.46,0,0,0,.44-.45V1.76A.44.44,0,0,0,15,1.32Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-previewDoc\",\n d: \"M13.75,2.47h-7l-.09,0a.4.4,0,0,0-.18.1h0L2.24,6.77l0,0a.44.44,0,0,0-.1.19.09.09,0,0,0,0,0,.19.19,0,0,0,0,.08v11a.52.52,0,0,0,.5.5H7.42a.51.51,0,0,0,.5-.51.5.5,0,0,0-.5-.5H3.09v-10H6.75a.41.41,0,0,0,.19,0,.4.4,0,0,0,.15-.1h0a.54.54,0,0,0,.1-.16.41.41,0,0,0,0-.19V3.5h6V8.92a.5.5,0,1,0,1,0V3A.5.5,0,0,0,13.75,2.47ZM6.25,6.62H3.8L6.25,4.17Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-4-previewDoc\",\n d: \"M16.55,18.43l-3.17-3.17a4,4,0,1,0-.71.71l3.17,3.17a.52.52,0,0,0,.35.14.54.54,0,0,0,.36-.14A.51.51,0,0,0,16.55,18.43ZM9.07,15.59a3,3,0,0,1,1.17-5.77v0a3,3,0,1,1-1.17,5.75Z\"\n})));\n\nvar SvgPreviewDoc = function SvgPreviewDoc(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPreviewDoc, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/PreviewDoc.49404a8a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-paid,.cls-3-paid{fill:#48a9a1;}.cls-1-paid{opacity:0.2;}.cls-2-paid{fill:#555150;}.cls-4-paid{fill:none;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_zap\\\\u0142acone_dokumenty\",\n \"data-name\": \"Ikonka zap\\\\u0142acone dokumenty\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-paid\",\n d: \"M16.9,2h-11a.58.58,0,0,0-.57.57l0,15a.45.45,0,0,0,.45.45h6l-.55-3.22A17.29,17.29,0,0,0,14,11.71l3.37,1V2.43A.45.45,0,0,0,16.9,2Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2-paid\",\n d: \"M15.65,3.13H4.53A.58.58,0,0,0,4,3.7V18.79a.5.5,0,0,0,.5.5H9.28a.5.5,0,0,0,.5-.5.5.5,0,0,0-.5-.5H5V4.13H15.15V9.59a.51.51,0,0,0,.5.5.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,15.65,3.13Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-paid\",\n d: \"M10.05,9.09v.68H7.37V9.13L8.91,7.41H7.39V6.73H10v.61L8.43,9.09Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-paid\",\n d: \"M11.79,7.72V9.77h-.91V8.24l-.38.22-.33-.61.71-.42V5.35h.91V6.91l.38-.23.34.62Z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-1-paid\",\n cx: 14.38,\n cy: 15.59,\n r: 3.61\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-paid\",\n d: \"M15.13,11.21a4.44,4.44,0,1,0,3.63,5.13A4.45,4.45,0,0,0,15.13,11.21ZM17,14.74,14.8,17.33a.56.56,0,0,1-.4.2h0a.63.63,0,0,1-.39-.15L12.3,15.8a.57.57,0,0,1,0-.8.56.56,0,0,1,.8,0l1.26,1.17L16.18,14a.58.58,0,0,1,.8-.06A.57.57,0,0,1,17,14.74Z\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-paid\",\n width: 22,\n height: 22\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_dokuemnty_do_zap\\\\u0142aty\",\n \"data-name\": \"Ikonka dokuemnty do zap\\\\u0142aty\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-paid\",\n width: 22,\n height: 22\n}));\n\nvar SvgPaid = function SvgPaid(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPaid, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Paid.728e90fa.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-unpaid,.cls-2-unpaid{fill:#48a9a1;}.cls-1-unpaid{opacity:0.2;}.cls-3-unpaid{fill:#555150;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_dokuemnty_do_zap\\\\u0142aty\",\n \"data-name\": \"Ikonka dokuemnty do zap\\\\u0142aty\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-unpaid\",\n d: \"M16.9,2h-11a.58.58,0,0,0-.57.57l0,15a.45.45,0,0,0,.45.45H16.9a.45.45,0,0,0,.44-.45V2.43A.45.45,0,0,0,16.9,2Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2-unpaid\",\n d: \"M10.05,9.09v.68H7.37V9.13L8.91,7.41H7.39V6.73H10v.61L8.43,9.09Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2-unpaid\",\n d: \"M11.79,7.72V9.77h-.91V8.24l-.38.22-.33-.61.71-.42V5.35h.91V6.91l.38-.23.34.62Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-unpaid\",\n d: \"M15.65,19.29H4.46a.5.5,0,0,1-.5-.5V3.63a.51.51,0,0,1,.5-.5H15.65a.5.5,0,0,1,.5.5V18.79A.5.5,0,0,1,15.65,19.29ZM5,18.29H15.15V4.13H5Z\"\n}));\n\nvar SvgUnpaid = function SvgUnpaid(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUnpaid, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Unpaid.5767619f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Moje-faktury---wszystko-op\\\\u0142acone\",\n transform: \"translate(-1497.000000, -866.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-8\",\n transform: \"translate(1468.000000, 857.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Fill-1882\",\n transform: \"translate(26.000000, 9.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n transform: \"translate(-0.000142, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"pobierzPDF\",\n transform: \"translate(2.500000, 0.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.84,6.64 C14.84,6.64 14.84,6.64 14.84,6.58 C14.8174528,6.50648847 14.7800085,6.43840782 14.73,6.38 L14.73,6.38 L9.45,0.88 C9.45,0.88 9.45,0.88 9.45,0.88 C9.39410656,0.831768997 9.32965764,0.794456467 9.26,0.77 L2.86,0.77 C2.60042617,0.77 2.39,0.980426168 2.39,1.24 L2.39,16.8 C2.39,17.0595738 2.60042617,17.27 2.86,17.27 L14.38,17.27 C14.6395738,17.27 14.85,17.0595738 14.85,16.8 L14.85,6.7 C14.85,6.7 14.84,6.66 14.84,6.64 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.88,8.24 L12.88,8.24 L7.6,2.73 L7.6,2.73 C7.50461171,2.63428026 7.37513358,2.58033104 7.24,2.58 L1,2.58 C0.723857625,2.58 0.5,2.80385763 0.5,3.08 L0.5,16.56 L1.5,16.56 L1.5,3.56 L6.73,3.56 L6.73,8.56 C6.73,8.83614237 6.95385763,9.06 7.23,9.06 L12,9.06 L12,9.63 C12,9.90614237 12.2238576,10.13 12.5,10.13 C12.7739085,10.1246799 12.9946799,9.90390845 13,9.63 L13,8.58 C13.0057027,8.45537888 12.962663,8.33343324 12.88,8.24 Z M7.73,8.08 L7.73,4.32 L11.34,8.08 L7.73,8.08 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5,15.37 L1.5,18.18 L9.88,18.18 C10.1539085,18.1853201 10.3746799,18.4060915 10.38,18.68 C10.38,18.9561424 10.1561424,19.18 9.88,19.18 L1,19.18 C0.723857625,19.18 0.5,18.9561424 0.5,18.68 L0.5,15.37 L1.5,15.37 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.1,15.49 C14.9987032,15.404499 14.8670872,15.3636866 14.7351877,15.3768766 C14.6032881,15.3900665 14.48236,15.4561333 14.4,15.56 L13,17.24 L13,14.58 C13,14.3038576 12.7761424,14.08 12.5,14.08 C12.2238576,14.08 12,14.3038576 12,14.58 L12,17.24 L10.61,15.56 C10.4282925,15.3788364 10.1389469,15.3646225 9.94035805,15.5271043 C9.74176922,15.689586 9.6984055,15.9760167 9.84,16.19 L12.13,19 C12.2279873,19.1133971 12.3701353,19.1790039 12.52,19.1800003 C12.6672813,19.1801582 12.8068221,19.11406 12.9,19 L15.17,16.24 C15.2727254,16.1369121 15.3243117,15.9934956 15.3107874,15.8485932 C15.2972632,15.7036907 15.220028,15.5722976 15.1,15.49 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.52,13.35 C12.2438576,13.35 12.02,13.1261424 12.02,12.85 L12.02,11.27 C12.02,10.9938576 12.2438576,10.77 12.52,10.77 C12.7939085,10.7753201 13.0146799,10.9960915 13.02,11.27 L13.02,12.85 C13.02,12.9826082 12.9673216,13.1097852 12.8735534,13.2035534 C12.7797852,13.2973216 12.6526082,13.35 12.52,13.35 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n})))))));\n\nvar SvgDownloadPdf = function SvgDownloadPdf(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"15px\",\n height: \"20px\",\n viewBox: \"0 0 15 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDownloadPdf, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/DownloadPDF.047d5ee7.svg\";\nexport { ForwardRef as ReactComponent };","import { LayoutWrapperContext } from '@core/routes/Routes'\r\nimport { SiderPaths } from '@core/routes/routesPaths'\r\nimport { activationEInvoices } from '@core/store/entity/measurementPoints/measurementPointsThunks'\r\nimport { userAgreementsActions } from '@core/store/entity/userAgreements/userAgreements'\r\nimport { getDesktopOffersByTypeSelector } from '@core/store/offers/offersSelectors'\r\nimport { ImageType } from '@core/store/offers/types'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport { ReactComponent as ContractSvg } from '@images/icons/myCenter/Contract.svg'\r\nimport { ReactComponent as NewsSvg } from '@images/icons/myCenter/News.svg'\r\nimport { ReactComponent as ProfileSvg } from '@images/icons/myCenter/Profile.svg'\r\nimport { ReactComponent as WalletSvg } from '@images/icons/myCenter/Wallet.svg'\r\nimport { Grid, Typography } from '@material-ui/core'\r\nimport DetailsCardWrapper from '@shared/components/DetailsCard'\r\nimport { DETAILS_CARD_CONTENT_MIN_HEIGHT } from '@shared/components/DetailsCard/DetailsCard'\r\nimport ConfirmActivationPointForm from '@shared/components/forms/eInvoice/ConfirmActivationPointForm'\r\nimport EInvoiceSettings from '@shared/components/forms/eInvoice/EInvoiceSettings'\r\nimport MissingEInvoices from '@shared/components/forms/eInvoice/MissingEInvoices'\r\nimport SelectActivationPointForm from '@shared/components/forms/eInvoice/SelectActivationPointForm'\r\nimport useEInvoiceStyles from '@shared/components/forms/eInvoice/style'\r\nimport Modal from '@shared/components/modals/Modal'\r\nimport OfferCarousel from '@shared/components/OfferCarousel'\r\nimport {\r\n getAgreementsAssignedToOtherEmailThan,\r\n isMeasurementPointAssignedToAgreement,\r\n} from '@shared/utils/agreements'\r\nimport {\r\n getMeasurementPointsNumbers,\r\n stringifyMeasurementPoint,\r\n} from '@shared/utils/measurementPoints'\r\nimport { isEmpty } from 'ramda'\r\nimport React, { useCallback, useContext, useEffect, useState } from 'react'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport { useHistory } from 'react-router-dom'\r\nimport MyDocumentsTable from './components/MyDocumentsTable'\r\nimport { MyInformation } from './components/MyInformation'\r\nimport { MyNews } from './components/MyNews'\r\nimport { MyPaymentsTable } from './components/MyPaymentsTable'\r\nimport { useDataSource } from './dataSource'\r\nimport useStyles from './MyCenter.style'\r\nimport { usePaymentsStatus } from './MyCenter.utils'\r\nimport {\r\n CUSTOMER_DATA,\r\n HIDE_DETAILS,\r\n MORE_INFO,\r\n MY_DOCS,\r\n SHOW_DETAILS,\r\n} from './strings'\r\n\r\nexport enum Modals {\r\n SelectActivationPoint,\r\n ConfirmActivationPoint,\r\n}\r\n\r\nexport const MyCenter: React.FC = () => {\r\n const styles = useStyles()\r\n const history = useHistory()\r\n const [showDocDetails, setShowDocDetails] = useState(false)\r\n const dispatch = useAppDispatch()\r\n const eInvoiceStyles = useEInvoiceStyles()\r\n\r\n const { t } = useTranslation()\r\n usePaymentsStatus()\r\n\r\n const offers = !isEmpty(\r\n useAppSelector(getDesktopOffersByTypeSelector(ImageType.card))\r\n )\r\n\r\n const {\r\n account,\r\n agreements,\r\n documents,\r\n measurementPoints,\r\n news,\r\n alreadySavedInvoiceTypeRequests,\r\n correspondenceEmail,\r\n activationPoint,\r\n modals,\r\n } = useDataSource()\r\n\r\n const myDocsTitle = useCallback(\r\n (showDocDetails: boolean) =>\r\n showDocDetails\r\n ? measurementPoints.data[measurementPoints.selectedIndex]?.name ??\r\n measurementPoints.data[measurementPoints.selectedIndex]?.number ??\r\n ''\r\n : MY_DOCS,\r\n [measurementPoints]\r\n )\r\n\r\n const setLayoutProps = useContext(LayoutWrapperContext)\r\n\r\n useEffect(() => {\r\n setLayoutProps({\r\n topHeaderContent: (\r\n \r\n {account.data?.name}, {`${t('MY_CENTER.WELCOME_BACK')}!`}\r\n \r\n ),\r\n topHeaderLoading: account.loading,\r\n })\r\n\r\n return () => {\r\n setLayoutProps({})\r\n }\r\n }, [account.loading, account.data, setLayoutProps, styles.header, t])\r\n\r\n const clearEInvoiceState = React.useCallback(() => {\r\n modals.setOpenModalKey(undefined)\r\n measurementPoints.setSelectedMeasurementPoints([])\r\n correspondenceEmail.setCorrespondenceEmail(\r\n account.data?.correspondenceEmail ?? ''\r\n )\r\n }, [modals, measurementPoints, account.data, correspondenceEmail])\r\n\r\n const getAccountEmail = React.useCallback((): string => {\r\n return account.data?.email ?? ''\r\n }, [account.data])\r\n\r\n const getCorrespondenceEmail = React.useCallback((): string => {\r\n return (\r\n correspondenceEmail.correspondenceEmail ??\r\n account.data?.correspondenceEmail ??\r\n ''\r\n )\r\n }, [account.data, correspondenceEmail])\r\n\r\n const missingEInvoices = React.useMemo((): MissingEInvoices => {\r\n if (agreements.noEInvoiceAgreements.length === 0) {\r\n return MissingEInvoices.None\r\n } else {\r\n if (agreements.noEInvoiceAgreements.length === 1) {\r\n return MissingEInvoices.Single\r\n } else {\r\n return MissingEInvoices.Many\r\n }\r\n }\r\n }, [agreements.noEInvoiceAgreements])\r\n\r\n const hasSelectedAgreementEInvoice = React.useMemo(() => {\r\n const selectedMeasurementPoint =\r\n measurementPoints.data[measurementPoints.selectedIndex]\r\n return isMeasurementPointAssignedToAgreement(\r\n selectedMeasurementPoint,\r\n agreements.eInvoiceAgreements\r\n )\r\n }, [\r\n agreements.eInvoiceAgreements,\r\n measurementPoints.data,\r\n measurementPoints.selectedIndex,\r\n ])\r\n\r\n const eInvoiceSettings: EInvoiceSettings = {\r\n missingEInvoices: missingEInvoices,\r\n hasSelectedAgreementEInvoice: hasSelectedAgreementEInvoice,\r\n }\r\n\r\n const isEInvoiceButtonVisible = () => {\r\n return eInvoiceSettings.missingEInvoices !== MissingEInvoices.None\r\n }\r\n\r\n const showSuccessModal = useCallback(() => {\r\n modals.setOpenModalKey(undefined)\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: t('MY_CONTRACTS.MODAL.THANKS_FOR_CHANGE'),\r\n subtitle: t('MODAL_MESSAGES.SERVICE_ACTIVATED'),\r\n text: (\r\n \r\n Activation confirmation has been sent to\r\n
\r\n {{ email: getAccountEmail() }}, with the terms of use.\r\n
\r\n ),\r\n onCancel: () => clearEInvoiceState(),\r\n })\r\n )\r\n }, [t, dispatch, clearEInvoiceState, modals, getAccountEmail])\r\n\r\n const showErrorModal = () => {\r\n dispatch(\r\n showModal({\r\n type: 'error',\r\n title: t('MODAL_MESSAGES.SORRY'),\r\n subtitle: t('MODAL_MESSAGES.UNEXPECTED_ERROR_OCCURED'),\r\n withCancelButton: true,\r\n withSubmitButton: true,\r\n onSubmit: () => {\r\n dispatch(\r\n showModal({\r\n type: 'report',\r\n })\r\n )\r\n },\r\n })\r\n )\r\n }\r\n\r\n const submitConfirmActivationPointForm = () => {\r\n dispatch(\r\n activationEInvoices({\r\n eInvoiceEmailAddress: correspondenceEmail.correspondenceEmail ?? '',\r\n measurementPointNumbers: getMeasurementPointsNumbers(\r\n measurementPoints.selectedMeasurementPoints\r\n ),\r\n isEInvoiceAccepted: true,\r\n isEInvoiceTremsAccepted: true,\r\n })\r\n )\r\n .then(() => {\r\n dispatch(\r\n userAgreementsActions.refreshAgreementEmailsAfterActivateEInvoice({\r\n agreements:\r\n correspondenceEmail.correspondenceEmail ===\r\n account.data?.correspondenceEmail\r\n ? []\r\n : getAgreementsAssignedToOtherEmailThan(\r\n account.data?.correspondenceEmail ?? '',\r\n agreements.eInvoiceAgreements\r\n ),\r\n newEmail: correspondenceEmail.correspondenceEmail ?? '',\r\n measurementPoints: measurementPoints.selectedMeasurementPoints,\r\n })\r\n )\r\n showSuccessModal()\r\n })\r\n .catch(() => {\r\n showErrorModal()\r\n })\r\n }\r\n\r\n const modalsToOpen = {\r\n [Modals.SelectActivationPoint]: (\r\n modals.setOpenModalKey(Modals.ConfirmActivationPoint)}\r\n correspondenceEmail={getCorrespondenceEmail()}\r\n setCorrespondenceEmail={correspondenceEmail.setCorrespondenceEmail}\r\n selectedMeasurementPoints={measurementPoints.selectedMeasurementPoints}\r\n setSelectedMeasurementPoints={\r\n measurementPoints.setSelectedMeasurementPoints\r\n }\r\n selectedActivationPointOption={\r\n activationPoint.selectedActivationPointOption\r\n }\r\n setSelectedActivationPointOption={\r\n activationPoint.setSelectedActivationPointOption\r\n }\r\n stringify={stringifyMeasurementPoint}\r\n settings={eInvoiceSettings}\r\n />\r\n ),\r\n [Modals.ConfirmActivationPoint]: (\r\n modals.setOpenModalKey(Modals.SelectActivationPoint)}\r\n onSubmit={submitConfirmActivationPointForm}\r\n eInvoiceAgreements={agreements.eInvoiceAgreements}\r\n selectedActivationPointOption={\r\n activationPoint.selectedActivationPointOption\r\n }\r\n setSelectedMeasurementPoints={\r\n measurementPoints.setSelectedMeasurementPoints\r\n }\r\n stringify={stringifyMeasurementPoint}\r\n settings={eInvoiceSettings}\r\n />\r\n ),\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n history.push(SiderPaths.myAccountingDocuments.path)\r\n }}\r\n buttonText={t('MY_CENTER.SHOW_ALL')}\r\n loading={documents.loading}\r\n >\r\n {documents.lastData && !isEmpty(documents.lastData) ? (\r\n \r\n ) : (\r\n
Brak płatności
\r\n )}\r\n \r\n
\r\n {offers && (\r\n \r\n \r\n
\r\n )}\r\n\r\n \r\n {\r\n history.push(SiderPaths.news.path)\r\n }}\r\n buttonText={t('MY_CENTER.SHOW_ALL')}\r\n loading={news.loading}\r\n minHeight={\r\n isEmpty(news.data)\r\n ? DETAILS_CARD_CONTENT_MIN_HEIGHT / 2\r\n : DETAILS_CARD_CONTENT_MIN_HEIGHT\r\n }\r\n >\r\n {news.data && !isEmpty(news.data) ? (\r\n \r\n ) : (\r\n
Brak wiadomości
\r\n )}\r\n \r\n
\r\n \r\n {\r\n setShowDocDetails(prev => !prev)\r\n }}\r\n buttonText={\r\n isEmpty(measurementPoints.data)\r\n ? undefined\r\n : showDocDetails\r\n ? HIDE_DETAILS\r\n : SHOW_DETAILS\r\n }\r\n secondaryButtonHandler={\r\n isEInvoiceButtonVisible()\r\n ? () => modals.setOpenModalKey(Modals.SelectActivationPoint)\r\n : undefined\r\n }\r\n secondaryButtonText={\r\n isEInvoiceButtonVisible()\r\n ? t('MY_INVOICES.E_INVOICE.ACTIVATE')\r\n : undefined\r\n }\r\n loading={agreements.loading || measurementPoints.loading}\r\n >\r\n {measurementPoints.data && !isEmpty(measurementPoints.data) ? (\r\n modals.setOpenModalKey(Modals.SelectActivationPoint)\r\n : undefined\r\n }\r\n />\r\n ) : (\r\n
Brak aktywnych umów
\r\n )}\r\n\r\n \r\n {modals.openModalKey !== undefined &&\r\n modalsToOpen[modals.openModalKey]}\r\n \r\n \r\n
\r\n\r\n \r\n history.push(SiderPaths.settings.path)}\r\n buttonText={MORE_INFO}\r\n loading={account.loading}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import { amountParser } from '@shared/utils/balanceParser'\r\nimport React, { useState, useEffect } from 'react'\r\nimport { animated, to, useSpring } from 'react-spring'\r\n\r\nexport const NumberChangeAnimation: React.FC<{\r\n value: number\r\n precision?: number\r\n}> = ({ value, precision = 0 }) => {\r\n const [values, setValues] = useState([])\r\n\r\n useEffect(() => {\r\n if (value !== values[values.length - 1]) {\r\n setValues([...values, value])\r\n }\r\n }, [value, values])\r\n\r\n const numOfValues = values.length\r\n\r\n const props = useSpring({\r\n number: numOfValues > 0 ? values[numOfValues - 1] : 0,\r\n from: { number: numOfValues > 1 ? values[numOfValues - 2] : 0 },\r\n })\r\n\r\n return (\r\n \r\n {to(props.number, val =>\r\n amountParser(parseFloat(val.toString()), precision)\r\n )}\r\n \r\n )\r\n}\r\n","import React, { useCallback, useState } from 'react'\r\nimport {\r\n Button,\r\n makeStyles,\r\n MenuItem,\r\n createStyles,\r\n Theme,\r\n FormControl,\r\n Select,\r\n Menu,\r\n} from '@material-ui/core'\r\nimport {\r\n AccountingDocumentsSortType,\r\n AccountingDocumentTypeFilter,\r\n MeasurementPointListItem,\r\n} from '@shared/contracts/models'\r\nimport {\r\n tableTextColor,\r\n textSecondaryColor,\r\n bgColor,\r\n} from '@mbok/styles/constants'\r\nimport { FilterType, SortType } from '../invoicesDataSource'\r\nimport { GetDocumentsPayload } from '@mbok/core/store/entity/documents/documentsThunks'\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess'\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n formControl: {\r\n marginRight: '16px',\r\n '& > div': {\r\n border: `1.7px solid ${textSecondaryColor + colorOpacityParser(35)}`,\r\n borderRadius: '7px',\r\n backgroundColor: bgColor,\r\n textTransform: 'unset',\r\n letterSpacing: '0.1px',\r\n color: textSecondaryColor,\r\n transition: 'border 0.2s ease-in-out',\r\n '&:hover': {\r\n border: `1.7px solid ${textSecondaryColor}`,\r\n },\r\n '&:before, &:after': {\r\n display: 'none',\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n margin: theme.spacing(0, 0, 3),\r\n width: '100%',\r\n },\r\n },\r\n select: {\r\n padding: theme.spacing(2, 6, 2, 4),\r\n },\r\n sort: {\r\n [theme.breakpoints.down('xs')]: {\r\n alignItems: 'flex-start !important',\r\n },\r\n '& h3': {\r\n margin: theme.spacing(0, 2, 0, 0),\r\n fontWeight: 700,\r\n fontSize: 18,\r\n color: tableTextColor,\r\n letterSpacing: '0.2px',\r\n },\r\n '& button': {\r\n padding: theme.spacing(1, 0, 1, 1),\r\n fontSize: 16,\r\n color: tableTextColor,\r\n textTransform: 'unset',\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(1, 0, 1, 0),\r\n },\r\n },\r\n '& svg': {\r\n height: '28px',\r\n margin: 0,\r\n fill: theme.palette.primary.main,\r\n },\r\n },\r\n })\r\n)\r\n\r\n//InvoiceType filter\r\n\r\nconst InvoiceFilters = [\r\n AccountingDocumentTypeFilter.All,\r\n AccountingDocumentTypeFilter.AllInvoices,\r\n AccountingDocumentTypeFilter.AllNotes,\r\n AccountingDocumentTypeFilter.CollectiveInvoice,\r\n]\r\n\r\nexport const InvoiceTypeFilter: React.FC<{\r\n filtersState: FilterType\r\n setFiltersState: React.Dispatch>\r\n}> = ({ filtersState, setFiltersState }) => {\r\n const styles = useStyles()\r\n\r\n const translateFilter = useCallback(\r\n (typeOfDoc: AccountingDocumentTypeFilter) => {\r\n const {\r\n All,\r\n AllInvoices,\r\n AllNotes,\r\n CollectiveInvoice,\r\n } = AccountingDocumentTypeFilter\r\n\r\n switch (typeOfDoc) {\r\n case All:\r\n return 'Wszystkie dokumenty'\r\n case AllInvoices:\r\n return 'Wszystkie faktury'\r\n case AllNotes:\r\n return 'Wszystkie noty'\r\n case CollectiveInvoice:\r\n return 'Faktury zbiorcze'\r\n }\r\n },\r\n []\r\n )\r\n\r\n return (\r\n \r\n {\r\n setFiltersState(prev => ({\r\n ...prev,\r\n typeOfDoc: e.target.value as AccountingDocumentTypeFilter,\r\n }))\r\n }}\r\n inputProps={{ 'aria-label': 'Without label' }}\r\n >\r\n {InvoiceFilters.map(filter => {\r\n return (\r\n \r\n {translateFilter(filter)}\r\n \r\n )\r\n })}\r\n \r\n \r\n )\r\n}\r\n\r\n//MeasurementPoints filter\r\n\r\nexport const MeasurementPointFilter: React.FC<{\r\n filtersState: FilterType\r\n setFiltersState: React.Dispatch>\r\n measurementPoints: {\r\n data: (MeasurementPointListItem | undefined)[]\r\n loading: boolean\r\n }\r\n}> = ({ filtersState, setFiltersState, measurementPoints }) => {\r\n const styles = useStyles()\r\n\r\n const MenuProps = {\r\n PaperProps: {\r\n style: {\r\n maxHeight: 240,\r\n },\r\n },\r\n }\r\n\r\n return (\r\n \r\n {\r\n setFiltersState(prev => ({\r\n ...prev,\r\n measurementPoint: e.target.value as string,\r\n }))\r\n }}\r\n displayEmpty\r\n inputProps={{ 'aria-label': 'Without label' }}\r\n MenuProps={MenuProps}\r\n >\r\n Wszystkie punkty poboru\r\n {measurementPoints && !measurementPoints.loading ? (\r\n measurementPoints.data?.map((point, i) => {\r\n return (\r\n \r\n {point?.name ??\r\n (point?.addressLine1 || point?.addressLine2\r\n ? `${point?.addressLine1}, ${point?.addressLine2}`\r\n : point?.number)}\r\n \r\n )\r\n })\r\n ) : (\r\n
Loading
\r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\n//SORT\r\n\r\nconst sortTypes = [\r\n { type: AccountingDocumentsSortType.DocumentDate, desc: true },\r\n { type: AccountingDocumentsSortType.DocumentDate, desc: false },\r\n { type: AccountingDocumentsSortType.TotalAmount, desc: true },\r\n { type: AccountingDocumentsSortType.TotalAmount, desc: false },\r\n { type: AccountingDocumentsSortType.DocumentNumber, desc: true },\r\n { type: AccountingDocumentsSortType.DocumentNumber, desc: false },\r\n { type: AccountingDocumentsSortType.DueDate, desc: true },\r\n { type: AccountingDocumentsSortType.DueDate, desc: false },\r\n]\r\n\r\nexport const Sort: React.FC<{\r\n sort: SortType\r\n setSort: React.Dispatch>\r\n loadInvoices: (\r\n customerNumberChanged?: boolean | undefined,\r\n args?: GetDocumentsPayload | undefined\r\n ) => void\r\n}> = ({ sort, setSort, loadInvoices }) => {\r\n const styles = useStyles()\r\n const [anchorEl, setAnchorEl] = useState(null)\r\n\r\n const translateSort = useCallback((sortBy: AccountingDocumentsSortType) => {\r\n const {\r\n DocumentDate,\r\n DocumentNumber,\r\n DueDate,\r\n TotalAmount,\r\n } = AccountingDocumentsSortType\r\n switch (sortBy) {\r\n case DocumentDate:\r\n return 'Data dokumentu'\r\n case DocumentNumber:\r\n return 'Numer dokumentu'\r\n case DueDate:\r\n return 'Termin zapłaty'\r\n case TotalAmount:\r\n return 'Kwota'\r\n }\r\n }, [])\r\n\r\n return (\r\n <>\r\n
\r\n

Sortowanie:

\r\n ) =>\r\n setAnchorEl(e.currentTarget)\r\n }\r\n >\r\n {translateSort(sort.sortBy)} ({sort.sortDesc ? 'Malejąco' : 'Rosnąco'}\r\n ) {Boolean(anchorEl) ? : }\r\n \r\n
\r\n {\r\n setAnchorEl(null)\r\n }}\r\n >\r\n {sortTypes.map((sortItem, i) => {\r\n const { type, desc } = sortItem\r\n return (\r\n {\r\n if (sort.sortBy !== type || sort.sortDesc !== desc) {\r\n setSort({\r\n sortBy: type,\r\n sortDesc: desc,\r\n })\r\n loadInvoices(false, {\r\n start: 0,\r\n sortBy: type,\r\n sortDesc: desc,\r\n })\r\n }\r\n setAnchorEl(null)\r\n }}\r\n >\r\n {translateSort(type)} {desc ? '(Malejąco)' : '(Rosnąco)'}\r\n \r\n )\r\n })}\r\n \r\n \r\n )\r\n}\r\n","import React, { useMemo } from 'react'\r\nimport {\r\n makeStyles,\r\n Theme,\r\n createStyles,\r\n Fade,\r\n useTheme,\r\n useMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Pagination } from '@material-ui/lab'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n paginationContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n pagination: {\r\n '& li': {\r\n '& button': {\r\n '&.MuiPaginationItem-textPrimary.Mui-selected': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n },\r\n })\r\n)\r\n\r\nexport const CustomPagination: React.FC<{\r\n page: number\r\n numberOfPages: number\r\n onChange: (e: React.ChangeEvent, val: number) => void\r\n loading?: boolean\r\n siblingCount?: number\r\n}> = ({ page, numberOfPages, onChange, loading = false, siblingCount = 1 }) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const screenXS = useMediaQuery(theme.breakpoints.down('xs'))\r\n\r\n const siblings = useMemo(() => {\r\n return screenXS ? 0 : siblingCount\r\n }, [screenXS, siblingCount])\r\n\r\n return (\r\n <>\r\n {numberOfPages > 1 && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n )\r\n}\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nexport const LAST_BUTTON_WIDTH = 128\r\nconst PDF_BTN_WIDTH = 76\r\nconst BTN_HEIGHT = 39\r\nconst CHECKBOX_SIZE = 32\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n tableHeader: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n margin: theme.spacing(7, 0, 3),\r\n paddingTop: theme.spacing(7),\r\n borderTop: '1.8px solid #5F76FD1A',\r\n '& div': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n '&:first-child': {\r\n '& svg': {\r\n width: 24,\r\n height: 24,\r\n margin: theme.spacing(0, 4, 0, 0),\r\n fill: theme.palette.primary.main,\r\n },\r\n '& h2': {\r\n margin: 0,\r\n fontWeight: 700,\r\n fontSize: 19,\r\n color: tableTextColor,\r\n letterSpacing: '0.16px',\r\n },\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n '& div:first-child': {\r\n marginBottom: theme.spacing(1),\r\n },\r\n '& div:last-child': {\r\n marginLeft: theme.spacing(9),\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& div:last-child': {\r\n marginLeft: 0,\r\n flexDirection: 'column',\r\n },\r\n },\r\n },\r\n resizableTableContainer: {\r\n overflowY: 'hidden',\r\n transition: 'height 0.8s ease-in-out',\r\n },\r\n loader: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n position: 'relative',\r\n top: 0,\r\n left: 0,\r\n },\r\n invoicesNotFound: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n height: '102px',\r\n opacity: 0.55,\r\n fontSize: 19,\r\n color: tableTextColor,\r\n letterSpacing: '0.16px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n table: {\r\n margin: 0,\r\n minWidth: 1100,\r\n borderRadius: '8px',\r\n '& .MuiTableCell-root': {\r\n border: 0,\r\n },\r\n '& .MuiTableCell-body': {\r\n alignItems: 'center',\r\n padding: theme.spacing(3, 1),\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(3, 1, 2, 1),\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n display: 'block',\r\n minWidth: 900,\r\n },\r\n },\r\n bodyCell: {\r\n color: tableTextColor + colorOpacityParser(75),\r\n fontSize: 16,\r\n letterSpacing: '0.61px',\r\n lineHeight: '20px',\r\n },\r\n checkboxStyles: {\r\n borderTopLeftRadius: 12,\r\n borderBottomLeftRadius: 12,\r\n width: CHECKBOX_SIZE,\r\n minWidth: CHECKBOX_SIZE,\r\n },\r\n lastCell: {\r\n borderTopRightRadius: 12,\r\n borderBottomRightRadius: 12,\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: '0px !important',\r\n display: 'inline-block',\r\n position: 'sticky',\r\n left: '50%',\r\n top: 0,\r\n transform: 'translateX(-50%)',\r\n },\r\n },\r\n buttonsCell: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n buttonsWrapper: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n pdfBtn: {\r\n '& svg': {\r\n width: '20px',\r\n height: '20px',\r\n color: 'black',\r\n cursor: 'pointer',\r\n },\r\n width: PDF_BTN_WIDTH,\r\n height: BTN_HEIGHT,\r\n '& button': {\r\n width: '100%',\r\n height: '100%',\r\n padding: 0,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n color: 'black',\r\n fontSize: 14,\r\n fontWeight: theme.typography.fontWeightBold,\r\n borderRadius: '19px',\r\n border: '2.7px solid #DAD9D9',\r\n textDecoration: 'none',\r\n outline: 'none',\r\n transition: 'border 0.2s ease-in-out',\r\n },\r\n },\r\n payInvoiceBtn: {\r\n width: LAST_BUTTON_WIDTH,\r\n height: BTN_HEIGHT,\r\n marginLeft: theme.spacing(4),\r\n '& button': {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n paddingLeft: theme.spacing(1),\r\n paddingRight: theme.spacing(1),\r\n fontSize: 14,\r\n boxShadow: 'none',\r\n },\r\n },\r\n checkedIcon: {\r\n width: '14px',\r\n height: '14px',\r\n borderRadius: '3px',\r\n backgroundColor: theme.palette.primary.dark,\r\n },\r\n checkedCell: {\r\n '& span': {\r\n color: theme.palette.primary.main,\r\n },\r\n },\r\n amountCell: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n height: '42px',\r\n minWidth: '112px',\r\n margin: theme.spacing(0, 5),\r\n borderRadius: '5px',\r\n fontSize: 17,\r\n letterSpacing: '0.64px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n [theme.breakpoints.down('sm')]: {\r\n margin: theme.spacing(0, 3),\r\n },\r\n },\r\n tableRow: {\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n display: 'inline-block',\r\n },\r\n },\r\n sumAmount: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n minHeight: '60px',\r\n color: '#566778',\r\n marginTop: theme.spacing(4),\r\n '& > div': {\r\n '& h3': {\r\n margin: theme.spacing(0, 0, 1),\r\n opacity: 0.8,\r\n fontSize: 14,\r\n letterSpacing: '0.2px',\r\n },\r\n '& p': {\r\n margin: 0,\r\n fontWeight: 700,\r\n fontSize: 21,\r\n color: tableTextColor,\r\n letterSpacing: '0.4px',\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n },\r\n },\r\n payAllBtn: {\r\n marginLeft: theme.spacing(9),\r\n width: '152px',\r\n height: '42px',\r\n padding: theme.spacing(0, 1),\r\n [theme.breakpoints.down('xs')]: {\r\n margin: theme.spacing(2, 0, 0),\r\n },\r\n },\r\n paginationContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(9),\r\n },\r\n pagination: {\r\n '& li': {\r\n '& button': {\r\n '&.MuiPaginationItem-textPrimary.Mui-selected': {\r\n color: theme.palette.common.white,\r\n },\r\n },\r\n },\r\n },\r\n })\r\n)\r\n","import { GetDocumentsPayload } from '@core/store/entity/documents/documentsThunks'\r\nimport { ReactComponent as PaidSvg } from '@images/icons/myInvoices/Paid.svg'\r\nimport { ReactComponent as UnpaidSvg } from '@images/icons/myInvoices/Unpaid.svg'\r\nimport { ReactComponent as DownloadPDFSvg } from '@images/icons/myInvoices/DownloadPDF.svg'\r\nimport {\r\n CircularProgress,\r\n Fade,\r\n Collapse,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableRow,\r\n Theme,\r\n useTheme,\r\n useMediaQuery,\r\n} from '@material-ui/core'\r\nimport { Button } from '@shared/components/Button'\r\nimport { StyledCheckbox } from '@shared/components/Checkbox'\r\nimport { NumberChangeAnimation } from '@shared/components/NumberChangeAnimation'\r\nimport { TableCellContent } from '@shared/components/TableCell'\r\nimport { useCreateTransaction } from '@shared/hooks/createTransaction'\r\nimport {\r\n AccountingDocumentListItem,\r\n AccountingDocumentStatus,\r\n AccountingDocumentStatusFilter,\r\n AccountingDocumentType,\r\n SecuredOrderItem,\r\n TranslatedAccountingDocumentStatus,\r\n TranslatedAccountingDocumentType,\r\n} from '@shared/contracts/models'\r\nimport { useSavePdf } from '@shared/hooks/pdfSaver'\r\nimport { differenceInDays, format, isPast, parseISO } from 'date-fns'\r\nimport { equals, isEmpty } from 'ramda'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\nimport { animated, Transition } from 'react-spring'\r\nimport { FilterType, SortType } from '../../invoicesDataSource'\r\nimport { Sort } from '../FilterComponents'\r\nimport { SizeMe } from 'react-sizeme'\r\nimport { useLoadingState } from '@shared/hooks/loadingState'\r\nimport { CustomPagination } from '@shared/components/Pagination'\r\nimport CustomScrollBar from '@shared/components/ScrollBar'\r\nimport { ReactComponent as CheckedSvg } from '@images/icons/checkbox/Checked.svg'\r\nimport { ReactComponent as UncheckedSvg } from '@images/icons/checkbox/Unchecked.svg'\r\nimport { AddressParser } from '@shared/components/AddressParser'\r\nimport { amountParser } from '@shared/utils/balanceParser'\r\nimport useStyles, { LAST_BUTTON_WIDTH } from './InvoicesList.style'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { SCROLL_SIZE } from '@shared/components/ScrollBar/ScrollBar.style'\r\nimport HintPopover from '@shared/components/HintPopover'\r\n\r\nexport const NotesAndOther = [\r\n AccountingDocumentType.InterestNote,\r\n AccountingDocumentType.DebitNote,\r\n AccountingDocumentType.CreditNote,\r\n AccountingDocumentType.NoteCorrection,\r\n AccountingDocumentType.Other,\r\n]\r\n\r\ntype loadInvoicesType = (\r\n customerNumberChanged?: boolean,\r\n args?: GetDocumentsPayload\r\n) => void\r\n\r\nexport interface DocsListProps {\r\n invoices?: AccountingDocumentListItem[]\r\n loading?: boolean\r\n paymentLoading?: boolean\r\n statusType?: AccountingDocumentStatusFilter\r\n pageSize: number\r\n pagination: { numberOfPages: number; docsPageStart: number }\r\n sort: SortType\r\n setSort: React.Dispatch>\r\n loadInvoices: loadInvoicesType\r\n filter: FilterType\r\n defaultFilter?: FilterType\r\n}\r\n\r\nconst TABLE_HEIGHT = 100\r\n\r\nexport const DocsList: React.FC = ({\r\n invoices,\r\n loading,\r\n statusType,\r\n pageSize,\r\n pagination,\r\n sort,\r\n setSort,\r\n loadInvoices,\r\n filter,\r\n defaultFilter,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const isXS = useMediaQuery(theme.breakpoints.down('xs'))\r\n\r\n const { t } = useTranslation()\r\n\r\n const isLoading = useLoadingState(loading ?? true, 800)\r\n\r\n const [page, setPage] = useState(1)\r\n const [invoicesState, setInvoicesState] = useState<\r\n AccountingDocumentListItem[]\r\n >(invoices || [])\r\n const [checkedInvoices, setCheckInvoices] = useState([])\r\n const [checkedAmount, setCheckedAmount] = useState(0)\r\n const [tableHeight, setTableHeight] = useState(TABLE_HEIGHT)\r\n const savePdf = useSavePdf()\r\n const createTransaction = useCreateTransaction()\r\n const { Paid, Unpaid } = AccountingDocumentStatusFilter\r\n\r\n const getAllTransactions = useCallback((): SecuredOrderItem[] => {\r\n const transactions = invoices\r\n ?.filter(\r\n i =>\r\n i.paymentToken &&\r\n i.balance &&\r\n i.accountingDocumentId &&\r\n checkedInvoices.includes(i.accountingDocumentId)\r\n )\r\n .map(i => ({ paymentToken: i.paymentToken, amount: i.balance }))\r\n return transactions || []\r\n }, [invoices, checkedInvoices])\r\n\r\n const checked = useCallback(\r\n (accountingDocumentId: string | undefined) => {\r\n if (accountingDocumentId) {\r\n return checkedInvoices.includes(accountingDocumentId)\r\n } else {\r\n return false\r\n }\r\n },\r\n [checkedInvoices]\r\n )\r\n\r\n const updateAmount = useCallback((amount: number) => {\r\n setCheckedAmount(prev => Math.round((prev + amount) * 100) / 100)\r\n }, [])\r\n\r\n const handleInvoicesOnClick = useCallback(\r\n (accountingDocumentId: string | undefined, amount: number | undefined) => {\r\n if (checked(accountingDocumentId)) {\r\n if (accountingDocumentId) {\r\n const checkedOnes = [...checkedInvoices]\r\n const index = checkedOnes.indexOf(accountingDocumentId)\r\n checkedOnes.splice(index, 1)\r\n setCheckInvoices(checkedOnes)\r\n }\r\n if (amount) {\r\n updateAmount(-amount)\r\n }\r\n } else {\r\n if (accountingDocumentId) {\r\n setCheckInvoices(prev => [...prev, accountingDocumentId])\r\n }\r\n if (amount) {\r\n updateAmount(amount)\r\n }\r\n }\r\n },\r\n [checkedInvoices, checked, setCheckInvoices, updateAmount]\r\n )\r\n\r\n const checkPastUnpaidInvoices = useCallback(\r\n (invoices: AccountingDocumentListItem[]) => {\r\n const ids: Array = []\r\n let amount = 0\r\n if (statusType === Unpaid) {\r\n invoices.forEach(doc => {\r\n const { accountingDocumentId, balance, dueDate, status } = doc\r\n if (\r\n accountingDocumentId &&\r\n balance &&\r\n status === AccountingDocumentStatus.Unpaid\r\n ) {\r\n if (dueDate && isPast(parseISO(dueDate))) {\r\n ids.push(accountingDocumentId)\r\n amount += balance\r\n }\r\n }\r\n })\r\n }\r\n setCheckInvoices(ids)\r\n setCheckedAmount(amount)\r\n },\r\n [Unpaid, statusType]\r\n )\r\n\r\n useEffect(() => {\r\n if (invoices) {\r\n if (statusType === Unpaid) {\r\n if (equals(invoicesState, invoices)) {\r\n } else {\r\n checkPastUnpaidInvoices(invoices)\r\n }\r\n }\r\n setInvoicesState(invoices)\r\n }\r\n }, [\r\n invoices,\r\n Unpaid,\r\n checkPastUnpaidInvoices,\r\n setInvoicesState,\r\n invoicesState,\r\n statusType,\r\n ])\r\n\r\n useEffect(() => {\r\n setPage(pagination.docsPageStart / 10 + 1)\r\n }, [pagination, setPage])\r\n\r\n const _loadInvoices = useCallback(\r\n (...params: Parameters) => {\r\n setCheckedAmount(0)\r\n setCheckInvoices([])\r\n loadInvoices(...params)\r\n },\r\n [setCheckedAmount, setCheckInvoices, loadInvoices]\r\n )\r\n\r\n const renderLoader = useCallback(\r\n (tableHeight: number) => (\r\n \r\n \r\n \r\n ),\r\n [styles.loader]\r\n )\r\n\r\n const renderInvoicesNotFound = useCallback(\r\n (\r\n statusType: AccountingDocumentStatusFilter,\r\n filter: FilterType,\r\n isLoading: boolean,\r\n defaultFilter?: FilterType\r\n ) => {\r\n const defaultFilters = defaultFilter?.typeOfDoc === filter.typeOfDoc\r\n const msg =\r\n statusType === Unpaid && defaultFilters\r\n ? t('MY_INVOICES.ALL_INVOICES_PAID')\r\n : t('MY_INVOICES.INVOICES_NOT_FOUND')\r\n return (\r\n
\r\n \r\n {msg}\r\n \r\n
\r\n )\r\n },\r\n [Unpaid, styles.invoicesNotFound, t]\r\n )\r\n\r\n const renderResults = useCallback(\r\n (\r\n statusType: AccountingDocumentStatusFilter,\r\n invoices?: AccountingDocumentListItem[]\r\n ) => (\r\n
\r\n \r\n \r\n {invoices?.map((doc, i) => {\r\n const {\r\n accountingDocumentId,\r\n documentNumber,\r\n consumptionValue,\r\n consumptionUnit,\r\n balance,\r\n totalAmount,\r\n dueDate,\r\n measurementPointName,\r\n measurementPointNumber,\r\n type,\r\n measurementPointAddressLine1,\r\n measurementPointAddressLine2,\r\n paymentToken,\r\n status,\r\n pdfAvailable,\r\n } = doc\r\n\r\n const invoiceType = type\r\n ? TranslatedAccountingDocumentType[type]\r\n : t('MY_INVOICES.INVOICE')\r\n\r\n const singlePoint =\r\n measurementPointName ??\r\n (measurementPointAddressLine1 ||\r\n measurementPointAddressLine2 ? (\r\n \r\n \r\n \r\n }\r\n content={\r\n
\r\n \r\n
\r\n }\r\n />\r\n ) : (\r\n measurementPointNumber ?? ''\r\n ))\r\n\r\n const invoiceMeasurementPoint = () => {\r\n if (\r\n type === AccountingDocumentType.CollectiveInvoice ||\r\n (type === AccountingDocumentType.InvoiceCorrection &&\r\n !singlePoint)\r\n ) {\r\n return t('MY_INVOICES.MANY_MEASUREMENT_POINTS')\r\n } else if (!type || NotesAndOther.includes(type)) {\r\n return t('MY_INVOICES.DOES_NOT_CONCERN')\r\n } else {\r\n return singlePoint\r\n }\r\n }\r\n\r\n const customBtnWidth =\r\n statusType === Paid\r\n ? { width: LAST_BUTTON_WIDTH, marginLeft: 0 }\r\n : {}\r\n\r\n const consumption =\r\n (type && NotesAndOther.includes(type)) ||\r\n consumptionValue === null\r\n ? t('MY_INVOICES.DOES_NOT_CONCERN')\r\n : consumptionValue !== undefined &&\r\n consumptionValue !== null &&\r\n consumptionUnit\r\n ? consumptionValue + ' ' + consumptionUnit\r\n : ''\r\n\r\n const payBtnText =\r\n type && NotesAndOther.includes(type)\r\n ? t('MY_INVOICES.PAY')\r\n : t('MY_INVOICES.PAY_THE_INVOICE')\r\n\r\n const unpaidAmountStyle =\r\n statusType === Unpaid && dueDate\r\n ? isPast(parseISO(dueDate))\r\n ? {\r\n color: theme.palette.error.main,\r\n border: '3px solid #E86F74',\r\n }\r\n : differenceInDays(parseISO(dueDate), new Date()) <= 5\r\n ? {\r\n color: theme.palette.secondary.main,\r\n border: `3px solid ${theme.palette.secondary.main}`,\r\n }\r\n : {\r\n color: theme.palette.primary.main,\r\n border: `3px solid ${theme.palette.primary.main}`,\r\n }\r\n : {}\r\n\r\n return (\r\n \r\n {(!isXS || (isXS && statusType === Unpaid)) && (\r\n \r\n {statusType === Unpaid &&\r\n status === AccountingDocumentStatus.Unpaid && (\r\n }\r\n checkedIcon={}\r\n onClick={() =>\r\n handleInvoicesOnClick(\r\n accountingDocumentId,\r\n balance\r\n )\r\n }\r\n checked={checked(accountingDocumentId)}\r\n disableRipple\r\n />\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {statusType === Unpaid ? (\r\n \r\n {amountParser(balance) + ' zł'}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {statusType === Unpaid && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {pdfAvailable &&\r\n accountingDocumentId &&\r\n savePdf(\r\n `AccountingDocuments/${accountingDocumentId}/pdf`,\r\n (loading, saveFn) =>\r\n loading ? (\r\n \r\n ) : (\r\n {\r\n saveFn()\r\n }}\r\n >\r\n \r\n PDF\r\n \r\n )\r\n )}\r\n
\r\n {statusType === Unpaid && (\r\n
\r\n {balance &&\r\n status === AccountingDocumentStatus.Unpaid\r\n ? createTransaction(\r\n [{ paymentToken, amount: balance }],\r\n (loading, saveFn) => (\r\n saveFn()}\r\n >\r\n {loading ? (\r\n \r\n ) : (\r\n <>{payBtnText}\r\n )}\r\n \r\n )\r\n )\r\n : null}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n )\r\n })}\r\n
\r\n
\r\n
\r\n ),\r\n [\r\n checked,\r\n savePdf,\r\n isXS,\r\n handleInvoicesOnClick,\r\n Paid,\r\n Unpaid,\r\n styles,\r\n theme,\r\n createTransaction,\r\n t,\r\n ]\r\n )\r\n\r\n const HintContent = (\r\n \r\n
    \r\n
  • \r\n System płatności umożliwia dokonanie jednorazowej transakcji w\r\n wysokości nieprzekraczającej równowartości 1000 euro (przy\r\n zastosowaniu średniego kursu NBP obowiązującego w dniu dokonywania\r\n transakcji).\r\n
  • \r\n
\r\n
\r\n )\r\n\r\n const renderPaymentSummary = useCallback(\r\n (isLoading: boolean, checkedAmount: number) => (\r\n \r\n
\r\n
\r\n

\r\n \r\n

\r\n 0}\r\n from={{ opacity: 0.2 }}\r\n enter={{ opacity: 1 }}\r\n >\r\n {(values, visible) => {\r\n return (\r\n visible && (\r\n \r\n {' '}\r\n zł\r\n \r\n )\r\n )\r\n }}\r\n \r\n \r\n {(values, visible) => {\r\n return (\r\n visible && Nie wybrano\r\n )\r\n }}\r\n \r\n
\r\n \r\n <>\r\n {createTransaction(getAllTransactions(), (loading, saveFn) => (\r\n saveFn()}\r\n >\r\n {loading ? (\r\n \r\n ) : (\r\n <>Zapłać faktury\r\n )}\r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n ),\r\n [styles, createTransaction, getAllTransactions, HintContent]\r\n )\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {statusType === Paid ? : }\r\n

Dokumenty {statusType === Paid ? 'zapłacone' : 'do zapłaty'}

\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n {({ size }) => {\r\n setTimeout(() => {\r\n size.height && setTableHeight(size.height + SCROLL_SIZE * 1.25)\r\n }, 0)\r\n return (\r\n <>\r\n {/* Loader */}\r\n {isLoading && renderLoader(size.height ?? TABLE_HEIGHT)}\r\n\r\n {/* No results */}\r\n {isEmpty(invoices) &&\r\n renderInvoicesNotFound(\r\n statusType as 'Unpaid' | 'Paid',\r\n filter,\r\n isLoading,\r\n defaultFilter\r\n )}\r\n\r\n {/* Results table */}\r\n {!isLoading &&\r\n renderResults(statusType as 'Paid' | 'Unpaid', invoices)}\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n\r\n {/* Unpaid invoices amount summary */}\r\n {statusType === Unpaid &&\r\n !isEmpty(invoices) &&\r\n renderPaymentSummary(isLoading, checkedAmount)}\r\n\r\n {/* Pagination */}\r\n
\r\n , val: number) => {\r\n if (val !== page) {\r\n _loadInvoices(false, { start: (val - 1) * pageSize })\r\n }\r\n }}\r\n loading={isLoading}\r\n />\r\n
\r\n
\r\n )\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport {\r\n createStyles,\r\n makeStyles,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Theme,\r\n useTheme,\r\n CircularProgress,\r\n} from '@material-ui/core'\r\nimport {\r\n AccountingDocumentListItem,\r\n AccountingDocumentStatus,\r\n} from '@shared/contracts/models'\r\nimport { format, parseISO } from 'date-fns'\r\nimport {\r\n lightGrey,\r\n tableAmountColor,\r\n tableTextColor,\r\n} from '@mbok/styles/constants'\r\nimport { useSavePdf } from '@shared/hooks/pdfSaver'\r\nimport CustomScrollBar from '@shared/components/ScrollBar'\r\nimport { useCreateTransaction } from '@shared/hooks/createTransaction'\r\nimport { trackEventOutsideComponent } from '@core/analytics/trackEventOutsideComponent'\r\nimport { DETAILS_CARD_CONTENT_MIN_HEIGHT } from '@shared/components/DetailsCard/DetailsCard'\r\nimport { amountParser } from '@shared/utils/balanceParser'\r\nimport { ReactComponent as PreviewDocSvg } from '@images/icons/other/PreviewDoc.svg'\r\nimport { NotesAndOther } from '@mbok/features/MyInvoices/components/InvoicesList/InvoicesList'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\nimport HintPopover from '@shared/components/HintPopover'\r\n\r\nconst HintContent = (\r\n \r\n
    \r\n
  • \r\n System płatności umożliwia dokonanie jednorazowej transakcji w wysokości nieprzekraczającej równowartości 1000 euro (przy zastosowaniu średniego kursu NBP obowiązującego w dniu dokonywania transakcji).\r\n
  • \r\n
\r\n
\r\n)\r\n\r\nconst paymentsTableHeaders = {\r\n headers: [\r\n {\r\n name: (\r\n <>\r\n Numer\r\n
\r\n dokumentu\r\n \r\n ),\r\n },\r\n {\r\n name: (\r\n <>\r\n Zużycie\r\n
\r\n energii\r\n \r\n ),\r\n },\r\n {\r\n name: (\r\n <>\r\n Kwota\r\n
\r\n (brutto)\r\n \r\n ),\r\n },\r\n {\r\n name: (\r\n <>\r\n Termin\r\n
\r\n płatności\r\n \r\n ),\r\n },\r\n {\r\n name: <>Do zapłaty,\r\n },\r\n {\r\n name: ,\r\n },\r\n ],\r\n}\r\n\r\nconst PAY_CELL_WIDTH = 124\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n tableWrapper: {\r\n display: 'flex',\r\n minHeight: '250px',\r\n width: '40%',\r\n border: '1px solid black',\r\n },\r\n table: {\r\n margin: theme.spacing(0, 0, 2),\r\n minWidth: 700,\r\n borderRadius: 8,\r\n '& .MuiTableCell-root': {\r\n border: 0,\r\n },\r\n '& .MuiTableCell-head': {\r\n padding: '12px 8px',\r\n },\r\n '& .MuiTableCell-body': {\r\n alignItems: 'center',\r\n padding: '12px 8px',\r\n },\r\n },\r\n headerCell: {\r\n backgroundColor: lightGrey,\r\n color: tableTextColor + colorOpacityParser(55),\r\n fontSize: 14,\r\n letterSpacing: '0.61px',\r\n lineHeight: '14px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n bodyCell: {\r\n color: tableTextColor + colorOpacityParser(75),\r\n fontSize: 15,\r\n letterSpacing: '0.61px',\r\n lineHeight: '20px',\r\n },\r\n toPayCell: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n minWidth: PAY_CELL_WIDTH,\r\n '& div': {\r\n '& span': {\r\n '&:first-child': {\r\n fontSize: 13.5,\r\n marginRight: '20px',\r\n color: tableAmountColor,\r\n fontWeight: 800,\r\n },\r\n '&:last-child': {\r\n color: tableTextColor + colorOpacityParser(35),\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n },\r\n },\r\n },\r\n downloadIcon: {\r\n '& svg': {\r\n width: '24px',\r\n height: '24px',\r\n color: theme.palette.primary.main,\r\n cursor: 'pointer',\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n },\r\n price: {\r\n fontWeight: 700,\r\n },\r\n empty: {\r\n height: DETAILS_CARD_CONTENT_MIN_HEIGHT,\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n fontSize: 19,\r\n color: tableTextColor,\r\n opacity: 0.55,\r\n },\r\n })\r\n)\r\n\r\nexport interface MyPaymentsTableProps {\r\n myPayments?: Array\r\n}\r\n\r\nexport const MyPaymentsTable: React.FC = ({\r\n myPayments,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {paymentsTableHeaders.headers.map(({ name }, i) => (\r\n \r\n {name}\r\n \r\n ))}\r\n \r\n \r\n \r\n {myPayments?.map(payment => {\r\n const {\r\n accountingDocumentId,\r\n documentNumber,\r\n consumptionValue,\r\n consumptionUnit,\r\n balance,\r\n dueDate,\r\n status,\r\n paymentToken,\r\n totalAmount,\r\n pdfAvailable,\r\n type,\r\n } = payment\r\n\r\n const balanceColor = () => {\r\n switch (status) {\r\n case AccountingDocumentStatus.Paid:\r\n return tableAmountColor\r\n case AccountingDocumentStatus.Unpaid:\r\n return theme.palette.error.main\r\n default:\r\n return tableAmountColor\r\n }\r\n }\r\n\r\n const consumption =\r\n (type && NotesAndOther.includes(type)) ||\r\n consumptionValue === null\r\n ? 'Nie dotyczy'\r\n : consumptionValue !== undefined &&\r\n consumptionValue !== null &&\r\n consumptionUnit\r\n ? consumptionValue + ' ' + consumptionUnit\r\n : ''\r\n\r\n return (\r\n \r\n \r\n {documentNumber}\r\n \r\n \r\n {consumption}\r\n \r\n \r\n {amountParser(totalAmount) + ' zł'}\r\n \r\n \r\n {dueDate && format(parseISO(dueDate), 'dd.MM.yyyy')}\r\n \r\n \r\n \r\n {status === AccountingDocumentStatus.Unpaid\r\n ? amountParser(balance) + ' zł'\r\n : ''}\r\n
\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const ToPayCell: React.FC<{\r\n paymentStatus?: string\r\n balance?: number\r\n accountingDocumentId?: string\r\n paymentToken?: string\r\n pdfAvailable?: boolean\r\n}> = ({\r\n paymentStatus,\r\n balance,\r\n accountingDocumentId,\r\n paymentToken,\r\n pdfAvailable,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n\r\n const [paymentState, setPaymentState] = useState<{\r\n status: string\r\n style: { [key: string]: string | number }\r\n }>({ status: 'Zapłacono', style: {} })\r\n\r\n const { Paid, Unpaid } = AccountingDocumentStatus\r\n\r\n const savePdf = useSavePdf()\r\n\r\n const handlePaymentStatus = useCallback(() => {\r\n switch (paymentStatus) {\r\n case Paid:\r\n setPaymentState({\r\n status: 'Zapłacono',\r\n style: { color: tableTextColor, opacity: 0.35 },\r\n })\r\n break\r\n case Unpaid:\r\n setPaymentState({\r\n status: 'Zapłać',\r\n style: {\r\n fontSize: 15,\r\n color: theme.palette.primary.main,\r\n fontWeight: 800,\r\n cursor: 'pointer',\r\n },\r\n })\r\n break\r\n default:\r\n setPaymentState({\r\n status: 'Oczekujące',\r\n style: { color: theme.palette.secondary.main },\r\n })\r\n }\r\n }, [Paid, Unpaid, setPaymentState, paymentStatus, theme.palette])\r\n\r\n useEffect(() => {\r\n handlePaymentStatus()\r\n }, [handlePaymentStatus])\r\n\r\n const createTransaction = useCreateTransaction()\r\n\r\n const { style, status } = paymentState\r\n const pdfLink = accountingDocumentId\r\n ? `AccountingDocuments/${accountingDocumentId}/pdf`\r\n : ''\r\n\r\n return (\r\n \r\n {\r\n trackEventOutsideComponent({ action: 'click', category: 'test' })\r\n }}\r\n >\r\n
\r\n {createTransaction(\r\n [{ paymentToken, amount: balance }],\r\n (loading, saveFn) => (\r\n {\r\n if (!paymentToken || !balance || paymentStatus !== 'Unpaid')\r\n return\r\n return saveFn()\r\n }}\r\n >\r\n {loading ? : <>{status}}\r\n \r\n )\r\n )}\r\n
\r\n
\r\n {pdfAvailable &&\r\n accountingDocumentId &&\r\n savePdf(pdfLink, (loading, saveFn) =>\r\n loading ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )\r\n )}\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import store from '@core/store/store'\r\nimport { trackCustomEvent } from './utils/trackCustomEvent'\r\n\r\nexport const trackEventOutsideComponent = (event: any) => {\r\n const cookiesSeen = store.getState().persistedSettings.cookiesSeen\r\n\r\n trackCustomEvent(event, cookiesSeen)\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport {\r\n AccountingDocumentListItem,\r\n AccountingDocumentStatus,\r\n} from '@shared/contracts/models'\r\nimport { props, values } from 'ramda'\r\nimport { isFuture, parseISO } from 'date-fns'\r\n\r\nexport const documentsSelector = (state: RootState) => state.documents\r\n\r\nexport const getDocumentsLoadingSelector = createSelector(\r\n documentsSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const getAllDocumentsSelector = createSelector(\r\n documentsSelector,\r\n state => values(state.entities) as AccountingDocumentListItem[]\r\n)\r\n\r\nexport const getAllUnpaidDocumentsSelector = createSelector(\r\n getAllDocumentsSelector,\r\n documents =>\r\n documents.filter(\r\n document =>\r\n document.status === AccountingDocumentStatus.Unpaid &&\r\n document.dueDate &&\r\n isFuture(parseISO(document.dueDate))\r\n )\r\n)\r\n\r\nexport const getDocumentsByIdsSelector = (ids: string[]) =>\r\n createSelector(\r\n documentsSelector,\r\n state =>\r\n props(ids, state.entities).filter(\r\n document => document\r\n ) as AccountingDocumentListItem[]\r\n )\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { MeasurementPointListItem } from '@shared/contracts/models'\r\nimport { values, props } from 'ramda'\r\n\r\nexport const measurementPointsSelector = (state: RootState) =>\r\n state.measurementPoints\r\n\r\nexport const measurementPointsLoadingSelector = createSelector(\r\n measurementPointsSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const measurementPointsDataSelector = createSelector(\r\n measurementPointsSelector,\r\n state =>\r\n values(state.entities).filter(\r\n el => el !== undefined\r\n ) as MeasurementPointListItem[]\r\n)\r\n\r\nexport const measurementPointsDictionarySelector = createSelector(\r\n measurementPointsSelector,\r\n state => state.entities\r\n)\r\n\r\nexport const getMeasurementPointsByIdSelector = (ids: string[]) =>\r\n createSelector(\r\n measurementPointsSelector,\r\n state => props(ids, state.entities) as MeasurementPointListItem[]\r\n )\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { News } from '@shared/contracts/models'\r\nimport { parseJSON } from 'date-fns'\r\nimport { props, values } from 'ramda'\r\n\r\nexport const newsSelector = (state: RootState) => state.news\r\n\r\nexport const getNewsLoadingSelector = createSelector(\r\n newsSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const getLatestNewsSelector = createSelector(newsSelector, state => {\r\n return (values(state.entities).filter(news => news) as News[]).sort((a, b) =>\r\n a.date && b.date ? +parseJSON(b.date) - +parseJSON(a.date) : 0\r\n )\r\n})\r\n\r\nexport const getNewsByIdsSelector = (ids: string[]) =>\r\n createSelector(\r\n newsSelector,\r\n state => props(ids, state.entities).filter(news => news) as News[]\r\n )\r\n","/**\r\n * mBok API\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v1\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n\r\nexport type AgreementStatus = 'Active' | 'Confirmed' | 'Historic'\r\n\r\nexport const AgreementStatus = {\r\n Active: 'Active' as AgreementStatus,\r\n Confirmed: 'Confirmed' as AgreementStatus,\r\n Historic: 'Historic' as AgreementStatus,\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { values } from 'ramda'\r\nimport { AgreementStatus } from '@shared/contracts/agreementStatus'\r\nimport { InvoiceType } from '@shared/contracts/invoiceType'\r\n\r\nexport const userAgreementsSelector = (state: RootState) => state.userAgreements\r\n\r\nexport const userAgreementsLoadingSelector = createSelector(\r\n userAgreementsSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const userAgreementsDictionarySelector = createSelector(\r\n userAgreementsSelector,\r\n state => state.entities\r\n)\r\n\r\nexport const userAgreementsDataSelector = createSelector(\r\n userAgreementsSelector,\r\n state => values(state.entities)\r\n)\r\n\r\nexport const getActiveAgreementsSelector = createSelector(\r\n userAgreementsDataSelector,\r\n userAgreements =>\r\n userAgreements.filter(\r\n agreement => agreement?.status === AgreementStatus.Active\r\n )\r\n)\r\n\r\nexport const getHistoricalAgreementsSelector = createSelector(\r\n userAgreementsDataSelector,\r\n userAgreements =>\r\n userAgreements.filter(\r\n agreement => agreement?.status === AgreementStatus.Historic\r\n )\r\n)\r\n\r\n\r\nexport const getNoEInvoiceAgreementsSelector = createSelector(\r\n getActiveAgreementsSelector,\r\n userAgreements =>\r\n userAgreements.filter(\r\n agreement => agreement?.invoiceType !== InvoiceType.Email\r\n )\r\n)\r\n\r\nexport const getEInvoiceAgreementsSelector = createSelector(\r\n getActiveAgreementsSelector,\r\n userAgreements =>\r\n userAgreements.filter(\r\n agreement => agreement?.invoiceType === InvoiceType.Email\r\n )\r\n)\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\n\r\nexport const uiSelector = (state: RootState) => state.ui\r\n\r\nexport const uiModalSelector = createSelector(uiSelector, state => state.modal)\r\n\r\nexport const isErrorModalOpen = createSelector(\r\n uiModalSelector,\r\n modal => modal.isOpen && modal.type === 'error'\r\n)\r\n\r\nexport const getAlreadySavedFormFields = createSelector(\r\n uiSelector,\r\n ui => ui.alreadySavedFormFields\r\n)\r\n\r\nexport const getAlreadySavedInvoiceTypeRequests = createSelector(\r\n uiSelector,\r\n ui => ui.alreadySavedInvoiceTypeRequests\r\n)\r\n\r\nexport const getIsChangePhoneAndModifyMfaPath = createSelector(\r\n uiSelector,\r\n state => state.isChangePhoneAndModifyMfaPath\r\n)\r\n","import { useDispatchOnCustomerNumberChange } from '@core/store/customerNumberDispatcher'\r\nimport {\r\n getAllUnpaidDocumentsSelector,\r\n getDocumentsByIdsSelector,\r\n getDocumentsLoadingSelector,\r\n} from '@core/store/entity/documents/documentsSelector'\r\nimport { documentsGetAll } from '@core/store/entity/documents/documentsThunks'\r\nimport {\r\n getMeasurementPointsByIdSelector,\r\n measurementPointsLoadingSelector,\r\n} from '@core/store/entity/measurementPoints/measurementPointsSelectors'\r\nimport { measurementPointsGetAll } from '@core/store/entity/measurementPoints/measurementPointsThunks'\r\nimport { getNewsLoadingSelector } from '@core/store/entity/news/newsSelector'\r\nimport { newsGetAll } from '@core/store/entity/news/newsThunks'\r\nimport {\r\n getActiveAgreementsSelector,\r\n getEInvoiceAgreementsSelector,\r\n getHistoricalAgreementsSelector,\r\n getNoEInvoiceAgreementsSelector,\r\n userAgreementsDictionarySelector,\r\n userAgreementsLoadingSelector,\r\n} from '@core/store/entity/userAgreements/userAgreementsSelectors'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { getAlreadySavedInvoiceTypeRequests } from '@core/store/ui/uiSelectors'\r\nimport { unwrapResult } from '@reduxjs/toolkit'\r\nimport {\r\n AccountingDocumentListItem,\r\n AccountingDocumentsSortType,\r\n MeasurementPointListItem,\r\n News,\r\n} from '@shared/contracts/models'\r\nimport { useCallback, useState } from 'react'\r\nimport ActivationPoint from '@shared/components/forms/eInvoice/ActivationPoint'\r\nimport { Modals } from './MyCenter'\r\n\r\nexport const useDataSource = () => {\r\n const dispatch = useAppDispatch()\r\n const account = useAppSelector(state => ({\r\n data: state.userAccount.account,\r\n loading: state.userAccount.loadingPending > 0,\r\n }))\r\n\r\n const newsLoading = useAppSelector(getNewsLoadingSelector)\r\n const [latestNewsState, setLatestNewsState] = useState([])\r\n\r\n const historicalAgreements = useAppSelector(getHistoricalAgreementsSelector)\r\n const activeAgreements = useAppSelector(getActiveAgreementsSelector)\r\n const agreements = useAppSelector(userAgreementsDictionarySelector)\r\n const noEInvoiceAgreements = useAppSelector(getNoEInvoiceAgreementsSelector)\r\n const eInvoiceAgreements = useAppSelector(getEInvoiceAgreementsSelector)\r\n\r\n const agreementsLoading = useAppSelector(userAgreementsLoadingSelector)\r\n const [latestDocuments, setLatestDocuments] = useState([])\r\n const documentsLoading = useAppSelector(getDocumentsLoadingSelector)\r\n const documentsData: AccountingDocumentListItem[] = useAppSelector(\r\n getDocumentsByIdsSelector(latestDocuments)\r\n )\r\n const unpaidDocuments: AccountingDocumentListItem[] = useAppSelector(\r\n getAllUnpaidDocumentsSelector\r\n )\r\n\r\n const alreadySavedInvoiceTypeRequests = useAppSelector(\r\n getAlreadySavedInvoiceTypeRequests\r\n )\r\n\r\n const [measurementsPointsIds, setMeasurementsPointsIds] = useState(\r\n []\r\n )\r\n const measurements: MeasurementPointListItem[] = useAppSelector(\r\n getMeasurementPointsByIdSelector(measurementsPointsIds)\r\n )\r\n const measurementsLoading = useAppSelector(measurementPointsLoadingSelector)\r\n\r\n const [selectedIndex, setSelectedIndex] = useState(0)\r\n\r\n const [correspondenceEmail, setCorrespondenceEmail] = useState<\r\n string | undefined\r\n >(undefined)\r\n\r\n const [selectedMeasurementPoints, setSelectedMeasurementPoints] = useState<\r\n MeasurementPointListItem[]\r\n >([])\r\n\r\n const [\r\n selectedActivationPointOption,\r\n setSelectedActivationPointOption,\r\n ] = useState(undefined)\r\n\r\n const [openModalKey, setOpenModalKey] = useState(undefined)\r\n\r\n const loadMeasurementPoints = useCallback(\r\n (customerNumberChanged: boolean, selectedIndex?: number) => {\r\n dispatch(measurementPointsGetAll())\r\n .then(unwrapResult)\r\n .then(([payload]) => {\r\n setMeasurementsPointsIds(\r\n payload.results?.map(result => result.measurementPointId ?? '') ??\r\n []\r\n )\r\n setSelectedIndex(selectedIndex ?? 0)\r\n })\r\n },\r\n [dispatch]\r\n )\r\n\r\n const loadData = useCallback(\r\n (customerNumberChanged: boolean) => {\r\n dispatch(\r\n newsGetAll({\r\n keepPrevious: !customerNumberChanged,\r\n type: 'All',\r\n limit: 5,\r\n })\r\n )\r\n .then(unwrapResult)\r\n .then(([payload]) => {\r\n const [newsFirst, newsSecond] = payload.results ?? []\r\n if (newsFirst || newsSecond)\r\n setLatestNewsState([newsFirst, newsSecond])\r\n })\r\n dispatch(\r\n documentsGetAll({\r\n keepPrevious: !customerNumberChanged,\r\n limit: 6,\r\n sortBy: AccountingDocumentsSortType.DueDate,\r\n sortDesc: true,\r\n })\r\n )\r\n .then(unwrapResult)\r\n .then(([payload]) => {\r\n setLatestDocuments(\r\n payload.results?.map(result => result.accountingDocumentId ?? '') ??\r\n []\r\n )\r\n })\r\n },\r\n [dispatch]\r\n )\r\n\r\n useDispatchOnCustomerNumberChange(loadData)\r\n useDispatchOnCustomerNumberChange(loadMeasurementPoints)\r\n\r\n return {\r\n account,\r\n agreements: {\r\n data: agreements,\r\n historicalAgreements,\r\n activeAgreements,\r\n noEInvoiceAgreements,\r\n eInvoiceAgreements,\r\n loading: agreementsLoading,\r\n },\r\n documents: {\r\n lastData: documentsData,\r\n unpaid: unpaidDocuments,\r\n loading: documentsLoading,\r\n },\r\n measurementPoints: {\r\n data: measurements,\r\n loading: measurementsLoading,\r\n selectedIndex,\r\n setSelectedIndex,\r\n reloadData: loadMeasurementPoints,\r\n selectedMeasurementPoints,\r\n setSelectedMeasurementPoints,\r\n },\r\n news: {\r\n data: latestNewsState,\r\n loading: newsLoading,\r\n },\r\n alreadySavedInvoiceTypeRequests,\r\n correspondenceEmail: {\r\n correspondenceEmail,\r\n setCorrespondenceEmail,\r\n },\r\n activationPoint: {\r\n selectedActivationPointOption,\r\n setSelectedActivationPointOption,\r\n },\r\n modals: {\r\n openModalKey,\r\n setOpenModalKey\r\n }\r\n }\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport {\r\n tableTextColor,\r\n} from '@mbok/styles/constants'\r\nimport { eInvoiceModalWidth } from '@shared/components/forms/eInvoice/style'\r\n\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n header: {\r\n fontSize: 20,\r\n },\r\n emptyContracts: {\r\n height: 180,\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n textAlign: 'center',\r\n fontSize: 19,\r\n color: tableTextColor,\r\n opacity: 0.55,\r\n },\r\n modalWrapper: {\r\n width: eInvoiceModalWidth,\r\n height: '80%',\r\n },\r\n}))\r\n","import { paymentActions } from './payments'\r\nexport const { resetState } = paymentActions\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\n\r\nexport const paymentsSelector = (state: RootState) => state.payments\r\n\r\nexport const paymentsLoadingSelector = createSelector(\r\n paymentsSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const getOrderSelector = createSelector(\r\n paymentsSelector,\r\n state => state.order\r\n)\r\n\r\nexport const isHashValid = createSelector(\r\n paymentsSelector,\r\n state => state.isHashValid\r\n)\r\n","import { useAppSelector } from '@core/store/store'\r\nimport { getUserManager } from '@axa-fr/react-oidc-core'\r\nimport { useCallback } from 'react'\r\n\r\nexport const useLogout = () => {\r\n const oidcState = useAppSelector(state => state.oidc)\r\n\r\n return useCallback(() => {\r\n const userManager = getUserManager()\r\n const token = oidcState.user?.id_token\r\n userManager.createSignoutRequest({ id_token_hint: token }).then(req => {\r\n window.location.href = req.url\r\n })\r\n }, [oidcState.user])\r\n}\r\n","import { resetState } from '@core/store/payments/actions'\r\nimport { getOrderSelector } from '@core/store/payments/paymentsSelectors'\r\nimport { getOrder, validateHash } from '@core/store/payments/paymentsThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { useLogout } from '@core/auth/useLogout'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport { ModalType } from '@core/store/ui/ui'\r\nimport { OrderStatus } from '@shared/contracts/models'\r\nimport { useCallback, useEffect } from 'react'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport { unwrapResult } from '@reduxjs/toolkit'\r\nimport { amountParser } from '@shared/utils/balanceParser'\r\nimport React from 'react'\r\n\r\nexport const useQuery = () => new URLSearchParams(useLocation().search)\r\n\r\nexport const useQueryParam = (param: string) => useQuery().get(param)\r\n\r\nexport const useClearParams = () => {\r\n const history = useHistory()\r\n\r\n return useCallback(\r\n () =>\r\n history.replace({\r\n search: '',\r\n }),\r\n [history]\r\n )\r\n}\r\n\r\nexport const usePaymentsStatus = () => {\r\n const OrderID = useQueryParam('OrderID')\r\n const ServiceID = useQueryParam('ServiceID')\r\n const hash = useQueryParam('Hash')\r\n const order = useAppSelector(getOrderSelector)\r\n const dispatch = useAppDispatch()\r\n const clearParams = useClearParams()\r\n const logout = useLogout()\r\n\r\n const { t } = useTranslation()\r\n\r\n const openStatusModal = useCallback(() => {\r\n const modalSettings: {\r\n type: ModalType\r\n title: string\r\n subtitle: string | JSX.Element\r\n } = { type: 'paymentWait', title: '', subtitle: <> }\r\n\r\n if (order?.orderStatus === OrderStatus.Completed) {\r\n modalSettings.type = 'paymentDone'\r\n modalSettings.title = t('PAYMENT.SUCCESS.TITLE')\r\n modalSettings.subtitle = (\r\n \r\n Your Payment for\r\n \r\n {' '}\r\n {{ amount: amountParser(order?.totalAmount, 2) }}\r\n \r\n will be booked within 3 working days\r\n \r\n )\r\n }\r\n\r\n if (order?.orderStatus === OrderStatus.CompletedWithErrors) {\r\n modalSettings.type = 'error'\r\n modalSettings.title = t('PAYMENT.FAILURE.TITLE')\r\n modalSettings.subtitle = t('PAYMENT.FAILURE.SUBTITLE', {\r\n amount: order.totalAmount,\r\n })\r\n }\r\n if (\r\n order?.orderStatus === OrderStatus.New ||\r\n order?.orderStatus === OrderStatus.Pending\r\n ) {\r\n modalSettings.type = 'paymentWait'\r\n modalSettings.title = t('PAYMENT.PENDING.TITLE')\r\n modalSettings.subtitle = t('PAYMENT.PENDING.SUBTITLE', {\r\n amount: order.totalAmount,\r\n })\r\n }\r\n\r\n dispatch(\r\n showModal({\r\n ...modalSettings,\r\n smallSubtitle: true,\r\n subtitleWithMargin: true,\r\n onCancel: () => {\r\n dispatch(resetState())\r\n clearParams()\r\n },\r\n })\r\n )\r\n }, [dispatch, order, t, clearParams])\r\n\r\n useEffect(() => {\r\n if (OrderID && ServiceID && hash) {\r\n dispatch(validateHash({ hash, values: [ServiceID, OrderID] }))\r\n .then(unwrapResult)\r\n .then(response => {\r\n if (!response.isHashValid) {\r\n return logout()\r\n }\r\n\r\n dispatch(getOrder(OrderID))\r\n })\r\n .catch()\r\n }\r\n }, [OrderID, ServiceID, hash, dispatch, logout])\r\n useEffect(() => {\r\n if (order) {\r\n openStatusModal()\r\n }\r\n }, [order, openStatusModal])\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { Reading } from '@shared/contracts/models'\r\nimport { getMonth, parseISO, isThisYear } from 'date-fns'\r\nimport { groupBy, mapObjIndexed, reduce, values } from 'ramda'\r\n\r\nexport const readingsSelector = (state: RootState) => state.readings\r\n\r\nexport const allReadingsSelector = createSelector(readingsSelector, state =>\r\n values(state.entities)\r\n)\r\n\r\nexport const readingsLoadingSelector = createSelector(\r\n readingsSelector,\r\n readings => {\r\n return readings.loadingPending > 0\r\n }\r\n)\r\n\r\nconst calculateUsagePerMonth = (readings: (Reading | undefined)[]) => {\r\n return reduce<\r\n Reading,\r\n {\r\n [month: number]: {\r\n past: number\r\n current: number\r\n }\r\n }\r\n >((acc, reading) => {\r\n const date = parseISO(reading.date)\r\n const month = getMonth(date)\r\n const currentYear = isThisYear(date)\r\n\r\n const current =\r\n (acc[month]?.current ?? 0) + (currentYear ? reading.amount : 0)\r\n const past = (acc[month]?.past ?? 0) + (!currentYear ? reading.amount : 0)\r\n acc[month] = {\r\n past,\r\n current,\r\n }\r\n\r\n return acc\r\n }, {})(readings as Reading[])\r\n}\r\n\r\nexport const getUsageByAllMeasurementPoints = createSelector(\r\n allReadingsSelector,\r\n calculateUsagePerMonth\r\n)\r\n\r\nexport const getUsageByMeasurementPoints = createSelector(\r\n allReadingsSelector,\r\n readings => {\r\n const groupedByMeasurementPoint = groupBy(\r\n reading => reading?.measurementPointId ?? '',\r\n readings\r\n )\r\n\r\n return mapObjIndexed((values: (Reading | undefined)[]) =>\r\n calculateUsagePerMonth(values)\r\n )(groupedByMeasurementPoint)\r\n }\r\n)\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\n\r\nconst CONSUMPTION_LINE_HEIGHT = 18\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n container: {\r\n width: '100%',\r\n display: 'flex',\r\n },\r\n tooltip: {\r\n padding: theme.spacing(3.75, 5),\r\n },\r\n tooltipHint: {\r\n color: theme.palette.text.hint,\r\n position: 'relative',\r\n top: 3,\r\n },\r\n tooltipLabel: {\r\n marginBottom: theme.spacing(1.25),\r\n textTransform: 'capitalize',\r\n fontWeight: 800,\r\n },\r\n tooltipData: {\r\n display: 'inline-block',\r\n '&:last-child': {\r\n marginLeft: theme.spacing(4),\r\n },\r\n },\r\n value: {\r\n fontWeight: 700,\r\n fontSize: 16,\r\n },\r\n chartUnit: {\r\n color: theme.palette.text.hint,\r\n display: 'flex',\r\n '& span': {\r\n lineHeight: `${CONSUMPTION_LINE_HEIGHT}px`,\r\n marginRight: theme.spacing(1),\r\n },\r\n },\r\n chartLegend: {\r\n display: 'flex',\r\n margin: theme.spacing(2, 0),\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n legendItem: {\r\n margin: theme.spacing(1, 0),\r\n fontWeight: 700,\r\n color: theme.palette.text.hint,\r\n '& div': {\r\n display: 'inline-block',\r\n width: '20px',\r\n height: '20px',\r\n borderRadius: 5,\r\n marginRight: theme.spacing(1.25),\r\n transform: 'translateY(25%)',\r\n },\r\n '& span': {\r\n marginRight: theme.spacing(4),\r\n },\r\n },\r\n}))\r\n","import {\r\n lighten,\r\n Paper,\r\n Theme,\r\n Typography,\r\n useMediaQuery,\r\n useTheme,\r\n} from '@material-ui/core'\r\nimport { primaryColor, textSecondaryColor } from '@mbok/styles/constants'\r\nimport CustomScrollBar from '@shared/components/ScrollBar'\r\nimport { getMonth } from 'date-fns'\r\nimport { pl } from 'date-fns/locale'\r\nimport React, { useMemo } from 'react'\r\nimport {\r\n ResponsiveContainer,\r\n CartesianGrid,\r\n XAxis,\r\n YAxis,\r\n Bar,\r\n BarChart,\r\n Tooltip,\r\n Rectangle,\r\n RectangleProps,\r\n} from 'recharts'\r\nimport useStyles from './Chart.style'\r\n\r\nconst CURRENT_MONTH = getMonth(new Date())\r\nconst BAR_WIDTH = 32\r\n\r\nconst PAST_YEAR_COLOR = '#F0F0F0'\r\nconst CURR_YEAR_BORDER = '#686868'\r\n\r\nconst CustomizedAxisXTick: React.FC<{\r\n x: number\r\n y: number\r\n stroke: number\r\n payload: {\r\n value: string\r\n }\r\n}> = ({ payload, x, y }) => {\r\n const labelWidth = BAR_WIDTH * 1.25\r\n return (\r\n \r\n \r\n \r\n {pl.localize\r\n ?.month(payload.value, { width: 'abbreviated' })\r\n ?.toUpperCase()}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst CustomizedAxisYTick: React.FC<{\r\n x: number\r\n y: number\r\n stroke: number\r\n payload: {\r\n value: string\r\n }\r\n}> = ({ payload, x, y }) => {\r\n return (\r\n \r\n \r\n {payload.value}\r\n \r\n \r\n )\r\n}\r\n\r\nexport interface IReading {\r\n month: string\r\n past: number\r\n current: number\r\n}\r\n\r\nexport interface IChartProps {\r\n readings: IReading[]\r\n}\r\n\r\nconst CHART_SMALL_HEIGHT = 380\r\nconst CHART_MEDIUM_HEIGHT = 420\r\nconst CHART_LARGE_HEIGHT = 460\r\nconst CHART_X_LARGE_HEIGHT = 540\r\n\r\nexport const Chart: React.FC = ({ readings }) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const smallScreen = useMediaQuery(theme.breakpoints.down('sm'))\r\n const mediumScreen = useMediaQuery(theme.breakpoints.down('md'))\r\n const largeScreen = useMediaQuery(theme.breakpoints.down('lg'))\r\n\r\n const barWidth = mediumScreen ? BAR_WIDTH - 12 : BAR_WIDTH\r\n\r\n const chartHeight = useMemo(() => {\r\n if (smallScreen) return CHART_SMALL_HEIGHT\r\n else if (mediumScreen) return CHART_MEDIUM_HEIGHT\r\n else if (largeScreen) return CHART_LARGE_HEIGHT\r\n return CHART_X_LARGE_HEIGHT\r\n }, [largeScreen, mediumScreen, smallScreen])\r\n\r\n // added here because using hooks inside is impossible\r\n const CustomTooltip: React.FC<{\r\n active: boolean\r\n payload: { value: string }[]\r\n label: string\r\n }> = ({ active, payload, label }) => {\r\n if (active) {\r\n return (\r\n \r\n \r\n {pl.localize?.month(label)}\r\n \r\n
\r\n \r\n Poprzedni rok\r\n \r\n \r\n {payload && payload[0]?.value} kWh\r\n \r\n
\r\n
\r\n \r\n Bieżący rok\r\n \r\n \r\n {payload && payload[1]?.value} kWh\r\n \r\n
\r\n
\r\n )\r\n }\r\n\r\n return null\r\n }\r\n\r\n const CustomBar: React.FC = ({ ...props }) => {\r\n const hasValue = props?.height && props.height > 10\r\n const fill = hasValue\r\n ? props?.fill\r\n : lighten(props?.fill || primaryColor, 0.4)\r\n return \r\n }\r\n\r\n const containerMinWidth = useMemo(() => {\r\n const baseWidth = 200\r\n return baseWidth + (smallScreen ? barWidth * 2 * readings.length : 0)\r\n }, [readings.length, barWidth, smallScreen])\r\n\r\n return (\r\n <>\r\n
\r\n Zużycie\r\n [kWh]\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Poprzedni rok\r\n
\r\n
\r\n \r\n Bieżący rok\r\n
\r\n
\r\n \r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-readings,.cls-2-readings{fill:#47a9a0;}.cls-1-readings{opacity:0.2;}.cls-3-readings{fill:#5b5b5b;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"logg_out\",\n \"data-name\": \"logg out\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-readings\",\n d: \"M12.32,2.73A7.66,7.66,0,1,0,20,10.39,7.66,7.66,0,0,0,12.32,2.73Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-2-readings\",\n d: \"M14.43,12.33H10.21a.5.5,0,0,1-.5-.5V9a.5.5,0,0,1,.5-.5.5.5,0,0,1,.5.5v2.38h3.72a.5.5,0,0,1,.5.5A.51.51,0,0,1,14.43,12.33Z\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n className: \"cls-3-readings\",\n x1: 9.08,\n y1: 6,\n x2: 7.78,\n y2: 3.64\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-readings\",\n d: \"M10.88,3.86a7.51,7.51,0,0,0-2.22.34l-.44-.8a.5.5,0,0,0-.41-.26.55.55,0,0,0-.44.21l-2,2.83a.48.48,0,0,0,0,.54A.49.49,0,0,0,5.82,7h.07L9.15,6.5a.5.5,0,0,0,.37-.74l-.36-.65a6.65,6.65,0,1,1-4.93,6.41.51.51,0,0,0-.5-.5.5.5,0,0,0-.5.5,7.66,7.66,0,1,0,7.65-7.66Z\"\n}));\n\nvar SvgReadings = function SvgReadings(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgReadings, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Readings.3f2b3d04.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { useDispatchOnCustomerNumberChange } from '@core/store/customerNumberDispatcher'\r\nimport {\r\n getUsageByAllMeasurementPoints,\r\n getUsageByMeasurementPoints,\r\n readingsLoadingSelector,\r\n allReadingsSelector,\r\n} from '@core/store/entity/readings/readingsSelectors'\r\nimport { readingsGetAll } from '@core/store/entity/readings/readingsThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { Collapse, Divider, Typography } from '@material-ui/core'\r\nimport DetailsCardWrapper from '@shared/components/DetailsCard'\r\nimport { isEmpty, keys, reduce, toPairs, values } from 'ramda'\r\nimport Chart from './components/Chart'\r\nimport { ReactComponent as ReadingsSvg } from '@images/icons/myReadings/Readings.svg'\r\n\r\nimport ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup'\r\nimport { ToggleButton } from '@shared/components/ToggleButton'\r\nimport Toggler from '@shared/components/Toggler'\r\nimport { measurementPointsGetAll } from '@core/store/entity/measurementPoints/measurementPointsThunks'\r\nimport {\r\n measurementPointsDictionarySelector,\r\n measurementPointsLoadingSelector,\r\n} from '@core/store/entity/measurementPoints/measurementPointsSelectors'\r\nimport useStyles from './MyReadings.style'\r\nimport { AddressParser } from '@shared/components/AddressParser'\r\nimport StyledButton from '@shared/components/Button'\r\n\r\nimport RequestProsumentMeasurementPointReportModal from './components/modals/RequestProsumentMeasurementPointReportModal'\r\n\r\ninterface IReading {\r\n month: string\r\n past: number\r\n current: number\r\n}\r\n\r\nenum ReadingsType {\r\n all = 2,\r\n single = 1,\r\n}\r\n\r\nexport const MyReadings: React.FC = () => {\r\n const styles = useStyles()\r\n const dispatch = useAppDispatch()\r\n\r\n const [readingsType, setReadingsType] = React.useState(ReadingsType.single)\r\n const [index, setIndex] = useState(0)\r\n const [showByPoint, setShowByPoint] = useState(true)\r\n\r\n const handleTypeChange = (_: React.MouseEvent, newType: ReadingsType) => {\r\n newType && setReadingsType(newType)\r\n }\r\n\r\n const loadData = useCallback(() => {\r\n dispatch(readingsGetAll())\r\n dispatch(measurementPointsGetAll())\r\n }, [dispatch])\r\n\r\n const readingsByMonth = useAppSelector(getUsageByAllMeasurementPoints)\r\n const readingsByPoint = useAppSelector(getUsageByMeasurementPoints)\r\n const measurementPoints = useAppSelector(measurementPointsDictionarySelector)\r\n const account = useAppSelector(state => ({\r\n data: state.userAccount.account\r\n }))\r\n\r\n const readingsLoading = useAppSelector(readingsLoadingSelector)\r\n const measurementPointsLoading = useAppSelector(\r\n measurementPointsLoadingSelector\r\n )\r\n\r\n const allReadings = useAppSelector(allReadingsSelector)\r\n const emptyReadings = isEmpty(allReadings)\r\n\r\n const [showRequestProsumerMeasurementsDataModal, setShowRequestProsumerMeasurementsDataModal] = useState(false)\r\n\r\n useDispatchOnCustomerNumberChange(loadData)\r\n\r\n const parseValuesForGrid = useCallback(\r\n (readings: typeof readingsByPoint) => {\r\n return reduce(\r\n (acc, [month, values]) => {\r\n return [\r\n ...acc,\r\n {\r\n month,\r\n ...values,\r\n } as IReading,\r\n ]\r\n },\r\n [] as IReading[],\r\n toPairs(readings)\r\n )\r\n },\r\n [readingsByPoint]\r\n )\r\n\r\n useEffect(() => {\r\n setShowByPoint(readingsType === ReadingsType.single)\r\n }, [readingsType])\r\n\r\n const getReadingsByPoint = useCallback(() => {\r\n const selectedPoint = values(readingsByPoint)[index]\r\n return parseValuesForGrid(selectedPoint)\r\n }, [readingsByPoint, index, parseValuesForGrid])\r\n\r\n const getReadingsByMonth = useCallback(() => {\r\n return parseValuesForGrid(readingsByMonth)\r\n }, [readingsByMonth, parseValuesForGrid])\r\n\r\n const getReadings = useCallback(() => {\r\n return showByPoint ? getReadingsByPoint() : getReadingsByMonth()\r\n }, [getReadingsByMonth, getReadingsByPoint, showByPoint])\r\n\r\n const getSelectedPoint = useCallback(() => {\r\n return measurementPoints[keys(readingsByPoint)[index]]\r\n }, [readingsByPoint, index, measurementPoints])\r\n\r\n const getTotalCountMeasurementPoints = useCallback(() => {\r\n return keys(readingsByPoint).length\r\n }, [readingsByPoint])\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n Raport:\r\n \r\n \r\n Dla płatnika\r\n \r\n \r\n Dla punktu\r\n \r\n \r\n
\r\n {!(readingsLoading || measurementPointsLoading) &&\r\n !emptyReadings &&\r\n showByPoint && (\r\n
\r\n

Punkt poboru:

\r\n \r\n {getSelectedPoint()?.name ?? getSelectedPoint()?.number}\r\n \r\n
\r\n )}\r\n
\r\n {!(readingsLoading || measurementPointsLoading) &&\r\n !emptyReadings &&\r\n showByPoint &&\r\n getTotalCountMeasurementPoints() > 1 && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n }\r\n >\r\n {showByPoint && !emptyReadings ? : null}\r\n \r\n
\r\n
\r\n \r\n Adres punktu\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Numer punktu poboru\r\n \r\n \r\n {getSelectedPoint()?.number}\r\n \r\n
\r\n {getSelectedPoint()?.isProsumer && (\r\n
\r\n \r\n Zamów dane pomiarowe\r\n \r\n \r\n setShowRequestProsumerMeasurementsDataModal(prev => !prev)}\r\n size=\"small\"\r\n className={styles.prosumerBtn}\r\n color=\"primary\"\r\n >\r\n Zamów\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n {emptyReadings ? (\r\n

Brak historii zużycia

\r\n ) : (\r\n \r\n )}\r\n \r\n {showRequestProsumerMeasurementsDataModal && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n","import { withStyles, Theme, withTheme } from '@material-ui/core'\r\nimport { ToggleButton as MaterialToggle } from '@material-ui/lab'\r\n\r\nexport const ToggleButton = withStyles((theme: Theme) => ({\r\n root: {\r\n border: 'none',\r\n marginRight: '15px',\r\n padding: '8px 40px',\r\n borderRadius: '4px !important',\r\n background: theme.palette.grey[200],\r\n color: theme.palette.text.secondary,\r\n textTransform: 'none',\r\n },\r\n selected: {\r\n backgroundColor: theme.palette.primary.main + ' !important',\r\n color: theme.palette.common.white + ' !important',\r\n },\r\n}))(withTheme(MaterialToggle))\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst BTN_WIDTH = 124\r\nconst EMPTY_READINGS_HEIGHT = 200\r\nconst PROSUMER_BTN_MIN_HEIGHT = 34\r\nconst PROSUMER_BTN_WIDTH = 220\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n headerContent: {\r\n flex: '1 1 auto',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n padding: theme.spacing(0, 0, 0, 5),\r\n margin: theme.spacing(1, 0),\r\n fontSize: 18,\r\n fontWeight: 600,\r\n [theme.breakpoints.down('md')]: {\r\n flexDirection: 'column',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n padding: 0,\r\n },\r\n },\r\n buttonsWrapper: {\r\n justifyContent: 'space-between',\r\n alignItems: 'center',\r\n margin: theme.spacing(0, 6, 0, 0),\r\n flexWrap: 'wrap',\r\n [theme.breakpoints.down('md')]: {\r\n alignSelf: 'flex-start',\r\n margin: 0,\r\n },\r\n },\r\n buttons: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: theme.spacing(1, 0),\r\n '& button': {\r\n padding: theme.spacing(1.5, 4),\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '& button': {\r\n padding: theme.spacing(1, 2),\r\n width: BTN_WIDTH,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n '& button': {\r\n width: BTN_WIDTH - 12,\r\n },\r\n },\r\n flexWrap: 'wrap',\r\n },\r\n name: {\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n margin: theme.spacing(1, 2, 1, 0),\r\n '& p': {\r\n margin: theme.spacing(0, 3.75, 0, 0),\r\n },\r\n '& span': {\r\n color: tableTextColor,\r\n fontWeight: 700,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n },\r\n },\r\n toggler: {\r\n margin: theme.spacing(1, 0),\r\n [theme.breakpoints.down('md')]: {\r\n alignSelf: 'flex-start',\r\n },\r\n },\r\n pointInfo: {\r\n display: 'flex',\r\n margin: theme.spacing(7, 0),\r\n color: tableTextColor,\r\n '& div': {\r\n marginRight: theme.spacing(12),\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n '& div': {\r\n margin: theme.spacing(0, 0, 3, 0),\r\n },\r\n },\r\n },\r\n infoLabel: {\r\n fontSize: 14,\r\n display: 'block',\r\n opacity: 0.55,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 12,\r\n },\r\n },\r\n infoValue: {\r\n fontSize: 18,\r\n letterSpacing: 0.6,\r\n fontWeight: 700,\r\n display: 'block',\r\n opacity: 0.75,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 14,\r\n },\r\n },\r\n emptyReadings: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n height: EMPTY_READINGS_HEIGHT,\r\n fontSize: 19,\r\n opacity: 0.55,\r\n color: tableTextColor,\r\n },\r\n prosumerBtn: {\r\n width: PROSUMER_BTN_WIDTH,\r\n minHeight: PROSUMER_BTN_MIN_HEIGHT,\r\n paddingLeft: theme.spacing(2),\r\n paddingRight: theme.spacing(2),\r\n whiteSpace: 'normal',\r\n alignItems: 'left',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n}))\r\n","import { makeStyles, Theme, createStyles } from '@material-ui/core'\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n contentWrapper: {\r\n '& .MuiPaper-root': {\r\n padding: '28px 40px 48px',\r\n [theme.breakpoints.down('sm')]: {\r\n paddingBottom: '24px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n padding: '20px 32px 24px',\r\n },\r\n },\r\n },\r\n content: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n textAlign: 'center',\r\n padding: 0,\r\n\r\n '& h1': {\r\n margin: '0 0 16px',\r\n fontSize: 30,\r\n letterSpacing: '0.29px',\r\n lineHeight: '38px',\r\n textAlign: 'center',\r\n fontWeight: theme.typography.fontWeightMedium,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 28,\r\n },\r\n },\r\n },\r\n input: {\r\n width: '80%',\r\n margin: '0 0 16px',\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n },\r\n },\r\n buttonContainer: {\r\n display: 'flex',\r\n alignSelf: 'center',\r\n justifyContent: 'space-between',\r\n width: '80%',\r\n padding: 0,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n },\r\n },\r\n singleButtonContainer: {\r\n display: 'flex',\r\n alignSelf: 'center',\r\n justifyContent: 'center',\r\n width: '80%',\r\n padding: 0,\r\n\r\n [theme.breakpoints.down('sm')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n },\r\n },\r\n button: {\r\n margin: 0,\r\n height: '48px',\r\n width: '44%',\r\n fontSize: 17,\r\n [theme.breakpoints.down('sm')]: {\r\n fontSize: 15,\r\n marginBottom: '16px',\r\n width: '100%',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 14,\r\n },\r\n },\r\n })\r\n)\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport {\r\n electronicContactMandatoryConsentsSelector,\r\n hasAcceptedElectronicContactConsentsSelector\r\n} from '@core/store/entity/userConsents/userConsentsSelectors'\r\n\r\nimport { userConsentsGetAll } from '@core/store/entity/userConsents/userConsentsThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport {\r\n createStyles,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n makeStyles,\r\n Theme,\r\n} from '@material-ui/core'\r\nimport StyledButton, { Button } from '@shared/components/Button'\r\nimport { Consent } from '@shared/contracts/models'\r\nimport { Form, Formik } from 'formik'\r\nimport { useSnackbar } from 'notistack'\r\nimport { useTranslation } from 'react-i18next'\r\nimport React, { useState } from 'react'\r\nimport { Consents } from '@shared/components/Consents'\r\n\r\ninterface AcceptElectronicContactProps {\r\n consentAccepted: boolean\r\n setConsentAccepted: React.Dispatch>\r\n}\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n dialogContent: {\r\n [theme.breakpoints.down('xs')]: {\r\n padding: 0,\r\n },\r\n },\r\n })\r\n)\r\n\r\nexport const AcceptElectronicContact: React.FC = ({\r\n consentAccepted,\r\n setConsentAccepted\r\n}) => {\r\n const { t } = useTranslation()\r\n const styles = useStyles()\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const electronicContactConsent = useAppSelector(electronicContactMandatoryConsentsSelector) as Consent[]\r\n consentAccepted = useAppSelector(hasAcceptedElectronicContactConsentsSelector)\r\n setConsentAccepted(consentAccepted)\r\n\r\n const [show, setShow] = useState(!consentAccepted)\r\n\r\n const [executeSetConsent] = useApi({\r\n omitConsents: true,\r\n config: {\r\n method: 'put',\r\n },\r\n })\r\n\r\n const dispatch = useAppDispatch()\r\n\r\n const onSubmit = (\r\n values: { [id: string]: boolean },\r\n setSubmitting: (isSubmitting: boolean) => void\r\n ) => {\r\n if (electronicContactConsent.every(consent => consent?.id && values[consent.id])) {\r\n setSubmitting(true)\r\n Promise.all(\r\n electronicContactConsent.map(consent => {\r\n return executeSetConsent({\r\n url: 'Accounts/consents/' + consent?.id,\r\n data: {\r\n isAccepted: consent?.id && values[consent.id],\r\n },\r\n })\r\n }))\r\n .then(() => {\r\n dispatch(userConsentsGetAll())\r\n setConsentAccepted(true)\r\n })\r\n .catch(() => {\r\n enqueueSnackbar(\r\n 'Zapisywanie zgód nie powiodło się, spróbuj ponownie lub skontaktuj się z biurem obsługi jeśli sytuacja powtarza się.',\r\n { variant: 'error' }\r\n )\r\n })\r\n .finally(() => {\r\n setSubmitting(false)\r\n })\r\n }\r\n }\r\n\r\n return (\r\n { }}>\r\n {({\r\n isValid,\r\n submitForm,\r\n submitCount,\r\n setSubmitting,\r\n isSubmitting,\r\n values,\r\n }) => (\r\n
\r\n \r\n \r\n
\r\n {electronicContactConsent.length > 0 && (\r\n <>\r\n

Potrzebujemy Twojej zgody

\r\n

Abyśmy mogli wysłać do Ciebie dane pomiarowe na kontaktowy adres e-mail, potrzebujemy Twojej zgody na kontakt drogę elektroniczną.

\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n {\r\n setShow(false)\r\n setConsentAccepted(false)\r\n }}\r\n >\r\n {t('MY_CONTRACTS.MODAL.CLOSE')}\r\n \r\n 0 && !isValid}\r\n type=\"submit\"\r\n onClick={() => {\r\n if (!isSubmitting) {\r\n submitForm().then(() => {\r\n onSubmit(values, setSubmitting)\r\n })\r\n }\r\n }}\r\n loading={isSubmitting}\r\n >\r\n Zapisz\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n )\r\n}\r\n","import React, { useState, useCallback } from 'react'\r\nimport { Dialog, DialogContent, DialogActions } from '@material-ui/core'\r\nimport StyledButton, { Button } from '@shared/components/Button'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport useStyles from './RequestProsumentMeasurementPointReportModal.style'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { AcceptElectronicContact } from '../../consents/AcceptElectronicContact'\r\nimport { useSnackbar } from 'notistack'\r\n\r\ninterface RequestProsumentMeasurementPointReportModalProps {\r\n setShow: React.Dispatch>\r\n userData: {\r\n userName?: string\r\n userNumber?: string\r\n userContactEmail?: string\r\n }\r\n pointData: {\r\n pointNumber?: string\r\n pointName?: string\r\n }\r\n}\r\n\r\nexport const RequestProsumentMeasurementPointReportModal: React.FC = ({\r\n setShow,\r\n userData,\r\n pointData,\r\n}) => {\r\n const { t } = useTranslation()\r\n const { pointNumber, pointName } = pointData\r\n const { userName, userNumber, userContactEmail } = userData\r\n\r\n const styles = useStyles()\r\n\r\n const [executeRequestForProsumerData] = useApi({\r\n omitConsents: true,\r\n omitCustomerNumber: true,\r\n config: {\r\n method: 'post',\r\n url: `accounts/sendTickerForPVReport`,\r\n },\r\n })\r\n\r\n const [showRequestModal, setShowRequestModal] = useState(true)\r\n const [showSuccessMessage, setShowSuccessMessage] = useState(false)\r\n\r\n const [\r\n electronicContactConsentAccepted,\r\n setElectronicContactConsentAccepted,\r\n ] = useState(false)\r\n\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const requestForProsumerData = useCallback(async () => {\r\n try {\r\n await executeRequestForProsumerData({\r\n data: {\r\n MeasurementPointNumber: pointNumber,\r\n ClientName: userName,\r\n ClientNumber: userNumber,\r\n ClientEmail: userContactEmail,\r\n },\r\n }).then(() => {\r\n setShowSuccessMessage(prev => !prev)\r\n setShowRequestModal(false)\r\n })\r\n } catch (err) {\r\n console.log(err)\r\n enqueueSnackbar(\r\n 'Niestety, wysyłanie zamówienia się nie powiodło, spróbuj ponownie później.',\r\n { variant: 'error' }\r\n )\r\n }\r\n }, [\r\n executeRequestForProsumerData,\r\n setShowSuccessMessage,\r\n enqueueSnackbar,\r\n pointNumber,\r\n userContactEmail,\r\n userName,\r\n userNumber,\r\n ])\r\n\r\n return (\r\n <>\r\n setShow(false)}\r\n >\r\n \r\n

Zamów dane pomiarowe

\r\n

\r\n Zamów raport z godzinowymi danymi pomiarowymi obejmującymi wolumeny\r\n energii elektrycznej zarówno pobranej z jak i wprowadzonej do sieci.\r\n

\r\n

\r\n Na życzenie przygotujemy dla Ciebie zestawienie dla punktu poboru\r\n {pointName ? \"{pointName}\" : \"{pointNumber}\" } i\r\n prześlemy je do 14 dni na Twój e-mail kontaktowy.\r\n

\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowRequestModal(false)\r\n setShow(false)\r\n }}\r\n >\r\n {t('MY_CONTRACTS.MODAL.CLOSE')}\r\n \r\n {\r\n requestForProsumerData()\r\n }}\r\n >\r\n Zamów\r\n \r\n \r\n \r\n\r\n {\r\n setShowSuccessMessage(false)\r\n }}\r\n >\r\n \r\n

Zamówiłeś dane pomiarowe

\r\n

\r\n Dziękujemy za zamówienie danych pomiarowych. Zostaną one dostarczone\r\n na e-mail kontaktowy do 14 dni.\r\n

\r\n
\r\n
\r\n
\r\n \r\n {\r\n setShowSuccessMessage(false)\r\n setShowRequestModal(false)\r\n setShow(false)\r\n }}\r\n >\r\n {t('MY_CONTRACTS.MODAL.CLOSE')}\r\n \r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-filtr{fill:#5b5b5b;}.cls-2-filtr{fill:#47a9a0;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_filtruj\",\n \"data-name\": \"Ikonka filtruj\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-filtr\",\n d: \"M18.76,5.21H3.4A.88.88,0,0,0,3.4,7H18.76a.88.88,0,0,0,0-1.75Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-filtr\",\n d: \"M18.76,10.18H3.4a.88.88,0,0,0,0,1.75H18.76a.88.88,0,0,0,0-1.75Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1-filtr\",\n d: \"M18.76,15H3.4a.88.88,0,0,0,0,1.75H18.76a.88.88,0,0,0,0-1.75Z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-2-filtr\",\n cx: 6.99,\n cy: 6.08,\n r: 2.45\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-2-filtr\",\n cx: 15.41,\n cy: 11.07,\n r: 2.45\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-2-filtr\",\n cx: 6.99,\n cy: 15.92,\n r: 2.45\n}));\n\nvar SvgFiltr = function SvgFiltr(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFiltr, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Filtr.2e3acf6a.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst MIN_HEIGHT = 140\r\nconst MIN_WIDTH = 280\r\n\r\nconst FILTERS_HEADER_ICON_SIZE = 20\r\n\r\nconst BTN_WIDTH = 172\r\nconst BTN_HEIGHT = 42\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n appHeader: {\r\n fontSize: 20,\r\n },\r\n wrapper: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'flex-start',\r\n },\r\n paper: {\r\n width: '100%',\r\n height: '100%',\r\n padding: theme.spacing(7),\r\n position: 'relative',\r\n minWidth: MIN_WIDTH,\r\n minHeight: MIN_HEIGHT,\r\n },\r\n filters: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n },\r\n filtersHeader: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(4),\r\n '&:first-child': {\r\n '& svg': {\r\n height: FILTERS_HEADER_ICON_SIZE,\r\n margin: theme.spacing(0, 4, 0, 0),\r\n width: 'auto',\r\n fill: theme.palette.primary.main,\r\n },\r\n '& h2': {\r\n margin: 0,\r\n fontWeight: 700,\r\n fontSize: 19,\r\n color: tableTextColor,\r\n letterSpacing: 0.16,\r\n },\r\n },\r\n },\r\n filtersOptions: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n width: '100%',\r\n '& button': {\r\n marginLeft: theme.spacing(1),\r\n width: BTN_WIDTH,\r\n height: BTN_HEIGHT,\r\n fontWeight: 700,\r\n fontSize: 14,\r\n [theme.breakpoints.down('sm')]: {\r\n margin: theme.spacing(1, 0, 0),\r\n width: '100%',\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n alignItems: 'center',\r\n flexDirection: 'column',\r\n },\r\n },\r\n logoContainer: {\r\n display: 'flex',\r\n },\r\n logo: {\r\n width: '100%',\r\n alignSelf: 'flex-start',\r\n maxWidth: 100,\r\n },\r\n })\r\n)\r\n","import { makeStyles, Theme, createStyles } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { DETAILS_CARD_CONTENT_MIN_HEIGHT } from '@shared/components/DetailsCard/DetailsCard'\r\n\r\nconst BTN_WIDTH = 172\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n headerContent: {\r\n margin: theme.spacing(1, 0, 1, 9),\r\n flex: '1 1 auto',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n flexWrap: 'wrap',\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n marginLeft: 0,\r\n width: '100%',\r\n },\r\n },\r\n buttons: {\r\n flexWrap: 'wrap',\r\n '& button': {\r\n padding: theme.spacing(2, 0),\r\n margin: theme.spacing(2, 0),\r\n width: BTN_WIDTH,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n flexDirection: 'column',\r\n '& button': {\r\n width: '100%',\r\n padding: theme.spacing(2, 0),\r\n },\r\n },\r\n },\r\n paginationContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(9),\r\n },\r\n loader: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n width: '100%',\r\n },\r\n resizableContainer: {\r\n overflowY: 'hidden',\r\n transition: 'height 0.8s ease-in-out',\r\n },\r\n empty: {\r\n margin: 0,\r\n height: DETAILS_CARD_CONTENT_MIN_HEIGHT + 20,\r\n fontSize: 19,\r\n color: tableTextColor,\r\n opacity: 0.55,\r\n },\r\n })\r\n)\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst BTN_WIDTH = 200\r\nconst BTN_HEIGHT = 40\r\nconst ICON_SIZE = 20\r\nconst NEWS_CONTENT_HEIGHT = 64\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n paper: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n marginBottom: theme.spacing(8),\r\n },\r\n upperSection: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n marginBottom: theme.spacing(4),\r\n '& button': {\r\n width: BTN_WIDTH,\r\n height: BTN_HEIGHT,\r\n fontSize: 14,\r\n border: '2.7px solid #DAD9D9',\r\n color: tableTextColor,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n icon: {\r\n marginRight: theme.spacing(5),\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n [theme.breakpoints.down('xs')]: {\r\n marginRight: theme.spacing(3),\r\n },\r\n },\r\n header: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: tableTextColor,\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(3),\r\n },\r\n },\r\n left: {\r\n '& p': {\r\n margin: 0,\r\n opacity: 0.55,\r\n fontSize: 14,\r\n letterSpacing: '0.60px',\r\n },\r\n '& h1': {\r\n margin: 0,\r\n fontSize: 17,\r\n letterSpacing: '0.64px',\r\n },\r\n },\r\n content: { \r\n height: NEWS_CONTENT_HEIGHT,\r\n fontSize: 14,\r\n letterSpacing: '0.61px',\r\n display: '-webkit-box',\r\n WebkitBoxOrient: 'vertical',\r\n WebkitLineClamp: 3,\r\n overflow: 'hidden',\r\n },\r\n })\r\n)\r\n","import { makeStyles, Theme, createStyles } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n dialog: {\r\n padding: theme.spacing(10, 15),\r\n [theme.breakpoints.down('sm')]: {\r\n padding: theme.spacing(5, 8),\r\n },\r\n },\r\n content: {\r\n padding: 0,\r\n marginBottom: theme.spacing(11),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n '& h1': {\r\n fontSize: 25,\r\n letterSpacing: 0.2,\r\n margin: theme.spacing(0, 0, 12),\r\n textAlign: 'center',\r\n },\r\n '& div': {\r\n width: '100%',\r\n textAlign: 'left',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(8),\r\n '& h1': {\r\n marginBottom: theme.spacing(8),\r\n },\r\n },\r\n },\r\n icon: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n btn: {\r\n width: 148,\r\n height: 40,\r\n margin: '0 auto',\r\n border: '2.7px solid #DAD9D9',\r\n color: tableTextColor,\r\n fontSize: 16,\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n },\r\n },\r\n })\r\n)\r\n","import React from 'react'\r\nimport { Dialog, DialogContent, DialogActions } from '@material-ui/core'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport { News } from '@shared/contracts/news'\r\nimport useStyles from './SingleNewsModal.style'\r\nimport Icon from '@shared/components/modals/Modal/Icon'\r\nimport { useTranslation } from 'react-i18next'\r\nimport ReactQuill from 'react-quill'\r\nimport 'react-quill/dist/quill.bubble.css'\r\n\r\nexport const SingleNewsModal: React.FC<{\r\n show: boolean\r\n close: () => void\r\n news: News\r\n}> = ({ show, close, news }) => {\r\n const styles = useStyles()\r\n\r\n const { t } = useTranslation()\r\n\r\n const { title, message } = news\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n

{title}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useCallback, useState } from 'react'\r\nimport { Paper, Divider } from '@material-ui/core'\r\nimport { isYesterday, format, parseJSON } from 'date-fns'\r\nimport { News } from '@shared/contracts/models'\r\nimport { Button } from '@shared/components/Button'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport useStyles from './SingleNewsOnPage.style'\r\nimport SingleNewsModal from '../modals/SingleNewsModal'\r\nimport { ReactComponent as ReadNewsSvg } from '@images/icons/myNews/ReadNews.svg'\r\nimport { ReactComponent as UnreadNewsSvg } from '@images/icons/myNews/UnreadNews.svg'\r\nimport ReactQuill from 'react-quill';\r\nimport 'react-quill/dist/quill.bubble.css';\r\n\r\nexport const SingleNewsOnPage: React.FC<{\r\n news: News\r\n reloadNews?: (\r\n customerNumberChanged?: boolean | undefined,\r\n start?: number | undefined\r\n ) => void\r\n}> = ({ news, reloadNews }) => {\r\n const styles = useStyles()\r\n const [showModal, setShowModal] = useState(false)\r\n\r\n const { id, title, date, message, markedAsRead } = news\r\n\r\n const [executeMarkAsRead] = useApi({\r\n config: {\r\n method: 'put',\r\n },\r\n })\r\n\r\n const handleShowMessageClick = useCallback(\r\n (id: string) => {\r\n setShowModal(true)\r\n executeMarkAsRead({ url: `News/${id}/markAsRead` })\r\n },\r\n [setShowModal, executeMarkAsRead]\r\n )\r\n\r\n const handleModalClose = useCallback(() => {\r\n setShowModal(false)\r\n reloadNews && reloadNews(false, 0)\r\n }, [setShowModal, reloadNews])\r\n\r\n const yesterday = useCallback(\r\n (date: Date) => isYesterday(parseJSON(date)),\r\n []\r\n )\r\n\r\n const formattedDate = useCallback(\r\n (date: Date) => format(parseJSON(date), 'dd.MM.yyyy'),\r\n []\r\n )\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n {markedAsRead ? : }\r\n
\r\n
\r\n

\r\n {date && (yesterday(date) ? 'Wczoraj' : formattedDate(date))}\r\n

\r\n

{title}

\r\n
\r\n
\r\n id && handleShowMessageClick(id)}\r\n >\r\n Zobacz wiadomość\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n handleModalClose()}\r\n news={news}\r\n />\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Redirect } from 'react-router-dom'\r\n\r\nexport const ReturnPage: React.FC = () => (\r\n \r\n)\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Payer_Nr\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"numer_platnika\",\n transform: \"translate(0.000000, 2.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_Numer_p\\\\u0142atnika\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 2.24,\n y: 0.88,\n width: 17.48,\n height: 11.76,\n rx: 0.38\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n x: 0.87,\n y: 5,\n width: 16.73,\n height: 3\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n x: 12.86,\n y: 10.52,\n width: 2.62,\n height: 1.74,\n rx: 0.58\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.59,14.51 L0.87,14.51 C0.593857625,14.51 0.37,14.2861424 0.37,14.01 L0.37,3 C0.37,2.72385763 0.593857625,2.5 0.87,2.5 L17.59,2.5 C17.8661424,2.5 18.0901001,2.72385763 18.0901001,3 L18.0901001,14 C18.0926872,14.1343323 18.0411975,14.2640935 17.9471364,14.3600357 C17.8530754,14.455978 17.7243592,14.51 17.59,14.51 L17.59,14.51 Z M1.37,13.51 L17.09,13.51 L17.09,3.5 L1.37,3.5 L1.37,13.51 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}))));\n\nvar SvgCreditCard = function SvgCreditCard(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCreditCard, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CreditCard.a12d37f0.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/FV/Paper\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"faktura_papierowa\",\n transform: \"translate(2.000000, 0.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.72,0.35 L6.77,0.35 L6.71,0.35 C6.62340828,0.367105331 6.54356605,0.408762148 6.48,0.47 L1.82,5.16 C1.75876215,5.22356605 1.71710533,5.30340828 1.7,5.39 C1.69532148,5.40972639 1.69532148,5.43027361 1.7,5.45 C1.69566392,5.46976498 1.69566392,5.49023502 1.7,5.51 L1.7,17.85 C1.7,18.1261424 1.92385763,18.35 2.2,18.35 L14.72,18.35 C14.9961424,18.35 15.22,18.1261424 15.22,17.85 L15.22,0.85 C15.22,0.717391755 15.1673216,0.590214799 15.0735534,0.496446609 C14.9797852,0.40267842 14.8526082,0.35 14.72,0.35 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.33,19.7 L0.78,19.7 C0.503857625,19.7 0.28,19.4761424 0.28,19.2 L0.28,6.86 C0.28,6.58385763 0.503857625,6.36 0.78,6.36 L4.94,6.36 L4.94,2.2 C4.94,1.92385763 5.16385763,1.7 5.44,1.7 L13.33,1.7 C13.6039085,1.70532011 13.8246799,1.92609155 13.83,2.2 L13.83,19.2 C13.83,19.3326082 13.7773216,19.4597852 13.6835534,19.5535534 C13.5897852,19.6473216 13.4626082,19.7 13.33,19.7 Z M1.33,18.7 L12.83,18.7 L12.83,2.7 L5.94,2.7 L5.94,6.86 C5.94,7.13614237 5.71614237,7.36 5.44,7.36 L1.28,7.36 L1.33,18.7 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.09,14 L3.09,14 C2.81609155,13.9946799 2.59532011,13.7739085 2.59,13.5 C2.59,13.2238576 2.81385763,13 3.09,13 L11.09,13 C11.3661424,13 11.59,13.2238576 11.59,13.5 C11.5846799,13.7739085 11.3639085,13.9946799 11.09,14 L11.09,14 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.09,17.08 L7.56,17.08 C7.28385763,17.08 7.06,16.8561424 7.06,16.58 C7.06,16.3038576 7.28385763,16.08 7.56,16.08 L11.09,16.08 C11.3661424,16.08 11.59,16.3038576 11.59,16.58 C11.59,16.8561424 11.3661424,17.08 11.09,17.08 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.09,11.86 L3.09,11.86 C2.81385763,11.86 2.59,11.6361424 2.59,11.36 C2.59,11.0838576 2.81385763,10.86 3.09,10.86 L11.09,10.86 C11.3661424,10.86 11.59,11.0838576 11.59,11.36 C11.59,11.6361424 11.3661424,11.86 11.09,11.86 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.44,7.36001858 L0.78,7.36001858 C0.577306718,7.36175877 0.394453929,7.23853189 0.32,7.05 C0.239391664,6.86478533 0.283363408,6.64892404 0.43,6.51 L5.09,1.85 C5.23285015,1.70994014 5.44543561,1.66851223 5.63042423,1.74468402 C5.81541285,1.8208558 5.93718997,1.99996242 5.94,2.2 L5.94,6.86 C5.94,6.99260824 5.88732158,7.1197852 5.79355339,7.21355339 C5.6997852,7.30732158 5.57260824,7.36001858 5.44,7.36001858 Z M2,6.36 L5,6.36 L5,3.41 L2,6.36 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n})));\n\nvar SvgDocuments = function SvgDocuments(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDocuments, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Documents.a97eefa2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Address\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"adres\",\n transform: \"translate(1.000000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\",\n opacity: 0.2,\n points: \"16.68 18.59 1.32 18.59 1.32 8.2 9 15.23 16.68 8.2\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\",\n opacity: 0.2,\n points: \"16.68 8.02 14.52 6.05 14.52 10.04\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\",\n opacity: 0.2,\n points: \"9 0.99 5.39 4.29 12.61 4.29\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\",\n opacity: 0.2,\n points: \"1.32 8.02 3.48 10.04 3.48 6.05\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\",\n opacity: 0.2,\n points: \"3.48 10.04 9 15.23 3.48 10.04\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\",\n opacity: 0.2,\n points: \"9 15.23 14.52 10.04 14.52 10.04\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n fill: \"#FFFFFF\",\n points: \"12.61 4.29 5.39 4.29 3.48 4.29 3.48 6.05 3.48 10.04 9 15.23 14.52 10.04 14.52 6.05 14.52 4.29\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"12.1 13 16.18 17.18 16.18 9.17 14.87 10.4\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"1.82 17.18 5.9 13 1.82 9.17\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"9 1.67 6.68 3.8 11.32 3.8\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.18,8 C17.1727872,7.86296752 17.1072706,7.73557417 17,7.65 L15,5.82 L15,4.3 C15,4.02385763 14.7761424,3.8 14.5,3.8 L12.81,3.8 L9.34,0.62 C9.14473693,0.451261749 8.85526307,0.451261749 8.66,0.62 L5.19,3.8 L3.48,3.8 C3.20385763,3.8 2.98,4.02385763 2.98,4.3 L2.98,5.82 L1,7.65 C0.892729371,7.73557417 0.827212791,7.86296752 0.82,8 L0.82,18.58 C0.82,18.8561424 1.04385763,19.08 1.32,19.08 L16.68,19.08 C16.9561424,19.08 17.18,18.8561424 17.18,18.58 L17.18,8 Z M15,7.18 L15.92,8.02 L15,8.88 L15,7.18 Z M14.85,10.4 L16.16,9.17 L16.16,17.17 L12.1,13 L14.85,10.4 Z M15.65,18.08 L2.33,18.08 L6.63,13.68 L8.63,15.59 C8.7200649,15.6803782 8.84240729,15.7311785 8.97,15.7311785 C9.09759271,15.7311785 9.2199351,15.6803782 9.31,15.59 L11.31,13.68 L15.65,18.08 Z M9,1.67 L11.32,3.8 L6.68,3.8 L9,1.67 Z M4,4.8 L14,4.8 L14,9.8 L9,14.52 L4,9.82 L4,4.8 Z M5.9,13 L1.82,17.18 L1.82,9.18 L5.9,13 Z M3,7.18 L3,8.88 L2.06,8 L3,7.18 Z\",\n id: \"Shape\",\n fill: \"#555150\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.35,11.19 C6.92667592,10.9607871 6.57921291,10.6133241 6.35,10.19 C6.10719523,9.74249442 5.98648314,9.23895255 6,8.73 C5.98063682,8.16584404 6.11179374,7.6067014 6.38,7.11 C6.62807592,6.68028822 6.99657791,6.33264484 7.44,6.11 C7.9161764,5.86690723 8.44552971,5.74659966 8.98,5.76 C9.50055574,5.74491782 10.0174919,5.85104378 10.49,6.07 C10.901808,6.25508121 11.2497178,6.55776272 11.49,6.94 C11.7065967,7.33863901 11.8168072,7.78636926 11.81,8.24 C11.8243324,8.58069401 11.7699177,8.92078601 11.65,9.24 C11.5499581,9.49508673 11.3801528,9.71687317 11.16,9.88 C10.9439254,10.0331201 10.684803,10.1136582 10.42,10.11 C10.2158806,10.120447 10.0134614,10.0680972 9.84,9.96 C9.69724582,9.87161911 9.59354138,9.73215451 9.55,9.57 L9.55,9.57 C9.43679567,9.72543743 9.29818479,9.86066755 9.14,9.97 C8.97692429,10.0669451 8.7896359,10.1155014 8.6,10.11 C8.30051205,10.1239886 8.01054918,10.0028649 7.81,9.78 C7.61455726,9.52952434 7.51523248,9.21736074 7.53,8.9 C7.49582932,8.59629644 7.52999612,8.28879527 7.63,8 C7.73364779,7.75789299 7.9034835,7.54993089 8.12,7.4 C8.32928294,7.2484174 8.58159747,7.16781693 8.84,7.17 C8.99551959,7.16991849 9.14915207,7.20405904 9.29,7.27 C9.41875818,7.32812353 9.52187647,7.43124182 9.58,7.56 L9.58,7.56 L9.64,7.23 L10.48,7.23 L10.22,8.69 C10.2068699,8.80964083 10.2068699,8.93035917 10.22,9.05 C10.2119579,9.14848744 10.236557,9.24688382 10.29,9.33 C10.3466148,9.39682337 10.4330683,9.43065299 10.52,9.42 C10.6033606,9.41008408 10.6791355,9.36678409 10.73,9.3 C10.816253,9.18752165 10.8776092,9.05799202 10.91,8.92 C10.9728183,8.69206995 11.0031178,8.45640756 11,8.22 C11.0305362,7.71980876 10.8361857,7.23209903 10.47,6.89 C10.044871,6.55495249 9.50987182,6.39088607 8.97,6.43 C8.58417871,6.42341455 8.202762,6.5127554 7.86,6.69 C7.53343689,6.87149958 7.26872723,7.14665831 7.1,7.48 C6.90007131,7.86615803 6.79710955,8.29516538 6.8,8.73 C6.7890791,9.11829682 6.87499594,9.50320429 7.05,9.85 C7.21806231,10.1610299 7.47128537,10.4177217 7.78,10.59 C8.13275421,10.7693244 8.52437633,10.8586417 8.92,10.85 C9.18363918,10.8578557 9.44686904,10.8241083 9.7,10.75 C9.88324009,10.7038897 10.0496666,10.6068075 10.18,10.47 L11.25,10.47 C11.055025,10.8159994 10.7533335,11.0896266 10.39,11.25 C9.9299876,11.462926 9.42665975,11.565646 8.92,11.55 C8.37474956,11.5636412 7.83483457,11.4398391 7.35,11.19 Z M9.26,9.08 C9.39140977,8.85966308 9.45731619,8.60644367 9.45,8.35 C9.46072782,8.20333661 9.41811257,8.0577345 9.33,7.94 C9.24643875,7.84637712 9.12539123,7.79502363 9,7.8 C8.78065868,7.80171178 8.58037291,7.92496456 8.48,8.12 C8.3585559,8.34032118 8.29652399,8.5884488 8.3,8.84 C8.29362743,8.98023075 8.3283862,9.11926584 8.4,9.24 C8.46666308,9.33927806 8.5805797,9.39623637 8.7,9.39 C8.92916602,9.39625285 9.14364018,9.27752609 9.26,9.08 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\",\n fillRule: \"nonzero\"\n})));\n\nvar SvgEmail = function SvgEmail(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmail, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Email.1e4f293d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Offer\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"oferta\",\n transform: \"translate(3.000000, 0.000000)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13,0.169999986 L5.85,0.169999986 C5.77464119,0.187979917 5.70553987,0.225985642 5.65,0.28 L1.49,4.46 C1.43598564,4.51553987 1.39797992,4.58464119 1.38,4.66 C1.38,4.66 1.38,4.66 1.38,4.66 C1.38,4.66 1.38,4.66 1.38,4.72 L1.38,15.72 C1.38,15.9630053 1.57699471,16.16 1.82,16.16 L13,16.16 C13.2446747,16.16 13.4445628,15.9646143 13.45,15.72 L13.45,0.61 C13.4445628,0.365385715 13.2446747,0.169999986 13,0.169999986 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.75,1.32 L4.75,1.32 C4.61486642,1.32033104 4.48538829,1.37428026 4.39,1.47 L0.21,5.62 C0.109235004,5.72023217 0.0548664758,5.85796578 0.06,6 L0.06,17 C0.06,17.2761424 0.283857625,17.5 0.56,17.5 L5.38,17.5 C5.65614237,17.5 5.88,17.2761424 5.88,17 C5.88,16.7238576 5.65614237,16.5 5.38,16.5 L1.06,16.5 L1.06,6.5 L4.72,6.5 C4.99390845,6.49467989 5.21467989,6.27390845 5.22,6 L5.22,2.32 L11.22,2.32 L11.22,7.77 C11.22,8.04614236 11.4438576,8.26999997 11.72,8.26999997 C11.9961424,8.26999997 12.2200008,8.04614236 12.2200008,7.77 L12.2200008,1.82 C12.2204771,1.55516137 12.0143619,1.33588991 11.75,1.32 Z M4.22,5.48 L1.77,5.48 L4.22,3 L4.22,5.48 Z\",\n id: \"Shape\",\n fill: \"#555150\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.76,9 C8.10314575,9 6.75994596,10.3431458 6.75994596,12 L6.75994596,19.45 C6.7571583,19.641889 6.86659781,19.8177739 7.04,19.9 C7.10740068,19.9364195 7.18347898,19.95371 7.26,19.95 C7.37351213,19.9537673 7.48425056,19.914473 7.57,19.84 L9.77,18.09 L12,19.8 C12.150052,19.9185759 12.3545982,19.9411705 12.5269131,19.8582041 C12.699228,19.7752377 12.8091215,19.6012461 12.81,19.41 L12.81,12 C12.8101117,11.1956112 12.4871869,10.4248732 11.913717,9.86080443 C11.340247,9.29673566 10.5642771,8.98659351 9.76,9 L9.76,9 Z M11.81,12.39 C11.6281173,13.5053578 10.5853046,14.2687111 9.46713355,14.1050104 C8.34896248,13.9413098 7.56873348,12.9110627 7.71420863,11.7903748 C7.85968378,10.6696869 8.87709227,9.87278888 10,10 C10.5528482,10.0646491 11.056365,10.3492218 11.3969202,10.7894976 C11.7374755,11.2297734 11.8863691,11.7886486 11.81,12.34 L11.81,12.39 Z\",\n id: \"Shape\",\n fill: \"#48A9A1\"\n})));\n\nvar SvgMarketing = function SvgMarketing(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMarketing, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Marketing.2aeb3868.svg\";\nexport { ForwardRef as ReactComponent };","export const isRejected = (value: string) => value.includes('rejected')\r\n\r\nexport enum fields {\r\n EMAIL = 'Email',\r\n CORRESPONDENCE_EMAIL = 'CorrespondenceEmail',\r\n CONTACT_PHONE = 'ContactPhone',\r\n MAIN_ADDRESS_LINE_1 = 'MainAddressLine1',\r\n MAIN_ADDRESS_LINE_2 = 'MainAddressLine2',\r\n CORRESPONDENCE_ADDRESS_LINE_1 = 'CorrespondenceAddressLine1',\r\n CORRESPONDENCE_ADDRESS_LINE_2 = 'CorrespondenceAddressLine2',\r\n AGREEMENT_ADDRESS_LINE_1 = 'AgreementAddressLine1',\r\n AGREEMENT_ADDRESS_LINE_2 = 'AgreementAddressLine2',\r\n AGREEMENT_EMAIL = 'AgreementEmail',\r\n}\r\n\r\nexport const trimString = (value: string) => value.replace(/ /g, '')\r\n","import { makeStyles, Theme, createStyles } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst SETTINGS_ACION_BTN_WIDTH = 188\r\nconst SETTINGS_ACION_BTN_HEIGHT = 39\r\n\r\nconst EMAIL_NOTIFICATIONS = 500\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n settingsActionButton: {\r\n width: SETTINGS_ACION_BTN_WIDTH,\r\n height: SETTINGS_ACION_BTN_HEIGHT,\r\n fontSize: 14,\r\n border: '2.7px solid #DAD9D9',\r\n color: tableTextColor,\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n sectionWrapper: {\r\n marginBottom: theme.spacing(8.75),\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n },\r\n settingsWrapper: {\r\n marginTop: theme.spacing(4.25),\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: 0,\r\n },\r\n },\r\n emailNotificationsContainer: {\r\n flex: `0 0 ${EMAIL_NOTIFICATIONS}px`,\r\n marginRight: theme.spacing(10),\r\n [theme.breakpoints.down('md')]: {\r\n marginRight: 0,\r\n flex: `1 0 100%`,\r\n marginBottom: theme.spacing(4.25),\r\n },\r\n },\r\n marketingConsentsContainer: {\r\n flex: '1 1',\r\n [theme.breakpoints.down('md')]: {\r\n flex: `1 0 100%`,\r\n },\r\n },\r\n togglerWrapper: {\r\n paddingLeft: theme.spacing(8),\r\n flex: '1 1',\r\n [theme.breakpoints.down('md')]: {\r\n paddingLeft: 0,\r\n marginTop: theme.spacing(2),\r\n flex: `1 0 100%`,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n },\r\n },\r\n toggler: {\r\n marginRight: theme.spacing(4.5),\r\n '& p': {\r\n margin: theme.spacing(0, 3),\r\n },\r\n },\r\n header: {\r\n flexWrap: 'wrap',\r\n '& div > b': {\r\n whiteSpace: 'pre-wrap !important',\r\n },\r\n },\r\n pointTitle: {\r\n color: '#415467',\r\n fontSize: 17,\r\n lineHeight: '17px',\r\n letterSpacing: 0.6,\r\n whiteSpace: 'pre-wrap',\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n '& span': {\r\n '&:first-child': {\r\n marginRight: theme.spacing(1.5),\r\n },\r\n '&:last-child': {\r\n color: tableTextColor,\r\n fontWeight: 600,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n linkWrapper: {\r\n marginTop: theme.spacing(4.5),\r\n },\r\n addressWrapper: {\r\n display: 'inline-flex',\r\n flexDirection: 'column',\r\n },\r\n changePasswordWrapper: {\r\n [theme.breakpoints.down('xs')]: {\r\n alignSelf: 'center',\r\n },\r\n },\r\n emptyContracts: {\r\n height: 180,\r\n width: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n textAlign: 'center',\r\n fontSize: 19,\r\n color: tableTextColor,\r\n opacity: 0.55,\r\n },\r\n })\r\n)\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { values } from 'ramda'\r\n\r\nexport const userNotificationsSelector = (state: RootState) =>\r\n state.userNotifications\r\n\r\nexport const allNotificationssSelector = createSelector(\r\n userNotificationsSelector,\r\n state => values(state.entities)\r\n)\r\n\r\nexport const notificationsLoadingSelector = createSelector(\r\n userNotificationsSelector,\r\n notifications => {\r\n return notifications.loadingPending > 0\r\n }\r\n)\r\n","import { makeStyles } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst ICON_SIZE = 14\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n marginRight: theme.spacing(2),\r\n '&:not(:first-child)': {\r\n paddingLeft: theme.spacing(15),\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n paddingLeft: 0,\r\n marginBottom: theme.spacing(2),\r\n },\r\n '&:not(:last-child)': {\r\n paddingRight: theme.spacing(15),\r\n borderRight: '1.8px solid #5F76FD1A',\r\n [theme.breakpoints.down('xs')]: {\r\n borderRight: 'none',\r\n paddingRight: 0,\r\n },\r\n },\r\n },\r\n title: {\r\n fontSize: 17,\r\n lineHeight: '21px',\r\n letterSpacing: 0.6,\r\n width: '100%',\r\n color: tableTextColor,\r\n },\r\n breakWord: {\r\n wordBreak: 'break-all',\r\n },\r\n noBorder: {\r\n borderRight: 'none !important',\r\n paddingRight: '0px !important',\r\n paddingLeft: '0px !important',\r\n },\r\n label: {\r\n fontSize: 14,\r\n lineHeight: '18px',\r\n letterSpacing: 0.6,\r\n color: tableTextColor,\r\n '& p': {\r\n opacity: 0.55,\r\n },\r\n },\r\n icon: {\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n marginLeft: theme.spacing(),\r\n cursor: 'pointer',\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { Grid, Typography, GridProps } from '@material-ui/core'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ReactComponent as EditSvg } from '@images/icons/other/EditPencil.svg'\r\nimport useStyles from './Setting.style'\r\n\r\nexport interface ISettingProps extends GridProps {\r\n label: string | JSX.Element\r\n id?: string\r\n value?: string | JSX.Element\r\n border?: boolean\r\n wrapTitle?: boolean\r\n onEditClick?: () => void\r\n}\r\n\r\nexport const Setting: React.FC = ({\r\n label,\r\n value,\r\n id,\r\n border,\r\n wrapTitle,\r\n onEditClick,\r\n ...props\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n return (\r\n \r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n
\r\n {value || t('MY_SETTINGS.NOT_PROVIDED')}\r\n {onEditClick && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nconst WRAPPER_HEIGHT = 42\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n height: WRAPPER_HEIGHT,\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n title: {\r\n fontSize: 17,\r\n lineHeight: '21px',\r\n letterSpacing: 0.6,\r\n fontWeight: 600,\r\n color: theme.palette.primary.main,\r\n cursor: 'pointer',\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { Grid, Typography } from '@material-ui/core'\r\nimport useStyles from './DocumentLink.style'\r\n\r\nexport interface ISettingProps {\r\n title: string\r\n onClick: () => void\r\n}\r\n\r\nexport const DocumentLink: React.FC = ({\r\n title,\r\n onClick,\r\n ...props\r\n}) => {\r\n const styles = useStyles()\r\n return (\r\n \r\n \r\n {title}\r\n \r\n \r\n )\r\n}\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nexport const SWITCH_ON_HANDLE_COLOR = '#FFF'\r\nexport const SWITCH_OFF_HANDLE_COLOR = '#7C8A97'\r\nexport const SWITCH_ON_COLOR = '#12BEAB'\r\nexport const SWITCH_OFF_COLOR = '#EAECEB'\r\n\r\nexport const SWITCH_WIDTH = 40\r\nexport const SWITCH_HEIGHT = 22\r\nexport const SWITCH_HANDLE_DIAMETER = 18\r\n\r\nexport default makeStyles(() => ({}))\r\n","import React from 'react'\r\nimport {\r\n SWITCH_OFF_COLOR,\r\n SWITCH_ON_COLOR,\r\n SWITCH_OFF_HANDLE_COLOR,\r\n SWITCH_ON_HANDLE_COLOR,\r\n SWITCH_HEIGHT,\r\n SWITCH_WIDTH,\r\n SWITCH_HANDLE_DIAMETER,\r\n} from './Switch.style'\r\n\r\nimport SwitchBase, { ReactSwitchProps } from 'react-switch'\r\n\r\nexport interface ISwitchProps\r\n extends Omit<\r\n ReactSwitchProps,\r\n | 'uncheckedIcon'\r\n | 'checkedIcon'\r\n | 'offColor'\r\n | 'onColor'\r\n | 'offHandleColor'\r\n | 'onHandleColor'\r\n > {}\r\n\r\nexport const Switch: React.FC = props => {\r\n return (\r\n \r\n )\r\n}\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nconst SWITCH_CONTAINER_WIDTH = 40\r\nconst SWITCH_CONTAINER_HEIGHT = 22\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n marginTop: theme.spacing(5),\r\n [theme.breakpoints.down('xs')]: {\r\n marginTop: 0,\r\n },\r\n },\r\n title: {\r\n fontSize: 14,\r\n lineHeight: '20px',\r\n fontWeight: 600,\r\n marginLeft: theme.spacing(2.25),\r\n letterSpacing: 0.1,\r\n width: `calc(100% - ${theme.spacing(2.25) + SWITCH_CONTAINER_WIDTH}px)`,\r\n '& svg': {\r\n minWidth: 12,\r\n },\r\n },\r\n row: {\r\n '&:not(:last-child)': {\r\n marginBottom: theme.spacing(3.75),\r\n },\r\n },\r\n loaderContainer: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n height: SWITCH_CONTAINER_HEIGHT,\r\n width: SWITCH_CONTAINER_WIDTH,\r\n },\r\n}))\r\n","import React, { useState, useCallback } from 'react'\r\nimport { Grid, CircularProgress } from '@material-ui/core'\r\nimport { DocumentType } from '@shared/contracts/models'\r\nimport Switch from '../../Switch'\r\nimport useStyles from './SwitchForm.style'\r\n\r\nexport interface ISwitch {\r\n label: string | JSX.Element\r\n checked?: boolean\r\n onChange: () => Promise\r\n mandatory?: boolean\r\n documentType?: DocumentType\r\n}\r\n\r\nexport interface ISwitchFormProps {\r\n data: ISwitch[]\r\n name: string\r\n}\r\n\r\nexport const SwitchForm: React.FC = ({ data, name }) => {\r\n const styles = useStyles()\r\n const [loading, setLoading] = useState([])\r\n const startLoading = (index: number) => {\r\n const newLoading = [...loading.filter(item => item !== index), index]\r\n setLoading(newLoading)\r\n }\r\n const stopLoading = (index: number) => {\r\n const newLoading = [...loading.filter(item => item !== index)]\r\n setLoading(newLoading)\r\n }\r\n\r\n const isItemLoading = useCallback(\r\n (index: number) => {\r\n return loading.includes(index)\r\n },\r\n [loading]\r\n )\r\n\r\n return (\r\n \r\n {data.map((item, index) => (\r\n \r\n {isItemLoading(index) ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n {\r\n startLoading(index)\r\n await item.onChange()\r\n stopLoading(index)\r\n }}\r\n checked={!!item.checked}\r\n disabled={item.mandatory}\r\n />\r\n )}\r\n
{item.label}
\r\n
\r\n ))}\r\n \r\n )\r\n}\r\n","import {\r\n IChangePasswordErrors,\r\n IChangePasswordFormValues,\r\n} from './ChangePasswordForm'\r\nimport {\r\n PasswordRequirements,\r\n passReqNames,\r\n} from '../../../../Register/static-data/RegisterData'\r\n\r\nimport i18n from '@i18n/index'\r\n\r\nconst getPasswordMisssingRequirement = (value: string) => {\r\n const missingRequirements = [\r\n passReqNames.LETTERS,\r\n passReqNames.DIGIT,\r\n passReqNames.LENGTH,\r\n ].map(item =>\r\n !PasswordRequirements[item].regex.test(value)\r\n ? PasswordRequirements[item].title\r\n : ''\r\n )\r\n return missingRequirements.filter(i => i)\r\n}\r\n\r\nexport const validate = (values: IChangePasswordFormValues) => {\r\n const errors: IChangePasswordErrors = {}\r\n if (!values.currentPassword) {\r\n errors.currentPassword = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n const missingReqs = getPasswordMisssingRequirement(values.currentPassword)\r\n if (missingReqs.length)\r\n errors.currentPassword = i18n().t('FORM_ERRORS.MISSING_REQUIREMENTS', {\r\n reqs: missingReqs.join(', '),\r\n })\r\n }\r\n if (values.currentPassword === values.newPassword) {\r\n errors.newPassword = i18n().t(\r\n 'FORM_ERRORS.NEW_PASSWORD_SHOULD_BE_DIFFERENT'\r\n )\r\n }\r\n if (!values.newPassword) {\r\n errors.newPassword = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n const missingReqs = getPasswordMisssingRequirement(values.newPassword)\r\n if (missingReqs.length)\r\n errors.newPassword = i18n().t('FORM_ERRORS.MISSING_REQUIREMENTS', {\r\n reqs: missingReqs.join(', '),\r\n })\r\n }\r\n if (!values.confirmNewPassword) {\r\n errors.confirmNewPassword = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else if (values.newPassword !== values.confirmNewPassword) {\r\n errors.confirmNewPassword = i18n().t('FORM_ERRORS.PASSWORDS_MUST_BE_SAME')\r\n }\r\n return errors\r\n}\r\n","import { makeStyles } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles(theme => ({\r\n wrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n '&:not(:first-child)': {\r\n paddingLeft: theme.spacing(15),\r\n },\r\n '&:not(:last-child)': {\r\n paddingRight: theme.spacing(15),\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n paddingTop: theme.spacing(10.5),\r\n paddingBottom: theme.spacing(12),\r\n },\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(6),\r\n },\r\n buttonsWrapper: {\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n secondField: {\r\n marginTop: theme.spacing(5),\r\n },\r\n spacer: {\r\n width: '100%',\r\n height: 1.8,\r\n backgroundColor: '#5F76FD1A',\r\n marginTop: theme.spacing(6),\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(0, 16)\r\n },\r\n messageWrapper: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { Collapse, Grid, Typography } from '@material-ui/core'\r\nimport { Formik, Form } from 'formik'\r\nimport FormikField from '@shared/components/modals/Modal/FormikField'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { validate } from './ChangePasswordForm.utils'\r\nimport ErrorMessage from '@shared/components/modals/Modal/ErrorMessage'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport useStyles from './ChangePasswordForm.style'\r\n\r\nexport interface IChangePasswordFormValues {\r\n currentPassword: string\r\n newPassword: string\r\n confirmNewPassword: string\r\n}\r\n\r\nexport interface IChangePasswordErrors {\r\n currentPassword?: string\r\n newPassword?: string\r\n confirmNewPassword?: string\r\n}\r\n\r\nexport interface IChangePasswordFormProps {\r\n onCancel: () => void\r\n onSubmit: (values: IChangePasswordFormValues) => void\r\n formError?: string\r\n}\r\n\r\nexport const ChangePasswordForm: React.FC = ({\r\n onSubmit,\r\n onCancel,\r\n formError,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n return (\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.CHANGE_PASSWORD')}\r\n \r\n \r\n \r\n {() => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n )\r\n }}\r\n \r\n \r\n \r\n )\r\n}\r\n","const settingsInvoiceEmailAddress = 'settings-invoice-email-address'\r\n\r\nexport default {\r\n USER_CONTACT_EMAIL: 'settings-contact-email',\r\n USER_CONTACT_PHONE: 'settings-contact-phone',\r\n USER_MAIN_ADDRESS: 'settings-main-address',\r\n USER_CORRESPONDENCE_ADDRESS: 'settings-correspondence-address',\r\n SETTINGS_INVOICE_ADDRESS: 'settings-invoice-address',\r\n SETTINGS_INVOICE_EMAIL: settingsInvoiceEmailAddress,\r\n getAgreementAddressId: (agreementId: string) =>\r\n `settings-invoice-address-${agreementId}`,\r\n getAgreementEmailAddressId: (agreementId: string, index: number) =>\r\n `${settingsInvoiceEmailAddress}-${agreementId}-${index}`,\r\n}\r\n","import i18n from '@i18n/index'\r\nimport { Address } from '@shared/utils/addressParser'\r\n\r\nexport type AddressErrors = Address\r\n\r\nconst postalCodeRegex = /^[0-9]{2}-[0-9]{3}$/i\r\n\r\nexport const postalCodeLength = 6\r\n\r\n\r\nexport const isPostalCodeValid = (postalCode: string) => {\r\n return postalCodeRegex.test(postalCode)\r\n}\r\n\r\nexport const validateAddressForm = (values: Address) => {\r\n const errors: AddressErrors = {}\r\n if (!values.streetName) {\r\n errors.streetName = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n }\r\n if (!values.streetNumber) {\r\n errors.streetNumber = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n if (values.streetNumber.length > 9)\r\n errors.streetNumber = i18n().t('FORM_ERRORS.MAX_LENGTH', { max: 9 })\r\n }\r\n\r\n if ((values.houseNumber ?? '').length > 9)\r\n errors.houseNumber = i18n().t('FORM_ERRORS.MAX_LENGTH', { max: 9 })\r\n\r\n if (!values.postalCode) {\r\n errors.postalCode = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n } else {\r\n if (!isPostalCodeValid(values.postalCode)) {\r\n errors.postalCode = i18n().t('FORM_ERRORS.POSTAL_CODE')\r\n }\r\n }\r\n if (!values.cityName) {\r\n errors.cityName = i18n().t('FORM_ERRORS.FIELD_REQUIRED')\r\n }\r\n\r\n return errors\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { WRAPPER_WIDTH } from '@shared/components/modals/Modal/Modal.style'\r\n\r\nconst popperBorderWidth = 1.7\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n '&:not(:last-child)': {\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n paddingTop: theme.spacing(8),\r\n paddingBottom: theme.spacing(10),\r\n [theme.breakpoints.down('sm')]: {\r\n paddingTop: theme.spacing(7),\r\n paddingBottom: theme.spacing(9),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(5),\r\n paddingBottom: theme.spacing(8),\r\n },\r\n },\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(10),\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(8),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n },\r\n messageWrapper: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n infoWrapper: {\r\n paddingBottom: theme.spacing(12),\r\n textAlign: 'center',\r\n '& span': {\r\n color: '#7c8a97',\r\n },\r\n },\r\n emailWrapper: {\r\n alignSelf: 'center',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n paddingTop: theme.spacing(4),\r\n '& span': {\r\n color: '#7c8a97',\r\n textAlign: 'center',\r\n },\r\n fontWeight: theme.typography.fontWeightBold,\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n },\r\n buttonsWrapper: {\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(3),\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n secondField: {\r\n marginTop: theme.spacing(5),\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(0, 16)\r\n },\r\n popper: {\r\n marginTop: -25,\r\n borderRadius: 4,\r\n borderWidth: popperBorderWidth,\r\n width: `${WRAPPER_WIDTH - theme.spacing(16 * 2) - 2* popperBorderWidth}px !important`\r\n },\r\n popperNarrow: {\r\n width: '204.4px !important' // As crazy as it seems, it was the most sane way of providing this value\r\n }\r\n}))\r\n","import React from 'react'\r\nimport { Grid, Typography } from '@material-ui/core'\r\nimport { Formik, Form } from 'formik'\r\nimport FormikField from '@shared/components/modals/Modal/FormikField'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { AddressErrors, isPostalCodeValid, postalCodeLength } from './EditAddressForm.utils'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport useStyles from './EditAddressForm.style'\r\nimport {\r\n Address,\r\n implodeAddress,\r\n removeDelimiterFromAddressLine1,\r\n} from '@shared/utils/addressParser'\r\nimport { capitalize } from '@shared/utils/stringParser'\r\nimport { ErrorPosition } from '@shared/components/modals/Modal/TextField/TextField'\r\nimport Autocomplete from '@shared/components/Autocomplete'\r\nimport { useEditAddressFormDataSource } from './dataSource'\r\nimport { equals } from 'ramda'\r\n\r\nexport interface IEditAddressFormProps {\r\n title: string\r\n field1: string\r\n field2: string\r\n onSubmit: (values: { field1: string; field2?: string }) => void\r\n onCancel: () => void\r\n submitBtnText?: string\r\n cancelBtnText?: string\r\n compInfo?: string\r\n validate: (values: Address) => AddressErrors\r\n setIsAddressInDatabase: (isAddressInDatabase: boolean) => void\r\n}\r\n\r\nexport const EditAddressForm: React.FC = ({\r\n title,\r\n onSubmit,\r\n onCancel,\r\n submitBtnText,\r\n cancelBtnText,\r\n compInfo,\r\n validate,\r\n field1,\r\n field2,\r\n setIsAddressInDatabase\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n const initialValues =\r\n {\r\n streetName: '',\r\n streetNumber: '',\r\n houseNumber: '',\r\n postalCode: '',\r\n cityName: '',\r\n }\r\n\r\n const {\r\n address: { getAddresses, getStreets },\r\n loading,\r\n cities,\r\n streets,\r\n results,\r\n } = useEditAddressFormDataSource(setIsAddressInDatabase)\r\n\r\n React.useEffect(() => {\r\n getAddresses(initialValues.postalCode ?? '', initialValues.cityName ?? '')\r\n }, [initialValues.postalCode, initialValues.cityName, getAddresses])\r\n\r\n const isFieldChanged = (address: Address) => {\r\n const newAddress = implodeAddress({\r\n cityName: address.cityName?.trim(),\r\n houseNumber: address.houseNumber?.trim(),\r\n postalCode: address.postalCode?.trim(),\r\n streetName: address.streetName?.trim(),\r\n streetNumber: address.streetNumber?.trim(),\r\n })\r\n return !equals({ field1, field2 }, { field1: removeDelimiterFromAddressLine1(newAddress.field1), field2 })\r\n }\r\n\r\n const onFormSubmit = (address: Address) => {\r\n if(cities?.data?.includes(address.cityName ?? '') \r\n && streets?.data?.includes(address.streetName ?? ''))\r\n {\r\n setIsAddressInDatabase(true)\r\n }\r\n else{\r\n setIsAddressInDatabase(false)\r\n }\r\n \r\n onSubmit(implodeAddress({\r\n cityName: address.cityName?.trim(),\r\n houseNumber: address.houseNumber?.trim(),\r\n postalCode: address.postalCode?.trim(),\r\n streetName: address.streetName?.trim(),\r\n streetNumber: address.streetNumber?.trim()\r\n\r\n }))\r\n }\r\n \r\n return (\r\n \r\n {title && (\r\n \r\n {capitalize(title.toLowerCase())}\r\n \r\n )}\r\n \r\n \r\n {({ values, setFieldValue }) => {\r\n return (\r\n
\r\n \r\n \r\n {\r\n setFieldValue('postalCode', event.currentTarget.value)\r\n if (isPostalCodeValid(event.currentTarget.value)) {\r\n getAddresses(\r\n event.currentTarget.value,\r\n values.postalCode ?? ''\r\n )\r\n }\r\n ['cityName', 'streetName', 'streetNumber', 'houseNumber'].every((field: string) => setFieldValue(field, '', true))\r\n }}\r\n />\r\n \r\n \r\n {\r\n return item ?? ''\r\n }}\r\n name=\"cityName\"\r\n carousel={false}\r\n initialValue={values.cityName}\r\n value={values.cityName}\r\n getOptionSelected={(option, value) => {\r\n return option === value\r\n }}\r\n freeSolo={true}\r\n onInputChange={(event, value, reason) => {\r\n setFieldValue('cityName', value)\r\n streets.set(getStreets(value, results))\r\n setFieldValue('streetName', '', true)\r\n setFieldValue('streetNumber', '', true)\r\n setFieldValue('houseNumber', '')\r\n setIsAddressInDatabase(cities?.data?.includes(value) ?? false)\r\n }}\r\n label={t('MY_SETTINGS.ADDRESS.CITY')}\r\n errorPosition={ErrorPosition.Bottom}\r\n classes={{\r\n popper: `${styles.popper} ${styles.popperNarrow}`,\r\n }}\r\n disabled={loading.data}\r\n loading={loading.data}\r\n\r\n />\r\n \r\n \r\n {\r\n return item ?? ''\r\n }}\r\n name=\"streetName\"\r\n onInputChange={(event, value, reason) => {\r\n setFieldValue('streetName', value)\r\n setFieldValue('streetNumber', '', true)\r\n setFieldValue('houseNumber', '')\r\n setIsAddressInDatabase(streets?.data?.includes(value) ?? false)\r\n }}\r\n getOptionSelected={(option, value) => {\r\n return option === value\r\n }}\r\n carousel={false}\r\n freeSolo={true}\r\n initialValue={values.streetName}\r\n value={values.streetName}\r\n label={t('MY_SETTINGS.ADDRESS.STREET')}\r\n errorPosition={ErrorPosition.Bottom}\r\n classes={{\r\n popper: styles.popper,\r\n }}\r\n disabled={loading.data}\r\n loading={loading.data}\r\n\r\n />\r\n \r\n \r\n {\r\n setFieldValue('streetNumber', event.currentTarget.value)\r\n setFieldValue('houseNumber', '')\r\n }}\r\n />\r\n \r\n \r\n {\r\n setFieldValue('houseNumber', event.currentTarget.value)\r\n }}\r\n />\r\n \r\n \r\n \r\n {compInfo !== undefined ? (\r\n
\r\n {compInfo}\r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n }}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport React from 'react'\r\n\r\nexport interface SearchResults {\r\n cityName: string\r\n streets: string[]\r\n}\r\n\r\nexport const useEditAddressFormDataSource = (\r\n setIsAddressInDatabase: (isAddressInDatabase: boolean) => void\r\n) => {\r\n const [loading, setLoading] = React.useState(false)\r\n const [cities, setCities] = React.useState(undefined)\r\n const [streets, setStreets] = React.useState(undefined)\r\n const [results, setResults] = React.useState(\r\n undefined\r\n )\r\n\r\n const getCities = (results: SearchResults[]) => {\r\n return results.map((entry: SearchResults) => entry.cityName)\r\n }\r\n\r\n const getStreets = (city: string, results?: SearchResults[]) => {\r\n if (!results) {\r\n return undefined\r\n }\r\n for (const entry of results) {\r\n if (entry.cityName === city) {\r\n return entry.streets\r\n }\r\n }\r\n return undefined\r\n }\r\n\r\n const [executeGetAddresses] = useApi({\r\n omitCustomerNumber: true,\r\n config: {\r\n method: 'get',\r\n },\r\n })\r\n\r\n const getAddresses = React.useCallback(\r\n (postalCode: string, city: string) => {\r\n setLoading(true)\r\n executeGetAddresses({ url: `Address/${postalCode}` })\r\n .then(response => {\r\n if (response.status === 404) {\r\n setResults(undefined)\r\n setCities(undefined)\r\n setStreets(undefined)\r\n setIsAddressInDatabase(false)\r\n }\r\n const addresses = response.data\r\n setResults(addresses)\r\n setCities(getCities(addresses))\r\n setStreets(city ? getStreets(city, addresses) : undefined)\r\n setIsAddressInDatabase(true)\r\n })\r\n .catch(() => {\r\n setCities(undefined)\r\n setStreets(undefined)\r\n setIsAddressInDatabase(false)\r\n })\r\n setLoading(false)\r\n },\r\n [executeGetAddresses, setIsAddressInDatabase]\r\n )\r\n\r\n return {\r\n address: {\r\n getAddresses,\r\n getCities,\r\n getStreets,\r\n },\r\n loading: {\r\n data: loading,\r\n set: setLoading,\r\n },\r\n cities: {\r\n data: cities,\r\n set: setCities,\r\n },\r\n streets: {\r\n data: streets,\r\n set: setStreets,\r\n },\r\n results,\r\n }\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport const MFA_MODAL_WIDTH = 820\r\nexport const MFA_MODAL_HEIGHT = 720\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n '&:not(:first-child)': {\r\n paddingLeft: theme.spacing(15),\r\n },\r\n '&:not(:last-child)': {\r\n paddingRight: theme.spacing(15),\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n paddingTop: theme.spacing(10.5),\r\n paddingBottom: theme.spacing(12),\r\n },\r\n contentWrapper: {\r\n width: 'auto',\r\n overflowY: 'visible',\r\n boxSizing: 'border-box',\r\n paddingLeft: theme.spacing(15),\r\n paddingRight: theme.spacing(15),\r\n paddingTop: theme.spacing(10.5),\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n },\r\n input: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '0 16px 0 20px',\r\n height: '50px',\r\n border: '1.7px solid #D3CFCF',\r\n borderRadius: '7px',\r\n backgroundColor: '#f9f9f9',\r\n color: theme.palette.text.secondary,\r\n fontSize: 16,\r\n fontWeight: 600,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '25px',\r\n overflow: 'hidden',\r\n transition: 'border 0.2s ease-in-out',\r\n },\r\n error: {\r\n border: `1.7px solid ${theme.palette.error.main}`,\r\n },\r\n titlesAndButton: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-start',\r\n },\r\n\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(2),\r\n },\r\n paragraph: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n paragraphBold: {\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n buttonsWrapper: {\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n secondField: {\r\n marginTop: theme.spacing(5),\r\n },\r\n spacer: {\r\n width: '100%',\r\n height: 1.8,\r\n backgroundColor: '#5F76FD1A',\r\n marginTop: theme.spacing(6),\r\n marginBottom: theme.spacing(4),\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(0, 16),\r\n },\r\n messageWrapper: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n changeButton: {\r\n textDecoration: 'none',\r\n border: 'none',\r\n backgroundColor: 'transparent',\r\n color: theme.palette.primary.main,\r\n padding: 0,\r\n marginTop: '2px',\r\n fontSize: 13,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.09px',\r\n outline: 'none',\r\n cursor: 'pointer',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n label: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n alignItems: 'left',\r\n textAlign: 'left',\r\n minHeight: '17px',\r\n margin: '0 0 4px 20px',\r\n '& p': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n gap: '3.5px',\r\n marginRight: '8px',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.text.primary,\r\n letterSpacing: '0.08px',\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n '& span': {\r\n opacity: 0.25,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 10,\r\n },\r\n },\r\n },\r\n '& div > p': {\r\n margin: 0,\r\n fontSize: 12,\r\n color: theme.palette.error.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '16px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n marginLeft: 0,\r\n },\r\n },\r\n modalWrapper: {\r\n width: `${MFA_MODAL_WIDTH}px !important`,\r\n maxWidth: '90vw',\r\n maxHeight: `${MFA_MODAL_HEIGHT}px`,\r\n [theme.breakpoints.down('sm')]: {\r\n overflowY: 'auto',\r\n },\r\n },\r\n numericInput: {\r\n '& > div > input[type=\"number\"]': {\r\n '&::-webkit-inner-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '&::-webkit-outer-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '-moz-appearance': 'textfield',\r\n },\r\n },\r\n textDanger: {\r\n color: \"#D22454\"\r\n }\r\n}))\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { eInvoiceModalHeight } from '@shared/components/forms/eInvoice/style'\r\nexport const eInvoiceModalWidth = 720\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n modalWrapper: {\r\n width: `${eInvoiceModalWidth}px !important`,\r\n maxHeight: `${eInvoiceModalHeight}px`,\r\n },\r\n}))\r\n","import { userAccountActions } from './userAccount'\r\n\r\nexport const {\r\n refreshContactPhoneNumber,\r\n refreshCorrespondenceEmail,\r\n refreshMainAddress,\r\n refreshCorrespondenceAddress,\r\n} = userAccountActions\r\n","import React from 'react'\r\nimport useModalFormStyles from '@mbok/styles/modalForm'\r\nimport { Grid, Typography } from '@material-ui/core'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport { MeasurementPointListItem } from '@shared/contracts/measurementPointListItem'\r\nimport Carousel from '@shared/components/Carousel'\r\nimport useEInvoiceStyles from '@shared/components/forms/eInvoice/style'\r\nimport SelectedMeasurementPoint from '@shared/components/forms/eInvoice/SelectedMeasurementPoint'\r\nimport Actions from '@shared/components/Actions'\r\n\r\ninterface Classes {\r\n carouselOuterWrapper?: string\r\n carouselInnerWrapper?: string\r\n}\r\n\r\ninterface UpdateLinkedInvoicesProps {\r\n measurementPoints: MeasurementPointListItem[]\r\n oldEmail: string\r\n classes?: Classes\r\n stringify: (point: MeasurementPointListItem) => string\r\n onSubmit: () => void\r\n onCancel: () => void\r\n}\r\n\r\nexport const UpdateLinkedInvoices: React.FC = ({\r\n measurementPoints,\r\n oldEmail,\r\n classes = {},\r\n stringify,\r\n onSubmit,\r\n onCancel,\r\n}) => {\r\n const formStyles = useModalFormStyles()\r\n const { t } = useTranslation()\r\n const eInvoiceStyles = useEInvoiceStyles()\r\n\r\n return (\r\n \r\n \r\n {t('MY_SETTINGS.MY_PAYER_DATA.NEW_CONTACT_EMAIL')}\r\n \r\n
\r\n
\r\n \r\n The previous e-mail address\r\n {{ oldEmail: oldEmail }} is also used to send e-invoices for one or\r\n more of your contracts.\r\n \r\n
\r\n
\r\n \r\n {measurementPoints.map((option: MeasurementPointListItem) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n If you only want to change your contact e-mail address and still\r\n receive e-invoices to {{ oldEmail }}, use the \"\r\n {{ doNotChangeLabel: t('DO_NOT_CHANGE') }}\" button.\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nconst ICON_SIZE = 24\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n title: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: 19,\r\n margin: theme.spacing(7, 0, 3),\r\n paddingTop: theme.spacing(7),\r\n borderTop: '1.8px solid #5F76FD1A',\r\n '& b': {\r\n marginRight: theme.spacing(2),\r\n fontWeight: 700,\r\n color: tableTextColor,\r\n },\r\n },\r\n icon: {\r\n height: ICON_SIZE,\r\n width: ICON_SIZE,\r\n minWidth: ICON_SIZE,\r\n minHeight: ICON_SIZE,\r\n marginRight: theme.spacing(4),\r\n fill: theme.palette.primary.main,\r\n },\r\n table: {\r\n margin: 0,\r\n minWidth: 920,\r\n borderRadius: '8px',\r\n '& .MuiTableCell-root': {\r\n border: 0,\r\n },\r\n '& .MuiTableCell-body': {\r\n alignItems: 'center',\r\n padding: theme.spacing(3, 1),\r\n [theme.breakpoints.down('xs')]: {\r\n padding: theme.spacing(3, 1, 2, 1),\r\n },\r\n },\r\n },\r\n tableCell: {\r\n color: tableTextColor + colorOpacityParser(75),\r\n fontSize: 16,\r\n letterSpacing: '0.61px',\r\n lineHeight: '20px',\r\n },\r\n deleteButton: {\r\n cursor: 'pointer',\r\n },\r\n loader: {\r\n marginTop: theme.spacing(3),\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n },\r\n}))\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Delete\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"usun\",\n transform: \"translate(2.5, 0.5)\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.58,2.65 L11.11,2.65 L11.11,1.22 C11.0834054,0.896405366 10.8042231,0.652674723 10.48,0.67 L5.84,0.67 C5.51577694,0.652674723 5.23659457,0.896405366 5.21,1.22 L5.21,2.65 L1.74,2.65 C1.41200249,2.62700249 1.12659498,2.87227457 1.1,3.2 L1.1,5.26 C1.13169607,5.58372035 1.41556241,5.82323257 1.74,5.8 L1.93,5.8 L2.51,16.88 C2.54664986,17.194191 2.82455846,17.4235759 3.14,17.4 L13.14,17.4 C13.452193,17.4136213 13.7241919,17.1891142 13.77,16.88 L14.39,5.8 L14.58,5.8 C14.9024824,5.82301316 15.1834216,5.58220818 15.21,5.26 L15.21,3.2 C15.1834054,2.87640537 14.9042231,2.63267472 14.58,2.65 Z\",\n id: \"Path\",\n fill: \"#48A9A1\",\n opacity: 0.2\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.68,3.31 L10.21,3.31 L10.21,1.88 C10.183405,1.55227457 9.89799751,1.30700249 9.57,1.33 L4.94,1.33 C4.61200249,1.30700249 4.32659498,1.55227457 4.3,1.88 L4.3,3.31 L0.83,3.31 C0.505776939,3.29267472 0.226594567,3.53640537 0.2,3.86 L0.2,5.92 C0.226578423,6.24220818 0.507517573,6.48301316 0.83,6.46 L1,6.46 L1.58,17.54 C1.61664986,17.854191 1.89455846,18.0835759 2.21,18.06 L12.21,18.06 C12.5259293,18.078945 12.8038713,17.8531172 12.85,17.54 L13.42,6.46 L13.62,6.46 C13.9424824,6.48301316 14.2234216,6.24220818 14.25,5.92 L14.25,3.86 C14.2251994,3.55948186 13.981212,3.32405538 13.68,3.31 Z M5.57,2.42 L8.94,2.42 L8.94,3.31 L5.57,3.31 L5.57,2.42 Z M11.67,17 L2.84,17 L2.29,6.46 L12.22,6.46 L11.67,17 Z M13,5.37 L1.47,5.37 L1.47,4.37 L13,4.37 L13,5.37 Z\",\n id: \"Shape\",\n fill: \"#565250\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.71,15.64 C5.03422306,15.6573253 5.31340543,15.4135946 5.34,15.09 L5.34,8.34 C5.31340543,8.01640537 5.03422306,7.77267472 4.71,7.79 C4.38200249,7.76700249 4.09659498,8.01227457 4.07,8.34 L4.07,15.09 C4.09659498,15.4177254 4.38200249,15.6629975 4.71,15.64 L4.71,15.64 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.26,15.64 C7.58422306,15.6573253 7.86340543,15.4135946 7.89,15.09 L7.89,8.34 C7.84975512,8.0199305 7.57758974,7.7798436 7.255,7.7798436 C6.93241026,7.7798436 6.66024488,8.0199305 6.62,8.34 L6.62,15.09 C6.64659498,15.4177254 6.93200249,15.6629975 7.26,15.64 L7.26,15.64 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.8,15.64 C10.1279975,15.6629975 10.413405,15.4177254 10.44,15.09 L10.44,8.34 C10.413405,8.01227457 10.1279975,7.76700249 9.8,7.79 C9.47577694,7.77267472 9.19659457,8.01640537 9.17,8.34 L9.17,15.09 C9.19659457,15.4135946 9.47577694,15.6573253 9.8,15.64 L9.8,15.64 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n})));\n\nvar SvgDelete = function SvgDelete(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDelete, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Delete.844c3bf0.svg\";\nexport { ForwardRef as ReactComponent };","export interface EnableMFAFormProps {\r\n mainEmail: string | undefined\r\n mainPhoneNumber: string | undefined\r\n mainPhonePrefix: string | undefined\r\n onCancel: () => void\r\n showErrorModal: () => void\r\n}\r\n\r\nexport enum MFAModalView {\r\n INTRODUCTION = 'INTRODUCTION',\r\n MFA_CHANNEL = 'MFA_CHANNEL',\r\n PHONE_INPUT = 'PHONE_INPUT',\r\n EMAIL_INPUT = 'EMAIL_INPUT',\r\n ACIVATION_CODE = 'ACIVATION_CODE',\r\n}\r\n\r\nexport interface InitialFieldsType {\r\n [key: string]: string | boolean | string[]\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\n\r\nexport const trustedMfaDevicesSelector = (state: RootState) =>\r\n state.trustedMfaDevices\r\n\r\nexport const trustedMfaDevicesLoadingSelector = createSelector(\r\n trustedMfaDevicesSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const selectTrustedMfaDevices = createSelector(\r\n trustedMfaDevicesSelector,\r\n state => state.devices\r\n)\r\n","import React, { useEffect } from 'react'\r\nimport {\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableRow,\r\n CircularProgress,\r\n Fade,\r\n Typography,\r\n} from '@material-ui/core'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { format, parseISO } from 'date-fns'\r\n\r\nimport useStyles from './DevicesList.style'\r\nimport { ReactComponent as DocumentsSvg } from '@images/icons/mySettings/Documents.svg'\r\nimport { ReactComponent as DeleteSvg } from '@images/icons/mySettings/Delete.svg'\r\nimport { Button } from '@shared/components/Button'\r\nimport { TableCellContent } from '@shared/components/TableCell'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport {\r\n getTrustedMfaDevices,\r\n removeTrustedMfaDevice,\r\n} from '@core/store/trustedMfaDevices/trustedMfaDevicesThunk'\r\nimport {\r\n selectTrustedMfaDevices,\r\n trustedMfaDevicesLoadingSelector,\r\n} from '@core/store/trustedMfaDevices/trustedMfaDevicesSelectors'\r\n\r\nconst DevicesList = () => {\r\n const styles = useStyles()\r\n const dispatch = useAppDispatch()\r\n const { t } = useTranslation()\r\n\r\n const devices = useAppSelector(selectTrustedMfaDevices)\r\n const loadingDevices = useAppSelector(trustedMfaDevicesLoadingSelector)\r\n\r\n useEffect(() => {\r\n dispatch(getTrustedMfaDevices())\r\n }, [dispatch])\r\n\r\n const handleRemoveDevices = (id: number) => {\r\n dispatch(removeTrustedMfaDevice({ id }))\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.LIST_OF_TRUSTED_MFA_DEVICES')}\r\n
\r\n \r\n {loadingDevices ? (\r\n \r\n
\r\n {loadingDevices && }\r\n
\r\n
\r\n ) : devices.length < 1 ? (\r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_DEVICES_LIST_EMPTY')}\r\n \r\n ) : (\r\n \r\n \r\n {devices.map((device, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleRemoveDevices(device.id)}\r\n >\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n )}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DevicesList\r\n","import React from 'react'\r\nimport { isValidPhoneNumber } from 'react-phone-number-input'\r\nimport { InitialFieldsType, MFAModalView } from './EnableMFAForm.types'\r\n\r\nexport const mfaChannels = [\r\n { value: 'Sms', name: 'Telefon' },\r\n { value: 'Email', name: 'E-Mail' },\r\n]\r\n\r\nexport const validateFormFields = (\r\n values: InitialFieldsType,\r\n mfaModalView: MFAModalView\r\n) => {\r\n const errors: Partial = {}\r\n if (\r\n mfaModalView === MFAModalView.MFA_CHANNEL &&\r\n values.MFAContactType === ''\r\n ) {\r\n errors.MFAContactType = 'Wybierz kanał komunikacji dla MFA'\r\n }\r\n if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(String(values.Email)) &&\r\n values.MFAContactType === mfaChannels[1].value\r\n ) {\r\n errors.Email = 'Wpisz poprawny adres e-mail'\r\n }\r\n if (values.MFAContactType === mfaChannels[0].value) {\r\n if (\r\n values.Phone === '' ||\r\n !isValidPhoneNumber(`${values.PhonePrefix}${values.Phone}`) ||\r\n values.Phone.toString().length < 9\r\n ) {\r\n errors.Phone = 'Wpisz poprawny numer telefonu'\r\n }\r\n }\r\n if (\r\n mfaModalView === MFAModalView.ACIVATION_CODE &&\r\n values.MfaCode.toString().length !== 6\r\n ) {\r\n errors.MfaCode = 'Wpisz poprawny kod aktywacji MFA'\r\n }\r\n if (values.RememberDevice) {\r\n if (values.DeviceName.toString().length < 1) {\r\n errors.DeviceName = 'Podaj nazwę urządzenia do zapamiętania'\r\n }\r\n }\r\n return errors\r\n}\r\n\r\nexport const mfaHelper: JSX.Element = (\r\n \r\n Czym jest MFA (Multi Factor Authentication)?
\r\n Jest to wieloskładnikowe uwierzytelnienie (weryfikacja) Użytkownika podczas\r\n logowania i innych wrażliwych czynnościach wykonywanych w aplikacji.\r\n Uwierzytelnienie Użytkownika następuje na podstawie znajomości loginu, hasła\r\n oraz dodatkowego kodu otrzymywanego drogą mailową lub w wiadomości SMS, w\r\n zależności od wybranego przez Użytkownika kanału komunikacji\r\n
\r\n
\r\n Jak to działa?
\r\n Podczas logowania (następującego po aktywacji MFA) po podaniu adresu e-mail\r\n i hasła wymagane będzie wpisanie 6-cyfrowego kodu uwierzytelniającego. Kod\r\n ten zostanie dostarczony drogą mailową lub w wiadomości SMS. Podczas\r\n wprowadzania kodu istnieje możliwość zapamiętania urządzenia, na którym\r\n wprowadzono kod. Pozwoli to na logowanie na tym urządzeniu bez użycia MFA\r\n przez 6 kolejnych miesięcy.\r\n
\r\n)\r\n","import { MfaContactType } from '@shared/contracts/mfaContactType'\r\n\r\nexport interface ModifyMFAFormProps {\r\n mfaContactType: MfaContactType | undefined\r\n mainEmail: string | undefined\r\n mainPhoneNumber: string | undefined\r\n mainPhonePrefix: string | undefined\r\n onCancel: () => void\r\n showUnexpectedErrorModal: () => void\r\n openEditMainPhoneForm: () => void\r\n}\r\n\r\nexport enum MFAModalView {\r\n INTRODUCTION = 'INTRODUCTION',\r\n PHONE_INPUT = 'PHONE_INPUT',\r\n EMAIL_INPUT = 'EMAIL_INPUT',\r\n MFA_CODE = 'MFA_CODE',\r\n PHONE_WARNING = 'PHONE_WARNING',\r\n}\r\n\r\nexport interface InitialFieldsType {\r\n MFAContactType: MfaContactType\r\n Email: string\r\n Phone: string\r\n PhonePrefix: string\r\n MfaCode: string\r\n}\r\n","import { makeStyles } from '@material-ui/core'\r\n\r\nexport default makeStyles(theme => ({\r\n titlesAndButton: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-start',\r\n },\r\n label: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n alignItems: 'left',\r\n textAlign: 'left',\r\n minHeight: '17px',\r\n margin: '0 0 4px 20px',\r\n '& p': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n gap: '3.5px',\r\n marginRight: '8px',\r\n fontSize: 12,\r\n fontWeight: 800,\r\n color: theme.palette.text.primary,\r\n letterSpacing: '0.08px',\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n '& span': {\r\n opacity: 0.25,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 10,\r\n },\r\n },\r\n },\r\n '& div > p': {\r\n margin: 0,\r\n fontSize: 12,\r\n color: theme.palette.error.main,\r\n fontWeight: theme.typography.fontWeightBold,\r\n\r\n [theme.breakpoints.down('xs')]: {\r\n margin: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n marginLeft: '16px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n marginLeft: 0,\r\n },\r\n },\r\n changeButton: {\r\n textDecoration: 'none',\r\n border: 'none',\r\n backgroundColor: 'transparent',\r\n color: theme.palette.primary.main,\r\n padding: 0,\r\n marginTop: '2px',\r\n fontSize: 13,\r\n fontWeight: theme.typography.fontWeightBold,\r\n letterSpacing: '0.09px',\r\n outline: 'none',\r\n cursor: 'pointer',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n}))\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Collapse } from '@material-ui/core'\r\n\r\nimport useStyles from './LabeledField.styles'\r\nimport { LabeledFieldProps } from './LabeledField.types'\r\n\r\nconst LabeledField = ({\r\n title,\r\n handleBackButton,\r\n errorMsg,\r\n touched,\r\n children,\r\n}: LabeledFieldProps) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n

{title}

\r\n \r\n

{errorMsg}

\r\n
\r\n
\r\n {handleBackButton ? (\r\n handleBackButton()}\r\n >\r\n {t('CHANGE').toUpperCase()}\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default LabeledField\r\n","import React, { useState } from 'react'\r\nimport { Collapse, Grid, Typography, DialogContent } from '@material-ui/core'\r\nimport { Form, Formik } from 'formik'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { isEmpty, isNil } from 'ramda'\r\n\r\nimport useStyles from './EnableMFAForm.style'\r\nimport { useAppDispatch } from '@core/store/store'\r\nimport {\r\n EnableMFAFormProps,\r\n InitialFieldsType,\r\n MFAModalView,\r\n} from './EnableMFAForm.types'\r\nimport {\r\n mfaChannels,\r\n mfaHelper,\r\n validateFormFields,\r\n} from './EnableMFAForm.utils'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport { SelectiveButtons } from '@shared/components/SelectiveButtons/SelectiveButtons'\r\nimport { Input } from '@shared/components/Input'\r\nimport PhoneNumberInput from '@shared/components/PhoneNumberInput/PhoneNumberInput'\r\nimport {\r\n enableMfa,\r\n enableMfaVerification,\r\n getUserAccount,\r\n} from '@core/store/user/userAccountThunks'\r\nimport LabeledField from '@shared/components/InputWrapper/LabeledField'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport { ResponseWithError } from '@shared/contracts/responseWithError'\r\n\r\nexport const EnableMFAForm: React.FC = ({\r\n onCancel,\r\n mainEmail,\r\n mainPhoneNumber,\r\n mainPhonePrefix,\r\n showErrorModal,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n const dispatch = useAppDispatch()\r\n const [mfaModalView, setMfaModalView] = useState(\r\n MFAModalView.INTRODUCTION\r\n )\r\n\r\n const initialValues = {\r\n MFAContactType: '',\r\n Email: mainEmail ?? '',\r\n Phone: mainPhoneNumber ?? '',\r\n PhonePrefix: mainPhonePrefix ?? '+48',\r\n MfaCode: '',\r\n }\r\n\r\n const handleOnCancel = () => {\r\n onCancel()\r\n setMfaModalView(MFAModalView.INTRODUCTION)\r\n }\r\n\r\n const handleSelectContactType = (option: string) => {\r\n option === mfaChannels[0].value\r\n ? setMfaModalView(MFAModalView.PHONE_INPUT)\r\n : setMfaModalView(MFAModalView.EMAIL_INPUT)\r\n }\r\n\r\n const handleKeyPress = (\r\n e: React.KeyboardEvent,\r\n values: InitialFieldsType,\r\n validateForm: (values: {}, mfaModalView: MFAModalView) => {},\r\n submitForm: (() => Promise) & (() => Promise),\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n if (e.key === 'Enter') {\r\n e.preventDefault()\r\n handleMfaActivation(values, validateForm, submitForm, setFieldError)\r\n }\r\n }\r\n\r\n const verifyAndSendToken = async (\r\n values: InitialFieldsType,\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n const res = await dispatch(\r\n enableMfaVerification({\r\n mfaContactType: String(values.MFAContactType),\r\n phoneNumber:\r\n values.MFAContactType === mfaChannels[0].value ||\r\n String(values.Phone).length\r\n ? String(values.Phone)\r\n : null,\r\n phonePrefix:\r\n values.MFAContactType === mfaChannels[0].value ||\r\n String(values.Phone).length\r\n ? String(values.PhonePrefix)\r\n : null,\r\n })\r\n )\r\n if ((res as ResponseWithError).error?.message) {\r\n mfaModalView === MFAModalView.EMAIL_INPUT &&\r\n setFieldError('Email', (res as ResponseWithError).error!.message)\r\n mfaModalView === MFAModalView.PHONE_INPUT &&\r\n setFieldError('Phone', (res as ResponseWithError).error!.message)\r\n }\r\n if (res.type.includes('rejected')) {\r\n showErrorModal()\r\n } else {\r\n setMfaModalView(MFAModalView.ACIVATION_CODE)\r\n }\r\n }\r\n\r\n const handleMfaActivation = async (\r\n values: InitialFieldsType,\r\n validateForm: (values: {}, mfaModalView: MFAModalView) => {},\r\n submitForm: (() => Promise) & (() => Promise),\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n const validate = validateForm(values, mfaModalView)\r\n switch (mfaModalView) {\r\n case MFAModalView.INTRODUCTION:\r\n setMfaModalView(MFAModalView.MFA_CHANNEL)\r\n break\r\n case MFAModalView.MFA_CHANNEL:\r\n submitForm()\r\n break\r\n case MFAModalView.EMAIL_INPUT:\r\n case MFAModalView.PHONE_INPUT:\r\n submitForm()\r\n if (isEmpty(validate)) {\r\n await verifyAndSendToken(values, setFieldError)\r\n }\r\n break\r\n case MFAModalView.ACIVATION_CODE:\r\n submitForm()\r\n if (isEmpty(validate)) {\r\n const res = await dispatch(\r\n enableMfa({\r\n mfaContactType: String(values.MFAContactType),\r\n mfaCode: String(values.MfaCode),\r\n phoneNumber:\r\n values.MFAContactType === mfaChannels[0].value ||\r\n String(values.Phone).length\r\n ? String(values.Phone)\r\n : null,\r\n phonePrefix:\r\n values.MFAContactType === mfaChannels[0].value ||\r\n String(values.Phone).length\r\n ? String(values.PhonePrefix)\r\n : null,\r\n })\r\n )\r\n if ((res as ResponseWithError).error?.message) {\r\n setFieldError('MfaCode', (res as ResponseWithError).error!.message)\r\n } else {\r\n dispatch(getUserAccount())\r\n handleOnCancel()\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_ACTIVATION_SUCCESS'),\r\n })\r\n )\r\n }\r\n }\r\n break\r\n }\r\n }\r\n\r\n return (\r\n validateFormFields(values, mfaModalView)}\r\n onSubmit={() => {}}\r\n enableReinitialize\r\n >\r\n {({\r\n values,\r\n errors,\r\n setFieldValue,\r\n setTouched,\r\n touched,\r\n submitForm,\r\n resetForm,\r\n setFieldError,\r\n }) => {\r\n return (\r\n
\r\n \r\n \r\n {mfaModalView === MFAModalView.ACIVATION_CODE\r\n ? t('MY_SETTINGS.MY_ACCOUNT_DATA.ENTER_MFA_ACTIVATION_CODE')\r\n : t('MY_SETTINGS.MY_ACCOUNT_DATA.SELECT_MFA_PATH')}\r\n \r\n \r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.WHAT_IS_MFA')}\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.WHAT_IS_MFA_CONTENT')}\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.HOW_MFA_WORKS')}\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.HOW_MFA_WORKS_CONTENT')}\r\n \r\n \r\n\r\n \r\n {\r\n resetForm()\r\n handleSelectContactType(option)\r\n }}\r\n helper={{\r\n content: mfaHelper,\r\n }}\r\n />\r\n \r\n\r\n \r\n {\r\n setFieldValue('MFAContactType', '')\r\n setMfaModalView(MFAModalView.MFA_CHANNEL)\r\n }}\r\n errorMsg={errors?.Phone}\r\n touched={touched['Phone']}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n setFieldValue('MFAContactType', '')\r\n setMfaModalView(MFAModalView.MFA_CHANNEL)\r\n }}\r\n errorMsg={errors?.Email}\r\n touched={touched['Email']}\r\n >\r\n \r\n setFieldValue('Email', e.target.value)}\r\n onBlur={() => setTouched({ Email: true })}\r\n disabled={!isNil(mainEmail)}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n setFieldValue('MfaCode', e.target.value)}\r\n onBlur={() => setTouched({ MfaCode: true })}\r\n onKeyPress={e =>\r\n handleKeyPress(\r\n e,\r\n values,\r\n validateFormFields,\r\n submitForm,\r\n setFieldError\r\n )\r\n }\r\n className={styles.numericInput}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_CAUTION')}\r\n \r\n \r\n\r\n
\r\n \r\n {mfaModalView === MFAModalView.ACIVATION_CODE && (\r\n {\r\n setFieldValue('MfaCode', '')\r\n setFieldError('MfaCode', '')\r\n verifyAndSendToken(values, setFieldError)\r\n }}\r\n >\r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_RESEND_TOKEN')}\r\n \r\n )}\r\n {\r\n handleMfaActivation(\r\n values,\r\n validateFormFields,\r\n submitForm,\r\n setFieldError\r\n )\r\n }}\r\n >\r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.ACTIVATE_MFA')}\r\n \r\n
\r\n \r\n \r\n )\r\n }}\r\n \r\n )\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\n\r\nexport const userAccountSelector = (state: RootState) => state.userAccount\r\n\r\nexport const getAccessToken = createSelector(\r\n userAccountSelector,\r\n state => state.accessToken\r\n)\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n '&:not(:first-child)': {\r\n paddingLeft: theme.spacing(15),\r\n },\r\n '&:not(:last-child)': {\r\n paddingRight: theme.spacing(15),\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n paddingTop: theme.spacing(10.5),\r\n paddingBottom: theme.spacing(12),\r\n },\r\n contentWrapper: {\r\n width: 'auto',\r\n boxSizing: 'border-box',\r\n paddingLeft: theme.spacing(15),\r\n paddingRight: theme.spacing(15),\r\n paddingTop: theme.spacing(10.5),\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n },\r\n },\r\n input: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '0 16px 0 20px',\r\n height: '50px',\r\n border: '1.7px solid #D3CFCF',\r\n borderRadius: '7px',\r\n backgroundColor: '#f9f9f9',\r\n color: theme.palette.text.secondary,\r\n fontSize: 16,\r\n fontWeight: 600,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '25px',\r\n overflow: 'hidden',\r\n transition: 'border 0.2s ease-in-out',\r\n },\r\n error: {\r\n border: `1.7px solid ${theme.palette.error.main}`,\r\n },\r\n titlesAndButton: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-start',\r\n },\r\n\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(2),\r\n },\r\n paragraph: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n paragraphBold: {\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n buttonsWrapper: {\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n spacer: {\r\n width: '100%',\r\n height: 1.8,\r\n backgroundColor: '#5F76FD1A',\r\n marginTop: theme.spacing(6),\r\n marginBottom: theme.spacing(4),\r\n },\r\n numericInput: {\r\n '& > div > input[type=\"number\"]': {\r\n '&::-webkit-inner-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '&::-webkit-outer-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '-moz-appearance': 'textfield',\r\n },\r\n },\r\n}))\r\n","import { isValidPhoneNumber } from 'react-phone-number-input'\r\nimport { InitialFieldsType, MFAModalView } from './ModifyMFAForm.types'\r\nimport { MfaContactType } from '@shared/contracts/mfaContactType'\r\n\r\nexport const mfaChannels = [\r\n { value: 'Sms', name: 'Telefon' },\r\n { value: 'Email', name: 'E-Mail' },\r\n]\r\n\r\nexport const validateFormFields = (\r\n values: InitialFieldsType,\r\n mfaModalView: MFAModalView\r\n) => {\r\n const errors: Partial = {}\r\n if (\r\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(String(values.Email)) &&\r\n values.MFAContactType === mfaChannels[1].value\r\n ) {\r\n errors.Email = 'Wpisz poprawny adres e-mail'\r\n }\r\n if (values.MFAContactType === mfaChannels[0].value) {\r\n if (\r\n values.Phone === '' ||\r\n !isValidPhoneNumber(`${values.PhonePrefix}${values.Phone}`) ||\r\n values.Phone.toString().length < 9\r\n ) {\r\n errors.Phone = 'Wpisz poprawny numer telefonu'\r\n }\r\n }\r\n if (\r\n mfaModalView === MFAModalView.MFA_CODE &&\r\n values.MfaCode.toString().length !== 6\r\n ) {\r\n errors.MfaCode = 'Wpisz poprawny kod aktywacji MFA'\r\n }\r\n return errors\r\n}\r\n\r\nexport const returnNewMfaContactType = (\r\n mfaContactType: MfaContactType | undefined\r\n): MfaContactType => {\r\n return mfaContactType === MfaContactType.Email\r\n ? MfaContactType.Sms\r\n : MfaContactType.Email\r\n}\r\n","import { MfaContactType } from '@shared/contracts/mfaContactType'\r\n\r\nexport interface EditMainPhoneFormProps {\r\n onCancel: () => void\r\n showUnexpectedErrorModal: () => void\r\n mainPhoneNumber: string | undefined\r\n mainPhonePrefix: string | undefined\r\n isMfaEnabled: boolean | undefined\r\n mfaContactType: MfaContactType | undefined\r\n openModifyMfaForm: () => void\r\n}\r\n\r\nexport enum EditPhoneModalView {\r\n INTRODUCTION = 'INTRODUCTION',\r\n PHONE_INPUT = 'PHONE_INPUT',\r\n MFA_CODE = 'MFA_CODE',\r\n}\r\n\r\nexport interface InitialFieldsType {\r\n Phone: string\r\n PhonePrefix: string\r\n MfaCode: string\r\n}\r\n","import React, { useCallback, useState } from 'react'\r\nimport { Collapse, Grid, Typography, DialogContent } from '@material-ui/core'\r\nimport { Form, Formik } from 'formik'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { isEmpty, isNil } from 'ramda'\r\n\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { getAccessToken } from '@core/store/user/userAccountSelectors'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport {\r\n getUserAccount,\r\n mfaContactTypeChangeFirstStep,\r\n mfaContactTypeChangeSecondStep,\r\n mfaContactTypeChangeThirdStep,\r\n} from '@core/store/user/userAccountThunks'\r\nimport { userAccountActions } from '@core/store/user/userAccount'\r\nimport useStyles from './ModifyMFAForm.style'\r\nimport {\r\n ModifyMFAFormProps,\r\n InitialFieldsType,\r\n MFAModalView,\r\n} from './ModifyMFAForm.types'\r\nimport {\r\n returnNewMfaContactType,\r\n validateFormFields,\r\n} from './ModifyMFAForm.utils'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport { Input } from '@shared/components/Input'\r\nimport PhoneNumberInput from '@shared/components/PhoneNumberInput/PhoneNumberInput'\r\nimport LabeledField from '@shared/components/InputWrapper/LabeledField'\r\nimport { MfaContactType } from '@shared/contracts/mfaContactType'\r\nimport { ResponseWithError } from '@shared/contracts/responseWithError'\r\nimport { getTrustedMfaDevices } from '@core/store/trustedMfaDevices/trustedMfaDevicesThunk'\r\nimport { uiActions } from '@core/store/ui/ui'\r\n\r\nexport const ModifyMFAForm: React.FC = ({\r\n onCancel,\r\n mfaContactType,\r\n mainEmail,\r\n mainPhoneNumber,\r\n mainPhonePrefix,\r\n showUnexpectedErrorModal,\r\n openEditMainPhoneForm,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n const dispatch = useAppDispatch()\r\n const accessToken = useAppSelector(getAccessToken)\r\n const [mfaModalView, setMfaModalView] = useState(\r\n MFAModalView.INTRODUCTION\r\n )\r\n const [isNewContactType, setIsNewContactType] = useState(false)\r\n\r\n const initialValues = {\r\n MFAContactType:\r\n mfaContactType === MfaContactType.Email\r\n ? MfaContactType.Sms\r\n : MfaContactType.Email,\r\n Email: mainEmail ?? '',\r\n Phone: mainPhoneNumber ?? '',\r\n PhonePrefix: mainPhonePrefix ?? '+48',\r\n MfaCode: '',\r\n }\r\n\r\n const showErrorModal = useCallback(\r\n (message: string) => {\r\n dispatch(\r\n showModal({\r\n type: 'error',\r\n title: t('MODAL_MESSAGES.SORRY'),\r\n subtitle: message,\r\n withCancelButton: true,\r\n withSubmitButton: true,\r\n onSubmit: () => {\r\n dispatch(\r\n showModal({\r\n type: 'report',\r\n })\r\n )\r\n },\r\n })\r\n )\r\n },\r\n [dispatch, t]\r\n )\r\n\r\n const handleOnCancel = () => {\r\n dispatch(userAccountActions.resetAccessToken)\r\n onCancel()\r\n setMfaModalView(MFAModalView.INTRODUCTION)\r\n }\r\n\r\n const handleKeyPress = (\r\n e: React.KeyboardEvent,\r\n values: InitialFieldsType,\r\n validateForm: (values: InitialFieldsType, mfaModalView: MFAModalView) => {},\r\n submitForm: (() => Promise) & (() => Promise),\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n if (e.key === 'Enter') {\r\n handleChangeMfaContactType(\r\n values,\r\n validateForm,\r\n submitForm,\r\n setFieldError\r\n )\r\n }\r\n }\r\n\r\n const handleFirstStep = async () => {\r\n if (!isNil(mainPhoneNumber)) {\r\n const res = await dispatch(mfaContactTypeChangeFirstStep())\r\n if ((res as ResponseWithError).error?.message) {\r\n showErrorModal((res as ResponseWithError).error!.message)\r\n }\r\n if (res.type.includes('rejected')) {\r\n showUnexpectedErrorModal()\r\n } else {\r\n setMfaModalView(MFAModalView.MFA_CODE)\r\n }\r\n } else {\r\n setMfaModalView(MFAModalView.PHONE_WARNING)\r\n }\r\n }\r\n\r\n const handleSecondStep = async (\r\n values: InitialFieldsType,\r\n newMfaContactType: MfaContactType,\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n const res = await dispatch(\r\n mfaContactTypeChangeSecondStep({\r\n newMfaContactType: newMfaContactType,\r\n mfaCode: values.MfaCode,\r\n accessToken: String(accessToken),\r\n })\r\n )\r\n if ((res as ResponseWithError).error?.message) {\r\n setFieldError('MfaCode', (res as ResponseWithError).error!.message)\r\n } else {\r\n newMfaContactType === MfaContactType.Sms\r\n ? setMfaModalView(MFAModalView.PHONE_INPUT)\r\n : setMfaModalView(MFAModalView.EMAIL_INPUT)\r\n }\r\n }\r\n\r\n const handleThirdStep = async (\r\n values: InitialFieldsType,\r\n newMfaContactType: MfaContactType,\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n const res = await dispatch(\r\n mfaContactTypeChangeThirdStep({\r\n newMfaContactType: newMfaContactType,\r\n mfaCode: values.MfaCode,\r\n accessToken: String(accessToken),\r\n })\r\n )\r\n if ((res as ResponseWithError).error?.message) {\r\n setFieldError('MfaCode', (res as ResponseWithError).error!.message)\r\n } else {\r\n dispatch(getUserAccount())\r\n handleOnCancel()\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_SUCCESS'),\r\n })\r\n )\r\n dispatch(getTrustedMfaDevices())\r\n }\r\n }\r\n\r\n const handleChangeMfaContactType = async (\r\n values: InitialFieldsType,\r\n validateForm: (values: InitialFieldsType, mfaModalView: MFAModalView) => {},\r\n submitForm: (() => Promise) & (() => Promise),\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n const validate = validateForm(values, mfaModalView)\r\n switch (mfaModalView) {\r\n case MFAModalView.INTRODUCTION:\r\n handleFirstStep()\r\n break\r\n case MFAModalView.MFA_CODE:\r\n submitForm()\r\n const newMfaContactType = returnNewMfaContactType(mfaContactType)\r\n if (isEmpty(validate)) {\r\n if (!isNewContactType) {\r\n /** Logic for second step of mfa ContactType change */\r\n handleSecondStep(values, newMfaContactType, setFieldError)\r\n } else {\r\n /** Logic for third step of mfa ContactType change */\r\n handleThirdStep(values, newMfaContactType, setFieldError)\r\n }\r\n }\r\n break\r\n case MFAModalView.EMAIL_INPUT:\r\n case MFAModalView.PHONE_INPUT:\r\n submitForm()\r\n if (isEmpty(validate)) {\r\n values.MfaCode = ''\r\n setIsNewContactType(true)\r\n setMfaModalView(MFAModalView.MFA_CODE)\r\n }\r\n break\r\n case MFAModalView.PHONE_WARNING:\r\n handleOnCancel()\r\n dispatch(uiActions.setIsChangePhoneAndModifyMfaPath(true))\r\n openEditMainPhoneForm()\r\n }\r\n }\r\n\r\n return (\r\n \r\n validateFormFields(values, mfaModalView)\r\n }\r\n onSubmit={() => {}}\r\n enableReinitialize\r\n >\r\n {({\r\n values,\r\n errors,\r\n setFieldValue,\r\n setTouched,\r\n touched,\r\n submitForm,\r\n setFieldError,\r\n }) => {\r\n return (\r\n
\r\n \r\n \r\n {mfaModalView === MFAModalView.MFA_CODE\r\n ? t('MY_SETTINGS.MY_ACCOUNT_DATA.ENTER_MFA_CODE')\r\n : t('MY_SETTINGS.MY_ACCOUNT_DATA.MODIFY_MFA_PATH')}\r\n \r\n \r\n \r\n \r\n {t(\r\n 'MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_INSTRUCTIONS'\r\n )}\r\n \r\n \r\n {t(\r\n 'MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_INSTRUCTION_ONE',\r\n {\r\n mfaContactType:\r\n mfaContactType === MfaContactType.Sms\r\n ? 'numer telefonu'\r\n : 'adres e-mail',\r\n }\r\n )}\r\n
\r\n
\r\n \r\n {t(\r\n 'MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_INSTRUCTION_TWO',\r\n {\r\n newMfaContactType:\r\n returnNewMfaContactType(mfaContactType) ===\r\n MfaContactType.Sms\r\n ? 'numeru telefonu'\r\n : 'adresu e-mail',\r\n }\r\n )}\r\n
\r\n
\r\n \r\n {t(\r\n 'MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_INSTRUCTION_THREE'\r\n )}\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setFieldValue('Email', e.target.value)}\r\n onBlur={() => setTouched({ Email: true })}\r\n disabled={!isNil(mainEmail)}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n setFieldValue('MfaCode', e.target.value)}\r\n onBlur={() => setTouched({ MfaCode: true })}\r\n onKeyPress={e =>\r\n handleKeyPress(\r\n e,\r\n values,\r\n validateFormFields,\r\n submitForm,\r\n setFieldError\r\n )\r\n }\r\n className={styles.numericInput}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {t(\r\n 'MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_PHONE_WARNING'\r\n )}\r\n \r\n \r\n
\r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_CAUTION_MODIFY_PATH')}\r\n \r\n \r\n\r\n
\r\n \r\n {mfaModalView === MFAModalView.MFA_CODE && (\r\n {\r\n const newMfaContactType = returnNewMfaContactType(\r\n mfaContactType\r\n )\r\n !isNewContactType\r\n ? handleFirstStep()\r\n : handleSecondStep(\r\n values,\r\n newMfaContactType,\r\n setFieldError\r\n )\r\n setFieldValue('MfaCode', '')\r\n setFieldError('MfaCode', '')\r\n }}\r\n >\r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_RESEND_TOKEN')}\r\n \r\n )}\r\n {\r\n handleChangeMfaContactType(\r\n values,\r\n validateFormFields,\r\n submitForm,\r\n setFieldError\r\n )\r\n }}\r\n >\r\n {mfaModalView === MFAModalView.PHONE_WARNING\r\n ? t('MY_SETTINGS.MY_ACCOUNT_DATA.ENTER_PHONE')\r\n : t('MY_SETTINGS.MY_ACCOUNT_DATA.MODIFY_MFA')}\r\n \r\n
\r\n \r\n \r\n )\r\n }}\r\n \r\n )\r\n}\r\n","import { makeStyles, Theme } from '@material-ui/core'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n wrapper: {\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n '&:not(:last-child)': {\r\n borderRight: '1.8px solid #5F76FD1A',\r\n },\r\n paddingTop: theme.spacing(8),\r\n paddingBottom: theme.spacing(10),\r\n [theme.breakpoints.down('sm')]: {\r\n paddingTop: theme.spacing(7),\r\n paddingBottom: theme.spacing(9),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(5),\r\n paddingBottom: theme.spacing(8),\r\n },\r\n },\r\n title: {\r\n fontSize: 25,\r\n lineHeight: '31px',\r\n letterSpacing: 0.2,\r\n tableTextColor: tableTextColor,\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n marginBottom: theme.spacing(10),\r\n [theme.breakpoints.down('sm')]: {\r\n marginBottom: theme.spacing(8),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n },\r\n messageWrapper: {\r\n paddingTop: theme.spacing(3),\r\n },\r\n buttonsWrapper: {\r\n marginTop: theme.spacing(12),\r\n display: 'flex',\r\n alignSelf: 'center',\r\n [theme.breakpoints.down('xs')]: {\r\n paddingTop: theme.spacing(3),\r\n width: '100%',\r\n flexDirection: 'column-reverse',\r\n '& button': {\r\n width: '100%',\r\n },\r\n },\r\n },\r\n form: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(0, 16),\r\n },\r\n input: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '0 16px 0 20px',\r\n height: '50px',\r\n border: '1.7px solid #D3CFCF',\r\n borderRadius: '7px',\r\n backgroundColor: '#f9f9f9',\r\n color: theme.palette.text.secondary,\r\n fontSize: 16,\r\n fontWeight: 600,\r\n letterSpacing: ' 0.11px',\r\n lineHeight: '25px',\r\n overflow: 'hidden',\r\n transition: 'border 0.2s ease-in-out',\r\n },\r\n error: {\r\n border: `1.7px solid ${theme.palette.error.main}`,\r\n },\r\n numericInput: {\r\n '& > div > input[type=\"number\"]': {\r\n '&::-webkit-inner-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '&::-webkit-outer-spin-button': {\r\n '-webkit-appearance': 'none',\r\n margin: 0,\r\n },\r\n '-moz-appearance': 'textfield',\r\n },\r\n },\r\n paragraph: {\r\n marginBottom: theme.spacing(6),\r\n },\r\n paragraphBold: {\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n}))\r\n","import { isValidPhoneNumber } from 'react-phone-number-input'\r\nimport {\r\n EditPhoneModalView,\r\n InitialFieldsType,\r\n} from './EditMainPhoneForm.types'\r\n\r\nexport const validateFormFields = (\r\n values: InitialFieldsType,\r\n editPhoneModalView: EditPhoneModalView\r\n) => {\r\n const errors: Partial = {}\r\n if (\r\n values.Phone === '' ||\r\n !isValidPhoneNumber(`${values.PhonePrefix}${values.Phone}`) ||\r\n values.Phone.toString().length < 9\r\n ) {\r\n errors.Phone = 'Wpisz poprawny numer telefonu'\r\n }\r\n if (\r\n editPhoneModalView === EditPhoneModalView.MFA_CODE &&\r\n values.MfaCode.toString().length !== 6\r\n ) {\r\n errors.MfaCode = 'Wpisz poprawny kod aktywacji MFA'\r\n }\r\n return errors\r\n}\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react'\r\nimport { Grid, Typography } from '@material-ui/core'\r\nimport DetailsCardWrapper from '@shared/components/DetailsCard'\r\nimport { ReactComponent as ContractSvg } from '@images/icons/myCenter/Contract.svg'\r\nimport { ReactComponent as ProfileSvg } from '@images/icons/myCenter/Profile.svg'\r\nimport { ReactComponent as CreditCardSvg } from '@images/icons/mySettings/CreditCard.svg'\r\nimport { ReactComponent as DocumentsSvg } from '@images/icons/mySettings/Documents.svg'\r\nimport { ReactComponent as EmailSvg } from '@images/icons/mySettings/Email.svg'\r\nimport { ReactComponent as MarketingSvg } from '@images/icons/mySettings/Marketing.svg'\r\nimport { Button } from '@shared/components/Button'\r\nimport Modal from '@shared/components/modals/Modal'\r\nimport useStyles from './MySettingsPage.style'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport { useMySettingsDataSource } from './mySettingsDataSource'\r\nimport { Setting, DocumentLink } from './components'\r\nimport { fields, isRejected, trimString } from './MySettingsPage.utils'\r\nimport { Field } from './components/forms/EditFieldForm/EditFieldForm'\r\nimport EditFieldForm from './components/forms/EditFieldForm'\r\nimport {\r\n validateEmailForm,\r\n validateAddressForm,\r\n validatePhoneForm,\r\n IDoubleFieldErrors,\r\n IDoubleFieldValues,\r\n ISingleFieldErrors,\r\n ISingleFieldValues,\r\n} from './components/forms/EditFieldForm/EditFieldForm.utils'\r\nimport SwitchForm from './components/forms/SwitchForm'\r\nimport ChangePasswordForm from './components/forms/ChangePasswordForm'\r\nimport { useAppDispatch } from '@core/store/store'\r\nimport { useSavePdf } from '@shared/hooks/pdfSaver'\r\nimport {\r\n showModal,\r\n addSavedFormField,\r\n removeSavedFormField,\r\n} from '@core/store/ui/actions'\r\nimport { ActionCreatorWithPayload, PayloadAction } from '@reduxjs/toolkit'\r\nimport Toggler from '@shared/components/Toggler'\r\nimport ids from './ids'\r\nimport {\r\n updateCorrespondenceAddress,\r\n updateCorrespondenceEmail,\r\n updateMainAddress,\r\n updatePhoneNumber,\r\n updatePassword,\r\n} from '@core/store/user/userAccountThunks'\r\nimport { updateAgreementCorrespondenceAddress } from '@core/store/entity/userAgreements/userAgreementsThunks'\r\nimport HintPopover from '@shared/components/HintPopover'\r\nimport { isEmpty } from 'ramda'\r\nimport { AddressParser } from '@shared/components/AddressParser'\r\nimport EditAddressForm from './components/forms/EditAddressForm'\r\nimport { validateAddressForm as validateAddress } from './components/forms/EditAddressForm/EditAddressForm.utils'\r\n\r\nimport {\r\n getUniqueEmails,\r\n isEmailAssignedToAgreements,\r\n} from '@shared/utils/agreements'\r\nimport SelectActivationPointForm from '@shared/components/forms/eInvoice/SelectActivationPointForm'\r\nimport {\r\n getMeasurementPointsFilteredByAgreements,\r\n stringifyMeasurementPoint,\r\n getMeasurementPointsFilteredByEmail,\r\n getMeasurementPointsNumbers,\r\n} from '@shared/utils/measurementPoints'\r\nimport EInvoiceSettings from '@shared/components/forms/eInvoice/EInvoiceSettings'\r\nimport ActivatedEInvoices from '@shared/components/forms/eInvoice/ActivatedEInvoices'\r\nimport useEInvoiceStyles from '@shared/components/forms/eInvoice/style'\r\nimport useMFAFormStyles from './components/forms/EnableMFAForm/EnableMFAForm.style'\r\nimport useUpdatedInvoicesStyles from './components/forms/UpdateLinkedInvoices/UpdateLinkedInvoices.style'\r\nimport ConfirmActivationPointForm from '@shared/components/forms/eInvoice/ConfirmActivationPointForm'\r\nimport { InvoiceType } from '@shared/contracts/invoiceType'\r\nimport {\r\n explodeAddress,\r\n removeDelimiterFromAddressLine1,\r\n} from '@shared/utils/addressParser'\r\nimport {\r\n refreshContactPhoneNumber,\r\n refreshMainAddress,\r\n refreshCorrespondenceAddress,\r\n refreshCorrespondenceEmail,\r\n} from '@core/store/user/actions'\r\nimport { getTrustedMfaDevices } from '@core/store/trustedMfaDevices/trustedMfaDevicesThunk'\r\nimport { userAgreementsActions } from '@core/store/entity/userAgreements/userAgreements'\r\nimport UpdateLinkedInvoices from './components/forms/UpdateLinkedInvoices'\r\nimport { updateMeasurementPointsEmail } from '@core/store/entity/measurementPoints/measurementPointsThunks'\r\nimport DevicesList from './components/DevicesList/DevicesList'\r\nimport EnableMFAForm from './components/forms/EnableMFAForm'\r\nimport ModifyMFAForm from './components/forms/ModifyMFAForm'\r\nimport EditMainPhoneForm from './components/forms/EditMainPhoneForm'\r\n\r\nconst MY_DATA_MIN_HEIGHT = 166\r\nconst PAYER_MIN_HEIGHT = 230\r\nconst INVOICE_MIN_HEIGHT = 166\r\nconst NOTIFICATIONS_MIN_HEIGHT = 260\r\nconst DOCUMENTS_MIN_HEIGHT = 166\r\n\r\ninterface ResponseWithError {\r\n payload: unknown\r\n type: string\r\n error?: {\r\n message: string\r\n }\r\n}\r\n\r\nexport enum Modals {\r\n SelectActivationPointUpdate,\r\n ConfirmActivationPointUpdate,\r\n NewContactEmail,\r\n}\r\n\r\nexport interface NewFieldsValue {\r\n field1?: string\r\n field2?: string\r\n}\r\n\r\nexport const MySettingsPage: React.FC = () => {\r\n const initialFieldState: Omit = {\r\n label: '',\r\n name: '',\r\n }\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n const [isChangePasswordFormOpen, setIsChangePasswordFormOpen] = useState(\r\n false\r\n )\r\n const [isEnableMfaFormOpen, setIsEnableMfaFormOpen] = useState(false)\r\n const [isModifyMfaFormOpen, setIsModifyMfaFormOpen] = useState(false)\r\n const [isEditMainPhoneFormOpen, setIsEditMainPhoneFormOpen] = useState<\r\n boolean\r\n >(false)\r\n const [field1, setField1] = useState>(\r\n initialFieldState\r\n )\r\n const [field2, setField2] = useState<\r\n Omit | undefined\r\n >(undefined)\r\n const [field1Value, setField1Value] = useState('')\r\n const [field2Value, setField2Value] = useState('')\r\n const [agreementIndex, setAgreementIndex] = useState(0)\r\n // eslint-disable-next-line\r\n const [agreementEmailIndex, setAgreementEmailIndex] = useState(-1)\r\n const [emailToEdit, setEmailToEdit] = useState(undefined)\r\n const [newEmail, setNewEmail] = useState(undefined)\r\n const [title, setTitle] = useState('')\r\n const [companyInfo, setCompanyInfo] = useState(undefined)\r\n const [currentFieldsError, setCurrentFieldsError] = useState<\r\n string | undefined\r\n >(undefined)\r\n const [currentPasswordError, setCurrentPasswordError] = useState<\r\n string | undefined\r\n >(undefined)\r\n const [isAddressFormOpen, setIsAddressFormOpen] = useState(false)\r\n\r\n const styles = useStyles()\r\n const eInvoiceStyles = useEInvoiceStyles()\r\n const updateLinkedInvoicesStyles = useUpdatedInvoicesStyles()\r\n const mfaFormStyles = useMFAFormStyles()\r\n const { t } = useTranslation()\r\n const dispatch = useAppDispatch()\r\n\r\n const {\r\n account: { data },\r\n agreements: { activeAgreements, eInvoiceAgreements, loading },\r\n notificationSwitches,\r\n marketingSwitches,\r\n measurementPoints,\r\n policyDocuments,\r\n isErrorModalOpen,\r\n alreadySavedFormFields,\r\n marketingDocuments,\r\n modals,\r\n correspondenceEmail,\r\n activationPoint,\r\n api: { executeUpdateEInvoiceEmail },\r\n address: { isAddressInDatabase, setIsAddressInDatabase },\r\n } = useMySettingsDataSource()\r\n const savePdf = useSavePdf()\r\n\r\n const currentAgreement = activeAgreements[agreementIndex]\r\n const currAgreementPaperInvoice = currentAgreement?.invoiceType === 'Paper'\r\n\r\n const closeForm = () => {\r\n setIsFormOpen(false)\r\n setIsAddressFormOpen(false)\r\n }\r\n\r\n const clearEInvoiceState = React.useCallback(() => {\r\n modals.setOpenModalKey(undefined)\r\n measurementPoints.setSelectedMeasurementPoints([])\r\n correspondenceEmail.setCorrespondenceEmail(undefined)\r\n }, [modals, measurementPoints, correspondenceEmail])\r\n\r\n const getCorrespondenceEmail = React.useCallback((): string => {\r\n return (\r\n correspondenceEmail.correspondenceEmail ??\r\n currentAgreement?.emailAddresses[0] ??\r\n ''\r\n )\r\n }, [correspondenceEmail.correspondenceEmail, currentAgreement])\r\n\r\n const getModalSubtitle = useCallback(\r\n (id?: string, newFieldsValue?: NewFieldsValue) => {\r\n const modalSubtitleKey = 'MODAL_MESSAGES.CONFIRMATION.'\r\n switch (id) {\r\n case ids.USER_CONTACT_EMAIL:\r\n return (\r\n \r\n We changed your contact e-mail to:\r\n
\r\n {{ email: newFieldsValue?.field1 }}\r\n
\r\n )\r\n case ids.USER_CONTACT_PHONE:\r\n return (\r\n \r\n We changed your contact phone number to:\r\n
\r\n {{ number: newFieldsValue?.field1 }}\r\n
\r\n )\r\n case ids.USER_CORRESPONDENCE_ADDRESS:\r\n return (\r\n \r\n We changed your correspondence address to:\r\n
\r\n {{\r\n line1: removeDelimiterFromAddressLine1(newFieldsValue?.field1),\r\n }}\r\n
\r\n {{ line2: newFieldsValue?.field2 }}\r\n
\r\n )\r\n case ids.USER_MAIN_ADDRESS:\r\n return (\r\n \r\n We changed your main address to:\r\n
\r\n {{\r\n line1: removeDelimiterFromAddressLine1(newFieldsValue?.field1),\r\n }}\r\n
\r\n {{ line2: newFieldsValue?.field2 }}\r\n
\r\n )\r\n case ids.SETTINGS_INVOICE_EMAIL:\r\n return (\r\n \r\n We changed your e-invoice e-mail address to:\r\n
\r\n {{ email: newFieldsValue?.field1 }}\r\n
\r\n )\r\n default:\r\n return id && !!id.match(ids.SETTINGS_INVOICE_ADDRESS) ? (\r\n \r\n We changed your invoice address to:\r\n
\r\n {{\r\n line1: removeDelimiterFromAddressLine1(newFieldsValue?.field1),\r\n }}\r\n
\r\n {{ line2: newFieldsValue?.field2 }}\r\n
\r\n ) : (\r\n t('MODAL_MESSAGES.REQUEST_ACCEPTED')\r\n )\r\n }\r\n },\r\n [t]\r\n )\r\n\r\n const isConfirmationNeeded = useMemo(() => {\r\n if (isAddressInDatabase !== undefined) {\r\n return !isAddressInDatabase\r\n }\r\n return false\r\n }, [isAddressInDatabase])\r\n\r\n const successModalTitle = useMemo(\r\n (id?: string) => {\r\n if (id === ids.SETTINGS_INVOICE_EMAIL) {\r\n return t('MY_CONTRACTS.MODAL.THANKS_FOR_CHANGE')\r\n }\r\n return t('MODAL_MESSAGES.SUCCESS')\r\n },\r\n [t]\r\n )\r\n\r\n const getModalText = useCallback(\r\n (linkInvoices?: boolean, confirmationStillPendng?: boolean) => {\r\n if (linkInvoices !== undefined) {\r\n return linkInvoices\r\n ? t('MODAL_MESSAGES.LINKED_E_INVOICES_UPDATED')\r\n : t('MODAL_MESSAGES.LINKED_E_INVOICES_NOT_UPDATED')\r\n }\r\n return t(\r\n isConfirmationNeeded || confirmationStillPendng === true\r\n ? 'MODAL_MESSAGES.IN_THREE_DAYS_WILL_CHANGE'\r\n : ''\r\n )\r\n },\r\n [isConfirmationNeeded, t]\r\n )\r\n\r\n const showSuccessModal = useCallback(\r\n (\r\n id?: string,\r\n newFieldsValue?: NewFieldsValue,\r\n linkInvoices?: boolean,\r\n confirmationStillPendng?: boolean\r\n ) => {\r\n if (!isConfirmationNeeded && confirmationStillPendng !== true) {\r\n dispatch(removeSavedFormField({ id: id }))\r\n }\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: successModalTitle,\r\n subtitle:\r\n isConfirmationNeeded || confirmationStillPendng\r\n ? t('MODAL_MESSAGES.REQUEST_ACCEPTED')\r\n : getModalSubtitle(id, newFieldsValue),\r\n text: getModalText(linkInvoices, confirmationStillPendng),\r\n onCancel: () => setAgreementEmailIndex(-1),\r\n })\r\n )\r\n setIsAddressInDatabase(undefined)\r\n },\r\n [\r\n dispatch,\r\n successModalTitle,\r\n getModalText,\r\n t,\r\n getModalSubtitle,\r\n isConfirmationNeeded,\r\n setIsAddressInDatabase,\r\n ]\r\n )\r\n\r\n const isAddressId = useCallback((id: string) => {\r\n const addresses = [ids.USER_CORRESPONDENCE_ADDRESS, ids.USER_MAIN_ADDRESS]\r\n if (addresses.includes(id)) {\r\n return true\r\n }\r\n\r\n return !!id.match(ids.SETTINGS_INVOICE_ADDRESS)\r\n }, [])\r\n\r\n const openForm = useCallback(\r\n (id: string) => {\r\n const field = alreadySavedFormFields.find(f => f.id === id)\r\n if (field) {\r\n return showSuccessModal(id, undefined, undefined, true)\r\n }\r\n if (isAddressId(id)) {\r\n return setIsAddressFormOpen(true)\r\n }\r\n setIsFormOpen(true)\r\n },\r\n [alreadySavedFormFields, showSuccessModal, isAddressId]\r\n )\r\n\r\n const onFieldSet = ({\r\n name,\r\n initialValue = '',\r\n isSecond = false,\r\n }: {\r\n name: string\r\n initialValue?: string\r\n isSecond?: boolean\r\n }) => {\r\n const val = !!initialValue ? initialValue : ''\r\n if (isSecond) {\r\n setField2Value(val)\r\n } else {\r\n setField1Value(val)\r\n }\r\n setField2(undefined)\r\n switch (name) {\r\n case fields.CONTACT_PHONE:\r\n setTitle(\r\n t('MY_SETTINGS.CHANGE_SETTING', {\r\n setting: t('MY_SETTINGS.MY_PAYER_DATA.CONTACT_PHONE_NUMBER'),\r\n })\r\n )\r\n return setField1({\r\n label: t('MY_SETTINGS.MY_ACCOUNT_DATA.PHONE'),\r\n name: fields.CONTACT_PHONE,\r\n })\r\n case fields.CORRESPONDENCE_EMAIL:\r\n setTitle(\r\n t('MY_SETTINGS.CHANGE_SETTING', {\r\n setting: t('MY_SETTINGS.MY_PAYER_DATA.CONTACT_EMAIL_ADDRESS'),\r\n })\r\n )\r\n return setField1({\r\n label: t('MY_SETTINGS.MY_ACCOUNT_DATA.EMAIL'),\r\n name: fields.CORRESPONDENCE_EMAIL,\r\n })\r\n case fields.CORRESPONDENCE_ADDRESS_LINE_1:\r\n setTitle(\r\n t('MY_SETTINGS.CHANGE_SETTING', {\r\n setting: t('MY_SETTINGS.MY_PAYER_DATA.CORRESPONDENCE_ADDRESS'),\r\n })\r\n )\r\n setCompanyInfo(undefined)\r\n return setField1({\r\n label: t('MY_SETTINGS.MY_PAYER_DATA.ADDRESS_LINE_1'),\r\n name: fields.CORRESPONDENCE_ADDRESS_LINE_1,\r\n })\r\n case fields.CORRESPONDENCE_ADDRESS_LINE_2:\r\n return setField2({\r\n label: t('MY_SETTINGS.MY_PAYER_DATA.ADDRESS_LINE_2'),\r\n name: fields.CORRESPONDENCE_ADDRESS_LINE_2,\r\n })\r\n case fields.MAIN_ADDRESS_LINE_1:\r\n setTitle(\r\n t('MY_SETTINGS.CHANGE_SETTING', {\r\n setting: t('MY_SETTINGS.MY_PAYER_DATA.BASE_ADDRESS'),\r\n })\r\n )\r\n setCompanyInfo(\r\n data?.type === 'Individual'\r\n ? undefined\r\n : t('MY_SETTINGS.MY_PAYER_DATA.BASE_ADDRESS_INFO_COMP')\r\n )\r\n return setField1({\r\n label: t('MY_SETTINGS.MY_PAYER_DATA.ADDRESS_LINE_1'),\r\n name: fields.MAIN_ADDRESS_LINE_1,\r\n })\r\n case fields.MAIN_ADDRESS_LINE_2:\r\n return setField2({\r\n label: t('MY_SETTINGS.MY_PAYER_DATA.ADDRESS_LINE_2'),\r\n name: fields.MAIN_ADDRESS_LINE_2,\r\n })\r\n case fields.AGREEMENT_ADDRESS_LINE_1:\r\n setTitle(\r\n t('MY_SETTINGS.CHANGE_SETTING', {\r\n setting: t('MY_SETTINGS.CONTRACT_DATA.INVOICE_ADDRESS'),\r\n })\r\n )\r\n setCompanyInfo(undefined)\r\n return setField1({\r\n label: t('MY_SETTINGS.MY_PAYER_DATA.ADDRESS_LINE_1'),\r\n name: fields.AGREEMENT_ADDRESS_LINE_1,\r\n })\r\n case fields.AGREEMENT_ADDRESS_LINE_2:\r\n return setField2({\r\n label: t('MY_SETTINGS.MY_PAYER_DATA.ADDRESS_LINE_2'),\r\n name: fields.AGREEMENT_ADDRESS_LINE_2,\r\n })\r\n\r\n case fields.AGREEMENT_EMAIL:\r\n setTitle(\r\n t('MY_SETTINGS.CHANGE_SETTING', {\r\n setting: t('MY_SETTINGS.CONTRACT_DATA.INVOICE_EMAIL_ADDRESS'),\r\n })\r\n )\r\n return setField1({\r\n label: t('MY_SETTINGS.CONTRACT_DATA.INVOICE_EMAIL_ADDRESS'),\r\n name: fields.AGREEMENT_EMAIL,\r\n })\r\n default:\r\n return setField1({\r\n label: '',\r\n name: '',\r\n })\r\n }\r\n }\r\n\r\n const currentMeasurementPoint = useMemo(() => {\r\n return measurementPoints.data.find(\r\n item => item?.agreementId === currentAgreement?.agreementId\r\n )\r\n }, [measurementPoints, currentAgreement])\r\n\r\n const measurementPointAddress = useMemo(() => {\r\n return (\r\n \r\n )\r\n }, [currentMeasurementPoint])\r\n\r\n useEffect(() => {\r\n setAgreementIndex(0)\r\n }, [activeAgreements.length, loading, setAgreementIndex])\r\n\r\n const showErrorModal = useCallback(() => {\r\n dispatch(\r\n showModal({\r\n type: 'error',\r\n title: t('MODAL_MESSAGES.SORRY'),\r\n subtitle: t('MODAL_MESSAGES.UNEXPECTED_ERROR_OCCURED'),\r\n withCancelButton: true,\r\n withSubmitButton: true,\r\n onSubmit: () => {\r\n dispatch(\r\n showModal({\r\n type: 'report',\r\n })\r\n )\r\n },\r\n })\r\n )\r\n }, [dispatch, t])\r\n\r\n const onFormCancel = () => {\r\n closeForm()\r\n setField1(initialFieldState)\r\n setField2(undefined)\r\n setField1Value('')\r\n setField2Value('')\r\n setCurrentFieldsError(undefined)\r\n if (isUpdateContactEmailFormOpen()) {\r\n dispatch(removeSavedFormField({ id: ids.USER_CONTACT_EMAIL }))\r\n }\r\n }\r\n\r\n const showFinishModal = (\r\n response: { type: string },\r\n fieldId: string,\r\n newFieldsValue?: NewFieldsValue,\r\n linkInvoices?: boolean\r\n ) => {\r\n if (isRejected(response.type) && !isErrorModalOpen) {\r\n showErrorModal()\r\n } else {\r\n showSuccessModal(fieldId, newFieldsValue, linkInvoices)\r\n }\r\n }\r\n\r\n const getValidationFunc = () => {\r\n switch (field1.name) {\r\n case fields.CONTACT_PHONE:\r\n return validatePhoneForm\r\n case fields.AGREEMENT_EMAIL:\r\n return validateEmailForm\r\n case fields.CORRESPONDENCE_EMAIL:\r\n return validateEmailForm\r\n default:\r\n return validateAddressForm\r\n }\r\n }\r\n\r\n const onFormSubmit = async (\r\n { field1: value1, field2: value2 }: NewFieldsValue,\r\n index: number,\r\n linkInvoices?: boolean\r\n ) => {\r\n let action: Promise> | undefined = undefined\r\n let updateAction:\r\n | ActionCreatorWithPayload\r\n | undefined = undefined\r\n let successAction: (() => void) | undefined = undefined\r\n\r\n const field1Value: string = value1?.trim() ?? ''\r\n const field2Value: string | undefined = value2?.trim()\r\n let fieldId = ''\r\n\r\n switch (field1.name) {\r\n case fields.CONTACT_PHONE:\r\n action = dispatch(\r\n updatePhoneNumber({ newPhoneNumber: trimString(field1Value) })\r\n )\r\n fieldId = ids.USER_CONTACT_PHONE\r\n successAction = () => dispatch(addSavedFormField({ id: fieldId }))\r\n updateAction = refreshContactPhoneNumber\r\n break\r\n case fields.CORRESPONDENCE_EMAIL:\r\n fieldId = ids.USER_CONTACT_EMAIL\r\n successAction = () =>\r\n dispatch(addSavedFormField({ id: ids.USER_CONTACT_EMAIL }))\r\n action = dispatch(\r\n updateCorrespondenceEmail({ newEmailAddress: field1Value })\r\n )\r\n updateAction = refreshCorrespondenceEmail\r\n break\r\n case fields.CORRESPONDENCE_ADDRESS_LINE_1:\r\n fieldId = ids.USER_CORRESPONDENCE_ADDRESS\r\n successAction = () => dispatch(addSavedFormField({ id: fieldId }))\r\n action = dispatch(\r\n updateCorrespondenceAddress(\r\n explodeAddress({ line1: field1Value, line2: field2Value ?? '' })\r\n )\r\n )\r\n if (!isConfirmationNeeded) {\r\n updateAction = refreshCorrespondenceAddress\r\n }\r\n break\r\n case fields.MAIN_ADDRESS_LINE_1:\r\n fieldId = ids.USER_MAIN_ADDRESS\r\n successAction = () => dispatch(addSavedFormField({ id: fieldId }))\r\n action = dispatch(\r\n updateMainAddress(\r\n explodeAddress({ line1: field1Value, line2: field2Value ?? '' })\r\n )\r\n )\r\n if (!isConfirmationNeeded) {\r\n updateAction = refreshMainAddress\r\n }\r\n break\r\n case fields.AGREEMENT_ADDRESS_LINE_1:\r\n fieldId = ids.getAgreementAddressId(\r\n currentMeasurementPoint?.agreementId || ''\r\n )\r\n successAction = () =>\r\n dispatch(\r\n addSavedFormField({\r\n id: fieldId,\r\n })\r\n )\r\n action = dispatch(\r\n updateAgreementCorrespondenceAddress({\r\n ...explodeAddress({ line1: field1Value, line2: field2Value ?? '' }),\r\n id: currentMeasurementPoint?.agreementId || '',\r\n })\r\n )\r\n if (!isConfirmationNeeded) {\r\n updateAction =\r\n userAgreementsActions.refreshAgreementCorrespondenceAddress\r\n }\r\n break\r\n }\r\n\r\n if (!action) return\r\n const response = await action\r\n if (!isRejected(response.type) && successAction) successAction()\r\n if ((response as ResponseWithError).error?.message) {\r\n return setCurrentFieldsError(\r\n (response as ResponseWithError).error!.message\r\n )\r\n }\r\n if (linkInvoices !== undefined) {\r\n if (linkInvoices) {\r\n dispatch(\r\n updateMeasurementPointsEmail({\r\n newEInvoiceEmailAddress: newEmail ?? '',\r\n measurementPointNumbers:\r\n getMeasurementPointsNumbers(\r\n measurementPoints.selectedMeasurementPoints\r\n ) ?? [],\r\n })\r\n )\r\n dispatch(\r\n userAgreementsActions.refreshAgreementsEmails({\r\n measurementPoints: measurementPoints.selectedMeasurementPoints,\r\n newEmail: newEmail ?? '',\r\n })\r\n )\r\n } else {\r\n let oldEmail = data?.correspondenceEmail ?? ''\r\n dispatch(\r\n updateMeasurementPointsEmail({\r\n newEInvoiceEmailAddress: emailToEdit ?? '',\r\n measurementPointNumbers:\r\n getMeasurementPointsNumbers(\r\n measurementPoints.selectedMeasurementPoints\r\n ) ?? [],\r\n })\r\n )\r\n dispatch(\r\n userAgreementsActions.refreshAgreementsEmails({\r\n measurementPoints: measurementPoints.selectedMeasurementPoints,\r\n agreements: eInvoiceAgreements,\r\n newEmail: oldEmail ?? '',\r\n })\r\n )\r\n }\r\n }\r\n if (updateAction) {\r\n let payload\r\n if (\r\n [refreshMainAddress, refreshCorrespondenceAddress].includes(\r\n updateAction\r\n )\r\n ) {\r\n payload = {\r\n newAddressLine1: removeDelimiterFromAddressLine1(field1Value),\r\n newAddressLine2: field2Value,\r\n }\r\n } else if (\r\n updateAction ===\r\n userAgreementsActions.refreshAgreementCorrespondenceAddress\r\n ) {\r\n payload = {\r\n agreementId: currentMeasurementPoint?.agreementId || '',\r\n newAddress: {\r\n newAddressLine1: removeDelimiterFromAddressLine1(field1Value),\r\n newAddressLine2: field2Value,\r\n },\r\n }\r\n } else {\r\n payload = response.payload\r\n }\r\n dispatch(updateAction(payload))\r\n }\r\n\r\n modals.setOpenModalKey(undefined)\r\n showFinishModal(\r\n response,\r\n fieldId,\r\n {\r\n field1: field1Value,\r\n field2: field2Value,\r\n },\r\n linkInvoices\r\n )\r\n closeForm()\r\n setAgreementIndex(index)\r\n return setCurrentFieldsError(undefined)\r\n }\r\n\r\n const marketingSwitchesData = marketingSwitches.map(item => ({\r\n ...item,\r\n label: (\r\n \r\n ),\r\n }))\r\n\r\n const isContactEmail = useCallback(\r\n (title: string) => {\r\n return (\r\n title ===\r\n t('MY_SETTINGS.CHANGE_SETTING', {\r\n setting: t('MY_SETTINGS.MY_PAYER_DATA.CONTACT_EMAIL_ADDRESS'),\r\n })\r\n )\r\n },\r\n [t]\r\n )\r\n\r\n const modalEmailInfo = useCallback(\r\n (title: string, email?: string) => {\r\n const isEmail = isContactEmail(title)\r\n const emailToInform =\r\n (isEmail ? data?.email : data?.correspondenceEmail ?? data?.email) ?? ''\r\n let message\r\n if (isEmail) {\r\n message = t('MODAL_MESSAGES.EMAIL_UPDATE_INFORM')\r\n } else {\r\n message = ''\r\n }\r\n\r\n return emailToInform ? (\r\n <>\r\n {message}\r\n {!data?.correspondenceEmail && !isEmail && (\r\n \r\n )}\r\n \r\n ) : undefined\r\n },\r\n [data, isContactEmail, t]\r\n )\r\n\r\n const activatedEInvoices = React.useMemo(() => {\r\n if (eInvoiceAgreements.length === 0) {\r\n return ActivatedEInvoices.None\r\n }\r\n return eInvoiceAgreements.length === activeAgreements.length\r\n ? ActivatedEInvoices.All\r\n : ActivatedEInvoices.Some\r\n }, [eInvoiceAgreements.length, activeAgreements.length])\r\n\r\n const eInvoiceSettings: EInvoiceSettings = {\r\n hasManyAgreements: activeAgreements.length > 1,\r\n activatedEInvoices: activatedEInvoices,\r\n }\r\n\r\n const updateEInvoiceEmail = useCallback(() => {\r\n if (correspondenceEmail.correspondenceEmail === undefined) {\r\n return\r\n }\r\n if (\r\n eInvoiceAgreements &&\r\n getUniqueEmails(eInvoiceAgreements).some(\r\n (email: string) => email !== data?.correspondenceEmail\r\n )\r\n ) {\r\n executeUpdateEInvoiceEmail({\r\n data: {\r\n newEInvoiceEmailAddress: correspondenceEmail.correspondenceEmail,\r\n measurementPointNumbers: getMeasurementPointsNumbers(\r\n getMeasurementPointsFilteredByAgreements(\r\n measurementPoints.data ?? [],\r\n eInvoiceAgreements\r\n )\r\n ),\r\n },\r\n })\r\n .then(() => {\r\n modals.setOpenModalKey(undefined)\r\n showSuccessModal(ids.SETTINGS_INVOICE_EMAIL, {\r\n field1: correspondenceEmail.correspondenceEmail,\r\n })\r\n dispatch(\r\n userAgreementsActions.refreshAgreementsEmails({\r\n oldEmail: data?.correspondenceEmail,\r\n measurementPoints: measurementPoints.selectedMeasurementPoints,\r\n agreements: eInvoiceAgreements ?? [],\r\n newEmail: correspondenceEmail.correspondenceEmail ?? '',\r\n })\r\n )\r\n clearEInvoiceState()\r\n })\r\n .catch(() => {\r\n modals.setOpenModalKey(undefined)\r\n showErrorModal()\r\n clearEInvoiceState()\r\n })\r\n } else {\r\n executeUpdateEInvoiceEmail({\r\n data: {\r\n newEInvoiceEmailAddress: correspondenceEmail.correspondenceEmail,\r\n measurementPointNumbers: getMeasurementPointsNumbers(\r\n measurementPoints.selectedMeasurementPoints\r\n ),\r\n },\r\n })\r\n .then(() => {\r\n modals.setOpenModalKey(undefined)\r\n showSuccessModal(ids.SETTINGS_INVOICE_EMAIL, {\r\n field1: correspondenceEmail.correspondenceEmail,\r\n })\r\n dispatch(\r\n userAgreementsActions.refreshAgreementsEmails({\r\n oldEmail: data?.correspondenceEmail,\r\n measurementPoints: measurementPoints.selectedMeasurementPoints,\r\n newEmail: correspondenceEmail.correspondenceEmail ?? '',\r\n })\r\n )\r\n clearEInvoiceState()\r\n })\r\n .catch(() => {\r\n modals.setOpenModalKey(undefined)\r\n showErrorModal()\r\n clearEInvoiceState()\r\n })\r\n }\r\n }, [\r\n correspondenceEmail.correspondenceEmail,\r\n executeUpdateEInvoiceEmail,\r\n measurementPoints.selectedMeasurementPoints,\r\n showSuccessModal,\r\n showErrorModal,\r\n eInvoiceAgreements,\r\n modals,\r\n clearEInvoiceState,\r\n dispatch,\r\n data,\r\n measurementPoints.data,\r\n ])\r\n\r\n const modalsToOpen = {\r\n [Modals.SelectActivationPointUpdate]: (\r\n \r\n modals.setOpenModalKey(Modals.ConfirmActivationPointUpdate)\r\n }\r\n correspondenceEmail={getCorrespondenceEmail()}\r\n setCorrespondenceEmail={correspondenceEmail.setCorrespondenceEmail}\r\n selectedMeasurementPoints={measurementPoints.selectedMeasurementPoints}\r\n setSelectedMeasurementPoints={\r\n measurementPoints.setSelectedMeasurementPoints\r\n }\r\n selectedActivationPointOption={\r\n activationPoint.selectedActivationPointOption\r\n }\r\n setSelectedActivationPointOption={\r\n activationPoint.setSelectedActivationPointOption\r\n }\r\n stringify={stringifyMeasurementPoint}\r\n settings={eInvoiceSettings}\r\n update={true}\r\n />\r\n ),\r\n [Modals.ConfirmActivationPointUpdate]: (\r\n \r\n modals.setOpenModalKey(Modals.SelectActivationPointUpdate)\r\n }\r\n onSubmit={updateEInvoiceEmail}\r\n selectedActivationPointOption={\r\n activationPoint.selectedActivationPointOption\r\n }\r\n setSelectedMeasurementPoints={\r\n measurementPoints.setSelectedMeasurementPoints\r\n }\r\n stringify={stringifyMeasurementPoint}\r\n settings={{ ...eInvoiceSettings, hasSelectedAgreementEInvoice: true }}\r\n update={true}\r\n eInvoiceAgreements={eInvoiceAgreements}\r\n />\r\n ),\r\n [Modals.NewContactEmail]: (\r\n {\r\n onFormSubmit({ field1: newEmail }, agreementIndex, true)\r\n }}\r\n onCancel={() => {\r\n onFormSubmit({ field1: newEmail }, agreementIndex, false)\r\n }}\r\n stringify={stringifyMeasurementPoint}\r\n />\r\n ),\r\n }\r\n\r\n const isUpdateContactEmailFormOpen = () => {\r\n return !!alreadySavedFormFields.find(f => f.id === ids.USER_CONTACT_EMAIL)\r\n }\r\n\r\n const onUpdateContactEmailFormSubmit = (values: NewFieldsValue) => {\r\n setEmailToEdit(data?.correspondenceEmail)\r\n setNewEmail(values.field1)\r\n setIsFormOpen(false)\r\n if (\r\n isEmailAssignedToAgreements(\r\n data?.correspondenceEmail ?? '',\r\n activeAgreements\r\n )\r\n ) {\r\n measurementPoints.setSelectedMeasurementPoints(\r\n getMeasurementPointsFilteredByEmail(\r\n measurementPoints.data,\r\n activeAgreements,\r\n data?.correspondenceEmail ?? ''\r\n )\r\n )\r\n modals.setOpenModalKey(Modals.NewContactEmail)\r\n return\r\n }\r\n onFormSubmit(values, agreementIndex)\r\n }\r\n\r\n let modalStyle\r\n if (modals.openModalKey === Modals.NewContactEmail) {\r\n modalStyle = updateLinkedInvoicesStyles.modalWrapper\r\n } else if (modals.openModalKey !== undefined) {\r\n modalStyle = eInvoiceStyles.modalWrapper\r\n } else if (isEnableMfaFormOpen || isModifyMfaFormOpen) {\r\n modalStyle = mfaFormStyles.modalWrapper\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {modals.openModalKey !== undefined ? (\r\n modalsToOpen[modals.openModalKey]\r\n ) : isChangePasswordFormOpen ? (\r\n {\r\n setIsChangePasswordFormOpen(false)\r\n setCurrentPasswordError(undefined)\r\n }}\r\n formError={currentPasswordError}\r\n onSubmit={async values => {\r\n const response = await dispatch(\r\n updatePassword({\r\n confirmedNewPassword: values.confirmNewPassword,\r\n currentPassword: values.currentPassword,\r\n newPassword: values.newPassword,\r\n })\r\n )\r\n if ((response as ResponseWithError).error?.message) {\r\n return setCurrentPasswordError(\r\n (response as ResponseWithError).error!.message\r\n )\r\n }\r\n if (isRejected(response.type)) {\r\n showErrorModal()\r\n } else {\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: t('MODAL_MESSAGES.DATA_SAVED_SUCCESSFULLY'),\r\n })\r\n )\r\n dispatch(getTrustedMfaDevices())\r\n }\r\n setIsChangePasswordFormOpen(false)\r\n return setCurrentPasswordError(undefined)\r\n }}\r\n />\r\n ) : isEnableMfaFormOpen ? (\r\n setIsEnableMfaFormOpen(false)}\r\n mainEmail={data?.email}\r\n mainPhoneNumber={data?.phoneNumber}\r\n mainPhonePrefix={data?.phonePrefix}\r\n showErrorModal={showErrorModal}\r\n />\r\n ) : isModifyMfaFormOpen ? (\r\n setIsModifyMfaFormOpen(false)}\r\n mfaContactType={data?.mfaContactType}\r\n mainEmail={data?.email}\r\n mainPhoneNumber={data?.phoneNumber}\r\n mainPhonePrefix={data?.phonePrefix}\r\n showUnexpectedErrorModal={showErrorModal}\r\n openEditMainPhoneForm={() => setIsEditMainPhoneFormOpen(true)}\r\n />\r\n ) : isEditMainPhoneFormOpen ? (\r\n setIsEditMainPhoneFormOpen(false)}\r\n mainPhoneNumber={data?.phoneNumber}\r\n mainPhonePrefix={data?.phonePrefix}\r\n isMfaEnabled={data?.isMfaEnabled}\r\n showUnexpectedErrorModal={showErrorModal}\r\n mfaContactType={data?.mfaContactType}\r\n openModifyMfaForm={() => setIsModifyMfaFormOpen(true)}\r\n />\r\n ) : isAddressFormOpen ? (\r\n {\r\n onFormSubmit(values, agreementIndex)\r\n }}\r\n field1={field1Value}\r\n field2={field2Value ?? ''}\r\n submitBtnText={t('CHANGE')}\r\n validate={validateAddress}\r\n title={title}\r\n setIsAddressInDatabase={setIsAddressInDatabase}\r\n compInfo={companyInfo}\r\n />\r\n ) : (\r\n {\r\n isUpdateContactEmailFormOpen()\r\n ? onUpdateContactEmailFormSubmit(values)\r\n : onFormSubmit(values, agreementIndex)\r\n }}\r\n submitBtnText={t('CHANGE')}\r\n formError={currentFieldsError}\r\n validate={\r\n getValidationFunc() as (\r\n vals: IDoubleFieldValues | ISingleFieldValues\r\n ) => IDoubleFieldErrors | ISingleFieldErrors\r\n }\r\n title={title}\r\n field1={{\r\n ...field1,\r\n value: field1Value,\r\n }}\r\n field2={\r\n field2\r\n ? {\r\n ...field2,\r\n value: field2Value,\r\n }\r\n : undefined\r\n }\r\n emailToInform={\r\n isContactEmail(title)\r\n ? modalEmailInfo(title, field1Value)\r\n : modalEmailInfo(title)\r\n }\r\n />\r\n )}\r\n \r\n
\r\n \r\n \r\n setIsChangePasswordFormOpen(true)}\r\n className={styles.settingsActionButton}\r\n >\r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.CHANGE_PASSWORD')}\r\n \r\n \r\n {!data?.isMfaEnabled ? (\r\n \r\n setIsEnableMfaFormOpen(true)}\r\n className={styles.settingsActionButton}\r\n >\r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.ACTIVATE_MFA')}\r\n \r\n \r\n ) : (\r\n \r\n setIsModifyMfaFormOpen(true)}\r\n className={styles.settingsActionButton}\r\n >\r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MODIFY_MFA')}\r\n \r\n \r\n )}\r\n \r\n }\r\n >\r\n \r\n \r\n }\r\n value={data?.email ?? t('MY_SETTINGS.NOT_PROVIDED')}\r\n wrapTitle\r\n xs={12}\r\n sm={6}\r\n lg={5}\r\n />\r\n \r\n }\r\n value={\r\n data?.phoneNumber\r\n ? (data?.phonePrefix ? data.phonePrefix + ' ' : '') +\r\n data.phoneNumber\r\n : t('MY_SETTINGS.NOT_PROVIDED')\r\n }\r\n onEditClick={() => setIsEditMainPhoneFormOpen(true)}\r\n xs={12}\r\n sm={5}\r\n lg={6}\r\n />\r\n {data?.isMfaEnabled ? (\r\n \r\n } />\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n }\r\n xs={12}\r\n sm={6}\r\n lg={5}\r\n value={data?.customerNumber ? data.customerNumber : undefined}\r\n />\r\n \r\n }\r\n xs={12}\r\n sm={5}\r\n lg={6}\r\n value={data?.name}\r\n />\r\n \r\n \r\n \r\n }\r\n wrapTitle\r\n xs={12}\r\n sm={6}\r\n lg={5}\r\n value={\r\n data?.correspondenceEmail ?? t('MY_SETTINGS.NOT_PROVIDED')\r\n }\r\n onEditClick={() => {\r\n openForm(ids.USER_CONTACT_EMAIL)\r\n dispatch(addSavedFormField({ id: ids.USER_CONTACT_EMAIL }))\r\n onFieldSet({\r\n name: fields.CORRESPONDENCE_EMAIL,\r\n initialValue: data?.correspondenceEmail,\r\n })\r\n }}\r\n />\r\n \r\n }\r\n xs={12}\r\n sm={5}\r\n lg={6}\r\n value={\r\n data?.contactPhoneNumber || t('MY_SETTINGS.NOT_PROVIDED')\r\n }\r\n onEditClick={() => {\r\n onFieldSet({\r\n name: fields.CONTACT_PHONE,\r\n initialValue: trimString(data?.contactPhoneNumber || ''),\r\n })\r\n openForm(ids.USER_CONTACT_PHONE)\r\n }}\r\n />\r\n \r\n \r\n \r\n }\r\n xs={12}\r\n sm={6}\r\n lg={5}\r\n value={\r\n \r\n \r\n \r\n }\r\n onEditClick={() => {\r\n onFieldSet({\r\n name: fields.MAIN_ADDRESS_LINE_1,\r\n initialValue: data?.mainAddressLine1,\r\n })\r\n onFieldSet({\r\n name: fields.MAIN_ADDRESS_LINE_2,\r\n initialValue: data?.mainAddressLine2,\r\n isSecond: true,\r\n })\r\n openForm(ids.USER_MAIN_ADDRESS)\r\n }}\r\n />\r\n \r\n }\r\n xs={12}\r\n sm={5}\r\n lg={6}\r\n value={\r\n \r\n \r\n \r\n }\r\n onEditClick={() => {\r\n onFieldSet({\r\n name: fields.CORRESPONDENCE_ADDRESS_LINE_1,\r\n initialValue: data?.correspondenceAddressLine1,\r\n })\r\n onFieldSet({\r\n name: fields.CORRESPONDENCE_ADDRESS_LINE_2,\r\n initialValue: data?.correspondenceAddressLine2,\r\n isSecond: true,\r\n })\r\n openForm(ids.USER_CORRESPONDENCE_ADDRESS)\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {activeAgreements.length > 1 && (\r\n \r\n )}\r\n \r\n {`${t(\r\n 'MY_SETTINGS.CONTRACT_DATA.MEASURMENT_POINT'\r\n )}:`}\r\n \r\n {currentMeasurementPoint?.name ||\r\n currentMeasurementPoint?.number ||\r\n t('MY_SETTINGS.NAME_MISSING')}\r\n \r\n \r\n \r\n )\r\n }\r\n >\r\n {measurementPoints && !isEmpty(measurementPoints) ? (\r\n \r\n \r\n \r\n }\r\n xs={12}\r\n sm={6}\r\n lg={5}\r\n value={\r\n \r\n {measurementPointAddress}\r\n \r\n }\r\n />\r\n {currAgreementPaperInvoice ? (\r\n \r\n }\r\n xs={12}\r\n sm={5}\r\n lg={6}\r\n value={\r\n \r\n \r\n \r\n }\r\n onEditClick={() => {\r\n onFieldSet({\r\n name: fields.AGREEMENT_ADDRESS_LINE_1,\r\n initialValue:\r\n currentAgreement?.correspondenceAddressLine1,\r\n })\r\n onFieldSet({\r\n name: fields.AGREEMENT_ADDRESS_LINE_2,\r\n initialValue:\r\n currentAgreement?.correspondenceAddressLine2,\r\n isSecond: true,\r\n })\r\n openForm(\r\n ids.getAgreementAddressId(\r\n currentAgreement?.agreementId || ''\r\n )\r\n )\r\n }}\r\n />\r\n ) : (\r\n \r\n }\r\n wrapTitle\r\n xs={12}\r\n md={6}\r\n lg={5}\r\n value={\r\n currentAgreement?.emailAddresses[0] ??\r\n t('MY_SETTINGS.NOT_PROVIDED')\r\n }\r\n onEditClick={\r\n currentAgreement &&\r\n currentAgreement.invoiceType === InvoiceType.Email\r\n ? () => {\r\n modals.setOpenModalKey(\r\n Modals.SelectActivationPointUpdate\r\n )\r\n }\r\n : undefined\r\n }\r\n />\r\n )}\r\n \r\n \r\n ) : (\r\n
Brak aktywnych umów
\r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {policyDocuments.map((doc, index) =>\r\n savePdf(\r\n `Documents/${doc.type}/pdf`,\r\n (_, saveFn) => (\r\n saveFn()}\r\n />\r\n ),\r\n doc?.title || 'dokument'\r\n )\r\n )}\r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Collapse, Typography } from '@material-ui/core'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { EditPhoneModalView } from '../../EditMainPhoneForm.types'\r\nimport { EditMainPhoneWithoutMFAFormProps } from './EditMainPhoneWithoutMFAForm.types'\r\nimport LabeledField from '@shared/components/InputWrapper/LabeledField'\r\nimport PhoneNumberInput from '@shared/components/PhoneNumberInput/PhoneNumberInput'\r\n\r\nexport const EditMainPhoneWithoutMFAForm: React.FC = ({\r\n error,\r\n touched,\r\n phonePrefixValue,\r\n phoneValue,\r\n editPhoneModalView,\r\n onEnterKeyPress,\r\n}) => {\r\n const { t } = useTranslation()\r\n\r\n return (\r\n <>\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.DO_YOU_WANT_TO_CHANGE_PHONE_NUMBER')}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Collapse, Typography } from '@material-ui/core'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport useStyles from '../../EditMainPhoneForm.style'\r\nimport { EditPhoneModalView } from '../../EditMainPhoneForm.types'\r\nimport { EditMainPhoneIncludingMFAFormProps } from './EditMainPhoneIncludingMFAForm.types'\r\nimport LabeledField from '@shared/components/InputWrapper/LabeledField'\r\nimport PhoneNumberInput from '@shared/components/PhoneNumberInput/PhoneNumberInput'\r\nimport { Input } from '@shared/components/Input'\r\nimport { MfaContactType } from '@shared/contracts/mfaContactType'\r\n\r\nexport const EditMainPhoneIncludingMFAForm: React.FC = ({\r\n touched,\r\n errors,\r\n values,\r\n editPhoneModalView,\r\n setFieldValue,\r\n setTouched,\r\n mfaContactType,\r\n onEnterKeyPress,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n\r\n return (\r\n <>\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_INSTRUCTIONS')}\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.MFA_MODIFICATION_INSTRUCTION_ONE', {\r\n mfaContactType:\r\n mfaContactType === MfaContactType.Sms\r\n ? 'numer telefonu'\r\n : 'adres e-mail',\r\n })}\r\n
\r\n
\r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.EDIT_PHONE_INSTRUCTION_TWO')}\r\n
\r\n
\r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.EDIT_PHONE_INSTRUCTION_THREE')}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setFieldValue('MfaCode', e.target.value)}\r\n onBlur={() => setTouched({ MfaCode: true })}\r\n onKeyPress={onEnterKeyPress}\r\n className={styles.numericInput}\r\n />\r\n
\r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useCallback, useState } from 'react'\r\nimport { isEmpty, isNil } from 'ramda'\r\nimport { Formik, Form } from 'formik'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Grid, Typography } from '@material-ui/core'\r\n\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { getAccessToken } from '@core/store/user/userAccountSelectors'\r\nimport {\r\n getUserAccount,\r\n updateAccountMainPhoneNumberFirstStep,\r\n updateAccountMainPhoneNumberSecondStep,\r\n updateAccountMainPhoneNumberThirdStep,\r\n} from '@core/store/user/userAccountThunks'\r\nimport useStyles from './EditMainPhoneForm.style'\r\nimport {\r\n EditMainPhoneFormProps,\r\n EditPhoneModalView,\r\n InitialFieldsType,\r\n} from './EditMainPhoneForm.types'\r\nimport { validateFormFields } from './EditMainPhoneForm.utils'\r\nimport { EditMainPhoneWithoutMFAForm } from './components/EditMainPhoneWithoutMFAForm/EditMainPhoneWithoutMFAForm'\r\nimport { EditMainPhoneIncludingMFAForm } from './components/EditMainPhoneIncludingMFAForm/EditMainPhoneIncludingMFAForm'\r\nimport Button from '@shared/components/modals/Modal/Button'\r\nimport { showModal } from '@core/store/ui/actions'\r\nimport { ResponseWithError } from '@shared/contracts/responseWithError'\r\nimport { userAccountActions } from '@core/store/user/userAccount'\r\nimport { uiActions } from '@core/store/ui/ui'\r\nimport { getIsChangePhoneAndModifyMfaPath } from '@core/store/ui/uiSelectors'\r\n\r\nexport const EditMainPhoneForm: React.FC = ({\r\n onCancel,\r\n mainPhoneNumber,\r\n mainPhonePrefix,\r\n isMfaEnabled,\r\n showUnexpectedErrorModal,\r\n mfaContactType,\r\n openModifyMfaForm,\r\n}) => {\r\n const styles = useStyles()\r\n const { t } = useTranslation()\r\n const dispatch = useAppDispatch()\r\n const accessToken = useAppSelector(getAccessToken)\r\n const isChangePhoneAndModifyMfaPath = useAppSelector(\r\n getIsChangePhoneAndModifyMfaPath\r\n )\r\n const [editPhoneModalView, setEditPhoneModalView] = useState<\r\n EditPhoneModalView\r\n >(EditPhoneModalView.INTRODUCTION)\r\n const [isFirstCycle, setIsFirstCycle] = useState(true)\r\n\r\n const initialValues: InitialFieldsType = {\r\n Phone: mainPhoneNumber ?? '',\r\n PhonePrefix: mainPhonePrefix ?? '+48',\r\n MfaCode: '',\r\n }\r\n\r\n const showErrorModal = useCallback(\r\n (message: string) => {\r\n dispatch(\r\n showModal({\r\n type: 'error',\r\n title: t('MODAL_MESSAGES.SORRY'),\r\n subtitle: message,\r\n withCancelButton: true,\r\n withSubmitButton: true,\r\n onSubmit: () => {\r\n dispatch(\r\n showModal({\r\n type: 'report',\r\n })\r\n )\r\n },\r\n })\r\n )\r\n },\r\n [dispatch, t]\r\n )\r\n\r\n const handleOnCancel = () => {\r\n onCancel()\r\n setEditPhoneModalView(EditPhoneModalView.INTRODUCTION)\r\n dispatch(uiActions.setIsChangePhoneAndModifyMfaPath(false))\r\n }\r\n\r\n const handleFirstStep = async () => {\r\n if (isMfaEnabled) {\r\n const res = await dispatch(updateAccountMainPhoneNumberFirstStep())\r\n if ((res as ResponseWithError).error?.message) {\r\n showErrorModal((res as ResponseWithError).error!.message)\r\n }\r\n if (res.type.includes('rejected')) {\r\n showUnexpectedErrorModal()\r\n } else {\r\n setEditPhoneModalView(EditPhoneModalView.MFA_CODE)\r\n }\r\n } else {\r\n setEditPhoneModalView(EditPhoneModalView.PHONE_INPUT)\r\n }\r\n }\r\n\r\n const handleSecondStep = async (\r\n values: InitialFieldsType,\r\n setFieldError: (field: string, message: string) => void,\r\n validate: { MfaCode?: string },\r\n submitForm: (() => Promise) & (() => Promise)\r\n ) => {\r\n if (isMfaEnabled) {\r\n if (isFirstCycle) {\r\n if (isNil(validate.MfaCode)) {\r\n setEditPhoneModalView(EditPhoneModalView.PHONE_INPUT)\r\n }\r\n } else {\r\n submitForm()\r\n if (isEmpty(validate)) {\r\n const res = await dispatch(\r\n updateAccountMainPhoneNumberThirdStep({\r\n accessToken,\r\n mfaCode: values.MfaCode,\r\n newPhoneNumber: values.Phone,\r\n newPhoneNumberPrefix: values.PhonePrefix,\r\n })\r\n )\r\n if ((res as ResponseWithError).error?.message) {\r\n setFieldError('MfaCode', (res as ResponseWithError).error!.message)\r\n } else {\r\n dispatch(userAccountActions.resetAccessToken)\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: t(\r\n 'MY_SETTINGS.MY_ACCOUNT_DATA.CHANGE_MAIN_PHONE_SUCCESS'\r\n ),\r\n onCancel: () => {\r\n if (isChangePhoneAndModifyMfaPath) {\r\n openModifyMfaForm()\r\n }\r\n },\r\n })\r\n )\r\n dispatch(getUserAccount())\r\n handleOnCancel()\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const handleThirdStep = async (\r\n values: InitialFieldsType,\r\n setFieldError: (field: string, message: string) => void,\r\n submitForm: (() => Promise) & (() => Promise)\r\n ) => {\r\n if (isMfaEnabled) {\r\n submitForm()\r\n const res = await dispatch(\r\n updateAccountMainPhoneNumberSecondStep({\r\n accessToken,\r\n mfaCode: values.MfaCode,\r\n newPhoneNumber: values.Phone,\r\n newPhoneNumberPrefix: values.PhonePrefix,\r\n })\r\n )\r\n if ((res as ResponseWithError).error?.message) {\r\n setFieldError('Phone', (res as ResponseWithError).error!.message)\r\n } else {\r\n values.MfaCode = ''\r\n setIsFirstCycle(false)\r\n setEditPhoneModalView(EditPhoneModalView.MFA_CODE)\r\n }\r\n } else {\r\n submitForm()\r\n const res = await dispatch(\r\n updateAccountMainPhoneNumberThirdStep({\r\n newPhoneNumber: values.Phone,\r\n newPhoneNumberPrefix: values.PhonePrefix,\r\n })\r\n )\r\n if ((res as ResponseWithError).error?.message) {\r\n setFieldError('Phone', (res as ResponseWithError).error!.message)\r\n } else {\r\n dispatch(userAccountActions.resetAccessToken)\r\n dispatch(\r\n showModal({\r\n type: 'success',\r\n title: t('MY_SETTINGS.MY_ACCOUNT_DATA.CHANGE_MAIN_PHONE_SUCCESS'),\r\n })\r\n )\r\n dispatch(getUserAccount())\r\n handleOnCancel()\r\n }\r\n }\r\n }\r\n\r\n const handleEditMainPhone = (\r\n values: InitialFieldsType,\r\n validateForm: (\r\n values: InitialFieldsType,\r\n editPhoneModalView: EditPhoneModalView\r\n ) => {},\r\n submitForm: (() => Promise) & (() => Promise),\r\n setFieldError: (field: string, message: string) => void\r\n ) => {\r\n const validate = validateForm(values, editPhoneModalView)\r\n\r\n switch (editPhoneModalView) {\r\n case EditPhoneModalView.INTRODUCTION:\r\n handleFirstStep()\r\n break\r\n case EditPhoneModalView.MFA_CODE:\r\n handleSecondStep(values, setFieldError, validate, submitForm)\r\n break\r\n case EditPhoneModalView.PHONE_INPUT:\r\n handleThirdStep(values, setFieldError, submitForm)\r\n break\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {t('MY_SETTINGS.MY_ACCOUNT_DATA.CHANGE_PHONE_NUMBER')}\r\n \r\n \r\n validateFormFields(values, editPhoneModalView)}\r\n onSubmit={() => {}}\r\n enableReinitialize\r\n >\r\n {({\r\n values,\r\n errors,\r\n touched,\r\n submitForm,\r\n setFieldValue,\r\n setTouched,\r\n setFieldError,\r\n }) => {\r\n return (\r\n
\r\n {isMfaEnabled ? (\r\n {\r\n handleEditMainPhone(\r\n values,\r\n validateFormFields,\r\n submitForm,\r\n setFieldError\r\n )\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleEditMainPhone(\r\n values,\r\n validateFormFields,\r\n submitForm,\r\n setFieldError\r\n )\r\n }}\r\n />\r\n )}\r\n
\r\n \r\n {\r\n e.preventDefault()\r\n handleEditMainPhone(\r\n values,\r\n validateFormFields,\r\n submitForm,\r\n setFieldError\r\n )\r\n }}\r\n >\r\n {t('CHANGE')}\r\n \r\n
\r\n \r\n )\r\n }}\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport { NewPassword } from '@mbok/features/NewPassword/NewPassword'\r\nimport { EmailConfirmationPage } from '@mbok/features/Register/EmailConfirmationPage'\r\nimport { RegisterPage } from '@mbok/features/Register/RegisterPage'\r\nimport { ReactComponent as FakturySvg } from '@images/icons/sider/FakturySider.svg'\r\nimport { ReactComponent as ZuzycieSvg } from '@images/icons/sider/ZuzycieSider.svg'\r\nimport { ReactComponent as CentrumSvg } from '@images/icons/sider/CentrumSider.svg'\r\nimport { ReactComponent as UstawieniaSvg } from '@images/icons/sider/UstawieniaSider.svg'\r\nimport { ReactComponent as WiadomosciSvg } from '@images/icons/sider/WiadomosciSider.svg'\r\n\r\nimport MyCenter from '@mbok/features/MyCenter'\r\nimport MyReadings from '@mbok/features/MyReadings'\r\nimport MyInvoices from '@mbok/features/MyInvoices'\r\nimport MyNewsPage from '@mbok/features/MyNews'\r\nimport ReturnPage from '@mbok/features/Return'\r\nimport MySettings from '@mbok/features/MySettings'\r\n\r\nexport interface IPath {\r\n path: string\r\n component: React.FC<{}>\r\n protectedRoute?: boolean\r\n routeLinkTitle?: string\r\n RouteLinkIcon?: React.FunctionComponent>\r\n}\r\n\r\nexport const pathFactory = (\r\n path: string,\r\n component: React.FC<{}>,\r\n protectedRoute?: boolean,\r\n routeLinkTitle?: string,\r\n RouteLinkIcon?: React.FunctionComponent>\r\n): IPath => ({\r\n path,\r\n component,\r\n protectedRoute,\r\n routeLinkTitle,\r\n RouteLinkIcon,\r\n})\r\n\r\nexport const SiderPaths = {\r\n home: pathFactory('/centrum', MyCenter, true, 'Moje centrum', CentrumSvg),\r\n // punktyPoboru: pathFactory(\r\n // '/punkty-poboru',\r\n // Home,\r\n // true,\r\n // 'Punkty poboru',\r\n // BusinessCardSvg\r\n // ),\r\n myAccountingDocuments: pathFactory(\r\n '/moje-faktury',\r\n MyInvoices,\r\n true,\r\n 'Moje faktury',\r\n FakturySvg\r\n ),\r\n myUsage: pathFactory(\r\n '/moje-zuzycie',\r\n MyReadings,\r\n true,\r\n 'Moje zużycie',\r\n ZuzycieSvg\r\n ),\r\n news: pathFactory(\r\n '/wiadomosci',\r\n MyNewsPage,\r\n true,\r\n 'Wiadomości',\r\n WiadomosciSvg\r\n ),\r\n settings: pathFactory(\r\n '/ustawienia',\r\n MySettings,\r\n true,\r\n 'Ustawienia',\r\n UstawieniaSvg\r\n ),\r\n}\r\n\r\nexport const AppPaths = {\r\n paymentProcessing: pathFactory('/przetwarzanie-platnosci', ReturnPage),\r\n register: pathFactory('/rejestracja', RegisterPage),\r\n emailConfirmation: pathFactory('/potwierdzenie-email', EmailConfirmationPage),\r\n newPassword: pathFactory('/nowe-haslo', NewPassword),\r\n ...SiderPaths,\r\n}\r\n","export const MY_PAYMENTS = 'Moje płatności'\r\nexport const SHOW_ALL = 'Zobacz wszystkie'\r\nexport const MY_NEWS = 'Moje wiadomości'\r\nexport const MY_DOCS = 'Moje umowy'\r\nexport const SHOW_DETAILS = 'Zobacz szczegóły'\r\nexport const HIDE_DETAILS = 'Ukryj szczegóły'\r\nexport const CUSTOMER_DATA = 'Dane płatnika'\r\nexport const MORE_INFO = 'Więcej informacji'\r\nexport const HELLO_AGAIN = ' witaj ponownie!'\r\n","import { ReactComponent as FiltrSvg } from '@images/icons/myInvoices/Filtr.svg'\r\nimport { Paper } from '@material-ui/core'\r\nimport { StyledButton } from '@shared/components/Button'\r\nimport React, { useCallback, useState } from 'react'\r\nimport { FilterType, useInvoicesDataSource } from './invoicesDataSource'\r\nimport { AccountingDocumentStatusFilter } from '@shared/contracts/models'\r\nimport { Grid } from '@material-ui/core'\r\nimport logoAutopay from '@images/logo_autopay.svg'\r\nimport {\r\n InvoiceTypeFilter,\r\n MeasurementPointFilter,\r\n} from './components/FilterComponents'\r\nimport DocsList from './components/InvoicesList'\r\nimport useStyles from './MyInvoices.style'\r\n\r\nexport const MyInvoices: React.FC = () => {\r\n const styles = useStyles()\r\n const { Paid, Unpaid } = AccountingDocumentStatusFilter\r\n\r\n const {\r\n invoices,\r\n loadInvoices,\r\n filter,\r\n sort,\r\n paginationState,\r\n payments,\r\n measurementPoints,\r\n } = useInvoicesDataSource()\r\n\r\n const [filtersState, setFiltersState] = useState({\r\n typeOfDoc: filter.filterBy.typeOfDoc,\r\n measurementPoint: filter.filterBy.measurementPoint,\r\n })\r\n\r\n const filterInvoices = useCallback(() => {\r\n filter.setFilterBy({\r\n typeOfDoc: filtersState.typeOfDoc,\r\n measurementPoint: filtersState.measurementPoint,\r\n })\r\n loadInvoices.loadPaidInvoices(false, {\r\n start: 0,\r\n type: filtersState.typeOfDoc,\r\n measurementPointId: filtersState.measurementPoint,\r\n })\r\n loadInvoices.loadUnpaidInvoices(false, {\r\n start: 0,\r\n type: filtersState.typeOfDoc,\r\n measurementPointId: filtersState.measurementPoint,\r\n })\r\n }, [filtersState, loadInvoices, filter])\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

Filtry

\r\n
\r\n
\r\n \r\n \r\n {\r\n if (\r\n filtersState.measurementPoint !==\r\n filter.filterBy.measurementPoint ||\r\n filtersState.typeOfDoc !== filter.filterBy.typeOfDoc\r\n )\r\n filterInvoices()\r\n }}\r\n >\r\n Filtruj\r\n \r\n
\r\n
\r\n <>\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n

\r\n Partnerem w zakresie płatności elektronicznych Polenergia\r\n Dystrybucja sp. z o.o. jest Autopay S.A.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import { useCallback, useState } from 'react'\r\nimport { useDispatchOnCustomerNumberChange } from '@core/store/customerNumberDispatcher'\r\nimport { getDocumentsByIdsSelector } from '@core/store/entity/documents/documentsSelector'\r\nimport {\r\n documentsGetAll,\r\n GetDocumentsPayload,\r\n} from '@core/store/entity/documents/documentsThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { unwrapResult } from '@reduxjs/toolkit'\r\nimport {\r\n AccountingDocumentListItem,\r\n AccountingDocumentsSortType,\r\n AccountingDocumentTypeFilter,\r\n} from '@shared/contracts/models'\r\nimport {\r\n measurementPointsDataSelector,\r\n measurementPointsLoadingSelector,\r\n} from '@core/store/entity/measurementPoints/measurementPointsSelectors'\r\nimport { paymentsLoadingSelector } from '@core/store/payments/paymentsSelectors'\r\n\r\nexport interface FilterType {\r\n measurementPoint: string | undefined\r\n typeOfDoc: AccountingDocumentTypeFilter\r\n}\r\n\r\nexport interface SortType {\r\n sortBy: AccountingDocumentsSortType\r\n sortDesc: boolean\r\n}\r\n\r\nexport const useInvoicesDataSource = () => {\r\n const dispatch = useAppDispatch()\r\n const account = useAppSelector(state => ({\r\n data: state.userAccount.account,\r\n loading: state.userAccount.loadingPending > 0,\r\n }))\r\n\r\n const measurements = useAppSelector(measurementPointsDataSelector)\r\n const measurementsLoading = useAppSelector(measurementPointsLoadingSelector)\r\n\r\n const paymentsLoading = useAppSelector(paymentsLoadingSelector)\r\n\r\n const [paidDocs, setPaidDocs] = useState([])\r\n const [unpaidDocs, setUnpaidDocs] = useState([])\r\n\r\n const defaultFilterValues = {\r\n measurementPoint: '',\r\n typeOfDoc: 'All' as AccountingDocumentTypeFilter,\r\n }\r\n const [paginationPaid, setPaginationPaid] = useState({\r\n numberOfPages: 0,\r\n docsPageStart: 0,\r\n })\r\n const [paginationUnpaid, setPaginationUnpaid] = useState({\r\n numberOfPages: 0,\r\n docsPageStart: 0,\r\n })\r\n\r\n const [filterBy, setFilterBy] = useState({\r\n measurementPoint: defaultFilterValues.measurementPoint,\r\n typeOfDoc: defaultFilterValues.typeOfDoc,\r\n })\r\n\r\n const [sortTypePaid, setSortTypePaid] = useState({\r\n sortBy: 'DueDate',\r\n sortDesc: true,\r\n })\r\n\r\n const [sortTypeUnpaid, setSortTypeUnpaid] = useState({\r\n sortBy: 'DueDate',\r\n sortDesc: false,\r\n })\r\n\r\n const [paidLoading, setPaidLoading] = useState(false)\r\n const [unpaidLoading, setUnpaidLoading] = useState(false)\r\n\r\n const unpaidDocuments: AccountingDocumentListItem[] = useAppSelector(\r\n getDocumentsByIdsSelector(unpaidDocs)\r\n )\r\n const paidDocuments: AccountingDocumentListItem[] = useAppSelector(\r\n getDocumentsByIdsSelector(paidDocs)\r\n )\r\n\r\n const PAGE_SIZE = 10\r\n\r\n const loadPaidInvoices = useCallback(\r\n (customerNumberChanged?: boolean, args?: GetDocumentsPayload) => {\r\n setPaidLoading(true)\r\n dispatch(\r\n documentsGetAll({\r\n limit: PAGE_SIZE,\r\n keepPrevious: !customerNumberChanged,\r\n status: 'Paid',\r\n start: args?.start ?? paginationPaid.docsPageStart,\r\n sortBy: args?.sortBy ?? sortTypePaid.sortBy,\r\n sortDesc: args?.sortDesc ?? sortTypePaid.sortDesc,\r\n type: args?.type ?? filterBy.typeOfDoc,\r\n measurementPointId:\r\n args?.measurementPointId ?? filterBy.measurementPoint,\r\n })\r\n )\r\n .then(unwrapResult)\r\n .then(([payload]) => {\r\n setPaginationPaid(prev => ({\r\n docsPageStart: args?.start ?? prev.docsPageStart,\r\n numberOfPages: payload.total\r\n ? Math.ceil(payload.total / PAGE_SIZE)\r\n : 0,\r\n }))\r\n setPaidDocs(\r\n payload.results?.map(result => result.accountingDocumentId ?? '') ??\r\n []\r\n )\r\n })\r\n .finally(() => setPaidLoading(false))\r\n },\r\n [dispatch, paginationPaid, sortTypePaid, filterBy]\r\n )\r\n\r\n const loadUnpaidInvoices = useCallback(\r\n (customerNumberChanged?: boolean, args?: GetDocumentsPayload) => {\r\n setUnpaidLoading(true)\r\n dispatch(\r\n documentsGetAll({\r\n limit: PAGE_SIZE,\r\n keepPrevious: !customerNumberChanged,\r\n status: 'Unpaid',\r\n start: args?.start ?? paginationUnpaid.docsPageStart,\r\n sortBy: args?.sortBy ?? sortTypeUnpaid.sortBy,\r\n sortDesc: args?.sortDesc ?? sortTypeUnpaid.sortDesc,\r\n type: args?.type ?? filterBy.typeOfDoc,\r\n measurementPointId:\r\n args?.measurementPointId ?? filterBy.measurementPoint,\r\n })\r\n )\r\n .then(unwrapResult)\r\n .then(([payload]) => {\r\n setPaginationUnpaid(prev => ({\r\n docsPageStart: args?.start ?? prev.docsPageStart,\r\n numberOfPages: payload.total\r\n ? Math.ceil(payload.total / PAGE_SIZE)\r\n : 0,\r\n }))\r\n setUnpaidDocs(\r\n payload.results?.map(result => result.accountingDocumentId ?? '') ??\r\n []\r\n )\r\n })\r\n .finally(() => setUnpaidLoading(false))\r\n },\r\n [dispatch, paginationUnpaid, sortTypeUnpaid, filterBy]\r\n )\r\n\r\n const loadInitialValuesAndData = useCallback(() => {\r\n setPaginationPaid({\r\n docsPageStart: 0,\r\n numberOfPages: 0,\r\n })\r\n setPaginationUnpaid({\r\n docsPageStart: 0,\r\n numberOfPages: 0,\r\n })\r\n setFilterBy({\r\n measurementPoint: '',\r\n typeOfDoc: AccountingDocumentTypeFilter.All,\r\n })\r\n setSortTypePaid({\r\n sortBy: AccountingDocumentsSortType.DueDate,\r\n sortDesc: true,\r\n })\r\n setSortTypeUnpaid({\r\n sortBy: AccountingDocumentsSortType.DueDate,\r\n sortDesc: false,\r\n })\r\n loadPaidInvoices(false, {\r\n start: 0,\r\n sortBy: AccountingDocumentsSortType.DueDate,\r\n sortDesc: true,\r\n type: AccountingDocumentTypeFilter.All,\r\n measurementPointId: '',\r\n })\r\n loadUnpaidInvoices(false, {\r\n start: 0,\r\n sortBy: AccountingDocumentsSortType.DueDate,\r\n sortDesc: false,\r\n type: AccountingDocumentTypeFilter.All,\r\n measurementPointId: '',\r\n })\r\n }, [loadPaidInvoices, loadUnpaidInvoices])\r\n\r\n useDispatchOnCustomerNumberChange(loadInitialValuesAndData)\r\n\r\n return {\r\n account,\r\n payments: {\r\n loading: paymentsLoading,\r\n },\r\n invoices: {\r\n unpaid: unpaidDocuments,\r\n paid: paidDocuments,\r\n paidLoading,\r\n unpaidLoading,\r\n },\r\n loadInvoices: {\r\n loadPaidInvoices,\r\n loadUnpaidInvoices,\r\n },\r\n filter: {\r\n filterBy,\r\n setFilterBy,\r\n defaultFilterValues,\r\n },\r\n sort: {\r\n sortTypePaid,\r\n setSortTypePaid,\r\n sortTypeUnpaid,\r\n setSortTypeUnpaid,\r\n },\r\n paginationState: {\r\n pageSize: PAGE_SIZE,\r\n paginationPaid,\r\n setPaginationPaid,\r\n paginationUnpaid,\r\n setPaginationUnpaid,\r\n },\r\n measurementPoints: {\r\n data: measurements,\r\n loading: measurementsLoading,\r\n },\r\n }\r\n}\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react'\r\nimport {\r\n Theme,\r\n CircularProgress,\r\n useMediaQuery,\r\n useTheme,\r\n Fade,\r\n} from '@material-ui/core'\r\nimport DetailsCardWrapper from '@shared/components/DetailsCard'\r\nimport { ReactComponent as NewsSvg } from '@images/icons/myCenter/News.svg'\r\nimport { ToggleButtonGroup } from '@material-ui/lab'\r\nimport { ToggleButton } from '@shared/components/ToggleButton'\r\nimport { NewsTypeFilter } from '@shared/contracts/models'\r\nimport { CustomPagination } from '@shared/components/Pagination'\r\nimport { useLoadingState } from '@shared/hooks/loadingState'\r\nimport useStyles from './MyNewsPage.style'\r\nimport SingleNewsOnPage from './components/SingleNewsOnPage'\r\nimport { useNewsDataSource } from './newsDataSource'\r\nimport { isEmpty } from 'ramda'\r\n\r\nconst MIN_HEIGHT = 32\r\nconst NEWS_LOADING_HEIGHT = 200\r\nconst MY_NEWS = 'Moje wiadomości'\r\n\r\nexport const MyNewsPage: React.FC = () => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const mobileXS = useMediaQuery(theme.breakpoints.down('xs'))\r\n const [newsType, setNewsType] = useState(NewsTypeFilter.Unread)\r\n const [page, setPage] = useState(1)\r\n\r\n const {\r\n allNews,\r\n unreadNews,\r\n pagination,\r\n total,\r\n loading,\r\n loadAllNews,\r\n loadUnreadNews,\r\n } = useNewsDataSource()\r\n\r\n const { limit, numOfPages, pageStart } = pagination\r\n\r\n const isLoading = useLoadingState(loading)\r\n\r\n const handleNewsTypeChange = useCallback(\r\n (_: React.MouseEvent, newType: NewsTypeFilter) => {\r\n if (newType) {\r\n setPage(1)\r\n setNewsType(newType)\r\n if (newType === NewsTypeFilter.All) {\r\n loadAllNews(false, 0)\r\n } else {\r\n loadUnreadNews(false, 0)\r\n }\r\n }\r\n },\r\n [setPage, setNewsType, loadAllNews, loadUnreadNews]\r\n )\r\n\r\n useEffect(() => {\r\n if (newsType === NewsTypeFilter.All) {\r\n loadAllNews(false, 0)\r\n } else {\r\n loadUnreadNews(false, 0)\r\n }\r\n }, [loadAllNews, loadUnreadNews, newsType])\r\n\r\n useEffect(() => {\r\n setPage(pageStart / limit + 1)\r\n }, [pageStart, setPage, limit])\r\n\r\n const emptyNews = useMemo(() => {\r\n return

Brak wiadomości

\r\n }, [styles.empty])\r\n\r\n const renderNews = useCallback(\r\n (type: NewsTypeFilter, isLoading: boolean): JSX.Element => {\r\n if (type === NewsTypeFilter.All) {\r\n return (\r\n
\r\n {!isLoading &&\r\n (isEmpty(allNews)\r\n ? emptyNews\r\n : !isLoading &&\r\n allNews.map((news, i) => {\r\n return \r\n }))}\r\n
\r\n )\r\n } else {\r\n return (\r\n
\r\n {!isLoading &&\r\n (isEmpty(unreadNews)\r\n ? emptyNews\r\n : unreadNews.map((news, i) => {\r\n return (\r\n \r\n )\r\n }))}\r\n
\r\n )\r\n }\r\n },\r\n [allNews, unreadNews, loadUnreadNews, emptyNews]\r\n )\r\n\r\n return (\r\n <>\r\n
\r\n \r\n Wybierz:\r\n \r\n \r\n Nieprzeczytane ({total.unread})\r\n \r\n \r\n Wszystkie ({total.all})\r\n \r\n \r\n
\r\n }\r\n >\r\n , val: number) => {\r\n if (val !== page) {\r\n setPage(val)\r\n if (newsType === NewsTypeFilter.All) {\r\n loadAllNews(false, (val - 1) * limit)\r\n } else {\r\n loadUnreadNews(false, (val - 1) * limit)\r\n }\r\n }\r\n }}\r\n />\r\n \r\n \r\n
\r\n
\r\n {isLoading && (\r\n \r\n \r\n
\r\n )}\r\n {renderNews(newsType, isLoading)}\r\n
\r\n \r\n \r\n )\r\n}\r\n","import { useCallback, useState } from 'react'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { newsGetAll } from '@core/store/entity/news/newsThunks'\r\nimport { useDispatchOnCustomerNumberChange } from '@core/store/customerNumberDispatcher'\r\nimport { unwrapResult } from '@reduxjs/toolkit'\r\nimport { getNewsByIdsSelector } from '@core/store/entity/news/newsSelector'\r\nimport { News } from '@shared/contracts/models'\r\n\r\nconst NEWS_LIMIT = 10\r\n\r\nexport const useNewsDataSource = () => {\r\n const dispatch = useAppDispatch()\r\n\r\n const [allNewsIds, setAllNewsIds] = useState([])\r\n const [unreadNewsIds, setUnreadNewsIds] = useState([])\r\n const [numOfPages, setNumOfPages] = useState(0)\r\n const [pageStart, setPageStart] = useState(0)\r\n const [total, setTotal] = useState<{ all: number; unread: number }>({\r\n all: 0,\r\n unread: 0,\r\n })\r\n const [loading, setLoading] = useState(false)\r\n\r\n const allNewsData: News[] = useAppSelector(getNewsByIdsSelector(allNewsIds))\r\n const unreadNewsData: News[] = useAppSelector(\r\n getNewsByIdsSelector(unreadNewsIds)\r\n )\r\n\r\n const loadAllNews = useCallback(\r\n (customerNumberChanged?: boolean, start?: number) => {\r\n setLoading(true)\r\n dispatch(\r\n newsGetAll({\r\n keepPrevious: !customerNumberChanged,\r\n type: 'All',\r\n limit: NEWS_LIMIT,\r\n start: start ?? pageStart,\r\n })\r\n )\r\n .then(unwrapResult)\r\n .then(([payload]) => {\r\n setTotal(prev => ({\r\n all: payload.total ?? 0,\r\n unread: prev.unread,\r\n }))\r\n start && setPageStart(start)\r\n setNumOfPages(\r\n payload.total ? Math.ceil(payload.total / NEWS_LIMIT) : 0\r\n )\r\n setAllNewsIds(payload.results?.map(res => res.id ?? '') ?? [])\r\n })\r\n .finally(() => setLoading(false))\r\n },\r\n [dispatch, pageStart]\r\n )\r\n\r\n const loadUnreadNews = useCallback(\r\n (customerNumberChanged?: boolean, start?: number) => {\r\n setLoading(true)\r\n dispatch(\r\n newsGetAll({\r\n keepPrevious: !customerNumberChanged,\r\n type: 'Unread',\r\n limit: NEWS_LIMIT,\r\n start: start ?? pageStart,\r\n })\r\n )\r\n .then(unwrapResult)\r\n .then(([payload]) => {\r\n setTotal(prev => ({\r\n all: prev.all,\r\n unread: payload.total ?? 0,\r\n }))\r\n start && setPageStart(start)\r\n setNumOfPages(\r\n payload.total ? Math.ceil(payload.total / NEWS_LIMIT) : 0\r\n )\r\n setUnreadNewsIds(payload.results?.map(res => res.id ?? '') ?? [])\r\n })\r\n .finally(() => setLoading(false))\r\n },\r\n [dispatch, pageStart]\r\n )\r\n\r\n useDispatchOnCustomerNumberChange(loadAllNews)\r\n useDispatchOnCustomerNumberChange(loadUnreadNews)\r\n\r\n return {\r\n allNews: allNewsData,\r\n unreadNews: unreadNewsData,\r\n pagination: {\r\n limit: NEWS_LIMIT,\r\n numOfPages,\r\n pageStart,\r\n },\r\n total,\r\n loading,\r\n loadAllNews,\r\n loadUnreadNews,\r\n }\r\n}\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { useDispatchOnCustomerNumberChange } from '@core/store/customerNumberDispatcher'\r\nimport { measurementPointsDataSelector } from '@core/store/entity/measurementPoints/measurementPointsSelectors'\r\nimport {\r\n getActiveAgreementsSelector, \r\n getEInvoiceAgreementsSelector,\r\n getHistoricalAgreementsSelector,\r\n userAgreementsDictionarySelector,\r\n userAgreementsLoadingSelector\r\n} from '@core/store/entity/userAgreements/userAgreementsSelectors'\r\nimport { allConsentsSelector } from '@core/store/entity/userConsents/userConsentsSelectors'\r\nimport { updateConsent } from '@core/store/entity/userConsents/userConsentsThunks'\r\nimport { allNotificationssSelector } from '@core/store/entity/userNotifications/userNotificationsSelectors'\r\nimport {\r\n updateUserNotification,\r\n userNotificationsGetAll\r\n} from '@core/store/entity/userNotifications/userNotificationsThunks'\r\nimport { getDocuments } from '@core/store/policies/policiesSelectors'\r\nimport { getPolicyDocument } from '@core/store/policies/policiesThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport {\r\n getAlreadySavedFormFields,\r\n isErrorModalOpen as isModalOpen\r\n} from '@core/store/ui/uiSelectors'\r\nimport ActivationPoint from '@shared/components/forms/eInvoice/ActivationPoint'\r\nimport {\r\n Document, DocumentType,\r\n MeasurementPointListItem, NotificationType\r\n} from '@shared/contracts/models'\r\nimport { useCallback, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ISwitch } from './components/forms/SwitchForm/SwitchForm'\r\nimport { Modals } from './MySettingsPage'\r\n\r\nexport const useMySettingsDataSource = () => {\r\n const [isAddressInDatabase, setIsAddressInDatabase] = useState(undefined)\r\n const [documentsContent, setDocumentsContent] = useState(\r\n {} as {\r\n [consentType: string]: string\r\n }\r\n )\r\n\r\n const [executeGetDocuments] = useApi({\r\n omitCustomerNumber: true,\r\n omitConsents: true,\r\n config: {\r\n method: 'get',\r\n },\r\n })\r\n\r\n const [executeUpdateEInvoiceEmail] = useApi({\r\n omitCustomerNumber: true,\r\n config: {\r\n method: 'put',\r\n url: `MeasurementPoints/updateEInvoiceEmail`,\r\n },\r\n })\r\n\r\n const dispatch = useAppDispatch()\r\n const { t } = useTranslation()\r\n\r\n const isErrorModalOpen = useAppSelector(isModalOpen)\r\n\r\n const alreadySavedFormFields = useAppSelector(getAlreadySavedFormFields)\r\n\r\n const historicalAgreements = useAppSelector(getHistoricalAgreementsSelector)\r\n const activeAgreements = useAppSelector(\r\n getActiveAgreementsSelector\r\n ).map(item => ({ ...item, emailAddresses: item?.emailAddresses || [] }))\r\n const agreements = useAppSelector(userAgreementsDictionarySelector)\r\n const agreementsLoading = useAppSelector(userAgreementsLoadingSelector)\r\n const eInvoiceAgreements = useAppSelector(getEInvoiceAgreementsSelector)\r\n\r\n const measurementPoints = useAppSelector(measurementPointsDataSelector)\r\n\r\n const consents = useAppSelector(allConsentsSelector)\r\n\r\n const notifications = useAppSelector(allNotificationssSelector)\r\n\r\n const policyDocuments = useAppSelector(getDocuments)\r\n\r\n const [openModalKey, setOpenModalKey] = useState(\r\n undefined\r\n )\r\n\r\n const [correspondenceEmail, setCorrespondenceEmail] = useState<\r\n string | undefined\r\n >(undefined)\r\n\r\n const [selectedMeasurementPoints, setSelectedMeasurementPoints] = useState<\r\n MeasurementPointListItem[]\r\n >([])\r\n\r\n const [\r\n selectedActivationPointOption,\r\n setSelectedActivationPointOption,\r\n ] = useState(undefined)\r\n\r\n const account = useAppSelector(state => ({\r\n data: state.userAccount.account,\r\n loading: state.userAccount.loadingPending > 0,\r\n }))\r\n\r\n const getNotificationSwitchLabel = (type?: NotificationType) => {\r\n switch (type) {\r\n case 'NewInvoice': {\r\n return t('MY_SETTINGS.EMAIL_NOTIFICATIONS.NEW_INVOICE')\r\n }\r\n case 'ClosePaymentDeadline': {\r\n return t('MY_SETTINGS.EMAIL_NOTIFICATIONS.UPCOMING_PAYMENT_DEADLINE')\r\n }\r\n case 'Vindication': {\r\n return t('MY_SETTINGS.EMAIL_NOTIFICATIONS.PAYMENT_ARREARS')\r\n }\r\n case 'News': {\r\n return t('MY_SETTINGS.EMAIL_NOTIFICATIONS.NEWS')\r\n }\r\n case 'PaymentDeadlineToday': {\r\n return t('MY_SETTINGS.EMAIL_NOTIFICATIONS.PAYMENT_DEADLINE_EXPIRATION')\r\n }\r\n default: {\r\n return t('MY_SETTINGS.EMAIL_NOTIFICATIONS.NEWS')\r\n }\r\n }\r\n }\r\n\r\n const getConsentSwitchLabel = (type?: DocumentType) => {\r\n switch (type) {\r\n case 'ElectronicContact': {\r\n return `${t(\r\n 'MY_SETTINGS.MARKETING_COMMUNICATION_CONSENTS.ELECTRONIC_CONTACT'\r\n )} (${t('MY_SETTINGS.MARKETING_COMMUNICATION_CONSENTS.OPTIONAL')})`\r\n }\r\n default: {\r\n return `${t(\r\n 'MY_SETTINGS.MARKETING_COMMUNICATION_CONSENTS.PHONE_CONTACT'\r\n )} (${t('MY_SETTINGS.MARKETING_COMMUNICATION_CONSENTS.OPTIONAL')})`\r\n }\r\n }\r\n }\r\n\r\n const notificationSwitches: ISwitch[] = notifications\r\n .filter(n => n?.notificationMethod === 'Email')\r\n .map(n => ({\r\n label: getNotificationSwitchLabel(n?.notificationType),\r\n onChange: () => {\r\n return dispatch(\r\n updateUserNotification({\r\n id: n!.id!,\r\n isActive: !n?.isActive,\r\n })\r\n )\r\n },\r\n checked: !!n?.isActive,\r\n }))\r\n\r\n const allowedConsents: DocumentType[] = ['ElectronicContact', 'PhoneContact']\r\n const marketingSwitches: ISwitch[] = consents\r\n .filter(\r\n consent =>\r\n consent?.documentType && allowedConsents.includes(consent?.documentType)\r\n )\r\n .map(consent => ({\r\n label: getConsentSwitchLabel(consent?.documentType),\r\n onChange: () => {\r\n return dispatch(\r\n updateConsent({\r\n id: consent!.id,\r\n isAccepted: !(consent?.status === 'Accepted'),\r\n })\r\n )\r\n },\r\n checked: consent?.status === 'Accepted',\r\n mandatory: !!consent?.mandatory,\r\n documentType: consent?.documentType,\r\n }))\r\n\r\n const documentTypesToFetch: DocumentType[] = [\r\n 'Terms',\r\n 'PrivacyPolicy',\r\n 'CookiesPolicy',\r\n 'Faq',\r\n ]\r\n\r\n const loadData = useCallback(() => {\r\n dispatch(userNotificationsGetAll())\r\n Promise.all(documentTypesToFetch.map(d => dispatch(getPolicyDocument(d))))\r\n }, [dispatch, documentTypesToFetch])\r\n\r\n useEffect(() => {\r\n Promise.all(\r\n consents\r\n .filter(consent => !consent?.pdfDocumentAvailable)\r\n .map(consent =>\r\n executeGetDocuments({\r\n url: '/Documents/' + consent?.documentType,\r\n })\r\n )\r\n ).then(documents => {\r\n\r\n const contents = documents.reduce((acc, { data }) => {\r\n const type = data.type?.toString()\r\n if (!type) return acc\r\n\r\n return {\r\n ...acc,\r\n [type]: data.content,\r\n }\r\n }, {})\r\n setDocumentsContent(contents)\r\n })\r\n }, [consents, executeGetDocuments])\r\n\r\n useDispatchOnCustomerNumberChange(loadData)\r\n return {\r\n consents,\r\n account,\r\n notificationSwitches,\r\n marketingSwitches,\r\n marketingDocuments: documentsContent,\r\n measurementPoints: {\r\n data: measurementPoints,\r\n selectedMeasurementPoints,\r\n setSelectedMeasurementPoints,\r\n },\r\n activationPoint: {\r\n selectedActivationPointOption,\r\n setSelectedActivationPointOption,\r\n },\r\n correspondenceEmail: {\r\n correspondenceEmail,\r\n setCorrespondenceEmail,\r\n },\r\n policyDocuments,\r\n isErrorModalOpen,\r\n alreadySavedFormFields,\r\n agreements: {\r\n data: agreements,\r\n historicalAgreements,\r\n activeAgreements,\r\n eInvoiceAgreements,\r\n loading: agreementsLoading,\r\n },\r\n modals: {\r\n openModalKey,\r\n setOpenModalKey,\r\n },\r\n api: {\r\n executeUpdateEInvoiceEmail\r\n },\r\n address: {\r\n isAddressInDatabase,\r\n setIsAddressInDatabase\r\n }\r\n }\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { NewPassData } from './static-data/NewPasswordData'\r\nimport { Formik, Form, Field, FieldProps } from 'formik'\r\nimport StyledButton from '../../shared/components/Button'\r\nimport { BackgroundWrapper } from '../../shared/BackgroundWrapper'\r\nimport { fieldNames } from '../Register/static-data/RegisterData'\r\nimport { CustomPasswordInput } from '../../shared/components/Input'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport { useLocation } from 'react-router'\r\nimport { isEmpty, isNil } from 'ramda'\r\nimport { useSnackbar } from 'notistack'\r\nimport DraftsOutlinedIcon from '@material-ui/icons/DraftsOutlined'\r\nimport { NavLink } from 'react-router-dom'\r\nimport { AppPaths } from '@core/routes/routesPaths'\r\nimport { errorToString } from '@shared/utils/errors'\r\nimport useStyles from './NewPassword.style'\r\nimport { CustomInput } from '../../shared/components/Input'\r\n\r\nexport interface InputType {\r\n name: string\r\n title: string\r\n placeholder: string\r\n errorMsg: (accType?: string) => string\r\n password?: boolean\r\n customNextField?: string\r\n validation?: (el: string, accType?: string) => boolean\r\n optional?: boolean\r\n helper?: {\r\n content: string\r\n }\r\n disable?: boolean\r\n}\r\n\r\nexport const NewPassword: React.FC = () => {\r\n const styles = useStyles()\r\n\r\n const { PASSWORD, CONFIRMED_PASSWORD, MFA_CODE } = fieldNames\r\n const { header, subHeader, inputs } = NewPassData\r\n\r\n const query = new URLSearchParams(useLocation().search)\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const [password, confirmedPassword, mfaCode] = inputs\r\n\r\n const [executeGetToken, loadingToken] = useApi({\r\n config: {\r\n method: 'get',\r\n url: 'Accounts/resetPasswordMfaToken',\r\n params: {\r\n email: query.get('email'),\r\n code: query.get('code'),\r\n },\r\n },\r\n omitConsents: true,\r\n omitCustomerNumber: true,\r\n notSecured: true,\r\n })\r\n\r\n const [executeReset, loading] = useApi({\r\n config: {\r\n method: 'put',\r\n url: 'Accounts/resetPassword',\r\n data: {\r\n email: query.get('email'),\r\n code: query.get('code'),\r\n },\r\n },\r\n omitConsents: true,\r\n omitCustomerNumber: true,\r\n notSecured: true,\r\n })\r\n\r\n const [submited, setSubmited] = useState(false)\r\n\r\n const submit = useCallback(\r\n (values: {}, errors: {}) => {\r\n if (isEmpty(errors)) {\r\n executeReset({\r\n data: {\r\n ...values,\r\n },\r\n })\r\n .then(() => {\r\n setSubmited(true)\r\n })\r\n .catch(err => {\r\n enqueueSnackbar(errorToString(err), { variant: 'error' })\r\n })\r\n }\r\n },\r\n [executeReset, enqueueSnackbar]\r\n )\r\n\r\n const mfaInput: InputType = {\r\n name: fieldNames.MFA_CODE,\r\n title: 'WPROWADŹ KOD MFA',\r\n placeholder: 'Wprowadź kod MFA',\r\n errorMsg: () => 'Wpisz poprawny kod MFA',\r\n }\r\n\r\n const mfaDisabled = query.get('mfaEnabled')?.toLowerCase().includes('false')\r\n\r\n useEffect(() => {\r\n if (\r\n !isNil(query.get('email')) &&\r\n !isNil(query.get('code')) &&\r\n !mfaDisabled\r\n ) {\r\n executeGetToken()\r\n .then(() => {})\r\n .catch(err => {\r\n enqueueSnackbar(errorToString(err), { variant: 'error' })\r\n })\r\n }\r\n // eslint-disable-next-line\r\n }, [executeGetToken])\r\n\r\n const form = () => (\r\n <>\r\n

{header}

\r\n

{subHeader}

\r\n {}}\r\n >\r\n {({ values, getFieldProps, submitForm, validateForm }) => (\r\n
\r\n {\r\n if (password.validation && password.validation(value)) {\r\n return password.errorMsg()\r\n }\r\n return ''\r\n }}\r\n >\r\n {({ field, meta: { error, touched } }: FieldProps) => {\r\n const showError = Boolean(error && touched)\r\n return (\r\n \r\n )\r\n }}\r\n \r\n {\r\n const passwordValue: string = getFieldProps(PASSWORD).value\r\n if (\r\n !value ||\r\n value !== passwordValue ||\r\n (password.validation && password.validation(passwordValue))\r\n ) {\r\n return confirmedPassword.errorMsg()\r\n }\r\n return ''\r\n }}\r\n >\r\n {({ field, meta: { error, touched } }: FieldProps) => {\r\n const showError = Boolean(error && touched)\r\n return (\r\n \r\n )\r\n }}\r\n \r\n {!mfaDisabled && (\r\n {\r\n if (!/\\d{6}$/.test(value)) {\r\n return mfaCode.errorMsg()\r\n }\r\n return ''\r\n }}\r\n >\r\n {({\r\n field,\r\n meta: { error, touched },\r\n form: { submitCount },\r\n }: FieldProps) => {\r\n const showError =\r\n Boolean(error) && (touched || submitCount > 0)\r\n return (\r\n \r\n )\r\n }}\r\n \r\n )}\r\n {\r\n await submitForm()\r\n const errors = await validateForm()\r\n submit(values, errors)\r\n }}\r\n >\r\n Zapisz\r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n\r\n const successMsg = () => (\r\n <>\r\n
\r\n \r\n
\r\n

Twoje hasło zostało zmienione !

\r\n \r\n \r\n Przejdź do logowania\r\n \r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n
\r\n {submited ? successMsg() : form()}\r\n
\r\n
\r\n )\r\n}\r\n","import { IPath, SiderPaths } from '@core/routes/routesPaths'\r\nimport logo from '@images/logo.png'\r\nimport {\r\n Fade,\r\n makeStyles,\r\n Theme,\r\n useMediaQuery,\r\n useTheme,\r\n} from '@material-ui/core'\r\nimport CloseIcon from '@material-ui/icons/KeyboardArrowLeft'\r\nimport { backdropBg } from '@mbok/styles/constants'\r\nimport { valuesIn } from 'ramda'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { NavLink, useHistory } from 'react-router-dom'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n link: {\r\n width: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: theme.palette.text.secondary,\r\n fill: theme.palette.text.secondary,\r\n fontWeight: 600,\r\n textDecoration: 'none',\r\n fontSize: 17,\r\n position: 'relative',\r\n margin: 0,\r\n padding: theme.spacing(3, 6),\r\n overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n '&:hover': {\r\n color: theme.palette.primary.main,\r\n '& svg': {\r\n fill: theme.palette.primary.main,\r\n },\r\n '&::before': {\r\n transform: 'translateX(-4px)',\r\n opacity: 1,\r\n },\r\n },\r\n '&::before': {\r\n content: \"''\",\r\n display: 'block',\r\n position: 'absolute',\r\n top: 0,\r\n transform: 'translateX(-25px)',\r\n opacity: 0,\r\n width: 4,\r\n height: '100%',\r\n background: theme.palette.primary.main,\r\n boxShadow: `-20px 0px 0px 20px ${theme.palette.primary.light}`,\r\n transition: 'opacity 0.3s, transform 0.3s',\r\n },\r\n },\r\n activeLink: {\r\n color: theme.palette.primary.main,\r\n pointerEvents: 'none',\r\n '&::before': {\r\n transform: 'translateX(-4px)',\r\n opacity: 1,\r\n },\r\n },\r\n iconActive: {\r\n '& svg path': {\r\n fill: theme.palette.primary.main,\r\n },\r\n },\r\n icon: {\r\n height: 20,\r\n width: 'auto',\r\n padding: theme.spacing(0, 2.5),\r\n '& path': {\r\n fill: theme.palette.text.secondary,\r\n },\r\n },\r\n sider: {\r\n width: 230,\r\n height: '100vh',\r\n boxShadow:\r\n '0 7px 9px 3px rgba(105,105,105,0.03), 0 2px 3px 0 rgba(66,65,65,0.05)',\r\n background: theme.palette.common.white,\r\n [theme.breakpoints.down('sm')]: {\r\n position: 'absolute',\r\n zIndex: 11,\r\n width: 300,\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '75vw',\r\n },\r\n },\r\n siderTransitions: {\r\n transition: 'width 0.3s, opacity 0.3s',\r\n },\r\n hidden: {\r\n width: 0,\r\n opacity: 0,\r\n overflow: 'hidden',\r\n },\r\n logoContainer: {\r\n display: 'flex',\r\n padding: theme.spacing(10, 7.5, 7.5),\r\n },\r\n logo: {\r\n width: '100%',\r\n alignSelf: 'flex-start',\r\n maxWidth: 175,\r\n cursor: 'pointer',\r\n },\r\n overlay: {\r\n position: 'fixed',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n zIndex: 9,\r\n background: backdropBg,\r\n },\r\n closeIcon: {\r\n marginRight: theme.spacing(2.5),\r\n height: 32,\r\n fontSize: 32,\r\n cursor: 'pointer',\r\n },\r\n}))\r\n\r\nconst Links: React.FC<{ closeSider: () => void }> = ({ closeSider }) => {\r\n const styles = useStyles()\r\n const [isHovered, setIsHovered] = useState(false)\r\n\r\n return (\r\n <>\r\n {valuesIn(SiderPaths).map(\r\n ({ path, routeLinkTitle, RouteLinkIcon }) => {\r\n return (\r\n setIsHovered(true)}\r\n onMouseLeave={() => setIsHovered(false)}\r\n >\r\n {RouteLinkIcon && }\r\n {routeLinkTitle}\r\n \r\n )\r\n }\r\n )}\r\n \r\n )\r\n}\r\n\r\nexport const Sider: React.FC<{\r\n isOpen?: boolean\r\n close: () => void\r\n}> = ({ isOpen, close }) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const mobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n const history = useHistory()\r\n\r\n const [rendered, setRendered] = useState(false)\r\n\r\n useEffect(() => {\r\n const timer = setTimeout(() => {\r\n setRendered(true)\r\n }, 0)\r\n\r\n return () => {\r\n clearTimeout(timer)\r\n }\r\n }, [])\r\n\r\n const navbar = (\r\n \r\n
\r\n {mobile && }\r\n {\r\n history.push(SiderPaths.home.path)\r\n close()\r\n }}\r\n />\r\n
\r\n {}\r\n \r\n )\r\n\r\n return (\r\n <>\r\n {navbar}\r\n \r\n
\r\n \r\n \r\n )\r\n}\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { useLogout } from '@core/auth/useLogout'\r\nimport {\r\n hasNotAcceptedRequiredOrSetConsentsSelector,\r\n notAcceptedRequiredConsentsSelector,\r\n notSetOptionalConsentsSelector,\r\n} from '@core/store/entity/userConsents/userConsentsSelectors'\r\nimport { userConsentsGetAll } from '@core/store/entity/userConsents/userConsentsThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport {\r\n createStyles,\r\n Dialog,\r\n DialogActions,\r\n DialogContent,\r\n makeStyles,\r\n Theme,\r\n} from '@material-ui/core'\r\nimport StyledButton, { Button } from '@shared/components/Button'\r\nimport { Consent } from '@shared/contracts/models'\r\nimport { Form, Formik } from 'formik'\r\nimport { useSnackbar } from 'notistack'\r\nimport React from 'react'\r\nimport { Consents } from '../Consents'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n dialogContent: {\r\n [theme.breakpoints.down('xs')]: {\r\n padding: 0,\r\n },\r\n },\r\n })\r\n)\r\n\r\nexport const AcceptRequiredConsentsModal: React.FC = () => {\r\n const styles = useStyles()\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const requiredConsents = useAppSelector(notAcceptedRequiredConsentsSelector)\r\n const optionalConsents = useAppSelector(notSetOptionalConsentsSelector)\r\n const hasNotAcceptedConsents = useAppSelector(\r\n hasNotAcceptedRequiredOrSetConsentsSelector\r\n )\r\n\r\n const [executeSetConsent] = useApi({\r\n omitConsents: true,\r\n config: {\r\n method: 'put',\r\n },\r\n })\r\n\r\n const dispatch = useAppDispatch()\r\n const logout = useLogout()\r\n\r\n const hasAllRequiredConsentsSelected = (\r\n requiredConsents: (Consent | undefined)[],\r\n values: { [id: string]: boolean }\r\n ): boolean => {\r\n if (!requiredConsents) {\r\n return true\r\n } else {\r\n return requiredConsents.every(\r\n consent => consent !== undefined && values[consent.id] === true\r\n )\r\n }\r\n }\r\n\r\n const onSubmit = (\r\n values: { [id: string]: boolean },\r\n setSubmitting: (isSubmitting: boolean) => void\r\n ) => {\r\n setSubmitting(true)\r\n Promise.all(\r\n optionalConsents.concat(requiredConsents).map(consent => {\r\n return executeSetConsent({\r\n url: 'Accounts/consents/' + consent?.id,\r\n data: {\r\n isAccepted: consent?.id && values[consent.id],\r\n },\r\n })\r\n })\r\n )\r\n .then(() => {\r\n dispatch(userConsentsGetAll())\r\n })\r\n .catch(() => {\r\n enqueueSnackbar(\r\n 'Zapisywanie zgód nie powiodło się, spróbuj ponownie lub skontaktuj się z biurem obsługi jeśli sytuacja powtarza się.',\r\n { variant: 'error' }\r\n )\r\n })\r\n .finally(() => {\r\n setSubmitting(false)\r\n })\r\n }\r\n\r\n return (\r\n {}}>\r\n {({\r\n isValid,\r\n submitForm,\r\n submitCount,\r\n setSubmitting,\r\n isSubmitting,\r\n values,\r\n }) => (\r\n
\r\n \r\n \r\n
\r\n {requiredConsents.length > 0 && (\r\n <>\r\n

Wymagane zgody

\r\n \r\n \r\n )}\r\n {optionalConsents.length > 0 && (\r\n <>\r\n

Opcjonalne zgody

\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n {\r\n logout()\r\n }}\r\n >\r\n Wyloguj się\r\n \r\n 0 && !isValid) ||\r\n !hasAllRequiredConsentsSelected(requiredConsents, values)\r\n }\r\n type=\"submit\"\r\n onClick={() => {\r\n if (!isSubmitting) {\r\n submitForm().then(() => {\r\n onSubmit(values, setSubmitting)\r\n })\r\n }\r\n }}\r\n loading={isSubmitting}\r\n >\r\n Zapisz\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-fabBtn-1,.cls-fabBtn-3{fill:#48a9a1;}.cls-fabBtn-1{opacity:0.2;}.cls-fabBtn-2{fill:#555150;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_kontakty\",\n \"data-name\": \"Ikonka kontakty\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-fabBtn-1\",\n x: 5.68,\n y: 2.15,\n width: 12.53,\n height: 16.62,\n rx: 0.5\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-fabBtn-2\",\n d: \"M16.91,3H5.38a.5.5,0,0,0-.5.5V4.84h-1a.51.51,0,0,0-.5.5.5.5,0,0,0,.5.5h1V7.22h-1a.5.5,0,0,0-.5.5.51.51,0,0,0,.5.5h1V9.59h-1a.5.5,0,1,0,0,1h1V12h-1a.51.51,0,0,0-.5.5.5.5,0,0,0,.5.5h1v1.37h-1a.51.51,0,0,0-.5.5.5.5,0,0,0,.5.5h1v1.38h-1a.5.5,0,0,0-.5.5.51.51,0,0,0,.5.5h1v1.38a.5.5,0,0,0,.5.5H16.91a.51.51,0,0,0,.5-.5V3.47A.5.5,0,0,0,16.91,3Zm-.5,15.62H5.88V4H16.41Z\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-fabBtn-3\",\n cx: 11.14,\n cy: 9.29,\n r: 1.86\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-fabBtn-3\",\n d: \"M14.46,14.89H7.83a.5.5,0,0,1-.5-.5,2.86,2.86,0,0,1,2.85-2.86H12.1A2.86,2.86,0,0,1,15,14.39.51.51,0,0,1,14.46,14.89Z\"\n}));\n\nvar SvgBtn = function SvgBtn(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBtn, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Btn.35b00e8b.svg\";\nexport { ForwardRef as ReactComponent };","import { Theme, createStyles, makeStyles, darken } from '@material-ui/core'\r\nimport { borderColor, tableTextColor } from '@mbok/styles/constants'\r\n\r\nconst BUTTON_SIZE = 64\r\nconst BUTTON_POSITION = 24\r\nconst BUTTON_ICON_SIZE = 56\r\n\r\nconst CONTAINER_WIDTH = 340\r\nconst ICON_SIZE = 20\r\nconst BTN_HEIGHT = 38\r\n\r\nconst COPY_ICON_SIZE = 15\r\n\r\nexport default makeStyles((theme: Theme) =>\r\n createStyles({\r\n button: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n width: BUTTON_SIZE,\r\n height: BUTTON_SIZE,\r\n backgroundColor: theme.palette.common.white,\r\n borderRadius: 15,\r\n boxShadow: '0 3px 7px 1px rgba(0,0,0,0.15)',\r\n outline: 'none',\r\n border: 'none',\r\n cursor: 'pointer',\r\n zIndex: 1900,\r\n position: 'fixed',\r\n right: BUTTON_POSITION,\r\n bottom: BUTTON_POSITION,\r\n '&:hover': {\r\n '& svg': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n '&:focus': {\r\n outline: 'none',\r\n boxShadow: '0 3px 7px 1px rgba(0,0,0,0.3)',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: BUTTON_SIZE - 20,\r\n height: BUTTON_SIZE - 20,\r\n right: BUTTON_POSITION - 12,\r\n bottom: BUTTON_POSITION - 12,\r\n },\r\n },\r\n icon: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n width: BUTTON_ICON_SIZE,\r\n height: BUTTON_ICON_SIZE,\r\n borderRadius: 8,\r\n '& svg': {\r\n width: BUTTON_ICON_SIZE - 8,\r\n height: BUTTON_ICON_SIZE - 8,\r\n color: theme.palette.primary.main,\r\n transition: 'color 0.2s ease-in-out',\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: BUTTON_ICON_SIZE - 16,\r\n height: BUTTON_ICON_SIZE - 16,\r\n '& svg': {\r\n width: BUTTON_ICON_SIZE - 20,\r\n height: BUTTON_ICON_SIZE - 20,\r\n },\r\n },\r\n },\r\n paper: {\r\n background: 'transparent',\r\n border: 'none',\r\n boxShadow: 'none',\r\n zIndex: 2000,\r\n },\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n padding: theme.spacing(5, 6, 7),\r\n marginBottom: theme.spacing(4),\r\n backgroundColor: theme.palette.common.white,\r\n borderRadius: 7,\r\n color: tableTextColor,\r\n border: `2.5px solid ${borderColor}`,\r\n width: CONTAINER_WIDTH,\r\n [theme.breakpoints.down('xs')]: {\r\n width: CONTAINER_WIDTH - 24,\r\n },\r\n },\r\n title: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n paddingTop: 15,\r\n '& h1': {\r\n fontSize: 15,\r\n fontWeight: 700,\r\n letterSpacing: 0.13,\r\n textAlign: 'center',\r\n margin: theme.spacing(0, 4),\r\n },\r\n },\r\n closeIcon: {\r\n position: 'absolute',\r\n top: 8,\r\n right: 8,\r\n fill: theme.palette.primary.dark,\r\n cursor: 'pointer',\r\n transition: 'fill 0.2s ease-in-out',\r\n '&:hover': {\r\n fill: theme.palette.primary.main,\r\n },\r\n },\r\n divider: {\r\n margin: theme.spacing(4, 0),\r\n },\r\n addressContent: {\r\n '& p, span': {\r\n fontSize: 13,\r\n opacity: 0.65,\r\n letterSpacing: 0.57,\r\n },\r\n '& p': {\r\n margin: theme.spacing(0, 0, 1),\r\n },\r\n },\r\n header: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginBottom: theme.spacing(3),\r\n '& svg': {\r\n height: ICON_SIZE,\r\n width: ICON_SIZE,\r\n marginRight: theme.spacing(2.5),\r\n },\r\n },\r\n officeName: {\r\n '& h2': {\r\n margin: 0,\r\n fontSize: 13,\r\n opacity: 0.55,\r\n letterSpacing: 0.57,\r\n },\r\n '& h3': {\r\n display: 'flex',\r\n alignItems: 'center',\r\n margin: 0,\r\n fontSize: 15,\r\n letterSpacing: 0.25,\r\n },\r\n '& svg': {\r\n marginLeft: theme.spacing(1),\r\n fill: theme.palette.primary.main,\r\n height: COPY_ICON_SIZE,\r\n width: COPY_ICON_SIZE,\r\n cursor: 'pointer',\r\n transition: 'fill 0.2s ease-in-out, transform 0.2s ease-in-out',\r\n '&:hover': {\r\n transform: 'scale(1.1)',\r\n fill: theme.palette.primary.dark,\r\n },\r\n },\r\n '& a': {\r\n textDecoration: 'none',\r\n color: theme.palette.primary.main,\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n color: theme.palette.primary.dark,\r\n },\r\n },\r\n },\r\n contactContent: {\r\n '& div': {\r\n marginBottom: theme.spacing(2),\r\n },\r\n },\r\n btn: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: theme.spacing(6),\r\n height: BTN_HEIGHT,\r\n width: '100%',\r\n border: `2.7px solid ${theme.palette.primary.main}`,\r\n borderRadius: 19,\r\n fontSize: 14,\r\n letterSpacing: 0.55,\r\n textDecoration: 'none',\r\n color: theme.palette.primary.main,\r\n fontWeight: 700,\r\n transition: 'background-color 0.2s ease-in-out',\r\n '&:hover': {\r\n backgroundColor: darken(theme.palette.common.white, 0.05),\r\n },\r\n },\r\n })\r\n)\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { Popover } from '@material-ui/core'\r\nimport CloseIcon from '@material-ui/icons/Close'\r\nimport { useApi } from '@core/apiClient/apiClient'\r\nimport { ReactComponent as BtnSvg } from '@images/icons/fabBOK/Btn.svg'\r\nimport useStyles from './CustomerServiceOfficeFab.style'\r\nimport { CustomerServiceOffice } from '@shared/contracts/customerServiceOffice'\r\nimport { CONTACT_PHONE, SERVICE_PHONE, EMAIL } from './strings'\r\nimport FileCopyIcon from '@material-ui/icons/FileCopy'\r\nimport { useSnackbar } from 'notistack'\r\nimport { useTranslation } from 'react-i18next'\r\nimport copy from 'copy-to-clipboard'\r\nimport { isMobile } from 'react-device-detect'\r\n\r\nexport const CustomerServiceOfficeFab: React.FC = () => {\r\n const { t } = useTranslation()\r\n\r\n const styles = useStyles()\r\n const [anchorEl, setAnchorEl] = useState(null)\r\n const [showData, setShowData] = useState(false)\r\n\r\n const { enqueueSnackbar } = useSnackbar()\r\n\r\n const handleClick = (event: React.MouseEvent) => {\r\n setAnchorEl(showData ? null : event.currentTarget)\r\n }\r\n\r\n // eslint-disable-next-line\r\n const [index, setIndex] = useState(0)\r\n const [contactDetails, setContactDetails] = useState<\r\n CustomerServiceOffice[]\r\n >()\r\n const [executeGetContactDetails] = useApi({\r\n config: {\r\n method: 'get',\r\n url: 'Content/customerServiceOffice',\r\n },\r\n })\r\n\r\n const getContactDetails = useCallback(async () => {\r\n try {\r\n const response = await executeGetContactDetails()\r\n const data = response.data\r\n setContactDetails(data)\r\n } catch {}\r\n }, [executeGetContactDetails])\r\n\r\n const copyDataToClipboard = useCallback(\r\n (name: string, dataToCopy: string) => {\r\n copy(dataToCopy) &&\r\n enqueueSnackbar(`${name} ${t('BOK_FAB.HAS_BEEN_COPIED')}`, {\r\n variant: 'default',\r\n preventDuplicate: true,\r\n autoHideDuration: 2000,\r\n })\r\n },\r\n [enqueueSnackbar, t]\r\n )\r\n\r\n useEffect(() => {\r\n if (!contactDetails) {\r\n getContactDetails()\r\n }\r\n }, [showData, getContactDetails, contactDetails])\r\n\r\n const { email, phone, servicePhone } =\r\n (contactDetails && contactDetails[index]) ?? {}\r\n\r\n return (\r\n
\r\n {\r\n handleClick(e)\r\n setShowData(prev => !prev)\r\n }}\r\n >\r\n
\r\n \r\n
\r\n \r\n {\r\n setShowData(false)\r\n }}\r\n open={showData && !!contactDetails}\r\n anchorOrigin={{\r\n vertical: 'top',\r\n horizontal: 'right',\r\n }}\r\n transformOrigin={{\r\n vertical: 'bottom',\r\n horizontal: 'right',\r\n }}\r\n >\r\n <>\r\n {contactDetails && (\r\n
\r\n
\r\n setShowData(false)}\r\n />\r\n
\r\n
\r\n
\r\n

{CONTACT_PHONE}

\r\n

\r\n {isMobile ? (\r\n {phone}\r\n ) : (\r\n <>\r\n {phone}\r\n {phone && (\r\n {\r\n copyDataToClipboard(CONTACT_PHONE, phone)\r\n }}\r\n />\r\n )}\r\n \r\n )}\r\n

\r\n
\r\n
\r\n

{SERVICE_PHONE}

\r\n

\r\n {isMobile ? (\r\n {servicePhone}\r\n ) : (\r\n <>\r\n {servicePhone}\r\n {servicePhone && (\r\n {\r\n copyDataToClipboard(SERVICE_PHONE, servicePhone)\r\n }}\r\n />\r\n )}\r\n \r\n )}\r\n

\r\n
\r\n
\r\n

{EMAIL}

\r\n

\r\n {email}\r\n {!isMobile && email && (\r\n {\r\n copyDataToClipboard(EMAIL, email)\r\n }}\r\n />\r\n )}\r\n

\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n
\r\n )\r\n}\r\n","export const CONTACT_PHONE = 'Telefon kontaktowy'\r\nexport const SERVICE_PHONE = 'Telefon do zgłaszania awarii'\r\nexport const EMAIL = 'E-mail'\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Light/Happy\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"zarowka_oplacona\",\n transform: \"translate(0.000000, -1.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.8333333,4.58 C10.2389895,4.61286935 7.34048893,7.53217964 7.33327299,11.1266667 C7.3275839,12.4524204 7.73283954,13.7473752 8.49333333,14.8333333 C8.51094766,14.865915 8.53100505,14.8971154 8.55333333,14.9266667 C8.62,15.02 10.2133333,17.2066667 10.2133333,18.9933333 L10.2133333,21.46 C10.2133333,22.5645695 11.1087638,23.46 12.2133333,23.46 L15.5133333,23.46 C16.6179028,23.46 17.5133333,22.5645695 17.5133333,21.46 L17.5133333,18.9933333 C17.5133333,17.2066667 19.1133333,14.9933333 19.16,14.9466667 C19.1739829,14.9216575 19.1920036,14.8991317 19.2133333,14.88 C20.6147321,12.885607 20.790703,10.2773524 19.669896,8.11279386 C18.549089,5.94823536 16.3175147,4.58660608 13.88,4.58 L13.8333333,4.58 Z\",\n id: \"Path\",\n fill: \"#C2E0DC\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\",\n cx: 10.16,\n cy: 11.7733333,\n r: 1\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\",\n cx: 13.84,\n cy: 11.7733333,\n r: 1\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.7866667,10 C14.6779321,10.0017393 14.5754614,9.94925434 14.5133333,9.86 C14.4161897,9.72307765 14.2709633,9.62784722 14.1066667,9.59333333 C13.9439687,9.55455698 13.7726391,9.57835275 13.6266667,9.66 C13.5499193,9.70236386 13.4593653,9.71210327 13.3753646,9.68702844 C13.291364,9.66195362 13.2209664,9.60416899 13.18,9.52666667 C13.1354583,9.4493167 13.1245074,9.35710935 13.149693,9.27147834 C13.1748786,9.18584734 13.2340069,9.11425148 13.3133333,9.07333333 C13.9101795,8.74135847 14.6613748,8.91404706 15.0533333,9.47333333 C15.1585863,9.62324648 15.1261602,9.82959463 14.98,9.94 C14.9229602,9.9787892 14.8556452,9.99968003 14.7866667,10 L14.7866667,10 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.18666667,10.0000068 C9.06157273,10.0006748 8.94663198,9.93125292 8.88900723,9.82021988 C8.83138249,9.70918683 8.84077597,9.5752371 8.91333333,9.47333333 C9.10439019,9.20224836 9.38961764,9.01209673 9.71333333,8.94 C10.0345218,8.86589947 10.371774,8.91339978 10.66,9.07333333 C10.8220035,9.1616989 10.8816989,9.36466314 10.7933333,9.52666666 C10.7049678,9.68867019 10.5020035,9.74836556 10.34,9.66 C10.1928591,9.58189631 10.0228565,9.55828483 9.86,9.59333333 C9.69570332,9.62784722 9.55047692,9.72307765 9.45333333,9.86 C9.39333416,9.94819537 9.29333363,10.0006957 9.18666667,10.0000068 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,15.6733333 C11.0719814,15.6727776 10.1760139,15.3338269 9.48,14.72 C9.41554852,14.6595111 9.37898757,14.5750573 9.37898757,14.4866667 C9.37898757,14.3982761 9.41554852,14.3138222 9.48,14.2533333 C9.53683432,14.1860326 9.61844004,14.1445375 9.70630439,14.1382614 C9.79416874,14.1319854 9.88084376,14.1614605 9.94666667,14.22 C11.1482578,15.2331892 12.9050755,15.2331892 14.1066667,14.22 C14.1724896,14.1614605 14.2591646,14.1319854 14.3470289,14.1382614 C14.4348933,14.1445375 14.516499,14.1860326 14.5733333,14.2533333 C14.6377848,14.3138222 14.6743458,14.3982761 14.6743458,14.4866667 C14.6743458,14.5750573 14.6377848,14.6595111 14.5733333,14.72 C13.8635832,15.3461092 12.9463614,15.685909 12,15.6733333 L12,15.6733333 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,5.04 C8.40304918,5.06923728 5.50052563,7.98960421 5.49332712,11.5866667 C5.49148681,12.9138654 5.90144126,14.2089488 6.66666667,15.2933333 C6.66666667,15.2933333 6.71333333,15.3666667 6.72,15.3866667 C6.72666667,15.4066667 8.38666667,17.6666667 8.38666667,19.4533333 L8.38666667,21.92 C8.38666667,23.0245695 9.28209717,23.92 10.3866667,23.92 L13.72,23.92 C14.8245695,23.92 15.72,23.0245695 15.72,21.92 L15.72,19.4533333 C15.6333333,17.6666667 17.3333333,15.3333333 17.3333333,15.3333333 C18.1044427,14.2364171 18.5166829,12.9274962 18.5133536,11.5866667 C18.506108,7.98702563 15.5995573,5.0656 12,5.04 Z M13.66,22.7733333 L10.3266667,22.7733333 C10.1009568,22.7733333 9.88458736,22.6832236 9.72561352,22.522998 C9.56663968,22.3627724 9.47822276,22.1457028 9.47997372,21.92 L9.47997372,20 L14.48,20 L14.48,21.9 C14.4871728,22.1257051 14.4038835,22.3449233 14.2486471,22.508923 C14.0934108,22.6729227 13.879092,22.768113 13.6533333,22.7733333 L13.66,22.7733333 Z M16.1533333,15.0533333 C15.3552088,16.2044801 14.8078314,17.5104637 14.5466667,18.8866667 L9.46,18.8866667 C9.1551414,17.3611977 8.52030594,15.9208721 7.6,14.6666667 C6.95865714,13.7605128 6.6160675,12.6768108 6.61996652,11.5666667 C6.61996652,8.59537471 9.02870805,6.18666667 12,6.18666667 C14.971292,6.18666667 17.38,8.59537471 17.38,11.5666667 C17.3552525,12.4067226 17.1649495,13.2336344 16.82,14 C16.6215702,14.3670775 16.3965238,14.7191302 16.1466667,15.0533333 L16.1533333,15.0533333 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,4.07333333 C11.6870386,4.07333333 11.4333333,3.81962802 11.4333333,3.50666667 L11.4333333,0.666666667 C11.4333333,0.353705308 11.6870386,0.1 12,0.1 C12.3129614,0.1 12.5666667,0.353705308 12.5666667,0.666666667 L12.5666667,3.50666667 C12.5666667,3.81962802 12.3129614,4.07333333 12,4.07333333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.03333333,6.54666667 C5.88273379,6.54858502 5.73801465,6.48828537 5.63333333,6.38 L3.63333333,4.38 C3.43403746,4.15574622 3.44406754,3.81501856 3.65620972,3.60287638 C3.86835189,3.39073421 4.20907955,3.38070412 4.43333333,3.58 L6.43333333,5.58 C6.65370691,5.80113744 6.65370691,6.15886256 6.43333333,6.38 C6.32820303,6.48762522 6.18378027,6.54780137 6.03333333,6.54666667 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.56,12.5133333 L0.713333333,12.5133333 C0.400371975,12.5133333 0.146666667,12.259628 0.146666667,11.9466667 C0.146666667,11.6337053 0.400371975,11.38 0.713333333,11.38 L3.56,11.38 C3.87296136,11.38 4.12666667,11.6337053 4.12666667,11.9466667 C4.12666667,12.259628 3.87296136,12.5133333 3.56,12.5133333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,20.4933333 C3.84955306,20.494468 3.70513031,20.4342919 3.6,20.3266667 C3.37962643,20.1055292 3.37962643,19.7478041 3.6,19.5266667 L5.6,17.5266667 C5.73977647,17.3693859 5.95519306,17.3025048 6.15946811,17.3529666 C6.36374315,17.4034284 6.52323829,17.5629235 6.5737001,17.7671986 C6.6241619,17.9714736 6.55728073,18.1868902 6.4,18.3266667 L4.4,20.3266667 C4.29531868,20.434952 4.15059954,20.4952517 4,20.4933333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,6.54666667 C17.8494005,6.54858502 17.7046813,6.48828537 17.6,6.38 C17.3796264,6.15886256 17.3796264,5.80113744 17.6,5.58 L19.6,3.58 C19.8242538,3.38070412 20.1649814,3.39073421 20.3771236,3.60287638 C20.5892658,3.81501856 20.5992959,4.15574622 20.4,4.38 L18.4,6.38 C18.2948697,6.48762522 18.1504469,6.54780137 18,6.54666667 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2866667,12.5133333 L20.44,12.5133333 C20.1270386,12.5133333 19.8733333,12.259628 19.8733333,11.9466667 C19.8733333,11.6337053 20.1270386,11.38 20.44,11.38 L23.2866667,11.38 C23.599628,11.38 23.8533333,11.6337053 23.8533333,11.9466667 C23.8533333,12.259628 23.599628,12.5133333 23.2866667,12.5133333 L23.2866667,12.5133333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,20.4933333 C19.8494005,20.4952517 19.7046813,20.434952 19.6,20.3266667 L17.6,18.3266667 C17.4007041,18.1024129 17.4107342,17.7616852 17.6228764,17.5495431 C17.8350186,17.3374009 18.1757462,17.3273708 18.4,17.5266667 L20.4,19.5266667 C20.6203736,19.7478041 20.6203736,20.1055292 20.4,20.3266667 C20.2948697,20.4342919 20.1504469,20.494468 20,20.4933333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n})));\n\nvar SvgHappy = function SvgHappy(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHappy, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Happy.aba6b926.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Light/Sad\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"zarowka_przeterminowana\",\n transform: \"translate(0.000000, -1.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.8333333,4.58 C10.2389895,4.61286935 7.34048893,7.53217964 7.33327299,11.1266667 C7.3275839,12.4524204 7.73283954,13.7473752 8.49333333,14.8333333 C8.51094766,14.865915 8.53100505,14.8971154 8.55333333,14.9266667 C8.62,15.02 10.2133333,17.2066667 10.2133333,18.9933333 L10.2133333,21.46 C10.2133333,22.5645695 11.1087638,23.46 12.2133333,23.46 L15.5133333,23.46 C16.6179028,23.46 17.5133333,22.5645695 17.5133333,21.46 L17.5133333,18.9933333 C17.5133333,17.2066667 19.1133333,14.9933333 19.16,14.9466667 C19.1739829,14.9216575 19.1920036,14.8991317 19.2133333,14.88 C20.6147321,12.885607 20.790703,10.2773524 19.669896,8.11279386 C18.549089,5.94823536 16.3175147,4.58660608 13.88,4.58 L13.8333333,4.58 Z\",\n id: \"Path\",\n fill: \"#C2E0DC\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\",\n cx: 10.16,\n cy: 11.7733333,\n r: 1\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\",\n cx: 13.84,\n cy: 11.7733333,\n r: 1\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5066667,10.54 C14.376732,10.5402579 14.2471304,10.5268508 14.12,10.5 C13.7116964,10.4057767 13.3501774,10.1694898 13.1,9.83333333 C13.0476568,9.76178846 13.0259681,9.67234046 13.0397297,9.58476704 C13.0534912,9.49719363 13.1015693,9.41870896 13.1733333,9.36666667 C13.3232465,9.26141369 13.5295946,9.29383983 13.64,9.44 C13.9519372,9.87719428 14.5402752,10.0142827 15.0133333,9.76 C15.0910854,9.71734735 15.1826288,9.70743615 15.267708,9.73245943 C15.3527872,9.75748272 15.4243877,9.81537745 15.4666667,9.89333333 C15.55165,10.0556843 15.4926813,10.2561778 15.3333333,10.3466667 C15.077046,10.4758587 14.7936671,10.5421328 14.5066667,10.54 L14.5066667,10.54 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.56666667,10.54 C9.27847607,10.5387909 8.99485482,10.4678856 8.74,10.3333333 C8.62637092,10.2823255 8.55065866,10.172223 8.54369706,10.0478651 C8.53673547,9.92350714 8.59968604,9.80564223 8.70691214,9.74227089 C8.81413824,9.67889956 8.94774975,9.68059497 9.05333333,9.74666667 C9.28215277,9.86853696 9.54717591,9.90403113 9.8,9.84666667 C10.053099,9.78753689 10.2773107,9.64120926 10.4333333,9.43333333 C10.4831182,9.36094917 10.55996,9.31166861 10.6465129,9.29661592 C10.7330659,9.28156324 10.8220337,9.30200734 10.8933333,9.35333333 C10.9661492,9.40435804 11.0155619,9.48235946 11.0305851,9.56999493 C11.0456084,9.6576304 11.0249968,9.74763597 10.9733333,9.82 C10.7231559,10.1561564 10.3616369,10.3924433 9.95333333,10.4866667 C9.82654841,10.5173099 9.69701297,10.5351768 9.56666667,10.54 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.3,15.6733333 C14.2194066,15.6741408 14.14125,15.6457202 14.08,15.5933333 C12.8784089,14.5801441 11.1215911,14.5801441 9.92,15.5933333 C9.85417709,15.6518729 9.76750207,15.6813479 9.67963772,15.6750719 C9.59177337,15.6687959 9.51016765,15.6273008 9.45333333,15.56 C9.38888185,15.4995111 9.3523209,15.4150573 9.3523209,15.3266667 C9.3523209,15.2382761 9.38888185,15.1538222 9.45333333,15.0933333 C10.8927922,13.8219418 13.0538745,13.8219418 14.4933333,15.0933333 C14.5946969,15.1854439 14.6294002,15.3301839 14.5808256,15.4582442 C14.532251,15.5863045 14.4102858,15.6716185 14.2733333,15.6733333 L14.3,15.6733333 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,5.04 C8.40304918,5.06923728 5.50052563,7.98960421 5.49332712,11.5866667 C5.49148681,12.9138654 5.90144126,14.2089488 6.66666667,15.2933333 C6.66666667,15.2933333 6.71333333,15.3666667 6.72,15.3866667 C6.72666667,15.4066667 8.38666667,17.6666667 8.38666667,19.4533333 L8.38666667,21.92 C8.38666667,23.0245695 9.28209717,23.92 10.3866667,23.92 L13.72,23.92 C14.8245695,23.92 15.72,23.0245695 15.72,21.92 L15.72,19.4533333 C15.6333333,17.6666667 17.3333333,15.3333333 17.3333333,15.3333333 C18.1044427,14.2364171 18.5166829,12.9274962 18.5133536,11.5866667 C18.506108,7.98702563 15.5995573,5.0656 12,5.04 Z M13.66,22.7733333 L10.3266667,22.7733333 C10.1009568,22.7733333 9.88458736,22.6832236 9.72561352,22.522998 C9.56663968,22.3627724 9.47822276,22.1457028 9.47997372,21.92 L9.47997372,20 L14.48,20 L14.48,21.9 C14.4871728,22.1257051 14.4038835,22.3449233 14.2486471,22.508923 C14.0934108,22.6729227 13.879092,22.768113 13.6533333,22.7733333 L13.66,22.7733333 Z M16.1533333,15.0533333 C15.3552088,16.2044801 14.8078314,17.5104637 14.5466667,18.8866667 L9.46,18.8866667 C9.1551414,17.3611977 8.52030594,15.9208721 7.6,14.6666667 C6.95865714,13.7605128 6.6160675,12.6768108 6.61996652,11.5666667 C6.61996652,8.59537471 9.02870805,6.18666667 12,6.18666667 C14.971292,6.18666667 17.38,8.59537471 17.38,11.5666667 C17.3552525,12.4067226 17.1649495,13.2336344 16.82,14 C16.6215702,14.3670775 16.3965238,14.7191302 16.1466667,15.0533333 L16.1533333,15.0533333 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,4.07333333 C11.6870386,4.07333333 11.4333333,3.81962802 11.4333333,3.50666667 L11.4333333,0.666666667 C11.4333333,0.353705308 11.6870386,0.1 12,0.1 C12.3129614,0.1 12.5666667,0.353705308 12.5666667,0.666666667 L12.5666667,3.50666667 C12.5666667,3.81962802 12.3129614,4.07333333 12,4.07333333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.03333333,6.54666667 C5.88273379,6.54858502 5.73801465,6.48828537 5.63333333,6.38 L3.63333333,4.38 C3.43403746,4.15574622 3.44406754,3.81501856 3.65620972,3.60287638 C3.86835189,3.39073421 4.20907955,3.38070412 4.43333333,3.58 L6.43333333,5.58 C6.65370691,5.80113744 6.65370691,6.15886256 6.43333333,6.38 C6.32820303,6.48762522 6.18378027,6.54780137 6.03333333,6.54666667 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.56,12.5133333 L0.713333333,12.5133333 C0.400371975,12.5133333 0.146666667,12.259628 0.146666667,11.9466667 C0.146666667,11.6337053 0.400371975,11.38 0.713333333,11.38 L3.56,11.38 C3.87296136,11.38 4.12666667,11.6337053 4.12666667,11.9466667 C4.12666667,12.259628 3.87296136,12.5133333 3.56,12.5133333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,20.4933333 C3.84955306,20.494468 3.70513031,20.4342919 3.6,20.3266667 C3.37962643,20.1055292 3.37962643,19.7478041 3.6,19.5266667 L5.6,17.5266667 C5.73977647,17.3693859 5.95519306,17.3025048 6.15946811,17.3529666 C6.36374315,17.4034284 6.52323829,17.5629235 6.5737001,17.7671986 C6.6241619,17.9714736 6.55728073,18.1868902 6.4,18.3266667 L4.4,20.3266667 C4.29531868,20.434952 4.15059954,20.4952517 4,20.4933333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,6.54666667 C17.8494005,6.54858502 17.7046813,6.48828537 17.6,6.38 C17.3796264,6.15886256 17.3796264,5.80113744 17.6,5.58 L19.6,3.58 C19.8242538,3.38070412 20.1649814,3.39073421 20.3771236,3.60287638 C20.5892658,3.81501856 20.5992959,4.15574622 20.4,4.38 L18.4,6.38 C18.2948697,6.48762522 18.1504469,6.54780137 18,6.54666667 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2866667,12.5133333 L20.44,12.5133333 C20.1270386,12.5133333 19.8733333,12.259628 19.8733333,11.9466667 C19.8733333,11.6337053 20.1270386,11.38 20.44,11.38 L23.2866667,11.38 C23.599628,11.38 23.8533333,11.6337053 23.8533333,11.9466667 C23.8533333,12.259628 23.599628,12.5133333 23.2866667,12.5133333 L23.2866667,12.5133333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,20.4933333 C19.8494005,20.4952517 19.7046813,20.434952 19.6,20.3266667 L17.6,18.3266667 C17.4007041,18.1024129 17.4107342,17.7616852 17.6228764,17.5495431 C17.8350186,17.3374009 18.1757462,17.3273708 18.4,17.5266667 L20.4,19.5266667 C20.6203736,19.7478041 20.6203736,20.1055292 20.4,20.3266667 C20.2948697,20.4342919 20.1504469,20.494468 20,20.4933333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n})));\n\nvar SvgSad = function SvgSad(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSad, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Sad.caefc817.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Light/Weird\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"zarowka_nadplata\",\n transform: \"translate(0.000000, -1.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.8333333,4.58 C10.2389895,4.61286935 7.34048893,7.53217964 7.33327299,11.1266667 C7.3275839,12.4524204 7.73283954,13.7473752 8.49333333,14.8333333 C8.51094766,14.865915 8.53100505,14.8971154 8.55333333,14.9266667 C8.62,15.02 10.2133333,17.2066667 10.2133333,18.9933333 L10.2133333,21.46 C10.2133333,22.5645695 11.1087638,23.46 12.2133333,23.46 L15.5133333,23.46 C16.6179028,23.46 17.5133333,22.5645695 17.5133333,21.46 L17.5133333,18.9933333 C17.5133333,17.2066667 19.1133333,14.9933333 19.16,14.9466667 C19.1739829,14.9216575 19.1920036,14.8991317 19.2133333,14.88 C20.6147321,12.885607 20.790703,10.2773524 19.669896,8.11279386 C18.549089,5.94823536 16.3175147,4.58660608 13.88,4.58 L13.8333333,4.58 Z\",\n id: \"Path\",\n fill: \"#C2E0DC\"\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\",\n cx: 10.16,\n cy: 11.7733333,\n r: 1\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\",\n cx: 13.84,\n cy: 11.7733333,\n r: 1\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.9533333,15.56 L11.0466667,15.56 C10.8625718,15.56 10.7133333,15.4107616 10.7133333,15.2266667 C10.7133333,15.0425718 10.8625718,14.8933333 11.0466667,14.8933333 L12.9533333,14.8933333 C13.1374282,14.8933333 13.2866667,15.0425718 13.2866667,15.2266667 C13.2866667,15.4107616 13.1374282,15.56 12.9533333,15.56 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.84,10.0466667 C8.79119359,10.0482609 8.74285124,10.0367508 8.7,10.0133333 C8.61960363,9.97713219 8.55725522,9.90996901 8.52712344,9.82710663 C8.49699167,9.74424424 8.50163563,9.6527202 8.54,9.57333333 C8.72011237,9.19156122 9.03286796,8.88828307 9.42,8.72 C9.81523456,8.55117397 10.2584576,8.53221255 10.6666667,8.66666667 C10.8389554,8.72674358 10.9331064,8.91210336 10.88,9.08666667 C10.8541107,9.17170451 10.7946847,9.24251964 10.7154309,9.2827755 C10.6361772,9.32303137 10.5439408,9.32925115 10.46,9.3 C10.2121694,9.22294457 9.94494393,9.23713353 9.70666667,9.34 C9.46598165,9.44010448 9.27275605,9.62855907 9.16666667,9.86666667 C9.10334054,9.98636704 8.97501868,10.057075 8.84,10.0466667 L8.84,10.0466667 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5066667,10.54 C14.376732,10.5402579 14.2471304,10.5268508 14.12,10.5 C13.7116964,10.4057767 13.3501774,10.1694898 13.1,9.83333333 C13.0476568,9.76178846 13.0259681,9.67234046 13.0397297,9.58476704 C13.0534912,9.49719363 13.1015693,9.41870896 13.1733333,9.36666667 C13.3232465,9.26141369 13.5295946,9.29383983 13.64,9.44 C13.9519372,9.87719428 14.5402752,10.0142827 15.0133333,9.76 C15.0910854,9.71734735 15.1826288,9.70743615 15.267708,9.73245943 C15.3527872,9.75748272 15.4243877,9.81537745 15.4666667,9.89333333 C15.55165,10.0556843 15.4926813,10.2561778 15.3333333,10.3466667 C15.077046,10.4758587 14.7936671,10.5421328 14.5066667,10.54 L14.5066667,10.54 Z\",\n id: \"Path\",\n fill: \"#47A9A0\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,5.04 C8.40304918,5.06923728 5.50052563,7.98960421 5.49332712,11.5866667 C5.49148681,12.9138654 5.90144126,14.2089488 6.66666667,15.2933333 C6.66666667,15.2933333 6.71333333,15.3666667 6.72,15.3866667 C6.72666667,15.4066667 8.38666667,17.6666667 8.38666667,19.4533333 L8.38666667,21.92 C8.38666667,23.0245695 9.28209717,23.92 10.3866667,23.92 L13.72,23.92 C14.8245695,23.92 15.72,23.0245695 15.72,21.92 L15.72,19.4533333 C15.6333333,17.6666667 17.3333333,15.3333333 17.3333333,15.3333333 C18.1044427,14.2364171 18.5166829,12.9274962 18.5133536,11.5866667 C18.506108,7.98702563 15.5995573,5.0656 12,5.04 Z M13.66,22.7733333 L10.3266667,22.7733333 C10.1009568,22.7733333 9.88458736,22.6832236 9.72561352,22.522998 C9.56663968,22.3627724 9.47822276,22.1457028 9.47997372,21.92 L9.47997372,20 L14.48,20 L14.48,21.9 C14.4871728,22.1257051 14.4038835,22.3449233 14.2486471,22.508923 C14.0934108,22.6729227 13.879092,22.768113 13.6533333,22.7733333 L13.66,22.7733333 Z M16.1533333,15.0533333 C15.3552088,16.2044801 14.8078314,17.5104637 14.5466667,18.8866667 L9.46,18.8866667 C9.1551414,17.3611977 8.52030594,15.9208721 7.6,14.6666667 C6.95865714,13.7605128 6.6160675,12.6768108 6.61996652,11.5666667 C6.61996652,8.59537471 9.02870805,6.18666667 12,6.18666667 C14.971292,6.18666667 17.38,8.59537471 17.38,11.5666667 C17.3552525,12.4067226 17.1649495,13.2336344 16.82,14 C16.6215702,14.3670775 16.3965238,14.7191302 16.1466667,15.0533333 L16.1533333,15.0533333 Z\",\n id: \"Shape\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,4.07333333 C11.6870386,4.07333333 11.4333333,3.81962802 11.4333333,3.50666667 L11.4333333,0.666666667 C11.4333333,0.353705308 11.6870386,0.1 12,0.1 C12.3129614,0.1 12.5666667,0.353705308 12.5666667,0.666666667 L12.5666667,3.50666667 C12.5666667,3.81962802 12.3129614,4.07333333 12,4.07333333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.03333333,6.54666667 C5.88273379,6.54858502 5.73801465,6.48828537 5.63333333,6.38 L3.63333333,4.38 C3.43403746,4.15574622 3.44406754,3.81501856 3.65620972,3.60287638 C3.86835189,3.39073421 4.20907955,3.38070412 4.43333333,3.58 L6.43333333,5.58 C6.65370691,5.80113744 6.65370691,6.15886256 6.43333333,6.38 C6.32820303,6.48762522 6.18378027,6.54780137 6.03333333,6.54666667 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.56,12.5133333 L0.713333333,12.5133333 C0.400371975,12.5133333 0.146666667,12.259628 0.146666667,11.9466667 C0.146666667,11.6337053 0.400371975,11.38 0.713333333,11.38 L3.56,11.38 C3.87296136,11.38 4.12666667,11.6337053 4.12666667,11.9466667 C4.12666667,12.259628 3.87296136,12.5133333 3.56,12.5133333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4,20.4933333 C3.84955306,20.494468 3.70513031,20.4342919 3.6,20.3266667 C3.37962643,20.1055292 3.37962643,19.7478041 3.6,19.5266667 L5.6,17.5266667 C5.73977647,17.3693859 5.95519306,17.3025048 6.15946811,17.3529666 C6.36374315,17.4034284 6.52323829,17.5629235 6.5737001,17.7671986 C6.6241619,17.9714736 6.55728073,18.1868902 6.4,18.3266667 L4.4,20.3266667 C4.29531868,20.434952 4.15059954,20.4952517 4,20.4933333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,6.54666667 C17.8494005,6.54858502 17.7046813,6.48828537 17.6,6.38 C17.3796264,6.15886256 17.3796264,5.80113744 17.6,5.58 L19.6,3.58 C19.8242538,3.38070412 20.1649814,3.39073421 20.3771236,3.60287638 C20.5892658,3.81501856 20.5992959,4.15574622 20.4,4.38 L18.4,6.38 C18.2948697,6.48762522 18.1504469,6.54780137 18,6.54666667 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.2866667,12.5133333 L20.44,12.5133333 C20.1270386,12.5133333 19.8733333,12.259628 19.8733333,11.9466667 C19.8733333,11.6337053 20.1270386,11.38 20.44,11.38 L23.2866667,11.38 C23.599628,11.38 23.8533333,11.6337053 23.8533333,11.9466667 C23.8533333,12.259628 23.599628,12.5133333 23.2866667,12.5133333 L23.2866667,12.5133333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20,20.4933333 C19.8494005,20.4952517 19.7046813,20.434952 19.6,20.3266667 L17.6,18.3266667 C17.4007041,18.1024129 17.4107342,17.7616852 17.6228764,17.5495431 C17.8350186,17.3374009 18.1757462,17.3273708 18.4,17.5266667 L20.4,19.5266667 C20.6203736,19.7478041 20.6203736,20.1055292 20.4,20.3266667 C20.2948697,20.4342919 20.1504469,20.494468 20,20.4933333 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\",\n fillRule: \"nonzero\"\n})));\n\nvar SvgWeird = function SvgWeird(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgWeird, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Weird.51f31fa1.svg\";\nexport { ForwardRef as ReactComponent };","import {\r\n CircularProgress,\r\n Fade,\r\n makeStyles,\r\n Paper,\r\n Theme,\r\n useMediaQuery,\r\n useTheme,\r\n} from '@material-ui/core'\r\nimport {\r\n StatusColor,\r\n subHeadColor,\r\n tableTextColor,\r\n} from '@mbok/styles/constants'\r\nimport StyledButton from '@shared/components/Button'\r\nimport { useLoadingState } from '@shared/hooks/loadingState'\r\nimport React, { useMemo } from 'react'\r\n\r\nexport interface ISummaryCardRow {\r\n header: string | React.ReactNode\r\n content?: string | React.ReactNode\r\n buttonHandler?: () => void\r\n buttonText?: string\r\n customButton?: React.ReactNode\r\n}\r\n\r\nexport interface ISummaryCardWrapperProps {\r\n title?: string | JSX.Element\r\n Icon?: React.FC<\r\n React.SVGProps & { title?: string | undefined }\r\n >\r\n customIconPosition?: boolean\r\n rows?: ISummaryCardRow[]\r\n statusColor?: StatusColor\r\n loading?: boolean\r\n displayAsEmpty?: boolean\r\n}\r\n\r\nexport const CARD_WIDTH = 340\r\nconst CARD_MIN_WIDTH = CARD_WIDTH - 100\r\nexport const CARD_MIN_HEIGHT = 186\r\n\r\nconst ICON_SIZE = 20\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n card: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: CARD_WIDTH,\r\n minWidth: CARD_MIN_WIDTH,\r\n minHeight: CARD_MIN_HEIGHT,\r\n position: 'relative',\r\n marginRight: theme.spacing(4),\r\n '&:last-child': {\r\n marginRight: 0,\r\n },\r\n [theme.breakpoints.up('md')]: {\r\n maxWidth: CARD_WIDTH,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: '95%',\r\n marginBottom: theme.spacing(2),\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '100%',\r\n padding: theme.spacing(4),\r\n },\r\n },\r\n headerWrapper: {\r\n width: '100%',\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n header: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n width: '100%',\r\n height: 36,\r\n fontWeight: 700,\r\n padding: theme.spacing(1.25, 0.5),\r\n fontSize: 16,\r\n background: subHeadColor,\r\n borderRadius: 7,\r\n color: tableTextColor,\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 15,\r\n },\r\n },\r\n title: {\r\n marginLeft: theme.spacing(3),\r\n },\r\n icon: {\r\n width: ICON_SIZE,\r\n height: ICON_SIZE,\r\n marginLeft: theme.spacing(3),\r\n },\r\n customIcon: {\r\n width: ICON_SIZE * 2.1,\r\n height: ICON_SIZE * 2.1,\r\n minWidth: ICON_SIZE * 2.1,\r\n marginRight: theme.spacing(2),\r\n },\r\n rowsContainer: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n flexDirection: 'column',\r\n height: '100%',\r\n minHeight: 100,\r\n maxWidth: '100%',\r\n padding: theme.spacing(1, 0, 0),\r\n },\r\n row: {\r\n color: theme.palette.text.secondary,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n alignItems: 'flex-end',\r\n marginTop: theme.spacing(2),\r\n [theme.breakpoints.down('xs')]: {\r\n '& button': {\r\n height: 32,\r\n },\r\n },\r\n },\r\n content: {\r\n fontSize: 18,\r\n fontWeight: 800,\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n display: 'block',\r\n [theme.breakpoints.down('xs')]: {\r\n fontSize: 16,\r\n },\r\n },\r\n loader: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n },\r\n}))\r\n\r\nexport const SummaryCardWrapper: React.FC = ({\r\n Icon,\r\n customIconPosition,\r\n title,\r\n rows,\r\n statusColor = 'default',\r\n loading,\r\n displayAsEmpty = false,\r\n children,\r\n}) => {\r\n const styles = useStyles()\r\n const isLoading = useLoadingState(!!loading)\r\n const theme = useTheme()\r\n const mdScreen = useMediaQuery(theme.breakpoints.down('md'))\r\n\r\n const iconContainer = useMemo(() => {\r\n return (\r\n
\r\n {Icon && title && (\r\n <>\r\n {customIconPosition && }\r\n
\r\n {!customIconPosition && }\r\n {title}\r\n
\r\n \r\n )}\r\n
\r\n )\r\n }, [Icon, title, customIconPosition, styles])\r\n\r\n return (\r\n \r\n {!displayAsEmpty && (\r\n <>\r\n \r\n
\r\n {isLoading && }\r\n
\r\n
\r\n {iconContainer}\r\n \r\n
\r\n {rows?.map(\r\n (\r\n { header, buttonHandler, content, buttonText, customButton },\r\n index\r\n ) => {\r\n return (\r\n
\r\n
\r\n {header &&
{header}
}\r\n {content && (\r\n
{content}
\r\n )}\r\n
\r\n {buttonHandler && buttonText && (\r\n buttonHandler()}\r\n status={statusColor}\r\n size=\"small\"\r\n >\r\n {buttonText}\r\n \r\n )}\r\n {customButton}\r\n
\r\n )\r\n }\r\n )}\r\n {children}\r\n
\r\n
\r\n \r\n )}\r\n \r\n )\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { ReactComponent as HappySvg } from '@images/icons/topCards/Happy.svg'\r\nimport { ReactComponent as SadSvg } from '@images/icons/topCards/Sad.svg'\r\nimport { ReactComponent as WeirdSvg } from '@images/icons/topCards/Weird.svg'\r\nimport { Theme, useTheme } from '@material-ui/core'\r\nimport {\r\n AccountBalance,\r\n AccountingDocumentListItem,\r\n SecuredOrderItem,\r\n} from '@shared/contracts/models'\r\nimport { differenceInDays, formatDistance, parseISO } from 'date-fns'\r\nimport { isFuture } from 'date-fns/esm'\r\nimport { pl } from 'date-fns/locale'\r\nimport { useCreateTransactionFromBalance } from '@shared/hooks/createTransaction'\r\nimport { SummaryCardWrapper } from './SummaryCardWrapper'\r\nimport { useAppDispatch } from '@core/store/store'\r\nimport { amountParser } from '@shared/utils/balanceParser'\r\nimport HintPopover from '../HintPopover'\r\nimport {\r\n errorRedColor,\r\n primaryColor,\r\n tableTextColor,\r\n textPrimaryColor,\r\n textSecondaryColor,\r\n warningColor,\r\n} from '@mbok/styles/constants'\r\n// import ExcessPaymentReturnModal from './ExcessPaymentReturnModal'\r\n// import { hideModal, showModal } from '@core/store/ui/actions'\r\n\r\nconst HintContent = (\r\n \r\n
    \r\n
  • \r\n System płatności umożliwia dokonanie jednorazowej transakcji w wysokości\r\n nieprzekraczającej równowartości 1000 euro (przy zastosowaniu średniego\r\n kursu NBP obowiązującego w dniu dokonywania transakcji).\r\n
  • \r\n
  • \r\n \r\n Kolor zielony{' '}\r\n \r\n oznacza, że wszystkie dokumenty masz zapłacone. Dziękujemy.\r\n
  • \r\n
  • \r\n \r\n Kolor czerwony{' '}\r\n \r\n oznacza, że w prezentowanym saldzie znajduje się przynajmniej jeden\r\n dokument, którego termin płatności został przekroczony.\r\n
  • \r\n
  • \r\n \r\n Kolor pomarańczowy{' '}\r\n \r\n oznacza, że w prezentowanym saldzie znajduje się przynajmniej jeden\r\n dokument, któremu zbliża się termin płatności i jest krótszy niż 5 dni.\r\n
  • \r\n
  • \r\n \r\n Kolor niebieski{' '}\r\n \r\n oznacza, że na Twoim koncie rozliczeniowym wystąpiła nadpłata. Może ona\r\n być spowodowana np. podwójną płatnością lub wystawioną korektą faktury.{' '}\r\n \r\n Nie martw się!{' '}\r\n \r\n Pozostawiona nadpłata zostanie zaliczona na poczet Twoich przyszłych\r\n rozliczeń.\r\n
  • \r\n
\r\n
\r\n)\r\n\r\ninterface BalanceCardProps {\r\n balanceData?: AccountBalance\r\n documents?: AccountingDocumentListItem[]\r\n loading?: boolean\r\n}\r\n\r\nexport const BalanceCard: React.FC = ({\r\n balanceData,\r\n documents,\r\n loading,\r\n}) => {\r\n const theme = useTheme()\r\n // const [showModalState, setShowModalState] = useState(false)\r\n const [cardData, setCardData] = useState<{\r\n icon: React.FC<\r\n React.SVGProps & { title?: string | undefined }\r\n >\r\n headerMessage: string | React.ReactNode\r\n balanceColor: string\r\n balance: number\r\n buttonHandler?: () => void\r\n buttonMessage: string\r\n }>({\r\n icon: HappySvg,\r\n headerMessage: '',\r\n balanceColor: 'inherit',\r\n balance: 0,\r\n buttonMessage: '',\r\n })\r\n\r\n const dispatch = useAppDispatch()\r\n\r\n const createTransactionFromBalance = useCreateTransactionFromBalance()\r\n\r\n const getTransactions = useCallback((): SecuredOrderItem[] => {\r\n const transactions = documents\r\n ?.filter(i => i.paymentToken && i.totalAmount && i.accountingDocumentId)\r\n .map(i => ({ paymentToken: i.paymentToken, amount: i.totalAmount }))\r\n return transactions || []\r\n }, [documents])\r\n\r\n useEffect(() => {\r\n if (!balanceData) return\r\n const { balance, activeDocuments, oldestUnpaidDueDate } = balanceData\r\n\r\n const isOverdue = balance < 0\r\n const isToPay = balance > 0\r\n\r\n const oldestUnpaidLessEqualsThan5days =\r\n differenceInDays(parseISO(oldestUnpaidDueDate), new Date()) <= 5\r\n\r\n if (isOverdue) {\r\n setCardData({\r\n icon: HappySvg,\r\n headerMessage: 'O! Wygląda na to, że masz nadpłatę',\r\n balanceColor: theme.palette.text.primary,\r\n balance: Math.abs(balance),\r\n // buttonHandler: () => {\r\n // dispatch(\r\n // showModal({\r\n // type: 'overpay',\r\n // subtitle:\r\n // 'Na Twoim płatniku jest nadpłata i zostanie ona rozliczona na poczet Twoich przyszłych płatności.',\r\n // withCancelButton: true,\r\n // withSubmitButton: true,\r\n // cancelButtonText: 'Nie, chciałbym zwrot',\r\n // submitButtonText: 'Super! Zmniejsz rachunek',\r\n // onSubmit: () => dispatch(hideModal()),\r\n // onCancel: () => {\r\n // dispatch(hideModal())\r\n // setTimeout(() => {\r\n // setShowModalState(true)\r\n // }, 500)\r\n // },\r\n // })\r\n // )\r\n // },\r\n buttonMessage: '', //'Sprawdź'\r\n })\r\n } else if (oldestUnpaidDueDate && isFuture(parseISO(oldestUnpaidDueDate))) {\r\n setCardData({\r\n icon: oldestUnpaidLessEqualsThan5days ? WeirdSvg : HappySvg,\r\n headerMessage: 'Masz zbliżającą się płatność',\r\n balanceColor: oldestUnpaidLessEqualsThan5days\r\n ? theme.palette.secondary.main\r\n : theme.palette.primary.main,\r\n balance: Math.abs(balance),\r\n buttonMessage: 'Zapłać',\r\n buttonHandler: () => {\r\n createTransactionFromBalance(\r\n { activeDocuments, totalAmount: balance },\r\n (_, saveFn) => saveFn()\r\n )\r\n },\r\n })\r\n } else if (isToPay) {\r\n setCardData({\r\n icon: SadSvg,\r\n headerMessage: (\r\n <>\r\n Masz nieuregulowane płatności {activeDocuments > 0 && 'w ilości '}\r\n \r\n {`${activeDocuments} szt` || ''}\r\n \r\n {oldestUnpaidDueDate && (\r\n <>\r\n {'. '}Od terminu płatności minęło{' '}\r\n \r\n {formatDistance(new Date(), parseISO(oldestUnpaidDueDate), {\r\n locale: pl,\r\n })}{' '}\r\n \r\n \r\n )}\r\n \r\n ),\r\n balanceColor: theme.palette.error.main,\r\n balance,\r\n buttonMessage: 'Zapłać',\r\n buttonHandler: () => {\r\n createTransactionFromBalance(\r\n { activeDocuments, totalAmount: balance },\r\n (_, saveFn) => saveFn()\r\n )\r\n },\r\n })\r\n } else {\r\n setCardData({\r\n icon: HappySvg,\r\n headerMessage: 'Dobra robota, wszystko opłacone!',\r\n balanceColor: theme.palette.primary.main,\r\n balance,\r\n buttonMessage: '',\r\n })\r\n }\r\n }, [\r\n balanceData,\r\n theme,\r\n createTransactionFromBalance,\r\n getTransactions,\r\n dispatch,\r\n ])\r\n\r\n return (\r\n <>\r\n }\r\n Icon={cardData.icon}\r\n customIconPosition\r\n rows={[\r\n {\r\n header: <>{cardData.headerMessage},\r\n },\r\n {\r\n header: 'Łączne saldo',\r\n content: (\r\n \r\n {amountParser(cardData.balance)} zł\r\n \r\n ),\r\n buttonHandler: cardData.buttonHandler,\r\n buttonText: cardData.buttonMessage,\r\n },\r\n ]}\r\n loading={loading}\r\n >\r\n {/* setShowModalState(false)}\r\n showNextModal={() =>\r\n dispatch(\r\n showModal({\r\n title: 'Dziękujemy za zlecenie usługi!',\r\n subtitle: 'UWAGA: Proces zwrotu nadpłaty może trwać do 14 dni',\r\n smallSubtitle: true,\r\n withCancelButton: true,\r\n cancelButtonText: 'Zamknij',\r\n onCancel: () => dispatch(hideModal()),\r\n })\r\n )\r\n }\r\n balance={cardData.balance.toFixed(2).toString()}\r\n /> */}\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { ReactComponent as ProfileSvg } from '@images/icons/myCenter/Profile.svg'\r\nimport { SummaryCardWrapper } from './SummaryCardWrapper'\r\nimport { Account, AccountType } from '@shared/contracts/models'\r\n\r\ninterface MyAccountCardProps {\r\n account?: Account\r\n loading?: boolean\r\n}\r\n\r\nexport const MyAccountCard: React.FC = ({\r\n account,\r\n loading,\r\n}) => {\r\n const { Commercial } = AccountType\r\n return (\r\n \r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Baner-cookies\",\n transform: \"translate(-843.000000, -1046.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\",\n transform: \"translate(813.000000, 1017.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Contract\",\n transform: \"translate(30.000000, 29.000000)\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 21,\n height: 21\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"umowa\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n fill: \"#48A9A1\",\n opacity: 0.2,\n x: 2.352,\n y: 0.3045,\n width: 14.2275,\n height: 18.9,\n rx: 0.5\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5845,20.622 L1.407,20.622 C1.11705051,20.622 0.882,20.3869495 0.882,20.097 L0.882,2.247 C0.882,1.95705051 1.11705051,1.722 1.407,1.722 L14.5845,1.722 C14.8721039,1.72758611 15.1039139,1.95939612 15.1095,2.247 L15.1095,4.9665 C15.1039139,5.25410388 14.8721039,5.48591389 14.5845,5.4915 C14.2945505,5.4915 14.0595,5.25644949 14.0595,4.9665 L14.0595,2.772 L1.932,2.772 L1.932,19.572 L14.0595,19.572 L14.0595,14.5005 C14.0595,14.2105505 14.2945505,13.9755 14.5845,13.9755 C14.8744495,13.9755 15.1095,14.2105505 15.1095,14.5005 L15.1095,20.097 C15.1095,20.3869495 14.8744495,20.622 14.5845,20.622 Z\",\n id: \"Path\",\n fill: \"#555150\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.198,14.6055 L3.843,14.6055 C3.55305051,14.6055 3.318,14.3704495 3.318,14.0805 C3.318,13.7905505 3.55305051,13.5555 3.843,13.5555 L9.198,13.5555 C9.48794949,13.5555 9.723,13.7905505 9.723,14.0805 C9.71741389,14.3681039 9.48560388,14.5999139 9.198,14.6055 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2325,17.85 L8.5365,17.85 C8.24655051,17.85 8.0115,17.6149495 8.0115,17.325 C8.0115,17.0350505 8.24655051,16.8 8.5365,16.8 L12.2325,16.8 C12.5201039,16.8055861 12.7519139,17.0373961 12.7575,17.325 C12.7575,17.4642387 12.7021877,17.5977745 12.6037311,17.6962311 C12.5052745,17.7946877 12.3717387,17.85 12.2325,17.85 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.912,12.39 L3.843,12.39 C3.55305051,12.39 3.318,12.1549495 3.318,11.865 C3.318,11.5750505 3.55305051,11.34 3.843,11.34 L9.912,11.34 C10.2019495,11.34 10.437,11.5750505 10.437,11.865 C10.437,12.0042387 10.3816877,12.1377745 10.2832311,12.2362311 C10.1847745,12.3346877 10.0512387,12.39 9.912,12.39 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.235,10.2165 L3.885,10.2165 C3.59505051,10.2165 3.36,9.98144949 3.36,9.6915 C3.36,9.40155051 3.59505051,9.1665 3.885,9.1665 L11.235,9.1665 C11.5249495,9.1665 11.76,9.40155051 11.76,9.6915 C11.76,9.98144949 11.5249495,10.2165 11.235,10.2165 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2325,8.0115 L3.8325,8.0115 C3.54255051,8.0115 3.3075,7.77644949 3.3075,7.4865 C3.3075,7.19655051 3.54255051,6.9615 3.8325,6.9615 L12.2325,6.9615 C12.5224495,6.9615 12.7575,7.19655051 12.7575,7.4865 C12.7519139,7.77410388 12.5201039,8.00591389 12.2325,8.0115 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2325,5.796 L3.8325,5.796 C3.54255051,5.796 3.3075,5.56094949 3.3075,5.271 C3.3075,4.98105051 3.54255051,4.746 3.8325,4.746 L12.2325,4.746 C12.5224495,4.746 12.7575,4.98105051 12.7575,5.271 C12.7519139,5.55860388 12.5201039,5.79041389 12.2325,5.796 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.572,1.05 C19.0295562,0.729818012 18.330349,0.908139314 18.0075,1.449 L12.054,11.55 C10.857,13.587 10.4265,15.897 10.7205,16.0755 C11.0145,16.254 12.8205,14.7525 14.028,12.705 L19.95,2.625 C20.1089522,2.36607291 20.1584276,2.05456903 20.0875233,1.75913442 C20.016619,1.4636998 19.8311543,1.20858154 19.572,1.05 Z\",\n id: \"Path\",\n fill: \"#48A9A1\"\n}))))));\n\nvar SvgContract = function SvgContract(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"21px\",\n height: \"21px\",\n viewBox: \"0 0 21 21\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgContract, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Contract.a233b4e7.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport { ReactComponent as ContractSvg } from '@images/icons/topCards/Contract.svg'\r\nimport { SummaryCardWrapper } from './SummaryCardWrapper'\r\nimport { makeStyles, Theme } from '@material-ui/core'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n indicatorWrapper: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n statusDot: {\r\n width: '14px',\r\n height: '14px',\r\n borderRadius: '100%',\r\n display: 'inline-block',\r\n marginRight: theme.spacing(1.25),\r\n },\r\n active: {\r\n background: theme.palette.primary.main,\r\n },\r\n historic: {\r\n background: theme.palette.error.main,\r\n },\r\n}))\r\n\r\ninterface MyDocumentsCardProps {\r\n activeDocs?: number\r\n oldDocs?: number\r\n loading?: boolean\r\n}\r\n\r\nexport const MyDocumentsCard: React.FC = ({\r\n activeDocs,\r\n oldDocs,\r\n loading,\r\n}) => {\r\n const styles = useStyles()\r\n return (\r\n \r\n
\r\n {activeDocs || 0}\r\n
\r\n ),\r\n },\r\n {\r\n header: 'Historyczne umowy',\r\n content: (\r\n
\r\n
\r\n {oldDocs || 0}\r\n
\r\n ),\r\n },\r\n ]}\r\n loading={loading}\r\n >\r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1-calendar{fill:none;}.cls-2-calendar{fill:#c2e0dc;}.cls-3-calendar{fill:#565251;}.cls-4-calendar{fill:#48a9a1;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Warstwa_2\",\n \"data-name\": \"Warstwa 2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Warstwa_1-2\",\n \"data-name\": \"Warstwa 1\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n className: \"cls-1-calendar\",\n width: 20,\n height: 20\n}), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n className: \"cls-2-calendar\",\n x: 2.04,\n y: 2.4,\n width: 17.48,\n height: 14.7,\n rx: 0.46\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-3-calendar\",\n d: \"M17.55,3.7H14.84V2a.5.5,0,0,0-.5-.5H12.88a.5.5,0,0,0-.5.5V3.7H6.16V2a.5.5,0,0,0-.5-.5H4.2a.5.5,0,0,0-.5.5V3.7H1a.52.52,0,0,0-.5.5V18a.5.5,0,0,0,.5.5H17.55a.5.5,0,0,0,.5-.48V4.2A.52.52,0,0,0,17.55,3.7Zm-.5,13.78H1.49V4.7H3.7V5.78a.5.5,0,0,0,.5.5H5.66a.5.5,0,0,0,.5-.5V4.7h6.22V5.78a.5.5,0,0,0,.5.5h1.46a.5.5,0,0,0,.5-.5V4.7h2.21Z\"\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 3.7,\n y: 11.11,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 12.35,\n y: 11.11,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 3.69,\n y: 8.5,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 8,\n y: 8.5,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 12.34,\n y: 8.5,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 3.69,\n y: 13.71,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 8,\n y: 13.71,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 12.34,\n y: 13.71,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n}), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"cls-4-calendar\",\n x: 8.01,\n y: 11.11,\n width: 2.51,\n height: 1.64,\n rx: 0.48\n})));\n\nvar SvgCalendar = function SvgCalendar(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCalendar, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Calendar.deecea7b.svg\";\nexport { ForwardRef as ReactComponent };","import {\r\n darken,\r\n LinearProgress as MuiLinear,\r\n withStyles,\r\n} from '@material-ui/core'\r\nimport { bgColor } from '@mbok/styles/constants'\r\n\r\nexport const LinearProgress = withStyles(() => ({\r\n root: {\r\n height: 10,\r\n borderRadius: 5,\r\n backgroundColor: darken(bgColor, 0.04),\r\n },\r\n}))(MuiLinear)\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { ReactComponent as CalendarSvg } from '@images/icons/topCards/Calendar.svg'\r\nimport {\r\n CircularProgress,\r\n createStyles,\r\n makeStyles,\r\n Theme,\r\n useTheme,\r\n} from '@material-ui/core'\r\nimport { LinearProgress } from '@shared/components/LinearProgress'\r\nimport { AccountingDocumentListItem } from '@shared/contracts/models'\r\nimport { amountParser } from '@shared/utils/balanceParser'\r\nimport { closestTo, differenceInDays, format, parseISO } from 'date-fns'\r\nimport { isEmpty, reduce } from 'ramda'\r\nimport HintPopover from '../HintPopover'\r\nimport OfferCarousel from '@shared/components/OfferCarousel'\r\nimport { ImageType } from '@core/store/offers/types'\r\nimport {\r\n CARD_MIN_HEIGHT,\r\n CARD_WIDTH,\r\n SummaryCardWrapper,\r\n} from './SummaryCardWrapper'\r\n\r\nconst HintContent = (\r\n <>\r\n Kliencie w tym miejscu możesz zobaczyć, czy Masz zbliżające się terminy\r\n płatności dokumentów. Pamiętaj, że kwota, którą tutaj wyświetlamy została\r\n już wliczona do kwoty salda które widzisz w okienku Salda obok. Jeżeli nie\r\n posiadasz zbliżających się dokumentów do zapłaty, to zobaczysz tutaj\r\n przyjemną grafikę, zdjęcie lub inny ciekawy komunikat.\r\n \r\n)\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n paymentDate: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n },\r\n progress: {\r\n flex: '1 1 auto',\r\n marginLeft: theme.spacing(2.5),\r\n },\r\n loader: {\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n wrapper: {\r\n display: 'flex',\r\n maxWidth: CARD_WIDTH,\r\n width: CARD_WIDTH,\r\n minHeight: CARD_MIN_HEIGHT,\r\n borderRadius: 8,\r\n position: 'relative',\r\n marginRight: 0,\r\n [theme.breakpoints.down('md')]: {\r\n margin: 0,\r\n },\r\n [theme.breakpoints.only('sm')]: {\r\n minWidth: CARD_WIDTH - 64,\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n margin: '0 auto 8px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n minHeight: CARD_MIN_HEIGHT + 24,\r\n width: '100%',\r\n },\r\n },\r\n topOfferWrapper: {\r\n [theme.breakpoints.only('lg')]: {\r\n maxWidth: CARD_WIDTH - 60,\r\n width: CARD_WIDTH - 60,\r\n },\r\n [theme.breakpoints.between(1280, 1400)]: {\r\n maxWidth: CARD_WIDTH - 88,\r\n width: CARD_WIDTH - 88,\r\n },\r\n },\r\n })\r\n)\r\n\r\ninterface PaymentsCardProps {\r\n additionalBalance?: number\r\n documents?: AccountingDocumentListItem[]\r\n loading?: boolean\r\n dueDateState: Date | false | null\r\n setDueDateState: React.Dispatch>\r\n offersLoaded: boolean\r\n}\r\n\r\nexport const PaymentsCard: React.FC = ({\r\n additionalBalance,\r\n documents,\r\n loading,\r\n dueDateState,\r\n setDueDateState,\r\n offersLoaded,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n\r\n const [balance, setBalance] = useState(additionalBalance || 0)\r\n const [cardData, setCardData] = useState<{\r\n daysLeft: number\r\n amountColor: string\r\n }>({\r\n daysLeft: 0,\r\n amountColor: theme.palette.primary.main,\r\n })\r\n\r\n useEffect(() => {\r\n if (documents) {\r\n const datesArr = documents.map(el => {\r\n return parseISO(el.dueDate ?? '')\r\n })\r\n if (!isEmpty(datesArr)) {\r\n const date = closestTo(new Date(), datesArr)\r\n const daysLeft = differenceInDays(date, new Date())\r\n setDueDateState(date)\r\n setCardData({\r\n daysLeft: daysLeft,\r\n amountColor:\r\n daysLeft <= 5\r\n ? theme.palette.secondary.main\r\n : theme.palette.primary.main,\r\n })\r\n } else {\r\n setDueDateState(false)\r\n }\r\n const currBalance = reduce(\r\n (acc, val) => {\r\n const sum = acc + (val.balance || 0)\r\n return sum\r\n },\r\n 0,\r\n documents\r\n )\r\n setBalance(currBalance)\r\n }\r\n }, [\r\n documents,\r\n theme.palette.primary.main,\r\n theme.palette.secondary.main,\r\n setDueDateState,\r\n ])\r\n\r\n const { amountColor, daysLeft } = cardData\r\n\r\n const dueDateDisplay = useCallback(\r\n (dueDateState: Date) => {\r\n return (\r\n \r\n }\r\n Icon={CalendarSvg}\r\n rows={[\r\n {\r\n header: (\r\n \r\n Następna płatność{` (${documents?.length}`} \r\n {documents\r\n ? `${documents.length === 1 ? 'dokument)' : 'dokumenty)'}`\r\n : ''}\r\n \r\n ),\r\n content: (\r\n
\r\n {format(dueDateState, 'dd.MM.yyyy')}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n header: 'Łączna kwota',\r\n content: (\r\n \r\n {amountParser(balance)} zł\r\n \r\n ),\r\n },\r\n ]}\r\n loading={loading}\r\n >\r\n )\r\n },\r\n [daysLeft, styles, balance, documents, amountColor, loading]\r\n )\r\n\r\n return dueDateState === null || !offersLoaded ? (\r\n
\r\n \r\n
\r\n ) : (\r\n <>\r\n {dueDateState ? (\r\n dueDateDisplay(dueDateState)\r\n ) : offersLoaded ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n \r\n )\r\n}\r\n","import { Fade, makeStyles } from '@material-ui/core'\r\nimport { primaryColor } from '@mbok/styles/constants'\r\nimport { useLoadingState } from '@shared/hooks/loadingState'\r\n\r\nimport React from 'react'\r\nimport Loader from 'react-loader-spinner'\r\nexport interface IContentLoaderProps {\r\n loading: boolean\r\n}\r\n\r\nconst useStyles = makeStyles(() => ({\r\n loader: {\r\n position: 'absolute',\r\n top: '15px',\r\n },\r\n container: {\r\n minHeight: '30px',\r\n },\r\n}))\r\n\r\nexport const TextLoader: React.FC = ({\r\n loading,\r\n children,\r\n}) => {\r\n const styles = useStyles()\r\n\r\n const isLoading = useLoadingState(loading)\r\n\r\n return (\r\n
\r\n {\r\n \r\n
{children}
\r\n
\r\n }\r\n {\r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".clsLogout-1{fill:#47aaa1;opacity:0.2;}.clsLogout-2{fill:#48a9a1;}.clsLogout-3{fill:none;stroke:#555150;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;}\"));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Ikonka_logowania\",\n \"data-name\": \"Ikonka logowania\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"clsLogout-1\",\n x: 8.21,\n y: 1.52,\n width: 11.3,\n height: 17.4,\n rx: 0.75\n}), /*#__PURE__*/React.createElement(\"path\", {\n className: \"clsLogout-2\",\n d: \"M14.28,10.76l-3.89-3.2a.75.75,0,0,0-1,1.16l2.27,1.87H2.63a.75.75,0,1,0,0,1.5h9.08L9.44,14a.75.75,0,0,0,.48,1.33.72.72,0,0,0,.47-.17l3.89-3.2a.75.75,0,0,0,.27-.58A.78.78,0,0,0,14.28,10.76Z\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n className: \"clsLogout-3\",\n points: \"6.81 7.89 6.81 3.39 16.61 3.39 16.61 19.29 6.81 19.29 6.81 14.79\"\n}));\n\nvar SvgLogout = function SvgLogout(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 22 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogout, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Logout.3f272436.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport { useLogout } from '@core/auth/useLogout'\r\nimport { makeStyles, Theme } from '@material-ui/core'\r\nimport { NavExpandMenu } from './NavExpandMenu'\r\nimport { tableTextColor } from '@mbok/styles/constants'\r\nimport { ReactComponent as LogoutSvg } from '@images/icons/Logout.svg'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n logout: {\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n margin: theme.spacing(6, 0),\r\n },\r\n clickLogout: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'nowrap',\r\n justifyContent: 'flex-end',\r\n alignItems: 'center',\r\n cursor: 'pointer',\r\n '& svg': {\r\n width: 24,\r\n height: 24,\r\n marginRight: theme.spacing(1),\r\n },\r\n '& span': {\r\n opacity: 0.8,\r\n fontSize: 17,\r\n color: tableTextColor,\r\n letterSpacing: 0.27,\r\n fontWeight: theme.typography.fontWeightBold,\r\n transition: 'opacity 0.2s ease-in-out',\r\n },\r\n '&:hover': {\r\n '& span': {\r\n opacity: 1,\r\n },\r\n },\r\n },\r\n button: {\r\n cursor: 'pointer',\r\n height: 24,\r\n '& svg': {\r\n fill: theme.palette.primary.dark,\r\n '&:hover': {\r\n fill: theme.palette.primary.main,\r\n },\r\n },\r\n },\r\n}))\r\n\r\nexport const UserMenu = () => {\r\n const styles = useStyles()\r\n const logout = useLogout()\r\n\r\n return (\r\n {\r\n return (\r\n
\r\n {expandIcon}\r\n
\r\n )\r\n }}\r\n >\r\n
\r\n {\r\n logout()\r\n }}\r\n >\r\n \r\n Wyloguj\r\n
\r\n
\r\n \r\n )\r\n}\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Notification_Off-2\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 32,\n height: 32\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"powiadomienia\",\n transform: \"translate(0.800000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.512,24.176 C24.848,20.224 24.368,16.176 23.888,12.368 C23.728,11.088 23.568,9.792 23.312,8.496 C22.697502,5.67773491 20.3415113,3.57348027 17.472,3.28 C17.4072005,2.14691056 16.4939466,1.24749388 15.36,1.2 C14.232286,1.25545148 13.3280912,2.15274398 13.264,3.28 C10.3944887,3.57348027 8.03849804,5.67773491 7.424,8.496 C7.168,9.792 7.008,11.088 6.848,12.368 C6.368,16.224 5.888,20.224 2.224,24.176 C1.94527969,24.4661706 1.86943529,24.8959556 2.032,25.264 C2.1870194,25.6402506 2.55306889,25.8863873 2.96,25.888 L10.72,25.888 C11.3720176,27.8760264 13.270032,29.1850018 15.36,29.088 C17.4541917,29.1868261 19.3577824,27.8785162 20.016,25.888 L27.776,25.888 C28.1829311,25.8863873 28.5489806,25.6402506 28.704,25.264 C28.8665647,24.8959556 28.7907203,24.4661706 28.512,24.176 L28.512,24.176 Z\",\n id: \"Path\",\n fillOpacity: 0.2,\n fill: \"#48A9A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.328,3.38794914 C12.9468021,3.03068354 13.7091979,3.03068354 14.328,3.38794914 C14.9468022,3.74521475 15.328,4.40546881 15.328,5.11999994 C16.5306148,5.28619041 17.6796322,5.72391134 18.688,6.4 C17.9382467,6.66838792 17.2401141,7.06345522 16.624,7.568 C15.6627938,7.18204452 14.6357837,6.98642356 13.6,6.992 C13.5503673,6.98938776 13.3779059,6.9756868 13.1202162,6.97276121 L12.9115562,6.97292903 C11.4590321,6.9915935 8.20440816,7.3962449 7.504,10.72 C7.248,11.904 7.104,13.1199999 6.944,14.4 C6.74898286,18.4064615 5.45355341,22.2816778 3.2,25.6 L3.2,25.6 L18.3993989,25.5999999 L18.3993989,27.6159999 L17.792,27.616 C17.1224967,29.4330648 15.430618,30.6627635 13.5105177,30.7513597 L13.288,30.7564868 C11.2770389,30.7564868 9.47925344,29.5029519 8.784,27.616 L8.784,27.616 L1.024,27.616 C0.617068888,27.6143873 0.251019398,27.3682506 0.096,26.992 C-0.0665647106,26.6239556 0.00927968975,26.1941706 0.288,25.904 C3.63794286,22.2907429 4.32632163,18.6373616 4.78656634,15.0905958 L4.87078288,14.4268625 L4.87078288,14.4268625 L4.912,14.096 C5.072,12.8 5.232,11.52 5.488,10.224 C6.13990097,7.44705634 8.48877433,5.39420537 11.328,5.11999994 C11.328,4.40546881 11.7091978,3.74521475 12.328,3.38794914 Z\",\n id: \"Combined-Shape\",\n fill: \"#5B5B5B\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.3134325,3.3879492 C14.9322346,3.74521481 15.3134325,4.40546887 15.3134325,5.12 C18.1526581,5.39420543 20.5015315,7.4470564 21.1534325,10.2240001 C21.4094325,11.5200001 21.5694325,12.8000001 21.7294325,14.0960001 C22.2094325,17.9520001 22.6894325,21.9520001 26.3534325,25.9040001 C26.6321528,26.1941707 26.7079972,26.6239556 26.5454325,26.9920001 C26.3904131,27.3682507 26.0243636,27.6143874 25.6174325,27.6160001 L18.3994325,27.616 L18.3994325,25.6 L23.4414325,25.6000001 C21.187879,22.2816778 19.8924496,18.4064615 19.6974325,14.4000001 C19.5374325,13.12 19.3934325,11.9040001 19.1374325,10.7200001 C18.4370243,7.39624496 15.1824004,6.99159356 13.7298762,6.97292909 L13.5212162,6.97276127 C13.2635266,6.97568686 13.0910651,6.98938781 13.0414325,6.99200006 C12.0056487,6.98642362 10.9786387,7.18204458 10.0174325,7.56800006 C9.40131835,7.06345528 8.70318571,6.66838797 7.95343245,6.40000006 C8.96180026,5.7239114 10.1108177,5.28619047 11.3134325,5.12 C11.3134324,4.40546887 11.6946303,3.74521481 12.3134324,3.3879492 C12.9322346,3.0306836 13.6946303,3.0306836 14.3134325,3.3879492 Z\",\n id: \"Combined-Shape\",\n fill: \"#5B5B5B\"\n}))));\n\nvar SvgNotificationOff = function SvgNotificationOff(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"32px\",\n height: \"32px\",\n viewBox: \"0 0 32 32\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNotificationOff, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Notification_Off.4d1eae92.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"\\\\u2705-Project\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icon/Notification-2\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Safespace\",\n x: 0,\n y: 0,\n width: 32,\n height: 32\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"powiadomienia\",\n transform: \"translate(0.800000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.512,24.176 C24.848,20.224 24.368,16.176 23.888,12.368 C23.728,11.088 23.568,9.792 23.312,8.496 C22.697502,5.67773491 20.3415113,3.57348027 17.472,3.28 C17.4072005,2.14691056 16.4939466,1.24749388 15.36,1.2 C14.232286,1.25545148 13.3280912,2.15274398 13.264,3.28 C10.3944887,3.57348027 8.03849804,5.67773491 7.424,8.496 C7.168,9.792 7.008,11.088 6.848,12.368 C6.368,16.224 5.888,20.224 2.224,24.176 C1.94527969,24.4661706 1.86943529,24.8959556 2.032,25.264 C2.1870194,25.6402506 2.55306889,25.8863873 2.96,25.888 L10.72,25.888 C11.3720176,27.8760264 13.270032,29.1850018 15.36,29.088 C17.4541917,29.1868261 19.3577824,27.8785162 20.016,25.888 L27.776,25.888 C28.1829311,25.8863873 28.5489806,25.6402506 28.704,25.264 C28.8665647,24.8959556 28.7907203,24.4661706 28.512,24.176 L28.512,24.176 Z\",\n id: \"Path\",\n fillOpacity: 0.2,\n fill: \"#48A9A0\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.8000703,7.392 C18.59836,7.39851368 16.617669,8.73151184 15.7826155,10.7687297 C14.947562,12.8059476 15.4228219,15.1456375 16.9865364,16.6955949 C18.5502508,18.2455524 20.894049,18.7001194 22.9238085,17.8470969 C24.953568,16.9940745 26.269012,15.001682 26.256165,12.8 C26.2297247,9.80549636 23.7946899,7.39188411 20.8000703,7.392 Z\",\n id: \"Path\",\n fill: \"#CE1B4D\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.8,7.392 C18.5982896,7.39851368 16.6175986,8.73151184 15.7825451,10.7687297 C14.9474916,12.8059476 15.4227516,15.1456375 16.986466,16.6955949 C18.5501805,18.2455524 20.8939786,18.7001194 22.9237381,17.8470969 C24.9534976,16.9940745 26.2689417,15.001682 26.2560946,12.8 C26.2296544,9.80549636 23.7946195,7.39188411 20.8,7.392 Z M23.344,16.096 L18.896,16.096 L18.896,14.896 L20.384,14.896 L20.384,10.928 L18.992,11.744 L18.992,10.432 L21.008,9.248 L21.872,9.248 L21.872,14.896 L23.36,14.896 L23.344,16.096 Z\",\n id: \"Shape\",\n fill: \"#CE1B4D\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.992,19.2 C22.3356742,19.4166692 21.6509627,19.5352806 20.96,19.552 C21.77929,21.6598234 22.7972071,23.6849426 24,25.6 L3.2,25.6 C5.45355341,22.2816778 6.74898286,18.4064615 6.944,14.4 C7.104,13.1199999 7.248,11.904 7.504,10.72 C8.384,6.544 13.296,6.976 13.6,6.992 C14.6357837,6.98642356 15.6627938,7.18204452 16.624,7.568 C17.2401141,7.06345522 17.9382467,6.66838792 18.688,6.4 C17.6796322,5.72391134 16.5306148,5.28619041 15.328,5.11999994 C15.328,4.40546881 14.9468022,3.74521475 14.328,3.38794914 C13.7091979,3.03068354 12.9468021,3.03068354 12.328,3.38794914 C11.7091978,3.74521475 11.328,4.40546881 11.328,5.11999994 C8.48877433,5.39420537 6.13990097,7.44705634 5.488,10.224 C5.232,11.52 5.072,12.8 4.912,14.096 C4.432,17.952 3.952,21.952 0.288,25.904 C0.00927968975,26.1941706 -0.0665647106,26.6239556 0.096,26.992 C0.251019398,27.3682506 0.617068888,27.6143873 1.024,27.616 L8.784,27.616 C9.47925344,29.5029519 11.2770389,30.7564868 13.288,30.7564868 C15.2989611,30.7564868 17.0967466,29.5029519 17.792,27.616 L25.792,27.616 C26.1687444,27.610639 26.5121104,27.3988167 26.6859401,27.0645289 C26.8597698,26.730241 26.8359783,26.3274969 26.624,26.016 C25.2084975,23.8592242 23.9927887,21.5777618 22.992,19.2 L22.992,19.2 Z\",\n id: \"Path\",\n fill: \"#5B5B5B\"\n}))));\n\nvar SvgNotification = function SvgNotification(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"32px\",\n height: \"32px\",\n viewBox: \"0 0 32 32\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNotification, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Notification.168a08b6.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, Theme } from '@material-ui/core'\r\nimport {\r\n bgColor,\r\n contentSidePadding,\r\n headerBg,\r\n navHeight,\r\n} from '@mbok/styles/constants'\r\nimport { transparentize } from 'polished'\r\nimport bg from '@images/my-centrum-bg.png'\r\n\r\nconst CONTENT_MAX_WIDTH = 1400\r\n\r\nconst NOTIFICATION_SIZE = 36\r\n\r\nconst STATUS_CARDS_MAX_WIDTH = 1600\r\n\r\nconst TOGGLE_BTN_WIDTH = 180\r\nconst TOGGLE_BTN_HEIGHT = 32\r\n\r\nexport default makeStyles((theme: Theme) => ({\r\n container: {\r\n width: '100%',\r\n height: '100vh',\r\n display: 'flex',\r\n background: bgColor,\r\n },\r\n contentWrapper: {\r\n height: '100%',\r\n maxHeight: '100vh',\r\n flex: '1 1 auto',\r\n position: 'relative',\r\n },\r\n nav: {\r\n height: navHeight,\r\n position: 'absolute',\r\n left: 0,\r\n right: 0,\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n ...contentSidePadding(10, 15),\r\n backgroundColor: transparentize(0.25, headerBg),\r\n boxShadow: 'none',\r\n zIndex: 10,\r\n fontSize: 23,\r\n fontWeight: 600,\r\n transition: 'background-color 0.3s',\r\n alignItems: 'center',\r\n [theme.breakpoints.down('sm')]: {\r\n justifyContent: 'flex-start',\r\n padding: theme.spacing(2.5, 3, 4),\r\n },\r\n },\r\n navRight: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n [theme.breakpoints.down('sm')]: {\r\n marginLeft: 'auto',\r\n },\r\n },\r\n notification: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n height: NOTIFICATION_SIZE,\r\n width: NOTIFICATION_SIZE,\r\n borderRadius: '24px',\r\n backgroundColor: theme.palette.common.white,\r\n margin: theme.spacing(0, 8),\r\n [theme.breakpoints.down('sm')]: {\r\n margin: theme.spacing(0, 4),\r\n },\r\n '& svg': {\r\n height: NOTIFICATION_SIZE - 10,\r\n width: NOTIFICATION_SIZE - 10,\r\n paddingLeft: theme.spacing(0.5),\r\n },\r\n '&:hover': {\r\n cursor: 'pointer',\r\n },\r\n },\r\n menuIcon: {\r\n height: 32,\r\n width: 32,\r\n marginRight: theme.spacing(2.5),\r\n cursor: 'pointer',\r\n },\r\n scrolled: {\r\n backgroundColor: headerBg,\r\n boxShadow: '0 2px 2px -2px rgba(0,0,0,.2)',\r\n },\r\n topContainer: {\r\n width: '100%',\r\n ...contentSidePadding(70, 10),\r\n [theme.breakpoints.down('xs')]: {\r\n paddingLeft: theme.spacing(5),\r\n paddingRight: theme.spacing(5),\r\n },\r\n backgroundImage: `url(${bg})`,\r\n backgroundRepeat: 'no-repeat',\r\n backgroundSize: 'cover',\r\n },\r\n pageHeader: {\r\n background: `linear-gradient(270deg, rgba(242,246,245,0) 0%, ${transparentize(\r\n 0.15,\r\n headerBg\r\n )} 100%)`,\r\n boxShadow: 'none',\r\n marginTop: theme.spacing(5),\r\n },\r\n additionalTopElements: {\r\n display: 'flex',\r\n justifyContent: 'flex-start',\r\n alignItems: 'center',\r\n padding: theme.spacing(6, 0),\r\n },\r\n mainElements: {\r\n maxWidth: CONTENT_MAX_WIDTH,\r\n ...contentSidePadding(40),\r\n [theme.breakpoints.down('xs')]: {\r\n ...contentSidePadding(32),\r\n },\r\n },\r\n toggleBtn: {\r\n alignSelf: 'center',\r\n padding: 0,\r\n fontSize: 15,\r\n width: TOGGLE_BTN_WIDTH,\r\n height: TOGGLE_BTN_HEIGHT,\r\n margin: theme.spacing(0, 0, 2),\r\n },\r\n statusCards: {\r\n display: 'flex',\r\n width: '100%',\r\n maxWidth: STATUS_CARDS_MAX_WIDTH,\r\n justifyContent: 'space-between',\r\n [theme.breakpoints.down('md')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n wrapperContainer: {\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n height: '100%',\r\n },\r\n },\r\n wrapperInner: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'nowrap',\r\n justifyContent: 'space-around',\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n statusCardsRow: {\r\n width: '50%',\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'nowrap',\r\n justifyContent: 'space-around',\r\n '&:first-child': {\r\n marginRight: theme.spacing(4),\r\n },\r\n [theme.breakpoints.down('md')]: {\r\n width: '100%',\r\n '&:first-child': {\r\n marginRight: 0,\r\n marginBottom: theme.spacing(4),\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n '&:first-child': {\r\n marginBottom: 0,\r\n },\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n flexDirection: 'column',\r\n },\r\n },\r\n}))\r\n","import React, { useState } from 'react'\r\nimport { makeStyles, Theme, useTheme } from '@material-ui/core'\r\nimport { Account, MeasurementPointListItem } from '@shared/contracts/models'\r\nimport { borderColor, tableTextColor } from '@mbok/styles/constants'\r\nimport { ToggleButton } from '../ToggleButton'\r\nimport CheckIcon from '@material-ui/icons/Check'\r\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos'\r\nimport MeasurementPointsModal from './modal/MeasurementPointsModal'\r\nimport StyledButton from '../Button'\r\nimport { useLoadingState } from '@shared/hooks/loadingState'\r\nimport { amountParser } from '@shared/utils/balanceParser'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n container: {\r\n margin: '36px 48px 16px 0',\r\n padding: '20px 32px',\r\n minWidth: 356,\r\n maxWidth: 356,\r\n borderRadius: '7px',\r\n border: `1.7px solid ${borderColor}`,\r\n boxShadow: '0 7px 9px 3px rgba(105,105,105,0.03)',\r\n },\r\n header: {\r\n '& svg': {\r\n height: '14px',\r\n width: '14px',\r\n marginRight: '8px',\r\n },\r\n },\r\n button: {\r\n width: '100%',\r\n height: '36px',\r\n fontSize: 15,\r\n letterSpacing: '0.2px',\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n disabled: {\r\n cursor: 'default',\r\n },\r\n row: {\r\n marginTop: '16px',\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n color: tableTextColor,\r\n letterSpacing: '0.57px',\r\n\r\n '&:first-child': {\r\n '& span': {\r\n opacity: 0.75,\r\n },\r\n },\r\n\r\n '& div': {\r\n overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n fontSize: 15,\r\n },\r\n\r\n '& h1': {\r\n margin: 0,\r\n opacity: 0.55,\r\n fontSize: 13,\r\n },\r\n '& span': {\r\n opacity: 1,\r\n fontWeight: theme.typography.fontWeightBold,\r\n },\r\n },\r\n left: {\r\n textAlign: 'left',\r\n maxWidth: '56%',\r\n },\r\n right: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-end',\r\n maxWidth: '44%',\r\n justifyContent: 'space-between',\r\n },\r\n balance: {\r\n fontWeight: 700,\r\n fontSize: 21,\r\n letterSpacing: '0.4px',\r\n },\r\n measurementBtn: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n opacity: 1,\r\n color: theme.palette.primary.main,\r\n height: '29.6px',\r\n transition: 'color 0.2s ease-in-out',\r\n '&:hover': {\r\n cursor: 'pointer',\r\n color: theme.palette.primary.dark,\r\n },\r\n '& svg': {\r\n marginRight: 0,\r\n marginLeft: '4px',\r\n width: '12px',\r\n height: '12px',\r\n },\r\n },\r\n}))\r\n\r\ninterface SingleCustomerNumberDataProps {\r\n selected?: boolean\r\n click: () => void\r\n customer: Account\r\n balance: number\r\n measurementPoints: MeasurementPointListItem[]\r\n loading: boolean\r\n loadPoints: () => void\r\n}\r\n\r\nexport const SingleCustomerNumberData: React.FC = ({\r\n selected,\r\n click,\r\n customer,\r\n balance,\r\n measurementPoints,\r\n loading,\r\n loadPoints,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const [showModal, setShowModal] = useState(false)\r\n\r\n const isMeasurementPLoading = useLoadingState(loading)\r\n\r\n const showPoints = () => {\r\n setShowModal(true)\r\n loadPoints()\r\n }\r\n\r\n const { name, customerNumber } = customer\r\n\r\n const balanceColor =\r\n balance < 0\r\n ? theme.palette.text.primary\r\n : balance === 0\r\n ? theme.palette.primary.main\r\n : theme.palette.error.main\r\n\r\n return (\r\n
\r\n !Boolean(selected) && click()}\r\n value={customerNumber}\r\n selected={Boolean(selected)}\r\n >\r\n {selected ? (\r\n \r\n \r\n Wybrany płatnik\r\n \r\n ) : (\r\n Wybierz płatnika\r\n )}\r\n \r\n
\r\n
\r\n

Nazwa płatnika

\r\n {name}\r\n
\r\n
\r\n

Numer płatnika

\r\n {customerNumber ?? ''}\r\n
\r\n
\r\n
\r\n
\r\n

Łączne saldo

\r\n \r\n {amountParser(Math.abs(balance))} zł\r\n \r\n
\r\n
\r\n

Punkty poboru

\r\n \r\n \r\n Zobacz \r\n \r\n \r\n
\r\n
\r\n setShowModal(false)}\r\n points={measurementPoints}\r\n loading={isMeasurementPLoading}\r\n customer={{\r\n name: customer.name ?? '',\r\n number: customer.customerNumber ?? '',\r\n }}\r\n />\r\n
\r\n )\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\nimport { ICustomerNumber } from '@shared/contracts/CustomerNumbers'\r\nimport { values } from 'ramda'\r\n\r\nexport const customerNumbersSelector = (state: RootState) =>\r\n state.customerNumbers\r\n\r\nexport const getCustomerNumbersLoadingSelector = createSelector(\r\n customerNumbersSelector,\r\n state => state.loadingPending > 0\r\n)\r\n\r\nexport const getAllCustomerNumbersSelector = createSelector(\r\n customerNumbersSelector,\r\n state => values(state.entities) as ICustomerNumber[]\r\n)\r\n\r\nexport const getSelectedCustomerNumberSelector = createSelector(\r\n customerNumbersSelector,\r\n state => state.selectedCustomerNumber\r\n)\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { getSelectedCustomerNumberSelector } from '@core/store/entity/customerNumbers/customerNumbersSelectors'\r\nimport { useAppSelector } from '@core/store/store'\r\nimport { useCallback } from 'react'\r\n\r\nexport const useCacheReload = () => {\r\n const [execute] = useApi({\r\n config: {\r\n url: 'accounts/refresh',\r\n method: 'post',\r\n },\r\n omitConsents: true,\r\n omitCustomerNumber: true,\r\n })\r\n\r\n const customerNumber = useAppSelector(getSelectedCustomerNumberSelector)\r\n const { isLoadingUser } = useAppSelector(state => state.oidc)\r\n\r\n const cacheReload = useCallback(() => {\r\n if (!!customerNumber && !isLoadingUser) {\r\n execute()\r\n }\r\n }, [customerNumber, execute, isLoadingUser])\r\n\r\n return cacheReload\r\n}\r\n","import React, { useCallback, useState } from 'react'\r\nimport { makeStyles, Theme } from '@material-ui/core'\r\nimport { NavExpandMenu } from '../NavExpandMenu'\r\nimport CustomScrollBar from '../ScrollBar'\r\nimport { SingleCustomerNumberData } from './SingleCustomerNumberData'\r\nimport { useDataSource } from './dataSource'\r\nimport Loader from 'react-loader-spinner'\r\nimport { textSecondaryColor, bgColor } from '@mbok/styles/constants'\r\nimport { colorOpacityParser } from '@shared/utils/colorOpacityParser'\r\n\r\nconst useStyles = makeStyles((theme: Theme) => ({\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n },\r\n customerNum: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n padding: '0 12px 0 16px',\r\n width: '300px',\r\n height: '36px',\r\n border: `1.7px solid ${textSecondaryColor + colorOpacityParser(35)}`,\r\n borderRadius: '7px',\r\n backgroundColor: bgColor,\r\n fontSize: 14,\r\n textTransform: 'unset',\r\n letterSpacing: '0.1px',\r\n color: textSecondaryColor,\r\n transition: 'border 0.2s ease-in-out',\r\n '&:hover': {\r\n cursor: 'pointer',\r\n border: `1.7px solid ${textSecondaryColor}`,\r\n },\r\n '& div': {\r\n '&:first-child': {\r\n maxWidth: '100%',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n },\r\n '&:last-child': {\r\n height: '24px',\r\n marginLeft: '4px',\r\n opacity: 0.5,\r\n },\r\n },\r\n [theme.breakpoints.down('sm')]: {\r\n width: '252px',\r\n },\r\n [theme.breakpoints.down('xs')]: {\r\n width: '200px',\r\n fontSize: 12,\r\n },\r\n },\r\n}))\r\n\r\nexport const CustomerSelector = React.memo(() => {\r\n const styles = useStyles()\r\n const [menuState, setMenuState] = useState(false)\r\n\r\n const {\r\n selectedCustomerNumber,\r\n customers,\r\n balance,\r\n measurementPoints,\r\n loading,\r\n setNewCustomerNumber,\r\n } = useDataSource()\r\n\r\n const handleOnClick = useCallback(\r\n (customerNumber: string) => {\r\n setMenuState(true)\r\n setNewCustomerNumber(customerNumber)\r\n setTimeout(() => {\r\n setMenuState(false)\r\n }, 300)\r\n },\r\n [setNewCustomerNumber]\r\n )\r\n\r\n return (\r\n {\r\n return (\r\n
\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n {customers[0]?.name ?? ''}\r\n
\r\n )}\r\n {expandElement}\r\n
\r\n )\r\n }}\r\n >\r\n \r\n
\r\n <>\r\n {customers.map(customer => {\r\n const { name, customerNumber } = customer\r\n const balanceDisplay = customerNumber\r\n ? balance[customerNumber]\r\n : 0\r\n return (\r\n {\r\n customerNumber && handleOnClick(customerNumber)\r\n }}\r\n customer={{\r\n name,\r\n customerNumber,\r\n }}\r\n balance={balanceDisplay ?? 0}\r\n measurementPoints={measurementPoints.data ?? []}\r\n loading={measurementPoints.loading ?? false}\r\n loadPoints={() =>\r\n customer.customerNumber &&\r\n measurementPoints.get(customer.customerNumber)\r\n }\r\n />\r\n )\r\n })}\r\n \r\n
\r\n
\r\n \r\n )\r\n})\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { customerNumberActions } from '@core/store/entity/customerNumbers/customerNumbers'\r\nimport {\r\n getAllCustomerNumbersSelector,\r\n getSelectedCustomerNumberSelector,\r\n} from '@core/store/entity/customerNumbers/customerNumbersSelectors'\r\nimport { userConsentsSlice } from '@core/store/entity/userConsents/userConsents'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport {\r\n Account,\r\n AccountBalance,\r\n MeasurementPointListItem,\r\n MeasurementPointListItemPagedResponse,\r\n} from '@shared/contracts/models'\r\nimport { useCacheReload } from '@shared/hooks/useCacheReload'\r\nimport { equals } from 'ramda'\r\nimport { useCallback, useEffect, useMemo, useState } from 'react'\r\n\r\nexport const useDataSource = () => {\r\n const dispatch = useAppDispatch()\r\n const customerNumbers = useAppSelector(\r\n getAllCustomerNumbersSelector,\r\n (left, right) => equals(left, right)\r\n )\r\n const selectedCustomerNumber = useAppSelector(\r\n getSelectedCustomerNumberSelector\r\n )\r\n const cacheReload = useCacheReload()\r\n\r\n const [dataLoading, setDataLoading] = useState(false)\r\n const [customersData, setCustomersData] = useState([])\r\n const [balanceData, setBalanceData] = useState<{\r\n [customerId: string]: number\r\n }>({})\r\n\r\n const [getCustomerData] = useApi({\r\n config: {\r\n url: 'accounts',\r\n method: 'get',\r\n },\r\n })\r\n\r\n const pointsDataMapper = useCallback(\r\n apiResponse => apiResponse.results ?? [],\r\n []\r\n )\r\n const [getPoints, pointsLoading, pointsData] = useApi<\r\n MeasurementPointListItem[],\r\n MeasurementPointListItemPagedResponse\r\n >(\r\n {\r\n config: {\r\n url: 'MeasurementPoints',\r\n method: 'get',\r\n params: {\r\n agreementStatusFilter: 'Active',\r\n },\r\n },\r\n },\r\n pointsDataMapper\r\n )\r\n\r\n const [getBalance] = useApi({\r\n config: {\r\n method: 'get',\r\n url: 'Accounts/balance',\r\n },\r\n })\r\n\r\n const setNewCustomerNumber = useCallback(\r\n (customerNumber: string) => {\r\n dispatch(userConsentsSlice.actions.removeAll())\r\n dispatch(customerNumberActions.setCustomerNumber(customerNumber))\r\n cacheReload()\r\n },\r\n [dispatch, cacheReload]\r\n )\r\n\r\n useEffect(() => {\r\n setDataLoading(true)\r\n\r\n Promise.all([\r\n Promise.all(\r\n customerNumbers.map(customerNumber =>\r\n getCustomerData({\r\n params: {\r\n customerNumber,\r\n },\r\n })\r\n )\r\n ).then(responses => {\r\n const customersData = responses.map(responses => {\r\n return responses.data\r\n })\r\n\r\n setCustomersData(customersData)\r\n }),\r\n\r\n Promise.all(\r\n customerNumbers.map(customerNumber =>\r\n getBalance({\r\n params: { customerNumber },\r\n })\r\n )\r\n ).then(responses => {\r\n const balance = customerNumbers.reduce((acc, number, index) => {\r\n return {\r\n ...acc,\r\n [number as string]: responses[index].data.balance,\r\n }\r\n }, {})\r\n setBalanceData(balance)\r\n }),\r\n ]).then(() => {\r\n setDataLoading(false)\r\n })\r\n }, [customerNumbers, getCustomerData, getPoints, getBalance])\r\n\r\n const orderedCustomers = useMemo(() => {\r\n return customersData.sort((x, y) => {\r\n return x.customerNumber === selectedCustomerNumber\r\n ? -1\r\n : y.customerNumber === selectedCustomerNumber\r\n ? 1\r\n : 0\r\n })\r\n }, [customersData, selectedCustomerNumber])\r\n\r\n return {\r\n customerNumbers: orderedCustomers,\r\n selectedCustomerNumber,\r\n customers: customersData,\r\n balance: balanceData,\r\n loading: dataLoading,\r\n measurementPoints: {\r\n loading: pointsLoading,\r\n data: pointsData,\r\n get: (customerNumber: string) =>\r\n getPoints({\r\n params: { customerNumber },\r\n }),\r\n },\r\n setNewCustomerNumber,\r\n }\r\n}\r\n","import { AppPaths, IPath, SiderPaths } from '@core/routes/routesPaths'\r\nimport { Collapse, Paper, useMediaQuery, useTheme } from '@material-ui/core'\r\nimport MenuIcon from '@material-ui/icons/Menu'\r\nimport { useDataSource } from '@shared/components/summaryCards/dataSource'\r\nimport { Sider } from '@shared/components/Sider'\r\nimport { compose, find, valuesIn } from 'ramda'\r\nimport React, { useEffect, useMemo, useState } from 'react'\r\nimport { positionValues, Scrollbars } from 'react-custom-scrollbars'\r\nimport { useHistory, useLocation } from 'react-router'\r\nimport { AcceptRequiredConsentsModal } from '../modals/AcceptRequiredConsentsModal'\r\nimport CustomerServiceOfficeFab from '../poppers/CustomerServiceOffice'\r\nimport CookiesFloatingButton from '../CookiesFloatingButton'\r\nimport { BalanceCard } from '../summaryCards/MyBalanceCard'\r\nimport { MyAccountCard } from '../summaryCards/MyAccountCard'\r\nimport { MyDocumentsCard } from '../summaryCards/MyDocumentsCard'\r\nimport { PaymentsCard } from '../summaryCards/MyPaymentsCard'\r\nimport { TextLoader } from '../TextLoader'\r\nimport { UserMenu } from '../UserMenu'\r\nimport { ReactComponent as NotificationOffSvg } from '@images/icons/notification/Notification_Off.svg'\r\nimport { ReactComponent as NotificationSvg } from '@images/icons/notification/Notification.svg'\r\nimport useStyles from './LoggedAppLayout.style'\r\nimport { CustomerSelector } from '../customersSelector/CustomersSelector'\r\nimport CookiesConsent from '../cookiesConsent'\r\nimport DownloadMobileApp from '../DownloadMobileApp'\r\nimport { Button } from '../Button'\r\nimport { useAppSelector } from '@core/store/store'\r\nimport { getDesktopOffersByTypeSelector } from '@core/store/offers/offersSelectors'\r\nimport { ImageType } from '@core/store/offers/types'\r\nimport { SummaryCardWrapper } from '../summaryCards/SummaryCardWrapper'\r\n\r\nexport interface ILoggedAppLayoutProps {\r\n ref?: React.Ref\r\n topHeaderContent?: string | React.ReactNode\r\n topHeaderLoading?: boolean\r\n additionalTopElements?: string | React.ReactNode\r\n}\r\n\r\nexport const LoggedAppLayout: React.FC = ({\r\n children,\r\n topHeaderContent,\r\n additionalTopElements,\r\n topHeaderLoading,\r\n}) => {\r\n const styles = useStyles()\r\n const theme = useTheme()\r\n const mobile = useMediaQuery(theme.breakpoints.down('sm'))\r\n const onlySMMobile = useMediaQuery(theme.breakpoints.only('sm'))\r\n const xsMobile = useMediaQuery(theme.breakpoints.down('xs'))\r\n\r\n const location = useLocation()\r\n const history = useHistory()\r\n const offers = useAppSelector(getDesktopOffersByTypeSelector(ImageType.top))\r\n\r\n const [scrollTop, setScrollTop] = useState(0)\r\n const [activePageName, setactivePageName] = useState('')\r\n const [menuOpen, setMenuOpen] = useState(false)\r\n const [showCards, setShowCards] = useState(false)\r\n const [dueDate, setDueDate] = useState(null)\r\n const [showAllCards, setShowAllCards] = useState(true)\r\n\r\n const {\r\n account,\r\n agreements,\r\n balance,\r\n payments,\r\n documents,\r\n unreadNews,\r\n } = useDataSource()\r\n\r\n useEffect(() => {\r\n const activePath = compose(\r\n find(path => path.path === location.pathname),\r\n (paths: typeof AppPaths) => valuesIn(paths)\r\n )(AppPaths)\r\n\r\n activePath?.routeLinkTitle && setactivePageName(activePath?.routeLinkTitle)\r\n }, [location.pathname])\r\n\r\n const handleUpdate = ({ scrollTop }: positionValues) => {\r\n setScrollTop(scrollTop)\r\n }\r\n\r\n useEffect(() => {\r\n if (offers && dueDate !== null) {\r\n setShowAllCards(Boolean(dueDate || offers))\r\n }\r\n }, [dueDate, offers])\r\n\r\n const topCardsContainer = useMemo(() => {\r\n return [\r\n ,\r\n ,\r\n ,\r\n ,\r\n ,\r\n ]\r\n }, [\r\n balance,\r\n documents,\r\n payments,\r\n dueDate,\r\n offers,\r\n setDueDate,\r\n account,\r\n agreements,\r\n ])\r\n\r\n const cardsSplitter = useMemo(() => {\r\n const cardsToDisplay: JSX.Element[] = []\r\n if (showAllCards) {\r\n topCardsContainer.forEach((card, i) => {\r\n if (i < 4) cardsToDisplay.push(card)\r\n })\r\n } else {\r\n topCardsContainer.forEach((card, i) => {\r\n if (i !== 1) cardsToDisplay.push(card)\r\n })\r\n }\r\n return cardsToDisplay\r\n }, [topCardsContainer, showAllCards])\r\n\r\n return (\r\n
\r\n setMenuOpen(false)} />\r\n
\r\n \r\n
0 && styles.scrolled}`}>\r\n {mobile && (\r\n {\r\n setMenuOpen(!menuOpen)\r\n }}\r\n />\r\n )}\r\n {!mobile && activePageName}\r\n
\r\n \r\n history.push(SiderPaths.news.path)}\r\n >\r\n {unreadNews ? : }\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {(topHeaderContent || topHeaderLoading) && (\r\n \r\n \r\n {topHeaderContent}\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n {cardsSplitter[0]}\r\n {xsMobile && (\r\n setShowCards(prev => !prev)}\r\n >\r\n {showCards ? 'Ukryj' : 'Pokaż'} karty\r\n \r\n )}\r\n\r\n {xsMobile ? (\r\n
\r\n {cardsSplitter[1]}\r\n
\r\n ) : (\r\n <>{cardsSplitter[1]}\r\n )}\r\n
\r\n {onlySMMobile && (\r\n setShowCards(prev => !prev)}\r\n >\r\n {showCards ? 'Ukryj' : 'Pokaż'} karty\r\n \r\n )}\r\n
\r\n \r\n {cardsSplitter[2]}\r\n {cardsSplitter[3]}\r\n \r\n
\r\n
\r\n\r\n {additionalTopElements}\r\n
\r\n
\r\n
{children}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n","import { useApi } from '@core/apiClient/apiClient'\r\nimport { useDispatchOnCustomerNumberChange } from '@core/store/customerNumberDispatcher'\r\nimport {\r\n getAllUnpaidDocumentsSelector,\r\n getDocumentsLoadingSelector,\r\n} from '@core/store/entity/documents/documentsSelector'\r\nimport { paymentsLoadingSelector } from '@core/store/payments/paymentsSelectors'\r\nimport { getOffers } from '@core/store/offers/offersThunks'\r\nimport { documentsGetAll } from '@core/store/entity/documents/documentsThunks'\r\nimport { measurementPointsGetAll } from '@core/store/entity/measurementPoints/measurementPointsThunks'\r\nimport { newsGetAll } from '@core/store/entity/news/newsThunks'\r\nimport {\r\n getActiveAgreementsSelector,\r\n getHistoricalAgreementsSelector,\r\n userAgreementsDictionarySelector,\r\n userAgreementsLoadingSelector,\r\n} from '@core/store/entity/userAgreements/userAgreementsSelectors'\r\nimport { userAgreementsGetAll } from '@core/store/entity/userAgreements/userAgreementsThunks'\r\nimport { useAppDispatch, useAppSelector } from '@core/store/store'\r\nimport { unwrapResult } from '@reduxjs/toolkit'\r\nimport {\r\n AccountBalance,\r\n AccountingDocumentListItem,\r\n AccountingDocumentsSortType,\r\n} from '@shared/contracts/models'\r\nimport { useCallback, useState } from 'react'\r\n\r\nexport const useDataSource = () => {\r\n const dispatch = useAppDispatch()\r\n const account = useAppSelector(state => ({\r\n data: state.userAccount.account,\r\n loading: state.userAccount.loadingPending > 0,\r\n }))\r\n\r\n const [unreadNews, setUnreadNews] = useState(0)\r\n\r\n const historicalAgreements = useAppSelector(getHistoricalAgreementsSelector)\r\n const activeAgreements = useAppSelector(getActiveAgreementsSelector)\r\n const agreements = useAppSelector(userAgreementsDictionarySelector)\r\n\r\n const agreementsLoading = useAppSelector(userAgreementsLoadingSelector)\r\n\r\n const paymentsLoading = useAppSelector(paymentsLoadingSelector)\r\n\r\n const [balanceExecutor, balanceLoading, balanceData] = useApi(\r\n {\r\n config: {\r\n method: 'get',\r\n url: 'Accounts/balance',\r\n },\r\n }\r\n )\r\n\r\n const documentsLoading = useAppSelector(getDocumentsLoadingSelector)\r\n const unpaidDocuments: AccountingDocumentListItem[] = useAppSelector(\r\n getAllUnpaidDocumentsSelector\r\n )\r\n const loadData = useCallback(\r\n (customerNumberChanged: boolean) => {\r\n dispatch(\r\n newsGetAll({\r\n keepPrevious: !customerNumberChanged,\r\n type: 'Unread',\r\n })\r\n )\r\n .then(unwrapResult)\r\n .then(([payload]) => setUnreadNews(payload?.total ?? 0))\r\n dispatch(userAgreementsGetAll())\r\n dispatch(measurementPointsGetAll())\r\n dispatch(getOffers())\r\n dispatch(\r\n documentsGetAll({\r\n keepPrevious: !customerNumberChanged,\r\n limit: 50,\r\n sortBy: AccountingDocumentsSortType.DueDate,\r\n sortDesc: true,\r\n })\r\n )\r\n balanceExecutor()\r\n },\r\n [balanceExecutor, dispatch]\r\n )\r\n\r\n useDispatchOnCustomerNumberChange(loadData)\r\n\r\n return {\r\n account,\r\n payments: {\r\n loading: paymentsLoading,\r\n },\r\n agreements: {\r\n data: agreements,\r\n historicalAgreements,\r\n activeAgreements,\r\n loading: agreementsLoading,\r\n },\r\n balance: {\r\n data: balanceData,\r\n loading: balanceLoading,\r\n },\r\n documents: {\r\n unpaid: unpaidDocuments,\r\n loading: documentsLoading,\r\n },\r\n unreadNews,\r\n }\r\n}\r\n","import { RootState } from '@core/store/rootReducer'\r\nimport { createSelector } from '@reduxjs/toolkit'\r\n\r\nexport const administrationSelector = (state: RootState) => state.administration\r\n\r\nexport const applicationInServiceModeSelector = createSelector(\r\n administrationSelector,\r\n state => state.applicationServiceMode\r\n)\r\n","import React from 'react'\r\nimport { Animation } from '@shared/components/Animation'\r\nimport { AnimationScreenSrc } from '@shared/static-data/staticData'\r\nimport { makeStyles, createStyles, Theme } from '@material-ui/core'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n animation: {\r\n width: '100vw',\r\n height: '100vh',\r\n },\r\n })\r\n)\r\n\r\nexport const CustomAuthenticatingComponent = () => {\r\n const styles = useStyles()\r\n return \r\n}\r\n","import { OidcSecure } from '@axa-fr/react-oidc-redux'\r\nimport { useAppSelector } from '@core/store/store'\r\nimport { makeStyles, createStyles, Theme } from '@material-ui/core'\r\nimport { Animation } from '@shared/components/Animation'\r\nimport { AnimationScreenSrc } from '@shared/static-data/staticData'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { Route } from 'react-router'\r\nimport { CustomAuthenticatingComponent } from './CustomAuthenticationgComponent'\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n animation: {\r\n width: '100vw',\r\n height: '100vh',\r\n },\r\n })\r\n)\r\n\r\nexport interface IProtectedRouteProps {\r\n path: string\r\n component: React.FC<{}>\r\n}\r\n\r\nexport const getProtectedComponent = (Component: React.FC<{}>) => () => {\r\n const styles = useStyles()\r\n const { user } = useAppSelector(state => state.oidc)\r\n const [loading, setLoading] = useState(true)\r\n\r\n useEffect(() => {\r\n setLoading(true)\r\n const timeout = setTimeout(\r\n () => {\r\n setLoading(false)\r\n },\r\n process.env.NODE_ENV === 'development' ? 0 : 3000\r\n )\r\n\r\n return () => {\r\n clearTimeout(timeout)\r\n }\r\n }, [user])\r\n\r\n return (\r\n <>\r\n {!loading || user ? (\r\n
\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n {!user ? (\r\n \r\n ) : null}\r\n \r\n )\r\n}\r\n\r\nexport const ProtectedRoute: React.FC = ({\r\n component,\r\n path,\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}\r\n","import { useAppSelector } from '@core/store/store'\r\nimport { NotFoundPage } from '@mbok/features/NotFound/NotFound'\r\nimport ServiceUnavailablePage from '@mbok/features/ServiceUnavailable'\r\nimport LoggedAppLayout from '@shared/components/LoggedAppLayout'\r\nimport { ILoggedAppLayoutProps } from '@shared/components/LoggedAppLayout/LoggedAppLayout'\r\nimport { applicationInServiceModeSelector } from '../store/administration/administrationSelectors'\r\nimport { valuesIn } from 'ramda'\r\nimport React, { useMemo, useState } from 'react'\r\nimport { Redirect, Route, Switch, useLocation } from 'react-router-dom'\r\nimport { ProtectedRoute } from '../auth/GuardedRoute'\r\nimport { AppPaths, IPath } from './routesPaths'\r\nimport { User } from 'oidc-client'\r\n\r\nexport const LayoutWrapperContext = React.createContext<\r\n React.Dispatch>\r\n>(() => {})\r\n\r\nconst ApplicationContent: React.FC<{\r\n user: User | undefined\r\n layoutProps: ILoggedAppLayoutProps | undefined\r\n}> = props => {\r\n const [paths] = useState(valuesIn(AppPaths))\r\n const location = useLocation()\r\n const activeRoute = paths.find(path => path.path === location.pathname)\r\n\r\n const pathsSwitch = useMemo(\r\n () => (\r\n \r\n {paths.map(({ protectedRoute, ...props }) => {\r\n return protectedRoute ? (\r\n \r\n ) : (\r\n \r\n )\r\n }, AppPaths)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n [paths]\r\n )\r\n\r\n return activeRoute?.protectedRoute && props.user ? (\r\n {pathsSwitch}\r\n ) : (\r\n pathsSwitch\r\n )\r\n}\r\n\r\nexport const Routes = () => {\r\n const { user } = useAppSelector(state => state.oidc)\r\n\r\n const isApplicationInServiceMode = useAppSelector(\r\n applicationInServiceModeSelector\r\n )\r\n\r\n const [layoutProps, setLayoutProps] = useState()\r\n\r\n return (\r\n \r\n {!isApplicationInServiceMode ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )\r\n}\r\n","import { useAnalytics } from '@core/analytics/useAnalytics'\r\nimport { useLogoutUserUnloaded } from '@core/auth/useUserUnloaded'\r\nimport { Routes } from '@core/routes/Routes'\r\nimport { actionsInterceptorMiddleware } from '@core/store/middleware/actionsInterceptorMiddleware'\r\nimport { useCacheReload } from '@shared/hooks/useCacheReload'\r\nimport { User } from 'oidc-client'\r\nimport React, { useEffect } from 'react'\r\nimport { useHistory } from 'react-router'\r\nimport { USER_FOUND } from 'redux-oidc'\r\n\r\nconst App = () => {\r\n const history = useHistory()\r\n const cacheReload = useCacheReload()\r\n const [, , enableGa] = useAnalytics()\r\n\r\n useEffect(() => {\r\n actionsInterceptorMiddleware\r\n .addActionsPromise([USER_FOUND])\r\n .then(({ action }) => {\r\n const { state }: User = action.payload\r\n if (state) {\r\n history.replace(state.url)\r\n }\r\n })\r\n }, [history])\r\n\r\n useLogoutUserUnloaded()\r\n\r\n useEffect(() => {\r\n cacheReload()\r\n }, [cacheReload])\r\n\r\n useEffect(() => {\r\n enableGa()\r\n }, [enableGa])\r\n\r\n return \r\n}\r\n\r\nexport default App\r\n","import { useAppSelector } from '@core/store/store'\r\nimport { useEffect, useState } from 'react'\r\n\r\nexport const useLogoutUserUnloaded = () => {\r\n const { user } = useAppSelector(state => state.oidc)\r\n\r\n const [hadUser, setHadUser] = useState(false)\r\n\r\n useEffect(() => {\r\n if (Boolean(user)) {\r\n setHadUser(true)\r\n }\r\n }, [user])\r\n\r\n useEffect(() => {\r\n if (hadUser && !user) {\r\n window.location.reload()\r\n setHadUser(false)\r\n }\r\n }, [hadUser, user])\r\n}\r\n","import { InMemoryWebStorage, Oidc } from '@axa-fr/react-oidc-redux'\r\nimport ReturnPage from '@mbok/features/Return'\r\n\r\nimport React from 'react'\r\nimport { AppStore } from '../store/store'\r\n\r\nexport interface IOidcProviderProps {\r\n store: AppStore\r\n}\r\n\r\n// NOTE: when server side rendering will be required please omit usage of window\r\nconst getConfiguration = () => ({\r\n config: {\r\n client_id: process.env.REACT_APP_IS_CLIENT,\r\n redirect_uri: window.location.origin + '/authentication/callback',\r\n response_type: 'code',\r\n scope: 'openid mbok_api',\r\n authority: process.env.REACT_APP_IS_URL,\r\n silent_redirect_uri:\r\n window.location.origin + '/authentication/silent_callback',\r\n automaticSilentRenew: true,\r\n loadUserInfo: true,\r\n post_logout_redirect_uri: window.location.origin,\r\n monitorSession: process.env.NODE_ENV !== 'development',\r\n },\r\n})\r\n\r\nexport const OidcProvider: React.FC = ({\r\n children,\r\n store,\r\n}) => {\r\n const configuration = getConfiguration()\r\n return (\r\n
}\r\n notAuthenticated={ReturnPage}\r\n notAuthorized={ReturnPage}\r\n >\r\n {children}\r\n \r\n )\r\n}\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n)\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void\r\n}\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config)\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n )\r\n })\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing\r\n if (installingWorker == null) {\r\n return\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n )\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration)\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.')\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error)\r\n })\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type')\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload()\r\n })\r\n })\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n )\r\n })\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister()\r\n })\r\n .catch(error => {\r\n console.error(error.message)\r\n })\r\n }\r\n}\r\n","import { createMuiTheme } from '@material-ui/core/styles'\r\n\r\nimport {\r\n primaryColor,\r\n errorRedColor,\r\n textPrimaryColor,\r\n lightColor,\r\n borderColor,\r\n warningColor,\r\n backdropBg,\r\n textSecondaryColor,\r\n tableTextColor,\r\n} from './constants'\r\n\r\nexport const theme = createMuiTheme({\r\n spacing: 4,\r\n overrides: {\r\n MuiCssBaseline: {\r\n '@global': {\r\n 'h1, h2, h3, h4, h5': {\r\n margin: '10px 0',\r\n },\r\n 'body, html': {\r\n height: '100%',\r\n },\r\n '.main-root': {\r\n height: '100%',\r\n },\r\n textarea: {\r\n fontFamily: `\"Mulish\", \"Helvetica\", \"Arial\", sans-serif`,\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n root: {\r\n minWidth: '42px',\r\n },\r\n },\r\n MuiPaper: {\r\n root: {\r\n padding: '15px 20px',\r\n backgroundColor: 'white',\r\n position: 'relative',\r\n },\r\n outlined: {\r\n border: `1.7px solid ${borderColor}`,\r\n padding: '20px',\r\n },\r\n rounded: {\r\n borderRadius: '8px',\r\n },\r\n },\r\n MuiPopover: {\r\n paper: {\r\n padding: 0,\r\n borderRadius: '7px',\r\n border: `1.7px solid ${borderColor}`,\r\n boxShadow: '0 7px 9px 3px rgba(105,105,105,0.03)',\r\n color: tableTextColor,\r\n '& ul': {\r\n padding: 0,\r\n '& li': {\r\n padding: '12px ',\r\n },\r\n },\r\n },\r\n },\r\n MuiDialog: {\r\n paper: {\r\n margin: '20px 0',\r\n },\r\n },\r\n MuiBackdrop: {\r\n root: {\r\n backgroundColor: backdropBg,\r\n },\r\n },\r\n },\r\n typography: {\r\n fontFamily: `\"Mulish\", \"Helvetica\", \"Arial\", sans-serif`,\r\n fontSize: 14,\r\n fontWeightLight: 300,\r\n fontWeightRegular: 400,\r\n fontWeightMedium: 500,\r\n fontWeightBold: 600,\r\n },\r\n palette: {\r\n primary: {\r\n main: primaryColor,\r\n light: lightColor,\r\n },\r\n secondary: {\r\n main: warningColor,\r\n },\r\n error: {\r\n main: errorRedColor,\r\n },\r\n text: {\r\n primary: textPrimaryColor,\r\n secondary: textSecondaryColor,\r\n },\r\n },\r\n shape: {\r\n borderRadius: 10,\r\n },\r\n})\r\n\r\nexport default theme\r\n","import { CssBaseline, ThemeProvider } from '@material-ui/core'\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { Provider } from 'react-redux'\r\nimport { BrowserRouter } from 'react-router-dom'\r\nimport { persistStore } from 'redux-persist'\r\nimport App from './App'\r\nimport { OidcProvider } from './core/auth/OidcProvider'\r\nimport store from './core/store/store'\r\nimport * as serviceWorker from './serviceWorker'\r\nimport Modal from '@shared/components/modals/Modal'\r\nimport theme from './styles/theme'\r\nimport { PersistGate } from 'redux-persist/integration/react'\r\nimport { SnackbarProvider } from 'notistack'\r\nimport i18n from '@i18n/index'\r\n\r\nimport 'react-loader-spinner/dist/loader/css/react-spinner-loader.css'\r\n\r\ni18n()\r\n\r\nconst MainComponent: React.FC = () => (\r\n \r\n {/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nif (module.hot) {\r\n module.hot.accept('./App', () => {\r\n ReactDOM.render(, document.getElementById('root'))\r\n })\r\n}\r\n\r\nconst persistor = persistStore(store)\r\n\r\nReactDOM.render(, document.getElementById('root'))\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister()\r\n"],"sourceRoot":""}