content: [versions]
  agp = "8.10.0"
  androidx-activity = "1.10.1"
  androidx-appcompat = "1.7.0"
  androidx-browser = "1.8.0"
  androidx-cardview = "1.0.0"
  androidx-constraintlayout = "2.2.1"
  androidx-core = "1.16.0"
  androidx-drawerlayout = "1.2.0"
  androidx-exifinterface = "1.4.1"
  androidx-fragment = "1.8.6"
  androidx-hilt = "1.2.0"
  androidx-junit = "1.2.1"
  androidx-lifecycle = "2.9.0"
  androidx-media3 = "1.6.1"
  androidx-paging = "3.3.6"
  androidx-preference = "1.2.1"
  androidx-recyclerview = "1.4.0"
  androidx-sharetarget = "1.2.0"
  androidx-splashscreen = "1.2.0-beta02"
  androidx-swiperefresh-layout = "1.1.0"
  androidx-testing = "2.2.0"
  androidx-viewpager2 = "1.1.0"
  androidx-work = "2.10.1"
  androidx-room = "2.7.1"
  bouncycastle = "1.70"
  conscrypt = "2.5.3"
  coroutines = "1.10.2"
  diffx = "1.1.2"
  emoji2 = "1.5.0"
  filemoji-compat = "3.2.7"
  glide = "4.16.0"
  glide-animation-plugin = "3.0.4"
  hilt = "2.56.2"
  kotlin = "2.1.21"
  image-cropper = "4.3.2"
  material = "1.12.0"
  material-drawer = "9.0.2"
  mockito-inline = "5.2.0"
  mockito-kotlin = "5.4.0"
  moshi = "1.15.2"
  networkresult-calladapter = "1.2.0"
  okhttp = "4.12.0"
  okio = "3.11.0"
  retrofit = "3.0.0"
  robolectric = "4.14.1"
  sparkbutton = "4.2.0"
  touchimageview = "3.7.1"
  turbine = "1.2.0"
  unified-push = "2.4.0"
  xmlwriter = "1.0.4"
  
  [plugins]
  android-application = { id = "com.android.application", version.ref = "agp" }
  google-ksp = "com.google.devtools.ksp:2.1.21-2.0.1"
  hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
  ktlint = "org.jlleitschuh.gradle.ktlint:12.2.0"
  licensee = "app.cash.licensee:1.13.0"
  
  [libraries]
  android-material = { module = "com.google.android.material:material", version.ref = "material" }
  androidx-activity = { module = "androidx.activity:activity", version.ref = "androidx-activity" }
  androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
  androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" }
  androidx-cardview = { module = "androidx.cardview:cardview", version.ref = "androidx-cardview" }
  androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
  androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
  androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidx-splashscreen" }
  androidx-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidx-testing" }
  androidx-drawerlayout =  { group = "androidx.drawerlayout", name = "drawerlayout", version.ref = "androidx-drawerlayout" }
  androidx-emoji2-core = { module = "androidx.emoji2:emoji2", version.ref = "emoji2" }
  androidx-emoji2-views-core = { module = "androidx.emoji2:emoji2-views", version.ref = "emoji2" }
  androidx-emoji2-view-helper = { module = "androidx.emoji2:emoji2-views-helper", version.ref = "emoji2" }
  androidx-exifinterface = { module = "androidx.exifinterface:exifinterface", version.ref = "androidx-exifinterface" }
  androidx-fragment-ktx = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" }
  androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidx-hilt" }
  androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "androidx-hilt" }
  androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
  androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "androidx-media3" }
  androidx-media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "androidx-media3" }
  androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "androidx-media3" }
  androidx-paging-runtime-ktx = { module = "androidx.paging:paging-runtime-ktx", version.ref = "androidx-paging" }
  androidx-preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" }
  androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
  androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "androidx-room" }
  androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
  androidx-room-testing = { module = "androidx.room:room-testing", version.ref = "androidx-room" }
  androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "androidx-recyclerview" }
  androidx-sharetarget = { module = "androidx.sharetarget:sharetarget", version.ref = "androidx-sharetarget" }
  androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "androidx-swiperefresh-layout" }
  androidx-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-junit" }
  androidx-viewpager2 = { module = "androidx.viewpager2:viewpager2", version.ref = "androidx-viewpager2" }
  androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
  androidx-work-testing = { module = "androidx.work:work-testing", version.ref = "androidx-work" }
  bouncycastle = { module = "org.bouncycastle:bcprov-jdk15on", version.ref = "bouncycastle" }
  conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref = "conscrypt" }
  hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
  hilt-compiler = { group = "com.google.dagger", name = "hilt-compiler", version.ref = "hilt" }
  diffx = { module = "org.pageseeder.diffx:pso-diffx", version.ref = "diffx" }
  filemojicompat-core = { module = "de.c1710:filemojicompat", version.ref = "filemoji-compat" }
  filemojicompat-defaults = { module = "de.c1710:filemojicompat-defaults", version.ref = "filemoji-compat" }
  filemojicompat-ui = { module = "de.c1710:filemojicompat-ui", version.ref = "filemoji-compat" }
  glide-animation-plugin = { module = "com.github.penfeizhou.android.animation:glide-plugin", version.ref = "glide-animation-plugin" }
  glide-compiler = { module = "com.github.bumptech.glide:ksp", version.ref = "glide" }
  glide-core = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
  glide-okhttp3-integration = { module = "com.github.bumptech.glide:okhttp3-integration", version.ref = "glide" }
  kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
  kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
  image-cropper = { module = "com.github.CanHub:Android-Image-Cropper", version.ref = "image-cropper" }
  material-drawer-core = { module = "com.mikepenz:materialdrawer", version.ref = "material-drawer" }
  material-drawer-iconics = { module = "com.mikepenz:materialdrawer-iconics", version.ref = "material-drawer" }
  mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockito-kotlin" }
  mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockito-inline" }
  mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" }
  moshi-core = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
  moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
  moshi-kotlin-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }
  networkresult-calladapter = { module = "at.connyduck:networkresult-calladapter", version.ref = "networkresult-calladapter" }
  okhttp-core = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
  okhttp-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
  okio = { module = "com.squareup.okio:okio", version.ref = "okio" }
  retrofit-converter-moshi = { module = "com.squareup.retrofit2:converter-moshi", version.ref = "retrofit" }
  retrofit-core = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
  robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
  sparkbutton = { module = "at.connyduck.sparkbutton:sparkbutton", version.ref = "sparkbutton" }
  touchimageview = { module = "com.github.MikeOrtiz:TouchImageView", version.ref = "touchimageview" }
  turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
  unified-push = { module = "com.github.UnifiedPush:android-connector", version.ref = "unified-push" }
  xmlwriter = { module = "org.pageseeder.xmlwriter:pso-xmlwriter", version.ref = "xmlwriter" }
  
  [bundles]
  androidx = ["androidx-core-ktx", "androidx-appcompat", "androidx-fragment-ktx", "androidx-browser", "androidx-swiperefreshlayout",
      "androidx-recyclerview", "androidx-exifinterface", "androidx-cardview", "androidx-preference-ktx", "androidx-sharetarget",
      "androidx-emoji2-core", "androidx-emoji2-views-core", "androidx-emoji2-view-helper", "androidx-lifecycle-viewmodel-ktx",
      "androidx-constraintlayout", "androidx-paging-runtime-ktx", "androidx-viewpager2", "androidx-work-runtime-ktx",
      "androidx-core-splashscreen", "androidx-activity", "androidx-media3-exoplayer", "androidx-media3-datasource-okhttp",
      "androidx-media3-ui", "androidx-drawerlayout"]
  filemojicompat = ["filemojicompat-core", "filemojicompat-ui", "filemojicompat-defaults"]
  glide = ["glide-core", "glide-okhttp3-integration", "glide-animation-plugin"]
  material-drawer = ["material-drawer-core", "material-drawer-iconics"]
  mockito = ["mockito-kotlin", "mockito-inline"]
  moshi = ["moshi-core", "moshi-adapters"]
  okhttp = ["okhttp-core", "okhttp-logging-interceptor"]
  retrofit = ["retrofit-core", "retrofit-converter-moshi"]
  room = ["androidx-room-ktx", "androidx-room-paging"]
  xmldiff = ["diffx", "xmlwriter"]
  