From 2dcb10775c0312200cef14793a54f411f232242b Mon Sep 17 00:00:00 2001 From: Abin Toppo Date: Mon, 21 Sep 2026 13:21:25 +0530 Subject: [PATCH] Update CBS Mobile App codebase --- .watchmanconfig | 12 +- ARCHITECTURE.md | 509 ++++++ App.tsx | 31 +- STITCH_PROMPT.md | 312 ++++ STITCH_PROMPT_LOGIN.md | 198 +++ android/app/src/main/AndroidManifest.xml | 33 +- .../main/assets/fonts/IBMPlexMono-SmBld.ttf | Bin 0 -> 174608 bytes .../app/src/main/assets/fonts/IBMPlexMono.ttf | Bin 0 -> 173052 bytes .../main/assets/fonts/IBMPlexSans-Bold.ttf | Bin 0 -> 200872 bytes .../main/assets/fonts/IBMPlexSans-Medm.ttf | Bin 0 -> 202460 bytes .../main/assets/fonts/IBMPlexSans-SmBld.ttf | Bin 0 -> 202632 bytes .../app/src/main/assets/fonts/IBMPlexSans.ttf | Bin 0 -> 200500 bytes .../app/src/main/assets/fonts/Nunito-Bold.ttf | 1459 --------------- .../main/assets/fonts/Nunito-ExtraBold.ttf | 1459 --------------- .../src/main/assets/fonts/Nunito-Regular.ttf | 1459 --------------- .../src/main/assets/fonts/Nunito-SemiBold.ttf | 1459 --------------- .../com/bankcbs/mobile/MainApplication.kt | 5 +- .../com/bankcbs/mobile/sim/SimCardModule.kt | 256 +++ .../com/bankcbs/mobile/sim/SimCardPackage.kt | 19 + .../main/res/xml/network_security_config.xml | 38 + android/local.properties.bak | 1 + assets/fonts/IBMPlexMono-SmBld.ttf | Bin 0 -> 174608 bytes assets/fonts/IBMPlexMono.ttf | Bin 0 -> 173052 bytes assets/fonts/IBMPlexSans-Bold.ttf | Bin 0 -> 200872 bytes assets/fonts/IBMPlexSans-Medm.ttf | Bin 0 -> 202460 bytes assets/fonts/IBMPlexSans-SmBld.ttf | Bin 0 -> 202632 bytes assets/fonts/IBMPlexSans.ttf | Bin 0 -> 200500 bytes assets/fonts/Nunito-Bold.ttf | 1459 --------------- assets/fonts/Nunito-ExtraBold.ttf | 1459 --------------- assets/fonts/Nunito-Regular.ttf | 1459 --------------- assets/fonts/Nunito-SemiBold.ttf | 1459 --------------- download-fonts.js | 155 +- index.js | 5 + ios/BankCBS/Info.plist | 26 +- metro.config.js | 20 +- package-lock.json | 82 +- package.json | 12 +- scripts/audit-features.js | 142 ++ scripts/checkContrast.js | 278 +++ src/components/AccountCard/index.tsx | 240 +++ src/components/AccountSelector/index.tsx | 135 ++ src/components/ActivityTracker/index.tsx | 38 + src/components/AppHeader/index.tsx | 4 +- src/components/AppearanceSetting/index.tsx | 77 + src/components/BalanceCard/index.tsx | 230 --- src/components/BottomSheet/index.tsx | 4 +- src/components/Button/index.tsx | 263 ++- src/components/Card/index.tsx | 65 +- src/components/DatePicker/index.tsx | 33 +- src/components/EmptyState/index.tsx | 4 +- src/components/InfoBanner/index.tsx | 164 ++ src/components/Input/index.tsx | 217 ++- src/components/Modal/index.tsx | 4 +- src/components/ScreenShell/index.tsx | 61 +- src/components/SegmentedControl/index.tsx | 179 ++ src/components/Stepper/index.tsx | 181 ++ src/components/ToastHost/index.tsx | 4 +- src/components/TransactionItem/index.tsx | 83 +- src/components/index.ts | 8 +- src/config/appConfig.ts | 22 + src/config/env.ts | 45 +- src/constants/featureKeys.ts | 325 ++++ src/constants/legalContent.ts | 88 + src/constants/mockData.ts | 18 + src/constants/queryTags.ts | 1 + src/features/FeatureGate.tsx | 103 ++ src/features/FeatureProvider.tsx | 159 ++ src/features/adminFeatures.ts | 65 + src/features/featureConfig.ts | 291 +++ src/features/featureOverrides.ts | 124 ++ src/features/featureRemoteConfig.ts | 226 +++ src/features/featureService.test.ts | 262 +++ src/features/featureService.ts | 415 +++++ src/features/hydrateFeatures.ts | 29 + src/features/index.ts | 45 + src/features/types.ts | 117 ++ src/features/useFeature.ts | 130 ++ src/hooks/useApiErrorToast.ts | 35 + src/hooks/useAppBootstrap.ts | 57 +- src/hooks/useSessionTimeout.ts | 179 +- .../agent/components/AgentEmptyState.tsx | 6 +- .../agent/components/AgentMiniChart.tsx | 4 +- .../agent/components/AgentProgressRing.tsx | 6 +- .../agent/components/AgentSectionHeader.tsx | 6 +- .../agent/components/AgentStatCard.tsx | 8 +- .../agent/components/CollectionEntryCard.tsx | 8 +- .../components/CommissionSummaryCard.tsx | 12 +- src/modules/agent/components/CustomerCard.tsx | 12 +- src/modules/agent/constants/agentConstants.ts | 34 +- src/modules/agent/hooks/useCustomerForm.ts | 17 + .../agent/screens/AccountOpeningScreen.tsx | 28 +- .../agent/screens/AddEditCustomerScreen.tsx | 65 +- .../agent/screens/AgentDashboardScreen.tsx | 19 +- src/modules/agent/screens/AgentHomeScreen.tsx | 4 +- .../agent/screens/AgentLoansScreen.tsx | 6 +- .../agent/screens/AgentProfileScreen.tsx | 16 +- .../agent/screens/AgentRouteScreen.tsx | 185 +- .../agent/screens/CollectionHistoryScreen.tsx | 6 +- .../agent/screens/CollectionReceiptScreen.tsx | 10 +- .../screens/CommissionDashboardScreen.tsx | 16 +- .../agent/screens/CreateLoanRequestScreen.tsx | 85 +- .../agent/screens/CustomerDetailScreen.tsx | 64 +- .../CustomerInstallmentHistoryScreen.tsx | 15 +- .../agent/screens/CustomerListScreen.tsx | 28 +- .../agent/screens/DailyCollectionScreen.tsx | 34 +- .../agent/screens/LoanRequestListScreen.tsx | 12 +- .../agent/screens/SmsHistoryScreen.tsx | 6 +- src/modules/agent/services/agentApi.ts | 24 + src/modules/agent/types/agentTypes.ts | 18 +- src/modules/agent/utils/agentMockData.ts | 43 + src/modules/auth/components/BiometricNode.tsx | 197 ++- src/modules/auth/components/CodeInput.tsx | 186 ++ src/modules/auth/components/LoginFooter.tsx | 141 ++ src/modules/auth/components/LoginHero.tsx | 106 -- .../auth/components/LoginHero/index.tsx | 62 +- src/modules/auth/components/LoginRoleTabs.tsx | 128 +- .../auth/components/PreLoginActions.tsx | 137 ++ src/modules/auth/components/SimChooser.tsx | 379 ++++ src/modules/auth/hooks/useBiometricPrompt.ts | 21 +- src/modules/auth/screens/CreateMpinScreen.tsx | 245 +++ src/modules/auth/screens/LoginScreen.tsx | 749 ++++++-- src/modules/auth/screens/MpinLockedScreen.tsx | 97 + src/modules/auth/screens/RegisterScreen.tsx | 733 ++++++++ src/modules/auth/screens/VerifyOtpScreen.tsx | 282 +++ src/modules/auth/services/authApi.ts | 227 ++- src/modules/auth/store/authSelectors.ts | 38 +- src/modules/auth/store/authSlice.ts | 299 +++- src/modules/auth/store/authThunk.ts | 479 ++++- src/modules/auth/types/index.ts | 79 +- src/modules/auth/utils/authValidation.ts | 25 + .../awareness/components/AwarenessCard.tsx | 12 +- .../screens/AwarenessDetailScreen.tsx | 22 +- .../awareness/screens/AwarenessListScreen.tsx | 15 +- .../cards/components/CardControlToggle.tsx | 4 +- .../cards/components/CardDeliveryStatus.tsx | 18 +- src/modules/cards/components/CardItem.tsx | 25 +- .../cards/components/ExpandableSection.tsx | 6 +- src/modules/cards/components/LimitSlider.tsx | 8 +- src/modules/cards/components/ToggleSwitch.tsx | 4 +- .../cards/components/TransactionItem.tsx | 10 +- .../cards/screens/ApplyCreditCardScreen.tsx | 45 +- .../cards/screens/CardDetailsScreen.tsx | 329 ++-- .../cards/screens/CardsOverviewScreen.tsx | 79 +- .../screens/RequestPhysicalCardScreen.tsx | 56 +- .../deposit/components/DepositAccountCard.tsx | 27 +- .../deposit/components/DepositOptionChip.tsx | 4 +- .../deposit/components/DepositRatePill.tsx | 4 +- .../deposit/components/DepositStatusPill.tsx | 4 +- .../deposit/hooks/useDepositPortfolio.ts | 106 +- .../screens/DepositCalculatorScreen.tsx | 12 +- .../deposit/screens/DepositDetailsScreen.tsx | 91 +- .../screens/DepositsOverviewScreen.tsx | 62 +- .../screens/OpenFixedDepositScreen.tsx | 20 +- .../screens/OpenRecurringDepositScreen.tsx | 18 +- src/modules/deposit/services/depositApi.ts | 64 +- .../deposit/utils/depositDetailAdapter.ts | 118 ++ .../employee/screens/EmployeeHomeScreen.tsx | 4 +- .../home/components/HomeSectionHeader.tsx | 6 +- .../home/components/HorizontalCategories.tsx | 29 +- src/modules/home/components/InsightsCard.tsx | 6 +- src/modules/home/components/PromoBanner.tsx | 12 +- src/modules/home/components/QuickActions.tsx | 58 +- .../home/components/ServiceGridItem.tsx | 4 +- src/modules/home/components/SummaryCard.tsx | 10 +- src/modules/home/hooks/useAccounts.ts | 92 + src/modules/home/hooks/useStatement.ts | 150 ++ .../home/screens/AccountDetailsScreen.tsx | 133 +- .../home/screens/AccountsMmidScreen.tsx | 257 +++ src/modules/home/screens/EPassbookScreen.tsx | 205 +++ src/modules/home/screens/HomeScreen.tsx | 688 +++++--- .../home/screens/MiniStatementScreen.tsx | 1571 +++++++++-------- src/modules/home/screens/ReKycScreen.tsx | 256 ++- src/modules/home/screens/VideoKycScreen.tsx | 164 ++ src/modules/home/services/accountsApi.ts | 161 ++ src/modules/home/store/accountSelectors.ts | 10 - src/modules/home/store/accountSlice.ts | 47 +- src/modules/home/utils/accountRules.test.ts | 99 ++ src/modules/home/utils/accountRules.ts | 46 + src/modules/home/utils/statement.test.ts | 112 ++ src/modules/home/utils/statement.ts | 79 + .../components/InsuranceCategoryChip.tsx | 4 +- .../components/InsuranceClaimCard.tsx | 8 +- .../components/InsuranceDocumentItem.tsx | 8 +- .../components/InsuranceOtpModal.tsx | 6 +- .../components/InsurancePaymentMethodTile.tsx | 4 +- .../components/InsurancePlanCard.tsx | 20 +- .../components/InsurancePolicyCard.tsx | 12 +- .../components/InsuranceRangeSlider.tsx | 6 +- .../components/InsuranceStatusPill.tsx | 76 +- .../insurance/screens/BuyInsuranceScreen.tsx | 14 +- .../screens/InsuranceCalculatorScreen.tsx | 8 +- .../screens/InsuranceClaimsScreen.tsx | 8 +- .../screens/InsuranceComparisonScreen.tsx | 10 +- .../screens/InsuranceDashboardScreen.tsx | 22 +- .../screens/InsuranceDocumentsScreen.tsx | 4 +- .../screens/InsuranceNotificationsScreen.tsx | 11 +- .../screens/InsurancePoliciesScreen.tsx | 6 +- .../screens/InsurancePolicyDetailsScreen.tsx | 22 +- .../screens/InsuranceRenewalsScreen.tsx | 17 +- src/modules/loan/components/DocumentItem.tsx | 12 +- .../loan/components/EligibilityResultCard.tsx | 12 +- .../loan/components/EmiScheduleRow.tsx | 6 +- .../loan/components/ForeclosureSheet.tsx | 14 +- .../loan/components/LoanAccountCard.tsx | 22 +- .../loan/components/LoanFilterChip.tsx | 4 +- .../loan/components/LoanNotificationItem.tsx | 6 +- src/modules/loan/components/LoanOfferCard.tsx | 12 +- .../loan/components/LoanSummaryHero.tsx | 22 +- .../loan/components/LoanTimelineCard.tsx | 6 +- .../loan/components/PaymentMethodTile.tsx | 4 +- .../loan/screens/ActiveLoanDetailsScreen.tsx | 32 +- src/modules/loan/screens/ApplyLoanScreen.tsx | 24 +- src/modules/loan/screens/EmiPaymentScreen.tsx | 18 +- .../loan/screens/LoanCalculatorScreen.tsx | 20 +- .../loan/screens/LoanDashboardScreen.tsx | 20 +- .../loan/screens/LoanDocumentsScreen.tsx | 20 +- .../screens/LoanEligibilityCheckScreen.tsx | 10 +- .../loan/screens/LoanHistoryScreen.tsx | 18 +- .../loan/screens/LoanTrackingScreen.tsx | 8 +- .../screens/NotificationsScreen.tsx | 217 ++- .../components/TransferAmountFields.tsx | 58 + src/modules/payments/hooks/useTransferForm.ts | 69 + .../payments/screens/AddBeneficiaryScreen.tsx | 617 +++++-- .../screens/BeneficiariesListScreen.tsx | 245 ++- .../payments/screens/ImpsMmidScreen.tsx | 500 ++++++ .../screens/PaymentConfirmationScreen.tsx | 161 +- .../payments/screens/PaymentFormScreen.tsx | 196 -- .../payments/screens/PaymentsHomeScreen.tsx | 188 +- .../screens/TransactionSuccessScreen.tsx | 8 +- .../screens/TransferToAccountScreen.tsx | 377 ++++ .../screens/TransferToMobileScreen.tsx | 243 +++ .../screens/TransferToOwnAccountScreen.tsx | 195 ++ .../payments/screens/TransferTypeScreen.tsx | 123 -- src/modules/payments/services/paymentsApi.ts | 122 +- .../payments/store/beneficiariesSlice.ts | 65 +- .../payments/utils/beneficiaryMapper.ts | 61 + src/modules/payments/utils/transferRouting.ts | 22 + .../profile/components/LinkedAccountItem.tsx | 15 +- .../profile/components/ProfileHeader.tsx | 88 +- .../profile/components/ProfileMenuItem.tsx | 6 +- src/modules/profile/components/SettingRow.tsx | 4 +- .../profile/components/SupportActionItem.tsx | 4 +- .../profile/navigation/ProfileNavigator.tsx | 29 +- .../profile/screens/AboutAppScreen.tsx | 19 +- .../screens/AccountManagementScreen.tsx | 16 +- .../profile/screens/ChangePasswordScreen.tsx | 7 +- .../profile/screens/EditProfileScreen.tsx | 4 +- .../profile/screens/FeatureFlagsScreen.tsx | 278 +++ .../screens/LanguageSettingsScreen.tsx | 7 +- .../profile/screens/LegalInfoScreen.tsx | 15 +- .../screens/NotificationSettingsScreen.tsx | 12 +- .../profile/screens/PrivacySettingsScreen.tsx | 11 +- .../profile/screens/ProfileMainScreen.tsx | 395 +++-- .../profile/screens/SecurityScreen.tsx | 151 +- src/modules/profile/screens/SupportScreen.tsx | 9 +- src/modules/schemes/components/Accordion.tsx | 4 +- .../schemes/components/ProtectionOtpModal.tsx | 8 +- src/modules/schemes/components/SchemeCard.tsx | 12 +- .../components/UnclaimedDepositCard.tsx | 18 +- .../schemes/screens/DeafClaimFlowScreen.tsx | 16 +- src/modules/schemes/screens/DeafHubScreen.tsx | 13 +- .../schemes/screens/DicgcHubScreen.tsx | 24 +- .../screens/FinancialProtectionScreen.tsx | 19 +- .../schemes/screens/SchemeDetailScreen.tsx | 14 +- .../screens/SchemeEnrollmentScreen.tsx | 21 +- .../schemes/screens/SchemeSuccessScreen.tsx | 12 +- .../search/screens/GlobalSearchScreen.tsx | 31 +- src/modules/search/searchCatalog.ts | 242 ++- .../services/components/BranchDetailSheet.tsx | 16 +- .../services/components/BranchListItem.tsx | 12 +- .../services/components/ChequeAnimation.tsx | 23 +- .../services/components/FacilityFilterBar.tsx | 4 +- .../components/ServiceRequestAnimation.tsx | 6 +- .../services/components/ServiceStatusPill.tsx | 4 +- .../services/screens/BalanceEnquiryScreen.tsx | 194 ++ .../services/screens/BranchLocatorScreen.tsx | 25 +- .../screens/CertificateListScreen.tsx | 21 +- .../screens/CertificatesHubScreen.tsx | 43 +- .../screens/ChequeBookRequestScreen.tsx | 284 ++- .../screens/ChequeServicesHubScreen.tsx | 38 +- .../services/screens/ChequeTrackingScreen.tsx | 11 +- .../services/screens/FateOfChequeScreen.tsx | 261 +++ .../services/screens/Form15G15HScreen.tsx | 8 +- .../services/screens/NominationScreen.tsx | 157 ++ .../services/screens/PositivePayScreen.tsx | 406 ++++- .../screens/ServiceRequestsHubScreen.tsx | 34 +- .../services/screens/ServicesHubScreen.tsx | 125 +- .../services/screens/SetTpinScreen.tsx | 166 ++ .../screens/SpecialInstructionsScreen.tsx | 65 - .../screens/StandingInstructionsScreen.tsx | 141 ++ .../services/screens/StopPaymentScreen.tsx | 433 ++++- src/modules/services/services/chequeApi.ts | 85 + .../services/services/chequeBookApi.ts | 107 ++ .../services/chequeBookErrors.test.ts | 71 + .../services/services/chequeBookErrors.ts | 60 + .../services/services/positivePayApi.ts | 65 + .../services/positivePayErrors.test.ts | 55 + .../services/services/positivePayErrors.ts | 50 + .../services/stopPaymentErrors.test.ts | 68 + .../services/services/stopPaymentErrors.ts | 63 + src/modules/services/utils/chequeFate.ts | 118 ++ src/navigation/AgentNavigator.tsx | 281 +-- src/navigation/AuthNavigator.tsx | 113 +- src/navigation/CardsNavigator.tsx | 11 +- src/navigation/FeatureRoute.tsx | 88 + src/navigation/HomeNavigator.tsx | 25 +- src/navigation/InsuranceNavigator.tsx | 23 +- src/navigation/LoanNavigator.tsx | 23 +- src/navigation/MainTabNavigator.tsx | 164 +- src/navigation/PaymentsNavigator.tsx | 54 +- src/navigation/RootNavigator.tsx | 31 +- src/navigation/ServicesNavigator.tsx | 67 +- src/navigation/featureRoutes.ts | 236 +++ src/navigation/tabBarTheme.tsx | 139 ++ src/navigation/types.ts | 63 +- src/services/api/apiClient.ts | 6 + src/services/api/apiLogger.ts | 271 +++ src/services/api/baseApi.ts | 15 +- src/services/api/cbsErrors.test.ts | 167 ++ src/services/api/cbsErrors.ts | 358 ++++ src/services/api/endpoints.ts | 104 +- src/services/api/interceptors.ts | 157 +- src/services/api/serviceHelpers.ts | 30 + src/services/device/simCard.ts | 243 +++ src/services/files/pdfDownload.ts | 216 +++ src/services/security/deviceIdentity.ts | 80 + src/services/security/mpinCrypto.ts | 90 + src/services/security/sessionManager.ts | 153 +- src/services/storage/appDataPurge.ts | 85 + src/services/storage/secureStorage.ts | 141 +- src/theme/ThemeContext.tsx | 142 +- src/theme/index.ts | 11 + src/theme/palette.ts | 371 ++++ src/theme/tokens.ts | 735 +++++++- src/types/api.ts | 7 + src/types/app.ts | 48 +- src/types/cbs.ts | 594 +++++++ src/utils/validation.test.ts | 96 + src/utils/validation.ts | 28 +- 339 files changed, 26750 insertions(+), 16767 deletions(-) create mode 100644 ARCHITECTURE.md create mode 100644 STITCH_PROMPT.md create mode 100644 STITCH_PROMPT_LOGIN.md create mode 100644 android/app/src/main/assets/fonts/IBMPlexMono-SmBld.ttf create mode 100644 android/app/src/main/assets/fonts/IBMPlexMono.ttf create mode 100644 android/app/src/main/assets/fonts/IBMPlexSans-Bold.ttf create mode 100644 android/app/src/main/assets/fonts/IBMPlexSans-Medm.ttf create mode 100644 android/app/src/main/assets/fonts/IBMPlexSans-SmBld.ttf create mode 100644 android/app/src/main/assets/fonts/IBMPlexSans.ttf delete mode 100644 android/app/src/main/assets/fonts/Nunito-Bold.ttf delete mode 100644 android/app/src/main/assets/fonts/Nunito-ExtraBold.ttf delete mode 100644 android/app/src/main/assets/fonts/Nunito-Regular.ttf delete mode 100644 android/app/src/main/assets/fonts/Nunito-SemiBold.ttf create mode 100644 android/app/src/main/java/com/bankcbs/mobile/sim/SimCardModule.kt create mode 100644 android/app/src/main/java/com/bankcbs/mobile/sim/SimCardPackage.kt create mode 100644 android/app/src/main/res/xml/network_security_config.xml create mode 100644 android/local.properties.bak create mode 100644 assets/fonts/IBMPlexMono-SmBld.ttf create mode 100644 assets/fonts/IBMPlexMono.ttf create mode 100644 assets/fonts/IBMPlexSans-Bold.ttf create mode 100644 assets/fonts/IBMPlexSans-Medm.ttf create mode 100644 assets/fonts/IBMPlexSans-SmBld.ttf create mode 100644 assets/fonts/IBMPlexSans.ttf delete mode 100644 assets/fonts/Nunito-Bold.ttf delete mode 100644 assets/fonts/Nunito-ExtraBold.ttf delete mode 100644 assets/fonts/Nunito-Regular.ttf delete mode 100644 assets/fonts/Nunito-SemiBold.ttf create mode 100644 scripts/audit-features.js create mode 100644 scripts/checkContrast.js create mode 100644 src/components/AccountCard/index.tsx create mode 100644 src/components/AccountSelector/index.tsx create mode 100644 src/components/ActivityTracker/index.tsx create mode 100644 src/components/AppearanceSetting/index.tsx delete mode 100644 src/components/BalanceCard/index.tsx create mode 100644 src/components/InfoBanner/index.tsx create mode 100644 src/components/SegmentedControl/index.tsx create mode 100644 src/components/Stepper/index.tsx create mode 100644 src/constants/featureKeys.ts create mode 100644 src/constants/legalContent.ts create mode 100644 src/features/FeatureGate.tsx create mode 100644 src/features/FeatureProvider.tsx create mode 100644 src/features/adminFeatures.ts create mode 100644 src/features/featureConfig.ts create mode 100644 src/features/featureOverrides.ts create mode 100644 src/features/featureRemoteConfig.ts create mode 100644 src/features/featureService.test.ts create mode 100644 src/features/featureService.ts create mode 100644 src/features/hydrateFeatures.ts create mode 100644 src/features/index.ts create mode 100644 src/features/types.ts create mode 100644 src/features/useFeature.ts create mode 100644 src/hooks/useApiErrorToast.ts create mode 100644 src/modules/auth/components/CodeInput.tsx create mode 100644 src/modules/auth/components/LoginFooter.tsx delete mode 100644 src/modules/auth/components/LoginHero.tsx create mode 100644 src/modules/auth/components/PreLoginActions.tsx create mode 100644 src/modules/auth/components/SimChooser.tsx create mode 100644 src/modules/auth/screens/CreateMpinScreen.tsx create mode 100644 src/modules/auth/screens/MpinLockedScreen.tsx create mode 100644 src/modules/auth/screens/RegisterScreen.tsx create mode 100644 src/modules/auth/screens/VerifyOtpScreen.tsx create mode 100644 src/modules/deposit/utils/depositDetailAdapter.ts create mode 100644 src/modules/home/hooks/useAccounts.ts create mode 100644 src/modules/home/hooks/useStatement.ts create mode 100644 src/modules/home/screens/AccountsMmidScreen.tsx create mode 100644 src/modules/home/screens/EPassbookScreen.tsx create mode 100644 src/modules/home/screens/VideoKycScreen.tsx create mode 100644 src/modules/home/services/accountsApi.ts create mode 100644 src/modules/home/utils/accountRules.test.ts create mode 100644 src/modules/home/utils/accountRules.ts create mode 100644 src/modules/home/utils/statement.test.ts create mode 100644 src/modules/home/utils/statement.ts create mode 100644 src/modules/payments/components/TransferAmountFields.tsx create mode 100644 src/modules/payments/hooks/useTransferForm.ts create mode 100644 src/modules/payments/screens/ImpsMmidScreen.tsx delete mode 100644 src/modules/payments/screens/PaymentFormScreen.tsx create mode 100644 src/modules/payments/screens/TransferToAccountScreen.tsx create mode 100644 src/modules/payments/screens/TransferToMobileScreen.tsx create mode 100644 src/modules/payments/screens/TransferToOwnAccountScreen.tsx delete mode 100644 src/modules/payments/screens/TransferTypeScreen.tsx create mode 100644 src/modules/payments/utils/beneficiaryMapper.ts create mode 100644 src/modules/payments/utils/transferRouting.ts create mode 100644 src/modules/profile/screens/FeatureFlagsScreen.tsx create mode 100644 src/modules/services/screens/BalanceEnquiryScreen.tsx create mode 100644 src/modules/services/screens/FateOfChequeScreen.tsx create mode 100644 src/modules/services/screens/NominationScreen.tsx create mode 100644 src/modules/services/screens/SetTpinScreen.tsx delete mode 100644 src/modules/services/screens/SpecialInstructionsScreen.tsx create mode 100644 src/modules/services/screens/StandingInstructionsScreen.tsx create mode 100644 src/modules/services/services/chequeApi.ts create mode 100644 src/modules/services/services/chequeBookApi.ts create mode 100644 src/modules/services/services/chequeBookErrors.test.ts create mode 100644 src/modules/services/services/chequeBookErrors.ts create mode 100644 src/modules/services/services/positivePayApi.ts create mode 100644 src/modules/services/services/positivePayErrors.test.ts create mode 100644 src/modules/services/services/positivePayErrors.ts create mode 100644 src/modules/services/services/stopPaymentErrors.test.ts create mode 100644 src/modules/services/services/stopPaymentErrors.ts create mode 100644 src/modules/services/utils/chequeFate.ts create mode 100644 src/navigation/FeatureRoute.tsx create mode 100644 src/navigation/featureRoutes.ts create mode 100644 src/navigation/tabBarTheme.tsx create mode 100644 src/services/api/apiLogger.ts create mode 100644 src/services/api/cbsErrors.test.ts create mode 100644 src/services/api/cbsErrors.ts create mode 100644 src/services/device/simCard.ts create mode 100644 src/services/files/pdfDownload.ts create mode 100644 src/services/security/deviceIdentity.ts create mode 100644 src/services/security/mpinCrypto.ts create mode 100644 src/services/storage/appDataPurge.ts create mode 100644 src/theme/palette.ts create mode 100644 src/types/cbs.ts create mode 100644 src/utils/validation.test.ts diff --git a/.watchmanconfig b/.watchmanconfig index 0967ef4..57c35d4 100644 --- a/.watchmanconfig +++ b/.watchmanconfig @@ -1 +1,11 @@ -{} +{ + "ignore_dirs": [ + "android/build", + "android/app/build", + "android/app/.cxx", + "android/.gradle", + "android/.kotlin", + "ios/build", + "ios/Pods" + ] +} diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..1629eae --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,509 @@ +# BankCBS — Mobile Application Architecture + +A React Native mobile banking client for a Core Banking System (CBS) backend. It +serves **two distinct applications from one binary** — a retail customer app and +a field-agent app — selected at runtime by the authenticated user's role, with +every navigable route, tab and control individually switchable through a +hierarchical feature-flag engine. + +| | | +|---|---| +| **Package** | `bankcbs` v1.0.0 (`com.bankcbs.mobile`) | +| **Runtime** | React Native 0.83.4, React 19.2, TypeScript 5.9 (`strict`, `noUncheckedIndexedAccess`) | +| **State** | Redux Toolkit 2.11 + RTK Query, `react-redux` 9.2 | +| **Navigation** | React Navigation 7 (native-stack + bottom-tabs) | +| **Transport** | Axios 1.14 wrapped by a custom RTK Query `baseQuery` | +| **Crypto / secrets** | `node-forge` (RSA-OAEP), `react-native-keychain`, `react-native-biometrics` | +| **Scale** | 381 source files · ~58,300 LOC · 103 screens · 17 modules · 182 feature keys | + +--- + +## 1. Layering + +Dependencies flow strictly downward. Nothing in a lower layer imports from a +higher one. + +``` +┌───────────────────────────────────────────────────────────────────┐ +│ App.tsx / index.js composition root, provider order │ +├───────────────────────────────────────────────────────────────────┤ +│ src/navigation/ role routing + feature-gated routes │ +├───────────────────────────────────────────────────────────────────┤ +│ src/modules// 17 self-contained domain modules │ +│ screens · components · hooks · store · services · types · utils│ +├───────────────────────────────────────────────────────────────────┤ +│ src/features/ feature-flag engine (cross-cutting) │ +│ src/components/ 16 shared presentational primitives │ +│ src/theme/ design tokens + ThemeProvider │ +│ src/hooks/ app-wide hooks (bootstrap, session…) │ +├───────────────────────────────────────────────────────────────────┤ +│ src/services/ api · security · storage · device … │ +│ src/app/ store, rootReducer, typed hooks │ +│ src/config/ constants/ types/ utils/ │ +└───────────────────────────────────────────────────────────────────┘ +``` + +### Directory map + +| Path | Responsibility | +|---|---| +| [src/app/](src/app/) | Store configuration, `rootReducer`, typed `useAppDispatch`/`useAppSelector` | +| [src/navigation/](src/navigation/) | Root/tab/stack navigators, param lists, route→feature maps | +| [src/modules/](src/modules/) | Domain modules (see §7) | +| [src/features/](src/features/) | Feature-flag service, provider, gates, hooks | +| [src/services/api/](src/services/api/) | Axios client, interceptors, endpoint registry, error catalogue | +| [src/services/security/](src/services/security/) | Session manager, device identity, MPIN crypto, biometrics | +| [src/services/storage/](src/services/storage/) | Keychain/AsyncStorage-backed secure storage | +| [src/components/](src/components/) | Shared UI primitives, barrel-exported | +| [src/theme/](src/theme/) | `FintechTheme` token contract + context | +| [src/constants/](src/constants/) | Feature keys, route names, RTK Query tags, translations, fixtures | +| [src/types/](src/types/) | `api.ts` (client errors), `app.ts` (domain), `cbs.ts` (wire types) | + +--- + +## 2. Composition root + +[App.tsx](App.tsx) fixes the provider order, and the order is load-bearing: + +``` +GestureHandlerRootView +└── SafeAreaProvider + └── redux Provider ← store must exist before features read session + └── FeatureProvider ← flags must resolve before navigators register routes + └── ThemeProvider + └── AppShell + ├── useAppBootstrap() + └── ActivityTracker (touch capture → session keep-alive) + ├── RootNavigator + └── ToastHost +``` + +[index.js](index.js) handles three pre-React concerns: + +1. `react-native-get-random-values` is imported **first** — `uuid` binds + `crypto.getRandomValues` at module load, and both the device ID and the MPIN + nonce import `uuid`, so a later import throws at startup. +2. `notifee.onBackgroundEvent` is registered (required by Notifee even as a no-op). +3. `Text` / `TextInput` `defaultProps` are patched to the `Nunito-Regular` font family. + +### Bootstrap sequence + +[src/hooks/useAppBootstrap.ts](src/hooks/useAppBootstrap.ts) runs once on mount: + +1. `bootstrapAuthSession()` — mints the device ID and **validates any stored + session against the server** before trusting it. +2. `seedAllData()` — populates the fixture-backed modules (profile, dashboard, + beneficiaries, payees, deposits, service requests, loans, insurance, cards). +3. `markAppReady()`, then `registerForPushNotifications()`. +4. Registers a global unauthorized handler that dispatches `logoutSession()` and + raises a toast. + +It also re-seeds on every sign-in transition, because logout wipes the entire +Redux tree (§4), and on sign-*out* re-reads only the sign-in context — a full +bootstrap would raise `isHydrating` and blank the app behind a loader on the way +out. + +--- + +## 3. Navigation architecture + +``` +RootNavigator ← isHydrating? Loader : isAuthenticated? +├── AuthNavigator (unauthenticated) +│ Login · Register · VerifyOtp · CreateMpin · MpinLocked +├── MainTabNavigator (role: 'User') +│ ├── Home → HomeNavigator (+ nested LoanFlow, InsuranceFlow) +│ ├── Payments → PaymentsNavigator +│ ├── Services → ServicesNavigator (Hub; tabPress resets the stack) +│ ├── Cards → CardsNavigator +│ └── Profile → ProfileNavigator (lives in src/modules/profile/navigation/) +└── AgentNavigator (role: 'Agent') + ├── AgentDashboard · AgentCustomers · AgentCollections + └── AgentLoans · AgentProfile (each a nested native stack) +``` + +Three deliberate decisions are documented in the code: + +- **Role switch, not a route.** [RootNavigator.tsx](src/navigation/RootNavigator.tsx) + picks the app stack from `auth.role`. Disabling `FeatureKey.AGENT` retires the + whole field-agent app; an already-signed-in agent falls back to the customer + app rather than landing on an empty navigator. +- **Initial route computed, never navigated to.** + [AuthNavigator.tsx](src/navigation/AuthNavigator.tsx) derives + `initialRouteName` from a stored profile instead of `replace()`-ing in an + effect — an effect-driven replace races navigation-container readiness and is + silently dropped, and the warning that would reveal it is stripped from + release builds. `signInContextLoaded` gates this so a null profile means + "unknown" rather than "never registered" before the Keystore has been read. +- **`CreateMpin` and `MpinLocked` disable the back gesture.** The setup token is + single-use; leaving halfway means restarting registration. + +### Route-level feature gating + +[src/navigation/featureRoutes.ts](src/navigation/featureRoutes.ts) maps every +route name to the `FeatureKey` that owns it, and each navigator wraps its +`Screen` in `canRoute(...)`: + +```tsx +const canRoute = useRouteGuard(CARDS_ROUTE_FEATURES); +{canRoute('CardDetails') && } +``` + +A disabled route is **never registered**, so it cannot be reached by +`navigate()`, a deep link, or restored navigation state. Hiding the menu entry +alone would not achieve that. +[FeatureRoute.tsx](src/navigation/FeatureRoute.tsx) is a secondary screen-level +guard for defence in depth. + +--- + +## 4. State management + +[src/app/store.ts](src/app/store.ts) · [src/app/rootReducer.ts](src/app/rootReducer.ts) + +16 domain slices plus two RTK Query reducers (`baseApi`, `schemesApi`). +`serializableCheck` is disabled. + +**Logout wipes everything.** `rootReducer` intercepts +`auth/logoutSession/fulfilled` and sets `state = undefined`, so no slice can +leak data across sessions. Re-seeding on sign-in (§2) is the counterpart to this. + +Three coexisting data-access patterns: + +| Pattern | Where | Used by | +|---|---|---| +| `baseApi.injectEndpoints` (RTK Query over Axios) | `modules/*/services/*Api.ts` | agent, cards, deposit, home ×2, insurance, loan, payments, profile, services ×2, transfer | +| `createSlice` + `createAsyncThunk` | `modules/*/store/` | auth, cards, deposit, home, insurance, loan, payments, profile, services, transfer, ui | +| Standalone `createApi` | `modules/schemes/services/schemesApi.ts` | schemes only — its own reducer path, fixture `queryFn`s | + +Cache invalidation runs on a central tag list — +[src/constants/queryTags.ts](src/constants/queryTags.ts), 25 tags — registered on +`baseApi` so any module can invalidate another's cache. + +--- + +## 5. Data & API layer + +### The envelope + +Every CBS response shares one wrapper ([src/types/cbs.ts](src/types/cbs.ts)): + +```ts +interface CbsEnvelope { + success: boolean; message: string; + data?: T; // present on success; VALIDATION_ERROR carries a field map here + errorCode?: string; // only on failure — this is what the app switches on + timestamp: string; +} +``` + +### Interceptors + +[src/services/api/interceptors.ts](src/services/api/interceptors.ts) is where the +contract is enforced: + +- **Request:** attaches `Authorization: Bearer ` from `secureStorage`. +- **Response:** branches on `envelope.success`, **not the HTTP status** — a + failure can arrive with a 2xx, and treating it as a payload hands callers + `undefined`. Failures are thrown as a `CbsApiError`; successes are unwrapped so + callers read `response.data` as the payload. +- **Session mirroring:** any call carrying an `Authorization` header calls + `sessionManager.touch()`, because that same call reset the server's idle timer. +- **Session loss:** only `SESSION_INVALID` clears storage and fires the global + unauthorized handlers. `INVALID_CREDENTIALS` shares the 401 but means a wrong + MPIN on the sign-in form — bouncing the user out of a screen they aren't in yet + would be nonsense. + +### Error catalogue + +[src/services/api/cbsErrors.ts](src/services/api/cbsErrors.ts) enumerates the +**31 backend error codes** as a `const` tuple, plus 3 client-synthesised codes +(`NETWORK_ERROR`, `REQUEST_TIMEOUT`, `UNKNOWN_ERROR`). Each has authored +`{ title, description, retryable }` copy, so no failure can render as a blank +toast — asserted by [cbsErrors.test.ts](src/services/api/cbsErrors.test.ts). +`errorCode` is treated as the stable contract; `message` is assumed re-wordable +server-side, so no branch reads the message or the status. + +### Endpoint registry & mock strategy + +All paths live in one object, +[src/services/api/endpoints.ts](src/services/api/endpoints.ts), with +parameterised routes as functions. + +`resolveWithMock` in +[serviceHelpers.ts](src/services/api/serviceHelpers.ts) returns fixtures when +`appConfig.features.useMockServer` is set. Per its own contract, endpoints the +CBS API actually implements **must not** go through it — they call `apiClient` +directly so failures surface rather than being papered over with demo data. +Live today: registration, sign-in, accounts/MMID, payees. Fixture-backed: +dashboard, cards, loans, insurance, deposits, service requests, the agent app. + +--- + +## 6. Feature-flag engine + +The most distinctive part of the architecture: **182 keys** covering every +module, screen, tab, menu row, button and action. + +### Keys encode the hierarchy + +[src/constants/featureKeys.ts](src/constants/featureKeys.ts) declares a +dot-notation enum; the service derives parent/child from the path itself, so the +tree can never drift from the naming. + +``` +loans → loans.apply → loans.apply.submit +``` + +[featureConfig.ts](src/features/featureConfig.ts) is a flat +`Record` **on purpose** — the `Record` makes +TypeScript reject the file if any declared key lacks config, which a nested +object literal cannot guarantee. + +### Resolution + +[featureService.ts](src/features/featureService.ts) — one instance, holding a +registry, a layer stack, a resolution cache, and a listener set: + +``` +default → environment → remote → tenant → user (lowest → highest priority) +``` + +A feature is enabled only if it exists, its own flag is on, **and every ancestor +resolves enabled**. Resolution is **fail-closed**: an unknown key, or a key with +missing config, is `false` — in a banking app an unrecognised flag must hide the +feature, never reveal it. `validate()` runs in `__DEV__` and reports +`missing-config`, `unknown-key` and `missing-parent` issues, catching a typo like +`loans.aply.submit` that would otherwise become a root feature no parent could +switch off. + +### Consumption surface + +| API | Use | +|---|---| +| `useFeature(key)` / `useFeatures([...])` | reactive boolean(s); subscribes via `useSyncExternalStore` on a version counter | +| `` | renders children or **nothing** — deliberately no `fallback` prop, so a disabled feature leaves no trace: no greyed control, no "coming soon", no hidden-but-present node | +| `` | JSON-driven UI where the key arrives as data | +| `useFeatureAction` / `guardFeature` | guards a *handler* some other path may still hold | +| `useRouteGuard(map)` | navigator-level route registration (§3) | +| `FeatureProvider` | resolves async remote/tenant layers at startup, exposes `ready` | + +`FeatureProvider` swallows loader failures so the app always falls back to +compiled-in defaults rather than blocking startup. Remote and tenant loaders are +optional props — nothing is wired to Firebase Remote Config or a config API yet, +but the seam exists without touching a single UI component. + +--- + +## 7. Module anatomy + +Every module under [src/modules/](src/modules/) follows the same internal shape, +so any module is navigable once one of them is: + +``` +modules// +├── screens/ route components +├── components/ domain-specific presentational pieces +├── hooks/ form/flow logic extracted from screens +├── store/ Slice.ts · Thunk.ts · Selectors.ts +├── services/ Api.ts (baseApi.injectEndpoints) +├── types/ domain types +├── utils/ calculators, validators, fixtures +├── constants/ domain constants (agent, awareness, schemes) +└── navigation/ only where the module owns its own navigator (agent, profile) +``` + +| Module | Screens | Components | Store | Services | Hooks | Files | +|---|---:|---:|---:|---:|---:|---:| +| agent | 18 | 9 | 2 | 1 | 5 | 41 | +| services | 13 | 6 | 3 | 2 | 3 | 30 | +| profile | 12 | 5 | 3 | 1 | 1 | 25 | +| insurance | 10 | 9 | 3 | 2 | 2 | 29 | +| loan | 10 | 11 | 3 | 1 | 4 | 33 | +| home | 7 | 7 | 3 | 2 | 1 | 22 | +| payments | 7 | 1 | 4 | 1 | 1 | 17 | +| schemes | 7 | 5 | 2 | 1 | 1 | 18 | +| auth | 5 | 7 | 3 | 1 | 1 | 19 | +| deposit | 5 | 4 | 3 | 1 | 2 | 19 | +| cards | 4 | 9 | 3 | 1 | 2 | 21 | +| awareness | 2 | 1 | — | — | 1 | 6 | +| notifications | 1 | — | 1 | — | — | 2 | +| search | 1 | — | — | — | — | 2 | +| employee | 1 | — | — | — | — | 1 | +| transfer | — | 1 | 3 | 1 | 1 | 8 | +| ui | — | — | 3 | — | 1 | 4 | + +`transfer` is state-and-service only (its screens live under `payments`); `ui` +holds cross-cutting UI state (toasts, app-ready, session-expired). + +--- + +## 8. Security & session architecture + +### MPIN never leaves the device in the clear + +[mpinCrypto.ts](src/services/security/mpinCrypto.ts) encrypts +`{ mpin, nonce, ts }` under the server's RSA public key (**RSA-OAEP, SHA-256, +MGF1 explicitly SHA-256**) and sends it as `encryptedMpin`. Three integration +hazards are called out in the source, all of which fail silently: + +- MGF1 **must** be passed explicitly. node-forge happens to default it to `md`, + but Java's `OAEPWithSHA-256AndMGF1Padding` leaves MGF1 on SHA-1 — relying on a + default produces ciphertext the server cannot decrypt, with a useless error. +- `ts` is in **seconds**. Milliseconds read as ~55,000 years ahead and are rejected. +- `nonce` must be fresh per call or it is refused as a replay. + +The key is fetched from `/crypto/public-key` and cached; `PINNED_PUBLIC_KEY` is a +fallback for when the fetch fails. `invalidate()` drops the cache after a +`MALFORMED_REQUEST`, which is what a stale key looks like client-side (the server +cannot say "your key is wrong" without leaking whether the profile exists). + +### Device binding + +[deviceIdentity.ts](src/services/security/deviceIdentity.ts) mints one UUID on +first launch, persisted to the Keychain under +`ACCESSIBLE.AFTER_FIRST_UNLOCK_THIS_DEVICE_ONLY` (not `WHEN_UNLOCKED_*` — the ID +is not a secret and sign-in must read it *before* the user authenticates). It is +memoised in memory, and concurrent cold-start callers share one in-flight promise +— otherwise each would mint a UUID, last write wins, and the device silently +unbinds. The registered profile is bound to this value; a mismatch returns +`DEVICE_NOT_BOUND`, which reads like a server fault but is a client bug. + +### Secure storage + +[secureStorage.ts](src/services/storage/secureStorage.ts) keeps three Keychain +services — session, last profile, biometric MPIN — plus a biometric-enabled flag +in AsyncStorage (the device ID is a fourth, owned by `deviceIdentity`). The +session is cached in memory because the request interceptor needs the token on +*every* call and an Android Keystore read costs tens of ms. + +The MPIN is retained **only** when the customer opts into biometric sign-in: the +API has no refresh token, so a session can only be opened by encrypting the MPIN, +which makes biometric sign-in impossible otherwise. It sits behind the device's +own biometric prompt, never in AsyncStorage. An unparseable session (written by +an older build) is treated as absent rather than crashing bootstrap. + +### Session lifetime — three independent triggers + +[sessionManager.ts](src/services/security/sessionManager.ts) adopts the server's +own limits at sign-in (`idleTimeoutSeconds`, `expiresAt`) so the app never +guesses and never drifts from what the backend enforces. It tracks **two clocks +separately**: + +- `lastServerContactAt` — the only thing the server's idle window is measured + from, so the only thing expiry may be judged on. +- `lastInteractionAt` — screen touches. Because most of the app reads from + fixtures, a user can tap around for five minutes without one authenticated + call; treating that as idle would sign them out mid-use. So interaction drives + a **keep-alive**, never the expiry clock itself. + +[useSessionTimeout.ts](src/hooks/useSessionTimeout.ts) polls every 5s and expires +on whichever of three triggers fires first — `idle`, `absolute`, or `background` +(returning to the foreground after `lockAfterBackgroundMs`, default 30s). Each +has its own copy; `background` is toned as informational because a deliberate +re-lock is not a failure, and dressing it up as one would train users to ignore +the banner that matters. + +[ActivityTracker](src/components/ActivityTracker/) wraps the whole tree and reads +touches via `onStartShouldSetResponderCapture`, returning `false` so it sees every +touch on the way down but never becomes the responder — a wrapper that actually +captured touches would break every pressable beneath it. + +`appConfig.security.requireMpinOnLaunch` defaults to **true**: every launch asks +for the MPIN rather than resuming a stored session, because there is no local +MPIN verifier — the only one is `POST /auth/login`, so "ask again" necessarily +means "open a fresh session". + +--- + +## 9. Presentation layer + +**Theme.** [src/theme/](src/theme/) defines a `FintechTheme` token contract — +colours (including a "Cyber Nexus" accent set), spacing, typography scale, radii, +shadows — consumed via `useTheme()`. `RootNavigator` maps these onto React +Navigation's `DarkTheme`. + +**Shared primitives.** 16 barrel-exported components in +[src/components/](src/components/): `Button`, `Input`, `Card`, `Modal`, +`BottomSheet`, `DatePicker`, `Loader`, `EmptyState`, `BalanceCard`, +`TransactionItem`, `AppHeader`, `ToastHost`, `ActivityTracker`, plus three +keyboard/layout containers. + +**`ScreenShell`** is the standard screen wrapper — gradient background, safe +area, `AppHeader`, optional scroll, per-platform `KeyboardAvoidingView` behaviour +(`padding` on iOS, `height` on Android), `withTabBar` padding so content never +hides behind the absolutely-positioned tab bar, and a `fixedFooter` slot. + +**i18n.** [useTranslation.ts](src/hooks/useTranslation.ts) resolves keys against +[translations.ts](src/constants/translations.ts) using the language in the profile +slice, falling back to `en` then to the key itself. Currently a small dictionary +rather than a full i18n library. + +**Notifications.** +[pushNotifications.ts](src/services/notifications/pushNotifications.ts) (Notifee) +for delivery; the `notifications` slice holds the in-app inbox. + +--- + +## 10. Build & platform + +- **Android permissions:** `INTERNET`, fine/coarse location (branch locator, + agent routes), `POST_NOTIFICATIONS`, `READ_PHONE_STATE` / `READ_PHONE_NUMBERS` + (SIM-card checks in [simCard.ts](src/services/device/simCard.ts)). +- **Metro** ([metro.config.js](metro.config.js)) block-lists native build output + — `android/app/build` alone exceeds 2 GB after a debug build, and without + watchman Metro walks it on startup and never becomes responsive. +- **TypeScript** is `strict` with `noUncheckedIndexedAccess` and `bundler` module + resolution. +- **Scripts:** `start`, `android`, `ios`, `lint`, `test`, `typecheck`, + `clean:android`. +- **Notable native deps:** MapLibre (branch locator / agent routes), Reanimated 4 + + Worklets, gesture-handler, `@gorhom/bottom-sheet`, SVG, linear-gradient, + haptic feedback, date-picker. + +--- + +## 11. Testing + +Jest, with 5 unit suites concentrated on the logic where a silent error is +costly: + +| Suite | Covers | +|---|---| +| [featureService.test.ts](src/features/featureService.test.ts) | flag resolution, hierarchy, layer precedence, fail-closed behaviour | +| [cbsErrors.test.ts](src/services/api/cbsErrors.test.ts) | all 31 codes present and unique, copy for every code, retryability, `CbsApiError` identity | +| [validation.test.ts](src/utils/validation.test.ts) | shared input validators | +| [emi.test.ts](src/modules/loan/utils/emi.test.ts) | loan EMI maths | +| [depositCalculators.test.ts](src/modules/deposit/utils/depositCalculators.test.ts) | FD/RD maturity maths | + +There is no component, navigation or integration test layer. + +--- + +## 12. Current state & known gaps + +Factual observations from the code, not recommendations: + +1. **`useMockServer` is `true`** in [src/config/env.ts](src/config/env.ts). + Registration, sign-in, accounts/MMID and payees hit the live API; the other + modules resolve from ~1,390 lines of fixtures in + [src/constants/mockData.ts](src/constants/mockData.ts). +2. **`API_ORIGIN` is a hard-coded LAN address** (`http://10.209.40.168:8089`) over + plain HTTP. The file documents that debug builds permit cleartext and release + builds will need HTTPS or a network-security-config. There is no + per-environment config mechanism. +3. **`PINNED_PUBLIC_KEY` is committed in source** as the fallback when the key + fetch fails. +4. **`schemesApi` bypasses the shared stack** — its own `createApi` with + `fetchBaseQuery({ baseUrl: '/' })` and fixture `queryFn`s, including a + hard-coded `otp !== '123456'` check. It does not use `baseApi`, the endpoint + registry, or the CBS error catalogue. +5. **Remote and tenant flag layers are unwired.** `ENVIRONMENT_FEATURE_OVERRIDES` + is `{}` and `FeatureProvider` is mounted without loader props, so all 182 keys + resolve from the compiled-in defaults. The layering exists as a seam. +6. **Three data-access patterns coexist** (RTK Query, slice+thunk, standalone + `createApi`), several modules using two of them at once. +7. **`serializableCheck` is disabled** store-wide. +8. **The `employee` module is a single placeholder screen**; `EmployeeNavigator` + is defined but not reachable from `RootNavigator`, which routes only `'Agent'` + and `'User'`. diff --git a/App.tsx b/App.tsx index b8faa86..bc33884 100644 --- a/App.tsx +++ b/App.tsx @@ -7,19 +7,30 @@ import { Provider } from 'react-redux'; import { store } from './src/app/store'; import { RootNavigator } from './src/navigation/RootNavigator'; -import { ThemeProvider } from './src/theme'; +import { ThemeProvider, useTheme } from './src/theme'; import { ToastHost } from './src/components/ToastHost'; +import { ActivityTracker } from './src/components/ActivityTracker'; +import { FeatureProvider, hydrateFeatures } from './src/features'; import { useAppBootstrap } from './src/hooks/useAppBootstrap'; const AppShell = () => { + const theme = useTheme(); + useAppBootstrap(); return ( - <> - + + {/* + The app-wide default. Individual screens override it — a screen on the + full-bleed navy wash forces light icons, because that wash is dark in + both themes — but everything else sits on `colors.background`, and + this follows the live theme so dark mode does not leave black icons on + a near-black bar. + */} + - + ); }; @@ -28,9 +39,15 @@ export default function App() { - - - + {/* Reads the persisted local overrides and the bank's server-driven + config before the navigators mount — they decide at mount time + which screens to register, so a flag arriving later would leave a + disabled route reachable until the next launch. */} + + + + + diff --git a/STITCH_PROMPT.md b/STITCH_PROMPT.md new file mode 100644 index 0000000..350c5bb --- /dev/null +++ b/STITCH_PROMPT.md @@ -0,0 +1,312 @@ +# Stitch design-system prompt — BankCBS + +Paste **Part A** into Stitch to establish the design system, then prompt individual +screens against it. Part B is a short fallback if Stitch truncates your input. +Part C is what to send back to me. + +--- + +## Part A — the system prompt (paste this) + +``` +You are designing the design system for BankCBS, a production mobile banking app +built in React Native for the Indian market. Do not design individual screens yet. +Produce the system: colour, typography, spacing, elevation, and a component +library that screens will be assembled from. + +── THE PRODUCT ────────────────────────────────────────────────────────────── +One app serving two very different audiences from the same binary: + +1. RETAIL CUSTOMER. Checks balances, pays people, manages cards, opens fixed and + recurring deposits, applies for loans and insurance. Uses the app for two + minutes at a time, often on a mid-range Android phone, and needs to trust it + with money. Tone: calm, precise, unmistakably a bank — not a fintech toy. + +2. FIELD COLLECTION AGENT. A bank employee visiting customers door to door in + daylight, one-handed, at speed, entering cash collections and opening + accounts. Needs density, high contrast, large tap targets, and numbers + readable in direct sunlight. This is a working tool, not a lifestyle app. + +Design one coherent system that serves both. The agent surfaces should read as +the same family — same primary colour, same components — but denser and higher +contrast. Show me how the system flexes between the two. + +── KEEP THIS ──────────────────────────────────────────────────────────────── +PRIMARY BRAND NAVY: #124577. This is locked. It is the bank's identity and must +remain the dominant brand colour, used for primary actions, active states, and +brand moments. Build the rest of the palette around it. + +── REDESIGN EVERYTHING ELSE ───────────────────────────────────────────────── +You have full latitude, and I want you to use it, on: + - the accent / secondary colour (the current #10B981 green is not working) + - semantic colours for success, warning, danger, info + - the full neutral ramp (backgrounds, surfaces, borders, three text tiers) + - the type scale, weights and line heights + - the spacing scale + - corner radii + - elevation and depth + - how cards, rows and sections separate from one another + +The current app looks like an unstyled admin form: flat white cards, a weak grey +ramp, no hierarchy, no considered depth. Fix that. It should look like a bank a +person would trust with their salary. + +── HARD TECHNICAL CONSTRAINTS (React Native — not a browser) ──────────────── +This ships as React Native. Anything below is UNBUILDABLE and must not appear in +your design. This is the most important section of this brief. + +DO NOT USE: + - Frosted glass, backdrop blur, or any blur effect. No blur library is + installed. Every "glassmorphism" surface must instead be a solid or + low-opacity flat fill. + - CSS grid. Layout is flexbox only. + - Pseudo-elements (::before / ::after) for decoration, arrows, or dividers. + Anything visible must be a real element. + - Text gradients or gradient-filled type. Text takes one flat colour. + - Radial, conic, or mesh gradients. LINEAR gradients only (two or three stops). + - Inner shadows, multiple stacked shadows, or coloured glows around elements. + React Native supports ONE outer shadow per element: colour, x/y offset, + opacity, radius on iOS; a single flat elevation value on Android. Android + ignores shadow colour and offset entirely — so any design that depends on a + soft coloured shadow will look flat on most of the user base. Design depth + with borders, surface-tone steps, and generous spacing instead. + - Border gradients, dashed borders with custom dash patterns, or per-corner + different border widths. + - CSS filters, blend modes, or opacity masks. + - position: sticky, and any scroll-linked parallax or scroll-driven colour + change. + - SVG masks or clip paths beyond a simple rounded rectangle. + - Custom checkbox/radio/switch shapes that depend on pseudo-elements. + +DO USE, all available: + - Linear gradients (react-native-linear-gradient) + - Inline SVG shapes and charts (react-native-svg) + - Spring and timing animation, gesture-driven motion (Reanimated) + - Haptic feedback on confirmations + - Native bottom sheets with snap points + - Native date pickers + +── TYPOGRAPHY — READ THIS CAREFULLY ───────────────────────────────────────── +The ONLY font family available is Nunito, and only these four weights exist as +real font files: + + 400 Regular 600 SemiBold 700 Bold 800 ExtraBold + +There is NO 300, NO 500, and NO 900. React Native on Android does not synthesise +missing weights — it silently falls back and the text renders wrong. So specify +every single text style using only 400, 600, 700 or 800. If your type scale wants +a light or medium weight, redesign it to work within these four. + +Nunito is a rounded humanist sans. It is friendly, which fights slightly with +banking authority — show me how you handle that with weight, size, tracking and +case rather than by swapping the family. + +Give me a complete scale with a name, size (px), weight, line height and letter +spacing for each role. Include at minimum: a display/balance figure, three +headings, body, body-small, caption, an uppercase label/eyebrow, a button label, +and a tabular numeric style for money in tables. + +── MONEY AND NUMBERS ──────────────────────────────────────────────────────── +This is an Indian bank. Get these right, they are not cosmetic: + - Currency is the rupee: ₹ + - Indian digit grouping, NOT thousands grouping. ₹1,25,000 and ₹12,50,000 — + two digits, two digits, then three. Never ₹125,000. + - Large sums are spoken in lakh and crore. Show how you'd abbreviate: ₹1.25 L, + ₹2.4 Cr. + - Money must align on the decimal in any list or table. Specify a numeric style + with fixed-width digits. + - Show a positive (credit) and negative (debit) treatment. Do not rely on colour + alone — a sign or direction icon must carry it too. + +Other formats that appear throughout, design real slots for them: + - Mobile number: +91 followed by exactly 10 digits, displayed 98765 43210 + - Account number, always masked except the last four: A/c ••••4321 + - IFSC code: 11 characters, letters and digits, e.g. HDFC0001234 + - MPIN: exactly 4 digits, always obscured, entered in separate boxes + - OTP: exactly 6 digits, entered in separate boxes + - Transfer rails, shown as labels the customer chooses between: IMPS (instant, + 24x7), NEFT (batched), RTGS (high value, ₹2,00,000 minimum), and intra-bank + - Dates as 12 Mar 2026, never 03/12/2026 — ambiguous between conventions + +── COMPONENTS TO SPECIFY ──────────────────────────────────────────────────── +These already exist in the codebase and your system must define how each one +looks. Keep the names. + + Button variants: primary, secondary, ghost, danger. + Full-width and inline. With and without a leading icon. + Input single-line and multi-line. Has an uppercase label above, an + optional leading accessory (icon, or a "+91" prefix with a + divider rule), an optional trailing accessory (validation tick, + clear, reveal), and error text below. + CodeInput separate boxes for MPIN (4) and OTP (6). + Card the base surface everything sits on. + BalanceCard the hero object: account nickname, masked number, large + balance figure, a show/hide balance control, account holder. + Appears in a horizontal swipe carousel with multiple accounts. + TransactionItem a row: direction icon, counterparty, date, amount, status. + AppHeader screen title, optional back button, optional right slot. + ScreenShell the page frame: background, safe area, optional scroll, + optional pinned footer. + BottomSheet for pickers and confirmations. + Modal for blocking confirmations. + DatePicker date selection. + Loader full-screen busy state. + EmptyState icon, title, description, optional action button. + Toast transient feedback, top of screen. success / error / info. + +Also design these, which the app needs and does not yet have: + StatusPill account, transaction, loan and card status. At least: active, + pending, blocked, frozen, failed, matured, overdue. + SectionHeader a titled group divider with an optional trailing action. + ListRow the generic settings/menu row: leading icon, title, optional + subtitle, and a trailing chevron, value, badge or switch. + Stepper progress through a multi-step flow (registration is 3 steps). + Skeleton loading placeholder for cards, rows and the balance figure. + SegmentedControl for switching between two or three views. + AmountInput large, keypad-driven money entry — the centre of any payment. + InfoBanner inline informational, warning and error notices. + Chip selectable filter chips, single and multi-select. + KeyValueRow the label/value pair used all over detail and receipt screens. + +── EVERY COMPONENT NEEDS EVERY STATE ──────────────────────────────────────── +A banking app spends most of its life in non-default states. For each component, +show: default, pressed, focused, disabled, loading, error, selected, and where +relevant empty and skeleton. Designs that only show the happy path are the single +most common reason a handoff fails, so treat the states as the deliverable rather +than an appendix. + +── LAYOUT AND PLATFORM RULES ──────────────────────────────────────────────── + - Design for a 360–412pt wide viewport. Mid-range Android is the common case. + - The bottom tab bar is 90pt tall and floats above content. Any scrolling page + must reserve about 106pt of bottom padding so its last row is not trapped + behind it. + - The status bar is translucent and content passes under it. Any dark full-width + header must therefore work with light status-bar icons, and any light one with + dark icons — tell me which each of your surfaces requires. + - Primary actions live in a footer pinned above the keyboard, not at the end of + a long scroll. + - Minimum touch target 44x44pt. For agent screens, 48pt. + - Every screen must survive the keyboard being open over a text field. + - Design light theme as the primary. Note where a dark theme would need + different values, but do not design it fully. + +── ACCESSIBILITY ──────────────────────────────────────────────────────────── + - Body text and any figure showing money must reach WCAG AA (4.5:1). State the + contrast ratio for each text-on-surface pairing you define. + - Agent screens are used in direct sunlight; hold them above 7:1. + - Never encode meaning in colour alone — pair it with an icon, a sign, or text. + - The layout must not break when the system font scales up 130%. + +── DO NOT MAKE IT LOOK AI-GENERATED ───────────────────────────────────────── +Avoid, specifically: purple-to-blue gradient heroes; frosted translucent cards +floating on blurred blobs; a single acid-green or violet accent on near-black; +one uniform corner radius and one uniform shadow stamped on every element, which +flattens all hierarchy; emoji as iconography; giant centred hero text on every +screen; and cards for things that are not objects. Spend visual weight where the +information matters — the balance, the amount being sent, the thing needing +attention — and keep everything around it quiet. + +Icons come from the Ionicons set. Name the specific Ionicons you intend +(shield-checkmark, chevron-forward, wallet-outline, swap-horizontal, and so on) +and note where you mean the filled versus outline variant. + +── WHAT TO DELIVER ────────────────────────────────────────────────────────── +1. A token table. Every colour as a hex value with a semantic name and its + intended use. Every spacing step, radius, and shadow as a number. +2. The type scale as a table: name, px size, weight (400/600/700/800 only), + line height, letter spacing. +3. Text-on-surface contrast ratios for every pairing. +4. A component sheet per component above, showing all its states, annotated with + the tokens used — padding, radius, height, border width, text style. +5. Two side-by-side sample compositions proving the system flexes: one calm + customer screen and one dense agent screen. +6. A short list flagging anything in your design that relies on an effect the + constraints above rule out, and what you substituted instead. +``` + +--- + +## Part B — condensed version + +Use this only if Stitch truncates Part A. It keeps the constraints that cause +real rework and drops the explanation. + +``` +Design system for an Indian mobile banking app in React Native. Two audiences: +retail customers (calm, trustworthy, premium) and field collection agents (dense, +high contrast, sunlight-readable, 48pt targets). One coherent system serving both. + +KEEP primary brand navy #124577 as the dominant colour. REDESIGN the accent, +semantic colours, neutral ramp, type scale, spacing, radii and elevation — the +current design is flat and has no hierarchy. + +FONT: Nunito only, and only weights 400, 600, 700, 800 exist. No 300, no 500, +no 900 — Android will not synthesise them. Every text style must use one of those +four. + +UNBUILDABLE, do not use: blur or frosted glass (no blur library installed), CSS +grid, pseudo-elements, text gradients, radial/conic gradients, inner or multiple +or coloured shadows (React Native allows one outer shadow; Android ignores its +colour and offset entirely), blend modes, filters, position:sticky, clip paths. +Available: linear gradients, SVG, spring animation, haptics, bottom sheets. + +INDIAN FORMATS: ₹ with lakh grouping (₹1,25,000 never ₹125,000), lakh/crore +abbreviations, +91 and 10-digit mobile shown as 98765 43210, masked accounts +(A/c ••••4321), 11-char IFSC, 4-digit MPIN and 6-digit OTP in separate boxes, +IMPS/NEFT/RTGS transfer rails, dates as 12 Mar 2026. + +COMPONENTS: Button (primary/secondary/ghost/danger), Input (uppercase label, +leading +91 prefix or icon, trailing tick, error text), CodeInput, Card, +BalanceCard (masked number, large balance, hide toggle, in a carousel), +TransactionItem, AppHeader, ScreenShell, BottomSheet, Modal, Loader, EmptyState, +Toast, StatusPill (active/pending/blocked/frozen/failed/overdue), ListRow, +SectionHeader, Stepper, Skeleton, SegmentedControl, AmountInput, InfoBanner, +Chip, KeyValueRow. + +Show EVERY component in default, pressed, disabled, loading, error, selected, +empty and skeleton states — the states are the deliverable, not an appendix. + +LAYOUT: 360–412pt wide. Bottom tab bar is 90pt and floats, so reserve ~106pt +bottom padding. Translucent status bar. Primary action pinned above the keyboard. +44pt minimum targets, 48pt for agents. Light theme primary. + +Body text and money figures at WCAG AA 4.5:1, agent screens above 7:1. Never +colour alone — pair with icon or sign. Icons from Ionicons, name them exactly. + +Avoid the generic AI look: no purple-blue gradient heroes, no frosted cards on +blurred blobs, no single radius and shadow stamped on everything, no emoji icons. + +DELIVER: token table with hex and px values; type scale table; contrast ratios; +a component sheet with all states annotated with tokens; one calm customer screen +and one dense agent screen side by side; and a list of anything you had to +substitute because of the constraints above. +``` + +--- + +## Part C — what to send me back + +Send whichever of these you get. In rough order of usefulness: + +1. **The token table and type scale** — as text if possible, not only as an + image. These become `src/theme/tokens.ts` directly, and exact hex and px + values matter more than any screenshot. +2. **Component sheet screenshots** — one per component, with the states visible. +3. **Stitch's exported code** — paste it or save it into the repo. I'll translate + it to React Native; I do not need it to be RN already. + +When I get the code, expect me to flag some of it. Stitch emits web CSS, and the +things it reaches for most — `backdrop-filter`, `box-shadow` with multiple +layers or a spread radius, `background-clip: text`, `display: grid`, +`::before` decoration — have no React Native equivalent. I'll tell you what I +substituted rather than silently approximating it. + +Two things worth deciding before I wire the tokens in: + +- **Nunito.** The prompt holds you to it because it is what ships in the repo. If + Stitch proposes a type treatment that genuinely needs a different family, say + so and I'll add the font files — it is a small change and better made once than + worked around. +- **The 90pt floating tab bar** is currently hard-coded in both navigators. If + Stitch designs a different navigation shape, that is a real but contained + change to `MainTabNavigator`, `AgentNavigator` and `layoutConstants.ts`. diff --git a/STITCH_PROMPT_LOGIN.md b/STITCH_PROMPT_LOGIN.md new file mode 100644 index 0000000..14e5211 --- /dev/null +++ b/STITCH_PROMPT_LOGIN.md @@ -0,0 +1,198 @@ +# Stitch prompt — Login screen + +Paste the block below into Stitch. It is self-contained: use it on its own, or +after the system prompt in [STITCH_PROMPT.md](STITCH_PROMPT.md) — if you have +already run that one, Stitch will reuse those tokens and you can delete the +CONSTRAINTS section here. + +**No progress indicator.** Stated three times in the prompt, because Stitch adds +step dots to auth screens unprompted. + +--- + +``` +Design the sign-in screen for BankCBS, an Indian mobile banking app built in +React Native. One screen, but it has six distinct states — I need all of them. + +── CRITICAL: WHAT NOT TO ADD ──────────────────────────────────────────────── +NO progress indicator. No step dots, no "Step 1 of 3", no numbered circles, no +segmented progress bar, no breadcrumb. Signing in is a single screen, not a +flow, and any progress ornament on it is wrong. Do not add one anywhere. + +Also do not add: a "Forgot MPIN" link (there is deliberately no reset flow — +see the copy below), a social sign-in row, a "Remember me" checkbox for the +password, a carousel of marketing slides, or a language switcher. + +── HOW SIGNING IN ACTUALLY WORKS ──────────────────────────────────────────── +There is no password. A customer registers a device once, sets a 4-digit MPIN, +and from then on signs in with that MPIN — or with the phone's fingerprint or +face unlock, if they turned it on. The profile is bound to the handset, so a +returning customer does not retype their mobile number. + +Two audiences share this screen, chosen by a tab at the top: + - CUSTOMER — a retail bank customer. Calm, trustworthy, premium. + - AGENT — a bank field-collection employee who visits customers door to door. + Same visual family, but this person is standing in daylight working fast. + +── BRAND ──────────────────────────────────────────────────────────────────── +Primary brand navy #124577 is locked — it is the bank's identity. Use it for +the primary button, active states and brand moments. You choose everything +else: accent colour, semantic colours, the neutral ramp, spacing, radii, +elevation. The current screen is flat white cards on light grey with no +hierarchy; make it look like a bank someone trusts with their salary. + +App name: BankCBS. Mark: a shield with a tick inside (Ionicons +"shield-checkmark"). There is no logo file — design the mark from the icon. + +── THE SIX STATES, ALL REQUIRED ───────────────────────────────────────────── + +STATE 1 — RETURNING CUSTOMER (the common case, design this first) +The device already knows who this is, so there is no mobile-number field. + - An identity card showing: a circular avatar with the customer's first + initial, their full name ("Priya Sharma"), their masked mobile + ("••••••3210"), and a small green verified shield at the trailing edge. + - Below it, a 4-box MPIN entry. Digits are always obscured. Boxes fill left to + right, and the box being typed into is visibly focused. + - Primary full-width button: "Sign In". + - A divider reading "OR SIGN IN WITH", then a single circular 64pt fingerprint + button (Ionicons "finger-print-outline") with the caption "Use Biometrics". + Divider and button appear or disappear together. + - Footer, small: "Not you? Register" — Register is the tappable part. + - Static note, not a link: "Forgot your MPIN? Visit your branch to have it + reset." There is deliberately no in-app reset. Design this so it reads as + helpful information rather than a dead end. + +STATE 2 — NEW DEVICE / AGENT +No stored profile, so the full form shows. + - Field: "REGISTERED MOBILE NUMBER" — an uppercase label above the input, a + "+91" prefix inside the field separated by a thin vertical rule, then 10 + digits displayed as "98765 43210". A tick appears at the trailing edge once + 10 digits are in. + - Then the same 4-box MPIN entry, "Sign In" button, and footer. + - Footer copy here is "New to BankCBS? Register". + +STATE 3 — ROLE TABS +Two tabs above the card: "Customer" and "Agent". The active tab is filled with +the brand navy and connects visually to the card below it, as though the card +and tab are one continuous surface — the inactive tab is not. Show both +positions. Also show the screen with the tab strip absent entirely, because +when only one role is available it is not rendered at all. + +STATE 4 — LOADING + - The whole screen while the app is still reading the stored profile: a + centred spinner, no form. This is the first thing shown on a cold start, so + it must not look broken. + - The "Sign In" button mid-request: a spinner in place of the label, button + disabled, fields locked. + +STATE 5 — ERRORS + - Wrong MPIN: the MPIN boxes clear and show an error treatment, plus a toast + at the top of the screen titled "Sign-in failed" with the body "Check your + mobile number and MPIN, then try again." + - Invalid mobile number, inline under the field: "Enter the 10-digit number + registered with your bank". + - An information toast: "Biometric sign-in cancelled — you can sign in with + your MPIN instead." + Design the toast: it appears at the top, over content, and has success, error + and information variants. + +STATE 6 — MPIN LOCKED (a separate full screen) +Too many wrong attempts. There is no way out inside the app, and the design +must be honest about that without feeling punitive. + - Heading: "MPIN locked" + - Sub: "Too many incorrect attempts" + - Body explaining the MPIN can only be reset at a branch. + - Two buttons: "Contact support" (secondary) and "Back to sign in" (ghost). + +── ONE MORE ELEMENT ───────────────────────────────────────────────────────── +On the customer tab, when the phone supports biometrics but the customer has +not enabled them yet, a row appears above the button: the label "Enable +biometric sign-in next time" and a switch. Show it on and off. + +── HARD TECHNICAL CONSTRAINTS (React Native, not a browser) ───────────────── +Anything here is unbuildable and must not appear in the design: + - No blur, frosted glass or backdrop filter. No blur library is installed. + Translucent surfaces must be flat low-opacity fills. + - No CSS grid — flexbox only. No pseudo-elements (::before / ::after); every + visible thing must be a real element. + - No text gradients. No radial, conic or mesh gradients — linear only, two or + three stops. + - One outer shadow per element, maximum. No inner shadows, no stacked shadows, + no coloured glows. Android ignores shadow colour and offset entirely, so do + not build depth from soft coloured shadows — use borders, surface-tone steps + and spacing. + - No blend modes, filters, clip paths or opacity masks. No position: sticky. + +FONT: Nunito, and only weights 400, 600, 700 and 800 exist as real files. There +is no 300, no 500, no 900 — Android does not synthesise missing weights, it +falls back and renders wrong. Every text style must use one of those four. + +LAYOUT: 360–412pt viewport, mid-range Android is the common case. Translucent +status bar with content passing under it — tell me whether your header needs +light or dark status-bar icons. The MPIN and mobile fields must remain visible +with the keyboard open, and the primary button should sit above the keyboard +rather than at the end of a scroll. Minimum touch target 44x44pt. Light theme +only. + +ACCESSIBILITY: body text at WCAG AA 4.5:1 or better — give me the ratio for +each text-on-surface pairing. Never encode meaning in colour alone. The layout +must survive the system font scaling up 130%. + +Icons come from Ionicons. Name the exact icons you use (shield-checkmark, +finger-print-outline, call-outline, chevron-back, and so on) and say whether +you mean the filled or outline variant. + +── DO NOT MAKE IT LOOK AI-GENERATED ───────────────────────────────────────── +Avoid: purple-to-blue gradient heroes; frosted cards floating over blurred +colour blobs; one corner radius and one shadow stamped on every element, which +flattens all hierarchy; emoji as icons; a full-height centred hero that pushes +the form off screen; and dead vertical space with the button stranded at the +bottom. Spend the visual weight on the identity card and the MPIN entry, and +keep everything else quiet. + +── DELIVER ────────────────────────────────────────────────────────────────── +1. All six states as separate frames. +2. A token table: every colour as a hex with a semantic name, every spacing + step, radius and shadow as a number. +3. The type scale used: name, px size, weight (400/600/700/800 only), line + height, letter spacing. +4. Contrast ratios for each text-on-surface pairing. +5. Annotations on the frames giving the padding, height, radius and border + width of the identity card, the MPIN boxes, the input, the tabs and the + button. +6. Anything you had to substitute because of the constraints above, and what + you used instead. +``` + +--- + +## What to send back + +The token table and type scale **as text** if you can — those become +`src/theme/tokens.ts` directly and exact values matter more than any image. +Then the six frames, and Stitch's exported code if you have it. + +When the code arrives I will flag what cannot cross over. Stitch reaches for +`backdrop-filter`, multi-layer `box-shadow`, `background-clip: text`, +`display: grid` and `::before` decoration, none of which have a React Native +equivalent — I will tell you what I substituted rather than quietly approximating. + +## Two details in the current build worth knowing + +- The active role tab is drawn as an **SVG path with a notched, angled right + edge**, hard-coded to `#143e6c` in + [LoginRoleTabs.tsx](src/modules/auth/components/LoginRoleTabs.tsx) — slightly + off the brand navy. The prompt describes the intent (tab fused to the card) + rather than that shape, so Stitch is free to propose something better. If it + does, that file needs the new geometry and the literal replaced with a token. +- `AppHeader`'s subtitle is commented out app-wide, so `ScreenShell`'s + `subtitle` prop renders nothing. LoginScreen sidesteps this by passing no + title at all and drawing its own hero. Whatever Stitch returns, the heading + has to live in the screen body — or that component needs fixing first. + +## One thing to confirm + +You said you do not want the progress indicator. The Login screen never had +one — the three-segment bar is on the **Register** screen I built earlier +([RegistrationSteps.tsx](src/modules/auth/components/RegistrationSteps.tsx)). +Say the word and I will pull it off Register too; it is a two-line change. diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 3bc75ee..f019c36 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@ - + @@ -6,6 +7,35 @@ + + + + + + + + + *+2fwoSTg->Y9)$2OB6nH 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/assets/fonts/IBMPlexMono.ttf b/android/app/src/main/assets/fonts/IBMPlexMono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4254c37f20ba57e829a3315fdc91cda4e63589f5 GIT binary patch literal 173052 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

nE%K*D|7npwE%Nhx1n-IddFhY1$e$MZ(?Vay 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 Jhje=PzW|`Rr{(|v literal 0 HcmV?d00001 diff --git a/android/app/src/main/assets/fonts/IBMPlexSans-Bold.ttf b/android/app/src/main/assets/fonts/IBMPlexSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d66b1a2e96d5e33d6f5fa8e81e76b4e5621d240 GIT binary patch literal 200872 zcmcG12VhiH*8jctO?sX5GMP-vOv*`Ls zyzQ@ewgUHydr=VR7hu5kDqP!om#pebiMt-(7l1e7^x_NVc8$Jo|84l*NyY-cThi6H z%s);X$MZY!ylKh2Rb4r+tpxc*SuyWP@lT%U{|JxIc zStl%8F>l$PC0jN!W?YAF#DP+bDSXUV54Y}_9Z~T$3sOEs3HvbbmdDim;yc{0x⪻ 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%0Ddh{R*&}GNDKH5ex->IMz32>sP%%N+ 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/assets/fonts/IBMPlexSans-SmBld.ttf b/android/app/src/main/assets/fonts/IBMPlexSans-SmBld.ttf new file mode 100644 index 0000000000000000000000000000000000000000..09ec8cdae8208c26165db0c87da409cda8c26ae4 GIT binary patch literal 202632 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

R`tEypug7icv=;;n|9pO|AA77&M-M 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/assets/fonts/IBMPlexSans.ttf b/android/app/src/main/assets/fonts/IBMPlexSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bd6817d5202895da5ac4fad88de3da71e652881a GIT binary patch literal 200500 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±Lk;941wN9j(O#6{H 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 VkO`yz&)k7yBj|jf8c=D*002BjV;}$k literal 0 HcmV?d00001 diff --git a/android/app/src/main/assets/fonts/Nunito-Bold.ttf b/android/app/src/main/assets/fonts/Nunito-Bold.ttf deleted file mode 100644 index a6e17dd..0000000 --- a/android/app/src/main/assets/fonts/Nunito-Bold.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - diff --git a/android/app/src/main/assets/fonts/Nunito-ExtraBold.ttf b/android/app/src/main/assets/fonts/Nunito-ExtraBold.ttf deleted file mode 100644 index b4c79b7..0000000 --- a/android/app/src/main/assets/fonts/Nunito-ExtraBold.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - diff --git a/android/app/src/main/assets/fonts/Nunito-Regular.ttf b/android/app/src/main/assets/fonts/Nunito-Regular.ttf deleted file mode 100644 index b73048c..0000000 --- a/android/app/src/main/assets/fonts/Nunito-Regular.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - diff --git a/android/app/src/main/assets/fonts/Nunito-SemiBold.ttf b/android/app/src/main/assets/fonts/Nunito-SemiBold.ttf deleted file mode 100644 index 734112e..0000000 --- a/android/app/src/main/assets/fonts/Nunito-SemiBold.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - diff --git a/android/app/src/main/java/com/bankcbs/mobile/MainApplication.kt b/android/app/src/main/java/com/bankcbs/mobile/MainApplication.kt index a67c752..c9a4d03 100644 --- a/android/app/src/main/java/com/bankcbs/mobile/MainApplication.kt +++ b/android/app/src/main/java/com/bankcbs/mobile/MainApplication.kt @@ -6,6 +6,7 @@ import com.facebook.react.ReactApplication import com.facebook.react.ReactHost import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost +import com.bankcbs.mobile.sim.SimCardPackage class MainApplication : Application(), ReactApplication { @@ -14,8 +15,8 @@ class MainApplication : Application(), ReactApplication { context = applicationContext, packageList = PackageList(this).packages.apply { - // Packages that cannot be autolinked yet can be added manually here, for example: - // add(MyReactNativePackage()) + // Local module, so there is nothing for autolinking to find. + add(SimCardPackage()) }, ) } diff --git a/android/app/src/main/java/com/bankcbs/mobile/sim/SimCardModule.kt b/android/app/src/main/java/com/bankcbs/mobile/sim/SimCardModule.kt new file mode 100644 index 0000000..de23557 --- /dev/null +++ b/android/app/src/main/java/com/bankcbs/mobile/sim/SimCardModule.kt @@ -0,0 +1,256 @@ +package com.bankcbs.mobile.sim + +import android.Manifest +import android.content.pm.PackageManager +import android.os.Build +import android.telephony.SubscriptionInfo +import android.telephony.SubscriptionManager +import android.telephony.TelephonyManager +import com.facebook.react.bridge.Arguments +import com.facebook.react.bridge.Promise +import com.facebook.react.bridge.ReactApplicationContext +import com.facebook.react.bridge.ReactContextBaseJavaModule +import com.facebook.react.bridge.ReactMethod +import com.facebook.react.bridge.WritableArray + +/** + * Reads what the handset can tell us about its SIM, so registration can offer + * the customer's own number instead of asking them to type it. + * + * Worth being blunt about the limits: the MSISDN is only available if the + * carrier actually provisioned it onto the SIM, and most Indian operators do + * not. `getPhoneNumber()` returning blank is the common case, not the error + * case — so this module reports what it found and never pretends. The caller + * must always keep a manual-entry path. + */ +class SimCardModule(reactContext: ReactApplicationContext) : + ReactContextBaseJavaModule(reactContext) { + + override fun getName() = NAME + + private fun hasPermission(permission: String) = + reactApplicationContext.checkSelfPermission(permission) == + PackageManager.PERMISSION_GRANTED + + /** + * Reduces whatever the platform hands back to the ten significant digits the + * API expects. Carriers return the number in every shape going — `+91…`, + * `0091…`, with spaces — and the backend wants exactly ten digits. + */ + private fun normalise(raw: String?): String? { + val digits = raw?.filter { it.isDigit() } ?: return null + + return when { + digits.length == 10 -> digits + digits.length > 10 -> digits.takeLast(10) + else -> null + } + } + + private fun subscriptionManager() = + reactApplicationContext.getSystemService(SubscriptionManager::class.java) + + /** + * The number provisioned on one specific subscription, or null. + * + * Two paths, because the supported one moved: from API 33 the answer comes + * from `SubscriptionManager.getPhoneNumber(subId)` and needs + * READ_PHONE_NUMBERS; below that the only source is the deprecated + * `SubscriptionInfo.number`, which is blank on most carriers. + */ + private fun numberFor(subscriptions: SubscriptionManager?, info: SubscriptionInfo): String? { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && + hasPermission(Manifest.permission.READ_PHONE_NUMBERS) + ) { + try { + normalise(subscriptions?.getPhoneNumber(info.subscriptionId))?.let { return it } + } catch (error: SecurityException) { + // Fall through to the legacy field. + } + } + + @Suppress("DEPRECATION") + return try { + normalise(info.number) + } catch (error: SecurityException) { + null + } + } + + /** + * Every active subscription, one entry per populated slot. + * + * This is what lets a dual-SIM customer say which line their bank has, rather + * than the app guessing. It reports each slot even when the number is null — + * the carrier and the slot are still enough for someone to recognise which + * SIM is theirs, which is the whole point of asking. + * + * Requires READ_PHONE_STATE; without it the list is empty rather than an + * error, and the caller falls back to manual entry. + */ + private fun readSims(): WritableArray { + val sims = Arguments.createArray() + + if (!hasPermission(Manifest.permission.READ_PHONE_STATE)) { + return sims + } + + val subscriptions = subscriptionManager() + + val active = + try { + subscriptions?.activeSubscriptionInfoList + } catch (error: SecurityException) { + null + } ?: return sims + + active.forEach { info -> + sims.pushMap( + Arguments.createMap().apply { + putInt("subscriptionId", info.subscriptionId) + // Slots are 0-based here; the UI presents them as SIM 1 / SIM 2. + putInt("slotIndex", info.simSlotIndex) + + val carrier = info.carrierName?.toString()?.takeIf { it.isNotBlank() } + if (carrier == null) putNull("carrierName") else putString("carrierName", carrier) + + // The label the customer gave the SIM in Android settings, when they + // set one — more recognisable than the carrier for someone with two + // lines on the same network. + val label = info.displayName?.toString()?.takeIf { it.isNotBlank() } + if (label == null) putNull("displayName") else putString("displayName", label) + + val number = numberFor(subscriptions, info) + if (number == null) putNull("phoneNumber") else putString("phoneNumber", number) + }, + ) + } + + return sims + } + + private fun readNumber(telephony: TelephonyManager): String? { + // API 33 moved the supported path to SubscriptionManager; getLine1Number + // is deprecated there and returns blank more often than not. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && + hasPermission(Manifest.permission.READ_PHONE_NUMBERS) + ) { + val subscriptions = + reactApplicationContext.getSystemService(SubscriptionManager::class.java) + + val active = + try { + subscriptions?.activeSubscriptionInfoList + } catch (error: SecurityException) { + null + } + + // A dual-SIM handset can have a number on either slot, so take the first + // one the carrier actually provisioned rather than assuming slot 0. + active?.forEach { info -> + val candidate = + try { + subscriptions?.getPhoneNumber(info.subscriptionId) + } catch (error: SecurityException) { + null + } + + normalise(candidate)?.let { return it } + } + } + + @Suppress("DEPRECATION") + return try { + normalise(telephony.line1Number) + } catch (error: SecurityException) { + null + } + } + + @ReactMethod + fun getSimInfo(promise: Promise) { + try { + val telephony = + reactApplicationContext.getSystemService(TelephonyManager::class.java) + + if (telephony == null) { + promise.resolve( + Arguments.createMap().apply { + putBoolean("hasSim", false) + putBoolean("hasPermission", false) + putBoolean("canReadNumbers", false) + putNull("phoneNumber") + putNull("carrierName") + putArray("sims", Arguments.createArray()) + }, + ) + return + } + + /* + * The two grants do different jobs and are reported separately. + * + * READ_PHONE_STATE enumerates the slots. READ_PHONE_NUMBERS is what + * `SubscriptionManager.getPhoneNumber()` demands from Android 13 onward, + * and below 13 either grant will satisfy the legacy field. + * + * These used to be collapsed into one OR'd `granted` flag, which said + * "permitted" whenever READ_PHONE_STATE alone had been given. On Android + * 13 that reads every slot and no numbers — and the caller, seeing + * permission granted and no numbers, blamed the carrier and told the + * customer to visit a branch over a permission the app had never asked + * for. + */ + val hasState = hasPermission(Manifest.permission.READ_PHONE_STATE) + val hasNumbers = + Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && + hasPermission(Manifest.permission.READ_PHONE_NUMBERS) + val canReadNumbers = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + hasNumbers + } else { + hasState || hasNumbers + } + + val hasSim = telephony.simState == TelephonyManager.SIM_STATE_READY + + val result = + Arguments.createMap().apply { + putBoolean("hasSim", hasSim) + putBoolean("hasPermission", hasState) + putBoolean("canReadNumbers", canReadNumbers) + + val number = if (canReadNumbers && hasSim) readNumber(telephony) else null + + if (number == null) putNull("phoneNumber") else putString("phoneNumber", number) + + val carrier = telephony.simOperatorName?.takeIf { it.isNotBlank() } + + if (carrier == null) putNull("carrierName") else putString("carrierName", carrier) + + // Enumerated separately from the single `phoneNumber` above, which + // stays for the case a caller only wants a best-guess prefill. + putArray("sims", if (hasState) readSims() else Arguments.createArray()) + } + + promise.resolve(result) + } catch (error: Exception) { + // Never reject: a handset that will not talk about its SIM is a case the + // registration screen handles, not an error worth crashing a flow over. + promise.resolve( + Arguments.createMap().apply { + putBoolean("hasSim", false) + putBoolean("hasPermission", false) + putBoolean("canReadNumbers", false) + putNull("phoneNumber") + putNull("carrierName") + putArray("sims", Arguments.createArray()) + }, + ) + } + } + + companion object { + const val NAME = "SimCard" + } +} diff --git a/android/app/src/main/java/com/bankcbs/mobile/sim/SimCardPackage.kt b/android/app/src/main/java/com/bankcbs/mobile/sim/SimCardPackage.kt new file mode 100644 index 0000000..c4c403a --- /dev/null +++ b/android/app/src/main/java/com/bankcbs/mobile/sim/SimCardPackage.kt @@ -0,0 +1,19 @@ +package com.bankcbs.mobile.sim + +import android.view.View +import com.facebook.react.ReactPackage +import com.facebook.react.bridge.NativeModule +import com.facebook.react.bridge.ReactApplicationContext +import com.facebook.react.uimanager.ReactShadowNode +import com.facebook.react.uimanager.ViewManager + +class SimCardPackage : ReactPackage { + + override fun createNativeModules( + reactContext: ReactApplicationContext, + ): List = listOf(SimCardModule(reactContext)) + + override fun createViewManagers( + reactContext: ReactApplicationContext, + ): List>> = emptyList() +} diff --git a/android/app/src/main/res/xml/network_security_config.xml b/android/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 0000000..61f8c56 --- /dev/null +++ b/android/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,38 @@ + + + + + + mobile-banking-backend.lincpay + 10.209.40.168 + 192.168.6.165 + 192.168.1.11 + 192.168.6.128 + 192.168.1.10 + + + localhost + 127.0.0.1 + + + 10.0.2.2 + + diff --git a/android/local.properties.bak b/android/local.properties.bak new file mode 100644 index 0000000..eee7657 --- /dev/null +++ b/android/local.properties.bak @@ -0,0 +1 @@ +sdk.dir=C:\\Users\\Lincpay\\AppData\\Local\\Android\\Sdk diff --git a/assets/fonts/IBMPlexMono-SmBld.ttf b/assets/fonts/IBMPlexMono-SmBld.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a48e40a3c0759ed9c21793aa2d10362854f0eaa4 GIT binary patch literal 174608 zcmd4434B$>*+2fwoSTg->Y9)$2OB6nH z@s(?B+HYbWAxe+H{h3R9maPt+wZlVXn}BDoShf&lCy*2M?ZN%%Wvi}Q`f;4?E+S7e z$&|wGB@4UUcOSR~d24XLyc-EY3rr_)y%yK$-K*EGzxnz9p@$=ZciKigYP^2wvPuDNvK>Lp8_AL$`E4dsP>*0bh{ zwL9}u!br{ozq#!_moMpgs$eqewjV|v;~*&nV(eqq>c1}-S@R`@X`ds7ejC|Zpoi{g z??>K8WUuL4xJEhZ2~-bp3-2HCa0l*xBzui?en|Z@y`u8GBF<3`EvI1PJ}8%@JwY0- zO|nCFP!Li!BP1HHhhjc;h_cWy86FZABsG%SPLgXHsIuB9n%YKBv@zlR7qp1}bm2A$ z5z|THUcN6)vJZicG?ZymDJYxE2P%L(pap0$;vR&JK$&sP;do#XFb9|jv;qx42Eg|U z0WO2f;_GrC8yEv*0#SeiNCo)WNT3}k2HJpW2KX7KV-ipV@Vzd8%jfiTfS>b)PQ(*| zI=~E!0=TYFfS=)fK4c-D52OJpK#6h9{N?~$H-|n{BVG^i^9eu=!1OZTT(%qFI+^D? z1HkzhJ{kM2k0Om_z~Mdve@4h{y$5(3V4j(GzRzv&n1NRjz5uWcxNc78ke@pUa9-x) zrv|u;(ZDOf6yS%ze4x_+-)96H2tmm7erbT)EyYM%hcF7b0k{_6>*K&mfcas0Fv1Pk z5V9<}O?+UT@Wp-iW*{vPEEmQOBjj@U8E#W6z~v_axd690%ZhnsnUu+n{$mJPCajap z&sc!li^1*3^|Ib^`;G(R04|5iVtuJ3B;(;_UjTZyUf%ysrSdTA; z7Nm2Z{=Wj-hd{8M|2hn97v}SS6D&htc^cvjpB)Gc+mP;~nd1!KIP~v^BLbdfn=!Nv zm?mGpn}qnk1Ga$-wn+@8v+HZ%M7mFZeD!@@$aH=auw7()lf2BQFW)G{+XKL~T?{-9 zvmL$|_<0}y{}&3d{Ty<6+^@NPYXP=f+~?T8Vfe;oE|Y2C`wUKJ z_;jDs<^kLGl=CtF zELR5e%OSS`rxyVH4EqWK2plVzM;|zy`##sjZDIzvO#+dLYX*5t*mE0a9J#Ch6ZpO`M|zT3&3sVgBx*fH=zHV5$85!a6f0;Ep2vwDey<$aFIg3}2t;klTgReC-^Lc)}0__A#c%4siMW9P5G;;Ch)B2KNu&Gt3Xy zA!vH<*y@0#P^ z0&W7X1-Kl3J_?8fB7m_5c)q~>g!R%F`t+XLhwuABpMLT44Av_yhk52ae9bWQrvGE; z93Ys_&jIEY7`Wzs1Ng2v^u;;9?|EPN@7`B+a=iw8<^2CO^!bfG88DsnmLU^_91o;j z<@-0%1E2l6IG5?Wr^@%WDMC)?G#~hyWvlWT?d5AXCG&u12Xy1#NE5Iz{ao%z;2qS3 zXQiQMeD7jq4oY8#JU0StLp}tq2DSoU01pFe18@c6j{pw=rvbJ{ZvvfIpBV?N0-ggV z151F{fh&Qw0APKsAL~o~cLN8oW`o6@{yTyDft3K?XS@tN29yDfLogoKT%RwTNaXz} zFby;@U%kM;#TUw8y8e^;{*5*p+$OwkHT+-y-#`b;ng3}9QdnA8nwziI)QD2Z6gCyfZoH}(NrhBN4K$lp(baUFxL({L?h+4+z2c?d)D@X z?Il~E?N!@r_85Dd-C@tP=i8^)=iBeIKV^T>{)+ve{SEtD4(SMXjC720SR6?Xt0UJ@ z?r3#%I+mo{Gakx##}(t6kZUfazn=I?di(n?^!Kwoz_pEvsEQhC4y~qZXs6{E{~eSLt|P3Ytm)Qr zYmK$RI?lSty2{#P?X}(ou6NqV7HvzgrPyrXI?GmIE4Eb*aJ|;nYjC~W_PlMMZT}Fi z+wIfrTkTKU_u5~!_XTim2G@xJTz92Y1{qvOf$Lv=2lKQ#VhU{R-L{L zzn!P5PuWg2oNoK|kMQ5?r;<-4o=QM^?5UVj=2Ih2MSb$%Cp$h_^=Z*3H|o#*S`dBu zXZ-i+ryqa({HaN&u=@US4{+zl8$VwA@vM(Wf86*<&&SVx`02^(Pol2lj}is_IOuuP z0bTRy3^)MS0=0+=QOBjqbMhbZyq2V4RbT(7IW)IcI&f8Cq?U82b!%^FN3?geW2RD5 zE82WLR=3xit~PBjU1#bw-H7(T%e2k(UDI|GR{l+o1WgA8tAcuhxOb8M%dx@#f;tCZ z>sLV?L9>IvT~P1fyFsXvaj}0vSo;s^9=M~?RkVcer2}*eO{Xr}K-bbX`W`K!nY4gz zq#9aCi|J9?NxPu;Gw3?nNY~SSG|w~xdnCaWLZMj6A3@>Jm5~%pW*P-sv59V=`%OD( zJ-tNxX&?2`ZM4}mmA23wbS3REy-43SwbPySfL5thnWoEWbUW=f&DSbuD}75_q%F`E z)79c>@tD{xo)=G|pB)m1#e3q2cvl=1pNmh$Y4MqOQwkX-H5n{N$`E=Gqf&{?lZCQK zwo13Sl73Fd=mR=Q$LT}z3MtHDgoqSTB41>QT;UdBq8(a0P0SPv#3l5Qm?v(AJ-bnC z6!(kk#18Qcoe+=HPsOwJOYwa{;&q{k9|)6pO$hNr5hUIa!Q!VPM!YS;VFyNv_eHFD zM?{E^M5_2uq=;XMG+0He_(Wugk43upLKKVNi$d{hkuClpio|b)OZ-ukh%>??{se8S z6n_>~;;*7k{6$oYzlnNrPBe(G#5mC}CW-T6yqF@Tm?|U0Txk;1Ww@9llf_DzB34PO zxKyT!)iO=2kq&XWw2RB6P4viIajkTTt7N8FFDu3EvRrJE`Jz`=h|RK0+$ufdHrXQX zm2KjCa=e@@9+p$Yqq1E*BG$=h(J8CM7V!kVFMcC(WRRF43&ahwLEI%9#oe+=+#^Se zZDKEdBwnR{871b+bg@=ui)&0BrYWY`u=JBm(@aZEOH9j5ou-AR<>(KKO{-x2yG-2} z0eVbVO0VqK3gq84q2-`g?2(tr%jH_RPF^Y3%d6xya)Z21UN3Ku8|BUN z7P(2@CU3_m^{V`D`HFl^{!acuej)!Te=0wa|09pex8*7Mdo5djt_8^-YVq>tTDklZ zHekOzFZ<*Lc~CRSA7~-+O)X0PSQ{ySqM79}En2>(#mM(Hi#)C+$zN(^@~oCDKh#p> zN18)^syXGawRHI#EmfY>GUaEQOa4|Xl4rCM`Dd+E{zVJZH2FG4&cDeQI-p;zuG>oD!MhOHnJ%iW>2E(JKBS+QbDhL3qVPY{E^JPH~0I5?9L{u|bX% z_sM4QT{%Wv zGEpp-Nn(YJ7t5qsER-=~v5Xa6(ju0~QDTuS7B|UKaf_@L-0#4jrbkSVo1QQ|X?n`^v}up&S<`c-eWsUaDJ`QF)Qx?_ zm2?k%m!32|L$}gvbeLYJAJEJ6LwZA7p{>z6wS`)jwnSU1ErU&8uC3HoX{)tMwQbrx z+P&I$wa2w5wC&n`+V`~kwH?|c+5_67awhGdC+HdNVeKJpr}m)f8q>8Dj9p9K?fjea zve@vlxAm|8{cFoy4?nDtMpF|tQwxouu|sUN1AE6jz-N++vM3vSr@7>&Jj$m6cyUEk zOeIuGWmHZcs(@ElMb+QPzQ>Y<;wYXHD3OvV8D3&4St*TdWcS&AjGk<@4~rwP(IK)3 zmiXte#m8ZdKZGS70b9(LI19FzEpa=n@GRKjOJIqwhZTkmM%&z}Mvu+(B;5{c{%wpN z-!VBI1HT|ljW#91Wts^)*KXLn`LK8kOqUP_K5~!WPhssH&kOOLS^Gu*&HJf2^#F81 zTQEOwKMA+Z*0Q{Lujs^ubR!|hj+o}QjoGVZjG5ZuoMqc=+uYW***3=3y|8PqDMN+0 zv1IeC0^44i*0CJF(>v^Y8)hXBM3>B(RfTd)Tn-*V_RX_U!V04Vges}v0x|`;$J_R5 zne81@I`;N9C+}@&o|SC3+gkP>ZtvK8xH;KAYZh_^4^RqRAqgL7~{R4-*( z$KHnIy)hu}seM)+%RCp}hJZJMp|1}viR8#@h~%O#q);qHKtDorUxTlb zgZ`0BF-8hZfItT*MaEP(F?uG64#p{o$gZbo=q`D9FcC%SDJH1V40J*l()5%dnt-lZ zj!u_kqy)o}DngDFI7oV)5RhX{Oi%UAmdbhAV-5d|gE z^Muo8x{RsaQ;PCqjg&~mg99DbS56c-NJZ_@M(vQ98MB;_TnJEa;Xd56 z;3P>OO4h>$BkVE4oq_k)^?_sLL#UoZSda4g`358GF~Wz8aHkQzXM}sf8RtJ^gasU; zoB~iPuIQsRM);f&9y7vv4)NUeM%V)xasKy=uz*9{Ujx~4*a_bG{zwi{{u(2EDDaxS z@pu}ChFuB^*+z5eerkt*{4$!T8Ft}8Sh|~#C!)WCB19Xk{7QJkXDGOTDXu5u`ZBCa zny^CG2b=~Hkp3&=@%`&UBme?&*eTK)fYX>6oPeKxgeVv@rce_G5MTssTR85ApGCzx zFfAHpgc{&D zQQ}^rq`AQ7M9ElVNk;uCC@Xavku?<9LX?JQ(l$Ul3W38o^V0>KCvqGma&F?|MgZa& zNY6l-nOlimtpLi&YA4D@`8l9H2l1Q}=%y&sy_YBtdGb>TtqiOpD%?s`w4SIK<&;bS z&JvX(UY39(P7%N!oPWBBsDgp|tMF`f2aYQpA*w~*x^$ovXa=SO$XB-;*bjV8RF87% zA)kf{0JJpp0^5OO0PZ*9`9|DtTn~Vj#>2n~qS1vwE3lWSDFMKB6Rw*&fF58sa0)m_ z)Eo_<-j+}R&yU#xd_gpJ0yCRlo?OdXDTZpb)Mf5F{v3>&4Rh>lF zpzICDiLOf_x*pG8zniERW#4d^=*E3S8&Sti2yea#K>as!{3vi5I8Ss-EZ_#30n~Bp zF5nPw9QcB0lL<%%YJlm$D&Qsn`S?uVCgj_Me77OrZ7D!0FahWSHUQgzJ-{18w?_k@ z@%9Fw0|1Y=Zv{Z}?V$Je6TlgwEy%Y8`L-b67UcU5%Ki?@{tn9i4$8g*W#56a??BmG zcM#oq8~_b>A>Z9@pc$A8tOd3JyMRLg^4*Pm+mLTt3ei2?KrgTz*bf{7J}0;_0P@|7 zeD@;Xy`{hepbOXlYyb^(Wge051D|Iz*!uli~!Ps8elrGis)g)A4dFP zj^70A0QLb#fz!ZwqDNwZFNhx91H1v81kMueiU3gFE|jqgW$ao7pp0E8<1xtOG05a` z$mDT^Pau3E0Vo7oflgpO02w~97dQf(B6_kJm29Hvv05*A3(kX$aetw z4j^A2;(dtsaU9PaL>-4v$05{l2z9(#1K_z=yMPVAHee6%25=HMOZ5E+ARR#7?@tF- z5xs`+H4ah!YrB9$z;WOUqQm=vW5DNx$sLeD^aDmA&w&GnZs0I*0sw741Z_VA zZ9l9adIR;ofqLI~12_$wCwem$a096SP1OJ9O~4LdA8?fDEtL5d%6toDzJ)U1LYY58 znLk3AKSG&5Y6rTBj-cEl;O7X+If8PIpqwKp=LpI(th6w^bq~wEYTk$fD~W{ z(SIZTe@wtuqBFSuQv=bT=Mw!T0r&#jEGLM*+(h(O(D^sidk*2>JBa>)_*Z!DE71Ja z5ditl7ZP0njTd$U`!VIk^Zmz2z^4>g#TB9lr!BfkXeI#H+7@63u!n>R`#dH$Pyz~>~w_K_HYGQ%r?6C@&bl88hZQCmoiM4pjr0gmqi4gp62 zlo#C!;M$CER0>cEOaM?;%yeKCa1)7G7(#D$=c;B+^ixEgHxoVQ(Pehyb>daH1~fTHp+c^eq6MOGjPls4M*o5*h1B zWa61j)a!}`ke;<0I7}iNb!G3tl)Ml?nK>N*=*eZ^x!g?v>USfahqQde3(|oaU^;-h z3pN0!NfdUFC<0AIprbexumKeS>McRNC2kU>psj2-fV#`~k?^2Q56bp{4-e8kNcWr| zQAs4K@O(AussU}a2A z4`Iuulf;<0z*-Vxdq}jl1KlLrkiQM-<4gd`90xkb)sPq;4S<#jy8x6saX*Pk$4RuK z?)I%Drl5`~CrM1*LSh>7Om8MJ12oP!Lt^H15|?Zv(Sba(K-a9jBxa-jIXxuiMgX6a zn1}M_r;u2Hx;s(lLIT#4ScLdu6R?v+*IE)w@ca_Qm+m344EMVy0B?|3j`)gp;0qEf z50hAR6M%A8pCxhWApo>pdY;6Z6rcu}3v2*(0Ed8+zNXe;4p~?k>|l~;1G$2qJj0mDH1zT=FY7E>UtQ@J-nO5Be?&F8)yZP z|51eSsl+ba--WUsL-=?CaF)aqDFA4DVlA+X#BN;gM%_=^0F?C<@;-Hf#M2u{>_OU| zxxjYdIEiOa&odK%O#sS&mVg>yJ+KcrLjpdNc&-~j+0UIKu{RyS_1;4yo{s?90o;53 zEQuE?0MzrsVG=LK0?7B`9uoUZ0OI>l=1ZXf%75uJiIg?MFppJuGz;P0XS^?a9H4E5I;`^b%O(b430VwluEP(67c;cl6Y$ZunRax;z!*8?jJ#3_yhuefOs4C z-$uFbpxk$Ml6V)-zPkfJ{-av}gg@>8AjhBdl6WryK)J`<0IrW6C-GCz|IrNbr*@hq1?aiBXKSZK$+)||L-*b%J~Pve<06S9V9STiu1UCeh-NYNWXw* zE*t?)0%u5gO+W$wp1cjfbf6p90Bi+NPJar3a{8NrO~4M|4U$+rl++6x1I~~XCSV&$ znFX96sU0S1>LeKy3hW{oTnZc~8PY{EGy&L)h2)(iN30@=F;<3e0PtMIO~84Qk*xsA zi%J0yj!Xx(lZ?jm7+a+o&yPZxqxO@G=^z<99XLnQvWsL~GjM`r{1&_dW&@6sOhoxf zNB<81-ji$iy)?+dMkFh=2+}Bos`|)8*d#WOs>GUfG+dQqyiD8DfuDlp1BB(Ox>;zr zleorR6GDM7(>u$%2Rnc!^@-QMk5#QC!w5*`!ksOUc{%VabbQL|}NAEop5 zhN>eSPbUo2k-&8%ke%yLm42gL1rz5khv|5yvW;z|gA+9=6QXH2mN-P=0<+Zq(Dq`cr z?+Z$Tf}*C@Oq%=IoWk;=8cSQk${9&vB{%ov#=Bg_%}1V<^cX9I3Xe+!Ndus0D;7E zLad$;0oH6vAb7`)Y&!Euv#7L@D9D1e!lDetb-pYsEeEghC1oXMr>nRQJ9VY`5<*Zc z-yLFUt8urLrmUJ((`E_j?Ohq?N;R8PU2zq)wQ~w8>`hCXH{DWEFz3Sg+2Iy@+#_*z zOL%kj)N1H4wSeDTc^W%U>CA6DZ)_=Y;=yn90KbBX7nCv3-ocy@9KdfhC*Y*QKn@Eh zSoDNw@D{Il(+~!$3WAYlRcSE@qZPj~CFT-tR;#qcMu9;zyT$3@=2dOZ?6&m!*i9*I zb1R1b06r_+_4V?!_f4JM=A}(`Fg#mvnd^SUolBs;3B1ND-EQKAd2FqrQeUqb!Q_qz zU?{K~jR38FrAz?Tg+)OQZkIaA4HJ?N{Zp+`Qe5tdj}oGxdVZtR**LFyYFEsJ}{@KW+ z+QSr}e-?^R?J-pU%>Q5XPgGw>8LEJ)&w0=;cC<^fu7e{6bZ`W8Fl9go|49q!J!e00 zJF&^&=Cx3Y;>%pns9`t43n~owDFi2(5_aT{jghN|Uls~8P_1vbA(W~n}Rc^`JAu;m+|hvD3^;Q=jc7!tp!jpH0~+_Biqv!&#w z(^M=RG3;WgwEft*z-}L8I0_+;0x`!5i#%w;GH_9cEq{yCQettMODy*B5ANP=PWNOy z``T--?eW^Ue@oH4RSuV^2TEK=FvVR&7@0|fVqYi)WBgY zx0Vy~RAWFgQ<@ymr!-E`D29!M6Qnv+Tje1sSrwJXZPkh0Ii9R&$S_7_;QhKWDubs0 zZFm?Pc*g)a?*O*LBEf7PvbHL=lM$PY7}_y5*r~c`xu+~2gN6}shmFUT;@&EJb|wn3 zxM~5*6H=O)D}wbaZIJ1a4Y%GgW`1Qtah}y#l9OMWR@q)un&WcLyE-#Ft#V3HY=${1 zDc`oPd_rN|`i$Zita;_rE_=8rKfkCjKfip+M6)d~B{x4jbVRx>Gjl{xTzh41Q$b=> zoHeV{9N$)w+nk@M1qH>8N(i^O%CqB>&GzJUab-bfQf7hr(Z?sZ8lO_JwR3eJ3@45p zD9KnMeT}7W_DMg5g`E;0{di7@4@mGg2XCLV*2F`6*-GY-2+gWw?i#wGPDU7yGz?5E z+)S5;`v%5dV{G;fQreIqO2%A&ZQG)>meR=$b!@$7tultHKLm_a$(LQ1W1Ct&x@J*9 zN74E(Ma^eiz%ZeHh8cO#sp}m$Qh!I#f7fdE{Td5s*AVYW$55feM)(Jh$_ZU zR;n1$Va`s>8Kj1`DHFv}zY2Qa*40wkF`VO;qhQA@w6YIY2ZvW665n|GuRVr92SJ$& z!@$F^^}#c-C_mv^IN${dI1m95vSBMM^7#mH7PHe_>U2a&M8@|9na9>oSkSvLHa*qc z%bq|^?UMQ47e#f?2#eL?eF7ye0=+r%zp*19Pm6h{8b@tZBaVdD`2A;NZ1o#lqu(gk zW)$ea*6~?(c0-H~qZ?elqx%R^C@vPJRyZ=@xNxU{;}R^`@Y>nfiV1lc8F_&BcTYVf zavtg>?t843TYl2i-gmt}I#Y#x8G&wx$sFhkqp>VK9H|YU%aEF% zEJ|OD^2N4JP1UVB(4TMi6|=P>7iwDPNy3oMwN0 zfj%Z{c#tv|Y-iXUtBFsUp*7;labq778M`Lo9IL7g-Z<(ihToJi*oQWmr>I<)rWaH7ZAx<5gd`1?aB`ciYzIpEMA_N7@xKxAu%CMn#MYc z^0J*JQ`^0Fi3NG-)-><8eIaD8+ao?G1A8=bh&>v{{xAUzW8d(pl@9Wpn*w-b?nkON z^7Ev4&<)aHdn8SBhFT*u9Tmdw%|iRd;0O)01*bm9i7ME5_*(Iw`n<79TiEAKR+RW> zB>McxHOPAr?&^8^l%z^cP3Bj58X7#nz=Xs%F6`zyx%bALj=89Mi3?Y;Qii|77B9V_w8=l-R_F=X=pN!B56X~ zUSuvZY*ZOG%l!JeNFP=QaGpxf_Quup3R98ZUO}NDiLMG) z#fqxYo4r@^Y~Mjp>OjfXC_Wqs(3Arz;&qobe?M-EfTfh%_5;P+awNKuZdV1dZjjKvwX z27qZpny_kc+eFTc4bJhlX`aF=mu;G@wjkxI72}sXn&R3j7G>F{+L3TgL|I<5Gt*{I zi4BSjigA=>PMMjLIW8fiHpQY6N;BK%z^-MZjm$Xl7DHV;vBg2*0A7vxqH|!~WmvBZ zWZpl>1YV%CN8O6M~n&tlLUM$O#dgMETw!@@8I z0_7P5hoD3&NfYdjXrCOorKKvQs^x|Q()7{yzyFa@Uli&ahx$hHj4hHE$pYGMnAIHC z>4p(7l0`Z)z*#bMKuM5&S&8ld2{vX~P#D7sM-C<+awS?s@9sRwU zu-flQlXs?gigDq*xW;=k+SLKN%R#r9zQvto6vYJ4Etv=z(5}PC43v|y_JQMR5T51n zlnV}3W`fy(ecRZgkfO07*gL1S zb4;r4zk_IZzs^3|ev$!hOU*kDSi9mxr> zAt7){VMQQv!=(-dM?nMrhT)j|t;w*?>2Fo`IfIPOIRdNss04(vJz)viUCt0E6izs` z67hP`dxbZ>@$#GAPeUg@^8E9%@4^^a>HQ7pZwFmjpvw#&CWBV@LCf%B1(?FB6-pAv z^w7TwXw>hg&{&Fx^0OZl2^$W-*jP`>09i>YEd;6h#EA`EI?{L+Q5*+L9bz$N-gaZ9 zIagQ=p8~P=zbsx^U0&aoS~kAGd-k*k|GK7?m6ViClYNV4)U-wijhx)-9$T8SAiLOJ zl>Kv2lv!Xe$b1*=R1CZ5mT#dS!MjVqIcVPH@QqQ1mihVc3s#@);^a8Q$q+^h{OH`ht5H*2Eqwv8KaE1g`G8NNPbRB~2IGnPwIvXV!ItPjtunjCTHnLV$j z6t!eK5^~ba-Lu!v?l!08Bsj8Lic%mfG+i5h3eXOrXn^soCNUJNS|LQWr;qAk(l>g& zZoJhH!c>PMHY!lYxne-J=C)sMy7}f!zdY93($YFv_U(J}sTY^epMBM=`PeMPKS9$# z3!m@~=NWI9p{YI!4Eua>xe3&3LcPofPWC7ULZJhgKN_+OQ&eFK%;NiRnmFKnN91~c zCdy^ss+U(CUge`988n2^ME)7vU;kqocm`zDYn~>Kcn^vUe3_AJ^&Z!G&xXzpSFJLY zXfUusxrVEn73-$F)W>e9cq}w5DYL}BVs-D$rIRZ&pmXNr%#_B8NNZtwMb-6Z*DbVU zSw|gw@`Xbw#VuKmxSX_@?%6$g1WCpDJuyRqObqsP1DO7gYf!-picnFn*j?DS>wAXK%`z>@WvL~2jRpD z6Q*~{wYcl(#*O$N=JmMjgNb!q7{hup2|SEYJfPPM^ueI>+We#k9uS8fcwmwE>!L;85sUC#QU6)-SJW9p_3UL2_6LnAx?fCw9pMEP zt}_OWt@lo0Hn!OehZbuM;;**qX(fv36nLFF!0!H&zRM#lw>vku-O{yD zlwqKHLFcy+W%4)`O_y<*cp*EW%wg;q-1zw&WF~o&-aqq&dj>AqW#ge(!$y4=!XRAp zh6=BC36C>eIOACv*@Hv>dpS7l)?34ZFW<2+WYJxhi>7zH_laficwdDi`h{T4WI6cz z*FrX?|BL-gcPj}rhJ(fs&={lo3a`tVov)7QdH5ATeCZ7bMd9L0rbtpcY+EU8+emD^ zs`U;V*;O<9_n8gv%rCgW9uuv!m)AQIRXh3DJ9rp3_QiQINo|X}o4Xp*(i*#(H}&>z zau%jWdd7_Lcp{4C-ZFE>t#gaM|Mb(}UzuFomiMjM-D*H&nMvi37Qs3i&_|CPdLUN9&xy5^X9*haUA1cIEi23N z^UGGszO`LlYrTIJ>v9V+3$S<1vTIYav%rr*YsL+DNpYYna)7R3if5Q0Wh7(KUa_D^ zD36jIwHTxXfwDM7VzaHm;s1I#Kk-}wUgdLL}$W*9sAo~<`e_P4~uWi;+uJTYL!VIibf{ z(Bmv#>$YLI%|ZFTamzU7;iouIgF}>@V?l`SsYW5xy%gRvh&;x{#VT{PA0H~&Pj>XI zq3aF2l{s+cKwocAyO<(<_VrnlU2{rn8VW1NEu4De6;r>JJ~3rd+2w^*ZF4#tqZdZh zl}ydcEicK*4T~_ZZ0lNCnm5(%nxB<3BGTM7sc1^Ijr#y^F_5fB+k{Xpk7@cTBOiam z#x$deREw}KvHu0XmF*TR7PdSrV)c#h%S<`x!V7ZJD#J$CDLt$sX4Z>sIT`AXpjjy zrM~Q~xgmhUsl78jQRUEFUyQnU71Zon6VioILzV<^E>@A=cn~$446@fmS?MMR@Kr)*#J$JKm6vdDfJ-@Q@{P2esOU3 z9e3>Zw)BGzpHC4+SQF5O%rS=bGrx3rJuT38e7ErhH%m5!UP>Q0j2<|8Az{v6qM`nG(!LMNJcFoG( z_hc;KEAQKeNFl%{H!`sIhB$Y?!l5{k)kH8yB0Reg??`ry6;^%fB1rlSSe;k%fK+N%vHE?#`YH zA0r&0wwih1_QkNLp=8vDF&EQ()n#0zhh3AqKHIuJ-Ry6>jxAh()=2 z#oTWti;>RE3+FiI{gV?5o`i318SRa)EI{+1e_7}UHL4%X89sOUCu;ATyYMVupKS;8 zFrgI3zrZ|bE)(LyxuX)xoWo(;r#|!cgDb_EeJww^@cc?eM?UDt#CV#<{U8QIAbW+r z@n+b3Ca@n^m2`2Sh^(r1p4p60X{iX=6;S=aQ-`m#_)d*#zT<@>gDa$#fUb}{ej*9s@+jVLayapyYf3sciP6Y_Ff8*8lBue%U~? zhi>CZ0Y3B*K(pc8`%PU24`>-`4h@hE$Ib`<8#VAMWKZytI@6!hiOPwLBB>|q*$PvbXIeH z^5FOJhFQ8m1Iuf|x+M{C>0qkiTkx{Bu3fsh<>hTGf0p5d1$HYe89YN;;C)r3K01HC z_vsU%xAur1dP|nx`bU9N3TV3$v|S$P%Hj2;^dWmk#tMqR?Tq~jHKJxi);w?L$3{`M zVkRAQ>GqgUfTZdzVGqHkmQT?P$>Z8*!a`gzb{XtFYz~b`$tXy3PpYyzn-Vy6%qx@d?Woq@$7Li%Su3WNmUc9zD>=tHlSVdHhI;DkF(bt$$T}Z9 z@%mjFj>O9dxguF2Xf-N&Wbn*L0-1 zr%azyE@QE8W36m2F6(G;E~~GKsH&^OPd%Cqa`!-=9N;mO&vL*kr4b<0XD9xN7U^>w zUY=$pL?Mbh6F4b}!TDl%sM-^M|9g-4!=L2j-alM^0W)vPfjslkzwJ2IRjZE&byTk& zbU^)h2eWWMs>TwuUuXOpte-5^`)oFIpo++bWD6BNp$J)zxJT%aIq?M0z zw@f#O#+Rk1$y6SR)CPwWd+yUdgUwSz|9sgzEs zA3hsm=mPc(Kx+Xl>4RbOow`f`r@Rcpq2Hoqvbo1L#=xFz;6a*9aHpU1$EQP#Gs?WT z8G@Cc6x`EKxn&G;a6$%g7$3kpTXx}2O-@c_lr=Y(F)9|cWM;N3s4&9g$#GF}$?9ia zUEQKO{KL;mSKG42hVC|(tF61Caao%ykk=S6nL+rT3%)sGGyyLku--cc^xp6Z{e1fM zo>x0~--=gj^i#e`yq~Bv9dll_m(JEIR&`?51FX2d&R<_DD|#yXHN4Np?M;|(3iMiiuZ@om z^Zq3l6-ue9ee3Zh#zEc~7Vn}YoH2`i?19qS3RhuO^sGpiXH0JQT6=kuW0ENJ=B!#{ zYj8y7WS2N96ARPh=FQ1!D9w#=FI6&1@1HHhL326H<6|56>{;r^)T3=XvK#Elru+tm=fWHmZF@k@n8>XU_`%|!zIjxZI!vva}paXJhh{1 z8XKx{5dD(kDWh`BM(32ysIghni;}HnS@G$Ob04=j@{?L}N-B!N3rm)kWQOM!P8pk! zon}rfXv(&ixsrl|;b>K)=VJ>+>2E^+QtZtqDBo)7*ZWq+O1!_t{N6L#D&TD~h(lkb z#DqgxBK$q?Vl!v5F5dqg5VzqKMK zdQL>LBPXS@roKF<(7ZBP+~IxS91>e!nK!Z0=4e>(c&sxoaZIcuA!>AGXnB(jj@9+c zKhG{rt(XG8t05h1!EWe#y1Jir-GAg~>2pBc4~XO0F`raav*U*lc@9t$fa^IG(`1)w z51vZuhb=K6s`r-shVoyzVKws`9eHDCxu2+6(2^e>G9m>#ckc1!Y3ZZqRaMs2RRYQl z8+UUL+_0(B=al)}u%fbAaKmaVN8;@z{z1=ffZipcT|;T|*ZN==YgeBSrk}C$`Sd1? zdu*9_2O-|)i|s!1d5`$;clXQj*L}7WFO}k-W}KDu`D1Ea`j7lE-)K|_8^!0j;Ko6} z^j99j5Edeht(DIgV++Q|`F-O4&wR1k`3?3-^<_=g>X{W4GpnslW%ZNn4fAUa@nc`D zvJ8kw^Nh=7U(7tIKC7uHIk~7Qt9}wLr?=#e^Q3io3StX9>POU-_6LXbToep87qqD{;Zc|^e?5C_^O#c1>LGgc!nB>8LFY6pZIQ1 z_C*f+B87S+i1^8!fYRt5PK8FZ9$X0*U?-0!u=>Hyp-$cq*EX9q+TAiE`-!T# zO}Q7>XqnD4i?)rI&P>UjJZ)B~j8!h)*%ZnzDDvziBiQv8u!#Wn(m8yl}ezl6F8~OUs zg!5w(`yQBp>x8EY|fm}7;F6KieP+kUOX{2*lg~- zeQHS9l(f{sk>9b!RYcgzTeEAroH=8&GaK@gV(q!{g|>_wTkyyvTUN^SNuzS|a$^=| zw7BkHTvD?nF6o7&YI{&|nbOs~{;e1r-omFF>#3JVhX!g?^5MJZf4x(b|M}W$ zd5zD=k2SuTYRzxxbq#%mFIz9g{n@H~7xu0KCw@G4;z^zb<*-}sA+6Jod|=|;iJ;7DI0P`d5kV z_zJy77M@!e?ZR@#oB{J~54MB8*t2orqu#fbE~)&goJE7m`LoyqjXI5TtN}V|^kBo` z#5*r&Hk=Ol^IGJt@E!qOn-O~t-`38guI+p%scSik1zmfPe#h69XUJTYhtnWVQPAnx zgSUQ;=+C~5XK|_163A14uj_x7_H67lo&`NccygqoXX(u>r=`@Z_@0Dxw@P28(wA}i ze;~ic{#DXOkAmM7-{$gH&?Z&RWBn_X{>E@S5T?Yw^WA8NFnq8fL%l$z);4DK5ff#h`lRe{(&|CF%*uGU@@JP58Ecw)_lyUV01j zc`2cpkY0#(i^tdKU9_hEI#3i$YpxrR3q1|{1i5g&{uMF~*O1fg{QN3>{8#BA<%$Qy zU+^5-B?vcoivy#RhIS$Jj|^9tCq5)zT=~vBu3K--eQNDf)3@TgCa`R|;M{ml41O*c z&(#Z;C*Bfr@YY*h@4R#U)~(a=B-7D|zbfYte*qn9?_oOD8hm(=o`7^0t?S>Q_*e(R zCH=I29RAk8NRSpo#r~6E`mrfFV5N*RAvoa7d*vhW>LQK}!-&S0c}n6f+8~?r+oGJJ zF~!;0#lXw&_V>Rl6LYL7)*SVt*ZC#tWO2ms86My1Grdl~pE+z7b?_-PCL%}?0U4H9 zaIAZfeU2~MQe-ixIMe^`yZv7U5Fu$&f1Qj2-zhN9HQZzLw?Fn%s^Xbjhczsny|HvY zq0Va*TxA5R#7&I-`cWL;cAEz@=*|!(^n9Fluuw#C$@Ch#wPbYq)syCw=M+?huL?`| zOw2SW{6T72Tb{e6#1`CszgAWgm6uzV<4&u}OO_b{WTU-C_kW4Af^R9hr?4O6quY$p zK&PGQ9=4k7UuDr(ll9#Oc45*LTPaGCp0Xk9Duyp@2^l2ZUk0*J;$y7J;N|pS4*Z<` zParGM@mKn<#24t#!KFvvh=9Lke8YgZ!AC*IWAK3io|r1fDc+f{y<)GNkkgwtwJsy0 zZfag{&V)+4@U-2!cAm{PbJ@E3&iZxBX4=x`ue}xRiSnoPUx}R$qx^7x`Rwv>AM&jQ z!x&;wro^g=hrgzR`Dpa6i(P3~Z zkWXa(Ps&0Nv)K8FZzg6n#B43ZcG=5QRGU)g4}| zG8=DDu#)@ct=zZJ8g)21#IGzAcSrfuzQ=@A-YNAtP!xOBo zq+)kPM};dV)>3H8DG3P6 zYa8y`4Q`{=h11%GXuUpbWycEyjVPgLpZNoA=-?G zBs7ZTRM=yFKNY*@K26p)M%DKq0$2I`docdPH~cI{8zp58$HPr1N!KghA!8RSgx##O z^Pil*1He(Bs6WyA-@@e5gWASf+j2S;|~BJ ze;MlL)%^WbgtRe8+fVh#H4$^CuWyu)jCj0GX*7uMO>_N=CHmS2Y@hF(@W2wjIyHP} z%Y+Fn41GT>wMx7b>n(q}X~KjiTS;_ibcxL$wHkRoGeWU-T5H?Xsco&(#<-F*lU?d( z^5UAJiq?c*U<}AT0%{E$Z&%fxA^WDaPmO z`TH{Z=f8%&Xsdt9N1X{XKDy<9vqG-Vf<=? zT4VMU!^q-Hy>MqX6{n;WvzUugQ;V81Q;X6q*!o0Vg{I=!4!bkk<48zJN=gy4Qwp10 zuBO5iUzi=^D73~}3mq{7k)i{RI_S$g^!}ZZbjiQO=X}@;q#KTk+(7ujV)+? zKf?chtMT5E-=`RMOgZok3Vs2HSkHOgOyG-g{7Eti`Cv#hnwsC*V$XpOiSm0paR~V{ zYcXXI27h18T!Qo8?CpD;AueaUrDNQwaZ9FE2USmM3^q-kYzh`Tep^xTTVcK83h%F1 z%)aNI*(;cz8^jdxDfErM!+9saJ?i@oX96lwE09*79X7sl1)e}@Kb}y>1$X))$5ccg zR8!TUDlusDc}aH7^ca*eqacCjCp_r#%NV>@k5>p$hyFoM9(ehMLbeF33j^Qd#2fTKzboTyUsxSFx;uES%jNoj5|tJao*J zPDgTVerk5}=to-ab4SKnQj>F74%dpQ;v>VqnZSKce^UU&s6OVCf!|kz46f(a(hpH` zgd2!Qr$A4HS@=4KO}MAdn>Uq_nVp>ph^dP&xnwb8On!D%cE0)nZRj6soi_aWEW_X?A$GB@#^0KNj4`MQw`(-_r_nB7m{U}g1Bi~4 zBJMdwDZX%~Cnv|lz?gGfbm1@kv9FIc+JO0p8p(|{T4+#VQ8GOK<27q*kbkE4DYZVf z67fIcZ!~7oUH7tkcbBnF>!4DcLCC|r%*<=$_(P>o8jK@6KlixsUp%@1uaJef`ev_t z(f)kT^Y$0l&Az;}c1LYj-K($Gbs@3?asYh|cxOKW>$d7lKE4~G-q}G}iaz7On7$^- ze!g+6!T-*_u_~-Su)-gS&|h)llM5l}kbGE_&*bA3I?M(2Z(4l$(o2`V^wJTzdcmnv z3ohV|R6h+dgq?i>v*}xhA`d=zf@Q66K?Yk4x(xc;eR=csC&kVH859 zlYMiha}?9b#v_1MHYA`|Q4E?-EfD!kwfFr6r?`)V<7Xn;mX}E$;J1c-?^5wMT*C&& zqG2bxhrLzfe}UEzy#LE*tTgzXm9h#NMhX7#q|T(Vx zOMz#UB_ZHT!Fk;kH=BEIbar3UEvmYm#>Ly6-JNgaLjip%62NCNtk5&er?0;;pZ+fd z{A)gq6N#9^d<~!cG7_)z2J)$=`S~0H{(Ozc6Dc3RJdySBoQU{fzC$n=`1!_|;Ech~ zbysY(T(Qx)(76N%i2vQP#ByZL+Brw?PY;B1?ON7V8(okUYP>^#=2u$y0Mn5EqWW_N zUg&Z0cNpH^6}D^PkxfS~h&Jyl1>!s2%ekCv+K0bB`wWK5Hg00$J*0P#r`&J!(lH@wn zKT>~ZRsVX68h;L=lrZGs32-E0csof=fN|1T>5tk+`zO@lK$StE_d{{=*}cp5;{Rv6 zyP3}M)Q)fJ;JlN*Cp2IWdG-~;UNp||!N4l(D%{^4fA78HzpH-#%NM~V=&Pf2&|i-j zfAAP9_W0bi@zyO{9X`9t;izM3KUS9kw=E3RNq)P7zj3I{60Q<)#qzZeSyCRnS`OL$ zw>v%E9RSGk!}R3%q>PNDczn|I76dAulmVHujPF33d;l6lcpt;Jf;upV<=t+bvV&|u zk-?OUp%ktNMt63#>=qU!H(EOWH1w)v%YKE%??oKx`m_ zrcnJOANo>?o{baTBYk5a@1=A9XHEC%ylMfwZwvp5yPoos({Ps)czZhx(&Uf_I<_Hf zE4i=oK*ta8Kv&P-lfZyrA25pckmY5a_cwkdMwYEs5$~VM@)s_ zXNW31`>c2BMt<~*^Kx%|>6u6Y8q`OD{T^q_n(P(F9S@PYFEqqKgw)=#trXJ}`j?4wLL z;~z%x&ZWFwdlY|jdJFzqc`)r(vM{cp+k?+d5YA2DjY3ERmYlZlEMzfpAU<0VmL<)DT5rbJ1M27BrZ ziT}rkA9j8CVZpX-!P~Zpd19XTQSYOx&)}cx8@2e`+DlNkl9%ya34f1(yl_O;ZWcSe z4~nC;uP^hSP;%yXe0Be9s$Xk-W3@3O^}CV7W~70n>l0Aj6tS^l;?afh{V{%d_tUFp zK3!H5(y-#vpNRWc9Q?x{#AUv3L0I8m+u&c1+Ag8@V&2(9k+L}JgB}IexaofpGDzbavlD5_-WYROjzK{ zcvkMSz&tDGm46P4e3n?ZFQ|_fmSK~VaMOkJd_WL3Re2t4O(OpvX>S79SaqHa z>q@d@Ti#?_mMm|QWlOf@UEcR~X6zYzJp1lhJHX%(yAZhw1Uuc_rO`Cje(k5yCmeKsrbI!RsSECuy{@;LouU{SAd(L~_^PYD< z_%i2@6%5FGThXoz-)of|R>&d3jwEvBRk2a42^fJCkWi?nhEqXZh;R7Vs=4*66RXRd zxl>L0wkF)-DQF6p*VGsl_*E|cylHXMrp4ju$x-vVy*1L<7po7}$HXuGCDwHiHu@2v z%Oetjni7r;M>oL|(eX%XU28oaL!*YFqlxH4r1hp6qP?t)LKAsRz)%fLV25}rP^Ne4 z>=Aql){ZL1=sJ*ytXieM5(yCZ&)zS#B$;*?ziH3#= z-%iMEb)D4};lbu$@1EP{=WpB7%WM1hd=(YG?}2y4F~(~9FY(q^=AU_yD8o=%X|=3N zjZyiwHKkdJo3XZaVy`U6RjNl}20T<|5Wv?mjAPDeaOfp13ZoOkW1t-?In%+J zmF{q3)uzj`%X4~z-NnJS(fSQrDtkBd)`cRiRR^mt+f^27@2$w&xsc^5%Gz2O$v2$6 za~)-SwzO~Fu)evewV|!Qd-Z1f*=YM~Eqe#@qG8OZ6ZCAeZ?OM4=(`+q0P7v?Zf52* zjin9{C9n1B+K?K*wo|A%wwjy7q^op8ZK2Xt^VC;#dBhhX;y6J~Tr7=v9|ahmQ$k}@ zKCV36fC$8L!V;z!6ISLMZTm3138?(=2e8JBSErD2Ww;?m8}E#Fc8=rc-0wbC>(5=! zU&htJ{QMw(HvFxzX6NqRJNc7*7Ouf3lmBVoh6({24A;5O7$1yAwnw7k*QZym6l(#s zi$onAM%XPelghMfF@wsV!jr1tsj*NJ=Rh3-BJ9BhpZT-}~ z;r?9{b=`5truUCltiJ5dihes#GFRX)Jn-{UIpM!APV*4;PmQ)-z$5zC6|98NB z4P-@NY6QE&9MM+$V*vh@ID-7dKw$>{Gb|5>J&T1znJG(6DCAarR)7bDQjEj{4p^Lm z&|TvLq&oF|9uQE0-LAei2Hin=!=XWdKT?a35dg5%ppH(Of3vx(VQkw}c|}F})V8sP zu0*5$t1;2q&3ZN6mlq!Iy1IIOBC)>u>aOF3>3{7W=)-^F7e+IA{yxNHT?3M=Wp-IL zrcL_(*gYdP|H?hBcSUR7idDL#7H%FdBz15G`SQ2|sfAN?q883;5Zh&zc@{(h-Xgk? zVqS0&oY>;_IS?}7h2zM`UcBtG#r>me%N9M+%9?n=4*$mSFElj78c!T8I(z*1*`lL| zv&Y*L<+1GKpJX>wbhnRZA2w!M#`2BXyzv$w9I`?;=sW?QUuV0KGo4%&gT?TuI%m-vd%<17H+CETd2&TrVss*9=ic6~_^Bg*4ISpyPBL()f@kGWNkf zv8rY44R?9!46IY)MzU^i0+Aboh8t!hcf`R8oS|1{KJWd!&oeXoW$!D&r;7e$61QL4 zZ#=tn%gFT7V@t^+Bh#D@R6G#17~`xq6j9vTl)*A0uB`LHT`7QBkgT*(%ttmLatqIv z)#b7U%B2B});$`8NTw{{ljx@PHU=@xjLtU?48n%x$8?AUI5&j%l^YD>&`e%QWNdry z{L%WY z1cxM71r0KCRWN5yQVXq44T4%YNCuwJJkPov(v8dxkoDK&N)e_BSJF`j(2#{>46iWd ziHh20oz}SF=#Kb$xl6^wofPz9#?F1uJhRVeS=kvJ>KR^H)wQNId&lG-%+79{{DYRZ zww5cew7+oWl?MEZ4I`_HoJDI_uxzVw|2Mzs$eD@EgNJvVgO~6s}-PRk)&n)*@C`9(cDb zzf*|E=A(THc5t79QdnvfE03nE7O@{NpvHU-oe5F2?@E2vtJ)Kj*z_ZE(?<|M&4%q|M%Wl!eDM@kR4y`E?= zl6N4ubs~Ez-{oxd`E%p`PZxOW>S{b$M{lkF?9CtkQ~&WLyZ!JDrPCd4C84}zS6*AF zZFC|3i2W_&Tr%69GLiwIr6gS+q2UcxWoR+g-u2aC3lGot zdDeR)rR%F3JlQ}6XfFUEZoO!k8t`xDsT;uuyB3=qj6Dz5e3h^B~ltkAVuT-+qTDBCkq-PJtd{yP~Gfkd7`YY zyrQYZR~V{a*gCbtKV4Q=k1U}&`wM%v_HXxpCECzdT3uQc8g3k3Sx`7v(o|YmRu~$N zkE|J3^+xh#+NpHv|v#(Ck8+aX6@Om+}a$u6S8eVnnhyN=t8}0Zkokp5t zSwC(+;oi7*<4do;`Vub5 z|JQgrxv<69mi!EVuoO{00>3(eFE6I~YN}}_w%E;z)Q)f|;Xo_4*78Dv5S1`0oRh3) zCE1h=0AutC@lyd!hP768xx=^}e<9)@0bvM;j~m{Xwr%vqs)`p;fVuI72VP{Q?`__y zsBg2qJlUUD(NtsnE}7Rk+ZnLG5Wpq*q_L%@sUq*(!x$duVHV@-hP^NdcG^s@as{>( z8rS5)riFnEyfHOWCG}{_P9qnTDn(s_rp53ep{5^a7k7+d=Z?=cN0<{*Axo~YzMnkL zhWc%;s^c!TS?-@SYEZI7z^Uj=kiIamU@R9^7gI49G8Z0}YE@?4u)`a-yNbvA)+{cr z=^HP0-Eqh1zP{6o%%pB_Z~v6>+Am|>`WxeBB0b|$RAk*U$WQnS%<*a#)x;m_gZw~P)k2HLP#v7!I5Wvqg3E6XQ8pkUV|anfgG) z8VbiMBN5qbH-0Y1&&~L8%06JG5l;wDAK%u78@iW8LG{OQ^OX359s|k0sRomOOE#q_D6h?Xdr}cY7!G) zAH-|<`dan+2(DZ>4XK4Ag%KXD3~CXw99So0zPN!H9G@TAU=iQfZ|K6me_Ok!bfmL$ zq-5{fYhKN6jvx5i*A6ttvtKo)HVtn2;EL7wy?Ui_GF1K76BGB=gou(x=np~Y50xOJ zxa~2D?WUEO9%#y=yv9>JG()#kg>Z#XV#B~>R33N6Y-k7NSR3_1IKlBGVzcH7sZy0D zo6uh7KQw`pu!4%*!YlAi+L&bRL~L846_idPhzuH9F+iLOY^QOUTS}y>q(+#BBksRi zxAx}S+=WZU9V5m2v&((8e^!IS7TJXduC`AMcWoW$+gXtndg|^cUOIS9>3nZA*i`t# z<=&kWbxZc|99}$qb8E$#zRu?`U*M$`kl%)3C+nsa-Gks$R!T7WP)5RsmfED$$_N$E zP8-;Q2>4qTH&SxNN})Ln(i=XLjHEzN23_*Z|D(gGRHaMN6GJMY)w~{83azx0kcz01 zQc06?U?;B31Epz=CCEfL6Wx9?L{CORGW8B=PY7>1+;49Nt<{0V5dT`6+O2Cbg8EBSSPggS8kyfgs*v<# z14s&gCap2=Od^f6#sFs0TD>R_B{lgvu*+t&AKs%ErnP_mw=jq|51c7VbYeG8zcx)IM>?7hZHMT~)d3XK|~_)-6Wz*lQS{_h)(ebJUp4Rw3>W@XieHVrM5CV$5DjMQ(Oy~MG$CggL_14brwzlq_r%#{WJGR#tyJGL&%W<{G z+ZuRm0cL0ce5nC^sR{<24%W(TOxYtF@kaK9S6x#hV-M7xKWyG&?~=P84L6)^X=kj) z%t||BHFmoW!QOdpWCt)LH+`zGU}b_;f}@Mn;%OhTf>71vp+Axym&!<2ED? zX!?>yX4$3$nd5X1yMYnv%}}94O0dc-N>9t*)YY|O_TV)}-}0B1jnnExVB@i+jU)3* z*W=K*$C7*PmUE0T{c61V&?AemGu+2&6Xtmu+-dbWr^?@_wMRws+5wmmIiPG@f?JDa zqAY|0AdL!Sf^-f-oxmM6b0UBS1lF^&4p=CQaDzw0Adg&k-F3?t=dwAvB@FE+=PD7G z)CYN`+fjp9cqhi^a&G(&TvG7d6ntwMyfg*h@>^^BycB%1wY~lCQtg zdC~}3-mCkwDb=3+^rqS$v$nT?J@xzrw#Pj6oo_`RaS`OOG5W1p3Tr|vogQFISGsMd zxX^An_0K9lh*?lkEP7h3u|%lg4}M&SCvZz-i3U6z6U6#!GSj3>+%bu;N9?$iJB9$m ziY-7HYg3Mr4t>^*Rs5-d*1kaQlnAK~G0se@h@9E*a@F8e5%N1?z|A zcm8xodr!xZZzgbb)4{8TlRrP)8fzQ&hs%p|N(&0}+I_*Cl90clzrx{Yi?w&JpZREQ zM`yHpBtE!%@!xNmD6I*_>)~ch(ZN6pzuVL1Z5sUk6#P01eA@BHDfmq(INxv5ZPZD+wY>lQe~I;> zzqg$F9^e1*)bnmhga2U)en!Dt@SGB{&Zz9_btd5)zl59XOv1U&Bz%j)qlB}+5^kQJVd!ObiXkNX%C2OfNj8EQy>LKbBD+mJxNVLX}ZXkxGUp zSHNT=9Z%GAq9O-LYByM6*e1EasOunB1e!7g1M5=EIFtD0K(km}4Q}7eQ1eVz<*{u; zGd}ln6bmp=SRBml%jKthKJuY*Ooe+`K~+q+IF0K*Sh+Q=8Ut8Q**+# zCUI=8H903-YZ7j*wF~FmTx+sD*NmLQQ>i%wEr_*7xL#|Z2n$W<@10J4kF?9RCZBh0 z8k}oQ!mqQySBSMH;Wwq=e7{M%dabGVpMO`Z5w11)z2(&Rer>N4YfZv$vA|0lTx$}3 zhH%JeE<9%?XtE8?lPPAl`cOt-g<#N(CQE!bj!$xHhYUg`Ems8$x{xu9s?Z`pRa%H4=b|l1cnEhiMTeA=r-IQi9|PcN{0Ixw z7;YB$2f|GwxXSn_%6;8J7ihuzWD)?YjE@6`bSq&y=JvsWNJJG1GAFTD8IjbU!&4De z=|miZC__gLURYh^p1w7^wziJd)OZ$()(*6ec%6+4b6bAh5UUC2Y|akGx@x=DmpDCR zzWSO7JWYnLzW%}byfteU*7t3RhQkA+vB>Q8$H$9D*0k1CRCGqm`i6%3*7vpz)<=s& zb;h-Q?TwA?eV}tfv!~~`gWJ9+`XJ{_2D-2$gVa_#KqmAF@*1RyS_q-C20v~1 zalrc02En~inEe@)igGO~d!JE;R6r4cRcIhrUwFqdQvZc%YQ%1gu0IgmUyx`pPdyt2h#u;)l*e3!jws;?*9IMKhkZ?Y-U-!o-z zaXOsgNTAl2Q(2hE^X3=i`Li68g=a4xIj|y1J}>cwHRs%{@nyp8|Ae(e%(|TG@F~|$ z2zXzHd`o%0&h`)qaAdtD+?7jJDf z`mXI-m3PNociqw3W(=IG+}_r^ues&ZEzJW%$A$*%_q_r6kvwz_@KA|>N7PWQ!pzI~ zUs^bkU8LB6ie1%%RjzA2SnZfrUr_-m*w;W;%m6FGPY6GxD=PU7Vx%@)rAvqbCNgBW z2v?p!PfG+&@)I15CBCIGluju>=7-LuAoKz0MzZX4RET7u)8HqJ z5I(nyI>?RoUqOrQw%tinjfZ28XzHT0vFemgU~@@m~DcU+4_2-F0ka_Sg!9-|ijm-#HQKjyn_E z8c|QZs>7e-%j-S2G%-5JAYA+cnt<0{&|_HgNrQZk`C}SR`H>Kpb1Od8aKR@p(q8a` zOgQC7=lYAl$tUFV*QK66g1BJHm4tJi5$$5_r)s|`)t>#QTq)ZhGho#;+Y7l;K7WDj zK^MK?=XgHIVU)I|GN^Img5H^7F_>C^Dy~{Dw~Xj=tJKKV#Zp_+tv4vv84EkHCK-%m zGW4;ErpGM2uL>J)6*gXSJ9BGiUOSCxI9L~il9DM+fznI~3a55i!)=u#DcYDIi`4-JKWtfA>_(vZ@_7H)=eK6 z8wH22pV~9fl;1ZU3(feOY7h-klB@JPyOGm3G1ceRIHnFRaXfFCll6{2w#A$`aW*7X zi8;aCQciPjMoV+X#0-l$%NDfA?=4^Oytq;>uqgW@LfZ{a*~Ys0n=?VIeNL}u|B z5cg@IH>HG(@(wDH95R4u*W@NI>nhTo>7wD9V+o@?V|d@^KW{WWn(SLL24J{b68#YG zllwsk^J>J<3-(XKu^$Ks=nS7~IQ9bt-;xFw^a02P&yo8=~jpg}} znOX0MH+zrdi%U@hxIs5T3(;AcJ8Yq^Nvc57=6ch zmkq$hf}=*@g7*3AnelDf=NW26T<}U<@aj#;5g8g{26C)J7r4;K(RhGz1jVqF#`v@` zBOz%N!T+i8E$=>d(@*hZ9ai&;J)f_~57&WV+i||ncozI5m-(#*h?R2xCHaY>eoKC< z$xomtNj}2d*4=Oaz}U88_O<oMmpBLI+SM>zBrui*Fmp4)lCXqN542d(gvCLH(y zT;K;SQ_mU2^ViAeU`KU3*V(?Cd>DA+dyCNCYx^V4bEiSWdN^) z1J5}Y_z9z4!hvTi{GpXNq|Kw!pLK5Aa+}4v7P>M97CppKAGN zamDJ4<(MZQqP=coFattk1yM8jL+8`}etxYqLp`TftwF3V zs|mr57t+>rBQ^<2l(aZ;GRep@1xfhR-I1f$xr!!-S8cw2TXCeK=(_#ajEvcxJDP@f zFCzAM@TA8VDocLG{*!NTNT`2;OsvX0>lqEaryrjjstYczIb0#Vcl?-)}ssq+l@^$i=6` zKG6gfcG$%75k6{9P8yEwqxul0`E9WNHtm#M3< zVe&Yw$i?0@T^pv3saxY8CdX$zft;UsJju_dZh<OY9;p#g0q3z`a=Ol1Aq7 zDc3sT19s+4H_&RImy%m4>+76@3>%Mf$!k;ZEYed5h>tcpgho378H%* zG0f+O2$Yt2QEwXZP?kFtumKO7D$bqeXZzEdNTdco#<~dp%{5H;9i{zEt2b?&+Z1({ z4L7Xb_={M5RZaG0cX@qcrlM?oEVoPJBIX!wX%&vtEYBvqDaF-0AL78Y!0*K7S=)jwKho)oj@h#wonFEb@0)yvh zwT-G%Per~Oc%$`Ck*!U)5^5=!`D^e7xUB9xqpQ6yzuEN7<*zzavpTe)w|yWM+7KFU ztGxEe>ch2@Wix&I8ba&C031J{-Fk0Y9ChPaiH502G!(8Z&B{lG_wMMr%}vqSK>cu~ zPXM~2tGBzfk1sV(V*k8gp6GYsKFJv(FOl+d59XWm#QAQ(Cvs*Dc#3V<_b3nVqn4a5 z4=ZUy%T5^vEG;0LiioLjN|UT~qf&h+G)-A>E05sFIia|PS3mmM&$7| z^u*B0$(3`yd%kbq%F*q+Y2RPx?cI9#efttUfu8n#f0kUtgitoX+FP*y5)0%HctU{8 z_%z3>RAoIE$`GN)tAmae*R-xS9XKe@*P(pa0SpkO@NZ+}JRg{7Mp1jfm|zb#qxh8h zvg*7D5ld-$H{dgbe?#YWrY#?4fA&i5h~&MozP`}V=ANF-L!s_?PfbnLME~9$Jv*vr zOFOHo;^mR5(UJL;iJ`&H8xfl5?AkmW4i9ba+E^9|20fng$-Z^lYNOLZU$EXE%J=w3 z`zK~{v&SYU#?Sp4cxwa=dl8#mVY`bdbd{ppCf+hqhBMp<+9pj724*M*?FLF@(k4Tb zWuzrdgA6=p$}qzMn1e%4IL#4E6_zGLl1Lb07rX^B-k3XvP6|%gy?;KtVsY`IgEhfZ zZ@&4+BX7=+tlzn`R35tVxuvC@*MbzVzB#5!M;7f6ND0D;AKZ)x7xo6$Eav9K^?h8z zvA&4|u5Uned+5`sAD(J|LVOCGfp4?Du&z3lOl#sSBR@sSu$tB)WaJUa$QvXhZ@`*q z!1Ed|!pNDPPDW1Oj66S`LNgP-X&Yo#H51nn=nd3e$d(brLSudkiBMfo&n^{GVO)p! zh~^v>A5l0nt?>Hh9eGYqz*B_~iWV!cT|GZylt^SJUtj7^#Z5pCod&;&gWr@%Ka?LE zi1b7G(aE9oBc=rKW||&~nZ*MR=q`mZV7@ z)61r(zOrkkSp=f}96@J&&7-3@`R}#1zVPJ1si}jL;l8%ykBr)>LAd7Q&5t+7C4H>` zugRD4!g*3lCBURF38x-M2=q97s^Qe*Bz%kVTgmofAIf}=)Z;FIkD&gmQ$2_D3rbJD z7xqW>{7q@^r5?xk(r=*KmpY)wsrDPJ?S&s%_H%)7@Q4+lclu>ocrt5LRj)GXU2P1S zyqihh%@)B$^9aRTGX&7gaA1~#lAA~ndIyD4I7G=Ctj>Z|z^@8N1hKnor@2 z^#`s2m${j_!09|y#p!5#WoTm7XzbnrLN{VJvh~ zu(B2EY9cMkJigX~o$iEvLuHdPSuF1*HnttN7e-s1$r;#R(lBtsq_GW}=5aP9{t4WS zaIDa$2uY_&*`Czsva|P#ovy+jTO@cC;p`{0UpyxtcwXc9EA*#Uw7&BW{Ju2! z%PIK1Y4GP#aFY(@^WUF>-(|K(f7XaSobSDKf8KAl7yW!uJ;&{QAg%u=Q_sJH?XeT( zgEt@sN=tkrCsj{1n1EnJaQ6I06}yQ40a93OP#@ zn`A*Tl!dxDYeWIthyi2kcbA{H>NGhTC|JB7z9GCvfA6E__XK=(>Uoc( z!6#Gj#|Q__AT3?g>8HwgR#()P{!|?osrCU)Gif27G+=9gDid!_hY62Gk>FWONCXW@u?rr@$h0>nf*s65DiGQy`~%TF42J^J8-k0$@A zd}iMlzi5A9|6lC?=6?I`{E4d>dH z@OueImpieRnvwTCLQ7^8R*f-iZKj;jMX{pGa?qbvpHb8YL$QgW(1Pz)cW`z{@!F5& z>4$jj7vgm@>?BdxNl?-NIAWw{E5co5e~k^h=*rLAJUsb%L9TBQu4YoT4)-ynu%$y@Cov=;Y#N^_z?pDLwJR# z!?0}L{L;Mns(JG<^Jc-k!Bu|i9o`^GRmSpANhFt(^`scYEKYleT9e8}Rdz*@lp67^ z9UuShUANzU*LT0ZYI=Ir%&Akx=zb&c?B_oJ%;ClD*KS*UX6Fy^0^mmB!0s~sLi|00 z^$(mVT#@rgTkj0?Kr8%&g2M}9&lB_=#REb2SO|Qsgp-d+_) z5})elkblbdccrx#bDiEE{m&EqXM6U)&C(yNPv`s7+l&5luaoT`NNdl%PQLdJz8C9r z1J-9FXePo_0IStbXRgnT9nPxeUf^!ygmQYxncTQW1nJOffZzwLNh-9GM^X7@;U|{0 zC>A+L;7{g%7v1o}8;ma}ziz~nZyP<*7?(Tzs-X8 zje`G6e0{{k7xC^e=g-8Zz`nqLF7XVnUd;JXenZZ%qLWVNYQP`Kfaf{6Z^-vNCO$>3 zIQVH7_#so7Ex@0h(iT|YPO^Va25ZVnmu*U8BsMl2980TsI)FH z>L=g3830jp!6t6xHcVHw*$M@B9JVn4$lhea45^#8umW72xSC~g%D5-NazXnIGYQ&zEh|hT7jWa_-XXG!VIr)~6+`nycaohf+-FW!uQQ~D1;apP^eplLaFn%Av0Be#;m zhqT{wA-OS|+_YGxOY<%njw-D87w28`k33?$^vEL@;am3PNB0@O-M259yYJ$RD>Ww? z$G3^G;w&AkwH&n;<|%ImL^&WSZ)zPSgLf!O*K0u;>tKkG<)}fSUg7zre8l<)-QF-F z3L?5zJc@D08u4sq&C)$r65#L8Uejjo`rJzZEk8x~c5)N9m z!cUrT^aF6wk5TJ$*bmEd*4ge&J^`AHNI1Ci2Pv4P$NwqZ>&ej7#2B{*bGzU}vFoO5)Cw`UWfBu+mz42TGqZwkqLe>{{4fnOrwJ zd*-WOHJaZI90(ZOliwUYF#0@j)Q&MUIJll$Ibx@|p4)+=1~F#B^?JtqfKO32xkq4# z`y+8J;p8u3$8_GC2Iuo7+AvaiXj5)Hv z$=eCR9-Iaz?j_vBy?l8)S)~RBpL0J=x z;)x7r$WnJwh^@uyAVK5{KPb(;=3NCWT{2p+k~TrHvKmu&P3lwnY|OJ4=o?I(yMQEE ze~CEXQ~54p4v1VEdJ`MRt14>74@|A^6SvFB|FS#2Ufs2#_r?{yyvwWG(0;gedEKTv zcXp`TFT8BDcteH8&gw(kldnVZ#2?8|R&(wIu1Fj9eBw5>@5?#Tb87A-gikq|5hKxP zdmmYic~%Ggdcl<5sJu9uTV-r6+Ne!O79C3P4jQtCA`ojM+F^h%RGk z_!sDcTx7^ROyY{E!}h6gySuSw`7Vm5L{xip^ReX5BJEZAy(?Dq_S#=>Y;U@I*B4%< zgi0hK)+kZYIn#1#`yrra`=Qj@n9^$o-hccPv^c`?17C!s)3j_aXxh@A_<~%b+M9BT z#N$1n>D!aQds=(grmzNtRm!pku$H8bf%i&^S8o^nV!Tn8(lI2T! zcHB?2-+JrqMx(Soq2~CCnP)!#xo3s_X}|I7eY;QW-Y3Sn zfPVLKzHq9Ppkppmj96OMhMSM3XZ{02Wq`v~yZAfD4DpTmWpg7Y~NelOwN zvmr+|KrfkMeR7;$FKQ&1IiS8H^Rj9TRfn zs=yh74MaGjl;iraJ6!1gWmFDR>4n)UJt)T#ePA_p!5(b2SiNj9sH((!5#~bss4Q<-g-5fzA@f`1&dfj%sWOw4YcMl#JR_pT zXJ$P^A|~dMA09=33&L6=3FF`It{qR*1bf!?0vRJseJ!!()~)yc8${!)p3Jfb+Go33 z*A9j&!dseqo9dz+ho3q3q!?2g;mpN0?wz(sWeVmD;GyS9l!PAhu^eE-+b6;N`B91+W*S2W3TK-w=f5y zU&6N74FGJ5_$}br_t9U>8R42omSfI14$hh6MfjZ0fh=ZiFJv*yWjWRs+t=9+(M}|- z9p+qSC?`5j0MjJbRuyK3RR^jrvbJPlVXiH+9z)wm*YN9_aY9dVRL@p69 zVV^&C?A#YEkrJ3n!IP+a7C;e0rcV(N$$AWs@GuGT40DQz8B(R@v6T1?#Z@WsbMKZC zKY1*q5e$nn9T0>Gp%DcNMg38jNM$$($#UV$nZ$f|#nFRj4)e$+xUrUN`W8C&ojm*7 zcw0S+^D|kZ>(K@>BhM${Dh~DLamUhJu2I z2-h@}>W@>(j_J>#{x92``>brQWykdPlpP6iIZeC32xt!P#cpsp4Q5@UFpNoa3Hl%s z79T{0wWx(HT4ZdGkn>e|gb?dn#M&bhM^O$Xkk$gmOi8d0Z)r6IK$Oy=e2=5+E@~o> zvXA$bEMGhtjr+3BxXM}@s^b-Tfx@&%2YXR)W@n-p3c*}#BpwLFM`Fe^$-Rk%iGj+p znn0JXDHG!SWYEY~$b>bvoh+0s z&k{CqrW~D`KV{%d7c?eoBIz=Az2JwkLPxn+86_y`ZbcBRVGM0B!_GB6HXSRkFYem4 zdiAcZ3kHAUvPf%I@`>5^&DPiBmu0M5EppxfMl8oV!ZAT^BP5;vWP2&+>Gs5dMR(!% z)cV=#&~l!&ebC8RAxW=~k|UbyP1u+v{0}Yx|HCx+w$yVTR&dI3EA+Tf(?^a=!u2{# zhjSeYX~=1=L;W1N-puydc>aRm3mlQ=3lh$KT*A+)_hw@~FNpO_xW=b!&-cpq=6f%E zKHpCKNI2KIe2%%!FMN)mO|*w}tK_*sJV5tT!pWy3+~iXdF6_x{FFxgawf%za+5b4M zGA9W!Sy;ojGPx~1)<~EkIA;4VaEFlLX zg@v5MWFZXuk@czkzSYZ%C3TfvQ+bHE@Xr3mQS0y+J`%tnSxE#lO{dlk2Hp{oFGn~I94JH|~n<@_~L^Z)`(=7FP zZI*a#iK<&VZhY_7H*aN-gMI$o7scES!KPD&_vPDma6|p?+1oHPbeHBL?^QZWnSw#( zmj)Xd8BG?ZEoWKb?vic?q=;~d&k?qlC8PiHFUH>{pZ)&#jWvIH!kBX!b0>}^zqdL0 zJ)utk2i=fs+<=lG=1gPDetV zdMM+O$xP{9=pJ!UVwKt#{M)`r~ttL{UurWp%_bn7W;z~)i4YZ_Uesno3=MhPj}6(e3V67mk_eb z_|@cIu4hrR6_H9f<4EuoSqG4RQ$e(gT#ktS=h)L)cqZuuXLbsDQ;S*0vTFHEo9-AD z?opCj8Dz7Vm`B*tKq;vpYPxYj|Y;badb3 z;Oy}5c>na+B#3@123s!XCIDsWaqi#d>6<*;#{hu+k>dSLM)T%`B+z-SX^WA*-9pq&1gL*#a@%QlsgL>qA2uyE--w*RCFo zj>OAwTTPxU6c+S_ir8SC^WFrXx8A)ojYD&dxUot?Vj8Hl%^yqd{ngpCzcL0!H{2j)NKwZ~@U}d`+fp6bxA`%n;sinfA}B7gCWe zhUu_8HSrWDcy4MhBGho)D-SAfGZON^I2bHrf4u--xtylIA9r?izo~?^zyRvITPksyko($FEk67KaKlp*h%}*|l8-)tZ z@iUP1e~lZ|(-4$?QQR0RhL3qP5+lS>u{tdELfk+Yw;1N#d(`;S4IRg51uaw`xw+%^iaZ4`3b;JzT*@$jEQ>>q@(xB$=J zU~&KpSJ6&{Y7pp-)etH+2h-#Mxki<86#|d&B^b5qPetacX1e>krfxn_U)$c@F%?`L zJGSA-m3?iAk?Zq1+E+ws>#DQ+wpCZSgON~ZyfraD);f@rl|7nRwHY|+K;1A}@Y`(2 zk*tEs!5m3*J*mvH44goYlmfjhh9@&H^T1N%PLU_`&*aKZW-tdv~?{dTK!F( z@mTBV%F4uafn=DV4 zxTnMyP_tMjX&f2RB<;)b35cCUTm~X86GY5oS$O7yT_oH>(gHc_su`B`E96=n|LBXX zUtV|B`;U0*{lQ3aSKo^IF5ldGY_@N_@#X6BELT=#?cSwu^uD*nIOj0VLF8qX(4NJD zPAq_M!8kQP%NVECVIjt;wrflzWf-R_F~^W&JrJ*;R-Q#@>AqmibIS)$-+iLE)*q}b zx%$5A4x&nKa^o9cs;WS@D{8;?w(PV2{JV%(Vd;U5RL=aifThnFr@&iP9??asXOWtZ zJXD-#KG2sgwpM64LM>$70x(FN>@}5FlJ7RIU%tarQeIF#)(~APY#NwPe1T_J%uF9x z*-{vU8p9f>tQo@^b*rc#r`M>| z>YFdU^i45`eRyXG?<}$%r|OxmKV`f#V-B@|u4vV&In(6qft!_Oy%>H*X@oKeeE}ud zU>UOH?d4&tes84jo@3d^ZaS8gef#a%S;y?ofBZ+FCx2)1AB?J<$$uApHTi^xm1mH) zAY9-V(3@rp8GThcmF5$=uUsUiCY2-C6;Ak)>q;E;#dVc~btTV6A~_0n0uM1$pnQ=v z%U@l_|90m$zH#o|x86c`!5?H@4eEX1ycRz9UN#8bf89HU+VuIA44y(Uy(-?w8sn>? z1M*-L@&47ATh{h5YyHSPO8)H^pNrbl;&Zp?-!R%&fEL`gVH!%(Z6q1Gw6%X)b8v8AaE)hobtRxT957)~#UBL7yO!`n2Rwgw&)CH=uPyoNgd1{&0ttg~%^BMAUeo zvbwr57zp@}xQd#qt6QoI3-PPExyY3P_#-rfmQlT_bMlJG&T#aNXc!A9tEr}9^w63$ zhej)En$DlM{uK~yL~C?DH3zIC%JY*DD`rcbpJc|jbfmNqwb5!GpCPj<2}PS66-yE5 zrk29&WAX$R?4hQ|j9cn2vQ{i5FqWB?C%(0Tw)|#%2FmA~o+q9e=!=x29E1qc7!;=l z(h24LowH+YZ*_I=+79O-dD}NHZhLwBPyO)e|W8eJL$ke>}m3)+I zxfZnBBV+;!Erx9j`r0JcipRE|ygHp1Wvmqy(x4Z&vTq6^lVNj==A_*1L26|q&V-cz z`69-*l2@YW;<}S|XL2vkJo=S*{|fc~pzSIhNn!HBjA_Wo6W8xo%Ru!I9g-1$lnSXg zQVOQMkwz2QLFRsjRo*A8N;C_LH~@B--QAT{v?>wlZ}cy>MC-b5Sva|)wZ9^idJzU4-2$JaEd&#?*%-LVbHSPmVv(* zeQ1_kXV$-}8w~bs+>#ZX?ElPiQ=+|ldHF}xbzgk`>85CP)obV8#XOT|CB!@nJ8t?s z|Ni|kqw192gv?X(v4jjJ0NGxk`eOymjl0_a#5xQdeDLTxDL*y}Pou zqouL9#$OrcsX8W(y&m~pIJkd#^&!N7%Cn6@w#wf{#l zeqE4lL*>3wXneTqJZbbU6%HkEM%Pd)c8Yn2||$Bad*09KKj{sNjc<$4Z_ z#lfH-X-CZk<|z8g)lJK>Ue&CaMDNbUr;&^Nw-c_sSW~3go#iSH)&_bz4hQ_DRfhw< zvZ}-Vds0(%v6&RukvU@ErRMe>BiC8IMo4 z1oqU0szY_320MVQ?$?O#!Wq+;ox_xxrPUF<8-3Rn+>EtvU2m)lO4kA-HQ-+qeJ_Bf zBP*nP096&z)r?6Sz9?N{l@~5B-|tMU>#sTSZ&}{Sj{33IU}#{WtEs)csiC7Iuext- z=UYqPZ11e@nT>a>8wl;~YOZZcbTmfeUD)@fY)1QI0NO0}{bGm!(wIUEWd65hHlxl4 z%HVy9SLh{`;eS*VF7_Bd-XupYvRllg7E0FO-+PEk~dFdl9iC4 zr>Rp@JzVRBSbsJ65vK?621l9m=xz^=?pDy738kg)Dc<13ZU_frxT(}zc@UNB0d*8n|O-TIyF8Wc(L>SpN>Azr)1`3I16vVsa?7Q0 zlHv8rK$1p*!ih!_apF~!?gB6U@1Vk)7xNF;P>sV{E0vQ|vOHyAkg?pLmE2pONM4Z`+@xn`UT z<$9Kf;KV8#1-`+moTXVQE-WqR2*ayb2 zfIc%n%7y)dy!ZtEF2oq#%NMJAp6QEK0m&el6UHOS|BV=9#GwK=dFPM7_eb26^Q@>6 zph(t+=E+yC6mFDer{AEbS!T5&@Z#ItK!Kkhg0r2+1BGdOH*PM+k6`upODL>H;zr8p zG{hoHMro=Hx`nS(7-VUuL$EE+*MnI$k=I>PU6yAYUUfS8{AuIF)j7rGg}@8dnOLcLW~GxGP^45wnZbie)*P>)5$NLHm+)J$d0!hx6hq>CVB3m zhYZKh{_gL7#`)cV`DAXsixyu=S1##;)xA`dsR0@3G--y%|CtXq3#C8} zOd2{Rof8J^XZ(YX2-3aPDJ%7?uyD?rj>i&sYP3_9c7HE0q#cj6sQp{#^tA(?Xt=5_ zxBJTR&Xb+vS9a&tRfVITforEbkt?74PO_ubos}JL{bllRjVOP9)e_Ina<_IQ`6+r7 z!=7CZ+oSNaa^zOcq#K7L&dwY7?rz_UR-?#3H>&l{u>QEm}G@II;H`KO%eRoSiOY5=4 zyymuOc($`=X={CN%%A0Ql-Bph+UEO|pKSzm!T96%^0VnNs&%gcR)eqDelG22^GZJ( zjQftr$V~;=|9qYJg^1z5f5rImxfMqBD@ia|(5~ncbM@^Hfp%Ta`|+DJ%v{NS^fh4n z*d={vx@*e#p#j=urlbVDw_M;uqcgY+@*+KE5FB^ohQ2gKu2x?fCo+d0iG5W1(gZ6M zBE2WqRF4Lya2|X3!hvS#_gj|4!%kuy_mXzD#fG6ZFRv3GSpG5)KSeXgt>hl z^pceh1kXo;U$@!}BF0DVEGVxn?b=>FRa{w;Yut9mK7ZYwv-`(OyRInd-+I%Qx6fgt z=bWhh9}|CRpPcTS=J;v~(pV>$yy=sJ&kO&5=lQ=lJ2R6#yBes$q6iq_qwNqtw=(2#EolC1b+7ZD`Sqxo-;qptEy|O-g<1vUYz{bQ>Trh zb6*a(1euFoe*VYk=MT`Ya!BK^(v)OM<1#i;#wd#HQ`SKgHHZpH8dNCTh0=u^hI0!D zPRy0UN*iuQ@uN<)Qy*W!kLgz&6F2BMh{8=N=YC8bO&$bL{Gn6CbdGr0U>SXs4NMt_ zawH{1={=$HAi|hL38`LqM??$?PU0ykFqpi`+UMMCVn080*UE`Deg(y+)%tc+pgH9(1|khr3( zpez&c5z%siZBopc4T(irK!H3(E(?umZk5hq8M215^cWb2=ofbZd`|tLhBF=YvWRiQ zSB7Nuiw*EijE_Hhcu}7bzW<}1O`CklAMez>cTYzi;jI(&}=^^7;(Hu z1kHLl)=T(!G>NK#YJfJ^(hAAZaE#K&gZVrU_N2sG516dgfb+XO?XNOQQk zS=`8Rm~Ipn@qr_SiA6oE-ViZ9kQEq<4{YcuKa*F{5~}VEoH=toH@|Xt_r%})ZDUWU zAUDU@C>X0jZ3_N0%G8(ktLQFf>~+ctpj)K-Rfy~h{VKI5kkEVL+%JH;FW5JUAI0Nq zG0(^!0deB&p-cD@^qVr~IRnENpZIiNf*=4DceWdEW)PavYXp>f4R6v20GljSnE#XP zKE4tEjqbM$k_A(A;n!-6h0$KfY{Xuw=9A}ZI4`ZMC}mvuWu;x6IHVu845Z7D zT~qK$t24w5V(IX|NWru_Z!w%F_P+0Zdw=tH&8@A?i%3{ZzI*br%T7W$9f~*pg#Koe z4sxNs2jq!DrZtw@l?y9|S6`~<8JcxQIRL9XAXt!=7|f(wJKiR(&vuge7!XI>857H; zEF*$^t%l|-5P0p0t{sOC?fCRVEp2Trbw>LM2sC0mOO4GF&5gfU;tq*NG46sk0*+}r zN!&c+j{bq1OONFLZ$GV8<<)2IC&rWik|fHnH+z`EIQc~!x(;h0HZW$|1A(FmJlT}D z!t^?YEqRDmU55e{nS@8Nea2=q3pgfrXwG2dBb!^*Tg`*SgmF+w4 z-25bKLE3G#7{?&SaZ#J1t|xFQVL~tI-(yqEv1N-*OWG98ZK(pdFwLtZ8|GNB95^*p zbEpOOiwuWHqGyOQ6=1pe)|YgSZ+ z*PlId`0V=HB~NIe_3v8;LY~x(#03ySn@#{*GIpyPWnq_r6D28{Q>GR@bj|$Leyt@f zo=0g)TQ%4mrMr-aF>swwiYrl0D!OS9G!G;|29pugrcn{u&5VJAQ4u1@piw(KR9G9> zyt%4-uHDE!Gqc~{9b0W2xnjqTD~_G6s&u-t4s3z>sv6R8+3Rg#`?`%S8^!oSYJ5CL z1U5x49M950MsrG4YJ5s1)#H0lrHDu0NJ~x;MkVv{StW$U-le5f^0$mJIV?uS2Mfc2 zbsN-x)}6iIICf>ctu6l3stS%~Ydf-MFd84Uog3b6jJL$4{4R5Zc;+*5grN7X|1B<% zK?GdHluGzE1(!KQY)@ws+T$c4wij^GUc$F2xC?6oXZt|@hKPW6H(}u?9jGB~UliZp zh~!K10s*&w0K(@uXEZ(LOD%ovkVw-TfOtFXR}|5hJP5{#b60(^3f^SoofIh=XMZJf zG;TV7QsjQ**j7`H`k%x#;@PrNCo^88E0=aNH+=Cd*2w*^TV{l;JGqNFA+P`HtQZ$< z>?N>43tPv9^{y@zDh#Z+REmSEo|_X2-X;=eG4N4%mUia4zS3lqArQM22V-_(g17~`sc z&nlnl-?VOFlY91y=)ihDRtgGG-J}^COa-BT+|qs@by-> zpi>FoMmXq?F^FY$`UO#~*sHjfi5s;cYTW3(NTwT_NWf-pB7t5$6%$><8|e)!gEtTY zj5KhRVG6__lxrC_%}OW?Zz3tnC;>BJE_Kk5ixaF8ehLg@Y*4rXcMYyT5L_(iX&r=* zaD1quWBSjYDL0&j>F*Kp!T!M70({J0V4 zvIle=v;8@Rum)Qr25RCb;~2t>5Fd47h{j-sg(A(oPlZiOue2tZCu+K-k5THVOiQJy zogNq3!`-TaNdTtX8Z1~HSW<@;($pOjVPo_^!p~$e>1O2F0MB+?AChS!W^CX-eO&OsAmsj?Ka43(EWgj;3|T*Q)SL?i(k_W8$itAo4jo}Iz!+*an%Aj`(s zJ)QjL=_l)&vRsev-1)dGtEukEH}TJ?yUFDOM+cqBTpH5Z66gr~g^D5T0X;FtrrGud z=99G8S}pW+seBUfMKfB(YUhUJ{FqQua3hjv{)ag>bizaFdhx)Ji&XzA5_deIUwl5SO+5A>l?~1zEP+PRUYul??xd*R&%30Ap*O}Nj9L5+{ zVGrcl#UAdv41(lNVe$^O2kO{es|GE%8GU3JeN>!_Y*MT8Phs!HDZ`&M{_>MNV%Q#B zS~`c*!AN^+@ZLP`0V-d{8M5GVvME9=*>h5=}vvZPW#Vkcl?2R9Ns0Z;;(ff8f@vIkeWCo;*H zVNAkia;dT3cH_D66SrShR2Qg>6n6AZ*Y}o9jx&z}Sy)v;_)e;;_b-K8?tB|`fT#iF zn*9WH@Cf;NdR$e;8qc7E5Vie~rO1Po4jkxqNYH@;JPa!h6U|y*G|G@0umT^`aAccY zw2|j!Q8|-UVagdBpH0+vm(HzSwpVRGeti2+ z<%C-j&|tEG-)J4?o4E>zH}ERyNV?c#DV3-!R%eMIM(?Rlj!s{TXQGfXs( zP@t^G?5Hu3z_9C!B0q{L<;;*moE&~}{un3pamtZqoDeO3I!@^KkH~slhZvELD4`=2 zs;(GO5l6%T5=#6srLY2Tm8`Bp&T$1kt`LKhL!zq1stV?yQWMK@=^3p*a_x~8&gLIn zd&Ib&)7WZve)F4R4!{5XZF=rFX6E_l+wP+%m|hp=_m4C~In?qzNddDbMvBNt%4Upq z6hl^?hBiP(@gqIBoI6w5Rl^hI=)}mbzS9UlarK>7bMM)gT>RemuuorjPPEw9A?~X@ zH>`!2t)F>>HWW}A6dfs5tfC>c8s9^wGZl(fa1|**x56>hh2vBzgrwMtxqw`QZqvDI z*0qq8P0TPU5fEJfb5k@XBRY}kfm62KLeuqE8}wDQ8b-5uShNb~92lI;sV*svlzMB5 zih}tQLxU5B6<|!Jv^q1=bNke^!|ln<&Cbd8IHsqJLz5HcpOX_nffX;6wuqD?%@dqV zyl742zk!!f3NH-oD^Fp95xvs>D6DR&z)pmVf%}NzBfRxuV}4f*^j-VJ#YSfs9MuH= zS$K|z{#*A2vSbF`YL0@Pg5rgit<1C+o=cFW%tvIWpg?8LVK(EK@kJPP$S}w*nD&G| zG>ZH{CsfRCgWC^Dp=P-0kHP@rb8 zn_hI8l%-54oA-F~%LD$9arEF(W614kX*xQ!VGV64H?%~msvc%K4@UH(Nc-at!Hh!L zcM>%L{j}2=G>90sVaTwIP50Q=X6CqN$S_tsQ$mq)JGIS=FlCvQDVVaz%mjjE=^|k= z!@IqBH*0qk+78ebn7*%MY$F*2s|^Q|uaLuH=Fu4@kV#}-kW8bxM3Xrr;O`_qzSo%8 zdvxuVboFzuB27nEJ;!ZYVgdy{~Rb0}r|4c7L;4kh8H9V!aiqVC{f zgrD;Q`c@;;duoPAp(f(ud5(Y3wsLfC%?f3W9`RSnfDp6U8^%k zOuZ{(Nhl3MkJUP~La=jLk4BU$SrDca)6T+E7o;4*9AmGu~T5W#~1R3J# zvJAJE2Z}RFMSGOhiqbwKwSY7llv!11hUp6^T@|vaIvZ4ln8*dIJSHzBHV-7lt8;cN zA>BF~XwTf-@&gat8y#<}U;>(%5oCOP|0}QTpDT-xH8zgL%l1@PS5;R%h%wW?$MfXP z^WxWlE?GmxW80j$Z)EJx8B9cPBZP-h^~v)aL@Pkx%4v+>xuch8;$ zy3wb7z;~1VU(hE6NTvS98Zu&NfHf47?RK2+GrlI;6#-x%zPb-}3V5D8Vm(FH!mPu$f``gV*xN3 zalkrA`GQVJIY2DhfH~rf`ABVn9Y?1lpgc99Lb~*clQX{YwY{ZvIRAHWaQXiG<%z&6 zW}n}0JSxuoO@79{W=~(=o=@-`+~lc|dEyCJ;P@c})Cs)Fx()an>H$Ab)z~sBFc8Ep zVD5)t!~Or*d-DLfifVuS*6p6@+4r8FeR}qN$xJ4beVy$4M#36GGK7$Qfk03e0~i(| zpdg4(78iIbJQW2Ah>FS+d^}K5o{9?({1Tqz3+~S)J>SpgRNbYgdu9?u|M>kR+^M>^ z@2xs@>eM->&N)@ZbG@Wus zWgDce+@B<+4l83uZmkM=&3$P9;^irc?Jb_tF_X=`@%{OiY#7$yXiuj4vah`_+6(Ps zoN6=4x|us)IkP8je$eH%*Ys!8^wSNU8w-~7C)-PZgWds<(u2!s--B-KD$$D(wG83Z zx*ppf_ux$qv!g(6z${Orr0Ebm)g#xB9Pv=wB-1H9wJ45+8f)wHJ`24)&S{l2b%d(a z6x9S4&P6J9wPAZ<=NU^2`zkKJw!Ck7Z(4RrW=cj%d&|I_?2N|RRqM}K)z+IE4Y&Qi zta8evN$um((r>wb>c+VZN^P(Q#_gKE)NbA|cgwbITNZDNrUV~to?hCvX2EL40_c5m zxc)ZJT0t2Wzh_N?u9jf)@`i!qQf8QwR`DIpXL?`?wv-6`{IP52_NR`kPb(;^E1NU< zYCHJy6Hgo}s|}}}9|O0;*p&ES-#N600ipMtdzjbafr)F!`v?`~`K%c0h+)C~Ufkz$ zuVeV&`QG(KEWoVM39NwjGqPXalUQ*o6nZ$(FOQiDR_oLql;t|N$6~TgE$cz-8{JuhIg~*6$K0WX64O;{T~7Jx%BWg!51CyiETi$8*=hl| zKE{o_NQcjqfaG-W3GB!rSZhk)xh_FVN+6-2Pw^-T2M~jPtRo=Aq;?!9t~Z{%#a%`)3xKC0bHXy?m1LA<7i^= zc{Lg)#CWsLu#P6w(WHY`hvX@Dkl@0P{L$BJVWMK^&6?Z2zuUiT3%BmFt-9HpxGZbb zgpI?tv?dR7KvGIO>hqa9C=P&g8`OP93 z;!6AZr)JhyTx5^mS5~i=tzl7{+Oi?`>_(+}Izp+hpMU=AsUe(qIHY=G&&hSuQzN6-0>q@?e<_!Ge`=WV@M`0FyzFwY}RrDQ~ZPRD(j^e4onkN4>3 z)D`se8`#b6`}^JJ*P7>uII<^+ZgGc{b3Og)z|j=Y1=cyBt#IIt;3xO!!st)lgE(a) z(NB(zf>(Ly&FUnmjJ6 z0G?=9;Cj5M^~8uib`LEHcuKIt`F*S0saV^v;A1DA6!2tL$&R>WR-a&UGQM_)dDGWk zNR|wI(EaMiiR){BuH&-HI?jpiyK*qMzO1Y^XZn=ctrH8DSD&LgW8VXAUcTiPRX=1k zHl(Jc);Hb1y{YF1w-7)0&t3=olv$r1(ckXjCxHcfwj`rMCHmV*7IFS|VyXm~qIX@W zq6Ac7Zn}_}Avca9G2HJi>H}=f@w8#^kY9J`kV;*+^ZlE$Yl(%alNPp3Dp))pO9QtH zdHkiO9{U~DwR~!Od+&3yWD_{x+~b=xVBwjE?21iO zrfj+ft2h&|VGo^vKb~jf(jO1&Vx`f77~%yr!kx#OZuTf6!GPm;(9;BgWtiXv`ovP^ z=%a5Eb{$5l1#_4-$eG~YRFxa?qr32vzISKkr{k9Q3~wrLetKb5I5MFzqd7O68-mMh z{ovsG_rIsHt*tS`Uc2^^k8hh1judXq?K$g1d%qC->%I#v*k=}e0I*5mrCisTYdy`t znRuT`0?C`XjMwy0wYmTpqL#k_%_9P!{D4FGbY+{HE@WoNjdSc8r}BvR0!Z|;y?b};jh?Y(%Ne)6zp1mcDXhBnQVeV!5JvzaCx{2i(`?3L44=;?wBG0( z9t|Y;B|Y7Lm`|VFFB3FC55BbCEF9!bylmO$cu9gAy)XmQFg zODtM3d+vsRpL?t$;uAzmU$*w|^Uzk>93B5Ym8)Ui{gC!3i%J(4oLOia9itoc4lqetPm3!88en=& z($d)P*g%z)*siQBHt78Gg2D67r|kCDwvO!2_eeB>LwhT56p9pxHw?yh2vNdg?Tu&YeQ*s0=b#o=osjN{US!x&k_79`@*NLYDL1wztm!z0io zbs%vBNYw{Xdiyna3n6Gf;lFq<{+f;O;+L0}W3{N7lM-$&x?=9?WsBj&|58V7Afb%^;bT1=Y5l4)r(mR7^IPKKtib4E^4Y{wkC??gK&(hku6zIH@uEl*}od-L;&4 zOW>yo6M8=i7=Nt&>&e%$Ya<7jOzXu%Bze8p0FhCq&0b|188>5+1FTS0Dg!dg9Axk* zk>Pj9y9?rpkZ0GXM5eav96Xd+)>2hDE&@FYOX4rOh700rxFCM5Ud7M0bH2&_c}lG# zoc8G5vz)dk=n)A9XK(sMEd<*t3(b1l*=t)ex3hPQs?HWvOtWAMzXRvEYF#{_DrHW~6`YZaXcN z>-~o^QxC~lr=B!H`uwxH&)MY=AKZ7L3+<*J3I7+Dc2@?sA&K=haX_otjFwNBZ{z>gG(d+2?@a(_!S#0z2S!Z{NdA9@Z;kGHc zXCKm5<+DwV8~UC4gYe%rX4vo4O(v z;2NWlOz^JMOv#(+@gPRMR98=T@<7J)y=q$(1Gx@Xiovan6I1l0lujUSn!oX#g4;>XJv9s3sHJ)sZ@35aI*Zm4|y$l zpKhAlh@ZWpTZL-pq8;3ypv1a@qb!Z5(5tbeY*P~ zsUHCp8#48G_DtBkt3jXFayJjX>o&Z77#Ch_L_#b5yo8O?yabIR(?|u=z)n738r)w> zZ-S76R8P*SoP{y+sIE20^raGa)D5)5N{MUEi8Vgqi$#eFs-AO&J9> z3(v{_&@DxGT{j#(*sg5oMSB+LqXUPFNUX(FYntGOu@;@~%q_uk=hxD`SPOC}9%g7_ zErN`-U@!qayv*rXi*deKi=Z6frSPz!1laj_P~I@Ch% z=LENB*q&A2vbw%?>cJZ?+>(})f^*eU+MB|SJ(Zbhjje0XK67<{OBW(KBUwhwR+)0Ei*ey?B;9Ey8f0U*PVA$d(In^meo`*pS*8i$`rB@X>lVg2d)H>X}}0`Eo&A| zMc0&Bh#W2081q5~WtcG5SV5YIjBnYsJ2+?87WXp-if(5FK*8bDzI@4&<-BT2N@{rJ zXJzH%Qgb$)btbH+XKh;4(zLLtMgFYI$;iyekv|x#%DPQ0RL=spvPKhIsK)6535GI% z8}KsPzzsfEi=FK;NZBL$U3RZSCT zj4NrWtIqBuyf>lmp8&ia)@>w2&Cwiq&1}unCCV8IR&D`a9s7g@3xEx0Ynu&ey6n+ok% zc3|U)HP{db#woLZZ=b5DF2_kdZMhRmW{#h|tRvdcxn^#4S6x{KmYGB=s_Lrh?bhPF zV176f9$#5Ap`)%fC79aY&@&~guq?MXQdLqEh!id$ufG}n_)XAH29ScY2srK2yO-$g zrW_0<=*}J`F~H6;N;3Dk$QE27vd2721x-1$#X@;N4YpM7>xb-yLKUbB^{S~4-g#k9 z&uOU}2Gzp(i+}$5ocXHoI+Uuc+tF`d2Yj{G{-dBWH*Q9Bz#4Xwf3G3ak2g0a7wz`symospSgLk@DpHLU2}JKL}O!_o{#W zQhG{eeN!onJ1Z7XnNu(;yS@tll}D;Vi*o;H@7z^UmsizZF?n%YWp8nHb!jkCo}ZTS zJz(t)wC!oMEdmIfuIpfpI@E`t2Uws0!#J)=7`CnMCAp_Z=poHyUJqki_3Lw|~ zh*qj{F5rc>9eC}~#Yjwegcm1VWEew2?y`9{*_pBY{~ivC?5CZ)R{0x z@Yl(W%xeT&Wk`ufL_3ysm4HIt0%MYuZ@D^?0@bq&swbxH)J4xlW;d=YaRqQ3K$nc_ z5bmfZQ6<(n-6PGY!;uDhyL57XMm*}_9e)Hz#N`9hBkl8-wboTM%%44benUlF>$3S} z<>h5^RaTUjS5&Gw(>m)q(t{Z-(YF5nwrER6FukL$bJ{P83)2gW<=BJfvuY~zA{L6bg@+mCbRL2J{2Mx zbXTnDjvHpzA#}xw17-6=PBW#IPYKm6Iz7|S+}wrB?(Djh%Lw{EPt`3}%Os{q$U=2M$V@)R0Eu)}&GM%Sji{N&A38yO4Q^yqP z;8lpiQO~M9qssK;Z5U0a!+)P3(>;k!UVA70JPBNmCeyuo{U(HymFX?mo#GT_IwX2y zBvGOh-kZ?(PXOKyYT_fvbPrx5)5ShOrvL89bneTdWw;*gl_*xj%B@&<0(M7HsKV>Yx%H4^4tJAh00|i zFcjLc#CZ63qe*eqFoG0cLLKT3wC!oMZEQL2wa}0A(d2lE@j-iXTzJqsmgA{oiE)gp zPk@ftSEI@CWGxvk$9oHh$#Ema$+tf&^l;#mT#V25WcSBBiB6hB^sssgyzk`XxQ98<4l%kMcOo}EIo|NM$nn=k72}|Xd(@!% zGW3$aX>K0Ta-8gd#WU0@uF0GFQ z@(at0%krZoxszMNb!&e2w%SpV1GCw|(3_td?kO;b1hzad zd!C|;)mkzKB@OVLNi4m?n65`)6(xu0;d&0|#um$@+HYcTB(-YppOH5?v#xS{ZADeI zvb?l7(v&l%I*Ai_?38pmGbxhzm zy$^ly2x!2_WG>6l^J^}f_Rfkk5lmhSjTHN9hneQDy%OR(fpSq}i`ge}S)Q7ue@{Aa2q%m5N` zUXBr_aW3-MqCCcQNCU`)*PL|II)sG+0xBm8W>S!BDjhbHZBC9<>x5~!lQQeeD#|Nx zG-S%$>{lLugsyAooVfsqFK-H$RTZazlG4(?HgkJPbzkrJ0pk09(cw$1&9PGpA0SS&u`h=g%l9~F1YObezpRyFnZHdRTswzdD+;)1mN;^O?Yg5o2Qg0#X&q%f_3^J0$E z&jS~v8(4<3!7>_zX1Rv9cub3eV4tnhv=Tz9?ZF{452k6YScU<(=dj7J94``Y2Kc&1 zH#0OPrGa$VHnq*88$(DB3FQb4f#4xap<8`ftvw}KS~Z%SV-^UK_l4Gi?JLNtX5}lch6UQHpv$iFzLbE=QB4UcFx6F*kxG?#7m- zGZ1~~S-DS6md+bllmh1a(EpzU%%jOt4`y#B!a1?#ekUhOxt?3>(to=wO&wE|a*U!c z9sv!EAxjO1^jhde22hp;lgd&ZPVuLvedL`Y+0JTWsWS>J4kEIY`84-X0z`^mZpv_O3^P5 z$@pCkSqhu<2(r|J-pEq15i$IkvJ|TxMWY%fNmag)q>!V)(-$z_PDPG-b^2++k)zF` zt)7Y;J=uBbDaz5*Qxc<)7|+FZJ{L zWpUp-zmHV^8P4}3)Svi!eEIRev;E8C>UVx0ss1zL>gV?>;=Xr&AF2IkneRs`|LnN( z6Y&%Odt&{Gzpsje&-r~M_|9Sd(6P#`H*tK?Poa-g!)=GvN~Iu?CeawVO*8kgW$K;A zYot<(t7n-hU#ZsH_57amw@iG>wDbjT^_mI(!_cE@Jmsc;{DpBa-21x*X%t+l4sSuL zq^{p9+o9L>%Nlpc1B6^6AcQ9^G4QfCydcmztr^#SX$1vo<0?BNRe7o3AGcl|x##%Z zcOO4~TS-Ml$!$0FjLRx*D81?U@o%=kvy1RMw)GX*Zab~1*cJM5ZneG8S|qKlGXOE| z0zgb>y87~LT6Sk!UaM#F!Awh9ZJ~v!(!$yJr~r2n+%e)9$DyNedTtAh4`wFbs6+95 zvju4#+KnYEz)lNt6Xd(;sA;AEH62>_9Jl1Tc%R=dV30L+mg3$XguHbrIq9so2YZrW z!;zxmY9;>m-jSU=g5oe&Le_08YtF8WR7A6L!WHE$b=@Tu1*KIvx#7~vmXEi!w6yUm z$j&an^_%W-_0g(GRd!Y|C8egkwr%E=$unn8o-(tkwz9Rd zR{qS|eEi&VkCWDj|0RO|R^a~@9tS$jnl24(K(j~=OnY3cw-CuKKCCzJLBnvYx8NfW z>zTkl=PZ7#6Su8`$40l3FI(-%^V{)AC!ZWn`$3za&TzzpefPWDs*QrjCweA->bbt6 z+(2$o@8k)6`8k2Syq><%(D?0dezT?Jo1M+gotN!x!hic@tkzm@1AiQ=g+Rgw=qqx@ zDz~%YfMZ(j;?KlldQ@xX6GF8Ny$lGwg_ue=P&#Q!<|0EJPy)JS%tQVQ4Djb21B|#8 zRt{1+s`armphwaY1}3kOkyLx_X{%SC_Ag2C@%HiNNzGH6znP@z7`wHgo%x_0_HF|_ zWe;+AIq`f9Fk|bPGSrS~tBZv;5>1KR zfx%T9_EP#5Lo=Mcl(^>`amAD)j%mM(D`QplD8}s2Ar!;D_Hf06)JO$mMRV=r>?IOMkJj*P(0ObA0WEKtWI^u`+@G(Imd zB175jW#MQwIa_sf+&shE3}){U`7yJsI43lHJXzWJ>7nwO9y1gCW`Gt~0KXwnW1}_R zx}T=UK5K#up(q*?LSvW`&rCg9G;RwIzkcbd=hz4omVy)_#8dGx?d4pOktz7F@PxF- zU&!-Hi*tpes4qCjjI*!jwcm1@x+nd2$Eix3bA1f0&&H=!##l`IjWxls1UN) zoHG=uyFPnD*0_lS6VJ2@njR-fMjKPwQ?hgNbMSvQvW*`r?CJ_c>U*co82|R<$;XdB zdDi))&-%)&{9?geab9L+!`8|L$G5ah-^_3*Xr(paWz;*k+$V~@?%^5Tt?26U(s+W* zAU>vCPso()hG~aOt(_dmoxYK6!c~P@JMk*1OW`7Z5U7k1PE1xI$3-4hW^r5*xE>`o z-_zO%sjgn$YDTJ$_H4#mP4X5ava~d*!TTLAJcgY`L~{}UK`2Zj*@hrov#`3hwz;-y#jNVwyu$3foSeMuyM##&K%4n#ZDnJYo!L=UUssutpEWR; zm7kHDHT$sUl%myeykBFzseT4})VQ2u-9<;ifHhYzSq~72Nv6akQ!hHyOxiqp^f2gP zjL}%+X?hKUK0GE2TxfdJ7;`W~>g)wRCd&KmNQt|n5c9pFRMP81AIoSs8e6fsCJEAh zJhB=y5*lwDMUMfE+SqXFZS|^=x0lkGUSzgo;`W^xE)|-Uj2;fXF-<#7x^FzE)Ed#RL~H`)!+`n6fH?*7 zdJ9)w>XrC(X@hCFFehjRh7d4v99hV|Oa&a2{~UvayVy~TL)90>hCMbva?Eh`@bsk^OAY0}pwW>HKss&w>aYJPgwmu&t)8lWsHK$?8kCy06HGrDh$%>IVY z;zpZyB+)A|c8RYS4ZiNBuG3|83k!%!vmEbs0+x)PoeXWD91>L>iK@;}88E0v%;>nJ zY;F*eYer5>WNJDM0H*yUXK@T6Gy`rF%x!3EJKWYb8oq)JA8)|_81?1QXC{L0^4R2J zP}X;;U^p?UG;#z1B2zMZrV*FA5_nz$BF)k>50NJ5Li8L#q|w{G2WDS4dBFIKbio+4 zAFT&58bS|T9&TDL1GgHfKE;iPn^wpd5&TL???`S(u`$|=pY8XC%ja>V&YM$TUvLj( zfao#mr_&})p4K?Eb;`Yslm{}&<2WSF-n18iu86ZX?6dkDEdmp*NkUufPU4IyamLiM z3?%3+roA4DdP!QnJ{D(e;vR|;aMsRG+C6I2GhVJN(NdYXpzg?-i$jC$$aTuIUI5sQ z*$ws1KFV#)!HgnEe2v2SNRZ<0h(qEplQO=+iFR{M&!RRTW?Pf+zF^ZmlS>vn%`K-5 zu4lWr9BhzOBuBQ@lQ+>EjKy3oScJPx9jq7CenGDw*!1Wx#bted7 zD(?D5pv+M)4KJAZDdQq#uolNhyUEf1>pN%V=auE=1=>PQwRKI=(#B0=^+5Z~{L-9Y zbzx3!X~;y-DIFH}kA62@)V-gcks-K&k+z3000og49Ynaud zFDIhk$aHZBaQl#UBc-ME)Oefgcy0oh8?(b6I%n0Sva<8~0%P<|u%q?%k2H3y-eAVm z+px)K+bAuB->3X_tfQ2-RKb~Mo7A(CCU`W=0P&Dr!2wd?8&lp4&nPlx6ADkbm?(XD zKo2~vIL=&;(?@PIk%PIA4x-C}t;eyFF{Zy*FkgZ9=o{fqstxW;P4jt3vNxhhY&*4NJkTSR*X%EtqwdnV`bH=dWtT>82|N5EZi($+U_ssmD zu_=zKBd)!pzq`Btj2yJ@)0qR1YZ=eWwS}wF8 z)t0jsd^H|laeeW4Ik*`O!+W%$Y3qSw6mw?n{bN~)JV!!L5@V3xmC%yhhDMzz4Bkz8 zFGG(sf+%02KhUv2)&cAEB`~cp=_q#GC~=E}8eH5acpVa^*yh+R5BsewqgD4$vMF{o zKq&{`s6<8D4#!Pqc@g~*U3fxcX^)-}>D69Irrdru;xnpmO{#f5<6|iw zaY#Rz>Z!TQbTOt=|FkXIS$-ijU%_*zarCp<+lD+jb7ZPEdog%;O+cd|b3tP~&FaWS zk7jAfY>Y&RL+ZTKIJbpare7hK@qOuD4DX-GIWBJeBEy zNtc>*or{qK9y@_lGQme_{d~~xd*CFNZ=)tM-UKetlgT;>$ zOl`;NS2r3VkqK#Le$~h(tOt^EBgYv!iWxr%ZxUXl{Uzy`rGOV@L+$O9-pWQV1>BLB z&`Swwpb5zIIJm!;M(+b|{h_T270A`dh~Zg0+%tj($qEyr@A0COz_A#NUm6*YZ;J&v zI10jqS06C`q#Ce@r-s`JyhtF^dXH$wlL8^&T^VRJYY#sO8b~casntZwK*bV41ddHM z%l@mto^vpMh^~AgKrV)W)=ipayTu_k&CjKjoxVAlS6DEBKW zTw+1xno0*l?3rssj^Piqu(yeNLT#Z@mahSaiJ@>3Fgt_Y-Dk&5ia7XvNgqNh(2)sV4>2`?!Uld7hMaAW=&>3XWcHwjpi@ z!D`EFJrJuch5cib9~iFeY5{{Sa&Y0dsnJ{na6i>n*A`V)7LBG!kmzcg*I!YUS&eR| zuYj=+w0l>8`@t4l=K2cCKzFozGo|Lh)LZjqaO6>00$LMPiLve8X0?Z=RN!j3-JAZH zun;Cs1<^Ylm5Rl}AzjWrM)49j(>opW;IjaI%nNn!c?rZtAkhuj?*@~H)9fFBmGskV z3@0>3Cp=E6s9%W0NNMl%J8#!;3Udscew=&JUl>t!ITy{E5}N(7-Lbbnpnh5NX;S!@HGLjQ#RvV?VS^tCou#RKH8?!;iqW_#P_l;FhJ_ZF+pS%InNssX@Rgfd&4GSj>=v(cwGl^1Yw z?P?QB1Oh_X1;}oZLcY5g=bT6(s)?0IsjLKL#=+?;GZSTEF)Hb#Hyn!eD?l2-T(qW( zMGBZKGWLYJOW^KY9Q&RWIUG)3+qo7OHV~8vh8O7vlpw&SzTW&_3RDD>MXZw=SfH*! z@QF2nvOjO0)y%OHf9{}RH|YMyLEKpItC1lDj*WoxfoPJrvZdROUwFun_)+P$6Ms2JyRVo};?w>C_;+30itpvPhYIt4z`{534eqbh6>;VI(13DzUK96=6?$>YHT>I8F9?+a(uo*7 z$hjvyh*O67X#%j@k8kUW&$Tmj#pE5M*5juaubvuVCbIQ!Ts|CcBteMFg z`jWjQ5X71g>|SAg1FLC1jI}hVJ?=L=li%1FssqN~n zl~ZbKr>yMCNt--x-sH=jA%nWJQTJ-6Zib(lx{FY^9^+2kxj0tazE0|9l@~ey z#MON{YfQ^=Ah_CBw`I*jzaNCAhjvGeriXs77~bza({0)Ow@>!z%dy)akH{=FE-wf- zROaVbHiSD?POq<@zOv&2U5A}1pk+krN=xe^nVU<;EgCm&;kZ%_p3t4Ie&y9q{#NcE zZq6AaVV>+#e`+Ov$wU(oN&YGbN4K7Z(DWI zq6ur}j4v(#4rHtj{Y+)p2h}oANH!=nfPY$B2tcOP+8;f!SuGpDm>&9>bqw$AcHhfL zcyIS%yr(i^_o-!pNAO;lQIQ_bILcn}j zu9|DF{kHs%mh(U23H74={nGxEsaIp?oz}biF#lt{LE!U;z~@zffc55bWQ8DL_2i7; z2hbd*bUZW7eF50UnS;Q#jz#6}%_;aH6=^!I3|x$^%|V*YmBL=EI^<(mdPf>QU{8H{ zEB*yP^RmE#zWO2h>dL<(EYN$MIi$dXp4b05pnUo#AgMyoz+9IG;!b|i0k@=rR5X$E zYNo)+$y0+4Rc2&%rhFPt9i)=N-Meph{x?JdG67tmk-097oIG47M=hramnI^RQ3`12 zDbUdEZod_B_ts2IZS;ocY$mCQDF+8rr}@}nlhgzW0%{@^@uY3NAGk+N*?2~3B2^V2 z%^yZpVc;yDvIYk1Tfa3E|E7K`_~N(dLpuf-cmIQ7^i!Jyqf2pz566S3d7JP`L<5nx zrONgwkZ&nn9(7?nfpe0_sok*`2S6St?l62&_-FEO9c~)`?e4=Tup^N0$djm7&LFQl zrf!Y>;jpRJ{dPAnoD62C-negdwdDEar?t$2g zYT1c3_6301d~51W_|~a608F{x?mp3DbFXgscK1owd+XuYAL8rXjWL)U=Hd0qw@$t2 zGRQ*6BKej?Z`x~__8J=kkCuZN8o>F0M*@$WxP$UhWl%nj_$?2-ka^&+Z;w)DTE|YR zUPwaJd+acV^G;JOzdfmXhkeUxiD$H!vU)hK?BV^3nrm^$TdjdPn|tc)jwiQ!jNB>7$TUO{Rt&pEW)6n5$5dJ{C=d zr$9nmK{sO{i++=|j1cXVQbv4V$CYuE1KNydv_IWyi?ek)a0D^7NH3nAl1}@k^gk^t zLIW=j)EcNT;QVDau?p9IY6Grxz{QoWLAOk$%QGb&t0gUyYoK>^JE@l?ZKnex$G@g& z2QGo?575+f5pgh$)J~17lV~R~2j(zxJJZol(k%~-8MB?Fh+%y(GEF%Bnb=M#!r^u3 zPbnkSqbuT`vVpjFc_nRQGMa>4+86x!P4=JWmr2S34%ZrxPOLd`2f4V6RimG$TZwcPU#8ZvO_^>hYlSu!|_YZyA_YQak1#O449q4?w4NDJwD`%lawMs%m~0RFoS3`5}Xcq`bTtw z5b-cVS=hCP8*_4coeDgJ1P@eFK#2B7!QLpi!QOm*F1kv(H760bW`!KeG&nF5d)cy8 zuaIL!oY4~_1fTX)O=G)-o1(hiwX6@)-r(HSH-miH=xC@-R z+C>3l(`v~)JbIS8M#GmBZA*8Kh%YKh@$fIhIDf}|@CTvpe@GwP3OOj%{R8?SL$p!q zXYXeVQr}LFmA_x#7~J{$#^`yO+;48UKip4Re&X}dHJ4jtI)c^Xy;LZ*T#+F(OtwJw zWpW&iP+tPA`Re01%J9Tuk{We)Y3U+5kh2pRe*~u^*C$Onr9KpT9HS3WAHyE}XL=-Y<7=-%{bC)--g@eyD5 zNz$vPA1wp2hSM!P2~;FeKW30Fw_){=2LAfjuy5n*_p5q-TJnh5>_8v`7Vd8dB8sFe z5lJp05YgZ&X#)Vps3V+|8MSa291M%__kpJZnm#bqdT{uukV`DIa?Xx%5P}d0XF^Sc zm?^NRDrR=*%*zb_7@79GYP}8`eJp!pYt*qk!q__X`l!$Nuk&=@?&YC*3v|^ z`A6_$ug;P9F?{1bnd8_-AWuN*oEOuAO+QfvQomN?AGOrf{k>*ei=lgF8-E09z@e;S zS<>#8&}hB~?OSMoeSGolx2tws^f@7n!deU+Fx&VNMk-TV1USw$)Y`k1SSDQoC{tw& z-3;a88CU^ARs*G>1E=;Qxt4woe9v2lVPbqj_A{~L_y@n8Z5=~dyHBYs*iRULL2n*x z>uyn&4d3F^n3LTqa8<{7uN<#1&s(FO?#w2kJJUBQ{>fX7kIuH9hOOdO$U(NRBS}9v z?ehBB2If-1p9veUrw0ZOYu{u_k@zRUoL~n7Z0Rh~r;DefQ#>zQBAm43Yc{7n0iq8n z!g>PUG(}iZ?lNryj4Ri(7l8%=A6+wgKOw-0V~~MG{Ciq`@fZp-^LF|er2PUbR_;-o zOEr>N`@m$qLkge{N#Bw<9jLi#STk#Sc&N>3e}JwHHN}n$99Hee1^_>;IMM{iX64|< zHzx|A7Wz!-GYX(=*fY(H1QsYWOYbul0jP=Ea{!<4i9EaBvBBKx;KpYUh_^Ql$Bppto8k_F7Zg5lEVhJJTG6tEZaDq`tHBKp zWitT^{9Lcu1Jn%h8{VTFJ>-^LGCA%s z13POpZ;~<%ZXAiMS%|C~NE4_*8|cwAAdJpuDjJ|9&=1$oI-HAjXthJUWlN6H@RnhJ z_C(%)pa~elKL0|dHSQ>Y_H=95a5GPuc3iK6upL7_U_6FL2#?HUq;=B1)*e15dNE$U z2zSujl3rcSF^?USc#f1JWBLcJ2!E4$(sk5Ah8wj&;YuViO_x97M&jA zjx4a98!S?BBR`=#-{sh%N_udRC|p=LWYA{OC57Gur#|`5*m92g zq}xb#utnFCMvUBHga&XLbjJ_FOl15F_XKFwfJSMD;|di5pNx+o9UcQ$1b5f|0sFHM zMgg}TMzTpHNT!QZzYjl+IL$`eIG!>{`M@c|AS~3Um%fp&IeeL;H&;fl#O81`816=8 zBz8oo6daBrIQH8lRL$k2-9~O_((2}5R`;yP8)BEx`6=5j@-mb0jSlw~uC3z=wO_*tVerdL*q=ozP-;SJ;24K!U>me-5WJdp5U*<~ z*qsO)b`J|>y zzKL>BGIe8TRBD-`TbjnXt;0Vt7KMWzbF6b(zyQBK`6BoYy7<*2L>GoA9oESy_i!of z)JYh;QKQ$jYT6YjYCyq&B89CLvfWMT6FcHInSE}Wt@(n;y+Ugt*YfIk7{HKk#!ez% zVBO?E3@jon43iZ}vkAnwu|J-}5$IdViEK3eClR#Gx;@XMH2c-@~GUnUO>mrTdxMn3e%X zk6#9~A`S+9CJ}V#>s;WKl1|5E*B}^p3PMd87fTu1z5cSrwYAgEo7*_B__Fog1C4Xf zn-;rIbPe!)#>Pl_$}5jC0QC1_FAYXJ=8x}0bT1Z|;Xv+umBH_8YgrUNKS#=C6)aMZ zLy=QbX0}&m4$6cMfpVoxM8Has2qMn!Rm*%Z+Us2?)j24V`h*$VQf7`fIC4}X3K7<7k83*dd{bc6{J;DK zi9-bdeneY21mowHZ2YzbmS{tQYbCd~Edpb%; zM@VBjdNCbPsFc`WnpBEPX^QOrm|9MF zq#caS5!=D=c6c!alm~1FqjuRh$5^H4YsuqwIXlM8otnIEH+@u29dYe&>hQHgDv{U? zNIS+FqmCr)Fm>o=a6FhgLRJll#Q2T8`7xu=oahYg`RyaGWxJpV!sQ5yrnC)%jcp6* z7zR_04&e(RG=*!V^j^2zi#rG^;tU4=>JS-IYro##C(JfLX{2Ei{(TH_8Vvn$f;2F$R6E8a?H-x1o;bFf{F?k4 zd;N(A@ao07P76BJ`k?{5$5?L$H|Pi+Y6pDt39=zP*YCYPtUSzk<*m{fzm<2a>xaDq z$tUkzA1iU*QSHOtao~c7)eo0?ex&!F|LgaCaM^oCc+cMR*Kxl00$lNt6dy%@xyk?D z$atd#$iYXpGd5hlFbvb#Cw}Y1v;#NlsWIMHPsOJD-#;+c`v+pz`QL9J>wOTM?|ti) z(cTB8zk(Nh?X_+nI!v(`mp-A`Zx8s`giqx^>g(r^~b=+j;cNCf7PEj+|(Wj6ik#Pg&HDh zl}YPOI>Dr~O}fCOXP9)WNw=Hya+6+f(jz9l&!nF>=@(73)-5YtmaydWT6rZPJHL`h-dU)1*H(=`T$B z8|Z@SrLHflS8=@s{w2<$SGWnz_<#a28&g*@)F!aR4(8O& zSP*fWJX?%kS4wUde!WP3osVCa%CisR*E{7|ot3RxDD`{s%~3!F1#& zRyL+1ujB5wxQ6n+te~YU%wbi&xsRB89M7TZ@VpCY3(`JwKgHb7LOLJMS0i1D^mKE- z!Q2lb-G=7}knTbHUZe+*9y0gWA-x&*cOktE>AmLuesljI(ueW)bXPdda?@qH z8=Mxo>FRgs{Y8K0^8eoOk5oQ%nwMigvReah{#|sM9sks6v_yIrb(+Vq3N%etQa^5; zjodm>Cq9YX-I67(Thutla&Oq9WvBRz_kwfO-L8x zIve?|NLS*z4EgsX-G%Eal?^FkMvPo&mjK;q+h}H zI`Th3dK~F1NPmL#w@6<>`X`9;Or%3d^C8+(@O%hq1otUOE0In?T8DHN(iWt3NV|}> zAnilC0qK0CgGiSm9j=lb!t-r-ejU<1NVg$9fOHSi_aeO?>CH$VM0y+2;VQ{@@cdys z|1Q$UkUosmuadll`c{_QRg@>IBav!e-%iM= z>5hzaWwe`7|LwdU+wJ7s5-xVW^F+G$VVU##DSo)h`Od9I9dRDT{*P0mSC6Z|Td3s@@(wi?YTjEA>Vzw%l-e< zQQmzWMZE+K;isZCG@;kTgaXq>rfWFKbd4#QFo00w*oF7Rm;z%+rfWjUbj>Q6t_da6 zHLGN56ADZXnXXwS6V@GSCX6jWw2*j2d8c)g0Mc^Ee%{w0Z9>|Mv;*lRb3en}&qcZz z&(|SciS%r9zscNFf7ylSmm$3f=~d?b{pS7yNI!_@cO$(M=_k$oXUskInMd*b8%V!` z^ci#iyt)4Y(x2e@>quWgdfeRq*4+OI=@4XpCUk%lr1|DPV(u%E*5P><(iWtB=6;H~ zpM`Wjp07r_6zS>aeuKFmM7j;n4CJe47t-61-fQmfH}?-BeJSrT zg*brUC2BL&ZoY#z9z*(FdDE}WXzk`LJpUCUt0^E#6PD>KNbP#$Px-XPbbE&)LS#WQ0)r;j|B#W!P>Rj7Di;w3xGoAecwj zxkT?HRs~uB_tV{aq`fu#ha?&!gva+X?)wvnM zV7<>?r=GQcff)zdl53*QtasX$G`B5jrY%{P)0P6{ct}l_Isc-_*A{CEe{^X2Vz*=ZS>k%?vXPKq{s*xsqWZa<5zn8N-r;~&;K>fR@F9f$b8PpydW790Mvw? zb({JlFU{X@{%lq2j#mx6407ula4-zJmmJo%htG?ym(=E#?gdGR^EoZ>*R$W)A-S(|WpsXG7i*_T{0 z{qjK8UE}uc8+RAc1{f9qh9bbQA`XUlN^y~{Nd{F*m0+d1%DGOJ<0a$vMFdU$jjq*R zU}|NZvr%UT_yoq79AgSGkLa1I0QV8a?z1@o)!sg> ztvr2EIIFNIlA9YTD$EKmN-uAlZqJT(PcEykDX1vQ$SA5PsHrcT+#Qwn@3UvAUjmj~ zN=09MskGm1wuXhPt#r-YbX8a-cfG}cytqBGr8ccRJG(rsc1xt)p0#~q!?r*$7}(Y@ zaXX5&t^4eD^+;ecVu7oz(^yl~9KKfMj?0?~5PMwL<~A6aUCvL-C4*B3UgmQ8EW_Ht z2n|AL!8R)YXCus@8FP=3QOY+gM!O*jweK6DLj#v~*oG5c_0) zb$fYvdv(5(&g{+QZ>Uc7uL$212tSXv z@%^247y|q?yoj?1eB)nriJ(^KVr~|X@I-uGh|NjgIxY1BHosQZw}v{^qu|dK)_AUm z(5I{ce|eB`;g{w6Fuo7tdjJRqoDD38fFi(&K9(azg!1~vW9Qud-cV#ZL^h%Y2{hs(GR_s}ByH0#TdRiWUr*bj(SJlk&X zv~Gv&4Fy-Y&;HF`Zmovg3RqnGvdxrHtkSC$wYWLaK@$5$M=}>Tu z`|M&onC@jJu<2VqzcUOJiHG8+) zxow@x_Oh;z40T#Jg0@4!bKG`s8(MDNHuM<`lWdlYGhZO70DTA=(rwg`)>1)ILknUt z>&rvWLJrm9y;S0dO1Q!Z2%>Hq$0|A^u6rE!+=f7#tR>3?SDdk&p){290ytKqE+<9G z$wOJ9&H#N{jbs3N0Th~Wf*2V=i2UzJGGyox>>s~q=-X&vHR=p$*r`i#)P{bCrsT4X zU$76;H{2UZT7)?GvMv8&T!y$p-TjOgg)g4(mbQB2r2c38r{Yry5hkNFC>i?RuW*-Xyl~xtz4jtnBQGrS)zGv)Q4=_5$lmfrmiv z`4~Y{(b9Mg*i|B45Z!@`$z{jIY1Awm|XRXBXfp`!*4^KOIaLVC3heP>)ZtdT`z5mva4FgebHJtAdj{)Fs zI36*?Mg{Wl;5qZo9R^|Gvfjt*4krcA1`hjGgYUjP)_Bu2Dwk8t@yXkg zK_>%=T%DZ?Aem-h;=v6tcn%|8o8t7rBFSh12Nj%nhX#5rL z9e=2+Wom1A`i!DTdu3&Nq-aKZdFxdB)jbo}teLncQqs^-+*lrsM55)5#T^YLgfI3J zyB{>iF>z}6qM%O1SB6Y2li>@jJ%s-$PGdg-1AR#&O!~6RMVRitK;T{sy#i|o@Rg_K zOPN&UI{_eFTBFzrplZ`>m2JtT<|PrpG8=Pd{6k}dd1x!}RxzttWWR6PKxCFBgDkTA&y6M{e>ioRlpnK7X zEdJiBrye{w`Rc%(E!sr~!W?(-QciJ`oq%IF|;fB~x;_aGl>wh6_9m|~gC%-w9_DtaVXP}!g?3r#Y z=SnRA`5s?&@1i|3poW<;oLe{d8?3pQ0Z?p;Dri{B=z(i()lR>KI zeKREkR-|;(_w#~o?UEAjWz{d9oxD(E-7;f7{=&T;|h`(iqWd%`I5M`l; znS2V%kPVqn#pG1&n~%5?LfRUC12~=p9IN8s5d7ph=ypj+;~g;QX%P*bv(j-=aR5gx z2dp)?HscC%R%*0OG~BUp{wA*8H&O2w!6&dkTfB|a-wUW|cqg&_q=I*1=X`UdIjXhK z{uS(;Uxd`1KzQ7B^kdS=$s0X?6>s#U&GUz_dA=s|t!=C|(dIeCrjh`bBg0_;0vLv$ z8GMC|=y~Ven~@>bIH7;H452@C44_Wx8A4GLZK40A9t$2ojT}3Y*`R3 z6Vi^O^AxOp3^D>;6a5e}A_t$B%)4(F{r*^XQP`+{4jUEs4xz3j8v65&K7O~8*`PCQ zN*ac2n)Je$R;kB5s}yYmuUTIWt^-{}AYF{?WQR)oNd<-{IK1*5TPI#iYMlV(ymJ^% z*&>kugRw|BFf0VVt8vsfb|s-cbT{l%1`m=UqO*YLEFk(ZD0Wm()1U-q;<8{J@tYe8 zhg)tga*YiaC7HSh7dqyK*zblT%EQql=xrU=PQX{D;VX0ClMLZ21AJuyUp?UCQNx6? z8SI~q6r7WDOc(mqP)qv`hTPdL(!{WE<@ggi-7gcRO?94LU;@L+Bwo zbpJlKiNKMQuuZ&Ue7;-uiD1L1_K8xV7PaNqC*eA!DP^JW&(*sm!@)q)N0= zNOupjQM_h799)F{Ewk1qP@t9*fQQ1xFib~@8c}yT70X56<(Ky+wOj-~Fp}khc8ga) zlN>jvj>mV&b|L*7Z@YL!1%ivkcCib16x+oHZK>ek$iv{s!{Cs`dMlfVh1A|?U{XIu)8Lt3Jv1M#< zEEjj{43W(9H>(^Z)577{GvM>IFvZKm6~%?%rc&^-Y-Nu2j3*Xm zvKM@^Bx~(j^Z$|p`@RL4D_5HT7yR{oKp32CLs#SM+pi&4h4W1>q?X=cb;2O$Y?Ah6 ztD63O?u0nZC(M1FY!hylg`dMP^;Nr1s_~=|gQpTtgYcCw66q-1-dU1^Cp+CvnI3=_ zo11nSFE*o_LgC(!1TN@vev673bSJxt{5ITBk-uPCRcB2&b!tjeWo3P5@2qG^ad8Q* z_oxr42V(2%0)^FW6%*# ztx{EJ@`zzm?IsT@SJO>C$0}3*Y4UkkWqQoy^RZ6k_vkMbgah9?L!B^rWi{ICOy0I~ z?Dv{{z?yE~VDdrVJ1JI~>;uhm;B~cMHSdJ1`vQpJl=9Q8;=uhTpKhHW_=?GAT0Ox! zlh3m1gKJGbTSbGHntYBmKIKl6&$G%>7)Qdo@~ylS?oq^ip|wBdk2(*;)TeGUd4>GV zCU0AfsSlexA}&&YWb#34eCl6JKE-McN#I5>U8P#xq0`Ot5T0LW@@dxi(8F_f?Y?yH z)-4z8kM?wr>yIv+y)-&!*WTTo(OKKKN9Bio(Y=HF2KQb(xVe+RuGl_!Np$J1ox7r| zcg)_tdDY;Si?(mv+tb^*i}r5aw|VQP z{V021^uVsY+czKBx_PjZRT9R{8!uhDb=zQc)_Lb`-MOtjx?_=%EMK=_U+iXeQ@Um`}gmj+|_m9z=6*5P|yx3r*qS;9ljs7p0|Tf)?5IH z=k40LKe~F?`TGxS+&jo7Y~Q+RaOXb2dC^W*wEu#^=<0<_qRV#=?$j?Y(J!<|9lVU| z9M>6@!pygViHkRG-M;a>?Ss(+TlZf8#LSzuGP-g9wzo_qveR4O5;Xa6`7vt|{yy<+q0&fpmm*AbHC}k(ED7HJ=fs(i5y;b;a3zlbX zw>IM29(>o0e|_*`Io~@uryQr04wN#8a<-zRT~gL*xZevXwn{y0hf|s^D_IE+98PV{ zI}ZWMttcxBxT3(yUZk6)KEk;T&vt>;C1R)@&-O~2`1O8)i1=V>JMni1%Gn8gN39Fd zYGQpKe%)$q!n+!7)_DM>@0B(kz*E-S>9*3r<7Sj}DR8@$6B^QY(=3g zY!tjk(Ic!gD&_1&x&-%pqTkwzuQiaXe2-AnmP2?tFZC0HqO+PA_c7o0|j{QW^1i zk<`f^Xa8Iv@2&>bEW!P9z)HBImRItUxDwd*;q)>NknxJbs_8%$U#|nrM#1S;q1yBC zmvFMD2#2PadFYRolHU)kMe*E^k9}wh`+hf`?n8~F+3iT#>sx@~<$!z1JNjlg9Xr&r zD`B)OKy3#A87cdq)O;Rtn?OAsLYq4P9jR#x-Z>v{?Lv;Uxe0F(vuriT`gY_AKSwyf z*n^(YJ+uY%umkUI#P4ipjl9QlHO96J1nfbU$$lm7Sk~z85DxN-eZY{eX(#I30ou~k za8Oe6HNK_CUGg_J;tfsvgpxV7i+G8LioA`bvJaDe6JI)8um$a&E#q$szF=Q#tjz&V zct;*eiY9K^>pM_GvXYZQ!&W82t;Zet3$e)Y7?r-*CGFZr{S2xp{~J1jxwE6=$rJr2 z_$Z$$oR?t@sDL#WL^$7CfFZR=ahtKlAjzfHGHW^Xi4`F3RUoM~)>;gsbtvz2#N(W4 zorT>*>a7Munl)L?R*ThYwSmn*eFjlesPsVN8xQtA0pevMY^syN=%-rKa1MG%rNL$s zhB+_7@MpS2tqPTny*x8jmdaK+Dp%#Hd{uzG@QSdiqt41xVO6Xm))%aYRf#oQl|qmD z3}z*{(AzVhi#}pKYJJiAlJ!mNTdGWzs|r=As<4kyWBb_0V(QXFX-5ss;@6 zjhJ=3WqlB{F3jJsci+v>j%%zBS+}W1?0)io)nq+peZu;r^-=3q)vQ`nt91v~8DFj1 ztWR0jK&!@SDXK$tsxH;7#;G3FtH!H7H37T*O;nTAWHm)iRnwpYf6e;3wN=efGciQB zt6A2CYBu%*9I$q(xz-LfPt8{g)IzmLEmlj^QtX<#T&++m)he}Gtx;>$X=VUdLU8)XRe^QsJ_o(-(%ds!vmFg<>K6OZ4jr|Mvt83J? zU=s(_`>l)AVRfCl9{U#Fs6L=>Qa7t3>K2@2@j=W}Zd12oH^V!uSJj>BBkC^oQS~qC zW9n{okGfagr#`Mep+2cTrS7*bQ4gqpwJuekR-eIsGVf8JwGOHW)kEsvtb5hxtoN$V zt1qaB)fd&5)FbLqg>}K|sCwM`ym~@?MLns$YW>pstNNPyx_U}|!@5p=Q+-Q4jolN! zt)5ZOTL0I&TzyCV2WHk+spqUK)PJhy)eGvo>U-E-@kR9m^+WZN`Y-h(^<(uD^|Jb@ z`Wg0I{DpeOdQ<(kbyU5oUQ@qR|3|%Uy{?X_H>_vW|EOPC|8AY9-n1T6$JPH;Z&{nv z+tx$s*XlRwx9WH5_v#PokKC+L{TXwdzgQ=%A#1bxt2&`#YRG!Swrph$+O{3AzHL2g z2kjK=J9eraveWEzJHyVjv+Qg;$Ii9>*Uq!^?E<^dE?K->OZm=8eChNcLX1m31wcG4=yTk6ZyR7r=ZtDemoZVx6 z*VlVA;`Zs%`J;|PIPqC-k(`+m;uxHw{?Ag}m>^b&;J=dORy=MKz zo^LO(7ut*L#r6_=slCizZm+=Bh%eeJ?NylhUGV>k`xf}9s%!6a_S%_15?;X~BGO2$ z4@7!q=A22Qh-5M|JVda_Ls2mgk`M?9<^hQK0;<$^DXsXTR?%9e)>3P&^?JRwx7XU% zYpq(fKB%?UDphN(wbttW@3q!shNxWn`@Y}zWq$eZv-jDL_1N#(YmYg}d(zA^^UVUY z5bNwy%p!BDInA7I7Mn9ngK0EPrr9hpEvD79d9RtJrrrCYS!R}-4zt30*>svN?<((B z?;6<~bH2I2tT!9XM)L)8p}ELx zGG8^SpV%>@vSKFPh((m(1_Y%jOT}74t{)s(H=qHh(g&n>X+?27fkhnZKB~ z&0ozs=5OX*^LO)}`GlV`wPvX z6Y29bmrkO2G@lmGLOPjFp+$5mokpkAVmgBwsF9kenU+uswNe``rFL3I%c+A_P$zZK zN;;Fey|<|cXE*-py+eJpidNGaI*ZoQ*|d(%p>ydxI-f3}^|XOD(iiALx`;N>7wKZU zgf6Aa=yJM(uB0!~X8JO1p|8+a=_=YvSJO3gEnP>~(>D4V-9TTb8|fz6PB+sn^bNX| zzDc*y?X-iwMR(A*=}!6%?WFJ0UGzP=o4!x?&=2Td`XSv%|3>%IztaQsAM_yoh<;4} zNk5_gqKD|G^f3L5eonujN9e!lQTio4M!%xR=?Qw0eoar&)AS7ehMuM8=y`g9cF}L? zMfx4RM8Bt(=@0Y@{gGa!*JwBWiC(8S=uP@Fy+wbax9P9+4*iYZrN7gA^bdNU{z)Iu zhxjpZ-x}CDSX*Law$u)?gKe2Dw-t7X9cqW!;dX?rv?J|)_EUD0-QSM32iP(8Ks(kR zWXIW0+bVmo9dAEl53!%MhuXvJ;r0kS!5(QR+N10w`#BrfxJ}rk4Q*sow%XR%T6?rT z#!j}!+9~!pJJr_Nw5_)po3%MR%}%#7>`Z&Son=q3v+W#vqW!#`YfrNC?0mbxF0?1x zQ|uypsy)q~ZWnt`+cUgpyl1`3y%)U8uq1s7cXa&5Hh9n3M%!eYz307Mc8P7Vt+vfB zwe5D9U2Z$<3fpPB>`Hs4?Y2F(*Y?>}cC}q&&$4Un*>;^h$DV7?v*+6j?0UPwZnR&p z7ut*LCi_KuvAx7zYA>^w+bisq_DgoN{j%L+zhb{?ud-Y1)%F^Dt-a1(Z@1a6*&FQF z?Tz*(yWQSwZ?WI7x7u&o+wARjhy9kl!+zV|X}@E4+V9%C?Dy>5_WSl8`vZG#XkpGNg@sKCkAzOwoGyn2lcM* z;)k-{rQIzOHn_E`ubTr0x3;g+cs=cFBwkO;s+LZ9Y;k);60x&gGjtqa*CgeiJYR~NJ>TT(0Y3&vNaQ5@YlLS<9z>=npLY$HLprUB| zaad1#XIn>8V^7O~w1pt1DG|@prnDxL!#n#{G`U@>HYH3W){2`M`P1$T; zcbD@7*<_9bgF2N&U8sIZ9MsjQUos8q>eQcBH>0i;5~MYsv{ISY{L)H&TJuY5ere4w zt@)&LvBsuu=+I>w#OpcRcvi@Rn=EZy(b(MG)mhru)rMNKysWVs0&HyV>*XYf!W_l3 z>1vk+T&4&vvk#XkLA<=nCBv`r>zFe5(-n=Jt>~pf$P&*GB~E-J8k^g@oBLL@Vhd41 zhBYo}$F5&bdru)ga*T_wqOq;J5fzu4kjo0MlIm0L@;>2FeC5okJP$8$Eddpcz3m;? zMl8-VSL{ny@8MHYr1W&YbP-ro9J6juUuKVYd*oSHyT`k<_(~gFSc>J%1tFC+FX`%S zY{rgbZ){0(qthmrjE;rfcrw<)l_1u_Z_8Txp+l*YRlUScB&JPRHWn{)g!6Z zqp~<3iC*S%%V*Qm(b%(8JR*)z)f6UUokCz|5rLsL+_1W$vxq=VnlA5bT-nvr+ugNt zX$!S91z`f_N$!>nj!y_tx=jR>{m(59!-OJbhXX z`=lC{;L8k1xQ{DiNnb%uS>-#Ya>(Z8rt-?Nyn=X!hZ(p$EWoW7rZRQ0)gpw|1tAPx zo$pm+tGNd)KdbOkB$SI{XYnibYP-+X#@2FnWo!Fev&5)P#_Ea$kgpeY+5+nmrFF`3 zov>V1H*mbsAu7$RV0_V}G6KS{GL?}PT|Ki1SL4eF3x8c{T~>ImFR)cs-%oHX!wQAd z-PPDD8?h`$D$DjKlZZ0zf||P0tTL3{qsP>Y(#lP}Qdghvit-JIxe4Mm zx$jD-Hx+Y>sE?h*ugXs<2vQhIB`QuTiYI}!Sv$}5E%S=Rl4ADI zw-earlUShCz##IreNKbsem ziaE>TL0=++dpyIP0Q}qs!L5xg6rL9rcpkj4zi(M6eak6@m%@84jGa>4w`dE=)x;KY zc4dqD>%9t#^$>)~fai;F3xga&r3(&|iD9lEhdZgGtGOdRZLUiVe^SGf1HwZM4+n$` zyJ0e=?^6TbS8I6nfbbd(uNe?ttKqc+!s|4=Za{ci!_x!8rFw)iuK-`7o-moy__;mf zOB)PAnFPR9`Gf=H6LNjRdzD8xKprwpz^Rq%V^}U`9)d|met(nL@HZZ8wX)l>BAKz{9dMYL6p~( zteJzbPRps&a%7E-^jeNg1A{P^FGuT)tkr{1*648ceNN>mYj}h!ojG+=`F!$n&-0^o zCsMj2tviv*J5oBaZe)HknxE`Gpd8Id_5gygTJx6?75Y>CW>lYn(ow77IW507uitz; zeUBY8DOckK`Ff%HlJzO{qwiCy4;k?huKdWzk9wi`%9t92vVex%wS1W#BAw<_tL4b_ z7U8OgAYTvi>GJhJ>B}lT)%sqBVAKPBFLPPcgM2zIN9MkuN6V2R8}%SxPQD(fD|2V) zLEq;zf07~F!Ij}2v<&ws zWyq5&gX6g}IG&Wjk5UFl2bJgT+a>QLn-{a7L{;~ZSokMw8ot6pT>f?w!}OTUEO1=WY{{-$Nl zl1MB6Y2`nya*6A1aa{WSL|j&#a77OB+PtgvLiz!eBl3t#KaG`#)(729j!XZZh*aN^ z>N`?>N2>2g^&P3cBh`1L`i@lJk?K2AeMhSANc9~_zl-uj-;wegDZi1*AyR!uD)&hB z9jU$}nX4rt)pw-&j#S@~>N`?>N2>2g^&P3cBh_~#bFoCE`i^8S2EXW4`)~L~zLCtm z;1~HuGWUXC^c>0D3x26@k<7i|m--gzR}E1@>RXhQ`Vh%lCxM@0=K38awfv;$7xz$U zxYVyGspTi7-A73+KPh^Sl3Kp3=#j6MFKY||0Ol>d~Luj6GT+l`4x<_~aH|2mFFGS5P|mapSzq~mC$<7iZ^@~_tNt5yEh zT7I>bU#;cqxEtxX8|k9`x|xEtxX8|k9`x|xEs|d|20~Ejh0`d<=1HWHCld+ zmaqM3r2T26{b;29YNY*JRIBpW{x#D6HPU`H(tb9Qc^tm3(DG$I2fvmt^Evo)<-Bbo zYnd|Mg_+cRR(HqXJvJ|cgieGLI`K*Bgf^)Y)1-8SK~g7BN$L3D=L!XvD;QjESa4Y& za8ng-q6?Rcb*&p7mL6P|W{}jCY*JUMN$J&sq^|suxKHksj_i^%Jg$*E%Tjb}Ai~JmaXd%8Ub7;OG z+14tG&2*HBf|~Kg@9-jBO>zO{l7yd!_HQb&x1U7zjVRtg|nUNO7! zsFef74%0`}lQSF{Tv<5M(Ee(}Ue#?adn8q%Sn(Ii9@?*kqUZ(YEAwJ1j-q#5$LQV(9tx|*+(FaFqh3qFB9k}9q0~8AggfDCB2h7 zuYvZL%jGh#J|dhFErX$6>4zV>+naEHwn7io8k}OaI7{l|RO>OoM{rq#@gDUPIAMzu zo;chW;UuSzGn>1CfAU{P$Qw8z=i^M=VqgPKzxk#er{8>>ed`AH;x0-b=iAl+ak33~ zfw=&Z2KwjXM~%XZG+w55zemgWhJ1k3`d8b@hFp!{;?j0;OB%!-w7~NR-96|5lvsf? z$}t>?e*feC{gpUp_d3qhy@&I2F{*%DY2L<}xzYSwfs=8gaUyO4Lfj`{OyT_7Wc;Ub z#?6J!#%Z=i{8WLk2A8(zGaV)D+vjyqvM-D~MD zIF^V@eF)2C0%Wry{-~q~A}DzqdC`rK@|;p_3nK9yC^5!z6VYJmZOL5bB0%+||dt6h}KPbJ_}(kffAa zIGbBJTAqKfYkxTH?y!b&5@Qu3E{R9@M8;W+xTYN;&a~L~S1?Xse3mg_9Ocma5zY57~t zc&5P7uuEy!$~1fcI*KUCm*6OJpS*v73;xaF;Qf41a3TI50-cVQJ3+1Rd^cS1joa>b z`CCnh|D*f!cpSc|_|M_r@%JFO8;`dx+?Dv2t53!<;+JdugWa<~p7ChLqZkikJi?)O ziE%L}GJaN{U8+eOr-reL@dU=tF-~ASjN>26IEpb~tY)0VcpT$ohu$sx9B2F-;24l28d2gfacf7yDa?4qpEbx)JcZyHG^-hJI z)iCdL*jJ5$mC9&;3@nX43+tv1|1k9aD`1_Jfc;Oce+(>e>io2KHs-C~HN&3hO4t!C^S1aM7$>e`+o7vrIn?c4>uiR+>tHFg!P^G= zpv%0QU<-7ew*xKWChuNY`h3%Sz`xz!3A?Sk@XG+dfECXVyuvEgw z`-lGz+!FA<@nK{0p&?U>Dd=D`!Y_dp%_x7U8EwY+mCkC$|CFwZ7A#cG^y^`x(&J}f zrPAkTot=uGgOv*8h}rsO{tQ^6T;b1z9m<#e<6(QU&7TF!lN3<@A)Ue zrsRHqA*@Fp_7}lgYr6XG|*9^_5G*;#`4OUwtjQlJ&~9)taM z*mjKam%)-_yuaMdEO4vgM4AN6pc2?ss8vUxR=JDe2jgQmqXvta46Fh+ctd%mbReYSeo>|bybfmDz#*{ltHj+5ds--tbw5@CYriVk z`;CW1;=gM7_=NYgw;OhYAD|iz#}9ZM3aLeTdq1D8`}{0y`ox-VF6{SChs|CS#+EbL z0&gSi=`O{Hem(cvcVP5*fbH2Hfz8^p=(+#kzXofwysg=L7%4u4RhfYW*$~)_Rl*|d zV73K2wBHIWVX9%@H5t}hbJ;R$v1w#`tQOM-i7!V@7E3E#b#j1lX?x5R1=X|O`|R}LDw$2xW?Hmpp)DWxOscc$3 z7Z$6FVIsQ>M#8JSb+G2luXv|$+Wk>RDXct4qGufk%^m^!Rd*>t9V}u`fZgjUuncX1 z9p;%Z6+Xw?plJ*^8HzeG26f^Pw3GntWHNf*>9Cre2m9Ct82fg>l5&lAF789gucXtw zlEzQcG0lV;Hw<>L2f~W>Nc7{?u#T;V4elIR+MWtq(>690KFd1~wxce^{@~Z`K#W3L ztwI}}2pikN2($nexlJ&W?t~HWTJL<=vPzl~)ansPdk|{wVX)6l!WQ>9So|IjyWWMc z;cbR-au>{(&-O0xF7h@t;vhUF7>{O5GtOk3%ebhydBsX$jhyGq*3 zxRr4m<95c|81HPwQC_;6@jk`}86RSNgz@nXe6dQ;Fz#Y}nQ=GcTa53z<6rcFLu(n! z7@e6%w;jbemT^4e;f(x^t_{23u}3pbWyB312${t=m+|DT?j@aeG2;@(WsEBsS23>Z zf!yqR#!ZZuGj3tLhVceithCx&7F+RokJmX8i+LBip z-(-A;@qLFe!#Jp?uc;?ClyN`CF^pA=hcZs=>08+oOEA_jPGQV2&SX5%eVrd$z<3&C z6XR0GPR3sJJO=-+pW1hK4BEVlzi+OOe!`WocXSttxt?rqh!qs#>>Xv7&dm?pUY$d? zU+1I0``?jQkLXKX%uhn>#NqAU@c@pqcjSEu^ldJ;k3rao`?xpYHpcCY+ZeYpZf3j^ zIKp@P5+nSLjOQ}0VeDpH39Q8I*5MLH?AhY^WX8FSZe~BypUIeEoWfYcm|zTm_~9_a5eH$6&ERf|c^K=K@WmMGFuGof8yKzw4?A!N#C^B};^$ZuJqy|F#wzH2 z+-FgN`PL!e#AWAx+t#^G9&o)~>b|TlcIY|W$=AJqh36PP%Nu?(Pr^;Bx@*+ESl#Q? zy+hp{>N+{Q^tY<}jJhwXt8^HrOBe6i0r8x6UAWR|-WIxO6St%idJmSp<6xERR;Y+q za2M|ERB&~dXj#lC+Rn8`i+>Oxfv0E8$gYmV;!}yThD%% zqw^yta5fYzW*p{Cle`o)bF4JAYU~bna~$rfZaC_bzr9 z-ox&~``$lsufttfiy7L9bQOM;f3QE^{|xeTt;45oNYBUjGwzuYw+p*+wqZ;e>Gl|O z_Mh{oA#^K3J23O@#Hx9+8z#=d%@XTztHedPP2y7AAaOPBjJO$hL4aqhI(@nl+N?mWI+^PO z&(H08=&8}34Q#RJ09)-k;8NzH5p*ko6z;wPyHLQWyR&O1lB0{aEx%AMKS4v@irSpkq--_%0)~EO$4fyMbZ>Tz3zJ zyCV{}QINZ%cQ#s_yDQP%NwEm7yP4utxbA+6)8M*WDo%&%?y6Xf#q|3a^|5NlEd!fz z*T5&<5CExKtlH1Piu*`B`xf8pdI#X%lf|Y1_no-)bvxGAD{z;|D%@bQ4mX!vfNyp$ z#BC*);D(Z|xRYc%?i#`Ox@b2ReHIq-Sh3YZJ6U{6*gqK~p@-0E9Ls>;>F^(q^(sn4 zjLGmD#KlDr2!9key!hU)yq7(~TK^Ppe|L`wYN3x9<@wu^TuL9`JL7W|mr;qH)x#Qn zDnc9$O;{^>Sl2GcvyZYYG*O9?TzD&1tL`GTWq5lPm-j1-!cSmt^4HiqdK!C2zrmRN z9ByuS0b}lOu~+#!jL^ULUe1?Zxc$i8d*rVIo&T!Dz!OW2Y%}hKa8h?a^j_(98}RI- z^*P?k`MHmuhk+BfC)AETq2;#AE90FZ_w7FBj(AsrdUgzCaEE_~HwJqy_jw0m-{k?^ zR`rN5am1^%Z*kd^wI|Ps)Zm8(c zy(gFdOi)+(39@?(y88bkJ;(zRa`S0d!+fq`PWL6)slX40;I@sW$_e3qjXuw^#ALOA mMEE-#|7J-?XPZ8k^~iGq{<2v(e=xDC9%m5>PY8Ftm-jy_j|kTQ literal 0 HcmV?d00001 diff --git a/assets/fonts/IBMPlexMono.ttf b/assets/fonts/IBMPlexMono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4254c37f20ba57e829a3315fdc91cda4e63589f5 GIT binary patch literal 173052 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

nE%K*D|7npwE%Nhx1n-IddFhY1$e$MZ(?Vay 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 Jhje=PzW|`Rr{(|v literal 0 HcmV?d00001 diff --git a/assets/fonts/IBMPlexSans-Bold.ttf b/assets/fonts/IBMPlexSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d66b1a2e96d5e33d6f5fa8e81e76b4e5621d240 GIT binary patch literal 200872 zcmcG12VhiH*8jctO?sX5GMP-vOv*`Ls zyzQ@ewgUHydr=VR7hu5kDqP!om#pebiMt-(7l1e7^x_NVc8$Jo|84l*NyY-cThi6H z%s);X$MZY!ylKh2Rb4r+tpxc*SuyWP@lT%U{|JxIc zStl%8F>l$PC0jN!W?YAF#DP+bDSXUV54Y}_9Z~T$3sOEs3HvbbmdDim;yc{0x⪻ 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%0Ddh{R*&}GNDKH5ex->IMz32>sP%%N+ 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/IBMPlexSans-SmBld.ttf b/assets/fonts/IBMPlexSans-SmBld.ttf new file mode 100644 index 0000000000000000000000000000000000000000..09ec8cdae8208c26165db0c87da409cda8c26ae4 GIT binary patch literal 202632 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

R`tEypug7icv=;;n|9pO|AA77&M-M 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/IBMPlexSans.ttf b/assets/fonts/IBMPlexSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bd6817d5202895da5ac4fad88de3da71e652881a GIT binary patch literal 200500 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±Lk;941wN9j(O#6{H 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 VkO`yz&)k7yBj|jf8c=D*002BjV;}$k literal 0 HcmV?d00001 diff --git a/assets/fonts/Nunito-Bold.ttf b/assets/fonts/Nunito-Bold.ttf deleted file mode 100644 index a6e17dd..0000000 --- a/assets/fonts/Nunito-Bold.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - diff --git a/assets/fonts/Nunito-ExtraBold.ttf b/assets/fonts/Nunito-ExtraBold.ttf deleted file mode 100644 index b4c79b7..0000000 --- a/assets/fonts/Nunito-ExtraBold.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - diff --git a/assets/fonts/Nunito-Regular.ttf b/assets/fonts/Nunito-Regular.ttf deleted file mode 100644 index b73048c..0000000 --- a/assets/fonts/Nunito-Regular.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - diff --git a/assets/fonts/Nunito-SemiBold.ttf b/assets/fonts/Nunito-SemiBold.ttf deleted file mode 100644 index 734112e..0000000 --- a/assets/fonts/Nunito-SemiBold.ttf +++ /dev/null @@ -1,1459 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Page not found · GitHub · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - - diff --git a/download-fonts.js b/download-fonts.js index 47ba9c5..4d4c8f6 100644 --- a/download-fonts.js +++ b/download-fonts.js @@ -1,12 +1,57 @@ -const https = require('https'); +/** + * Fetches the app's font files into assets/fonts/. + * + * ── WHY THIS SCRIPT IS THE WAY IT IS ──────────────────────────────────────── + * The previous version pointed at `googlefonts/nunito/raw/main/fonts/ttf/`, + * which no longer exists — that repo now ships variable fonts only. It also + * piped whatever came back straight into the .ttf without looking at the HTTP + * status. So running it after the URLs died wrote GitHub's 404 page into all + * four font files, and every one of them was a 300KB HTML document with a + * .ttf extension. + * + * Nothing complained. React Native does not validate a font asset: Android + * silently falls back to Roboto, so the app rendered in the system font while + * appearing to have a typeface of its own. That is the failure this script now + * refuses to repeat: + * + * - a non-2xx response aborts instead of being written to disk; + * - every download is checked for the TrueType magic number (0x00010000) + * before it is kept; + * - a file that fails either check is deleted, and the script exits non-zero. + * + * ── WHY THE FILENAMES LOOK ODD ────────────────────────────────────────────── + * They are the fonts' own PostScript names, not IBM's file names. iOS resolves + * `fontFamily` against the PostScript name while Android resolves it against + * the asset filename, so the two only agree if the file is named after the + * PostScript name. IBM abbreviates: SemiBold is `SmBld`, Medium is `Medm`, and + * Regular has no suffix at all. Renaming them here is what lets + * `fontFamily: 'IBMPlexSans-SmBld'` work on both platforms. + * + * After running this, re-link and rebuild — the files have to be inside the + * binary, so a Metro reload alone will not pick them up: + * + * node download-fonts.js + * npx react-native-asset + * npx react-native run-android + */ + +/* eslint-disable no-undef -- A Node build script, not app code: the project's + ESLint environment is React Native and does not declare Node globals. */ + const fs = require('fs'); +const https = require('https'); const path = require('path'); +const PLEX = 'https://raw.githubusercontent.com/IBM/plex/master/packages'; + +/** `as` is the PostScript name — see the note above on why that is the filename. */ const fonts = [ - { name: 'Nunito-Regular.ttf', url: 'https://github.com/googlefonts/nunito/raw/main/fonts/ttf/Nunito-Regular.ttf' }, - { name: 'Nunito-SemiBold.ttf', url: 'https://github.com/googlefonts/nunito/raw/main/fonts/ttf/Nunito-SemiBold.ttf' }, - { name: 'Nunito-Bold.ttf', url: 'https://github.com/googlefonts/nunito/raw/main/fonts/ttf/Nunito-Bold.ttf' }, - { name: 'Nunito-ExtraBold.ttf', url: 'https://github.com/googlefonts/nunito/raw/main/fonts/ttf/Nunito-ExtraBold.ttf' }, + { as: 'IBMPlexSans.ttf', url: `${PLEX}/plex-sans/fonts/complete/ttf/IBMPlexSans-Regular.ttf` }, + { as: 'IBMPlexSans-Medm.ttf', url: `${PLEX}/plex-sans/fonts/complete/ttf/IBMPlexSans-Medium.ttf` }, + { as: 'IBMPlexSans-SmBld.ttf', url: `${PLEX}/plex-sans/fonts/complete/ttf/IBMPlexSans-SemiBold.ttf` }, + { as: 'IBMPlexSans-Bold.ttf', url: `${PLEX}/plex-sans/fonts/complete/ttf/IBMPlexSans-Bold.ttf` }, + { as: 'IBMPlexMono.ttf', url: `${PLEX}/plex-mono/fonts/complete/ttf/IBMPlexMono-Regular.ttf` }, + { as: 'IBMPlexMono-SmBld.ttf', url: `${PLEX}/plex-mono/fonts/complete/ttf/IBMPlexMono-SemiBold.ttf` }, ]; const dir = path.join(__dirname, 'assets', 'fonts'); @@ -15,30 +60,78 @@ if (!fs.existsSync(dir)) { fs.mkdirSync(dir, { recursive: true }); } -function download(url, dest) { - return new Promise((resolve, reject) => { - const file = fs.createWriteStream(dest); - https.get(url, (response) => { - if (response.statusCode === 302 || response.statusCode === 301) { - download(response.headers.location, dest).then(resolve).catch(reject); - return; - } - response.pipe(file); - file.on('finish', () => { - file.close(resolve); - }); - }).on('error', (err) => { - fs.unlink(dest, () => reject(err)); - }); - }); -} +/** Buffers the body so nothing reaches disk until the status has been checked. */ +const fetch = (url, redirects = 0) => + new Promise((resolve, reject) => { + if (redirects > 5) { + reject(new Error('too many redirects')); + return; + } -Promise.all(fonts.map(font => { - const dest = path.join(dir, font.name); - console.log(`Downloading ${font.name}...`); - return download(font.url, dest); -})).then(() => { - console.log('All fonts downloaded successfully!'); -}).catch(err => { - console.error('Error downloading fonts:', err); -}); + https + .get(url, (response) => { + const { statusCode, headers } = response; + + if (statusCode === 301 || statusCode === 302 || statusCode === 307 || statusCode === 308) { + response.resume(); + fetch(headers.location, redirects + 1).then(resolve, reject); + return; + } + + if (statusCode !== 200) { + response.resume(); + reject(new Error(`HTTP ${statusCode}`)); + return; + } + + const chunks = []; + response.on('data', (chunk) => chunks.push(chunk)); + response.on('end', () => resolve(Buffer.concat(chunks))); + response.on('error', reject); + }) + .on('error', reject); + }); + +/** + * A TrueType file opens with sfntVersion 0x00010000. `OTTO` would be an + * OpenType/CFF font, which React Native on Android will not load, and anything + * else — an HTML error page, most likely — is not a font at all. + */ +const isTrueType = (buffer) => buffer.length > 4 && buffer.readUInt32BE(0) === 0x00010000; + +const run = async () => { + let failed = 0; + + for (const font of fonts) { + const dest = path.join(dir, font.as); + + try { + const body = await fetch(font.url); + + if (!isTrueType(body)) { + const magic = body.length > 4 ? body.readUInt32BE(0).toString(16) : 'empty'; + throw new Error(`not a TrueType file (magic 0x${magic}, ${body.length} bytes)`); + } + + fs.writeFileSync(dest, body); + console.log(` ok ${font.as} (${body.length} bytes)`); + } catch (error) { + failed += 1; + // Leave nothing half-written behind: a stale or truncated file here is + // exactly what caused the silent fallback this script exists to prevent. + fs.rmSync(dest, { force: true }); + console.error(` FAILED ${font.as} — ${error.message}`); + } + } + + if (failed > 0) { + console.error(`\n${failed} font(s) could not be fetched. Do not build with fonts missing.`); + process.exitCode = 1; + return; + } + + console.log('\nAll fonts downloaded and verified.'); + console.log('Next: npx react-native-asset && npx react-native run-android'); +}; + +void run(); diff --git a/index.js b/index.js index debaf9b..48740ab 100644 --- a/index.js +++ b/index.js @@ -2,6 +2,11 @@ * @format */ +// Must be the first import: it installs `crypto.getRandomValues`, which `uuid` +// binds at module load. Anything importing `uuid` before this — the device id +// and the MPIN nonce both do — would otherwise throw at startup. +import 'react-native-get-random-values'; + import { AppRegistry, Text, TextInput } from 'react-native'; import notifee from '@notifee/react-native'; import App from './App'; diff --git a/ios/BankCBS/Info.plist b/ios/BankCBS/Info.plist index 69500f3..d5a0c5c 100644 --- a/ios/BankCBS/Info.plist +++ b/ios/BankCBS/Info.plist @@ -32,6 +32,22 @@ NSAllowsLocalNetworking + + NSExceptionDomains + + mobile-banking-backend.lincpay + + NSExceptionAllowsInsecureHTTPLoads + + NSIncludesSubdomains + + + NSLocationWhenInUseUsageDescription @@ -51,10 +67,12 @@ UIAppFonts - Nunito-Bold.ttf - Nunito-ExtraBold.ttf - Nunito-Regular.ttf - Nunito-SemiBold.ttf + IBMPlexSans.ttf + IBMPlexSans-Medm.ttf + IBMPlexSans-SmBld.ttf + IBMPlexSans-Bold.ttf + IBMPlexMono.ttf + IBMPlexMono-SmBld.ttf diff --git a/metro.config.js b/metro.config.js index 2a0a21c..298c976 100644 --- a/metro.config.js +++ b/metro.config.js @@ -1,11 +1,29 @@ const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); +const exclusionList = require('metro-config/private/defaults/exclusionList').default; /** * Metro configuration * https://reactnative.dev/docs/metro * + * Native build output (android/app/build alone is >2GB after a debug build) is + * excluded from the file crawl. Without watchman installed Metro walks these + * directories on startup and never becomes responsive. + * * @type {import('@react-native/metro-config').MetroConfig} */ -const config = {}; +const config = { + resolver: { + blockList: exclusionList([ + /\/android\/build\/.*/, + /\/android\/app\/build\/.*/, + /\/android\/\.gradle\/.*/, + /\/android\/\.kotlin\/.*/, + /\/node_modules\/.*\/android\/build\/.*/, + /\/\.cxx\/.*/, + /\/ios\/build\/.*/, + /\/ios\/Pods\/.*/, + ]), + }, +}; module.exports = mergeConfig(getDefaultConfig(__dirname), config); diff --git a/package-lock.json b/package-lock.json index 7f41b65..eeab43a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,11 +20,14 @@ "@reduxjs/toolkit": "^2.11.2", "@types/geojson": "^7946.0.16", "axios": "^1.14.0", + "node-forge": "^1.4.0", "react": "19.2.0", "react-native": "0.83.4", "react-native-biometrics": "^3.0.1", + "react-native-blob-util": "^0.25.0", "react-native-date-picker": "^5.0.13", "react-native-gesture-handler": "~2.30.0", + "react-native-get-random-values": "^1.11.0", "react-native-haptic-feedback": "^3.0.0", "react-native-keychain": "^10.0.0", "react-native-linear-gradient": "^2.8.3", @@ -33,7 +36,8 @@ "react-native-screens": "~4.23.0", "react-native-svg": "^15.15.4", "react-native-worklets": "0.7.2", - "react-redux": "^9.2.0" + "react-redux": "^9.2.0", + "uuid": "^11.1.1" }, "devDependencies": { "@babel/core": "^7.25.2", @@ -47,6 +51,7 @@ "@react-native/metro-config": "0.83.4", "@react-native/typescript-config": "0.83.4", "@types/jest": "^29.5.13", + "@types/node-forge": "^1.3.14", "@types/react": "^19.2.0", "@types/react-test-renderer": "^19.1.0", "eslint": "^8.19.0", @@ -3963,6 +3968,16 @@ "undici-types": "~7.21.0" } }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/react": { "version": "19.2.14", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", @@ -4869,6 +4884,12 @@ "node": "18 || 20 || >=22" } }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -6849,6 +6870,12 @@ "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", "license": "Apache-2.0" }, + "node_modules/fast-base64-decode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", + "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==", + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -10054,6 +10081,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/node-forge": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -10946,6 +10982,23 @@ "react-native": ">=0.60.0" } }, + "node_modules/react-native-blob-util": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/react-native-blob-util/-/react-native-blob-util-0.25.0.tgz", + "integrity": "sha512-+T6IAB67nh4hPfs3BtM2WObofxFeGFJXWQvzkaQZ2kGx1aa/6HZ0IC3BsSr4762fIdKhuDA8F+wbGNzfsHCBMw==", + "license": "MIT", + "dependencies": { + "base-64": "1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ronradtke" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-date-picker": { "version": "5.0.13", "resolved": "https://registry.npmjs.org/react-native-date-picker/-/react-native-date-picker-5.0.13.tgz", @@ -10971,6 +11024,18 @@ "react-native": "*" } }, + "node_modules/react-native-get-random-values": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz", + "integrity": "sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==", + "license": "MIT", + "dependencies": { + "fast-base64-decode": "^1.0.0" + }, + "peerDependencies": { + "react-native": ">=0.56" + } + }, "node_modules/react-native-haptic-feedback": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-native-haptic-feedback/-/react-native-haptic-feedback-3.0.0.tgz", @@ -12709,7 +12774,7 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -12889,6 +12954,19 @@ "node": ">= 0.4.0" } }, + "node_modules/uuid": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz", + "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", diff --git a/package.json b/package.json index 74ee052..e095df0 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,10 @@ "start": "react-native start", "lint": "eslint .", "test": "jest", - "typecheck": "tsc --noEmit" + "typecheck": "tsc --noEmit", + "features:audit": "node scripts/audit-features.js", + "features:audit:strict": "node scripts/audit-features.js --strict", + "clean:android": "node -e \"const fs=require('fs');['android/app/.cxx','android/app/build','android/build','android/.gradle'].forEach(p=>{fs.rmSync(p,{recursive:true,force:true});console.log('removed '+p)})\"" }, "dependencies": { "@gorhom/bottom-sheet": "^5.2.14", @@ -23,11 +26,14 @@ "@reduxjs/toolkit": "^2.11.2", "@types/geojson": "^7946.0.16", "axios": "^1.14.0", + "node-forge": "^1.4.0", "react": "19.2.0", "react-native": "0.83.4", "react-native-biometrics": "^3.0.1", + "react-native-blob-util": "^0.25.0", "react-native-date-picker": "^5.0.13", "react-native-gesture-handler": "~2.30.0", + "react-native-get-random-values": "^1.11.0", "react-native-haptic-feedback": "^3.0.0", "react-native-keychain": "^10.0.0", "react-native-linear-gradient": "^2.8.3", @@ -36,7 +42,8 @@ "react-native-screens": "~4.23.0", "react-native-svg": "^15.15.4", "react-native-worklets": "0.7.2", - "react-redux": "^9.2.0" + "react-redux": "^9.2.0", + "uuid": "^11.1.1" }, "devDependencies": { "@babel/core": "^7.25.2", @@ -50,6 +57,7 @@ "@react-native/metro-config": "0.83.4", "@react-native/typescript-config": "0.83.4", "@types/jest": "^29.5.13", + "@types/node-forge": "^1.3.14", "@types/react": "^19.2.0", "@types/react-test-renderer": "^19.1.0", "eslint": "^8.19.0", diff --git a/scripts/audit-features.js b/scripts/audit-features.js new file mode 100644 index 0000000..ce428f0 --- /dev/null +++ b/scripts/audit-features.js @@ -0,0 +1,142 @@ +#!/usr/bin/env node +/** + * Reports feature keys that nothing in the app actually gates. + * + * Why this exists: a key can be declared, configured, published by the server + * and shown in the toggle screens while no UI consults it. Switching it off then + * appears to work and changes nothing — the worst possible failure for a kill + * switch, because it is silent and is only discovered when someone needs it. + * + * A key counts as gated when it is referenced anywhere outside its own + * declaration (`featureKeys.ts`) and the static config (`featureConfig.ts`). + * Parent keys need no direct reference: the service resolves ancestors, so a key + * with a gated descendant is effective through the hierarchy and is reported + * separately rather than as a fault. + * + * node scripts/audit-features.js # report + * node scripts/audit-features.js --strict # exit 1 if any key is unwired + * + * `--strict` is what CI should run once the list below is empty. + */ + +const fs = require('fs'); +const path = require('path'); + +const ROOT = path.resolve(__dirname, '..'); +const SRC = path.join(ROOT, 'src'); +const KEYS_FILE = path.join(SRC, 'constants', 'featureKeys.ts'); +const EXCLUDED = new Set(['featureKeys.ts', 'featureConfig.ts']); + +/** + * Keys knowingly declared ahead of the UI that will consult them, with the + * reason. Listed here so the audit stays useful — an unreviewed key shows up as + * a finding, while these show as accepted. + * + * Remove an entry when you wire its UI up. Do not add one to quieten the audit + * unless the feature genuinely has no screen yet. + */ +const ACCEPTED_UNWIRED = { + 'auth.login.forgotPassword': + 'No forgot-MPIN flow exists by policy — a reset needs a branch visit.', + 'auth.login.createAccount': 'Account opening is not in the customer app yet.', + 'home.services': 'Home services grid is commented out in HomeScreen.', + 'home.services.transfer': 'Part of the commented-out home services grid.', + 'home.services.selfTransfer': 'Part of the commented-out home services grid.', + 'home.services.billPay': 'Part of the commented-out home services grid.', + 'home.services.collectRequest': 'Part of the commented-out home services grid.', + 'home.services.managePayee': 'Part of the commented-out home services grid.', + 'home.services.support': 'Part of the commented-out home services grid.', + 'home.services.insurance': 'Part of the commented-out home services grid.', + 'home.services.deposits': 'Part of the commented-out home services grid.', + 'home.services.goldLoan': 'Part of the commented-out home services grid.', + 'home.insights': 'InsightsCard component exists but is not rendered anywhere.', + 'home.promoBanner': 'PromoBanner component exists but is not rendered anywhere.', + 'payments.upi': 'No UPI screens have been built.', + 'payments.upi.scan': 'No UPI screens have been built.', +}; + +const walk = (dir, files = []) => { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + + if (entry.isDirectory()) { + walk(full, files); + } else if (/\.tsx?$/.test(entry.name) && !EXCLUDED.has(entry.name)) { + files.push(full); + } + } + + return files; +}; + +const source = fs.readFileSync(KEYS_FILE, 'utf8'); +const declarations = [...source.matchAll(/^\s+([A-Z_0-9]+) = '([a-zA-Z0-9.]+)',/gm)].map((m) => ({ + member: m[1], + path: m[2], +})); + +if (declarations.length === 0) { + console.error('No feature keys found — has featureKeys.ts moved or changed shape?'); + process.exit(2); +} + +const corpus = walk(SRC) + .map((file) => fs.readFileSync(file, 'utf8')) + .join('\n'); + +const referenced = new Set( + [...corpus.matchAll(/FeatureKey\.([A-Z_0-9]+)/g)].map((m) => m[1]), +); + +const gatedPaths = new Set( + declarations.filter((d) => referenced.has(d.member)).map((d) => d.path), +); + +const viaHierarchy = []; +const unwired = []; +const accepted = []; + +for (const declaration of declarations) { + if (gatedPaths.has(declaration.path)) { + continue; + } + + if ([...gatedPaths].some((gated) => gated.startsWith(`${declaration.path}.`))) { + viaHierarchy.push(declaration); + } else if (ACCEPTED_UNWIRED[declaration.path]) { + accepted.push(declaration); + } else { + unwired.push(declaration); + } +} + +const pad = (value, width) => String(value).padEnd(width); + +console.log(`\nFeature gating audit — ${declarations.length} declared keys\n`); +console.log(` gated directly ${gatedPaths.size}`); +console.log(` via hierarchy ${viaHierarchy.length} (parent of a gated key)`); +console.log(` accepted unwired ${accepted.length} (no UI yet, reason recorded)`); +console.log(` UNWIRED ${unwired.length}`); + +if (accepted.length > 0) { + console.log('\nAccepted — declared ahead of their UI:'); + for (const { path: keyPath } of accepted.sort((a, b) => a.path.localeCompare(b.path))) { + console.log(` ${pad(keyPath, 34)} ${ACCEPTED_UNWIRED[keyPath]}`); + } +} + +if (unwired.length > 0) { + console.log('\nUNWIRED — declared, configurable, but nothing reads them.'); + console.log('Switching one of these off will appear to work and change nothing.\n'); + for (const { path: keyPath, member } of unwired.sort((a, b) => a.path.localeCompare(b.path))) { + console.log(` ${pad(keyPath, 40)} FeatureKey.${member}`); + } + console.log('\nEither gate the UI it should control, or record it in ACCEPTED_UNWIRED'); + console.log('in this script with the reason.\n'); +} else { + console.log('\nEvery declared key is either gated or has a recorded reason.\n'); +} + +if (process.argv.includes('--strict') && unwired.length > 0) { + process.exit(1); +} diff --git a/scripts/checkContrast.js b/scripts/checkContrast.js new file mode 100644 index 0000000..cbb5c18 --- /dev/null +++ b/scripts/checkContrast.js @@ -0,0 +1,278 @@ +#!/usr/bin/env node +/** + * Measures every text-on-surface pairing in both colour ramps and fails if one + * drops under AA. + * + * node scripts/checkContrast.js + * + * Run it after changing anything in src/theme/palette.ts. The ratios written + * in the comments there came from this script; if you change a value and do + * not re-run it, those comments become fiction. + * + * It reads palette.ts by parsing it rather than importing it, so it needs no + * TypeScript toolchain and can run in a git hook or in CI as plain node. + * + * Exit code 0 = every pairing passes. 1 = at least one failure, listed. + */ + +const fs = require('fs'); +const path = require('path'); + +const PALETTE_PATH = path.join(__dirname, '..', 'src', 'theme', 'palette.ts'); + +/* ── WCAG 2.1 relative luminance and contrast ratio ──────────────────────── */ + +const toRgb = (color) => { + const rgba = color.match(/rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i); + if (rgba) return [Number(rgba[1]), Number(rgba[2]), Number(rgba[3])]; + + let h = color.replace('#', '').trim(); + if (h.length === 3) h = h.split('').map((c) => c + c).join(''); + return [0, 2, 4].map((i) => parseInt(h.slice(i, i + 2), 16)); +}; + +/** The alpha of an rgba() string, or 1 for an opaque colour. */ +const alphaOf = (color) => { + const m = color.match(/rgba\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*,\s*([\d.]+)\s*\)/i); + return m ? Number(m[1]) : 1; +}; + +const channel = (c) => { + const s = c / 255; + return s <= 0.04045 ? s / 12.92 : Math.pow((s + 0.055) / 1.055, 2.4); +}; + +const luminance = (color) => { + const [r, g, b] = toRgb(color); + return 0.2126 * channel(r) + 0.7152 * channel(g) + 0.0722 * channel(b); +}; + +/** + * Composite a translucent colour over an opaque backdrop. + * + * Necessary because the on-brand tiers are translucent white, and a contrast + * ratio is only meaningful between two opaque colours — the number that + * matters is the one the composite actually paints. + */ +const composite = (color, backdrop) => { + const a = alphaOf(color); + if (a === 1) return color; + const f = toRgb(color); + const b = toRgb(backdrop); + const mixed = f.map((c, i) => Math.round(c * a + b[i] * (1 - a))); + return `#${mixed.map((c) => c.toString(16).padStart(2, '0')).join('')}`; +}; + +const ratio = (fg, bg) => { + const a = luminance(composite(fg, bg)); + const b = luminance(bg); + const [hi, lo] = a > b ? [a, b] : [b, a]; + return (hi + 0.05) / (lo + 0.05); +}; + +/* ── parse the two ramps out of palette.ts ───────────────────────────────── */ + +const parseRamp = (source, name) => { + const start = source.indexOf(`export const ${name}: Palette = {`); + if (start === -1) throw new Error(`Could not find the "${name}" ramp in palette.ts`); + + // Walk braces so a nested value cannot end the block early. + let depth = 0; + let end = -1; + for (let i = source.indexOf('{', start); i < source.length; i += 1) { + if (source[i] === '{') depth += 1; + else if (source[i] === '}') { + depth -= 1; + if (depth === 0) { + end = i; + break; + } + } + } + + const body = source.slice(start, end); + const ramp = {}; + + // key: '#hex' | 'rgba(...)' + for (const [, key, value] of body.matchAll(/^\s*(\w+):\s*'([^']+)'/gm)) { + ramp[key] = value; + } + // category: { blue: { tone: '..', surface: '..' }, ... } + ramp.category = {}; + for (const [, hue, tone, surface] of body.matchAll( + /(\w+):\s*\{\s*tone:\s*'([^']+)',\s*surface:\s*'([^']+)'\s*\}/g, + )) { + ramp.category[hue] = { tone, surface }; + } + + // key: ['a', 'b', 'c'] + for (const [, key, list] of body.matchAll(/^\s*(\w+):\s*\[([^\]]+)\]/gm)) { + ramp[key] = list.match(/'([^']+)'/g).map((s) => s.slice(1, -1)); + } + + return ramp; +}; + +/* ── the rules ───────────────────────────────────────────────────────────── */ + +/** + * 4.6 rather than 4.5: a 0.1 margin over AA so rounding on a device cannot + * drop a pairing under the bar it was signed off at. + */ +const AA = 4.6; +/** Agent screens are used outdoors and hold to a higher bar. */ +const AA_AGENT = 7; +/** + * A tint surface has to be this distinguishable from a plain card, or a banner + * reads as untinted. + * + * 1.06 is the floor the approved light ramp actually achieves — its + * `accentSurface` (#FEF7EA on white) sits at 1.066, the quietest tint in the + * design. The bar is set to that rather than to the ramp's 1.123 average so it + * asserts the real contract instead of failing the shipped design; it still + * catches a genuinely invisible tint, which is what this check is for. + */ +const TINT_SEPARATION = 1.06; +/** A border has to be at least this visible against the card it sits on. */ +const BORDER_VISIBILITY = 1.25; +/** Two adjacent surface fills need at least this much step between them. */ +const SURFACE_STEP = 1.06; + +const TEXT_SURFACES = ['surface', 'background', 'surfaceMuted']; +const TEXT_TONES = ['textPrimary', 'textSecondary', 'textMuted']; +const SEMANTIC = ['success', 'warning', 'danger', 'info']; +const ALL_TONES = ['brand', 'accent', ...SEMANTIC]; + +const checkRamp = (ramp, rampName) => { + const results = []; + const add = (ok, label, value, bar) => + results.push({ ok, label, value, bar, ramp: rampName }); + + const at = (fg, bg, bar, label) => add(ratio(ramp[fg], ramp[bg]) >= bar, label, ratio(ramp[fg], ramp[bg]), bar); + + // Body text and every tone, on all three text-bearing surfaces. + for (const tone of [...TEXT_TONES, ...ALL_TONES]) { + for (const surface of TEXT_SURFACES) { + at(tone, surface, AA, `${tone} on ${surface}`); + } + } + + // surfaceSunk is non-text, but these three are documented as legible on it. + for (const tone of ['textPrimary', 'textSecondary', 'brand']) { + at(tone, 'surfaceSunk', AA, `${tone} on surfaceSunk`); + } + + // Each tone on its own tint surface — a banner shows both at once. + for (const tone of ALL_TONES) { + const surface = tone === 'brand' ? 'brandSurface' : `${tone}Surface`; + at(tone, surface, AA, `${tone} on ${surface}`); + } + + // Body copy on every tint surface, for a banner's message text. + for (const tone of ALL_TONES) { + const surface = tone === 'brand' ? 'brandSurface' : `${tone}Surface`; + at('textPrimary', surface, AA, `textPrimary on ${surface}`); + at('textSecondary', surface, AA, `textSecondary on ${surface}`); + } + + // The fill rule: whatever `textOnFill` is for this ramp must work on every + // saturated fill. This is the check that catches a white label in dark mode. + // + // `accentFill` is the documented exception and is checked separately below. + // It is the vivid brass, and it takes ink in BOTH ramps — white on it is + // 2.26:1. Including it here would demand that `textOnFill` work on it, which + // is exactly the thing the palette says not to do. + for (const tone of ['brand', ...SEMANTIC]) { + at('textOnFill', tone, AA, `textOnFill on ${tone} fill`); + } + at('textOnAccentFill', 'accentFill', AA, 'textOnAccentFill on accentFill'); + + // Agent screens: the primary pairing has to clear the outdoor bar. + at('textPrimary', 'surface', AA_AGENT, 'textPrimary on surface (agent bar)'); + + // A tint surface must be distinguishable from a plain card. + for (const tone of ALL_TONES) { + const surface = tone === 'brand' ? 'brandSurface' : `${tone}Surface`; + at(surface, 'surface', TINT_SEPARATION, `${surface} distinct from surface`); + } + + // Borders have to be visible against the card they edge. + for (const border of ['border', 'borderStrong', 'brandBorder', 'accentBorder', + ...SEMANTIC.map((t) => `${t}Border`)]) { + at(border, 'surface', BORDER_VISIBILITY, `${border} visible on surface`); + } + + // Adjacent surface fills need a visible step, which is what carries depth + // once the shadow stops doing anything (Android, and dark mode generally). + at('background', 'surface', SURFACE_STEP, 'background / surface step'); + at('surface', 'surfaceMuted', SURFACE_STEP, 'surface / surfaceMuted step'); + at('surfaceMuted', 'surfaceSunk', SURFACE_STEP, 'surfaceMuted / surfaceSunk step'); + + // Categorical hues: the icon tone has to be legible on a plain card AND on + // its own tint chip, and the chip has to be visible against the card. This + // is what the old `${hue}15` alpha suffix could not deliver in dark mode. + for (const [hue, pair] of Object.entries(ramp.category)) { + const onCard = ratio(pair.tone, ramp.surface); + add(onCard >= AA, `category.${hue} tone on surface`, onCard, AA); + const onTint = ratio(pair.tone, pair.surface); + add(onTint >= AA, `category.${hue} tone on its tint`, onTint, AA); + const sep = ratio(pair.surface, ramp.surface); + add(sep >= TINT_SEPARATION, `category.${hue} tint distinct from surface`, sep, TINT_SEPARATION); + } + + // The on-brand tiers, against the LIGHTEST stop of the wash — the worst case. + const wash = ramp.brandGradient[0]; + for (const tier of ['onBrandPrimary', 'onBrandSecondary', 'onBrandMuted']) { + const r = ratio(ramp[tier], wash); + add(r >= AA, `${tier} on the brand wash`, r, AA); + } + // And solid white on each translucent fill — the tiers do not stack, so a + // fill always carries the solid tone. + for (const fill of ['onBrandSurface', 'onBrandSurfaceStrong']) { + const composited = composite(ramp[fill], wash); + const r = ratio(ramp.onBrandPrimary, composited); + add(r >= AA, `onBrandPrimary on ${fill}`, r, AA); + } + + return results; +}; + +/* ── run ─────────────────────────────────────────────────────────────────── */ + +const source = fs.readFileSync(PALETTE_PATH, 'utf8'); +const ramps = { light: parseRamp(source, 'light'), dark: parseRamp(source, 'dark') }; + +// Both ramps must declare the same keys — TypeScript enforces this at compile +// time, but this script also runs standalone, and a missing key here would +// otherwise show up as a confusing NaN. +const lightKeys = Object.keys(ramps.light).sort(); +const darkKeys = Object.keys(ramps.dark).sort(); +const missing = [ + ...lightKeys.filter((k) => !darkKeys.includes(k)).map((k) => `dark is missing "${k}"`), + ...darkKeys.filter((k) => !lightKeys.includes(k)).map((k) => `light is missing "${k}"`), +]; + +const all = [...checkRamp(ramps.light, 'light'), ...checkRamp(ramps.dark, 'dark')]; +const failures = all.filter((r) => !r.ok); + +for (const name of ['light', 'dark']) { + const rows = all.filter((r) => r.ramp === name); + const bad = rows.filter((r) => !r.ok); + console.log(`\n${name.toUpperCase()} ${rows.length} pairings, ${bad.length} failing`); + for (const row of bad) { + console.log(` FAIL ${row.label.padEnd(44)} ${row.value.toFixed(2)} (needs ${row.bar})`); + } +} + +if (missing.length) { + console.log('\nRAMP MISMATCH'); + missing.forEach((m) => console.log(` ${m}`)); +} + +if (failures.length || missing.length) { + console.log(`\n${failures.length} contrast failure(s), ${missing.length} mismatch(es).`); + console.log('Adjust the value in src/theme/palette.ts — do not delete the check.'); + process.exit(1); +} + +console.log(`\nAll ${all.length} pairings pass in both ramps.`); diff --git a/src/components/AccountCard/index.tsx b/src/components/AccountCard/index.tsx new file mode 100644 index 0000000..d58390d --- /dev/null +++ b/src/components/AccountCard/index.tsx @@ -0,0 +1,240 @@ +import React, { memo, useState } from 'react'; +import { Pressable, StyleSheet, Text, View } from 'react-native'; +import LinearGradient from 'react-native-linear-gradient'; +import Ionicons from '@react-native-vector-icons/ionicons'; + +import type { CbsAccount } from '../../types/cbs'; +import { useTheme, textStyles } from '../../theme'; + +interface AccountCardProps { + account: CbsAccount; + /** + * The customer's name, from the session. Passed in rather than read here: + * this is a shared presentational primitive and none of them reach into app + * state. It is also not account data — `/accounts` returns no holder name. + */ + accountHolder?: string; + /** + * Whether the reveal control for the account number is offered. When false + * the number stays masked with no way to reveal it. + */ + canRevealNumber?: boolean; +} + +/** + * The hero card for one account. + * + * This was a balance card until the app moved to `GET /accounts`, which + * returns no balance — and no other CBS endpoint returns one either. Rather + * than print a figure the bank never sent, the card now leads with what it can + * actually vouch for: which account this is, and whether it is usable. + * + * The account number is masked by default. `/accounts` is the only endpoint + * that returns an unmasked one, so revealing it is a deliberate act. + */ +const AccountCardComponent = ({ + account, + accountHolder, + canRevealNumber = true, +}: AccountCardProps) => { + const theme = useTheme(); + const [revealed, setRevealed] = useState(false); + + const showFull = revealed && canRevealNumber; + const displayNumber = showFull + ? account.accountNumber + : `XXXX ${account.accountNumber.slice(-4)}`; + + return ( + + + + + + + + + + + CBS Bank + + + {`${account.accountType.toUpperCase()} ACCOUNT`} + + + + + {/* A non-active account has to say so here: this is the card the + customer picks an account from, and dormant is the reason a later + transfer would be refused. */} + {account.status !== 'ACTIVE' ? ( + + + {account.status} + + + ) : null} + + + + + ACCOUNT NUMBER + + + + {displayNumber} + + {canRevealNumber ? ( + setRevealed((current) => !current)} + style={[styles.revealButton, { backgroundColor: theme.colors.onBrandSurface }]} + hitSlop={8} + accessibilityRole="button" + accessibilityLabel={showFull ? 'Hide account number' : 'Show account number'} + > + + + ) : null} + + + + + + + {accountHolder ? 'ACCOUNT HOLDER' : 'IFSC'} + + + {accountHolder ?? account.ifsc} + + + + + {account.mmid ? 'MMID' : 'IFSC'} + + + {account.mmid ?? account.ifsc} + + + + + ); +}; + +const styles = StyleSheet.create({ + card: { + padding: 24, + gap: 32, + position: 'relative', + minHeight: 260, + }, + gradientCard: { + overflow: 'hidden', + }, + brandAccent: { + position: 'absolute', + top: -50, + right: -50, + width: 200, + height: 200, + borderRadius: 100, + }, + topRow: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + }, + bankInfo: { + flexDirection: 'row', + alignItems: 'center', + gap: 12, + }, + bankIconFrame: { + width: 40, + height: 40, + borderRadius: 12, + alignItems: 'center', + justifyContent: 'center', + }, + bankName: { + ...textStyles.h3, + }, + cardType: { + ...textStyles.eyebrow, + fontSize: 10, + }, + statusBadge: { + paddingHorizontal: 12, + paddingVertical: 6, + borderRadius: 10, + }, + statusBadgeText: { + ...textStyles.eyebrow, + fontSize: 10, + letterSpacing: 0.5, + }, + mainContent: { + gap: 6, + }, + numberLabel: { + ...textStyles.eyebrow, + letterSpacing: 1, + }, + numberRow: { + flexDirection: 'row', + alignItems: 'center', + }, + // An account number, so it is set in mono — a customer reads these back a + // group at a time. + numberValue: { + ...textStyles.code, + flex: 1, + fontSize: 22, + letterSpacing: 1.5, + }, + revealButton: { + marginLeft: 12, + width: 32, + height: 32, + borderRadius: 16, + alignItems: 'center', + justifyContent: 'center', + }, + footerRow: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'flex-end', + marginTop: 4, + }, + footerItem: { + gap: 4, + flexShrink: 1, + }, + footerItemEnd: { + alignItems: 'flex-end', + }, + footerLabel: { + ...textStyles.eyebrow, + fontSize: 9, + letterSpacing: 1, + }, + footerValue: { + ...textStyles.bodyStrong, + fontSize: 14, + }, +}); + +export const AccountCard = memo(AccountCardComponent); diff --git a/src/components/AccountSelector/index.tsx b/src/components/AccountSelector/index.tsx new file mode 100644 index 0000000..417a591 --- /dev/null +++ b/src/components/AccountSelector/index.tsx @@ -0,0 +1,135 @@ +import React, { memo } from 'react'; +import { Pressable, ScrollView, StyleSheet, Text, View } from 'react-native'; + +import { useTheme, fontFamily } from '../../theme'; +import type { CbsAccount } from '../../types/cbs'; + +interface AccountSelectorProps { + /** The accounts to offer, as `GET /accounts` returned them. */ + accounts: CbsAccount[]; + /** The chosen account, addressed by its number — these have no local id. */ + selectedAccountNumber?: string; + onSelect: (accountNumber: string) => void; + /** Section label above the row — "Debit from", "Credit to", "Drawn on account". */ + label?: string; + /** Greys the row out and stops selection while a request is in flight. */ + disabled?: boolean; +} + +/** + * The account chooser that heads every account-scoped form. + * + * A row of chips rather than a dropdown: this app's customers hold two or three + * accounts, so every option fits on screen and the choice costs one tap instead + * of two plus a modal. + * + * Selection is drawn with a border and a tinted fill, never with colour alone — + * a chip that differed only in hue would be invisible to a customer who cannot + * separate the two, and this is the control that decides which account the + * money leaves. + * + * Accounts are shown masked. The unmasked number `GET /accounts` returns is + * carried in the value, never painted onto a chip. + */ +const AccountSelectorComponent = ({ + accounts, + selectedAccountNumber, + onSelect, + label, + disabled = false, +}: AccountSelectorProps) => { + const theme = useTheme(); + + if (!accounts.length) { + return null; + } + + return ( + + {label ? ( + {label} + ) : null} + + + {accounts.map((account) => { + const selected = account.accountNumber === selectedAccountNumber; + + return ( + onSelect(account.accountNumber)} + style={[ + styles.chip, + { + borderRadius: theme.radius.md, + backgroundColor: selected + ? theme.colors.primarySurface + : theme.colors.surfaceMuted, + borderColor: selected ? theme.colors.primary : 'transparent', + opacity: disabled ? 0.5 : 1, + }, + ]} + > + + {account.accountType.toUpperCase()} + + + {`XXXX ${account.accountNumber.slice(-4)}`} + + {/* Only ever shown when it is not ACTIVE — a status line on every + chip is noise, but a dormant account has to say so before it + is picked as the debit side of something. */} + {account.status !== 'ACTIVE' ? ( + + {account.status} + + ) : null} + + ); + })} + + + ); +}; + +const styles = StyleSheet.create({ + container: { + gap: 10, + }, + row: { + flexDirection: 'row', + gap: 12, + paddingRight: 4, + }, + chip: { + minWidth: 150, + gap: 4, + borderWidth: 1.5, + paddingVertical: 14, + paddingHorizontal: 16, + }, + type: { + fontSize: 14, + fontFamily: fontFamily.bold, + letterSpacing: 0.3, + }, + number: { + fontSize: 15, + }, + status: { + fontSize: 12, + fontFamily: fontFamily.bold, + letterSpacing: 0.3, + }, +}); + +export const AccountSelector = memo(AccountSelectorComponent); diff --git a/src/components/ActivityTracker/index.tsx b/src/components/ActivityTracker/index.tsx new file mode 100644 index 0000000..bcfdc04 --- /dev/null +++ b/src/components/ActivityTracker/index.tsx @@ -0,0 +1,38 @@ +import React from 'react'; +import { StyleSheet, View } from 'react-native'; + +import { sessionManager } from '../../services/security/sessionManager'; + +interface ActivityTrackerProps { + children: React.ReactNode; +} + +/** + * Records that the user is still there, app-wide. + * + * Needed because the server's idle window only resets on an authenticated call, + * and most of this app reads from fixtures — someone can browse the dashboard + * for five minutes without one, and be signed out while actively using it. + * + * `onStartShouldSetResponderCapture` sees every touch on the way down and + * returning false declines to become the responder, so it never swallows a tap, + * a scroll or a gesture. A wrapper that actually captured touches would break + * every pressable beneath it. + */ +export const ActivityTracker = ({ children }: ActivityTrackerProps) => ( + { + sessionManager.noteInteraction(); + return false; + }} + > + {children} + +); + +const styles = StyleSheet.create({ + fill: { + flex: 1, + }, +}); diff --git a/src/components/AppHeader/index.tsx b/src/components/AppHeader/index.tsx index b1004e2..0e90425 100644 --- a/src/components/AppHeader/index.tsx +++ b/src/components/AppHeader/index.tsx @@ -8,7 +8,7 @@ import { import { useNavigation } from '@react-navigation/native'; import Ionicons from '@react-native-vector-icons/ionicons'; -import { useTheme } from '../../theme'; +import { useTheme, fontFamily } from '../../theme'; interface AppHeaderProps { title: string; @@ -76,7 +76,7 @@ const styles = StyleSheet.create({ }, title: { fontSize: 20, - fontWeight: '700', + fontFamily: fontFamily.bold, textTransform: "uppercase", letterSpacing: 0.5, lineHeight: 20, diff --git a/src/components/AppearanceSetting/index.tsx b/src/components/AppearanceSetting/index.tsx new file mode 100644 index 0000000..ff9b8ec --- /dev/null +++ b/src/components/AppearanceSetting/index.tsx @@ -0,0 +1,77 @@ +import React from 'react'; +import { StyleSheet, Text, View } from 'react-native'; +import Ionicons from '@react-native-vector-icons/ionicons'; + +import { SegmentedControl, type SegmentedControlOption } from '../SegmentedControl'; +import { textStyles, useTheme, useThemeMode, type ThemeMode } from '../../theme'; + +/** + * The light / dark / system control. + * + * Three options rather than a switch, because "follow my phone" is a genuinely + * different answer from "always light" — and it is the one most people want. + * A two-state switch would force everybody to state a preference the OS has + * already been told, and would then ignore it when they changed it there. + * + * `System` is listed last despite being the default. The two explicit choices + * are what someone opening this screen is looking for; `System` is where they + * go back to, and a segmented control reads left to right. + */ + +const OPTIONS: ReadonlyArray> = [ + { value: 'light', label: 'Light' }, + { value: 'dark', label: 'Dark' }, + { value: 'system', label: 'System' }, +]; + +export const AppearanceSetting = () => { + const theme = useTheme(); + const { mode, resolved, setMode } = useThemeMode(); + + return ( + + + + {/* + Only shown for `system`, and it names what the phone is currently set + to. Without it the control is ambiguous: `System` is selected, and + nothing on screen says which of the two that actually means — so a + customer whose handset is in light mode cannot tell whether the setting + took effect. + */} + {mode === 'system' ? ( + + + + {`Following your phone, which is set to ${resolved}.`} + + + ) : null} + + ); +}; + +const styles = StyleSheet.create({ + wrapper: { + gap: 10, + paddingVertical: 4, + }, + hintRow: { + flexDirection: 'row', + alignItems: 'center', + gap: 6, + }, + hint: { + ...textStyles.caption, + flex: 1, + }, +}); diff --git a/src/components/BalanceCard/index.tsx b/src/components/BalanceCard/index.tsx deleted file mode 100644 index 7e76191..0000000 --- a/src/components/BalanceCard/index.tsx +++ /dev/null @@ -1,230 +0,0 @@ -import React, { memo, useState } from 'react'; -import { - Pressable, - StyleSheet, - Text, - View, -} from 'react-native'; -import LinearGradient from 'react-native-linear-gradient'; -import Ionicons from '@react-native-vector-icons/ionicons'; - -import type { AccountSummary } from '../../types/app'; -import { useTheme } from '../../theme'; -import { formatCurrency } from '../../utils/formatters'; - -interface BalanceCardProps { - account: AccountSummary; - secondaryLabel?: string; -} - -const BalanceCardComponent = ({ account, secondaryLabel = 'SAVINGS ACCOUNT' }: BalanceCardProps) => { - const theme = useTheme(); - const [isBalanceVisible, setIsBalanceVisible] = useState(true); - - const formattedBalance = formatCurrency(account.availableBalance).replace('₹', ''); - - return ( - - {/* Decorative Brand Accent */} - - - - - - - - - CBS Bank - {secondaryLabel} - - - {account.isPrimary && ( - - PRIMARY - - )} - - - - A/c {account.maskedNumber} - - AVAILABLE BALANCE - - - {isBalanceVisible ? `₹${formattedBalance}` : '₹ ••••••'} - - setIsBalanceVisible((currentValue) => !currentValue)} - style={styles.visibilityButton} - hitSlop={8} - > - - - - - - - - - ACCOUNT HOLDER - {account.accountHolder} - - - UPI STATUS - - - Active - - - - - ); -}; - -const styles = StyleSheet.create({ - card: { - padding: 24, - gap: 32, - position: 'relative', - minHeight: 260, - }, - gradientCard: { - overflow: 'hidden', - }, - brandAccent: { - position: 'absolute', - top: -50, - right: -50, - width: 200, - height: 200, - borderRadius: 100, - backgroundColor: 'rgba(255, 255, 255, 0.1)', - }, - topRow: { - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', - }, - bankInfo: { - flexDirection: 'row', - alignItems: 'center', - gap: 12, - }, - bankIconFrame: { - width: 40, - height: 40, - borderRadius: 12, - alignItems: 'center', - justifyContent: 'center', - backgroundColor: 'rgba(255, 255, 255, 0.2)', - }, - bankName: { - color: 'white', - fontSize: 18, - fontWeight: '900', - letterSpacing: -0.5, - }, - cardType: { - color: 'rgba(255, 255, 255, 0.7)', - fontSize: 10, - fontWeight: '800', - letterSpacing: 1, - textTransform: 'uppercase', - }, - primaryBadge: { - paddingHorizontal: 12, - paddingVertical: 6, - borderRadius: 10, - backgroundColor: 'white', - }, - primaryBadgeText: { - color: '#124577', - fontSize: 10, - fontWeight: '900', - letterSpacing: 0.5, - }, - mainContent: { - gap: 20, - }, - maskedNumber: { - color: 'white', - fontSize: 18, - fontWeight: '700', - letterSpacing: 1.5, - }, - balanceContainer: { - gap: 4, - }, - balanceLabel: { - color: 'rgba(255, 255, 255, 0.7)', - fontSize: 11, - fontWeight: '800', - letterSpacing: 1, - }, - amountRow: { - flexDirection: 'row', - alignItems: 'center', - }, - amountValue: { - color: 'white', - fontSize: 36, - fontWeight: '900', - letterSpacing: -1, - }, - visibilityButton: { - marginLeft: 12, - width: 32, - height: 32, - borderRadius: 16, - alignItems: 'center', - justifyContent: 'center', - backgroundColor: 'rgba(255, 255, 255, 0.08)', - }, - footerRow: { - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'flex-end', - marginTop: 4, - }, - footerItem: { - gap: 4, - }, - footerItemEnd: { - alignItems: 'flex-end', - }, - footerLabel: { - color: 'rgba(255, 255, 255, 0.6)', - fontSize: 9, - fontWeight: '800', - letterSpacing: 1, - }, - footerValue: { - color: 'white', - fontSize: 14, - fontWeight: '700', - }, - upiRow: { - flexDirection: 'row', - alignItems: 'center', - gap: 6, - }, - upiDot: { - width: 6, - height: 6, - borderRadius: 3, - backgroundColor: '#35D6A3', - }, -}); - - - -export const BalanceCard = memo(BalanceCardComponent); diff --git a/src/components/BottomSheet/index.tsx b/src/components/BottomSheet/index.tsx index 0cff2bb..02dbbad 100644 --- a/src/components/BottomSheet/index.tsx +++ b/src/components/BottomSheet/index.tsx @@ -13,7 +13,7 @@ import { View, } from 'react-native'; -import { useTheme } from '../../theme'; +import { useTheme, fontFamily } from '../../theme'; interface BottomSheetProps { visible: boolean; @@ -107,6 +107,6 @@ const styles = StyleSheet.create({ }, title: { fontSize: 18, - fontWeight: '700', + fontFamily: fontFamily.bold, }, }); diff --git a/src/components/Button/index.tsx b/src/components/Button/index.tsx index c27428d..3b4b431 100644 --- a/src/components/Button/index.tsx +++ b/src/components/Button/index.tsx @@ -1,4 +1,4 @@ -import React, { memo } from 'react'; +import React, { memo, useCallback, useState } from 'react'; import { ActivityIndicator, Pressable, @@ -10,152 +10,219 @@ import { type ViewStyle, type TextStyle, } from 'react-native'; -import LinearGradient from 'react-native-linear-gradient'; import { useTheme } from '../../theme'; import { haptics } from '../../services/haptics/haptics'; -type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'cyber'; +/** + * The variants the design system defines. `cyber` was removed — it was a + * leftover from an earlier theme, it drew a coloured glow that Android throws + * away, and nothing in the app used it. + * + * `inverse` and `onBrand` exist for the full-bleed navy sign-in screen, where + * `primary` would be navy-on-navy and simply vanish. `inverse` is the primary + * action there (white fill, navy label, 9.80:1); `onBrand` is the secondary + * one (a low-opacity white fill, white label, 4.66:1 at the lightest point of + * the gradient). + */ +type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'inverse' | 'onBrand'; + +/** + * `md` is the default. `lg` is for agent screens, where the person is standing + * up and working one-handed. `sm` is for an inline action inside a row or card. + */ +type ButtonSize = 'sm' | 'md' | 'lg'; interface ButtonProps { title: string; onPress?: (event: GestureResponderEvent) => void; variant?: ButtonVariant; + size?: ButtonSize; disabled?: boolean; loading?: boolean; fullWidth?: boolean; style?: StyleProp; textStyle?: StyleProp; leftAccessory?: React.ReactNode; + rightAccessory?: React.ReactNode; + /** Defaults to `title`. Set it when the title alone is not descriptive. */ + accessibilityLabel?: string; } const ButtonComponent = ({ title, onPress, variant = 'primary', + size = 'md', disabled = false, loading = false, fullWidth = true, style, textStyle, leftAccessory, + rightAccessory, + accessibilityLabel, }: ButtonProps) => { const theme = useTheme(); + const [pressed, setPressed] = useState(false); + const inert = disabled || loading; - const handlePress = (e: GestureResponderEvent) => { - if (!disabled && !loading) { + const handlePress = useCallback( + (event: GestureResponderEvent) => { + if (inert) { + return; + } haptics.selection(); - onPress?.(e); - } - }; - - const isSolid = variant === 'primary' || variant === 'danger' || variant === 'cyber'; - - - const containerStyle = [ - styles.button, - { - borderRadius: theme.radius.md, - borderColor: - variant === 'ghost' - ? 'transparent' - : variant === 'secondary' - ? theme.colors.cardBorder - : variant === 'cyber' - ? theme.colors.cyberCyan + '30' - : 'transparent', - backgroundColor: - variant === 'secondary' ? theme.colors.cardGlass : 'transparent', - width: fullWidth ? ('100%' as const) : undefined, - opacity: disabled || loading ? 0.6 : 1, + onPress?.(event); }, - variant === 'cyber' && { - shadowColor: theme.colors.cyberCyan, - shadowOffset: { width: 0, height: 0 }, - shadowOpacity: 0.5, - shadowRadius: 10, - elevation: 8, - }, - style, - ]; - - const content = ( - - {loading ? ( - - ) : ( - <> - {leftAccessory} - - {title} - - - )} - + [inert, onPress], ); + const height = + size === 'lg' + ? theme.layout.controlHeightAgent + : size === 'sm' + ? theme.layout.controlHeightSmall + : theme.layout.controlHeight; + + /** + * Pressed feedback is a real colour step, not a blanket opacity fade. Fading + * a navy button to 60% drops its white label under AA, so the fill darkens + * and the label stays at full strength instead. + */ + const surface = ((): { backgroundColor: string; borderColor: string; label: string } => { + if (disabled) { + return { + backgroundColor: theme.colors.surfaceSunk, + borderColor: theme.colors.cardBorderStrong, + // textSecondary is 5.38:1 on surfaceSunk, so a disabled label stays readable. + label: theme.colors.textSecondary, + }; + } + + switch (variant) { + case 'primary': + return { + backgroundColor: pressed ? theme.colors.primaryDark : theme.colors.primary, + borderColor: pressed ? theme.colors.primaryDark : theme.colors.primary, + label: theme.colors.textOnBrand, + }; + case 'danger': + return { + backgroundColor: theme.colors.danger, + borderColor: theme.colors.danger, + label: theme.colors.textOnBrand, + }; + case 'secondary': + return { + backgroundColor: pressed ? theme.colors.surfaceMuted : theme.colors.surface, + borderColor: theme.colors.cardBorderStrong, + label: theme.colors.primary, + }; + case 'inverse': + return { + backgroundColor: pressed ? theme.colors.surfaceMuted : theme.colors.surface, + borderColor: 'transparent', + label: theme.colors.primary, + }; + case 'onBrand': + return { + // Pressing LIGHTENS less rather than more: 0.18 is the ceiling for a + // fill that carries white text, so the feedback has to go the other + // way to stay above AA. + backgroundColor: pressed + ? theme.colors.onBrandSurface + : theme.colors.onBrandSurfaceStrong, + borderColor: theme.colors.onBrandBorder, + label: theme.colors.onBrandPrimary, + }; + case 'ghost': + default: + return { + backgroundColor: pressed ? theme.colors.primarySurface : 'transparent', + borderColor: 'transparent', + label: theme.colors.primary, + }; + } + })(); + return ( - - {isSolid ? ( - setPressed(true)} + onPressOut={() => setPressed(false)} + style={[ + styles.button, + { + minHeight: height, + borderRadius: theme.radius.md, + backgroundColor: surface.backgroundColor, + borderColor: surface.borderColor, + width: fullWidth ? '100%' : undefined, + paddingHorizontal: size === 'sm' ? theme.spacing.sm : theme.spacing.lg, + }, + // A secondary button is the one variant that reads as a raised object; + // ghost and the solid fills carry their own weight through colour. + variant === 'secondary' && !disabled && theme.elevation.level1, + style, + ]} + > + {/* The label stays mounted while loading so the button cannot change + width mid-request and shift the layout under the user's thumb. */} + {loading ? ( + + + + ) : null} + + + {leftAccessory} + - {content} - - ) : ( - content - )} + {title} + + {rightAccessory} + ); }; - const styles = StyleSheet.create({ button: { borderWidth: 1, - overflow: 'hidden', - }, - gradient: { - width: '100%', - }, - content: { - minHeight: 54, flexDirection: 'row', alignItems: 'center', justifyContent: 'center', - gap: 10, - paddingHorizontal: 18, + overflow: 'hidden', }, - label: { - fontSize: 15, - fontWeight: '700', + content: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + gap: 8, + }, + contentHidden: { + opacity: 0, + }, + loadingOverlay: { + ...StyleSheet.absoluteFillObject, + alignItems: 'center', + justifyContent: 'center', + }, + labelSmall: { + fontSize: 13, + lineHeight: 18, }, }); diff --git a/src/components/Card/index.tsx b/src/components/Card/index.tsx index f6feb41..c35a8a8 100644 --- a/src/components/Card/index.tsx +++ b/src/components/Card/index.tsx @@ -1,30 +1,68 @@ import React, { memo, type PropsWithChildren } from 'react'; -import { - StyleSheet, - View, - type StyleProp, - type ViewStyle, -} from 'react-native'; +import { StyleSheet, View, type StyleProp, type ViewStyle } from 'react-native'; import { useTheme } from '../../theme'; +/** + * `default` is the resting card and the right answer almost always. + * + * `flat` has a border and no lift — use it for a card that sits inside another + * card, or for a grouped list where a shadow per row would be noise. + * + * `raised` is for the one object on a screen that has to sit above everything + * else, typically the hero balance card. Two raised cards on one screen means + * neither of them is. + * + * `muted` is a well rather than an object — a summary block, a read-only recap. + * + * `glass` is kept only because 13 call sites still pass it. There is no blur + * library in this app, so it never actually rendered as glass; it resolves to + * `default`. + */ +type CardVariant = 'default' | 'flat' | 'raised' | 'muted' | 'glass'; + interface CardProps extends PropsWithChildren { style?: StyleProp; - variant?: 'default' | 'glass'; + variant?: CardVariant; + /** Drops the built-in padding, for a card that holds an edge-to-edge list. */ + noPadding?: boolean; } -const CardComponent = ({ children, style, variant = 'default' }: CardProps) => { +const CardComponent = ({ + children, + style, + variant = 'default', + noPadding = false, +}: CardProps) => { const theme = useTheme(); + const { backgroundColor, elevation } = ((): { + backgroundColor: string; + elevation: ViewStyle; + } => { + switch (variant) { + case 'flat': + return { backgroundColor: theme.colors.surface, elevation: theme.elevation.level0 }; + case 'raised': + return { backgroundColor: theme.colors.surface, elevation: theme.elevation.level2 }; + case 'muted': + return { backgroundColor: theme.colors.surfaceMuted, elevation: theme.elevation.level0 }; + case 'glass': + case 'default': + default: + return { backgroundColor: theme.colors.surface, elevation: theme.elevation.level1 }; + } + })(); + return ( { ); }; - const styles = StyleSheet.create({ card: { borderWidth: 1, - padding: 18, + // Clipping is what lets a card hold an edge-to-edge list or image without + // the child squaring off the card's own corners. + overflow: 'hidden', }, }); diff --git a/src/components/DatePicker/index.tsx b/src/components/DatePicker/index.tsx index 48c0371..2d1d719 100644 --- a/src/components/DatePicker/index.tsx +++ b/src/components/DatePicker/index.tsx @@ -12,7 +12,7 @@ import { import Ionicons from '@react-native-vector-icons/ionicons'; import Animated, { FadeIn, FadeOut } from 'react-native-reanimated'; -import { useTheme } from '../../theme'; +import { useTheme, fontFamily } from '../../theme'; const SCREEN_WIDTH = Dimensions.get('window').width; const DAY_SIZE = Math.floor((SCREEN_WIDTH - 80) / 7); @@ -273,8 +273,8 @@ export const DatePicker = ({ style={[ styles.dayText, { color: theme.colors.textPrimary }, - isSelected && { color: theme.colors.white, fontWeight: '800' }, - isToday && !isSelected && { color: theme.colors.primary, fontWeight: '700' }, + isSelected && { color: theme.colors.white, fontFamily: fontFamily.bold }, + isToday && !isSelected && { color: theme.colors.primary, fontFamily: fontFamily.bold }, disabled && { color: theme.colors.textMuted, opacity: 0.4 }, ]} > @@ -287,7 +287,7 @@ export const DatePicker = ({ {/* Footer */} - + setVisible(false)} style={[styles.footerBtn, { borderColor: theme.colors.cardBorder }]}> Cancel @@ -299,7 +299,7 @@ export const DatePicker = ({ }} style={[styles.footerBtn, styles.todayBtn, { backgroundColor: `${theme.colors.primary}12` }]} > - Today + Today @@ -382,7 +382,7 @@ export const DatePicker = ({ styles.yearRowText, { color: isActive ? theme.colors.primary : theme.colors.textPrimary, - fontWeight: isActive ? '800' : '500', + fontFamily: isActive ? fontFamily.bold : fontFamily.medium, }, ]} > @@ -462,7 +462,7 @@ const styles = StyleSheet.create({ }, label: { fontSize: 11, - fontWeight: '700', + fontFamily: fontFamily.bold, letterSpacing: 0.5, marginLeft: 4, }, @@ -477,11 +477,11 @@ const styles = StyleSheet.create({ inputText: { flex: 1, fontSize: 15, - fontWeight: '500', + fontFamily: fontFamily.medium, }, errorText: { fontSize: 12, - fontWeight: '500', + fontFamily: fontFamily.medium, marginTop: 2, marginLeft: 4, }, @@ -528,11 +528,11 @@ const styles = StyleSheet.create({ }, monthText: { fontSize: 18, - fontWeight: '800', + fontFamily: fontFamily.bold, }, yearText: { fontSize: 13, - fontWeight: '600', + fontFamily: fontFamily.semibold, marginTop: 2, }, @@ -544,7 +544,7 @@ const styles = StyleSheet.create({ }, weekdayText: { fontSize: 12, - fontWeight: '700', + fontFamily: fontFamily.bold, letterSpacing: 0.5, }, daysGrid: { @@ -558,7 +558,7 @@ const styles = StyleSheet.create({ }, dayText: { fontSize: 14, - fontWeight: '500', + fontFamily: fontFamily.medium, }, // ── Footer ─────────────────────────────────── @@ -569,7 +569,6 @@ const styles = StyleSheet.create({ marginTop: 16, paddingTop: 12, borderTopWidth: 1, - borderTopColor: 'rgba(0,0,0,0.05)', }, footerBtn: { paddingHorizontal: 20, @@ -583,7 +582,7 @@ const styles = StyleSheet.create({ }, footerBtnText: { fontSize: 14, - fontWeight: '600', + fontFamily: fontFamily.semibold, }, // ── Month / Year picker shared ─────────────── @@ -595,7 +594,7 @@ const styles = StyleSheet.create({ }, pickerTitle: { fontSize: 17, - fontWeight: '800', + fontFamily: fontFamily.bold, }, // ── Month picker grid ──────────────────────── @@ -615,7 +614,7 @@ const styles = StyleSheet.create({ }, monthCellText: { fontSize: 15, - fontWeight: '700', + fontFamily: fontFamily.bold, }, // ── Year picker list ───────────────────────── diff --git a/src/components/EmptyState/index.tsx b/src/components/EmptyState/index.tsx index a81697d..6c7ef02 100644 --- a/src/components/EmptyState/index.tsx +++ b/src/components/EmptyState/index.tsx @@ -5,7 +5,7 @@ import { View, } from 'react-native'; -import { useTheme } from '../../theme'; +import { useTheme, fontFamily } from '../../theme'; import { Button } from '../Button'; interface EmptyStateProps { @@ -57,7 +57,7 @@ const styles = StyleSheet.create({ }, title: { fontSize: 18, - fontWeight: '700', + fontFamily: fontFamily.bold, }, description: { fontSize: 14, diff --git a/src/components/InfoBanner/index.tsx b/src/components/InfoBanner/index.tsx new file mode 100644 index 0000000..a7e942e --- /dev/null +++ b/src/components/InfoBanner/index.tsx @@ -0,0 +1,164 @@ +import React, { memo } from 'react'; +import { Pressable, StyleSheet, Text, View, type StyleProp, type ViewStyle } from 'react-native'; +import Ionicons from '@react-native-vector-icons/ionicons'; + +import { useTheme } from '../../theme'; + +type InfoBannerTone = 'info' | 'warning' | 'danger' | 'success' | 'brand'; + +type IoniconName = React.ComponentProps['name']; + +interface InfoBannerProps { + /** Optional — a one-line banner reads better without one. */ + title?: string; + message: string; + tone?: InfoBannerTone; + /** Overrides the tone's default icon. */ + icon?: IoniconName; + /** Renders a text action beneath the message. */ + actionLabel?: string; + onActionPress?: () => void; + style?: StyleProp; +} + +/** + * An inline notice — the thing to reach for instead of a toast when the message + * has to stay on screen while the customer fixes something. + * + * The tone is carried by an icon as well as a colour, because a red border + * alone tells a colour-blind customer nothing, and tells an agent holding the + * phone in direct sunlight even less. + */ +const DEFAULT_ICON: Record = { + info: 'information-circle', + warning: 'warning', + danger: 'alert-circle', + success: 'checkmark-circle', + brand: 'shield-checkmark', +}; + +const InfoBannerComponent = ({ + title, + message, + tone = 'info', + icon, + actionLabel, + onActionPress, + style, +}: InfoBannerProps) => { + const theme = useTheme(); + + const palette = ((): { fg: string; bg: string; border: string } => { + switch (tone) { + case 'warning': + return { + fg: theme.colors.warning, + bg: theme.colors.warningSurface, + border: theme.colors.warningBorder, + }; + case 'danger': + return { + fg: theme.colors.danger, + bg: theme.colors.dangerSurface, + border: theme.colors.dangerBorder, + }; + case 'success': + return { + fg: theme.colors.success, + bg: theme.colors.successSurface, + border: theme.colors.successBorder, + }; + case 'brand': + return { + fg: theme.colors.primary, + bg: theme.colors.primarySurface, + border: theme.colors.primaryBorder, + }; + case 'info': + default: + return { + fg: theme.colors.info, + bg: theme.colors.infoSurface, + border: theme.colors.infoBorder, + }; + } + })(); + + return ( + + + + + {title ? ( + {title} + ) : null} + + {/* The message stays in secondary ink rather than the tone colour. + Tinting a whole paragraph is what makes these banners shout — the + icon and the tinted surface already carry the tone. */} + {message} + + {actionLabel && onActionPress ? ( + + {actionLabel} + + + ) : null} + + + ); +}; + +const styles = StyleSheet.create({ + banner: { + flexDirection: 'row', + borderWidth: 1, + }, + icon: { + // Optically aligns the icon with the first line of text rather than with + // the centre of a paragraph that may run to four lines. + marginTop: 1, + }, + body: { + flex: 1, + gap: 2, + }, + action: { + flexDirection: 'row', + alignItems: 'center', + gap: 2, + marginTop: 6, + minHeight: 24, + }, +}); + +export const InfoBanner = memo(InfoBannerComponent); diff --git a/src/components/Input/index.tsx b/src/components/Input/index.tsx index ecdfeb1..94a4748 100644 --- a/src/components/Input/index.tsx +++ b/src/components/Input/index.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React, { useCallback, useState } from 'react'; import { StyleSheet, Text, @@ -6,75 +6,158 @@ import { View, type TextInputProps, } from 'react-native'; -import Animated, { - useSharedValue, - useAnimatedStyle, - withTiming, - interpolateColor, - withRepeat, - Easing -} from 'react-native-reanimated'; +import Ionicons from '@react-native-vector-icons/ionicons'; import { useTheme } from '../../theme'; interface InputProps extends TextInputProps { label?: string; error?: string; + /** Helper text under the field. Hidden while `error` is showing. */ + hint?: string; + /** Adds a marker to the label. Does not itself validate anything. */ + required?: boolean; + /** + * A short fixed prefix inside the field, separated by a vertical rule — the + * "+91" in front of a mobile number is the case this exists for. + */ + prefix?: string; leftAccessory?: React.ReactNode; rightAccessory?: React.ReactNode; + // Pulled out of the spread so it can be merged *after* the base styles below. + // Spread alone left it silently discarded, because the explicit `style` prop + // on the TextInput overwrote it — which is why SupportScreen's description + // box had been rendering as a single line despite asking for four. + style?: TextInputProps['style']; } export const Input = ({ label, error, + hint, + required = false, + prefix, leftAccessory, rightAccessory, + style, + multiline, + editable = true, + onFocus, + onBlur, ...props }: InputProps) => { const theme = useTheme(); - const focused = useSharedValue(0); + const [focused, setFocused] = useState(false); - const handleFocus = () => { - focused.value = withTiming(1, { duration: 250 }); - }; + // The parameter type is inferred from React Native's own prop type rather + // than named outright, because the focus/blur event type has been renamed + // across RN versions and hard-coding it breaks on upgrade. + const handleFocus: NonNullable = useCallback( + (event) => { + setFocused(true); + onFocus?.(event); + }, + [onFocus], + ); - const handleBlur = () => { - focused.value = withTiming(0, { duration: 250 }); - }; + const handleBlur: NonNullable = useCallback( + (event) => { + setFocused(false); + onBlur?.(event); + }, + [onBlur], + ); - const containerAnimatedStyle = useAnimatedStyle(() => ({ - borderColor: interpolateColor( - focused.value, - [0, 1], - [theme.colors.cardBorder, theme.colors.primary] - ), - backgroundColor: interpolateColor( - focused.value, - [0, 1], - ['rgba(0, 0, 0, 0.02)', '#FFFFFF'] - ), - transform: [{ scale: withTiming(focused.value === 1 ? 1.01 : 1, { duration: 200 }) }], - })); + /** + * Border width is held constant across every state on purpose. Thickening it + * on focus reflows the row and nudges the text under the caret, and the + * previous version also scaled the whole field to 1.01 — a money field that + * jumps as you tap it does not read as a bank. The state change is carried + * by colour and by the surface behind the field instead. + */ + const borderColor = error + ? theme.colors.danger + : focused + ? theme.colors.primary + : theme.colors.cardBorder; + + const backgroundColor = !editable + ? theme.colors.surfaceMuted + : error + ? theme.colors.dangerSurface + : theme.colors.surface; return ( - {label && ( - - {label.toUpperCase()} + {label ? ( + + {label} + {required ? * : null} - )} - - {leftAccessory && {leftAccessory}} + ) : null} + + + {leftAccessory ? {leftAccessory} : null} + + {prefix ? ( + + + {prefix} + + + + ) : null} + - {rightAccessory && {rightAccessory}} - - {error && {error}} + + {rightAccessory ? {rightAccessory} : null} + + + {/* An error is not signalled by colour alone — the icon carries it too, + which is what a colour-blind or sunlit user actually reads. */} + {error ? ( + + + + {error} + + + ) : hint ? ( + + + {hint} + + + ) : null} ); }; @@ -83,35 +166,49 @@ const styles = StyleSheet.create({ container: { gap: 6, }, - label: { - fontSize: 11, - fontWeight: '700', - letterSpacing: 0.5, - marginLeft: 4, - }, - inputWrapper: { + field: { flexDirection: 'row', alignItems: 'center', - height: 52, - borderRadius: 12, borderWidth: 1, - paddingHorizontal: 16, - overflow: 'hidden', + }, + fieldMultiline: { + alignItems: 'flex-start', + paddingVertical: 12, }, input: { flex: 1, - fontSize: 15, - fontWeight: '500', - height: '100%', + // Android adds its own vertical padding to a TextInput; zeroing it is what + // keeps the text optically centred inside the 52pt row. + paddingVertical: 0, }, - accessory: { + inputMultiline: { + minHeight: 96, + textAlignVertical: 'top', + }, + prefix: { + flexDirection: 'row', + alignItems: 'center', + gap: 10, marginRight: 10, - opacity: 0.7, }, - errorText: { - fontSize: 12, - fontWeight: '500', - marginTop: 2, - marginLeft: 4, + prefixRule: { + width: 1, + height: 22, + }, + accessoryLeft: { + marginRight: 10, + }, + // Mirrored, not shared: a trailing accessory needs its gap on the leading + // side, and the old shared style pushed it away from the edge it sits on. + accessoryRight: { + marginLeft: 10, + }, + message: { + flexDirection: 'row', + alignItems: 'center', + gap: 5, + }, + messageText: { + flex: 1, }, }); diff --git a/src/components/Modal/index.tsx b/src/components/Modal/index.tsx index 612d3fe..4035b38 100644 --- a/src/components/Modal/index.tsx +++ b/src/components/Modal/index.tsx @@ -12,7 +12,7 @@ import { View, } from 'react-native'; -import { useTheme } from '../../theme'; +import { useTheme, fontFamily } from '../../theme'; interface AppModalProps { visible: boolean; @@ -100,7 +100,7 @@ const styles = StyleSheet.create({ }, title: { fontSize: 20, - fontWeight: '700', + fontFamily: fontFamily.bold, }, description: { fontSize: 14, diff --git a/src/components/ScreenShell/index.tsx b/src/components/ScreenShell/index.tsx index c276bc3..cffede0 100644 --- a/src/components/ScreenShell/index.tsx +++ b/src/components/ScreenShell/index.tsx @@ -1,11 +1,9 @@ import React from 'react'; import { - Keyboard, KeyboardAvoidingView, Platform, ScrollView, StyleSheet, - TouchableWithoutFeedback, View, StatusBar, type StyleProp, @@ -62,9 +60,16 @@ export const ScreenShell = ({ }: ScreenShellProps) => { const theme = useTheme(); - // iOS needs 'padding' behavior, Android handles it natively via windowSoftInputMode - // but we use 'height' as a fallback for Android screens that need it - const kavBehavior = Platform.OS === 'ios' ? 'padding' as const : 'height' as const; + /** + * Android is handled by the manifest, not by React. + * + * `windowSoftInputMode="adjustResize"` already shrinks the window when the + * keyboard opens. Running a KeyboardAvoidingView on top of that shrinks the + * content a second time, so every keyboard event triggered two layout passes + * over the whole screen — which is what made lists stutter while scrolling. + * iOS has no equivalent, so it keeps the component. + */ + const usesKeyboardAvoidingView = keyboardAware && Platform.OS === 'ios'; // Base offset accounts for the navigation header + safe area const baseOffset = Platform.OS === 'ios' ? 90 : 0; const totalOffset = baseOffset + keyboardExtraOffset; @@ -83,35 +88,43 @@ export const ScreenShell = ({ ]} showsVerticalScrollIndicator={false} keyboardShouldPersistTaps="handled" - keyboardDismissMode="interactive" + // 'interactive' is iOS-only and degrades to 'none' on Android, which left + // the keyboard up for the whole scroll. + keyboardDismissMode={Platform.OS === 'ios' ? 'interactive' : 'on-drag'} automaticallyAdjustKeyboardInsets={Platform.OS === 'ios'} > {children} ); + /** + * Non-scrolling content — in practice, a screen whose child is its own list. + * + * This used to be wrapped in a `TouchableWithoutFeedback` that dismissed the + * keyboard on tap. That wrapper claims the touch responder on every touch + * start, so it spent every screen competing with the list inside it for the + * same gesture: swipes were dropped or arrived late. Keyboard dismissal + * belongs to the scrollable itself — `keyboardDismissMode` — which does not + * fight the gesture it is attached to. + */ const staticContent = ( - - - - {children} - - + + {children} ); const content = scrollable ? scrollContent : staticContent; - const innerContent = keyboardAware ? ( + const innerContent = usesKeyboardAvoidingView ? ( @@ -124,11 +137,7 @@ export const ScreenShell = ({ const container = ( {/* ✅ Status Bar Added */} - + {title ? ( diff --git a/src/components/SegmentedControl/index.tsx b/src/components/SegmentedControl/index.tsx new file mode 100644 index 0000000..8066766 --- /dev/null +++ b/src/components/SegmentedControl/index.tsx @@ -0,0 +1,179 @@ +import React, { useCallback, useState } from 'react'; +import { + Pressable, + StyleSheet, + Text, + View, + type LayoutChangeEvent, + type StyleProp, + type ViewStyle, +} from 'react-native'; +import Animated, { useAnimatedStyle, withTiming } from 'react-native-reanimated'; + +import { useTheme } from '../../theme'; +import { haptics } from '../../services/haptics/haptics'; + +export interface SegmentedControlOption { + value: T; + label: string; +} + +interface SegmentedControlProps { + options: ReadonlyArray>; + value: T; + onChange: (value: T) => void; + disabled?: boolean; + /** `lg` raises the track to the 48pt agent target. */ + size?: 'md' | 'lg'; + style?: StyleProp; + accessibilityLabel?: string; +} + +/** + * Switches between two or three views of the same thing. + * + * The thumb is a real view that slides, so it animates on the UI thread and + * never depends on a pseudo-element or a blur — neither of which exists in + * React Native. Its position comes from a measured track width rather than a + * percentage, because a percentage-positioned thumb drifts by a pixel or two + * per segment and the drift is visible at three segments. + * + * Use this for a view switch, not for navigation between unrelated screens, and + * not for more than three options — past three, the labels stop fitting on a + * 360pt phone and a set of Chips is the right control instead. + */ +export function SegmentedControl({ + options, + value, + onChange, + disabled = false, + size = 'md', + style, + accessibilityLabel, +}: SegmentedControlProps) { + const theme = useTheme(); + const [trackWidth, setTrackWidth] = useState(0); + + const activeIndex = Math.max( + 0, + options.findIndex((option) => option.value === value), + ); + + const handleLayout = useCallback((event: LayoutChangeEvent) => { + setTrackWidth(event.nativeEvent.layout.width); + }, []); + + const inset = 3; + const segmentWidth = trackWidth > 0 ? (trackWidth - inset * 2) / options.length : 0; + const height = size === 'lg' ? 48 : 44; + + const thumbStyle = useAnimatedStyle( + () => ({ + transform: [{ translateX: withTiming(segmentWidth * activeIndex, { duration: 180 }) }], + }), + [segmentWidth, activeIndex], + ); + + const handlePress = useCallback( + (next: T) => { + if (disabled || next === value) { + return; + } + haptics.selection(); + onChange(next); + }, + [disabled, onChange, value], + ); + + return ( + + {/* Rendered only once the track has been measured — an unmeasured thumb + would flash at zero width on the first frame. */} + {segmentWidth > 0 ? ( + + ) : null} + + {options.map((option) => { + const active = option.value === value; + + return ( + handlePress(option.value)} + style={styles.segment} + > + + {option.label} + + + ); + })} + + ); +} +const styles = StyleSheet.create({ + track: { + flexDirection: 'row', + borderWidth: 1, + // Clips the thumb to the pill on the final segment, where it otherwise + // overhangs the rounded end by a hair. + overflow: 'hidden', + }, + thumb: { + position: 'absolute', + top: 3, + left: 3, + bottom: 3, + borderWidth: 1, + borderColor: 'transparent', + }, + segment: { + flex: 1, + alignItems: 'center', + justifyContent: 'center', + }, + label: { + fontSize: 14, + }, +}); diff --git a/src/components/Stepper/index.tsx b/src/components/Stepper/index.tsx new file mode 100644 index 0000000..8da6143 --- /dev/null +++ b/src/components/Stepper/index.tsx @@ -0,0 +1,181 @@ +import React, { memo } from 'react'; +import { StyleSheet, Text, View, type StyleProp, type ViewStyle } from 'react-native'; +import Ionicons from '@react-native-vector-icons/ionicons'; + +import { useTheme } from '../../theme'; + +interface StepperProps { + /** Two to four short labels. Longer than four and they stop fitting a 360pt phone. */ + steps: readonly string[]; + /** Zero-based. Steps before it are done, steps after it are still to come. */ + current: number; + /** + * Set when this sits on the navy brand wash rather than a light surface. + */ + onBrand?: boolean; + style?: StyleProp; +} + +/** + * Where the customer is in a flow, and what is still ahead of them. + * + * Registration is three screens — choose a SIM, enter the code, set an MPIN — + * and until this existed the first of those gave no hint that two more were + * coming. Someone deciding whether to hand over their number is entitled to + * know how long the process is before they start it. + * + * A completed step is marked with a tick as well as a fill, so progress is not + * carried by colour alone. The whole thing is inert: it reports position, it is + * not a way to navigate, and steps are not tappable — you cannot jump to an OTP + * screen before an OTP has been sent. + */ +const StepperComponent = ({ steps, current, onBrand = false, style }: StepperProps) => { + const theme = useTheme(); + + /** + * The connector, and the outline of a step not yet reached. + * + * On brand this is a white at 0.55 rather than the shared `onBrandBorder` + * (0.24). A border token is measured for a panel edge, which sits next to a + * fill; a hairline on the open wash has nothing beside it and 0.24 came to + * 1.75:1 — under the 3:1 that non-text contrast asks for. At 0.55 it is + * 3.34:1 against the lightest point of the gradient and, at one point tall, + * still reads as a rule rather than a bar. + * + * On a light surface it stays a border tone. The rail is reinforcement in + * either case: sequence is carried by the numbers, and completion by the fill + * and the tick, so a reader who cannot make out the line loses nothing. + */ + const railColour = onBrand ? 'rgba(255, 255, 255, 0.55)' : theme.colors.cardBorderStrong; + const doneColour = onBrand ? theme.colors.onBrandPrimary : theme.colors.primary; + + return ( + + {steps.map((label, index) => { + const done = index < current; + const active = index === current; + + /** + * A done or active marker is a solid fill, so the number and tick on it + * are the solid tone — the translucent on-brand tiers are measured + * against the bare wash and lose their contrast over a fill. + */ + const markerFill = done || active ? doneColour : 'transparent'; + const markerBorder = done || active ? doneColour : railColour; + const markerInk = done || active + ? onBrand + ? theme.colors.primary + : theme.colors.textOnBrand + : onBrand + ? theme.colors.onBrandSecondary + : theme.colors.textMuted; + + const labelColour = active + ? onBrand + ? theme.colors.onBrandPrimary + : theme.colors.textPrimary + : onBrand + ? theme.colors.onBrandSecondary + : theme.colors.textMuted; + + return ( + + {/* The rails are halves either side of the marker, each flexing to + fill its own gap. Drawing one line behind the whole row instead + would need an absolute overlay measured against the markers, + which drifts as soon as a label wraps. */} + + + + + {done ? ( + + ) : ( + + {index + 1} + + )} + + + + + + + {label} + + + ); + })} + + ); +}; + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + alignItems: 'flex-start', + }, + step: { + flex: 1, + alignItems: 'center', + gap: 7, + }, + railRow: { + flexDirection: 'row', + alignItems: 'center', + alignSelf: 'stretch', + }, + rail: { + flex: 1, + height: 1, + }, + marker: { + width: 24, + height: 24, + borderRadius: 12, + borderWidth: 1.5, + alignItems: 'center', + justifyContent: 'center', + }, + markerText: { + fontSize: 11, + lineHeight: 14, + letterSpacing: 0, + }, + label: { + fontSize: 12, + lineHeight: 16, + textAlign: 'center', + paddingHorizontal: 2, + }, +}); + +export const Stepper = memo(StepperComponent); diff --git a/src/components/ToastHost/index.tsx b/src/components/ToastHost/index.tsx index e6bb8ca..fd9bd5e 100644 --- a/src/components/ToastHost/index.tsx +++ b/src/components/ToastHost/index.tsx @@ -10,7 +10,7 @@ import { SafeAreaView } from 'react-native-safe-area-context'; import { useAppDispatch, useAppSelector } from '../../app/hooks'; import { selectToasts } from '../../modules/ui/store/uiSelectors'; import { uiActions } from '../../modules/ui/store/uiSlice'; -import { useTheme } from '../../theme'; +import { useTheme, fontFamily } from '../../theme'; interface ToastCardProps { id: string; @@ -106,7 +106,7 @@ const styles = StyleSheet.create({ }, title: { fontSize: 14, - fontWeight: '700', + fontFamily: fontFamily.bold, }, description: { fontSize: 12, diff --git a/src/components/TransactionItem/index.tsx b/src/components/TransactionItem/index.tsx index 99373f8..0f6137c 100644 --- a/src/components/TransactionItem/index.tsx +++ b/src/components/TransactionItem/index.tsx @@ -7,7 +7,7 @@ import { import Ionicons from '@react-native-vector-icons/ionicons'; import type { TransactionRecord } from '../../types/app'; -import { useTheme } from '../../theme'; +import { useTheme, textStyles } from '../../theme'; import { formatCurrency, formatDate } from '../../utils/formatters'; interface TransactionItemProps { @@ -28,48 +28,59 @@ const TransactionItemComponent = ({ item }: TransactionItemProps) => { }, [item.id]); const riskConfig = { - safe: { color: theme.colors.success, label: 'SECURE', icon: 'shield-checkmark' as const }, - medium: { color: theme.colors.warning, label: 'FLAGGED', icon: 'warning' as const }, - high: { color: theme.colors.danger, label: 'HIGH RISK', icon: 'alert-circle' as const }, + safe: { + color: theme.colors.success, + surface: theme.colors.successSurface, + border: theme.colors.successBorder, + label: 'SECURE', + icon: 'shield-checkmark' as const, + }, + medium: { + color: theme.colors.warning, + surface: theme.colors.warningSurface, + border: theme.colors.warningBorder, + label: 'FLAGGED', + icon: 'warning' as const, + }, + high: { + color: theme.colors.danger, + surface: theme.colors.dangerSurface, + border: theme.colors.dangerBorder, + label: 'HIGH RISK', + icon: 'alert-circle' as const, + }, }[riskLevel]; return ( - + - {item.title} + {item.title} - + {item.counterparty} - - + + {formatDate(item.occurredAt)} @@ -80,13 +91,18 @@ const TransactionItemComponent = ({ item }: TransactionItemProps) => { {isCredit ? '+' : '-'} {formatCurrency(item.amount)} - + {riskConfig.label} @@ -125,9 +141,7 @@ const styles = StyleSheet.create({ alignItems: 'center', }, title: { - fontSize: 16, - fontWeight: '800', - letterSpacing: -0.3, + ...textStyles.h3, }, subtitleRow: { flexDirection: 'row', @@ -138,20 +152,17 @@ const styles = StyleSheet.create({ width: 3, height: 3, borderRadius: 1.5, - backgroundColor: 'rgba(255, 255, 255, 0.2)', + backgroundColor: 'transparent', // set from the theme at the call site }, subtitle: { - fontSize: 12, - fontWeight: '500', + ...textStyles.caption, }, trailing: { alignItems: 'flex-end', gap: 4, }, amount: { - fontSize: 16, - fontWeight: '800', - letterSpacing: -0.2, + ...textStyles.money, }, riskBadge: { paddingHorizontal: 6, @@ -159,9 +170,17 @@ const styles = StyleSheet.create({ borderRadius: 6, borderWidth: 1, }, + // Takes its family and casing from `eyebrow`, then overrides the size. + // + // 8pt is below the scale's floor of 11 and the scale has no entry for it on + // purpose — at this size the label is decoration, not something a customer + // can be expected to read. Left at 8 rather than snapped up to 11 because + // the badge is laid out around it; worth revisiting as a design question, + // since a risk flag nobody can read is not doing its job. riskText: { + ...textStyles.eyebrow, fontSize: 8, - fontWeight: '900', + lineHeight: 11, letterSpacing: 0.5, }, }); diff --git a/src/components/index.ts b/src/components/index.ts index 43af040..0bb3913 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,15 +1,21 @@ +export * from './ActivityTracker'; +export * from './AppearanceSetting'; +export * from './AccountSelector'; export * from './AppHeader'; -export * from './BalanceCard'; +export * from './AccountCard'; export * from './BottomSheet'; export * from './Button'; export * from './Card'; export * from './DatePicker'; export * from './EmptyState'; +export * from './InfoBanner'; export * from './Input'; export * from './KeyboardAwareScrollView'; export * from './KeyboardSafeView'; export * from './Loader'; export * from './Modal'; export * from './ScreenShell'; +export * from './Stepper'; +export * from './SegmentedControl'; export * from './ToastHost'; export * from './TransactionItem'; diff --git a/src/config/appConfig.ts b/src/config/appConfig.ts index fecef21..74369e4 100644 --- a/src/config/appConfig.ts +++ b/src/config/appConfig.ts @@ -6,6 +6,28 @@ export const appConfig = { security: { sessionTimeoutMs: env.sessionTimeoutMs, biometricPromptTitle: 'Verify your identity', + /** + * Every launch asks for the MPIN (or biometrics) instead of resuming a + * stored session. There is no local way to check an MPIN — the only + * verifier is `POST /auth/login` — so "ask again" necessarily means + * "open a fresh session", which is exactly what signing in does. + * + * Set false to resume a still-valid session on launch instead, which is + * quicker but leaves the app open to whoever holds the unlocked handset. + */ + requireMpinOnLaunch: true, + /** + * How long the app may sit in the background before returning to it asks + * for the MPIN again. On Android the process usually survives being + * backgrounded, so without this "ask on every open" would only hold for a + * cold start. + * + * The grace period exists because a few seconds away is almost always the + * customer fetching something — an account number from a message, an SMS — + * and locking them out of their own transfer mid-flow is its own harm. Set + * to 0 to lock on every single return to the foreground. + */ + lockAfterBackgroundMs: 30_000, }, features: { useMockServer: env.useMockServer, diff --git a/src/config/env.ts b/src/config/env.ts index ed8b52f..13f9a7e 100644 --- a/src/config/env.ts +++ b/src/config/env.ts @@ -1,5 +1,46 @@ +/** + * Host running the CBS backend. Swagger for it is at `/swagger-ui/index.html`. + * + * This has to be an address the *phone* can reach, which is not the same thing + * as one that works in a browser on the dev machine: a VM-only or + * different-subnet address resolves fine on the laptop and is simply invisible + * to the handset, and that failure reads like the app being broken. `localhost` + * is wrong for the same reason — on a device it means the device itself. + * + * This is a named host on an internal domain, not an IP, so it resolves only + * where the DNS that serves `.lincpay` is reachable — the office network or + * the VPN. A handset on mobile data, or on a guest network without that + * resolver, fails to resolve it at all and the app looks like the backend is + * down. Note there is no port here: this host answers on the default 80, unlike + * the `:8089` LAN addresses this build was aimed at before. + * + * Plain HTTP, so it depends on cleartext traffic being allowed for this host + * specifically. Both platforms gate that by host and neither tells the app why + * a blocked request failed, so a change here has to be checked against: + * + * - here, + * - `android/app/src/main/res/xml/network_security_config.xml`, + * - `NSExceptionDomains` in `ios/BankCBS/Info.plist` — a bare IP literal is + * already covered there by `NSAllowsLocalNetworking`, but a *named* host + * is not and needs its own entry. + */ +const API_ORIGIN = 'http://mobile-banking-backend.lincpay'; + export const env = { - apiBaseUrl: 'https://sandbox.bankcbs.dev/v1', + /** CBS backend origin. */ + apiOrigin: API_ORIGIN, + /** Every documented endpoint lives under this prefix. */ + apiBaseUrl: `${API_ORIGIN}/api/v1`, + /** Organisation the app is branded for; sent at registration and at sign-in. */ + orgId: 'ORG001', + /** + * Modules with no backend behind them yet — cards, loans, insurance, deposits, + * the dashboard and the agent app — still resolve from fixtures. Registration, + * sign-in, accounts/MMID and payees always call the live API regardless. + */ useMockServer: true, - sessionTimeoutMs: 300000, + /** Server-enforced idle window; any authenticated call refreshes it. */ + sessionTimeoutMs: 300_000, + /** How long before the idle cut-off the user is warned. */ + sessionWarningMs: 60_000, }; diff --git a/src/constants/featureKeys.ts b/src/constants/featureKeys.ts new file mode 100644 index 0000000..dbb6fcc --- /dev/null +++ b/src/constants/featureKeys.ts @@ -0,0 +1,325 @@ +/** + * Centralised feature keys for the whole application. + * + * Every gateable thing in the app — module, screen, tab, menu entry, button and + * action — has exactly one key here. UI code must never pass a raw string to the + * feature service; always reference a member of this enum so renames and typos + * are caught by the compiler. + * + * Keys use dot notation and the hierarchy is encoded in the key itself: + * + * loans → parent of + * loans.apply → parent of + * loans.apply.submit + * + * The feature service derives parent/child relationships from this path, so a + * disabled parent automatically disables everything beneath it. Adding a child + * key therefore only requires that its parent key also exists. + */ +export enum FeatureKey { + // ---------------------------------------------------------------- Auth ---- + AUTH = 'auth', + AUTH_LOGIN = 'auth.login', + AUTH_LOGIN_USER_ROLE = 'auth.login.userRole', + AUTH_LOGIN_AGENT_ROLE = 'auth.login.agentRole', + AUTH_LOGIN_BIOMETRIC = 'auth.login.biometric', + AUTH_LOGIN_FORGOT_PASSWORD = 'auth.login.forgotPassword', + AUTH_REGISTER = 'auth.register', + AUTH_LOGIN_CREATE_ACCOUNT = 'auth.login.createAccount', + AUTH_LOGOUT = 'auth.logout', + + // ---------------------------------------------------------------- Home ---- + HOME = 'home', + HOME_ACCOUNTS = 'home.accounts', + HOME_ACCOUNTS_CAROUSEL = 'home.accounts.carousel', + HOME_ACCOUNTS_BALANCE_TOGGLE = 'home.accounts.balanceToggle', + HOME_ACCOUNTS_MINI_STATEMENT = 'home.accounts.miniStatement', + HOME_ACCOUNTS_DETAILS = 'home.accounts.details', + HOME_ACCOUNTS_EPASSBOOK = 'home.accounts.ePassbook', + HOME_ACCOUNTS_REKYC = 'home.accounts.reKyc', + HOME_ACCOUNTS_VIDEO_KYC = 'home.accounts.videoKyc', + HOME_ACCOUNTS_MMID = 'home.accounts.mmid', + + HOME_QUICK_ACTIONS = 'home.quickActions', + HOME_QUICK_ACTIONS_TRANSFER = 'home.quickActions.transfer', + HOME_QUICK_ACTIONS_BILL_PAY = 'home.quickActions.billPay', + HOME_QUICK_ACTIONS_AIRTIME = 'home.quickActions.airtime', + HOME_QUICK_ACTIONS_LOANS = 'home.quickActions.loans', + HOME_QUICK_ACTIONS_CARDS = 'home.quickActions.cards', + HOME_QUICK_ACTIONS_STATS = 'home.quickActions.stats', + + HOME_SERVICES = 'home.services', + HOME_SERVICES_TRANSFER = 'home.services.transfer', + HOME_SERVICES_SELF_TRANSFER = 'home.services.selfTransfer', + HOME_SERVICES_BILL_PAY = 'home.services.billPay', + HOME_SERVICES_COLLECT_REQUEST = 'home.services.collectRequest', + HOME_SERVICES_MANAGE_PAYEE = 'home.services.managePayee', + HOME_SERVICES_SUPPORT = 'home.services.support', + HOME_SERVICES_INSURANCE = 'home.services.insurance', + HOME_SERVICES_DEPOSITS = 'home.services.deposits', + HOME_SERVICES_GOLD_LOAN = 'home.services.goldLoan', + + HOME_INSIGHTS = 'home.insights', + HOME_PROMO_BANNER = 'home.promoBanner', + + // -------------------------------------------------------------- Search ---- + SEARCH = 'search', + SEARCH_GLOBAL = 'search.global', + + // ------------------------------------------------------- Notifications ---- + NOTIFICATIONS = 'notifications', + NOTIFICATIONS_LIST = 'notifications.list', + NOTIFICATIONS_MARK_READ = 'notifications.markRead', + + // ------------------------------------------------------------ Payments ---- + PAYMENTS = 'payments', + PAYMENTS_HUB = 'payments.hub', + PAYMENTS_BENEFICIARIES = 'payments.beneficiaries', + PAYMENTS_BENEFICIARIES_LIST = 'payments.beneficiaries.list', + PAYMENTS_BENEFICIARIES_ADD = 'payments.beneficiaries.add', + PAYMENTS_BENEFICIARIES_DELETE = 'payments.beneficiaries.delete', + PAYMENTS_TRANSFER = 'payments.transfer', + PAYMENTS_TRANSFER_IMPS = 'payments.transfer.imps', + PAYMENTS_TRANSFER_NEFT = 'payments.transfer.neft', + PAYMENTS_TRANSFER_RTGS = 'payments.transfer.rtgs', + PAYMENTS_TRANSFER_INTERNAL = 'payments.transfer.internal', + PAYMENTS_TRANSFER_SUBMIT = 'payments.transfer.submit', + /** + * The three fund-transfer entry points on the payments hub. Each is a + * destination in its own right rather than a rail: `mobile` collects a + * mobile number and MMID, `account` an account number and IFSC, and `own` + * moves money + * between the customer's own accounts. The rail keys above still decide how + * the resulting transfer settles. + */ + PAYMENTS_TRANSFER_MOBILE = 'payments.transfer.mobile', + PAYMENTS_TRANSFER_ACCOUNT = 'payments.transfer.account', + PAYMENTS_TRANSFER_OWN = 'payments.transfer.own', + PAYMENTS_UPI = 'payments.upi', + PAYMENTS_UPI_SCAN = 'payments.upi.scan', + + /** This customer's own MMIDs, for receiving money over IMPS. */ + PAYMENTS_MMID = 'payments.mmid', + PAYMENTS_MMID_CANCEL = 'payments.mmid.cancel', + PAYMENTS_MMID_GENERATE = 'payments.mmid.generate', + + // --------------------------------------------------------------- Cards ---- + CARDS = 'cards', + CARDS_OVERVIEW = 'cards.overview', + CARDS_DETAILS = 'cards.details', + CARDS_TRANSACTIONS = 'cards.transactions', + CARDS_CONTROLS = 'cards.controls', + CARDS_CONTROLS_FREEZE = 'cards.controls.freeze', + CARDS_CONTROLS_ONLINE = 'cards.controls.online', + CARDS_CONTROLS_INTERNATIONAL = 'cards.controls.international', + CARDS_CONTROLS_CONTACTLESS = 'cards.controls.contactless', + CARDS_CONTROLS_ATM = 'cards.controls.atm', + CARDS_CONTROLS_LIMITS = 'cards.controls.limits', + CARDS_CONTROLS_BLOCK = 'cards.controls.block', + CARDS_APPLY_CREDIT = 'cards.applyCredit', + CARDS_REQUEST_PHYSICAL = 'cards.requestPhysical', + + // ------------------------------------------------------------ Services ---- + SERVICES = 'services', + SERVICES_HUB = 'services.hub', + + SERVICES_DEPOSITS = 'services.deposits', + SERVICES_DEPOSITS_OVERVIEW = 'services.deposits.overview', + SERVICES_DEPOSITS_DETAILS = 'services.deposits.details', + SERVICES_DEPOSITS_OPEN_FD = 'services.deposits.openFd', + SERVICES_DEPOSITS_OPEN_RD = 'services.deposits.openRd', + SERVICES_DEPOSITS_CALCULATOR = 'services.deposits.calculator', + + SERVICES_CHEQUE = 'services.cheque', + SERVICES_CHEQUE_HUB = 'services.cheque.hub', + SERVICES_CHEQUE_BOOK_REQUEST = 'services.cheque.bookRequest', + SERVICES_CHEQUE_STOP_PAYMENT = 'services.cheque.stopPayment', + SERVICES_CHEQUE_TRACKING = 'services.cheque.tracking', + SERVICES_CHEQUE_POSITIVE_PAY = 'services.cheque.positivePay', + + SERVICES_CERTIFICATES = 'services.certificates', + SERVICES_CERTIFICATES_HUB = 'services.certificates.hub', + SERVICES_CERTIFICATES_LIST = 'services.certificates.list', + SERVICES_CERTIFICATES_BALANCE = 'services.certificates.balance', + SERVICES_CERTIFICATES_INTEREST = 'services.certificates.interest', + SERVICES_CERTIFICATES_SHARE = 'services.certificates.share', + SERVICES_CERTIFICATES_HYPOTHECATION = 'services.certificates.hypothecation', + SERVICES_CERTIFICATES_INSURANCE = 'services.certificates.insurance', + SERVICES_CERTIFICATES_TAX = 'services.certificates.tax', + SERVICES_CERTIFICATES_LOAN = 'services.certificates.loan', + + SERVICES_REQUESTS = 'services.requests', + SERVICES_REQUESTS_HUB = 'services.requests.hub', + + SERVICES_STANDING_INSTRUCTIONS = 'services.standingInstructions', + SERVICES_FORM_15G15H = 'services.form15g15h', + SERVICES_NOMINATION = 'services.nomination', + SERVICES_BRANCH_LOCATOR = 'services.branchLocator', + + SERVICES_AWARENESS = 'services.awareness', + SERVICES_AWARENESS_LIST = 'services.awareness.list', + SERVICES_AWARENESS_DETAIL = 'services.awareness.detail', + + SERVICES_PROTECTION = 'services.protection', + SERVICES_PROTECTION_HUB = 'services.protection.hub', + SERVICES_PROTECTION_SCHEME_DETAIL = 'services.protection.schemeDetail', + SERVICES_PROTECTION_ENROLLMENT = 'services.protection.enrollment', + SERVICES_PROTECTION_DEAF = 'services.protection.deaf', + SERVICES_PROTECTION_DEAF_CLAIM = 'services.protection.deafClaim', + SERVICES_PROTECTION_DICGC = 'services.protection.dicgc', + + SERVICES_SUPPORT_CHAT = 'services.supportChat', + SERVICES_HELP_CENTER = 'services.helpCenter', + + /** + * Enquiry desk: the entries that answer a question outright, or change a PIN, + * rather than opening a journey. + * + * `mpinChange` and `miniStatement` gate entry points rather than screens — + * those screens live in the profile and home stacks and keep their own keys. + * Having a key here lets the bank take the tile off the service desk without + * also removing the screen from where it already was. + */ + SERVICES_BALANCE_ENQUIRY = 'services.balanceEnquiry', + SERVICES_MINI_STATEMENT = 'services.miniStatement', + SERVICES_MPIN_CHANGE = 'services.mpinChange', + SERVICES_TPIN_CHANGE = 'services.tpinChange', + SERVICES_FATE_OF_CHEQUE = 'services.fateOfCheque', + + // --------------------------------------------------------------- Loans ---- + LOANS = 'loans', + LOANS_DASHBOARD = 'loans.dashboard', + LOANS_TYPES = 'loans.types', + LOANS_ELIGIBILITY = 'loans.eligibility', + LOANS_CALCULATOR = 'loans.calculator', + LOANS_APPLY = 'loans.apply', + LOANS_TRACKING = 'loans.tracking', + LOANS_ACTIVE_DETAILS = 'loans.activeDetails', + LOANS_EMI_PAYMENT = 'loans.emiPayment', + LOANS_FORECLOSURE = 'loans.foreclosure', + LOANS_HISTORY = 'loans.history', + LOANS_DOCUMENTS = 'loans.documents', + + // ----------------------------------------------------------- Insurance ---- + INSURANCE = 'insurance', + INSURANCE_DASHBOARD = 'insurance.dashboard', + INSURANCE_BUY = 'insurance.buy', + INSURANCE_POLICIES = 'insurance.policies', + INSURANCE_POLICY_DETAILS = 'insurance.policyDetails', + INSURANCE_RENEWALS = 'insurance.renewals', + INSURANCE_CLAIMS = 'insurance.claims', + INSURANCE_DOCUMENTS = 'insurance.documents', + INSURANCE_CALCULATOR = 'insurance.calculator', + INSURANCE_COMPARISON = 'insurance.comparison', + INSURANCE_NOTIFICATIONS = 'insurance.notifications', + + // ------------------------------------------------------------- Profile ---- + PROFILE = 'profile', + PROFILE_MAIN = 'profile.main', + PROFILE_EDIT = 'profile.edit', + PROFILE_ACCOUNTS = 'profile.accounts', + PROFILE_ACCOUNTS_ADD = 'profile.accounts.add', + PROFILE_BENEFICIARIES_SHORTCUT = 'profile.beneficiariesShortcut', + PROFILE_STATEMENTS_SHORTCUT = 'profile.statementsShortcut', + + PROFILE_SETTINGS = 'profile.settings', + PROFILE_SETTINGS_LANGUAGE = 'profile.settings.language', + PROFILE_SETTINGS_NOTIFICATIONS = 'profile.settings.notifications', + PROFILE_SETTINGS_PRIVACY = 'profile.settings.privacy', + + PROFILE_SECURITY = 'profile.security', + PROFILE_SECURITY_CHANGE_PIN = 'profile.security.changePin', + PROFILE_SECURITY_CHANGE_PASSWORD = 'profile.security.changePassword', + PROFILE_SECURITY_BIOMETRIC = 'profile.security.biometric', + PROFILE_SECURITY_TWO_FACTOR = 'profile.security.twoFactor', + PROFILE_SECURITY_DEVICES = 'profile.security.devices', + PROFILE_SECURITY_LOGOUT_ALL = 'profile.security.logoutAll', + PROFILE_SECURITY_HIDE_BALANCE = 'profile.security.hideBalance', + + PROFILE_SUPPORT = 'profile.support', + PROFILE_LEGAL = 'profile.legal', + PROFILE_ABOUT = 'profile.about', + /** + * In-app switchboard for the curated operational features. + * + * Ships disabled and is meant to be turned on through remote config for the + * tenants whose staff need it — so the bank decides which installs expose it, + * rather than it being present for every customer. + */ + PROFILE_FEATURE_FLAGS = 'profile.featureFlags', + + // --------------------------------------------------------------- Agent ---- + AGENT = 'agent', + + AGENT_DASHBOARD = 'agent.dashboard', + AGENT_DASHBOARD_MAIN = 'agent.dashboard.main', + AGENT_DASHBOARD_ROUTE = 'agent.dashboard.route', + + AGENT_CUSTOMERS = 'agent.customers', + AGENT_CUSTOMERS_LIST = 'agent.customers.list', + AGENT_CUSTOMERS_DETAIL = 'agent.customers.detail', + AGENT_CUSTOMERS_CREATE = 'agent.customers.create', + AGENT_CUSTOMERS_EDIT = 'agent.customers.edit', + AGENT_CUSTOMERS_DELETE = 'agent.customers.delete', + AGENT_CUSTOMERS_INSTALLMENT_HISTORY = 'agent.customers.installmentHistory', + + AGENT_COLLECTIONS = 'agent.collections', + AGENT_COLLECTIONS_DAILY = 'agent.collections.daily', + AGENT_COLLECTIONS_HISTORY = 'agent.collections.history', + AGENT_COLLECTIONS_RECEIPT = 'agent.collections.receipt', + + AGENT_LOANS = 'agent.loans', + AGENT_LOANS_LIST = 'agent.loans.list', + AGENT_LOANS_CREATE_REQUEST = 'agent.loans.createRequest', + AGENT_LOANS_ACCOUNT_OPENING = 'agent.loans.accountOpening', + AGENT_LOANS_COMMISSION = 'agent.loans.commission', + + AGENT_PROFILE = 'agent.profile', + AGENT_PROFILE_MAIN = 'agent.profile.main', + AGENT_PROFILE_SMS_HISTORY = 'agent.profile.smsHistory', + AGENT_PROFILE_CHANGE_PASSWORD = 'agent.profile.changePassword', +} + +/** Every declared feature key, in declaration order. */ +export const ALL_FEATURE_KEYS = Object.values(FeatureKey) as FeatureKey[]; + +/** Set form, for O(1) membership checks when validating untrusted strings. */ +const FEATURE_KEY_SET: ReadonlySet = new Set(ALL_FEATURE_KEYS); + +/** + * Narrows an arbitrary string (remote config, JSON-driven UI, deep link) to a + * known FeatureKey. Returns `undefined` when the string is not a declared key, + * which callers must treat as "not enabled". + */ +export const toFeatureKey = (value: string | null | undefined): FeatureKey | undefined => + typeof value === 'string' && FEATURE_KEY_SET.has(value) ? (value as FeatureKey) : undefined; + +/** + * Parent key of a feature, derived from its dot path. + * `loans.apply.submit` → `loans.apply`; a root key → `undefined`. + */ +export const getParentFeatureKey = (key: FeatureKey): FeatureKey | undefined => { + const lastDot = key.lastIndexOf('.'); + + if (lastDot === -1) { + return undefined; + } + + return toFeatureKey(key.slice(0, lastDot)); +}; + +/** + * All ancestors of a key, nearest parent first. + * `loans.apply.submit` → [`loans.apply`, `loans`]. + */ +export const getFeatureAncestors = (key: FeatureKey): FeatureKey[] => { + const ancestors: FeatureKey[] = []; + let current = getParentFeatureKey(key); + + while (current) { + ancestors.push(current); + current = getParentFeatureKey(current); + } + + return ancestors; +}; diff --git a/src/constants/legalContent.ts b/src/constants/legalContent.ts new file mode 100644 index 0000000..0995e21 --- /dev/null +++ b/src/constants/legalContent.ts @@ -0,0 +1,88 @@ +/** + * The bank's identity and its legal copy, in one place. + * + * Both the pre-auth sign-in footer and the in-app Legal & Information screen + * read from here. They used to carry their own wording, which is how an app + * ends up telling a customer two different things about the same policy — and + * the pre-auth copy is the version a regulator looks at first, because it is + * the one shown before anybody agrees to anything. + * + * Legal wording is not developer copy. Anything in `terms` or `privacy` should + * come from whoever signs off on it at the bank; the placeholder text below is + * scaffolding and is marked as such. + */ + +export const company = { + /** Full registered name. Used wherever the entity has to be named exactly. */ + legalName: 'CBS Bank Limited', + /** Conversational name, for running text. */ + shortName: 'CBS Bank', + /** Shown under the sign-in form; a bank is expected to name its regulator. */ + regulator: 'Regulated by the Reserve Bank of India', + /** Appears as "© ". */ + copyrightFrom: 2026, +} as const; + +/** + * The current year, so the sign-in footer does not quietly go stale every + * January. Computed per call rather than at module load: the process can + * outlive midnight on a handset that is never fully closed. + */ +export const copyrightLine = () => { + const now = new Date().getFullYear(); + const from = company.copyrightFrom; + // A range only once there is a range to show. + return `© ${now > from ? `${from}–${now}` : from} ${company.legalName}`; +}; + +export type LegalSection = { + heading: string; + body: string[]; +}; + +/** PLACEHOLDER — replace with the bank's approved terms before release. */ +export const terms: LegalSection[] = [ + { + heading: 'Using this app', + body: [ + `By signing in to the ${company.shortName} mobile app you agree to these terms and to the privacy policy.`, + 'You are responsible for keeping your MPIN, passwords and registered device secure. Do not share your MPIN with anyone, including anybody claiming to be from the bank — we will never ask for it.', + ], + }, + { + heading: 'Transfers and payments', + body: [ + 'Real-time transfers such as IMPS and UPI are irreversible once processed. Check the beneficiary details before you confirm a payment.', + 'Transaction limits are set by the bank and by the relevant payment network, and may change without notice.', + ], + }, + { + heading: 'Availability', + body: [ + 'Services may be unavailable during maintenance or for reasons outside the bank’s control. The bank is not liable for losses arising from an interruption it could not reasonably prevent.', + ], + }, +]; + +/** PLACEHOLDER — replace with the bank's approved privacy policy before release. */ +export const privacy: LegalSection[] = [ + { + heading: 'What we collect', + body: [ + 'Identity and contact details, account and transaction records, and technical information about the device you sign in from — including its SIM-registered mobile number, which is what links this app to your account.', + ], + }, + { + heading: 'Why we collect it', + body: [ + 'To operate your accounts, process payments, detect fraud, and meet the KYC and record-keeping obligations placed on the bank by law.', + 'Biometric data never leaves your device. Fingerprint and face unlock are verified by the handset itself; the bank receives only the result.', + ], + }, + { + heading: 'Your choices', + body: [ + 'You can ask for a copy of the personal data the bank holds about you, or ask for it to be corrected, by contacting your branch.', + ], + }, +]; diff --git a/src/constants/mockData.ts b/src/constants/mockData.ts index 4eb9070..c614a83 100644 --- a/src/constants/mockData.ts +++ b/src/constants/mockData.ts @@ -32,6 +32,7 @@ export const demoUser: UserProfile = { phone: '+91 98765 43210', customerId: '0090421877', kycStatus: 'verified', + lastKycDate: '2025-04-18', ckycNumber: '10041285694218', language: 'en', biometricEnabled: true, @@ -99,6 +100,8 @@ export const demoAccounts: AccountSummary[] = [ type: 'Savings', accountHolder: 'Aarav Sharma', branch: 'Bengaluru Koramangala', + ifscCode: 'CBSB0001001', + status: 'Active', maskedNumber: 'XXXX 9312', availableBalance: 248560.78, currentBalance: 251040.78, @@ -110,6 +113,8 @@ export const demoAccounts: AccountSummary[] = [ type: 'Salary', accountHolder: 'Aarav Sharma', branch: 'Bengaluru Tech Park', + ifscCode: 'CBSB0001002', + status: 'Active', maskedNumber: 'XXXX 7081', availableBalance: 82450, currentBalance: 82450, @@ -625,6 +630,19 @@ export const demoLoanProducts: LoanProduct[] = [ description: 'Fund your higher education dreams in India or abroad.', features: ['Zero processing fee', 'Moratorium period', 'Tax benefits u/s 80E', 'Covers tuition & living'], }, + { + id: 'loan_dds', + name: 'Loan Against DDS Deposit', + category: 'Loan Against DDS Deposit', + interestRate: 9, + maxAmount: 2000000, + minAmount: 10000, + tenureMonths: 36, + minTenureMonths: 6, + processingFeePercent: 0.5, + description: 'Borrow against your Daily Deposit Scheme balance while your deposit keeps earning interest.', + features: ['Up to 90% of deposit value', 'No income proof needed', 'Deposit keeps earning', 'Quick disbursal'], + }, ]; export const demoActiveLoans: ActiveLoan[] = [ diff --git a/src/constants/queryTags.ts b/src/constants/queryTags.ts index 6aa5f6a..85832c9 100644 --- a/src/constants/queryTags.ts +++ b/src/constants/queryTags.ts @@ -8,6 +8,7 @@ export const QUERY_TAGS = [ 'Payments', 'Deposits', 'Services', + 'ChequeBooks', 'Loans', 'LoanActive', 'LoanApplications', diff --git a/src/features/FeatureGate.tsx b/src/features/FeatureGate.tsx new file mode 100644 index 0000000..d1ad37f --- /dev/null +++ b/src/features/FeatureGate.tsx @@ -0,0 +1,103 @@ +import { useMemo, type ReactElement, type ReactNode } from 'react'; + +import type { FeatureKey } from '../constants/featureKeys'; +import { featureService, isFeatureEnabled } from './featureService'; +import { useFeatureVersion } from './useFeature'; + +type GateMode = 'all' | 'any'; + +/** + * Resolves a set of keys against the current config, re-evaluating whenever a + * source layer changes. An empty key list resolves to `false` (fail closed). + */ +const useGateResult = (keys: readonly FeatureKey[], mode: GateMode): boolean => { + const version = useFeatureVersion(); + const signature = keys.join('|'); + + return useMemo(() => { + if (keys.length === 0) { + return false; + } + + return mode === 'any' + ? keys.some((key) => isFeatureEnabled(key)) + : keys.every((key) => isFeatureEnabled(key)); + // `signature` stands in for `keys` so an inline array literal does not thrash the memo. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [signature, mode, version]); +}; + +type FeatureGateProps = { + /** Feature(s) guarding this subtree. */ + feature: FeatureKey | readonly FeatureKey[]; + /** + * How to combine multiple keys. `all` (default) requires every key; `any` + * requires at least one. Irrelevant for a single key. + */ + mode?: GateMode; + children: ReactNode; +}; + +/** + * Renders its children only while the feature is enabled, and renders **nothing** + * otherwise. + * + * + * + * + * + * There is deliberately no `fallback` / placeholder prop. A disabled feature must + * leave no trace in the UI — no greyed-out control, no "coming soon" copy, no + * hidden-but-present node — so the only two outcomes are the children or `null`. + * + * This hides UI; it does not neuter a handler some other path still holds. Guard + * the handler with `useFeatureAction` / `guardFeature`, and the screen with + * `FeatureRoute`. + */ +export const FeatureGate = ({ + feature, + mode = 'all', + children, +}: FeatureGateProps): ReactElement | null => { + const keys = useMemo( + () => (Array.isArray(feature) ? (feature as FeatureKey[]) : [feature as FeatureKey]), + [feature], + ); + + return useGateResult(keys, mode) ? <>{children} : null; +}; + +type DynamicFeatureGateProps = { + /** + * Feature reference as a raw string — from JSON-driven UI or a remote payload. + * An unknown string hides the subtree; omitting the prop leaves it visible, so + * untagged components render exactly as before. + */ + feature?: string; + children: ReactNode; +}; + +/** + * String-keyed gate for JSON-driven UI, where the feature name arrives as data + * rather than as a compile-time constant: + * + * { "type": "button", "label": "Create User", "feature": "agent.customers.create" } + * + * Prefer `FeatureGate` with a `FeatureKey` wherever the key is known at compile + * time; this exists only for genuinely dynamic content. + */ +export const DynamicFeatureGate = ({ + feature, + children, +}: DynamicFeatureGateProps): ReactElement | null => { + const version = useFeatureVersion(); + + const enabled = useMemo( + () => feature === undefined || featureService.isEnabledKey(feature), + // `version` is the signal that the service's mutable state changed. + // eslint-disable-next-line react-hooks/exhaustive-deps + [feature, version], + ); + + return enabled ? <>{children} : null; +}; diff --git a/src/features/FeatureProvider.tsx b/src/features/FeatureProvider.tsx new file mode 100644 index 0000000..4051b89 --- /dev/null +++ b/src/features/FeatureProvider.tsx @@ -0,0 +1,159 @@ +import React, { + createContext, + useContext, + useEffect, + useMemo, + useState, + type PropsWithChildren, +} from 'react'; + +import type { FeatureKey } from '../constants/featureKeys'; +import { featureService, isFeatureEnabled } from './featureService'; +import { FeatureSource, type FeatureOverrides } from './types'; +import { useFeatureVersion } from './useFeature'; + +type FeatureContextValue = { + /** Imperative check, for callbacks that should not subscribe to re-renders. */ + isEnabled: (key: FeatureKey) => boolean; + /** False until remote/tenant sources have been resolved (or skipped). */ + ready: boolean; + /** Bumps whenever any source layer changes. */ + version: number; +}; + +const FeatureContext = createContext(undefined); + +type FeatureProviderProps = PropsWithChildren<{ + /** + * Loads the remote layer (Firebase Remote Config, config API, …). Resolving to + * `undefined` leaves the layer untouched. Failures are swallowed so the app + * always falls back to the compiled-in defaults rather than blocking startup. + */ + loadRemoteOverrides?: () => Promise; + /** Loads per-tenant/role overrides once the session is known. */ + loadTenantOverrides?: () => Promise; + /** + * Applies configuration that the one-loader-per-layer slots above cannot + * express, and runs *before* them. + * + * Two cases need it. The CBS config endpoint returns the org-wide and + * role-scoped switches in a single response, so one fetch has to write two + * layers; and the persisted local overrides have to be read back into the user + * layer, which is not a network load at all. Both own their own layer writes, + * so this returns nothing. + * + * Failures are swallowed here too — a feature layer that cannot be loaded must + * degrade to the layers beneath it, never block the app from starting. + */ + hydrate?: () => Promise; +}>; + +/** + * Wires the feature service into the React tree. + * + * The hooks work without this provider — they subscribe to the service directly + * — so mounting it is only required for two things: resolving the async source + * layers at startup, and exposing `ready` for callers that want to hold UI back + * until remote config has landed. + * + * In development it also validates the static config and logs any key that is + * declared without config, or whose dot path implies a parent that does not + * exist (which would silently make it un-gateable by that parent). + */ +export const FeatureProvider = ({ + children, + loadRemoteOverrides, + loadTenantOverrides, + hydrate, +}: FeatureProviderProps) => { + const version = useFeatureVersion(); + const [ready, setReady] = useState(!loadRemoteOverrides && !loadTenantOverrides && !hydrate); + + useEffect(() => { + if (!__DEV__) { + return; + } + + const issues = featureService.validate(); + + if (issues.length > 0) { + console.warn( + `[features] ${issues.length} configuration issue(s):\n` + + issues.map((issue) => ` • [${issue.problem}] ${issue.detail}`).join('\n'), + ); + } + }, []); + + useEffect(() => { + let cancelled = false; + + const run = async () => { + if (hydrate) { + try { + await hydrate(); + } catch (error) { + if (__DEV__) { + console.warn('[features] Hydration failed; using defaults.', error); + } + } + } + + const layers: Array<[FeatureSource, (() => Promise) | undefined]> = + [ + [FeatureSource.Remote, loadRemoteOverrides], + [FeatureSource.Tenant, loadTenantOverrides], + ]; + + for (const [source, loader] of layers) { + if (!loader) { + continue; + } + + try { + const overrides = await loader(); + + if (!cancelled && overrides) { + featureService.setSource(source, overrides); + } + } catch (error) { + if (__DEV__) { + console.warn(`[features] Failed to load "${source}" overrides; using defaults.`, error); + } + } + } + + if (!cancelled) { + setReady(true); + } + }; + + // `run` swallows its own failures, so there is nothing to catch here. + run(); + + return () => { + cancelled = true; + }; + }, [loadRemoteOverrides, loadTenantOverrides, hydrate]); + + const value = useMemo( + () => ({ isEnabled: isFeatureEnabled, ready, version }), + [ready, version], + ); + + return {children}; +}; + +/** + * Access to the feature context. Throws when used outside the provider, which + * catches wiring mistakes early — most components should use `useFeature` + * instead, which needs no provider. + */ +export const useFeatureContext = (): FeatureContextValue => { + const context = useContext(FeatureContext); + + if (!context) { + throw new Error('useFeatureContext must be used within a .'); + } + + return context; +}; diff --git a/src/features/adminFeatures.ts b/src/features/adminFeatures.ts new file mode 100644 index 0000000..3f98830 --- /dev/null +++ b/src/features/adminFeatures.ts @@ -0,0 +1,65 @@ +import { FeatureKey } from '../constants/featureKeys'; + +/** + * The features the shipped admin switchboard may touch. + * + * The dev screen lists all 182 keys; this list is deliberately much shorter, + * because the two screens answer different questions. The dev screen is for + * "does gating work at all", and every key belongs there. This one is for a + * member of staff shutting a product down in the field, so it holds only the + * switches that make sense as an operational decision — product areas and the + * transactional actions inside them. + * + * Two kinds of key are kept off it on purpose: + * + * - **Anything under `auth`.** Turning off sign-in or registration from inside + * the app locks the handset out of the app, including out of this screen. That + * belongs to remote config, where it can be undone from the server. + * - **`profile.featureFlags` itself**, for the same reason: a switchboard that + * can switch itself off is a one-way door. + * + * Every entry is a real product decision, and each is grouped as it should + * appear in the UI. + */ +export const ADMIN_TOGGLEABLE_FEATURES: ReadonlyArray<{ + title: string; + keys: readonly FeatureKey[]; +}> = [ + { + title: 'Payments', + keys: [ + FeatureKey.PAYMENTS, + FeatureKey.PAYMENTS_TRANSFER, + FeatureKey.PAYMENTS_BENEFICIARIES_ADD, + ], + }, + { + title: 'Cards', + keys: [FeatureKey.CARDS, FeatureKey.CARDS_CONTROLS_FREEZE, FeatureKey.CARDS_APPLY_CREDIT], + }, + { + title: 'Lending & cover', + keys: [FeatureKey.LOANS, FeatureKey.LOANS_APPLY, FeatureKey.INSURANCE, FeatureKey.INSURANCE_BUY], + }, + { + title: 'Deposits & services', + keys: [ + FeatureKey.SERVICES, + FeatureKey.SERVICES_DEPOSITS, + FeatureKey.SERVICES_DEPOSITS_OPEN_FD, + FeatureKey.SERVICES_DEPOSITS_OPEN_RD, + ], + }, + { + title: 'Home & discovery', + keys: [ + FeatureKey.HOME_ACCOUNTS_MMID, + FeatureKey.SEARCH_GLOBAL, + FeatureKey.NOTIFICATIONS_LIST, + ], + }, + { + title: 'Field agent app', + keys: [FeatureKey.AGENT, FeatureKey.AGENT_COLLECTIONS], + }, +]; diff --git a/src/features/featureConfig.ts b/src/features/featureConfig.ts new file mode 100644 index 0000000..39025e5 --- /dev/null +++ b/src/features/featureConfig.ts @@ -0,0 +1,291 @@ +import { FeatureKey } from '../constants/featureKeys'; +import type { FeatureDefinition, FeatureOverrides } from './types'; + +/** + * Default feature configuration — the single source of truth compiled into the + * bundle. + * + * This is a flat `Record` rather than a nested object on purpose: + * the `Record` makes TypeScript reject the file if any declared key is missing + * config, which a nested object literal cannot guarantee. The hierarchy is not + * lost — it lives in the dot-notation keys themselves (`services.cheque.hub` is + * a child of `services.cheque`), and the service derives parents from that path. + * + * Rules: + * - Disabling a parent disables every descendant, whatever their own flag says. + * e.g. `services.cheque = false` hides the cheque hub, book request, stop + * payment, tracking and positive pay in one edit. + * - Entries are grouped and indented to read like the tree they represent. + */ +export const DEFAULT_FEATURE_CONFIG: Record = { + // ---------------------------------------------------------------- Auth ---- + [FeatureKey.AUTH]: { enabled: true, description: 'Authentication module' }, + [FeatureKey.AUTH_LOGIN]: { enabled: true }, + [FeatureKey.AUTH_LOGIN_USER_ROLE]: { enabled: true, description: 'Customer login tab' }, + [FeatureKey.AUTH_LOGIN_AGENT_ROLE]: { enabled: true, description: 'Agent login tab' }, + [FeatureKey.AUTH_LOGIN_BIOMETRIC]: { enabled: true }, + [FeatureKey.AUTH_LOGIN_FORGOT_PASSWORD]: { enabled: true }, + [FeatureKey.AUTH_REGISTER]: { + enabled: true, + description: 'Device registration: lookup, OTP, MPIN setup', + }, + [FeatureKey.AUTH_LOGIN_CREATE_ACCOUNT]: { enabled: true }, + [FeatureKey.AUTH_LOGOUT]: { enabled: true }, + + // ---------------------------------------------------------------- Home ---- + [FeatureKey.HOME]: { enabled: true, description: 'Home tab' }, + [FeatureKey.HOME_ACCOUNTS]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_CAROUSEL]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_BALANCE_TOGGLE]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_MINI_STATEMENT]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_DETAILS]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_EPASSBOOK]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_REKYC]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_VIDEO_KYC]: { enabled: true }, + [FeatureKey.HOME_ACCOUNTS_MMID]: { + enabled: true, + description: 'Accounts and MMID, for receiving money by IMPS', + }, + + [FeatureKey.HOME_QUICK_ACTIONS]: { enabled: true }, + [FeatureKey.HOME_QUICK_ACTIONS_TRANSFER]: { enabled: true }, + [FeatureKey.HOME_QUICK_ACTIONS_BILL_PAY]: { enabled: true }, + [FeatureKey.HOME_QUICK_ACTIONS_AIRTIME]: { enabled: true }, + [FeatureKey.HOME_QUICK_ACTIONS_LOANS]: { enabled: false, reason: 'Destination module is off' }, + [FeatureKey.HOME_QUICK_ACTIONS_CARDS]: { enabled: false, reason: 'Destination module is off' }, + [FeatureKey.HOME_QUICK_ACTIONS_STATS]: { enabled: true }, + + [FeatureKey.HOME_SERVICES]: { enabled: true }, + [FeatureKey.HOME_SERVICES_TRANSFER]: { enabled: true }, + [FeatureKey.HOME_SERVICES_SELF_TRANSFER]: { enabled: true }, + [FeatureKey.HOME_SERVICES_BILL_PAY]: { enabled: true }, + [FeatureKey.HOME_SERVICES_COLLECT_REQUEST]: { enabled: true }, + [FeatureKey.HOME_SERVICES_MANAGE_PAYEE]: { enabled: true }, + [FeatureKey.HOME_SERVICES_SUPPORT]: { enabled: true }, + [FeatureKey.HOME_SERVICES_INSURANCE]: { enabled: false, reason: 'Destination module is off' }, + [FeatureKey.HOME_SERVICES_DEPOSITS]: { enabled: true }, + [FeatureKey.HOME_SERVICES_GOLD_LOAN]: { enabled: false, reason: 'Destination module is off' }, + + [FeatureKey.HOME_INSIGHTS]: { enabled: true }, + [FeatureKey.HOME_PROMO_BANNER]: { enabled: true }, + + // -------------------------------------------------------------- Search ---- + [FeatureKey.SEARCH]: { enabled: true }, + [FeatureKey.SEARCH_GLOBAL]: { enabled: true }, + + // ------------------------------------------------------- Notifications ---- + [FeatureKey.NOTIFICATIONS]: { enabled: true }, + [FeatureKey.NOTIFICATIONS_LIST]: { enabled: true }, + [FeatureKey.NOTIFICATIONS_MARK_READ]: { enabled: true }, + + // ------------------------------------------------------------ Payments ---- + [FeatureKey.PAYMENTS]: { enabled: true, description: 'Payments tab' }, + [FeatureKey.PAYMENTS_HUB]: { enabled: true }, + [FeatureKey.PAYMENTS_BENEFICIARIES]: { enabled: true }, + [FeatureKey.PAYMENTS_BENEFICIARIES_LIST]: { enabled: true }, + [FeatureKey.PAYMENTS_BENEFICIARIES_ADD]: { enabled: true }, + [FeatureKey.PAYMENTS_BENEFICIARIES_DELETE]: { enabled: true }, + [FeatureKey.PAYMENTS_TRANSFER]: { enabled: true }, + [FeatureKey.PAYMENTS_TRANSFER_IMPS]: { enabled: true }, + [FeatureKey.PAYMENTS_TRANSFER_NEFT]: { enabled: false, reason: 'Target transfer form offers IMPS only' }, + [FeatureKey.PAYMENTS_TRANSFER_RTGS]: { enabled: false, reason: 'Target transfer form offers IMPS only' }, + [FeatureKey.PAYMENTS_TRANSFER_INTERNAL]: { enabled: true }, + [FeatureKey.PAYMENTS_TRANSFER_SUBMIT]: { enabled: true }, + [FeatureKey.PAYMENTS_TRANSFER_MOBILE]: { enabled: true }, + [FeatureKey.PAYMENTS_TRANSFER_ACCOUNT]: { enabled: true }, + [FeatureKey.PAYMENTS_TRANSFER_OWN]: { enabled: true }, + + [FeatureKey.PAYMENTS_MMID]: { + enabled: true, + description: 'The MMIDs on this profile, for receiving over IMPS', + }, + [FeatureKey.PAYMENTS_MMID_CANCEL]: { enabled: true }, + [FeatureKey.PAYMENTS_MMID_GENERATE]: { enabled: true }, + + [FeatureKey.PAYMENTS_UPI]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.PAYMENTS_UPI_SCAN]: { enabled: false, reason: 'Not in the target screen set' }, + + // --------------------------------------------------------------- Cards ---- + [FeatureKey.CARDS]: { enabled: false, description: 'Cards tab', reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_OVERVIEW]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_DETAILS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_TRANSACTIONS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS_FREEZE]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS_ONLINE]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS_INTERNATIONAL]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS_CONTACTLESS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS_ATM]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS_LIMITS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_CONTROLS_BLOCK]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_APPLY_CREDIT]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.CARDS_REQUEST_PHYSICAL]: { enabled: false, reason: 'Not in the target screen set' }, + + // ------------------------------------------------------------ Services ---- + [FeatureKey.SERVICES]: { enabled: true, description: 'Services / hub tab' }, + [FeatureKey.SERVICES_HUB]: { enabled: true }, + + [FeatureKey.SERVICES_DEPOSITS]: { enabled: true }, + [FeatureKey.SERVICES_DEPOSITS_OVERVIEW]: { enabled: true }, + [FeatureKey.SERVICES_DEPOSITS_DETAILS]: { enabled: true }, + // A customer may look at the deposits they hold, but cannot start a new + // one from the app. Both the route and every control that reaches it are + // gated on these, so switching them on is all it takes to offer it. + [FeatureKey.SERVICES_DEPOSITS_OPEN_FD]: { enabled: false, reason: 'Viewing deposits is offered; opening one is not' }, + [FeatureKey.SERVICES_DEPOSITS_OPEN_RD]: { enabled: false, reason: 'Viewing deposits is offered; opening one is not' }, + [FeatureKey.SERVICES_DEPOSITS_CALCULATOR]: { enabled: true }, + + [FeatureKey.SERVICES_CHEQUE]: { enabled: true }, + [FeatureKey.SERVICES_CHEQUE_HUB]: { enabled: true }, + [FeatureKey.SERVICES_CHEQUE_BOOK_REQUEST]: { enabled: true }, + [FeatureKey.SERVICES_CHEQUE_STOP_PAYMENT]: { enabled: true }, + [FeatureKey.SERVICES_CHEQUE_TRACKING]: { enabled: true }, + [FeatureKey.SERVICES_CHEQUE_POSITIVE_PAY]: { enabled: true }, + + [FeatureKey.SERVICES_CERTIFICATES]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_HUB]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_LIST]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_BALANCE]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_INTEREST]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_SHARE]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_HYPOTHECATION]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_INSURANCE]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_TAX]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_CERTIFICATES_LOAN]: { enabled: false, reason: 'Not in the target screen set' }, + + [FeatureKey.SERVICES_REQUESTS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.SERVICES_REQUESTS_HUB]: { enabled: false, reason: 'Not in the target screen set' }, + + [FeatureKey.SERVICES_STANDING_INSTRUCTIONS]: { enabled: false, reason: 'Only entry point was the service-requests hub' }, + [FeatureKey.SERVICES_FORM_15G15H]: { enabled: false, reason: 'Only entry point was the service-requests hub' }, + [FeatureKey.SERVICES_NOMINATION]: { enabled: false, reason: 'Only entry point was the service-requests hub' }, + [FeatureKey.SERVICES_BRANCH_LOCATOR]: { enabled: true }, + + [FeatureKey.SERVICES_AWARENESS]: { enabled: true }, + [FeatureKey.SERVICES_AWARENESS_LIST]: { enabled: true }, + [FeatureKey.SERVICES_AWARENESS_DETAIL]: { enabled: true }, + + [FeatureKey.SERVICES_PROTECTION]: { enabled: true }, + [FeatureKey.SERVICES_PROTECTION_HUB]: { enabled: true }, + [FeatureKey.SERVICES_PROTECTION_SCHEME_DETAIL]: { enabled: true }, + [FeatureKey.SERVICES_PROTECTION_ENROLLMENT]: { enabled: true }, + [FeatureKey.SERVICES_PROTECTION_DEAF]: { enabled: true }, + [FeatureKey.SERVICES_PROTECTION_DEAF_CLAIM]: { enabled: true }, + [FeatureKey.SERVICES_PROTECTION_DICGC]: { enabled: true }, + + // Not built yet — these two only raise a "coming soon" toast today, so they + // are off by default rather than advertising something that does not exist. + [FeatureKey.SERVICES_SUPPORT_CHAT]: { enabled: true }, + [FeatureKey.SERVICES_HELP_CENTER]: { enabled: true }, + + [FeatureKey.SERVICES_BALANCE_ENQUIRY]: { + enabled: false, + reason: 'No CBS endpoint returns a balance', + }, + [FeatureKey.SERVICES_FATE_OF_CHEQUE]: { enabled: true }, + [FeatureKey.SERVICES_TPIN_CHANGE]: { enabled: true }, + // Service-desk entry points to screens the home and profile stacks already + // own. Switching one off takes the tile away, not the screen. + [FeatureKey.SERVICES_MINI_STATEMENT]: { enabled: true }, + [FeatureKey.SERVICES_MPIN_CHANGE]: { enabled: true }, + + // --------------------------------------------------------------- Loans ---- + [FeatureKey.LOANS]: { enabled: false, description: 'Loans module', reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_DASHBOARD]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_TYPES]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_ELIGIBILITY]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_CALCULATOR]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_APPLY]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_TRACKING]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_ACTIVE_DETAILS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_EMI_PAYMENT]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_FORECLOSURE]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_HISTORY]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.LOANS_DOCUMENTS]: { enabled: false, reason: 'Not in the target screen set' }, + + // ----------------------------------------------------------- Insurance ---- + [FeatureKey.INSURANCE]: { enabled: false, description: 'Insurance module', reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_DASHBOARD]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_BUY]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_POLICIES]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_POLICY_DETAILS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_RENEWALS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_CLAIMS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_DOCUMENTS]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_CALCULATOR]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_COMPARISON]: { enabled: false, reason: 'Not in the target screen set' }, + [FeatureKey.INSURANCE_NOTIFICATIONS]: { enabled: false, reason: 'Not in the target screen set' }, + + // ------------------------------------------------------------- Profile ---- + [FeatureKey.PROFILE]: { enabled: true, description: 'Profile tab' }, + [FeatureKey.PROFILE_MAIN]: { enabled: true }, + [FeatureKey.PROFILE_EDIT]: { enabled: true }, + [FeatureKey.PROFILE_ACCOUNTS]: { enabled: true }, + [FeatureKey.PROFILE_ACCOUNTS_ADD]: { enabled: true }, + [FeatureKey.PROFILE_BENEFICIARIES_SHORTCUT]: { enabled: true }, + [FeatureKey.PROFILE_STATEMENTS_SHORTCUT]: { enabled: true }, + + [FeatureKey.PROFILE_SETTINGS]: { enabled: true }, + [FeatureKey.PROFILE_SETTINGS_LANGUAGE]: { enabled: true }, + [FeatureKey.PROFILE_SETTINGS_NOTIFICATIONS]: { enabled: true }, + [FeatureKey.PROFILE_SETTINGS_PRIVACY]: { enabled: true }, + + [FeatureKey.PROFILE_SECURITY]: { enabled: true }, + [FeatureKey.PROFILE_SECURITY_CHANGE_PIN]: { enabled: true }, + [FeatureKey.PROFILE_SECURITY_CHANGE_PASSWORD]: { enabled: true }, + [FeatureKey.PROFILE_SECURITY_BIOMETRIC]: { enabled: true }, + [FeatureKey.PROFILE_SECURITY_TWO_FACTOR]: { enabled: true }, + [FeatureKey.PROFILE_SECURITY_DEVICES]: { enabled: true }, + [FeatureKey.PROFILE_SECURITY_LOGOUT_ALL]: { enabled: true }, + [FeatureKey.PROFILE_SECURITY_HIDE_BALANCE]: { enabled: true }, + + [FeatureKey.PROFILE_SUPPORT]: { enabled: true }, + [FeatureKey.PROFILE_LEGAL]: { enabled: true }, + [FeatureKey.PROFILE_ABOUT]: { enabled: true }, + [FeatureKey.PROFILE_FEATURE_FLAGS]: { + // Off by default, on purpose. Enable it through remote config for the + // tenants whose staff need it; a switchboard shipped on by default would + // be reachable by every customer. + enabled: false, + description: 'Operational feature switchboard (admin)', + }, + + // --------------------------------------------------------------- Agent ---- + [FeatureKey.AGENT]: { enabled: true, description: 'Field-agent application' }, + + [FeatureKey.AGENT_DASHBOARD]: { enabled: true }, + [FeatureKey.AGENT_DASHBOARD_MAIN]: { enabled: true }, + [FeatureKey.AGENT_DASHBOARD_ROUTE]: { enabled: true }, + + [FeatureKey.AGENT_CUSTOMERS]: { enabled: true }, + [FeatureKey.AGENT_CUSTOMERS_LIST]: { enabled: true }, + [FeatureKey.AGENT_CUSTOMERS_DETAIL]: { enabled: true }, + [FeatureKey.AGENT_CUSTOMERS_CREATE]: { enabled: true }, + [FeatureKey.AGENT_CUSTOMERS_EDIT]: { enabled: true }, + [FeatureKey.AGENT_CUSTOMERS_DELETE]: { enabled: true }, + [FeatureKey.AGENT_CUSTOMERS_INSTALLMENT_HISTORY]: { enabled: true }, + + [FeatureKey.AGENT_COLLECTIONS]: { enabled: true }, + [FeatureKey.AGENT_COLLECTIONS_DAILY]: { enabled: true }, + [FeatureKey.AGENT_COLLECTIONS_HISTORY]: { enabled: true }, + [FeatureKey.AGENT_COLLECTIONS_RECEIPT]: { enabled: true }, + + [FeatureKey.AGENT_LOANS]: { enabled: true }, + [FeatureKey.AGENT_LOANS_LIST]: { enabled: true }, + [FeatureKey.AGENT_LOANS_CREATE_REQUEST]: { enabled: true }, + [FeatureKey.AGENT_LOANS_ACCOUNT_OPENING]: { enabled: true }, + [FeatureKey.AGENT_LOANS_COMMISSION]: { enabled: true }, + + [FeatureKey.AGENT_PROFILE]: { enabled: true }, + [FeatureKey.AGENT_PROFILE_MAIN]: { enabled: true }, + [FeatureKey.AGENT_PROFILE_SMS_HISTORY]: { enabled: true }, + [FeatureKey.AGENT_PROFILE_CHANGE_PASSWORD]: { enabled: true }, +}; + +/** + * Build-time / environment overrides, applied on top of the defaults. + * + * Keep this keyed off `env` (or `__DEV__`) rather than editing the defaults, so + * a environment-specific switch never leaks into production config. + */ +export const ENVIRONMENT_FEATURE_OVERRIDES: FeatureOverrides = {}; diff --git a/src/features/featureOverrides.ts b/src/features/featureOverrides.ts new file mode 100644 index 0000000..3c7d6de --- /dev/null +++ b/src/features/featureOverrides.ts @@ -0,0 +1,124 @@ +import AsyncStorage from '@react-native-async-storage/async-storage'; + +import { toFeatureKey, type FeatureKey } from '../constants/featureKeys'; +import { featureService } from './featureService'; +import { FeatureSource, type FeatureOverrides } from './types'; + +const STORAGE_KEY = 'bankcbs.featureOverrides'; + +/** + * Device-local manual overrides — the `user` layer. + * + * Held in AsyncStorage rather than the Keychain: these are switches someone set + * on this handset, not a secret, and they must be readable before sign-in so the + * app renders the same way on a cold start as it did when they were set. + * + * They deliberately survive logout. Redux is wiped on sign-out (so no customer + * data leaks between sessions) but a tester's overrides are configuration, not + * session data, and losing them on every sign-out would make them useless. + * `featureRemoteConfig` handles the tenant layer, which *is* session-scoped. + * + * A kill from the bank still wins over anything set here — see + * `AUTHORITATIVE_FEATURE_SOURCES`. + */ + +/** + * Drops anything that is not a currently declared key. + * + * Necessary because stored overrides outlive the build that wrote them: a key + * that was renamed or removed in an app update would otherwise sit in the layer + * forever, matching nothing and impossible to find in the toggle UI. + */ +const narrowToKnownKeys = (raw: unknown): FeatureOverrides => { + if (typeof raw !== 'object' || raw === null) { + return {}; + } + + const result: FeatureOverrides = {}; + + for (const [candidate, value] of Object.entries(raw as Record)) { + const key = toFeatureKey(candidate); + + if (key && typeof value === 'boolean') { + result[key] = value; + } else if (__DEV__) { + console.warn(`[features] Dropping stored override "${candidate}" — not a declared key.`); + } + } + + return result; +}; + +const persist = async (overrides: FeatureOverrides) => { + try { + await AsyncStorage.setItem(STORAGE_KEY, JSON.stringify(overrides)); + } catch (error) { + // A failed write must not take the toggle with it: the in-memory layer is + // already updated, so the switch works for this session and simply does not + // survive a restart. + if (__DEV__) { + console.warn('[features] Could not persist local overrides.', error); + } + } +}; + +export const featureOverrides = { + /** + * Loads stored overrides into the user layer. Resolves even on failure — a + * corrupt or unreadable store must fall back to the compiled-in defaults + * rather than block startup. + */ + async restore(): Promise { + try { + const stored = await AsyncStorage.getItem(STORAGE_KEY); + + if (!stored) { + return {}; + } + + const overrides = narrowToKnownKeys(JSON.parse(stored)); + featureService.setSource(FeatureSource.User, overrides); + + return overrides; + } catch (error) { + if (__DEV__) { + console.warn('[features] Could not read local overrides; using defaults.', error); + } + + return {}; + } + }, + + /** Current local overrides. */ + current(): FeatureOverrides { + return featureService.getSource(FeatureSource.User); + }, + + /** Pins one feature on or off locally, and persists it. */ + async set(key: FeatureKey, value: boolean): Promise { + featureService.patchSource(FeatureSource.User, key, value); + await persist(this.current()); + }, + + /** + * Removes a local pin so the feature follows the layers below it again. + * Distinct from `set(key, false)` — that pins it off, this stops overriding. + */ + async clear(key: FeatureKey): Promise { + featureService.patchSource(FeatureSource.User, key, undefined); + await persist(this.current()); + }, + + /** Drops every local override. The "reset to defaults" action. */ + async resetAll(): Promise { + featureService.setSource(FeatureSource.User, {}); + + try { + await AsyncStorage.removeItem(STORAGE_KEY); + } catch (error) { + if (__DEV__) { + console.warn('[features] Could not clear stored overrides.', error); + } + } + }, +}; diff --git a/src/features/featureRemoteConfig.ts b/src/features/featureRemoteConfig.ts new file mode 100644 index 0000000..55da253 --- /dev/null +++ b/src/features/featureRemoteConfig.ts @@ -0,0 +1,226 @@ +import AsyncStorage from '@react-native-async-storage/async-storage'; + +import { toFeatureKey } from '../constants/featureKeys'; +import { apiClient } from '../services/api/apiClient'; +import { endpoints } from '../services/api/endpoints'; +import { featureService } from './featureService'; +import { FeatureSource, type FeatureOverrides } from './types'; +import type { FeatureConfigResult } from '../types/cbs'; + +const CACHE_KEY = 'bankcbs.featureConfig.lastKnown'; + +/** + * Server-driven feature switches — the `remote` and `tenant` layers. + * + * Two things here are load-bearing rather than incidental: + * + * **The last successful payload is cached and re-applied on launch.** Without it + * a handset that starts offline would fall back to the flags compiled into the + * bundle — which is exactly how a feature the bank killed during an incident + * comes *back on* for anyone who restarts the app on a bad connection. Caching + * the instruction is what makes the kill switch survive being offline. + * + * **Unknown keys are dropped, not trusted.** The server may legitimately + * publish keys for a newer app release; this build must ignore those rather than + * store strings that match nothing. Combined with fail-closed resolution, a + * malformed payload can only ever hide features, never reveal them. + */ + +interface CachedConfig { + version: number; + overrides: FeatureOverrides; + roleOverrides: FeatureOverrides; + fetchedAt: number; +} + +/** Narrows a server payload to declared keys, discarding anything else. */ +const narrow = (raw: Record | undefined, label: string): FeatureOverrides => { + if (!raw || typeof raw !== 'object') { + return {}; + } + + const result: FeatureOverrides = {}; + const unknown: string[] = []; + + for (const [candidate, value] of Object.entries(raw)) { + const key = toFeatureKey(candidate); + + if (key && typeof value === 'boolean') { + result[key] = value; + } else { + unknown.push(candidate); + } + } + + if (unknown.length > 0 && __DEV__) { + console.warn( + `[features] Ignored ${unknown.length} unrecognised key(s) in ${label}: ${unknown.join(', ')}`, + ); + } + + return result; +}; + +const readCache = async (): Promise => { + try { + const stored = await AsyncStorage.getItem(CACHE_KEY); + + if (!stored) { + return null; + } + + const parsed = JSON.parse(stored) as CachedConfig; + + return { + version: typeof parsed.version === 'number' ? parsed.version : 0, + // Re-narrow on read: the cache may have been written by an older build + // whose key set has since changed. + overrides: narrow(parsed.overrides as Record, 'cached config'), + roleOverrides: narrow(parsed.roleOverrides as Record, 'cached role config'), + fetchedAt: typeof parsed.fetchedAt === 'number' ? parsed.fetchedAt : 0, + }; + } catch { + return null; + } +}; + +const writeCache = async (config: CachedConfig) => { + try { + await AsyncStorage.setItem(CACHE_KEY, JSON.stringify(config)); + } catch (error) { + if (__DEV__) { + console.warn('[features] Could not cache feature config.', error); + } + } +}; + +/** + * Fixture used while `useMockServer` is on, since `/features/config` has no + * backend behind it yet. + * + * Deliberately empty. A fixture that switched features off would make mock mode + * differ from a fresh install for reasons nobody could find — to exercise a kill + * switch locally, use the dev toggle screen, or add an entry here temporarily: + * + * overrides: { 'loans.apply': false } + */ +const MOCK_CONFIG: FeatureConfigResult = { + version: 0, + overrides: {}, +}; + +const fetchConfig = async (): Promise => { + const response = await apiClient.get(endpoints.features.config); + + return response.data; +}; + +export const featureRemoteConfig = { + /** + * Applies the cached configuration, if any. Call before the first fetch so a + * cold start on a dead connection still honours the bank's last instruction + * instead of reverting to bundle defaults. + */ + async applyCached(): Promise { + const cached = await readCache(); + + if (!cached) { + return false; + } + + featureService.setSource(FeatureSource.Remote, cached.overrides); + featureService.setSource(FeatureSource.Tenant, cached.roleOverrides); + + return true; + }, + + /** + * Fetches the live configuration and applies it to the remote and tenant + * layers. + * + * Returns `false` when nothing could be applied, having left the existing + * layers untouched — a failed refresh must never widen access, so the last + * known configuration stays in force rather than falling back to defaults. + * + * Safe to call unauthenticated: the response then carries no `roleOverrides` + * and the tenant layer is left as it is. + */ + async refresh({ useMock }: { useMock: boolean }): Promise { + try { + const result = useMock ? MOCK_CONFIG : await fetchConfig(); + + const overrides = narrow(result.overrides, 'feature config'); + const hasRoleScope = result.roleOverrides !== undefined; + const roleOverrides = narrow(result.roleOverrides, 'role feature config'); + + featureService.setSource(FeatureSource.Remote, overrides); + + // Only touch the tenant layer when the response actually carried a role + // scope. An unauthenticated fetch omits it, and clearing the layer then + // would drop role rules that a previous authenticated fetch had applied. + if (hasRoleScope) { + featureService.setSource(FeatureSource.Tenant, roleOverrides); + } + + await writeCache({ + version: result.version ?? 0, + overrides, + roleOverrides: hasRoleScope + ? roleOverrides + : featureService.getSource(FeatureSource.Tenant), + fetchedAt: Date.now(), + }); + + if (__DEV__) { + const killed = Object.entries(overrides).filter(([, on]) => !on).length; + console.log( + `[features] Applied remote config v${result.version ?? 0} — ` + + `${Object.keys(overrides).length} override(s), ${killed} disabled.`, + ); + } + + return true; + } catch (error) { + if (__DEV__) { + console.warn('[features] Feature config refresh failed; keeping current config.', error); + } + + return false; + } + }, + + /** + * Clears the role-scoped layer on sign-out. The org-wide layer stays: it + * applies to the sign-in screen too, and it is not session data. + */ + clearRoleScope() { + featureService.setSource(FeatureSource.Tenant, {}); + }, + + /** + * Forgets the signed-out customer's entitlements for good, keeping the bank's + * org-wide instruction. + * + * `clearRoleScope` only drops the in-memory layer. The cache on disk still + * held `roleOverrides`, and `applyCached` re-applies both layers on the next + * cold start — so one customer's role scope came back and sat over whoever + * launched the app next. That is the leak this closes. + * + * The org-wide half is rewritten rather than deleted, deliberately. It is the + * bank's kill switch, and it is cached precisely so a handset that starts + * offline still honours a feature the bank killed during an incident instead + * of reverting to whatever the bundle was built with. Dropping the file would + * turn a sign-out into a way to switch those features back on. + */ + async forgetRoleScope() { + featureService.setSource(FeatureSource.Tenant, {}); + + const cached = await readCache(); + + if (!cached || Object.keys(cached.roleOverrides).length === 0) { + return; + } + + await writeCache({ ...cached, roleOverrides: {} }); + }, +}; diff --git a/src/features/featureService.test.ts b/src/features/featureService.test.ts new file mode 100644 index 0000000..ff50255 --- /dev/null +++ b/src/features/featureService.test.ts @@ -0,0 +1,262 @@ +import { FeatureKey, getFeatureAncestors, getParentFeatureKey, toFeatureKey } from '../constants/featureKeys'; +import { + featureService, + filterEnabled, + guardFeature, + isFeatureEnabled, + isFeatureKeyEnabled, +} from './featureService'; +import { FeatureSource } from './types'; + +describe('feature keys', () => { + it('derives the parent from the dot path', () => { + expect(getParentFeatureKey(FeatureKey.SERVICES_CHEQUE_STOP_PAYMENT)).toBe( + FeatureKey.SERVICES_CHEQUE, + ); + expect(getParentFeatureKey(FeatureKey.SERVICES_CHEQUE)).toBe(FeatureKey.SERVICES); + }); + + it('returns undefined for a root key', () => { + expect(getParentFeatureKey(FeatureKey.SERVICES)).toBeUndefined(); + }); + + it('lists ancestors nearest-first', () => { + expect(getFeatureAncestors(FeatureKey.SERVICES_CHEQUE_STOP_PAYMENT)).toEqual([ + FeatureKey.SERVICES_CHEQUE, + FeatureKey.SERVICES, + ]); + }); + + it('narrows only strings that are declared keys', () => { + expect(toFeatureKey('services.cheque')).toBe(FeatureKey.SERVICES_CHEQUE); + expect(toFeatureKey('services.nope')).toBeUndefined(); + expect(toFeatureKey(undefined)).toBeUndefined(); + expect(toFeatureKey('')).toBeUndefined(); + }); +}); + +describe('featureService', () => { + afterEach(() => { + featureService.resetSources(); + }); + + it('has a valid static configuration', () => { + expect(featureService.validate()).toEqual([]); + }); + + it('enables a feature whose config and ancestors are all on', () => { + expect(isFeatureEnabled(FeatureKey.SERVICES_CHEQUE_STOP_PAYMENT)).toBe(true); + }); + + it('disables every descendant when a parent is turned off', () => { + featureService.setSource(FeatureSource.Remote, { [FeatureKey.SERVICES_CHEQUE]: false }); + + expect(isFeatureEnabled(FeatureKey.SERVICES_CHEQUE)).toBe(false); + expect(isFeatureEnabled(FeatureKey.SERVICES_CHEQUE_HUB)).toBe(false); + expect(isFeatureEnabled(FeatureKey.SERVICES_CHEQUE_STOP_PAYMENT)).toBe(false); + // Siblings under a different parent are untouched. + expect(isFeatureEnabled(FeatureKey.SERVICES_PROTECTION_DEAF)).toBe(true); + }); + + it('cannot re-enable a child while its parent is off', () => { + featureService.setSource(FeatureSource.Remote, { + [FeatureKey.SERVICES_CHEQUE]: false, + [FeatureKey.SERVICES_CHEQUE_STOP_PAYMENT]: true, + }); + + expect(isFeatureEnabled(FeatureKey.SERVICES_CHEQUE_STOP_PAYMENT)).toBe(false); + }); + + it('disables a single child without touching its parent or siblings', () => { + featureService.setSource(FeatureSource.Remote, { + [FeatureKey.AGENT_CUSTOMERS_CREATE]: false, + [FeatureKey.AGENT_CUSTOMERS_DELETE]: false, + }); + + expect(isFeatureEnabled(FeatureKey.AGENT_CUSTOMERS)).toBe(true); + expect(isFeatureEnabled(FeatureKey.AGENT_CUSTOMERS_LIST)).toBe(true); + expect(isFeatureEnabled(FeatureKey.AGENT_CUSTOMERS_EDIT)).toBe(true); + expect(isFeatureEnabled(FeatureKey.AGENT_CUSTOMERS_CREATE)).toBe(false); + expect(isFeatureEnabled(FeatureKey.AGENT_CUSTOMERS_DELETE)).toBe(false); + }); + + it('fails closed on an unknown key', () => { + const warn = jest.spyOn(console, 'warn').mockImplementation(() => {}); + + expect(isFeatureEnabled('totally.made.up' as FeatureKey)).toBe(false); + expect(isFeatureKeyEnabled('totally.made.up')).toBe(false); + expect(isFeatureKeyEnabled(undefined)).toBe(false); + + warn.mockRestore(); + }); + + describe('source priority', () => { + it('lets a higher-priority source win', () => { + // Nothing authoritative has an opinion here, so ordinary precedence + // applies and the user layer — the highest — decides. + featureService.setSource(FeatureSource.Environment, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: false }); + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(false); + + featureService.setSource(FeatureSource.User, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: true }); + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(true); + }); + + // The kill switch. A device-local override must not be able to re-enable + // something the bank has shut down, even though the user layer outranks the + // remote one for every other purpose. + it('does not let a local override lift a remote kill', () => { + featureService.setSource(FeatureSource.Remote, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: false }); + featureService.setSource(FeatureSource.User, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: true }); + + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(false); + expect(featureService.explain(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toMatchObject({ + enabled: false, + killedBy: FeatureSource.Remote, + locallyToggleable: false, + }); + }); + + it('does not let a local override lift a tenant kill', () => { + featureService.setSource(FeatureSource.Tenant, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: false }); + featureService.setSource(FeatureSource.User, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: true }); + + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(false); + }); + + // The asymmetry is deliberate: switching a feature off locally is always + // safe, so an authoritative `true` stays a preference rather than a mandate. + it('still lets a local override switch off a remotely enabled feature', () => { + featureService.setSource(FeatureSource.Remote, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: true }); + featureService.setSource(FeatureSource.User, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: false }); + + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(false); + expect(featureService.explain(FeatureKey.PAYMENTS_TRANSFER_IMPS).locallyToggleable).toBe(true); + }); + + it('reports a feature held down by a disabled ancestor as not locally toggleable', () => { + featureService.setSource(FeatureSource.User, { [FeatureKey.PAYMENTS_TRANSFER]: false }); + + const resolution = featureService.explain(FeatureKey.PAYMENTS_TRANSFER_IMPS); + + expect(resolution.enabled).toBe(false); + // Its own flag is untouched — it is the parent that is off, so flipping + // this row would achieve nothing and the UI must say so. + expect(resolution.ownFlag).toBe(true); + expect(resolution.blockedBy).toBe(FeatureKey.PAYMENTS_TRANSFER); + expect(resolution.locallyToggleable).toBe(false); + }); + + it('patches a single key without discarding the rest of the layer', () => { + featureService.setSource(FeatureSource.User, { + [FeatureKey.PAYMENTS_TRANSFER_IMPS]: false, + [FeatureKey.NOTIFICATIONS]: false, + }); + + featureService.patchSource(FeatureSource.User, FeatureKey.PAYMENTS_TRANSFER_IMPS, undefined); + + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(true); + // The toggle screens patch one row per tap; losing the others would make + // every switch reset the whole layer. + expect(isFeatureEnabled(FeatureKey.NOTIFICATIONS)).toBe(false); + }); + + it('falls back to the next source down when a layer is cleared', () => { + featureService.setSource(FeatureSource.Remote, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: false }); + featureService.setSource(FeatureSource.User, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: true }); + + featureService.clearSource(FeatureSource.User); + + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(false); + }); + + it('returns to the compiled defaults after reset', () => { + featureService.setSource(FeatureSource.Remote, { [FeatureKey.PAYMENTS_TRANSFER_IMPS]: false }); + featureService.resetSources(); + + expect(isFeatureEnabled(FeatureKey.PAYMENTS_TRANSFER_IMPS)).toBe(true); + }); + + it('refuses to replace the default layer', () => { + expect(() => featureService.setSource(FeatureSource.Default, {})).toThrow(); + }); + }); + + it('notifies subscribers when config changes', () => { + const listener = jest.fn(); + const unsubscribe = featureService.subscribe(listener); + + featureService.setSource(FeatureSource.Remote, { [FeatureKey.NOTIFICATIONS]: false }); + expect(listener).toHaveBeenCalledTimes(1); + + unsubscribe(); + featureService.setSource(FeatureSource.Remote, { [FeatureKey.NOTIFICATIONS]: true }); + expect(listener).toHaveBeenCalledTimes(1); + }); + + it('invalidates cached results when a source changes', () => { + expect(isFeatureEnabled(FeatureKey.NOTIFICATIONS_LIST)).toBe(true); + + featureService.setSource(FeatureSource.Remote, { [FeatureKey.NOTIFICATIONS]: false }); + + expect(isFeatureEnabled(FeatureKey.NOTIFICATIONS_LIST)).toBe(false); + }); +}); + +describe('guardFeature', () => { + afterEach(() => { + featureService.resetSources(); + }); + + it('runs the action while the feature is enabled', () => { + const action = jest.fn(() => 'ran'); + const guarded = guardFeature(FeatureKey.AGENT_CUSTOMERS_DELETE, action); + + expect(guarded()).toBe('ran'); + expect(action).toHaveBeenCalledTimes(1); + }); + + it('does not run the action — or fire its API call — when disabled', () => { + const warn = jest.spyOn(console, 'warn').mockImplementation(() => {}); + const action = jest.fn(); + const guarded = guardFeature(FeatureKey.AGENT_CUSTOMERS_DELETE, action); + + featureService.setSource(FeatureSource.Remote, { + [FeatureKey.AGENT_CUSTOMERS_DELETE]: false, + }); + + expect(guarded()).toBeUndefined(); + expect(action).not.toHaveBeenCalled(); + + warn.mockRestore(); + }); +}); + +describe('filterEnabled', () => { + afterEach(() => { + featureService.resetSources(); + }); + + const items = [ + { id: 'protection', feature: FeatureKey.SERVICES_PROTECTION_HUB }, + { id: 'cheque', feature: FeatureKey.SERVICES_CHEQUE_HUB }, + { id: 'untagged' }, + ]; + + it('keeps enabled and untagged items', () => { + expect(filterEnabled(items).map((item) => item.id)).toEqual([ + 'protection', + 'cheque', + 'untagged', + ]); + }); + + it('drops items whose feature is disabled', () => { + featureService.setSource(FeatureSource.Remote, { [FeatureKey.SERVICES_CHEQUE]: false }); + + expect(filterEnabled(items).map((item) => item.id)).toEqual(['protection', 'untagged']); + }); + + it('drops items whose feature string is not a declared key', () => { + expect(filterEnabled([{ id: 'bogus', feature: 'not.a.key' }])).toEqual([]); + }); +}); diff --git a/src/features/featureService.ts b/src/features/featureService.ts new file mode 100644 index 0000000..84e3121 --- /dev/null +++ b/src/features/featureService.ts @@ -0,0 +1,415 @@ +import { + ALL_FEATURE_KEYS, + FeatureKey, + getFeatureAncestors, + getParentFeatureKey, + toFeatureKey, +} from '../constants/featureKeys'; +import { DEFAULT_FEATURE_CONFIG, ENVIRONMENT_FEATURE_OVERRIDES } from './featureConfig'; +import { + AUTHORITATIVE_FEATURE_SOURCES, + FEATURE_SOURCE_PRIORITY, + FeatureSource, + type FeatureConfig, + type FeatureConfigIssue, + type FeatureOverrides, + type FeatureResolution, +} from './types'; + +/** + * Central feature-flag engine. + * + * Single instance for the whole app (exported as `featureService`). It owns: + * - the registry built from the static config, + * - the stack of override layers (environment → remote → tenant → user), + * - a resolution cache, invalidated whenever any layer changes, + * - a listener set so React can re-render on remote-config updates. + * + * Resolution is *fail closed*: an unknown key, or a key whose config is missing, + * resolves to `false`. In a banking app an unrecognised flag must hide the + * feature, never reveal it. + */ +class FeatureService { + private readonly registry = new Map(); + + private readonly layers = new Map(); + + private readonly cache = new Map(); + + private readonly listeners = new Set<() => void>(); + + /** Bumped on every config change; used as the `useSyncExternalStore` snapshot. */ + private version = 0; + + constructor() { + this.buildRegistry(); + this.layers.set(FeatureSource.Environment, { ...ENVIRONMENT_FEATURE_OVERRIDES }); + } + + // ------------------------------------------------------------- registry --- + + private buildRegistry() { + this.registry.clear(); + + for (const key of ALL_FEATURE_KEYS) { + const definition = DEFAULT_FEATURE_CONFIG[key]; + + this.registry.set(key, { + key, + enabled: definition.enabled, + parent: getParentFeatureKey(key), + }); + } + } + + /** + * Verifies the configuration is internally consistent. Every declared key must + * have config, and every non-root key must have a declared parent (otherwise a + * typo like `loans.aply.submit` would silently become a root feature that no + * parent can ever switch off). + * + * Called from `FeatureProvider` in development. + */ + validate(): FeatureConfigIssue[] { + const issues: FeatureConfigIssue[] = []; + + for (const key of ALL_FEATURE_KEYS) { + if (!(key in DEFAULT_FEATURE_CONFIG)) { + issues.push({ + key, + problem: 'missing-config', + detail: `"${key}" is declared in FeatureKey but absent from DEFAULT_FEATURE_CONFIG.`, + }); + } + + const lastDot = key.lastIndexOf('.'); + + if (lastDot !== -1 && !toFeatureKey(key.slice(0, lastDot))) { + issues.push({ + key, + problem: 'missing-parent', + detail: `"${key}" implies a parent "${key.slice( + 0, + lastDot, + )}" which is not a declared FeatureKey.`, + }); + } + } + + for (const configured of Object.keys(DEFAULT_FEATURE_CONFIG)) { + if (!toFeatureKey(configured)) { + issues.push({ + key: configured, + problem: 'unknown-key', + detail: `DEFAULT_FEATURE_CONFIG has "${configured}" which is not a FeatureKey.`, + }); + } + } + + return issues; + } + + // ----------------------------------------------------------- resolution --- + + /** + * The feature's own flag, before considering ancestors: the value from the + * highest-priority source that defines it, falling back to the static config. + */ + private resolveOwnFlag(key: FeatureKey): boolean { + return this.resolveOwnFlagWithSource(key).value; + } + + /** + * The own flag plus the layer that decided it. Two phases, and the order + * between them is the security-relevant part: + * + * 1. A kill from an authoritative layer wins outright, whatever sits above it + * in the priority list. A device-local toggle must not be able to re-enable + * a feature the bank has shut down. + * 2. Otherwise the highest-priority layer that defines the key wins, falling + * back to the static config compiled into the bundle. + */ + private resolveOwnFlagWithSource(key: FeatureKey): { + value: boolean; + source: FeatureSource; + killedBy?: FeatureSource; + } { + for (const source of AUTHORITATIVE_FEATURE_SOURCES) { + if (this.layers.get(source)?.[key] === false) { + return { value: false, source, killedBy: source }; + } + } + + for (let i = FEATURE_SOURCE_PRIORITY.length - 1; i >= 0; i -= 1) { + const source = FEATURE_SOURCE_PRIORITY[i]; + + if (!source || source === FeatureSource.Default) { + continue; + } + + const override = this.layers.get(source)?.[key]; + + if (typeof override === 'boolean') { + return { value: override, source }; + } + } + + return { + value: this.registry.get(key)?.enabled ?? false, + source: FeatureSource.Default, + }; + } + + /** + * Whether a feature is usable: it must exist, its own flag must be on, and + * every ancestor must also resolve to enabled. + */ + isEnabled(key: FeatureKey): boolean { + const cached = this.cache.get(key); + + if (typeof cached === 'boolean') { + return cached; + } + + let enabled: boolean; + + if (!this.registry.has(key)) { + if (__DEV__) { + console.warn( + `[features] Unknown feature key "${key}". Resolving to disabled. ` + + 'Add it to FeatureKey and DEFAULT_FEATURE_CONFIG.', + ); + } + enabled = false; + } else if (!this.resolveOwnFlag(key)) { + enabled = false; + } else { + // Walking ancestors nearest-first lets the recursive call hit the cache. + enabled = getFeatureAncestors(key).every((ancestor) => this.isEnabled(ancestor)); + } + + this.cache.set(key, enabled); + + return enabled; + } + + /** True only when every supplied key is enabled. */ + areAllEnabled(keys: readonly FeatureKey[]): boolean { + return keys.every((key) => this.isEnabled(key)); + } + + /** True when at least one supplied key is enabled. */ + isAnyEnabled(keys: readonly FeatureKey[]): boolean { + return keys.some((key) => this.isEnabled(key)); + } + + /** + * Resolves an untrusted string (JSON UI, deep link, remote payload) and + * reports whether it maps to an enabled feature. Unknown strings → false. + */ + isEnabledKey(value: string | null | undefined): boolean { + const key = toFeatureKey(value); + + return key ? this.isEnabled(key) : false; + } + + // -------------------------------------------------------------- sources --- + + /** + * Replaces one layer's overrides wholesale and notifies subscribers. + * This is the seam for Firebase Remote Config, an API-driven config service, + * or per-tenant/role rules — no UI component changes when a layer is added. + */ + setSource(source: FeatureSource, overrides: FeatureOverrides) { + if (source === FeatureSource.Default) { + throw new Error('[features] The default layer is static and cannot be replaced.'); + } + + this.layers.set(source, { ...overrides }); + this.invalidate(); + } + + /** + * Sets or clears a *single* key within one layer, leaving the rest of that + * layer alone. This is what the toggle screens use: `setSource` would discard + * every other override in the layer on each tap. + * + * Passing `undefined` removes the key, so the feature falls back to whatever + * the layers below it say rather than being pinned to a value. + */ + patchSource(source: FeatureSource, key: FeatureKey, value: boolean | undefined) { + if (source === FeatureSource.Default) { + throw new Error('[features] The default layer is static and cannot be patched.'); + } + + const next: FeatureOverrides = { ...this.layers.get(source) }; + + if (value === undefined) { + delete next[key]; + } else { + next[key] = value; + } + + this.layers.set(source, next); + this.invalidate(); + } + + /** One layer's overrides, for the toggle screens and for persisting them. */ + getSource(source: FeatureSource): FeatureOverrides { + return { ...this.layers.get(source) }; + } + + /** Drops a layer entirely (e.g. on logout, clear the user/tenant layers). */ + clearSource(source: FeatureSource) { + if (this.layers.delete(source)) { + this.invalidate(); + } + } + + /** Removes every non-default layer. Used on logout and in tests. */ + resetSources() { + this.layers.clear(); + this.layers.set(FeatureSource.Environment, { ...ENVIRONMENT_FEATURE_OVERRIDES }); + this.invalidate(); + } + + private invalidate() { + this.cache.clear(); + this.version += 1; + this.listeners.forEach((listener) => listener()); + } + + // ------------------------------------------------------------ reactivity --- + + /** Subscribes to config changes. Returns an unsubscribe function. */ + subscribe = (listener: () => void): (() => void) => { + this.listeners.add(listener); + + return () => { + this.listeners.delete(listener); + }; + }; + + /** Monotonic version, stable between changes — safe for useSyncExternalStore. */ + getVersion = (): number => this.version; + + // ----------------------------------------------------------- diagnostics --- + + /** Full resolved state. Development/debugging aid only. */ + getSnapshot(): Record { + const snapshot = {} as Record; + + for (const key of ALL_FEATURE_KEYS) { + snapshot[key] = this.isEnabled(key); + } + + return snapshot; + } + + /** Resolved config for one feature, including where its parent sits. */ + getConfig(key: FeatureKey): FeatureConfig | undefined { + return this.registry.get(key); + } + + /** + * Why one feature resolved the way it did. + * + * The toggle screens need this rather than a bare boolean: a row that is off + * because the bank killed it, and a row that is off because its parent is off, + * both look identical as a `false` — and neither can be fixed by flipping that + * row. Showing the reason is what stops someone tapping a locked toggle and + * concluding the app is broken. + */ + explain(key: FeatureKey): FeatureResolution { + const { value: ownFlag, source, killedBy } = this.resolveOwnFlagWithSource(key); + const blockedBy = ownFlag + ? getFeatureAncestors(key).find((ancestor) => !this.isEnabled(ancestor)) + : undefined; + + return { + key, + enabled: this.isEnabled(key), + ownFlag, + decidedBy: source, + ...(killedBy ? { killedBy } : {}), + ...(blockedBy ? { blockedBy } : {}), + // A killed feature cannot be lifted locally, and neither can one whose + // parent is off — the ancestor has to be fixed first. + locallyToggleable: !killedBy && !blockedBy, + }; + } +} + +export const featureService = new FeatureService(); + +/** + * Canonical feature check used across the app. + * + * Automatically accounts for the feature's own flag, every ancestor, whether the + * key exists at all, and the active source layers. + * + * if (isFeatureEnabled(FeatureKey.PAYMENTS_BENEFICIARIES_ADD)) { … } + */ +export const isFeatureEnabled = (key: FeatureKey): boolean => featureService.isEnabled(key); + +/** Every key enabled? */ +export const areAllFeaturesEnabled = (keys: readonly FeatureKey[]): boolean => + featureService.areAllEnabled(keys); + +/** Any key enabled? */ +export const isAnyFeatureEnabled = (keys: readonly FeatureKey[]): boolean => + featureService.isAnyEnabled(keys); + +/** + * Check for a feature reference that arrived as a plain string — JSON-driven UI, + * deep links, remote payloads. Unknown strings resolve to `false`. + */ +export const isFeatureKeyEnabled = (value: string | null | undefined): boolean => + featureService.isEnabledKey(value); + +/** + * Wraps an action so it cannot run while its feature is disabled. Use for any + * handler that mutates state or calls an API, so a disabled feature can never + * fire a request even if some UI path reaches it. + * + * const deleteUser = guardFeature(FeatureKey.USERS_DELETE, async (id) => { … }); + */ +export function guardFeature( + key: FeatureKey, + action: (...args: TArgs) => TResult, +): (...args: TArgs) => TResult | undefined { + return (...args: TArgs) => { + if (!isFeatureEnabled(key)) { + if (__DEV__) { + console.warn(`[features] Blocked action for disabled feature "${key}".`); + } + + return undefined; + } + + return action(...args); + }; +} + +/** + * Throwing variant, for service/thunk layers where silently doing nothing would + * hide a bug. Prefer `guardFeature` in UI handlers. + */ +export function assertFeatureEnabled(key: FeatureKey): void { + if (!isFeatureEnabled(key)) { + throw new Error(`[features] Feature "${key}" is disabled.`); + } +} + +/** + * Filters any list of feature-tagged items down to the enabled ones. This is the + * single helper behind gated service tiles, menu rows, search entries and + * JSON-driven component arrays. + * + * Items without a `feature` field are always kept — tagging is opt-in. + */ +export function filterEnabled( + items: readonly T[], +): T[] { + return items.filter((item) => item.feature === undefined || isFeatureKeyEnabled(item.feature)); +} diff --git a/src/features/hydrateFeatures.ts b/src/features/hydrateFeatures.ts new file mode 100644 index 0000000..057dde4 --- /dev/null +++ b/src/features/hydrateFeatures.ts @@ -0,0 +1,29 @@ +import { env } from '../config/env'; +import { featureOverrides } from './featureOverrides'; +import { featureRemoteConfig } from './featureRemoteConfig'; + +/** + * Brings every feature layer up before the app renders. Passed to + * `FeatureProvider`'s `hydrate` slot, which holds `ready` until it resolves. + * + * The order matters: + * + * 1. **Local overrides** — read from storage first. Cheap, and it means a + * tester's switches are in force even if the network never answers. + * 2. **Cached server config** — the bank's last known instruction. Applied + * before the fetch so a cold start offline still honours a kill switch + * rather than reverting to whatever the bundle was built with. + * 3. **Live fetch** — replaces the cache when it succeeds, and is a no-op when + * it does not, leaving step 2 in force. + * + * The awaits are sequential on purpose. Running them together would let the + * fetch land before the cache and then be overwritten by it. + * + * This resolves the org-wide scope only; role-scoped switches need a session and + * are refreshed at sign-in (see `useAppBootstrap`). + */ +export const hydrateFeatures = async (): Promise => { + await featureOverrides.restore(); + await featureRemoteConfig.applyCached(); + await featureRemoteConfig.refresh({ useMock: env.useMockServer }); +}; diff --git a/src/features/index.ts b/src/features/index.ts new file mode 100644 index 0000000..54adeae --- /dev/null +++ b/src/features/index.ts @@ -0,0 +1,45 @@ +/** + * Centralised feature management. + * + * Import everything feature-related from here: + * + * import { FeatureGate, useFeature, isFeatureEnabled } from '../../features'; + * import { FeatureKey } from '../../constants/featureKeys'; + */ +export { FeatureGate, DynamicFeatureGate } from './FeatureGate'; +export { FeatureProvider, useFeatureContext } from './FeatureProvider'; +export { + areAllFeaturesEnabled, + assertFeatureEnabled, + featureService, + filterEnabled, + guardFeature, + isAnyFeatureEnabled, + isFeatureEnabled, + isFeatureKeyEnabled, +} from './featureService'; +export { + useAllFeatures, + useAnyFeature, + useEnabledItems, + useFeature, + useFeatureAction, + useFeatures, + useFeatureVersion, +} from './useFeature'; +export { DEFAULT_FEATURE_CONFIG, ENVIRONMENT_FEATURE_OVERRIDES } from './featureConfig'; +export { featureOverrides } from './featureOverrides'; +export { featureRemoteConfig } from './featureRemoteConfig'; +export { hydrateFeatures } from './hydrateFeatures'; +export { ADMIN_TOGGLEABLE_FEATURES } from './adminFeatures'; +export { + AUTHORITATIVE_FEATURE_SOURCES, + FEATURE_SOURCE_PRIORITY, + FeatureSource, + type FeatureConfig, + type FeatureConfigIssue, + type FeatureDefinition, + type FeatureOverrides, + type FeatureResolution, + type FeatureTagged, +} from './types'; diff --git a/src/features/types.ts b/src/features/types.ts new file mode 100644 index 0000000..49efa38 --- /dev/null +++ b/src/features/types.ts @@ -0,0 +1,117 @@ +import type { FeatureKey } from '../constants/featureKeys'; + +/** + * How a single feature is declared in the static configuration. + */ +export type FeatureDefinition = { + /** When false the feature and everything beneath it is hidden. */ + enabled: boolean; + /** Why this feature exists / what it gates. Documentation only. */ + description?: string; + /** + * Why this feature ships off. Documentation only, and only meaningful + * alongside `enabled: false` — it is the note a reviewer needs to tell a + * deliberate scope decision from an accidental one. + */ + reason?: string; +}; + +/** + * A fully resolved feature entry as held by the registry. `parent` is derived + * from the key's dot path rather than hand-written, so the hierarchy can never + * drift from the key naming. + */ +export type FeatureConfig = { + key: FeatureKey; + enabled: boolean; + parent?: FeatureKey; +}; + +/** + * Configuration layers, lowest priority first. A value supplied by a later + * source overrides the same key from an earlier one: + * + * default → environment → remote → tenant → user + * + * `default` is the static config compiled into the bundle. The remaining layers + * are empty until something registers them, which is what lets us add Firebase + * Remote Config, an API-driven config or per-tenant/role rules later without + * touching a single UI component. + */ +export enum FeatureSource { + Default = 'default', + Environment = 'environment', + Remote = 'remote', + Tenant = 'tenant', + User = 'user', +} + +/** Source precedence, lowest → highest. */ +export const FEATURE_SOURCE_PRIORITY: readonly FeatureSource[] = [ + FeatureSource.Default, + FeatureSource.Environment, + FeatureSource.Remote, + FeatureSource.Tenant, + FeatureSource.User, +]; + +/** + * Layers whose `false` is a **kill switch**: once one of these turns a feature + * off, no higher-priority layer may turn it back on. + * + * Priority alone is the wrong tool here. `user` sits above `remote` in the list + * above — deliberately, so a local override can enable something for testing — + * but that same ordering would let a device-local toggle re-enable a feature the + * bank had shut down for a live incident. So a kill is resolved *before* + * precedence, and precedence then decides only among features nobody has killed. + * + * Note the asymmetry: an authoritative `true` is only a preference and a local + * layer may still switch it off. Turning a feature *off* locally is always safe; + * turning one *on* against the bank's instruction is not. + */ +export const AUTHORITATIVE_FEATURE_SOURCES: readonly FeatureSource[] = [ + FeatureSource.Remote, + FeatureSource.Tenant, +]; + +/** + * Why one feature resolved the way it did. Drives the toggle screens, which + * must show *why* a row is off — a key held down by a remote kill or by a + * disabled parent cannot be fixed by flipping the row itself. + */ +export type FeatureResolution = { + key: FeatureKey; + /** Final answer, ancestors included. This is what `isEnabled` returns. */ + enabled: boolean; + /** The feature's own flag, before ancestors are considered. */ + ownFlag: boolean; + /** Layer that decided the own flag. */ + decidedBy: FeatureSource; + /** Set when an authoritative layer forced it off. No local override lifts this. */ + killedBy?: FeatureSource; + /** Nearest ancestor that is off, when the own flag is on but the feature is not. */ + blockedBy?: FeatureKey; + /** False when a local toggle cannot change the outcome (killed, or parent off). */ + locallyToggleable: boolean; +}; + +/** A sparse set of overrides contributed by one source. */ +export type FeatureOverrides = Partial>; + +/** + * Anything carrying an optional feature reference — used by JSON-driven UI and + * by static option arrays (service tiles, menu rows, search entries). + * + * The field is a plain string so it can come straight from JSON; it is narrowed + * through `toFeatureKey` before use, and an unknown value hides the item. + */ +export type FeatureTagged = { + feature?: FeatureKey | string; +}; + +/** Result of validating the configuration against the key enum. */ +export type FeatureConfigIssue = { + key: string; + problem: 'missing-config' | 'unknown-key' | 'missing-parent'; + detail: string; +}; diff --git a/src/features/useFeature.ts b/src/features/useFeature.ts new file mode 100644 index 0000000..63b76bc --- /dev/null +++ b/src/features/useFeature.ts @@ -0,0 +1,130 @@ +import { useCallback, useMemo, useSyncExternalStore } from 'react'; + +import type { FeatureKey } from '../constants/featureKeys'; +import { featureService, isFeatureEnabled } from './featureService'; + +/** + * Subscribes the calling component to feature-config changes. + * + * The store snapshot is the service's version counter, which only changes when a + * source layer is replaced. That keeps `useSyncExternalStore` stable (no render + * loops) while still re-rendering everything the moment remote config lands. + */ +export const useFeatureVersion = (): number => + useSyncExternalStore( + featureService.subscribe, + featureService.getVersion, + featureService.getVersion, + ); + +/** + * Whether a single feature is enabled, accounting for its ancestors. + * + * const canAddBeneficiary = useFeature(FeatureKey.PAYMENTS_BENEFICIARIES_ADD); + * return <>{canAddBeneficiary && }; + */ +export const useFeature = (key: FeatureKey): boolean => { + const version = useFeatureVersion(); + + // `version` looks unused to the linter, but `isFeatureEnabled` reads mutable + // service state — the version is exactly what tells us that state changed. + // eslint-disable-next-line react-hooks/exhaustive-deps + return useMemo(() => isFeatureEnabled(key), [key, version]); +}; + +/** + * Resolves several features at once, keyed by feature key. Cheaper and tidier + * than calling `useFeature` repeatedly in a screen with many gated controls. + * + * const flags = useFeatures([FeatureKey.CARDS_CONTROLS_FREEZE, FeatureKey.CARDS_CONTROLS_LIMITS]); + * flags[FeatureKey.CARDS_CONTROLS_FREEZE] // boolean + */ +export const useFeatures = ( + keys: T, +): Record => { + const version = useFeatureVersion(); + // Key the memo on the contents, so an inline array literal does not thrash it. + const signature = keys.join('|'); + + return useMemo(() => { + const result = {} as Record; + + for (const key of keys) { + result[key as T[number]] = isFeatureEnabled(key); + } + + return result; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [signature, version]); +}; + +/** True only when every listed feature is enabled. */ +export const useAllFeatures = (keys: readonly FeatureKey[]): boolean => { + const version = useFeatureVersion(); + const signature = keys.join('|'); + + // eslint-disable-next-line react-hooks/exhaustive-deps + return useMemo(() => keys.every((key) => isFeatureEnabled(key)), [signature, version]); +}; + +/** True when at least one listed feature is enabled. */ +export const useAnyFeature = (keys: readonly FeatureKey[]): boolean => { + const version = useFeatureVersion(); + const signature = keys.join('|'); + + // eslint-disable-next-line react-hooks/exhaustive-deps + return useMemo(() => keys.some((key) => isFeatureEnabled(key)), [signature, version]); +}; + +/** + * Wraps a handler so it is inert while its feature is disabled — the callback + * still exists (keeping call sites simple) but does nothing and fires no API + * call. Pair with `FeatureGate` so the control is not rendered either. + * + * const onDelete = useFeatureAction(FeatureKey.PAYMENTS_BENEFICIARIES_DELETE, () => + * dispatch(deleteBeneficiary(id)), + * ); + */ +export const useFeatureAction = ( + key: FeatureKey, + action: (...args: TArgs) => void, +): ((...args: TArgs) => void) => { + const enabled = useFeature(key); + + return useCallback( + (...args: TArgs) => { + if (!enabled) { + if (__DEV__) { + console.warn(`[features] Blocked action for disabled feature "${key}".`); + } + + return; + } + + action(...args); + }, + [enabled, key, action], + ); +}; + +/** + * Filters a list of feature-tagged items down to the enabled ones, recomputing + * when config changes. Use for service grids, menus and JSON-driven UI arrays. + */ +export const useEnabledItems = ( + items: readonly T[], +): T[] => { + const version = useFeatureVersion(); + + return useMemo( + () => + items.filter( + (item) => + item.feature === undefined || + (typeof item.feature === 'string' && featureService.isEnabledKey(item.feature)), + ), + // `version` is the signal that the service's mutable state changed. + // eslint-disable-next-line react-hooks/exhaustive-deps + [items, version], + ); +}; diff --git a/src/hooks/useApiErrorToast.ts b/src/hooks/useApiErrorToast.ts new file mode 100644 index 0000000..6971692 --- /dev/null +++ b/src/hooks/useApiErrorToast.ts @@ -0,0 +1,35 @@ +import { useCallback } from 'react'; + +import { describeError, isClientErrorCode } from '../services/api/cbsErrors'; +import type { ApiError } from '../types/api'; +import { useToast } from './useToast'; + +/** + * Surfaces a backend failure as a toast. The title always comes from the app's + * own copy for the error code — stable and translatable. + * + * The body prefers the server's message, which is usually more specific than + * anything the client could say about that particular failure. The exception is + * a failure the client invented because nothing answered: there the attached + * message is a transport detail like axios's bare "Network Error", which is + * worse than useless in front of a customer, so our own copy wins. + */ +export const useApiErrorToast = () => { + const toast = useToast(); + + return useCallback( + (error?: ApiError | null) => { + if (!error) { + return; + } + + const copy = describeError(error.code); + const body = isClientErrorCode(error.code) + ? copy.description + : error.message || copy.description; + + toast(copy.title, 'error', body); + }, + [toast], + ); +}; diff --git a/src/hooks/useAppBootstrap.ts b/src/hooks/useAppBootstrap.ts index 269a6fa..d90abd7 100644 --- a/src/hooks/useAppBootstrap.ts +++ b/src/hooks/useAppBootstrap.ts @@ -1,7 +1,11 @@ import { useEffect, useRef } from 'react'; import { useAppDispatch, useAppSelector } from '../app/hooks'; -import { bootstrapAuthSession, logoutSession } from '../modules/auth/store/authThunk'; +import { + bootstrapAuthSession, + loadSignInContext, + logoutSession, +} from '../modules/auth/store/authThunk'; import { selectIsAuthenticated } from '../modules/auth/store/authSelectors'; import { seedDashboardState } from '../modules/home/store/accountThunk'; import { seedBeneficiaries } from '../modules/transfer/store/transferThunk'; @@ -16,12 +20,19 @@ import { seedInsurancePlans } from '../modules/insurance/store/insuranceThunk'; import { seedCards } from '../modules/cards/store/cardsThunk'; import { seedUserProfile } from '../modules/profile/store/userThunk'; import { markAppReady } from '../modules/ui/store/uiThunk'; +import { env } from '../config/env'; +import { featureRemoteConfig } from '../features'; import { registerUnauthorizedHandler } from '../services/api/interceptors'; import { registerForPushNotifications } from '../services/notifications/pushNotifications'; import { useSessionTimeout } from './useSessionTimeout'; import { useToast } from './useToast'; -/** Dispatch all seed thunks to populate demo/mock data. */ +/** + * Populates the modules that have no CBS backend behind them yet — the + * dashboard, cards, loans, insurance, deposits, service requests and the agent + * app. Registration, sign-in, accounts/MMID and payees are live and are not + * seeded from here. + */ const seedAllData = (dispatch: ReturnType) => { dispatch(seedUserProfile()); dispatch(seedDashboardState()); @@ -39,33 +50,55 @@ export const useAppBootstrap = () => { const dispatch = useAppDispatch(); const toast = useToast(); const isAuthenticated = useAppSelector(selectIsAuthenticated); - const hasBootstrapped = useRef(false); + const wasAuthenticated = useRef(false); useSessionTimeout(); - // Initial bootstrap on mount + // Initial bootstrap on mount. `bootstrapAuthSession` also mints the device id + // and validates any stored session against the server before trusting it. useEffect(() => { - dispatch(bootstrapAuthSession()); + void dispatch(bootstrapAuthSession()); seedAllData(dispatch); dispatch(markAppReady()); void registerForPushNotifications(); - hasBootstrapped.current = true; }, [dispatch]); - // Re-seed all data when the user logs back in after a logout. - // Logout wipes all Redux state via rootReducer, so profile/dashboard/etc. - // need to be re-populated when isAuthenticated flips back to true. useEffect(() => { - if (isAuthenticated && hasBootstrapped.current) { + if (isAuthenticated && !wasAuthenticated.current) { + // Logout wipes all Redux state, so profile/dashboard/etc. need + // re-populating when the user signs back in. seedAllData(dispatch); + + // The startup fetch ran unauthenticated, so it could only carry the + // org-wide scope. Now that there is a session the server can also tell us + // what this customer's role and tenant are allowed to see. + void featureRemoteConfig.refresh({ useMock: env.useMockServer }); } + + if (!isAuthenticated && wasAuthenticated.current) { + // Role-scoped switches belong to the session that is ending. Leaving them + // in force would apply one customer's entitlements to whoever signs in + // next on this handset. The org-wide layer stays — it gates the sign-in + // screen itself. + featureRemoteConfig.clearRoleScope(); + + // That same wipe takes the remembered mobile number and the biometric + // flag with it, which the sign-in screen needs. Only those two are + // re-read — a full bootstrap would raise the hydrating flag and blank the + // app behind a loader on the way out. + void dispatch(loadSignInContext()); + } + + wasAuthenticated.current = isAuthenticated; }, [isAuthenticated, dispatch]); useEffect(() => { const unregister = registerUnauthorizedHandler(() => { - dispatch(logoutSession()); - toast('Signed out', 'info', 'For your security, your session was refreshed.'); + // A token the server rejected, not a customer leaving — so the session + // goes and the registration stays. See `LogoutReason`. + void dispatch(logoutSession('unauthorized')); + toast('Signed out', 'info', 'Your session ended. Please sign in again.'); }); return unregister; diff --git a/src/hooks/useSessionTimeout.ts b/src/hooks/useSessionTimeout.ts index 168fdd2..37f966b 100644 --- a/src/hooks/useSessionTimeout.ts +++ b/src/hooks/useSessionTimeout.ts @@ -1,37 +1,182 @@ -import { useEffect } from 'react'; +import { useCallback, useEffect, useRef } from 'react'; import { AppState, type AppStateStatus } from 'react-native'; -import { useAppDispatch } from '../app/hooks'; -import { logoutSession } from '../modules/auth/store/authThunk'; +import { useAppDispatch, useAppSelector } from '../app/hooks'; +import { appConfig } from '../config/appConfig'; +import { env } from '../config/env'; +import { logoutSession, refreshSessionIdentity } from '../modules/auth/store/authThunk'; +import { + selectHasLiveSession, + selectIsAuthenticated, +} from '../modules/auth/store/authSelectors'; import { uiActions } from '../modules/ui/store/uiSlice'; import { sessionManager } from '../services/security/sessionManager'; import { useToast } from './useToast'; +const TICK_MS = 5_000; + +type LockReason = 'idle' | 'absolute' | 'background'; + +const LOCK_COPY: Record = { + absolute: { + title: 'Session expired', + body: 'Sessions end after an hour. Please sign in again.', + tone: 'error', + }, + idle: { + title: 'Session expired', + body: 'You were inactive for a while. Please sign in again.', + tone: 'error', + }, + // Not a failure — the app asked for the MPIN again on purpose, so it should + // not be dressed up as something going wrong. + background: { + title: 'Welcome back', + body: 'Enter your MPIN to continue.', + tone: 'info', + }, +}; + +/** + * Ends the session when it should end, and asks for the MPIN again when it + * should be asked for. Three triggers: + * + * - the idle window the server reported, which any authenticated call resets; + * - the absolute ceiling it never extends; + * - returning to the foreground after the app was away long enough to count as + * being opened again. + * + * The first two run on a timer rather than only on app-state changes: the + * server starts answering 401 the moment the idle window closes, and a customer + * halfway through a transfer should be warned beforehand rather than discover it + * as a failed action. + */ export const useSessionTimeout = () => { const dispatch = useAppDispatch(); const toast = useToast(); + const isAuthenticated = useAppSelector(selectIsAuthenticated); + const hasLiveSession = useAppSelector(selectHasLiveSession); + const warnedRef = useRef(false); + /** When the app last left the foreground, for the background lock below. */ + const leftForegroundAt = useRef(null); + + const expire = useCallback( + (reason: LockReason) => { + // Only the timeouts are an expiry the user should be warned about; a + // deliberate re-lock is not, and flagging it would train them to ignore + // the banner that matters. + if (reason !== 'background') { + dispatch(uiActions.setSessionExpired(true)); + } + + // 'expired', not a sign-out: the customer stepped away, they did not + // leave. Wiping the remembered profile here would cost them an OTP and a + // device re-bind to get back into an account they are still using. + void dispatch(logoutSession('expired')); + + const copy = LOCK_COPY[reason]; + toast(copy.title, copy.tone, copy.body); + }, + [dispatch, toast], + ); + + useEffect(() => { + if (!isAuthenticated) { + warnedRef.current = false; + return; + } + + const interval = setInterval(() => { + const reason = sessionManager.expiryReason(); + + if (reason) { + clearInterval(interval); + expire(reason); + return; + } + + // Someone using the app should not be signed out for being idle. Only an + // authenticated call moves the server's window, and most screens here + // read from fixtures, so the keep-alive has to be sent deliberately. + if (hasLiveSession && sessionManager.shouldKeepAlive()) { + void dispatch(refreshSessionIdentity()); + } + + const remaining = sessionManager.getRemainingMs(); + + if (!warnedRef.current && remaining <= env.sessionWarningMs) { + warnedRef.current = true; + + // Against the idle window, carrying on using the app genuinely helps. + // Against the absolute cap nothing does, so saying "tap to stay signed + // in" there would be a lie the user finds out about a minute later. + const isAbsolute = sessionManager.nearestLimit() === 'absolute'; + + toast( + isAbsolute ? 'Session ending soon' : 'Still there?', + 'info', + isAbsolute + ? 'Sessions end an hour after signing in. Finish up and sign in again.' + : 'Your session is about to end. Tap anywhere to stay signed in.', + ); + } + + if (warnedRef.current && remaining > env.sessionWarningMs) { + // The idle timer was reset by an authenticated call, so the next + // approach to the cut-off deserves its own warning. + warnedRef.current = false; + } + }, TICK_MS); + + return () => clearInterval(interval); + }, [dispatch, expire, hasLiveSession, isAuthenticated, toast]); useEffect(() => { const handleAppStateChange = (nextState: AppStateStatus) => { - if (nextState === 'active') { - if (sessionManager.hasExpired()) { - dispatch(uiActions.setSessionExpired(true)); - dispatch(logoutSession()); - toast('Session expired', 'error', 'Please log in again to continue securely.'); - } - - sessionManager.touch(); + if (nextState === 'background' || nextState === 'inactive') { + leftForegroundAt.current = Date.now(); + return; } - if (nextState === 'background' || nextState === 'inactive') { - sessionManager.touch(); + if (nextState !== 'active') { + return; + } + + const awayMs = + leftForegroundAt.current === null ? 0 : Date.now() - leftForegroundAt.current; + + leftForegroundAt.current = null; + + const reason = sessionManager.expiryReason(); + + if (reason) { + expire(reason); + return; + } + + // The Android process usually survives backgrounding, so re-opening the + // app does not re-run bootstrap. Without this, "ask for the MPIN on every + // open" would hold only for a cold start. + if ( + isAuthenticated && + appConfig.security.requireMpinOnLaunch && + awayMs >= appConfig.security.lockAfterBackgroundMs + ) { + expire('background'); + return; + } + + // Coming back from the background is also the cheapest moment to notice + // a session revoked elsewhere: one active session per profile, so signing + // in on another device signed this one out. Only meaningful for a live + // session — the local agent one has no server to ask. + if (hasLiveSession) { + void dispatch(refreshSessionIdentity()); } }; const subscription = AppState.addEventListener('change', handleAppStateChange); - return () => { - subscription.remove(); - }; - }, [dispatch, toast]); + return () => subscription.remove(); + }, [dispatch, expire, hasLiveSession, isAuthenticated]); }; diff --git a/src/modules/agent/components/AgentEmptyState.tsx b/src/modules/agent/components/AgentEmptyState.tsx index e08cc27..1334065 100644 --- a/src/modules/agent/components/AgentEmptyState.tsx +++ b/src/modules/agent/components/AgentEmptyState.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { View, Text, StyleSheet, Pressable } from 'react-native'; import Ionicons from '@react-native-vector-icons/ionicons'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; interface AgentEmptyStateProps { title: string; @@ -58,7 +58,7 @@ const styles = StyleSheet.create({ }, title: { fontSize: 18, - fontWeight: '700', + fontFamily: fontFamily.bold, marginBottom: 8, textAlign: 'center', }, @@ -75,6 +75,6 @@ const styles = StyleSheet.create({ }, buttonText: { fontSize: 14, - fontWeight: '600', + fontFamily: fontFamily.semibold, }, }); diff --git a/src/modules/agent/components/AgentMiniChart.tsx b/src/modules/agent/components/AgentMiniChart.tsx index 3d92813..5e9737c 100644 --- a/src/modules/agent/components/AgentMiniChart.tsx +++ b/src/modules/agent/components/AgentMiniChart.tsx @@ -1,7 +1,7 @@ import React, { useEffect } from 'react'; import { View, StyleSheet, Text } from 'react-native'; import Animated, { useAnimatedStyle, useSharedValue, withSpring, withTiming } from 'react-native-reanimated'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; interface AgentMiniChartProps { data: number[]; @@ -100,6 +100,6 @@ const styles = StyleSheet.create({ flex: 1, textAlign: 'center', fontSize: 10, - fontWeight: '600', + fontFamily: fontFamily.semibold, }, }); diff --git a/src/modules/agent/components/AgentProgressRing.tsx b/src/modules/agent/components/AgentProgressRing.tsx index d61b7dd..f29cc27 100644 --- a/src/modules/agent/components/AgentProgressRing.tsx +++ b/src/modules/agent/components/AgentProgressRing.tsx @@ -8,7 +8,7 @@ import Animated, { withDelay, Easing, } from 'react-native-reanimated'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; const AnimatedCircle = Animated.createAnimatedComponent(Circle); @@ -102,12 +102,12 @@ const styles = StyleSheet.create({ }, value: { fontSize: 24, - fontWeight: '800', + fontFamily: fontFamily.bold, letterSpacing: -0.5, }, label: { fontSize: 10, - fontWeight: '600', + fontFamily: fontFamily.semibold, marginTop: 2, }, }); diff --git a/src/modules/agent/components/AgentSectionHeader.tsx b/src/modules/agent/components/AgentSectionHeader.tsx index 5a55520..849cbd6 100644 --- a/src/modules/agent/components/AgentSectionHeader.tsx +++ b/src/modules/agent/components/AgentSectionHeader.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { View, Text, StyleSheet, Pressable } from 'react-native'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; interface AgentSectionHeaderProps { title: string; @@ -46,7 +46,7 @@ const styles = StyleSheet.create({ }, title: { fontSize: 18, - fontWeight: '700', + fontFamily: fontFamily.bold, }, subtitle: { fontSize: 13, @@ -54,6 +54,6 @@ const styles = StyleSheet.create({ }, action: { fontSize: 14, - fontWeight: '600', + fontFamily: fontFamily.semibold, }, }); diff --git a/src/modules/agent/components/AgentStatCard.tsx b/src/modules/agent/components/AgentStatCard.tsx index f7a0dc2..f2dbbc2 100644 --- a/src/modules/agent/components/AgentStatCard.tsx +++ b/src/modules/agent/components/AgentStatCard.tsx @@ -4,7 +4,7 @@ import Ionicons from '@react-native-vector-icons/ionicons'; import Animated, { FadeInUp } from 'react-native-reanimated'; import LinearGradient from 'react-native-linear-gradient'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; interface AgentStatCardProps { title: string; @@ -158,19 +158,19 @@ const styles = StyleSheet.create({ }, trendText: { fontSize: 10, - fontWeight: '700', + fontFamily: fontFamily.bold, }, body: { gap: 4, }, value: { fontSize: 22, - fontWeight: '800', + fontFamily: fontFamily.bold, letterSpacing: -0.5, }, title: { fontSize: 12, - fontWeight: '600', + fontFamily: fontFamily.semibold, }, trendDesc: { fontSize: 10, diff --git a/src/modules/agent/components/CollectionEntryCard.tsx b/src/modules/agent/components/CollectionEntryCard.tsx index 86c646a..8524921 100644 --- a/src/modules/agent/components/CollectionEntryCard.tsx +++ b/src/modules/agent/components/CollectionEntryCard.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { View, Text, StyleSheet, Pressable } from 'react-native'; import Ionicons from '@react-native-vector-icons/ionicons'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; import type { CollectionEntry } from '../types/agentTypes'; import { formatAgentCurrency, formatTime } from '../utils/agentFormatters'; @@ -95,7 +95,7 @@ const styles = StyleSheet.create({ }, name: { fontSize: 15, - fontWeight: '700', + fontFamily: fontFamily.bold, }, metaRow: { flexDirection: 'row', @@ -110,10 +110,10 @@ const styles = StyleSheet.create({ }, amount: { fontSize: 15, - fontWeight: '700', + fontFamily: fontFamily.bold, }, mode: { fontSize: 10, - fontWeight: '600', + fontFamily: fontFamily.semibold, }, }); diff --git a/src/modules/agent/components/CommissionSummaryCard.tsx b/src/modules/agent/components/CommissionSummaryCard.tsx index f19ff78..3d208fd 100644 --- a/src/modules/agent/components/CommissionSummaryCard.tsx +++ b/src/modules/agent/components/CommissionSummaryCard.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { View, Text, StyleSheet } from 'react-native'; import Ionicons from '@react-native-vector-icons/ionicons'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; import type { CommissionSummary } from '../types/agentTypes'; import { formatAgentCurrency } from '../utils/agentFormatters'; import { AgentProgressRing } from './AgentProgressRing'; @@ -81,12 +81,12 @@ const styles = StyleSheet.create({ }, title: { fontSize: 13, - fontWeight: '500', + fontFamily: fontFamily.medium, marginBottom: 4, }, amount: { fontSize: 28, - fontWeight: '800', + fontFamily: fontFamily.bold, letterSpacing: -0.5, }, divider: { @@ -104,12 +104,12 @@ const styles = StyleSheet.create({ }, statLabel: { fontSize: 12, - fontWeight: '500', + fontFamily: fontFamily.medium, marginBottom: 4, }, statValue: { fontSize: 16, - fontWeight: '700', + fontFamily: fontFamily.bold, }, vDivider: { width: 1, @@ -126,6 +126,6 @@ const styles = StyleSheet.create({ }, rateText: { fontSize: 12, - fontWeight: '600', + fontFamily: fontFamily.semibold, }, }); diff --git a/src/modules/agent/components/CustomerCard.tsx b/src/modules/agent/components/CustomerCard.tsx index c1e8a74..34ff0b1 100644 --- a/src/modules/agent/components/CustomerCard.tsx +++ b/src/modules/agent/components/CustomerCard.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { View, Text, StyleSheet, Pressable } from 'react-native'; import Ionicons from '@react-native-vector-icons/ionicons'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; import type { AgentCustomer } from '../types/agentTypes'; import { formatAgentCurrency, maskPhone } from '../utils/agentFormatters'; @@ -133,11 +133,11 @@ const styles = StyleSheet.create({ }, avatarText: { fontSize: 16, - fontWeight: '700', + fontFamily: fontFamily.bold, }, name: { fontSize: 15, - fontWeight: '700', + fontFamily: fontFamily.bold, marginBottom: 2, }, phoneRow: { @@ -163,7 +163,7 @@ const styles = StyleSheet.create({ }, statusText: { fontSize: 10, - fontWeight: '700', + fontFamily: fontFamily.bold, textTransform: 'uppercase', }, divider: { @@ -180,12 +180,12 @@ const styles = StyleSheet.create({ }, detailLabel: { fontSize: 11, - fontWeight: '500', + fontFamily: fontFamily.medium, marginBottom: 4, }, detailValue: { fontSize: 14, - fontWeight: '700', + fontFamily: fontFamily.bold, }, vDivider: { width: 1, diff --git a/src/modules/agent/constants/agentConstants.ts b/src/modules/agent/constants/agentConstants.ts index c083f7f..f0693ae 100644 --- a/src/modules/agent/constants/agentConstants.ts +++ b/src/modules/agent/constants/agentConstants.ts @@ -1,4 +1,5 @@ import type { AgentLoanCategory, CollectionMode, NewAccountType, SmsType } from '../types/agentTypes'; +import type { CategoryHue } from '../../../theme'; export const COLLECTION_MODES: { id: CollectionMode; label: string; icon: string }[] = [ { id: 'cash', label: 'Cash', icon: 'cash-outline' }, @@ -12,13 +13,32 @@ export const ACCOUNT_TYPES: { id: NewAccountType; label: string; description: st { id: 'Savings', label: 'Savings Account', description: 'Standard savings account with interest', icon: 'wallet-outline' }, ]; -export const LOAN_CATEGORIES: { id: AgentLoanCategory; label: string; icon: string; color: string }[] = [ - { id: 'Personal', label: 'Personal Loan', icon: 'person-outline', color: '#3B82F6' }, - { id: 'Gold', label: 'Gold Loan', icon: 'diamond-outline', color: '#F59E0B' }, - { id: 'Vehicle', label: 'Vehicle Loan', icon: 'car-outline', color: '#10B981' }, - { id: 'Housing', label: 'Housing Loan', icon: 'home-outline', color: '#6366F1' }, - { id: 'Agriculture', label: 'Agriculture Loan', icon: 'leaf-outline', color: '#22C55E' }, - { id: 'Business', label: 'Business Loan', icon: 'briefcase-outline', color: '#EF4444' }, +/** + * The loan types an agent can raise a request for. + * + * Each carries a categorical HUE rather than a hex. These are labels, not + * states — nothing about a housing loan is "worse" than a personal one — so + * they resolve through `theme.colors.category`, which hands back a tone that + * is legible on whichever ramp is live plus a matching tint for the chip. + * + * Seven types, seven distinct hues. Business was a Tailwind red and Agriculture + * a second green; a red that means nothing sits badly next to a red that means + * "declined", and two greens next to each other defeat the point of colouring + * them at all. + */ +export const LOAN_CATEGORIES: { + id: AgentLoanCategory; + label: string; + icon: string; + hue: CategoryHue; +}[] = [ + { id: 'Personal', label: 'Personal Loan', icon: 'person-outline', hue: 'blue' }, + { id: 'Gold', label: 'Gold Loan', icon: 'diamond-outline', hue: 'amber' }, + { id: 'Vehicle', label: 'Vehicle Loan', icon: 'car-outline', hue: 'green' }, + { id: 'Housing', label: 'Housing Loan', icon: 'home-outline', hue: 'indigo' }, + { id: 'Agriculture', label: 'Agriculture Loan', icon: 'leaf-outline', hue: 'teal' }, + { id: 'Business', label: 'Business Loan', icon: 'briefcase-outline', hue: 'violet' }, + { id: 'DDS', label: 'Loan Against DDS Deposit', icon: 'wallet-outline', hue: 'sky' }, ]; export const SMS_TYPES: { id: SmsType; label: string; icon: string }[] = [ diff --git a/src/modules/agent/hooks/useCustomerForm.ts b/src/modules/agent/hooks/useCustomerForm.ts index ecd40fb..b79c05e 100644 --- a/src/modules/agent/hooks/useCustomerForm.ts +++ b/src/modules/agent/hooks/useCustomerForm.ts @@ -6,6 +6,7 @@ import { useAppDispatch } from '../../../app/hooks'; import { agentActions } from '../store/agentSlice'; export interface CustomerFormData { + clientId: string; name: string; phone: string; email: string; @@ -18,6 +19,7 @@ export interface CustomerFormData { } const initialData: CustomerFormData = { + clientId: '', name: '', phone: '', email: '', @@ -35,6 +37,7 @@ export const useCustomerForm = (existingCustomer?: AgentCustomer) => { const [data, setData] = useState( existingCustomer ? { + clientId: existingCustomer.clientId || '', name: existingCustomer.name, phone: existingCustomer.phone, email: existingCustomer.email || '', @@ -64,6 +67,19 @@ export const useCustomerForm = (existingCustomer?: AgentCustomer) => { } }, [errors]); + // Set multiple fields at once (e.g. after a Client ID lookup) and clear + // any errors on the fields being populated. + const prefill = useCallback((fields: Partial) => { + setData((prev) => ({ ...prev, ...fields })); + setErrors((prev) => { + const newErrors = { ...prev }; + (Object.keys(fields) as (keyof CustomerFormData)[]).forEach((key) => { + delete newErrors[key]; + }); + return newErrors; + }); + }, []); + const validate = useCallback(() => { const result = validateCustomerForm(data); setErrors(result.errors); @@ -103,6 +119,7 @@ export const useCustomerForm = (existingCustomer?: AgentCustomer) => { data, errors, updateField, + prefill, submit, isSubmitting: isAdding || isUpdating, }; diff --git a/src/modules/agent/screens/AccountOpeningScreen.tsx b/src/modules/agent/screens/AccountOpeningScreen.tsx index 000a884..8212d93 100644 --- a/src/modules/agent/screens/AccountOpeningScreen.tsx +++ b/src/modules/agent/screens/AccountOpeningScreen.tsx @@ -5,7 +5,7 @@ import Ionicons from '@react-native-vector-icons/ionicons'; import Animated, { FadeInRight, FadeOutLeft } from 'react-native-reanimated'; import { Input, Button, DatePicker, KeyboardAwareScrollView } from '../../../components'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; import { TAB_BAR_HEIGHT } from '../../../utils/layoutConstants'; import type { AgentLoansStackParamList } from '../navigation/agentNavigationTypes'; import { useAccountOpeningForm } from '../hooks/useAccountOpeningForm'; @@ -33,7 +33,7 @@ const StepIndicator = ({ steps, currentStepIndex }: { steps: any[], currentStepI {i < currentStepIndex ? ( ) : ( - {i + 1} + {i + 1} )} {i < steps.length - 1 && } @@ -48,7 +48,7 @@ const StepIndicator = ({ steps, currentStepIndex }: { steps: any[], currentStepI style={[ styles.stepLabel, { color: i <= currentStepIndex ? theme.colors.primary : theme.colors.textMuted }, - i === currentStepIndex && { fontWeight: '700' }, + i === currentStepIndex && { fontFamily: fontFamily.bold }, ]} > {s.label} @@ -231,7 +231,7 @@ export default function AccountOpeningScreen({ navigation }: { navigation: Nativ value={draft.initialDeposit} onChangeText={v => updateField('initialDeposit', v)} keyboardType="number-pad" - leftAccessory={₹} + leftAccessory={₹} /> {(draft.accountType === 'RD' || draft.accountType === 'DDS') && ( updateField('monthlyInstallment', v)} keyboardType="number-pad" - leftAccessory={₹} + leftAccessory={₹} /> )} @@ -295,7 +295,7 @@ export default function AccountOpeningScreen({ navigation }: { navigation: Nativ Initial Deposit - + {formatAgentCurrency(Number(draft.initialDeposit))} @@ -361,7 +361,7 @@ const styles = StyleSheet.create({ }, localHeaderTitle: { fontSize: 18, - fontWeight: '800', + fontFamily: fontFamily.bold, letterSpacing: 0.5, }, // ── Step indicator ───────────────────────── @@ -401,7 +401,7 @@ const styles = StyleSheet.create({ }, stepLabel: { fontSize: 10, - fontWeight: '600', + fontFamily: fontFamily.semibold, textTransform: 'uppercase', letterSpacing: 0.3, width: 54, @@ -418,7 +418,7 @@ const styles = StyleSheet.create({ }, stepTitle: { fontSize: 20, - fontWeight: '800', + fontFamily: fontFamily.bold, marginBottom: 4, }, stepSubtitle: { @@ -448,7 +448,7 @@ const styles = StyleSheet.create({ }, typeLabel: { fontSize: 16, - fontWeight: '700', + fontFamily: fontFamily.bold, marginBottom: 4, }, typeDesc: { @@ -477,7 +477,7 @@ const styles = StyleSheet.create({ }, sectionDividerText: { fontSize: 12, - fontWeight: '700', + fontFamily: fontFamily.bold, textTransform: 'uppercase', letterSpacing: 0.5, paddingHorizontal: 12, @@ -502,7 +502,7 @@ const styles = StyleSheet.create({ flex: 1, fontSize: 13, lineHeight: 18, - fontWeight: '500', + fontFamily: fontFamily.medium, }, // ── Review card ─────────────────────────── @@ -519,11 +519,11 @@ const styles = StyleSheet.create({ }, reviewLabel: { fontSize: 13, - fontWeight: '500', + fontFamily: fontFamily.medium, }, reviewValue: { fontSize: 14, - fontWeight: '600', + fontFamily: fontFamily.semibold, textAlign: 'right', flexShrink: 1, marginLeft: 12, diff --git a/src/modules/agent/screens/AddEditCustomerScreen.tsx b/src/modules/agent/screens/AddEditCustomerScreen.tsx index c92816c..5e9b16f 100644 --- a/src/modules/agent/screens/AddEditCustomerScreen.tsx +++ b/src/modules/agent/screens/AddEditCustomerScreen.tsx @@ -5,12 +5,14 @@ import Ionicons from '@react-native-vector-icons/ionicons'; import Animated, { FadeInUp } from 'react-native-reanimated'; import { ScreenShell, Input, Button, KeyboardAwareScrollView } from '../../../components'; -import { useTheme } from '../../../theme'; +import { useTheme, fontFamily } from '../../../theme'; import { TAB_BAR_HEIGHT } from '../../../utils/layoutConstants'; import { useAppSelector } from '../../../app/hooks'; +import { useToast } from '../../../hooks/useToast'; import { selectCustomerById } from '../store/agentSelectors'; import type { AgentCustomersStackParamList } from '../navigation/agentNavigationTypes'; import { useCustomerForm } from '../hooks/useCustomerForm'; +import { useLazyGetCustomerByClientIdQuery } from '../services/agentApi'; type Props = NativeStackScreenProps; @@ -18,7 +20,7 @@ const FormSection = ({ title, icon, children }: { title: string, icon: string, c const theme = useTheme(); return ( - + @@ -39,7 +41,9 @@ export default function AddEditCustomerScreen({ route, navigation }: Props) { customerId ? selectCustomerById(customerId)(state) : null ); - const { data, errors, updateField, submit, isSubmitting } = useCustomerForm(existingCustomer || undefined); + const { data, errors, updateField, prefill, submit, isSubmitting } = useCustomerForm(existingCustomer || undefined); + const toast = useToast(); + const [lookupClient, { isFetching: isLookingUp }] = useLazyGetCustomerByClientIdQuery(); const isEdit = !!existingCustomer; @@ -50,6 +54,31 @@ export default function AddEditCustomerScreen({ route, navigation }: Props) { } }; + const handleFetchClient = async () => { + const clientId = data.clientId.trim(); + if (!clientId) { + toast('Enter a Client ID first', 'error'); + return; + } + try { + const client = await lookupClient(clientId).unwrap(); + prefill({ + name: client.name, + phone: client.phone, + email: client.email, + address: client.address, + city: client.city, + state: client.state, + pincode: client.pincode, + aadhaarNumber: client.aadhaarNumber, + panNumber: client.panNumber, + }); + toast('Details loaded', 'success', `${client.name}'s profile has been auto-filled.`); + } catch { + toast('Client not found', 'error', 'No client matches this Client ID.'); + } + }; + return ( @@ -57,6 +86,27 @@ export default function AddEditCustomerScreen({ route, navigation }: Props) { + + + Have an existing Client ID? Enter it to auto-fill the customer's details. + + updateField('clientId', v)} + autoCapitalize="characters" + error={errors.clientId} + /> +
-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -

-
- - -
- Skip to content - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
- - - -
-
- -
-
- 404 “This is not the web page you are looking for” - - - - - - - - - - - - -
-
- -
-
- -
- - -
-
- -
- -
- -
- - - - - - - - - - - - - - - - - - - - - - -