DIRCh&x5:h&x5: bmIL%ʹh ,.fleet/receipt.jsonh&x5:h&x5: bRL7;1"Hj .gitignoreh&x5:h&x5: b'JU(r;).maestro/README.mdh&x5:h&x5: byIfԄrsͫkav P.maestro/flows-in-progress/001_001_user_login_to _app_with_school_name_test.yamlh&x5:h&x5: b۸uN| 0׻T.maestro/flows-in-progress/001_002_Parent_user_join_class_using_invitecode_test.yamlh&x5:h&x5: bdypm>5cqU.maestro/flows-in-progress/001_003_student_user_join_class_using_invitecode_test.yamlh&x5:h&x5: bY?U-!,'QSZ.maestro/flows-in-progress/001_004_user_login_via_invite_link_and_browse_lessons_test.yamlh&x5:h&x5: b~Ic< =+¶7.maestro/flows-in-progress/003_create_classes_test.yamlh&x5:h&x5: b&ۨx%HZq6.maestro/flows-in-progress/004_create_report_test.yamlh&x5Wuh&x5Wu b ؛US L 3<>'.maestro/flows/000_000_hello_world.yamlh&x5Wuh&x5Wu b  aiF.maestro/flows/subflows/get_started_select_school_by_name.yamlh&x5Wuh&x5Wu b s d8q5a-IYs5.maestro/flows/subflows/launch_clear_and_set_dir.yamlh&x5Wuh&x5Wu b ҉%\ZIr4.maestro/flows/subflows/school_admin_login_flow.yamlh&x5Wuh&x5Wu b {kbn N&.maestro/flows/subflows/school_init.jsh&x5Wuh&x5Wu bv|zrB!,/yd(.maestro/flows/subflows/school_init.yamlh&x5Wuh&x5Wu bpu@@#e<Ғsy".maestro/flows/subflows/setDate.jsh&x5Wuh&x5Wu bP21AUKq†#.maestro/flows/subflows/teardown.jsh&x5Wuh&x5Wu b VHn OޕARCHITECTURE.mdh&x5Wuh&x5Wu b|5E%\qㅷDESIGN_GUIDELINES.mdh&x5Wuh&x5Wu b ]R?rCRLICENSEh&x5Wuh&x5Wu b SDÔit ]f` README.mdh&x5Wuh&x5Wu bHae@YYbuild.gradle.ktsh&x5Wuh&x5Wu b#/Z'}'z&H6ci-run-maestro.shh&x5Wuh&x5Wu b$!t%SN,^[#Aci-run-test-server.shh&x5Wuh&x5Wu b*7QXA(Y$ L猧9composeApp/src/desktopMain/resources/img/respect_logo.pngh&x5Wuh&x5Wu b+5^@yA|R-6composeApp/src/desktopMain/resources/img/spix_logo.pngh&x5Wuh&x5Wu b,#qn#y>2o?gradle.propertiesh&x6h&x6 b.)'Mb P\Vgradle/libs.versions.tomlh&x6h&x6 b0,5!}|EC %!gradle/wrapper/gradle-wrapper.jarh&x6h&x6 b1Gv1z^"`:w$ i(gradle/wrapper/gradle-wrapper.propertiesh&x6h&x6 b2":mkkZ&BGtgradlewh&x6h&x6 b3 8!4\'{[*n gradlew.bath&x6h&x6 b5}rs_h\@"respect-app-compose/README.mdh&x6h&x6 b6N4x@mv2$respect-app-compose/build.gradle.ktsh&x6h&x6 b7HV/$"s{WIlI&respect-app-compose/proguard-rules.proh&x6h&x6 b: ^BzoSìUQO!7respect-app-compose/src/androidMain/AndroidManifest.xmlh&x6h&x6 b>vTuԽ _#YOrespect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kth&x6h&x6 b?(R1R h2!>9vIGrespect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kth&x6h&x6 b@oUB]jhw<Irespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kth&x6h&x6 bALҏi:[Mr!Hrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kth&x6h&x6 bB HP_SVD10Frespect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kth&x6h&x6 bC bq<$0mp-59Krespect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kth&x6h&x6 bF~vlhH ZSrespect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kth&x6h&x6 bHEZ2ǀn5H"awkrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kth&x6h&x6 bJ? kWwv~eHmrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kth&x6h&x6 bLYDrR K;~F7::s_respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kth&x6h&x6 bOœC߬'|:urespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kth&x6h&x6 bP LmuZ.sva;h-ܒw3Krespect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xmlh&x6'%h&x6'% be4n>eY+!zFٯ`Brespect-app-compose/src/androidMain/res/drawable/respect_logo.webph&x6'%h&x6'% bfx}3OYr2q=?respect-app-compose/src/androidMain/res/drawable/spix_logo.webph&x6'%h&x6'% bgrMOĹUPBrespect-app-compose/src/androidMain/res/drawable/works_offline.pngh&x6'%h&x6'% bilVm^y)iW^hDrespect-app-compose/src/androidMain/res/layout/activity_web_view.xmlh&x6'%h&x6'% bkmO0jQ?ȶĂպ=respect-app-compose/src/androidMain/res/menu/menu_webview.xmlh&x6'%h&x6'% bm Rf( h{Orespect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xmlh&x6'%h&x6'% boaUUa=,֑FIrespect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.pngh&x66`_h&x66`_ bs respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kth&x66`_h&x66`_ n31 vy*/`:=98respect-app-compose/src/commonMain/kotlin/theme/Theme.kth&x66`_h&x66`_ n34̼9\eui/ʞD>respect-app-compose/src/commonMain/kotlin/world/respect/App.kth&x6Eh&x6E n37!XSX)T=-7@tFrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kth&x6Eh&x6E n38$Ud Ԝд-;Irespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kth&x6Eh&x6E n39l}`JsgS7Jrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kth&x6Eh&x6E n3:Mkd1zoG^kIBMrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kth&x6Eh&x6E n3;kAv bxr>$6QTrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kth&x6Eh&x6E n3<>G ߄^TaxY:z iLrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kth&x6Eh&x6E n3> ZX3-m-Urespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kth&x6Eh&x6E n3?4':o'Ln[`respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kth&x6Eh&x6E n3@ ܭ8-{2@0GA0arespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kth&x6Eh&x6E n3AAF0H2+]tMZ怯brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kth&x6Eh&x6E n3BA詘஢kBsNG8Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kth&x6Eh&x6E n3CEfZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kth&x6Th&x6T n3G\&4K"(cj.:J_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kth&x6Th&x6T n3H KKFx)F2{\Adrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kth&x6Th&x6T n3I0nG xPCY?zZ-\respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kth&x6Th&x6T n3J c&$1X^.ʍudhrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kth&x6Th&x6T n3K ;)a|>^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kth&x6Th&x6T n3LAWBjQIb ߿Z]respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kth&x6Th&x6T n3MnPCM,zJ…̵]brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kth&x6Th&x6T n3NHH%׀4hJ٩s_^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kth&x6Th&x6T n3O07"nZޟ4erespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kth&x6Th&x6T n3P^X W7j!  s[respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kth&x6Th&x6T n3\6(I~qoNP&Jgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kth&x6Th&x6T n3]Eu=WP. L?^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kth&x6Th&x6T n3^ ΂(_{[.*$%xgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kth&x6Th&x6T n3`ZI4e1DRD!uUgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/webview/UstadWebViewNavigator.kth&x6Th&x6T n3bEGPKk2/LGWrespect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kth&x6Th&x6T n3eݻ6LS/'Nrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kth&x6Th&x6T n3f%-F"ME%gSrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/ModifierExt.kth&x6Th&x6T n3i w%ToZqvxJ1F7irespect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kth&x6Th&x6T n3l/\1ͧV`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kth&x6d'h&x6d' n3n Ӄ%utjQ4nP`~brespect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kth&x6d'h&x6d' n3{0RCۈ^_3crespect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kth&x6d'h&x6d' n3}-l<^by*+Ŝm] h[respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kth&x6d'h&x6d' n3=}{ KRN$l_Xjdrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kth&x6h&x6 n3[O͇(N.U}U6~Y`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kth&x6h&x6 n3.{)>TqDyllrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kth&x6h&x6 n3(-r@,1{^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kth&x6h&x6 n3%i@w "hqrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kth&x6h&x6 n3 >/]rN_ֲ{]O+mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kth&x6h&x6 n3 i4_*p_WE<|mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kth&x6h&x6 n3 ]_jis0v `respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kth&x6h&x6 n3"WUHԺhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kth&x6h&x6 n3 (ܘo@ q@"NSwNrespect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kth&x6h&x6 n3ۤo4^ۮIGlVrespect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kth&x6h&x6 n3^HDetI+\{YSrespect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kth&x6h&x6 r>0A i/VvI3Qkrespect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kth&x6h&x6 r@dl%'f+QWrespect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kth&x6h&x6 n3k״YU:K.SA@respect-app-compose/src/desktopMain/kotlin/world/respect/main.kth&x6h&x6 rB;D-tstoB>respect-app-compose/src/desktopMain/resources/sample-feed.jsonh&x6h&x6 rDB*18LyqzK}respect-cli/.gitignoreh&x6h&x6 rERz$oG]%Frespect-cli/build.gradle.ktsh&x6h&x6 rL=b{M{S9 %<Z>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kth&x6h&x6 rNB*18LyqzK}respect-credentials/.gitignoreh&x6h&x6 rO) o{r0{Ö$respect-credentials/build.gradle.ktsh&x6h&x6 rPH4Ayף gm4K &respect-credentials/proguard-rules.proh&x6h&x6 rXHDQi2O ~QͯHirespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kth&x6h&x6 rY~"qP;Bu͍crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kth&x6h&x6 rZ߉3ǬW1{crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kth&x6h&x6 r[ʿ=\Ӱ Q/p%Fa`respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kth&x6h&x6 r\m^`x۶޿ `respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kth&x6/h&x6/ r]XJ6Xȵbrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kth&x6/h&x6/ r_37<(glOgrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kth&x6/h&x6/ r`76e]f,Z~respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kth&x6/h&x6/ raⶢ` ڞw2{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kth&x6/h&x6/ rb'rځ5)8 orespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kth&x6/h&x6/ rcj;OI Ft H|"Fwrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kth&x6/h&x6/ rd9W)#zOv5r31OY-srespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kth&x6/h&x6/ reOf6AXsκcrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kth&x6/h&x6/ rfȱc'x"[hrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kth&x6/h&x6/ rgRH06O8?s41{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kth&x6/h&x6/ rh1"a?F Cvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kth&x6/h&x6/ ri_ '~/<,}>trrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kth&x6/h&x6/ rjoRA >S|Dzrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kth&x6/h&x6/ rkMKbopPBnu>Hprespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kth&x6/h&x6/ rl+@ 8?Hm@ Dvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kth&x6/h&x6/ rnFǚUV`;Gnkrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kth&x6/h&x6/ rp Ҵ {\!W0p$z{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kth&x6/h&x6/ rqRs&T|(9i^respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kth&x6/h&x6/ rrVXA;DҔ#nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kth&x6/h&x6/ rsg\r}ft$9nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kth&x6/h&x6/ rtoޚ bi=?trespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kth&x6/h&x6/ rv]!qIl9K ]respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kth&x6/h&x6/ rxr0o#Fj`|0respect-credentials/src/main/AndroidManifest.xmlh&x6/h&x6/ rzj(>i;F6?[brespect-datalayer-db/README.mdh&x6/h&x6/ r{lH@cMH%respect-datalayer-db/build.gradle.ktsh&x6/h&x6/ r~nAr) BnWwێQrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.jsonh&x6r4h&x6r4 rf"%|7ws6A<@Qrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.jsonh&x6r4h&x6r4 rÁ;uP,T~v0~a-Srespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.jsonh&x6r4h&x6r4 rÂ%Cx?OSrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/2.jsonh&x6r4h&x6r4 rÄO!U8;]wF:VTrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.jsonh&x6r4h&x6r4 rÅPǾ0ۧ3.F/Dhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kth&x6r4h&x6r4 rØ lrs^qqG[respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kth&x6r4h&x6r4 rÛ\i4&F7rqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kth&x6oh&x6o rÝp_e>^/)EM6urespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/adapters/CompatbileAppAdapter.kth&x6oh&x6o rßב}.\&.\ v7trespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppAddJoinDao.kth&x6oh&x6o ràRlQ`>1I၎Tsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppEntityDao.kth&x6oh&x6o râǭW3 lm.êQurespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppAddJoin.kth&x6oh&x6o rã ꔀ h,`@ctrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppEntity.kth&x6oh&x6o rå iHoD&$ Rg%u՝ALrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kth&x6oh&x6o rçy "濵ԦVgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/ReadiumLinkEntityDao.kth&x6h&x6 2NN Ck/,ݭYxsfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFacetEntity.kth&x6h&x6 Ԋu^'㰸OdWerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kth&x6h&x6 *ǽAR&m (I~mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kth&x6h&x6 s%== :32frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsGroupEntity.kth&x6h&x6 ;Ԡ_qOm ZLlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsPublicationEntity.kth&x6h&x6  ư{uYqhwihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.kth&x6h&x6 ? j*1Iذwpxz=+/krespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumSubjectEntity.kth&x6h&x6 u#;~@firespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/personPassword/GetPersonPassword.kth&x6h&x6 ] >К^1$orespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/personPassword/GetPersonPasswordDbImpl.kth&x6h&x6 RPbd[r?A=ڍarespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kth&x6h&x6 oՎ,{(RM"]J7xe[frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kth&x6h&x6  YXN>v{erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kth&x6h&x6 +w5}G|aFbrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kth&x6h&x6  N﹎b-irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kth&x6h&x6  ʕ=)!Il c³(brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kth&x6h&x6  &R- jm[vIdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kth&x6h&x6 +}FHT\I7J҃irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kth&x6h&x6 {fabe0lerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kth&x6h&x6 !SYpg)n8|jrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kth&x6h&x6  K;6c("Ĥfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kth&x6h&x6 ߌFCZ)Q4xmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kth&x6h&x6 $oN=EB8%afrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kth&x6h&x6 DW\Fg2EOv{nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kth&x6h&x6 &(Us;# ξǕVGgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kth&x6h&x6  "d6B.agbg{crespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kth&x6h&x6  AK0.hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kth&x6h&x6 [ppP5pPҔVOgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kth&x68h&x68 G 'W28.NbAM}ưdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kth&x68h&x68 YђzU9cϩOlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kth&x68h&x68  W%Vi4c_Mqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kth&x68h&x68  =fQDf hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kth&x68h&x68  >%Xo4qUG_^:vdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kth&x68h&x68 n-%`na+V{_flrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kth&x68h&x68 Y7Lgu/'hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kth&x68h&x68 554#ZDdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kth&x68h&x68 zQB5߱:Zirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kth&x68h&x68 9?JJV.T6hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kth&x68h&x68 _s}:q krerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kth&x68h&x68 HR0' zƝb,)nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kth&x68h&x68 9KHVWS1L Qlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kth&x68h&x68 Os]Q#lK{E pk`irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kth&x68h&x68 $lu8)-BiQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kth&x68h&x68  0Y™ږOp+mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kth&x68h&x68 "Sji?-KQ`?nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kth&x6{h&x6{ 9 ?_٬TOyN7lBTgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kth&x6{h&x6{ :k#ègso^3EN3nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kth&x6{h&x6{ <K+CVYєQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kth&x6{h&x6{ >>[> ifIIftrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kth&x6{h&x6{ 0^9a%Sڂbrespect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.jsonh&x6{h&x6{ /,U_@Dv!U respect-datalayer-http/README.mdh&x6{h&x6{ O絶o" o'respect-datalayer-http/build.gradle.ktsh&x6Yh&x6Y `Ec `'Zwerespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kth&x6Yh&x6Y  dp}?L κ4nBarespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kth&x6Yh&x6Y  YOۣVfs.Gwrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/compatibleapps/CompatibleAppDataSourceHttp.kth&x6Yh&x6Y O!}5c4mհyYsyerespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kth&x6Yh&x6Y Uȗ"k̛~PV3hmrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kth&x6Yh&x6Y >+] `Ukrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kth&x6Yh&x6Y /VfS6܀Zorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kth&x6Yh&x6Y 64 !Xߴ4o[]drespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kth&x6Yh&x6Y $ Xh=fJTgrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kth&x6Yh&x6Y .ܳN(t͒bblrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kth&x6Yh&x6Y 5^Spg-Àzhrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kth&x6Yh&x6Y  _9Fporespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kth&x6Yh&x6Y $In 9{#VAlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kth&x6Yh&x6Y  ToἀN.ԗrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kth&x6Yh&x6Y f>kڥߏtBvrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kth&x6Yh&x6Y sjűG3s.wKZ&respect-datalayer-repository/README.mdh&x6Yh&x6Y  ^"u>ub=j<-respect-datalayer-repository/build.gradle.ktsh&x7 h&x7 y<Ʊ?<\rerespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kth&x7 h&x7 M9;FpU/respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kth&x7 h&x7 CBŜ{ضdx3>]_wrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kth&x7 h&x7 ⛲CK)wZSyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kth&x7 h&x7  PIrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kth&x7 h&x7 |u޸{˝H>vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kth&x7 h&x7  Ԫncka6xϸ]0yrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kth&x7 h&x7  TBlq՝9~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kth&x7 h&x7 Hsji,naY;zrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kth&x7 h&x7 V?5A9[i48 6Xrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kth&x7 h&x7 />P!kSzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kth&x7 h&x7 |,GMq$6Kʍrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kth&x7 h&x7 x=ȽR3Drespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kth&x7Ah&x7A '`禺7658#respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kth&x7Ah&x7A 9Swbl5: vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kth&x7Ah&x7A %[{a2_yܒ&vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kth&x7Ah&x7A q/2\{s respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kth&x7Ah&x7A 5^RuTzm*crespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kth&x7Ah&x7A R t]*SYV$U xrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kth&x7Ah&x7A +*Gtg! -ݠj:Nrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kth&x7Ah&x7A +,*-暲J,/Υ|respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kth&x7Ah&x7A +.vO<=%j,do>respect-datalayer-repository/src/jvmTest/resources/logback.xmlh&x7Ah&x7A +4Ş5b_ݹƯEb;erespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.jsonh&x7Ah&x7A +50^9a%Sڂirespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.jsonh&x7Ah&x7A +7B*18LyqzK}respect-datalayer/.gitignoreh&x7Ah&x7A +8̹5I=xGV$ߺrIrespect-datalayer/README.mdh&x7Ah&x7A +9% ..&뱠lt"respect-datalayer/build.gradle.ktsh&x7Ah&x7A +<yha̮O Ԉ[vEs5respect-datalayer/src/androidMain/AndroidManifest.xmlh&x7* h&x7* +BB MܣW72Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kth&x7* h&x7* +CTݦZ<>Y6_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kth&x7* h&x7* +DۉEhoUF[O%qSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerHeaders.kth&x7* h&x7* +EܾMkPzqNURrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerParams.kth&x7* h&x7* +Fj Ncʤ%ҷ.horespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSourceLocal.kth&x7* h&x7* +R f3CpXLbOY$mjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kth&x7* h&x7* +Tx/Lm$u$SӎG! Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kth&x7* h&x7* +UF,qWz|}$KY:[ Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kth&x7* h&x7* +V~Nm`i)wTrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kth&x7* h&x7* +Ww>'1dBC^8 Urespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kth&x7* h&x7* +XZH7NJsd>!w!Y|\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kth&x7* h&x7* +YAKp._lf^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kth&x7* h&x7* +[''MyL*n3<srespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kth&x7* h&x7* +\@qyЧaޤNwrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kth&x7* h&x7* +]?+%>~r?pE>¦jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kth&x7* h&x7* +`UcoocxQЋphrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kth&x7* h&x7* +b6p{x)*vۜ)w`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kth&x7* h&x7* +cnÌ>R)K(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kth&x7* h&x7* +dfӬ?_r\X2arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kth&x7* h&x7* +eK!^-,fhrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kth&x79Dh&x79D +fi_Q -cW3Tfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kth&x79Dh&x79D +g^(fK`B<ظCr;Wcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kth&x79Dh&x79D +hwŘ͋V6Ehfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kth&x79Dh&x79D +ik$(f[x@]ƿv+frespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kth&x79Dh&x79D +jڥ]mϼG=fP]Gkrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kth&x79Dh&x79D +kp\p,QH`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kth&x79Dh&x79D +ln̒Mb2Cddrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kth&x79Dh&x79D +m_we^`*grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kth&x79Dh&x79D +n:w'UEYIohrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kth&x79Dh&x79D +o]->93L]\QD*-`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kth&x79Dh&x79D +pK-A=S}>8MOcPpgrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kth&x79Dh&x79D +qv8 ~8z[brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kth&x79Dh&x79D +rCV.Je$K|8z^grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kth&x79Dh&x79D +tM6+4$<6_֟3Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSource.kth&x79Dh&x79D +ujN{rsI7[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSourceLocal.kth&x79Dh&x79D +w1 }z˳/^ AnUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/LangMap.kth&x79Dh&x79D +xoa"#rjAXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/LangMapExt.kth&x79Dh&x79D +yI/je/m٬:i!]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsAcquisition.kth&x79Dh&x79D +zx.FVB~Ej*uX[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsBelongsTo.kth&x79Dh&x79D +{MFTKASBE3HqgZ Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsFacet.kth&x79Dh&x79D +|9+$S14RA34Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsFeed.kth&x79Dh&x79D +}02B#:+J'L^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsFeedMetadata.kth&x79Dh&x79D +~cz#TlWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsGroup.kth&x79Dh&x79D +P![uTK_ Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsPrice.kth&x79Dh&x79D +׀,>n\̃Nĥ]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsPublication.kth&x79Dh&x79D + yHy/% &r+jXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsSeries.kth&x79Dh&x79D +E0Nj@Nffrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumContributorObject.kth&x79Dh&x79D +GIƨ%۳ʗ~}Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLink.kth&x79Dh&x79D + )K|Y [crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLinkProperties.kth&x79Dh&x79D +N^,藗.=:аflrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLinkPropertiesEncrypted.kth&x79Dh&x79D + InR l>]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumMetadata.kth&x79Dh&x79D +_\VT@ ]\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumSubject.kth&x79Dh&x79D +SiBͨ`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kth&x7I~h&x7I~ +)Nb? hj*]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kth&x7I~h&x7I~ +.45o'I9$=Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kth&x7I~h&x7I~ ,x?e҆Y5^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kth&x7I~h&x7I~ , [bᕌ.`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kth&x7I~h&x7I~ ,ePW⾭%RVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kth&x7I~h&x7I~ ,XS^2. W9~W2Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kth&x7I~h&x7I~ ,*6Gr蟲crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kth&x7XJh&x7XJ ,&Oo Blrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kth&x7XJh&x7XJ ,qEU}imqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kth&x7XJh&x7XJ ,r½NZo49Zr`I ?qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kth&x7XJh&x7XJ ,s)4x1y'{qvrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kth&x7XJh&x7XJ ,uVa qe^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kth&x7XJh&x7XJ ,v# >#?f:!NqXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kth&x7XJh&x7XJ ,wDGpe$yۓ[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kth&x7XJh&x7XJ ,xQd^iNm~crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kth&x7XJh&x7XJ ,yw-bt=lxA20Su)\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kth&x7XJh&x7XJ ,z)g%@O;Y_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kth&x7XJh&x7XJ ,|rCq 䢴" jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kth&x7XJh&x7XJ ,}cʥjr<drespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kth&x7XJh&x7XJ ,~qJ![Ԏh?-rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kth&x7XJh&x7XJ ,ƿcjщUObrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kth&x7XJh&x7XJ ,Lw\Fieirespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kth&x7XJh&x7XJ ,w#Y(!?ul;]A,crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kth&x7XJh&x7XJ ,jG _Dq?ncbPerespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kth&x7XJh&x7XJ ,Lp:RYμ0eIG^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kth&x7XJh&x7XJ ,_!14oߖ%"xu`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kth&x7XJh&x7XJ ,3OR'K5=ތWjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kth&x7XJh&x7XJ ,]8;8V]&"Ldrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kth&x7XJh&x7XJ , !z, ^unprespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/InstantISO8601Serializer.kth&x7XJh&x7XJ , lm+-O,Bŏkrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/LocalDateOrDateTime.kth&x7XJh&x7XJ ,#P 5DH\#CpO}respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/SingleItemToListTransformerSerializer.kth&x7XJh&x7XJ ,4r]+E9%Qj >lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringListSerializer.kth&x7XJh&x7XJ ,CmƛP=f/tprespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringOrObjectSerializer.kth&x7gh&x7g ,x?Թeɵ3ecrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringValue.kth&x7gh&x7g ,'0rN9 8]okrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/UriStringSerializer.kth&x7gh&x7g ,B*18LyqzK}respect-lib-cache/.gitignoreh&x7gh&x7g -= X'i&RI@DUrespect-lib-cache/README.mdh&x7gh&x7g -> C;_OSre?۰'"respect-lib-cache/build.gradle.ktsh&x7gh&x7g -F'!1Tʳ.(Gx5řoJrespect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.jsonh&x7gh&x7g .O+#m$->dVrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kth&x7gh&x7g /_j>VUOz.wp]3Urespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kth&x7gh&x7g /%1l䂃| Аkrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kth&x7gh&x7g /ĢeCW]F_*srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kth&x7gh&x7g /9>o|j 0ig Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kth&x7gh&x7g /j7;Mo)H$Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kth&x7gh&x7g /Iz^=v#1Yم`respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kth&x7gh&x7g /${md^/ ٱ&Urespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kth&x7gh&x7g /<ި GS*9k0Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kth&x7gh&x7g /oz)Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kth&x7gh&x7g /L ;J arespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kth&x7gh&x7g /:,p9NSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kth&x7gh&x7g /m۽C(*]vVarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kth&x7gh&x7g /\ ϘrOhj|<ҚKYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kth&x7v.h&x7v. /`vŲOO],Orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kth&x7v.h&x7v. /f]M?t8(Mrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kth&x7v.h&x7v. /#%@hcSsaYNrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kth&x7v.h&x7v. /m嗀ۻ>Bs_Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kth&x7v.h&x7v. / 9*+q $RؾUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kth&x7v.h&x7v. /F)YJv2!_wF>Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kth&x7v.h&x7v. /W¦Ǧ@("Z_PTrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kth&x7v.h&x7v. /;e聆krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kth&x7v.h&x7v. /TU|gB{1ۑdt?ٱ-ɮªarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kth&x7v.h&x7v. 0f0-&.HP#9]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kth&x7v.h&x7v. 0 7mZ _>U J.cSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kth&x7v.h&x7v. 0YPozaVQ̜)_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kth&x7v.h&x7v. 0Mt J_]޳H(trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kth&x7ih&x7i 0 aCDw%A}!:4Xrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kth&x7ih&x7i 0 i0X'k˲g[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kth&x7ih&x7i 0jׄ ĕJ|im< `respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kth&x7ih&x7i 0(y$gz(zW78[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kth&x7ih&x7i 0 ᇚ5*jV|Ywn\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kth&x7ih&x7i 0!ku x󙪻[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kth&x7ih&x7i 0#3bqJ Qt"Zrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kth&x7ih&x7i 0$X +V@GQGhAbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndLocks.kth&x7ih&x7i 0%%d/c8**n]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kth&x7ih&x7i 0&XG6J;MΐYZr ,Xbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kth&x7ih&x7i 0'=9vn$D, Z]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kth&x7ih&x7i 0(R+`Xx0zC^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kth&x7ih&x7i 0)PG}"pC )'[O]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kth&x7ih&x7i 0+~ZZ8:s+irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kth&x7ih&x7i 0,D͖Ǥk\el&}b`irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kth&x7ih&x7i 0-7ծ@Tyrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kth&x7ih&x7i 0.qOmޝ8﮴vGƢarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kth&x7ih&x7i 0n3L/K< %7qrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kth&x7ih&x7i 0clA8vG&c93lrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kth&x7ih&x7i 0$^7~Ռ aMjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kth&x7ih&x7i 0bVH؇v2ʑjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kth&x7ih&x7i 0TtLńi jmɲzrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kth&x7ih&x7i 0Jd,Ź_}Yorespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kth&x7ih&x7i 0%W`\i.;߫Rlrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kth&x7ih&x7i 0Ef* ԰ATXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kth&x7ih&x7i 0yR|z߁;Obrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kth&x7ih&x7i 0ZTqm-6B:(}W:LV]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kth&x7ih&x7i 0$@ Pl@xZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kth&x7ih&x7i 0WYK ̶ OHcZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kth&x7ih&x7i 0ɮ$4Lirespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kth&x7Sh&x7S 0ڙBQsTo#Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kth&x7Sh&x7S 0I{S&m}4 fYD`respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kth&x7Sh&x7S 0`0^, S*zZHXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kth&x7Sh&x7S 0y UmW&FB^orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kth&x7Sh&x7S 0WԜգd\^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kth&x7Sh&x7S 0Znb8w`{;P"vpZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kth&x7Sh&x7S 0:,*D-&RH]grespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kth&x7Sh&x7S 0 =r$MMl Q]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kth&x7Sh&x7S 0&(iDX8Q0\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kth&x7Sh&x7S 0䃔i7_C Aѧ[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kth&x7Sh&x7S 0[aY)ˈ^gOQVrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kth&x7Sh&x7S 0 ,++LpÛH\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kth&x7Sh&x7S 0$ɍb#D=Trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kth&x7Sh&x7S 0 Mg'20 DSOrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LruMap.kth&x7h&x7 1ՙ3 kh٣SRrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kth&x7h&x7 17qG-RB |ԱZQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kth&x7h&x7 1fo{H%C!79<`Urespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kth&x7h&x7 15c6^q=LƦMQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kth&x7h&x7 1pln$9!@R F vKrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kth&x7h&x7 1AV|#eVRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kth&x7h&x7 1 3 aޱuQVrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kth&x7h&x7 1 g{ ʹGœCIjrrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kth&x7h&x7 1̛ɦd 3ޤ;BWqrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kth&x7h&x7 1-Gy+\י4}*Zurespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kth&x7h&x7 1>$vBbCaI)s2d]rrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kth&x7h&x7 1 Dh1%:<\Xmrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kth&x7h&x7 1%,u)\h[[6Xrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kth&x7h&x7 1*FWUpќZiarespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kth&x7h&x7 17 ,P6xߝMi#b2 Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kth&x7h&x7 19]]Tw%qugRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kth&x7h&x7 1:֒D" J)DZP9SU\Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kth&x7h&x7 1;q ew,_e#Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kth&x7h&x7 1< (h.aL yyS:Q@p respect-lib-ihttp-core/README.mdh&x7Sh&x7S 1wCDKmq{PEd'respect-lib-ihttp-core/build.gradle.ktsh&x7Sh&x7S 1w-4OmSrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kth&x7Sh&x7S 1o;v~yث:o_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kth&x7Sh&x7S 1` 2*ɽv/]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kth&x7Sh&x7S 1ɺhw_l*!ax)]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kth&x7Sh&x7S 1#h"(QC#-Yrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kth&x7Sh&x7S 1TP+WxaT"%Z`>Z9\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kth&x7Sh&x7S 1AX+¯9M,]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kth&x7Sh&x7S 1œ3>7)Wh8Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kth&x7Sh&x7S 1?-+J)W-Q R]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kth&x7Sh&x7S 1=b+psDiarespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kth&x7Sh&x7S 1A4ȏz^-7mǮcrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kth&x7Sh&x7S 1 Cfz͂g$ˁ_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kth&x7Sh&x7S 19EL z.k M}[respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kth&x7Sh&x7S 1( 'o]j?xL7\hrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kth&x7Sh&x7S 1_&D(NƾT]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kth&x7Sh&x7S 1E2!j :p[$Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kth&x7Sh&x7S 1%^ғZ`A 3+iFkfrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kth&x7Sh&x7S 1S=ĕ (8ozprespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kth&x7\h&x7\ 1M&s9frespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kth&x7\h&x7\ 1$ ԱoZ8@C \respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kth&x7\h&x7\ 1YW^ \54cwFe*`respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kth&x7\h&x7\ 1>-p $\<%j+z`v\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kth&x7\h&x7\ 1s0[an3d]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kth&x7\h&x7\ 1 {`Lv<~ )EľqUrespect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kth&x7\h&x7\ 12.m‚S RԵWrespect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kth&x7\h&x7\ 1B*18LyqzK}&respect-lib-ihttp-iostreams/.gitignoreh&x7\h&x7\ 1Z% -blzmm%respect-lib-ihttp-iostreams/README.mdh&x7\h&x7\ 1a5Y {I7^,respect-lib-ihttp-iostreams/build.gradle.ktsh&x7\h&x7\ 1恿\\#SAMarespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kth&x7\h&x7\ 1HAZ9f`:/{7'erespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kth&x7\h&x7\ 1B*18LyqzK}&respect-lib-ihttp-nanohttpd/.gitignoreh&x7\h&x7\ 15JU6 rlmXƪLZ,respect-lib-ihttp-nanohttpd/build.gradle.ktsh&x7h&x7 1 7䊓š@aG\lrespect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kth&x7h&x7 1z40OC*respect-lib-primarykeygen/build.gradle.ktsh&x7h&x7 1 9X竭}jrespect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kth&x7h&x7 1].+-+ԉ+K&zFҼ_arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kth&x7h&x7 12圙D,DZifrespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kth&x7h&x7 1,x@͞Bdγ Jrl}arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kth&x7h&x7 1> O f0Ҽ>C3brespect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kth&x7h&x7 2bނR\!2gx\k krespect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kth&x7h&x7 2 WtIƨe(#respect-lib-shared/build.gradle.ktsh&x8#?h&x8#? 2*H+=XQܢ35respect-lib-shared/src/androidMain/assets/aaguid.jsonh&x8#?h&x8#? 2 n(Tj׆BhI^oKrespect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kth&x8#?h&x8#? 2_^-Ea G.urespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kth&x8#?h&x8#? 2?jM{gV)<*F"wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kth&x8#?h&x8#? 2=I2%s 2!dPsrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kth&x8#?h&x8#? 2S3ArfElU jirrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kth&x8#?h&x8#? 2h `A u}\v&nrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kth&x8#?h&x8#? 2 J#rK1jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kth&x8#?h&x8#? 2xE v-,torespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kth&x8#?h&x8#? 2OMU<=ЯcL1Qjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kth&x8#?h&x8#? 2 L4UI *p^Bkrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kth&x8#?h&x8#? 2! Ty?p}WM{ wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kth&x8eyh&x8ey 2#ԙٿY4p7U~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kth&x8eyh&x8ey 2$׻_!^)FH'~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kth&x8eyh&x8ey 2&YɪlEPK' ;+L2erespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kth&x8eyh&x8ey 2'{>NQ+|Xrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kth&x8eyh&x8ey 2)֧ʡ-ޙ0H!'MURrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kth&x8eyh&x8ey 2,GH!M3G}'`%i`Krespect-lib-shared/src/androidMain/resources/directories/default.propertiesh&x8eyh&x8ey 20(˼yjnUrespect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xmlh&x8eyh&x8ey 22LsxheEC)DDtErespect-lib-shared/src/commonMain/composeResources/values/strings.xmlh&x8eyh&x8ey 263zȾCQȚz7$\}/Crespect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kth&x8eyh&x8ey 27FjL)-5؂hBrespect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kth&x8eyh&x8ey 28f뚰 c0N!t FBrespect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kth&x8eyh&x8ey 2;qq.מq\C[b#hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kth&x8eyh&x8ey 2>mq!Oab~v kycrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kth&x8eyh&x8ey 2?CB2huz˧|\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kth&x8eyh&x8ey 2@Z)pq*Ƅ^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kth&x8eyh&x8ey 2Au̯`6~r1grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountAndPerson.kth&x8eyh&x8ey 2B!0ӑLK&+/erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kth&x8eyh&x8ey 2C*q\dS ˛smrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kth&x8eyh&x8ey 2DJȥd &oE)6lcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kth&x8eyh&x8ey 2F]՛i̎D2TNq)respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kth&x8h&x8 2Gk%H)`s @_Erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kth&x8h&x8 2I m4;> O{respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kth&x8h&x8 2J%@g"e'Ĉ^krespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kth&x8h&x8 2KԆ' ㋢|qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kth&x8h&x8 2LF7om!mooLjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kth&x8h&x8 2MX! S6ͯg`prespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kth&x8h&x8 2N`&Gȟg[?qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kth&x8h&x8 2O⛲CK)wZSwrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kth&x8h&x8 2Qg:xfaxQX7Qsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kth&x8h&x8 2RynrjRsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kth&x8h&x8 2S7 ~"ǚvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kth&x8h&x8 2TVsrO1GG|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kth&x8h&x8 2U wBc|eu 5yz[yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kth&x8h&x8 2Vy6H/TώtFոPmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kth&x8h&x8 2W[M23S5Alrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kth&x8h&x8 2X vX"tyrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kth&x8h&x8 2YGFƳlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kth&x8h&x8 2[٨$GZ(%oԿ-nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kth&x8h&x8 2]߄, 鈓D,}auܠgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kth&x8h&x8 2_.9LjdU’ Mdrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kth&x8h&x8 2`αJP!Jxn )A.xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kth&x8h&x8 2bnZĕqr A, rcl>>}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kth&x8h&x8 2d|?:'-9<gYrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kth&x8h&x8 2fpDŵ)ޱZ1.yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kth&x8h&x8 2h2Br~I2)xN?erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kth&x8h&x8 2q @,;K8@[0KJfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kth&x8-h&x8- 2shc^=d`.19탡tbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kth&x8-h&x8- 2v rb0´brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kth&x8-h&x8- 2wu)F53K{frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kth&x8-h&x8- 2y29; 4\=ar>>nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kth&x8-h&x8- 2|6~2W`35Vdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kth&x8-h&x8- 2H[e[Wgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kth&x8-h&x8- 2065p!lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kth&x8-h&x8- 2 Y;=+,BNl*/trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kth&x8-h&x8- 2Ĵ2Zkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kth&x8-h&x8- 2>OELLD~zorespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kth&x8-h&x8- 2ib~.#n=+na:mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kth&x8-h&x8- 2"=r}Nh6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kth&x8-h&x8- 2z!sQ+Tg mqrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kth&x8-h&x8- 2 rތ[Iݙ:7Fcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kth&x8=,)h&x8=,) 2k]-/,TTrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kth&x8=,)h&x8=,) 2= ʈ@nVaڥ[jUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kth&x8=,)h&x8=,) 2lvٕǟdA-ƆXtLrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kth&x8=,)h&x8=,) 2-`˵ Kݟ(9c2Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kth&x8=,)h&x8=,) 2cx0$TVrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kth&x8=,)h&x8=,) 2B'$0K{ULF7a?Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kth&x8=,)h&x8=,) 2dpl$ }PMA]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kth&x8=,)h&x8=,) 22v3h/<+arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kth&x8=,)h&x8=,) 2mdPJ'́7p}>grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kth&x8=,)h&x8=,) 2np@ }bQrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kth&x8=,)h&x8=,) 2#{-CMd 4˝@%SXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kth&x8=,)h&x8=,) 2<U>8BRtWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kth&x8=,)h&x8=,) 2=WgRAU v;6Trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kth&x8=,)h&x8=,) 26)j2aQAEUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kth&x8=,)h&x8=,) 2@p 0nb1&ž*Srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kth&x8=,)h&x8=,) 2&,eQiTe7Fr\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kth&x8=,)h&x8=,) 2M^ν3W8GvA<Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kth&x8=,)h&x8=,) 2]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kth&x8Lndh&x8Lnd 2nbZl49[:MC^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kth&x8Lndh&x8Lnd 2Y"\"”gX4p]]>[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kth&x8Lndh&x8Lnd 2Yg7)/qQ6MSrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kth&x8Lndh&x8Lnd 2L!M5W#$}@P]n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kth&x8Lndh&x8Lnd 2l&uܬX/=د: [respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kth&x8Lndh&x8Lnd 2m û5hܖ-ǏBY-zsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kth&x8Lndh&x8Lnd 2O`:3-ڑ'֗]nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kth&x8Lndh&x8Lnd 2-PJ[k|U{aց+grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kth&x8Lndh&x8Lnd 2_[u: ْYqXdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kth&x8Lndh&x8Lnd 2INjЛj CAkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kth&x8Lndh&x8Lnd 2k\\܋rA fTdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kth&x8Lndh&x8Lnd 2 4(q}|fˎhrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidationMessageExt.kth&x8wNh&x8wN 3`AIc?mu}respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/respectappmanifest/validator/RespectAppManifestValidator.kth&x8h&x8 3bPe pLHa\!g brespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/DiscardOutputStream.kth&x8h&x8 3c2n.1Sճ^respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/HttpResponseExt.kth&x8h&x8 3d$} hfv/ Vprespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/ValidateHttpResponseForUrlUseCase.kth&x8h&x8 3f=ѠHF1lǚ]respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.jvm.kth&x8h&x8 3gs;mהG5n!R?ϝPrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/StringExt.jvm.kth&x8h&x8 3i*H+=XQܢ34respect-lib-shared/src/jvmMain/resources/aaguid.jsonh&x8h&x8 3nXQ3{ FwTi7Nz[respect-lib-shared/src/jvmMain/resources/world/respect/domain/validator/README-licenses.txth&x8h&x8 3o~7% rfnZUUrespect-lib-shared/src/jvmMain/resources/world/respect/domain/validator/licenses.jsonh&x8h&x8 3tkhaHɵs+{*4kLrespect-lib-shared/src/jvmTest/kotlin/world/respect/OpdsSerializationTest.kth&x8=h&x8= 3xi/|vGIQr9/hrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/account/invite/RedeemInviteIntegrationTest.kth&x8=h&x8= 3zz.)JOBdk=i orespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/account/passkey/EncodeDecodeUserHandleUseCaseTest.kth&x8=h&x8= 3|<`~QBv!u.JZrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/HttpLinkHeaderTest.kth&x8=h&x8= 3}AI lΑ` eY9_respect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/TestValidationScenarios.kth&x8=h&x8= 3J5yvpŰxC lrespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kth&x8=h&x8= 38=zx0'6Y-^_respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/util/di/RespectAccountScopeIdTest.kth&x8=h&x8= 3sz9VF(L\erespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeIdTest.kth&x8=h&x8= 3ГζviWI< irespect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kth&x9^h&x9^ 3#@x[f g'LxtdD!respect-lib-util/build.gradle.ktsh&x9" h&x9" 3.rCI4M߀M̪]`respect-lib-util/src/androidMain/kotlin/world/respect/libutil/util/ConcurrentSafeList.android.kth&x9" h&x9" 3y/*4, y4ú_respect-lib-util/src/androidMain/kotlin/world/respect/libutil/util/time/TimeInMillis.android.kth&x9" h&x9" 3W n &/[.vfJrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/IntExt.kth&x9" h&x9" 3"M`[SOHuQ1*WKrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ListExt.kth&x9" h&x9" 3 ~7Crespect-server/src/main/kotlin/world/respect/server/AppConfigExt.kth&x9nXh&x9nX 4e"Sn<5WsgBrespect-server/src/main/kotlin/world/respect/server/Application.kth&x9nXh&x9nX 4?kiɷZOrEGrespect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kth&x9nXh&x9nX 4x&jt]:Drespect-server/src/main/kotlin/world/respect/server/ServerAppMain.kth&x9nXh&x9nX 4+$~7?<ne#WGrespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kth&x9nXh&x9nX 4bp+6W`=x`respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kth&x9nXh&x9nX 4faM\e#v?nrespect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kth&x9nXh&x9nX 4! ?A}^ۖqaLTYrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kth&x9nXh&x9nX 4"vkh%cPo怉Rjrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kth&x9nXh&x9nX 4$:onPubjC{|oGrespect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kth&x9nXh&x9nX 4% Ñѭ^UQCYrespect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kth&x9nXh&x9nX 4&?q_respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kth&x9nXh&x9nX 4),|[l-respect-server/src/main/resources/logback.xmlh&x9}h&x9} 4?\D va޸6respect-server/src/main/resources/openapi/openapi.yamlh&x9}h&x9} 4AO@KzhJ'Ig8)respect-server/well-known/assetlinks.jsonh&x9}h&x9} 4Cӯݨ'j/㢿vnT!respect-test-end-to-end/README.mdh&x9}h&x9} 4EYRKxFE8?uyQOrespect-test-end-to-end/test-description/001_browse_lessons_test_description.mdh&x9}h&x9} 4F^$f.җgLf6FNrespect-test-end-to-end/test-description/004_create_report_test_description.mdh&x9}h&x9} bvt_#t[~KuԬzIsettings.gradle.ktsh&x9}h&x9} bwW>KǙ,j#E+POJ0write-jenkins-build-info.shTREEW91007 23 #nci`} 5l1+.fleet1 0 G;ܼ,yʙHe)Tgradle3 1 &-{X&ȉq8wrapper2 0 oꙭۆzWy5Zo.maestro15 2 ]׌,Qqޠ-B0Y}lflows8 1 ΁K!ZWj&(subflows7 0 JZ#wj$flows-in-progress6 0 6tgt7 !O,composeApp2 1 %w8Ud osrc2 1 J] k07Nܕ9desktopMain2 1 +,6ZJcxHgLresources2 1 4:hF#t@$8 ҁGimg2 0 'df$(respect-cli3 1 R:! >h'Gsrc1 1 . I]hmain1 1 p<s$ java1 1 r.!clI˷world1 1 fG֮CX)arespect1 1 4qc]*TA|xclitools1 0 )u؏N፫^respect-server35 3 \djR,!VoMDlog2 0 luI9k2/src29 1 [sHP4߀dTݮEQmain29 2 &Y1uVTekotlin26 1 ܮ bh{@NqKb yworld26 1 ӟY?L4{!mrespect26 1 [C01DݎfݍFserver26 4 8*ˉs6Xutil4 1 C8X=Hh@ext4 0 '|ZgC\W"|domain2 1 !P>״vkschool2 1 Y=b?v1dadd2 0  O -0routes13 3 ^q2}P6H2m^school6 1 @ʬwY,[+c\ respect6 0 ~(I`l_턳U֘upasskey3 0 kSytnK9ѐjusername1 0 B,#{LY L!haccount2 1 Ws+ ; !-Einvite2 1 ~?EQhusername1 0 ' X-< Va _{3resources3 1 f AǦ(--openapi1 0 zㅷ4=5<#<ſwell-known1 0 sfŋΐ6>respect-lib-test3 1 XtCj!zg yfuzaworld1 1 ZeQ*|>respect1 1 $a?k6'4lib1 1 "4(B ll7rLcB9test1 1 ZB}}F/걗wclientservertest1 0 *$Mw "respect2 1 W]Z\D"afclibutil2 1 O^a4>*%]3Xp;util2 1 ΰM1"3H?Rtime1 0 mY B;FUrespect-datalayer136 1 #.koW^]kRe#src133 2 ol 7p@&-pcommonMain132 1 ZWwѻ`kkotlin132 1 GW}#Hqworld132 1 )x.Wf:0:*K'respect132 1 : $R .datalayer132 9 ?&&2I]S:Kext6 0 t}&9Ikóopds19 1 ƒ܁;499Pmodel17 0 UVtGcF2\d*2school37 3 ] ]TImodel21 2 ey{v]kreport6 0 ÷ K1tqHXd Yscomposites1 0 r2J-B>Far]uadapters2 0 9 /I'!(@http1 0 ٓj}IartGFTmodel6 0 cۯf`~cachecontrol9 0 u3{t7sandroidMain7 1 "3[F6kotlin7 1 ܙ) hQjcc!1&com7 1 Q;q.DQ-(~xustadmobile7 1 ix lttE,@libcache7 4 >4 5aq_S%jaqmd52 0 oA6h,sdkTAbase641 0 Ԗp?9El] webview1 0 [˴%uw4#3\distributed2 0 0Ya9Iv%C+݈schemas1 1 (O_|\R.[!d com.ustadmobile.libcache.db.UstadCacheDb1 0 R 4ZnM`K8I respect-lib-shared260 1 [p`uEAPAD/nsrc259 5 ,9- +ܱ&Ao$jvmMain26 2 z: iw%kotlin23 1 g>7Uvȉresources3 1 B|u2@+Lworld2 1 ZHe)*i a⛁respect2 1 —jHEtdomain2 1 %FUyyr\validator2 0 8Ox[1RjvmTest46 2 -a؂^Fk02kotlin10 1 0&Ww+)1J~~ world10 1 &TElЁ15[b8mtarespect10 3 | b b5/Gi<zdomain4 2 VPE²u-%q,account2 2 `f'VH}M invite1 0 lnE/P͆Vpasskey1 0 vuH tm[Yvalidator2 0 IVX :A;MRKshared3 2 i \NTDlutil2 1 Cn qq5di2 0 +<}uf2n RKwZdomain1 1 F*)_,Taccount1 0 ^w˹2"Wl^_testutil2 0 o%bŔ]a]resources36 1 ǑꯔyNE7fʡworld36 1 U­!TG2^YlbLrespect36 1 }(mQiXE']Nvalidator36 4 ;N؏t,(̥Ycase_valid10 1 r݅E5OTograde17 1 Ut򃀉NmYJlesson0016 0 -p6<``S/rHcase_no_resources_in_manifest10 1 ҆ ^g}*COgrade17 1 Nr h2i󐫸r2lesson0016 0 YG;ildcase_manifest_not_discoverable10 1 ?\)pK;|;grade17 1 O{ x 'lesson0016 0 G)›aJ1çRmcase_manifest_resources_do_not_exist6 1 "1ycfL*hgrade13 1 < -IDMElesson0012 0 Ws^*:uQLԬdcommonMain162 3 xsf8cM-(=kotlin158 1 G[&F+h\world158 1 #J4m7e$VY~}respect158 1 Uܱ;K85c}shared155 7 i(,dĤN$Zext3 0 ‰!ȏ{WW:Sutil20 3 vGdp1.4UDJOdi3 0 Ө]T ~ext7 0 ?S\[&L}uIexception1 0 g &fFCbdomain70 16 F,]4KL nшopds1 1 s9Jh:Nvalidator1 0 3/h"鋵j< report12 4 ؇mRr{j|ext1 0 Stֆ>,u6imodel1 0 !*]"^query4 0 :醼èfפyZ8Zaformatter6 0 fu~h\t1 Asschool3 0 7 w磠q㍡baccount32 7 _`PJ*gyinvite7 0 lDϬc>c1`>ήsignup1 0 k߶e|lu5B passkey9 0 tS >J^8_username4 2 /F.;yWQfilterusername1 0 ӷ`wbqk϶validateusername1 0 LZvT92:hٙ,^Fstorage3 0 q}`})C6ۙB-licenses2 1 _@k/>w,wwGmodel2 0 /T@c}%0vpihclipboard1 0 ^>d>Ըj :@Alaunchapp1 0 D,bLiQM!nvalidator6 0 aAܺq7 onboarding1 0 a,ESy4eəWV@getfavicons1 0 px؉h|I'getwarnings1 0 ξj7݂(WljOgetdeviceinfo2 0 eC!#窛 +ۨϸappversioninfo1 0 |?׆|aI۶usagereporting2 0 ]B0+mR?respectappmanifest1 1 XukUրkA%@model1 0 04}0qU|V Zdirectory1 0 Ńh_!ig resources1 0 D 2pviewmodel54 11 =Ij_`&!{y!wapp11 1 xFL OKaappstate11 0 Rm.)M*Ugyapps4 4 Ig(=list1 0 ]ܭ\ >~I6aV^detail1 0 r9d>6@glauncher1 0 p^c؊yCٵenterlink1 0 Ћ6w 9clazz4 4 fh6xledit1 0 }'D GFMlist1 0 dSƒk0i0ldetail1 0 H[Fit[addperson1 0 e="IDedit1 0 7%V? z9Clist1 0 />:}Q"ЏEdetail1 0 } C9!T$#6^passkeylist1 0 -}"%pdgs manageaccount1 0 w*ϣ>report9 5 &Yh&A(eW|,7edit1 0 `AȒPelist2 0 +<&G{ߏOdetail1 0 c wUindictor3 3 C8yhapcV.edit1 0 G(L 2}aIX)dyKlist1 0 T=@? n9i`CR*detail1 0 lk5H?P"ukfilteredit1 0 F"Xm2;-@8^}manageuser14 13 fo6^R{̓login1 0 uy)\=signup1 0 p?y sprofile2 0 i?{f[ߜ1'cgetstarted1 0 aE[ID8accountlist1 0 >/6d#/^&9otheroption1 0 ;c/)6Mconfirmation1 0 0/Unp13#Vhowpasskeywork1 0 J@=Y<֒hXXjoinclazzwithcode1 0 0B Ap(U!\otheroptionsignup1 0 ?yt~o'ѭpgM-g}termsandcondition1 0 pb+0 I Kwaitingforapproval1 0 rU0?5U'Z yenterpasswordsignup1 0 6EVX{3Xonboarding1 0 9ģn6'Dmņd0qassignments1 0 j& :Ji1|learningunit2 2 V"su8{&list1 0 `3젋3ѐVFdetail1 0 {9/bԞ988Crespectaccount1 1 )52/{>2list1 0 > Xٷacknowledgement1 0 :#0"ʁQ navigation6 0 n{m6hq q^&resources2 1 *J]38F.Ѯdirectories1 0 ~67\x~uVt9composeResources2 2 Ld;/Qq 6;values1 0 Ž ?!K)@Igdrawable1 0 _{ #vsn?commonTest7 1 a6D(B" resources7 0 ES_e]8) 4#uCrespect16 1 0mo rrJ@shared15 2 YqWjw`CCy@̝util3 1 .TMF]rKeZ 9pext1 0 XMPEI%[domain12 9 ?&l]-Tneschool1 0 Lb} Wzaccount1 1 b{1X:y_Vg/passkey1 0 Pڝ#H>CsIߙstorage3 0 5=>ˍN\C'ܭ.clipboard1 0  }Hc(launchapp1 0 5_D9wU`< ;getwarnings1 0 '@jqGPgetdeviceinfo1 0 1GP+۪+CfFyq(appversioninfo1 0 2͌>xbUjusagereporting2 0 1NwHH5Vresources1 1 }q VR directories1 0 \Z"?@gJZ{L\Rؿrespect-lib-xxhash7 1 N-rsYhKsrc6 1 }cAѵdgIy JcommonMain6 1 AB? a![c1kotlin6 1 %>z~ 4I7Dworld6 1 \.PpoHrespect6 1 ϓٙ+7Ced"Ȭlibxxhash6 1 ŃD Ҿ*ext2 0 o5{4ܭ^view41 9 U(D>)apps4 4 /6z`!+list1 0 R~Õƺ~@@detail1 0 ܕoE( tlauncher1 0 C+KQ  ݶ 6denterlink1 0 v蓻'8[>Hclazz4 4 K}dyV(^;edit1 0 q6n(TQtxC^list1 0 ?%[`detail1 0 <Џ\x5Haddperson1 0 Ntjb zl&]person5 5 h=-iC<;@%edit1 0 Ȯbx{{DK50`Rlist1 0 hϗPohE detail1 0 M+H%%oi:LpasskeyList1 0 U,@dl啿VJmanageaccount1 0 K `=7T7report9 6 QC@"˜edit1 0 _iRp_)list2 0 uՂߪ}ːӨ8"graph1 0 `MA,D[ddetail1 0 Qk(B| ͖indicator3 3 g7TtRp."edit1 0 M*xxi?e%detail1 0 >AT+*vca]filteredit1 0 j5<~/a8[:manageuser14 13 dI?=pTqm+llogin1 0 LJP9!signup1 0 a%7C mErzVgetstarted1 0 z? VVP*m͔accountlist2 0 &,L y5AؓuuIotheroption1 0 O4ADx$̚confirmation1 0 qoxOfг|<\3Ycreateaccount1 0 [ȷu1{ehowpasskeywork1 0 i7~c}^Ǫfjoinclazzwithcode1 0 Wiߥu)llTx$Lwebview1 0 d 3A(ڶSimages1 0 y [+9!`navigation1 0 xT躛ɁWl iandroidMain48 2 ~4l\O9ޯres27 14 R*7d^Vӕmixml3 0 @DFlb]menu1 0 ,#@}l]ŀܚlayout1 0 !Q7|]a]pS?values4 0 |=4K bcapp1 0 eV tn{§components2 1 FI;_#oewebview1 0 `GOD \#"Zimages1 0 ٔ`Ȗl'C~callback1 0 hte?Yocredentials9 2 군)l'g5passkey7 0 VGHZeys password2 0 b8 Zu2ߗ|desktopMain5 2 m#l1Opkotlin4 1 =90 H{v`9world4 1 Ox8_ ;$9krespect4 2 9pf:xʨf|Z'respect102 1 %PZ)datalayer102 1 ~ gI/m-r_db102 7 -*ȇqZ<߄:opds23 3 iw;"=jҚqdaos6 0 B8eMYceMMadapters7 0 Fde.W9*Jentities7 0 bFlF> school37 4 A{ɐ@6*8nudaos10 0 S*,x ݹۦadapters7 0 Gc}@a OUz0dentities12 0 O%qfSՃmD_writequeue1 0 ƃ" WYG`xshared12 4 ~ҎzYU#b1ext3 0 Xey;#ytdaos1 0 ZP9tZQeyJJadapters3 0 hXBEmI!35oentities3 0 GԍUB[rUo"Hscompatibleapps6 3 vHY =|lmedaos2 0 X8 nHlqcW?"adapters1 0 #]>Lzumentities2 0 XdX j5䤴xpersonPassword2 0 #:Ȥ'K@ݹYvHschooldirectory12 4 P /Sy* ext1 0 %ok' %daos4 0 ԚĔ@Y^,. Xadapters1 0 *Nentities4 0 Z#c`>?networkvalidation3 2 `.Z9[񷏉daos1 0 ,hK ]V[w2[&entities1 0 %Lu"gT9#0:ustadmobile1 1 X;}g;By(ihttp1 1 #dYVy@,sJiext1 0 3OR)nge?$GL jvmMain1 1 mQuA(䯭#94e1ۨm鬳^Austadmobile26 1 ?1IV_X%Bihttp26 4 SZou.Cext4 0 yHi4Io/0]cs>headers13 1 %̯'ڑGCG䂳directives1 0 ysn! 1TM Eꆯrequest6 0 [Pkotlin1 1 MEg:潰fKKqcom1 1 =P`Vu6ustadmobile1 1 HY wv~ihttp1 1 '-[=ݫ@jext1 0 c^lvI ށrespect-test-end-to-end3 1 tXz?Y_MIjʩrtest-description2 0 6qmaudrespect-lib-ihttp-okhttp11 1 5ƀմpqi7bsrc7 1 ox5x v7QmcommonMain7 1 ٴakuhiw72?kotlin6 1 q1{]I8}com6 1 %;n4x*ɍustadmobile6 1 =V@}lbJG7\i ihttp6 1 ב[H%3mDokhttp6 3 iǟqe6_Q)headers2 0 L)9:o Z request2 0 D)YLresponse2 0 I20]":=jfarespect-lib-primarykeygen7 1 ؗʡ񔍈.dg isrc6 4 kܭ2L_ՄjvmMain1 1 ] w,U%,5*Ikotlin1 1 ׼->[jGhzkkworld1 1 2v x8u2urespect1 1 H>DAȉK#M9/,_jvmTest1 1 ; xKC[?[kotlin1 1 n8J _oKpworld1 1 cvMprespect1 1 ͠V\-w_Tn-])lib1 1 Kmnڭ?L_]primarykeygen1 0 nYc/9u commonMain3 1 LN_ʺ"K^H{lkotlin3 1 ԛnAE9|4xmworld3 1 uGq)UAHrespect3 1 ׇpH5j'-<~Tlib3 1 #bNZ" primarykeygen3 1 V{r5vMlext1 0 í&~M$^3WandroidMain1 1 ߶nt7GFD•gkotlin1 1 Sߏ2world1 1 q*W ?MFԄrespect1 1 E7nc_'u3zd>alib1 1 ~7g!1v< H:primarykeygen1 0 NV?sv}respect-lib-ihttp-iostreams5 1 ߣAY8bGsrc2 1 >VnS,Xg tvcommonMain2 1 ]IPA`%=`kotlin2 1 h{MhEDO;)eg䏵com2 1 Q,Pʾ]9ustadmobile2 1 Z 3#+afžfUihttp2 1 ܦ7ҸC z2N#uiostreams2 0 OHr^&m6respect-lib-ihttp-nanohttpd4 1 X)1 l_ڷ%8src2 1 L3v 둄qcommonMain2 1 R ce? kotlin2 1 B0Ee! }com2 1 L0 yc΄FOustadmobile2 1 VٽI*t95ihttp2 1 QF7a}å2E nanohttpd2 0 !n($ȋӪH 45]S>respect-datalayer-repository27 1 ՟v1C<'zsrc25 3 j- }=FhD+^qpL)jvmTest6 2 EdPԄ nR?]@kotlin3 1 &"KUn7Icbworld3 1 !Kwcu Krrespect3 1 t9S4R9k#ojdatalayer3 1 d&rNLKR%repository3 2 vՊ].k]hopds1 0 w+ح*w~Nj}`Rschool1 0 `}z4C ?resources3 1 OѺ=QAzpworld2 1 NE0{*}respect2 1 }[6 datalayer2 1 _xpa/M g;repository2 1 mriքJ'ڮn-9opds2 0 @R0qBJ~kcommonMain17 1 @}0ft4|/kotlin17 1 %&-m-Fg6world17 1 -eJuAS5Q\T=respect17 1 ;GPfOKdatalayer17 1 AiT"pweu(u]repository17 5 F"wZo,opds1 0 1@*v%school6 1 csBоy0Awritequeue1 0 t-Jaduײ%^xshared5 1 i MAJBpaging5 0 (nPhWǴPOqcompatibleapps1 0 Aeo5 dRschooldirectory1 0 7l舨\?IIU֌dandroidMain2 1 O>u!)ALkotlin2 1 29|pN0/9world2 1 90o h܏?ӜgVXrespect2 1 ^'A9k8!datalayer2 1 72ה=ڦvWrepository2 1 J+> 8L=z ӂ@Ҕschool2 1 i\A H]٭򰾈zngwritequeue2 0 =o{\X!k_qFzjcBzgNz1R)Uf