# GSON
-keep class com.google.gson.** { *; }
# needed for R8 (refer - https://r8.googlesource.com/r8/+/refs/heads/master/compatibility-faq.md#troubleshooting-gson)
-keepclassmembers,allowobfuscation class * {
 @com.google.gson.annotations.SerializedName <fields>;
}
-keep class com.google.gson.reflect.TypeToken { *; }
-keep class * extends com.google.gson.reflect.TypeToken

#HyperKYC
-keep class co.hyperverge.hyperkyc.** {*; }
-dontwarn co.hyperverge.**

# Need this for R8 shrinking
-keepattributes Signature

# With R8 full mode generic signatures are stripped for classes that are not
# kept. Suspend functions are wrapped in continuations where the type argument
# is used.
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation

# R8 full mode strips generic signatures from return types if not kept.
-if interface * { @retrofit2.http.* public *** *(...); }
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>

# With R8 full mode generic signatures are stripped for classes that are not kept.
-keep,allowobfuscation,allowshrinking class retrofit2.Response

# Need this for OKHttp and R8
-dontwarn org.conscrypt.**
-dontwarn org.bouncycastle.**
-dontwarn org.openjsse.**