# {"id":"partitionSourceFiles","fileNameMappings":{"okhttp3.Request":"Request.kt","com.ustadmobile.libcache.okhttp.RequestExtKt":"RequestExt.kt","kotlinx.coroutines.flow.ReadonlyStateFlow":"Share.kt","com.ustadmobile.libcache.headers.HttpHeadersExtKt":"HttpHeadersExt.kt","okhttp3.internal.http.RealInterceptorChain":"RealInterceptorChain.kt","com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapterKt":"OkHttpHeadersAdapter.kt","com.ustadmobile.libcache.okhttp.UstadCacheInterceptor$PartialFileMetadata":"UstadCacheInterceptor.kt","com.ustadmobile.libcache.connectivitymonitor.ConnectivityState":"ConnectivityMonitor.kt","kotlin.jvm.internal.Intrinsics":"Intrinsics.java","com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapterKt":"OkHttpRequestAdapter.kt","com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitorAndroid":"ConnectivityMonitorAndroid.kt","okio.Okio__OkioKt":"Okio.kt","com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader":"RequestCacheControlHeader.kt","okhttp3.Response$Builder":"Response.kt","okhttp3.Response":"Response.kt","kotlin.time.Clock$System":"Clock.kt","okhttp3.HttpUrl":"HttpUrl.kt","kotlin.time.InstantJvmKt":"InstantJvm.kt"}}
com.ustadmobile.libcache.okhttp.UstadCacheInterceptor -> wv7:
# {"id":"sourceFile","fileName":"UstadCacheInterceptor.kt"}
    com.ustadmobile.libcache.UstadCache cache -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lsv7;"}
    kotlin.jvm.functions.Function0 tmpDirProvider -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lq7;"}
    com.ustadmobile.libcache.logging.UstadCacheLogger logger -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ld42;"}
    com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker cacheControlFreshnessChecker -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lfm4;"}
    com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker responseCacheabilityChecker -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lmp5;"}
    kotlinx.io.files.FileSystem fileSystem -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lyb4;"}
    kotlinx.serialization.json.Json json -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Llj3;"}
    com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor connectivityMonitor -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lm71;"}
    java.util.concurrent.ExecutorService executor -> i
    1:2:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):66:66 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lsv7;Lq7;Ld42;Llj3;Lm71;)V"}
    3:5:void com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImpl.<init>():8:8 -> <init>
    3:5:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):66 -> <init>
    6:9:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):68:68 -> <init>
    10:12:void com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImpl.<init>():5:5 -> <init>
    10:12:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):68 -> <init>
    13:14:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):69:69 -> <init>
    15:17:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61:61 -> <init>
    18:20:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):60:60 -> <init>
    18:20:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    21:22:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):62:62 -> <init>
    21:22:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    23:24:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):63:63 -> <init>
    23:24:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    25:26:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):64:64 -> <init>
    25:26:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    27:28:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):65:65 -> <init>
    27:28:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    29:30:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):67:67 -> <init>
    29:30:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    31:32:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):69:69 -> <init>
    31:32:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    33:34:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):70:70 -> <init>
    33:34:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    35:36:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):71:71 -> <init>
    35:36:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    37:43:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor):74:74 -> <init>
    37:43:void <init>(com.ustadmobile.libcache.UstadCache,kotlin.jvm.functions.Function0,com.ustadmobile.libcache.logging.UstadCacheLogger,com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker,com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,kotlinx.io.files.FileSystem,kotlinx.serialization.json.Json,com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor,int,kotlin.jvm.internal.DefaultConstructorMarker):61 -> <init>
    7:8:okhttp3.Request okhttp3.internal.http.RealInterceptorChain.request():309:309 -> a
    7:8:okhttp3.Response intercept(okhttp3.Interceptor$Chain):264 -> a
    7:8:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lwr5;)Lt56;"}
    9:14:okhttp3.HttpUrl okhttp3.Request.url():38:38 -> a
    9:14:okhttp3.Response intercept(okhttp3.Interceptor$Chain):265 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:14:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    15:16:java.lang.String okhttp3.HttpUrl.toString():757:757 -> a
    15:16:okhttp3.Response intercept(okhttp3.Interceptor$Chain):265 -> a
    15:16:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    17:18:okhttp3.Call okhttp3.internal.http.RealInterceptorChain.call():307:307 -> a
    17:18:okhttp3.Response intercept(okhttp3.Interceptor$Chain):266 -> a
    17:18:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    19:45:okhttp3.Response intercept(okhttp3.Interceptor$Chain):267:267 -> a
    19:45:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    46:47:okhttp3.Response intercept(okhttp3.Interceptor$Chain):269:269 -> a
    46:47:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    48:54:java.lang.String com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapter.get(java.lang.String):10:10 -> a
    48:54:okhttp3.Response intercept(okhttp3.Interceptor$Chain):269 -> a
    48:54:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    55:61:okhttp3.Response intercept(okhttp3.Interceptor$Chain):270:270 -> a
    55:61:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    62:70:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):9:9 -> a
    62:70:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    62:70:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    71:72:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10:10 -> a
    71:72:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    71:72:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    73:76:boolean kotlin.jvm.internal.Intrinsics.areEqual(java.lang.Object,java.lang.Object):169:169 -> a
    73:76:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
    73:76:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    73:76:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    77:86:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10:10 -> a
    77:86:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    77:86:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    87:95:boolean kotlin.jvm.internal.Intrinsics.areEqual(java.lang.Object,java.lang.Object):169:169 -> a
    87:95:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
    87:95:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    87:95:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    96:99:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getNoStore():15:15 -> a
    96:99:boolean com.ustadmobile.libcache.okhttp.RequestExtKt.mightBeCacheable(okhttp3.Request,com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader):10 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    96:99:okhttp3.Response intercept(okhttp3.Interceptor$Chain):274 -> a
    96:99:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    100:106:java.lang.String okhttp3.Request.header(java.lang.String):86:86 -> a
    100:106:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):250 -> a
    100:106:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    100:106:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    107:110:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):253:253 -> a
    107:110:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    107:110:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    111:117:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    111:117:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    111:117:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):254 -> a
    111:117:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    111:117:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    118:122:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    118:122:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):255 -> a
    118:122:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276 -> a
    118:122:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    123:126:okhttp3.Response intercept(okhttp3.Interceptor$Chain):276:276 -> a
    123:126:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    127:148:okhttp3.Response intercept(okhttp3.Interceptor$Chain):279:279 -> a
    127:148:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    149:153:okhttp3.Response intercept(okhttp3.Interceptor$Chain):277:277 -> a
    149:153:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    154:155:okhttp3.Response intercept(okhttp3.Interceptor$Chain):285:285 -> a
    154:155:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    156:159:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    160:164:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    160:164:okhttp3.Response intercept(okhttp3.Interceptor$Chain):283 -> a
    160:164:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    165:165:okhttp3.Response intercept(okhttp3.Interceptor$Chain):288:288 -> a
    165:165:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    166:171:okhttp3.Response intercept(okhttp3.Interceptor$Chain):292:292 -> a
    166:171:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    172:178:okhttp3.Response intercept(okhttp3.Interceptor$Chain):293:293 -> a
    172:178:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    179:183:com.ustadmobile.ihttp.request.IHttpRequest com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapterKt.asIHttpRequest(okhttp3.Request):22:22 -> a
    179:183:okhttp3.Response intercept(okhttp3.Interceptor$Chain):296 -> a
    179:183:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    184:192:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    184:192:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    193:194:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):158:158 -> a
    193:194:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    193:194:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    193:194:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    195:198:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2):1:1 -> a
    195:198:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):157 -> a
    195:198:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    195:198:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    195:198:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    199:205:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    199:205:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    206:213:com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapter com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapterKt.asIHttpHeaders(okhttp3.Headers):22:22 -> a
    206:213:okhttp3.Response intercept(okhttp3.Interceptor$Chain):301 -> a
    206:213:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    214:217:okhttp3.Response intercept(okhttp3.Interceptor$Chain):303:303 -> a
    214:217:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    218:236:okhttp3.Response intercept(okhttp3.Interceptor$Chain):304:304 -> a
    218:236:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    237:242:kotlin.time.Instant kotlin.time.InstantJvmKt.systemClockNow():13:13 -> a
    237:242:kotlin.time.Instant kotlin.time.Clock$System.now():60 -> a
    237:242:okhttp3.Response intercept(okhttp3.Interceptor$Chain):305 -> a
    237:242:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    243:246:okhttp3.Response intercept(okhttp3.Interceptor$Chain):305:305 -> a
    243:246:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    247:263:okhttp3.Response intercept(okhttp3.Interceptor$Chain):306:306 -> a
    247:263:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    264:269:kotlin.time.Instant kotlin.time.InstantJvmKt.systemClockNow():13:13 -> a
    264:269:kotlin.time.Instant kotlin.time.Clock$System.now():60 -> a
    264:269:okhttp3.Response intercept(okhttp3.Interceptor$Chain):307 -> a
    264:269:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    270:276:okhttp3.Response intercept(okhttp3.Interceptor$Chain):307:307 -> a
    270:276:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    277:289:okhttp3.Response intercept(okhttp3.Interceptor$Chain):300:300 -> a
    277:289:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    290:291:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311:311 -> a
    290:291:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    292:293:kotlinx.coroutines.flow.StateFlow com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitorAndroid.getStatusFlow():19:19 -> a
    292:293:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    292:293:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    294:299:java.lang.Object kotlinx.coroutines.flow.ReadonlyStateFlow.getValue():0:0 -> a
    294:299:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    294:299:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    300:301:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311:311 -> a
    300:301:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    302:307:boolean com.ustadmobile.libcache.connectivitymonitor.ConnectivityState.isConnected():9:9 -> a
    302:307:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    302:307:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    308:320:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    308:320:okhttp3.Response intercept(okhttp3.Interceptor$Chain):312 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    308:320:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    321:334:boolean com.ustadmobile.libcache.cachecontrol.CachedResponseStatus.isFresh():15:15 -> a
    321:334:okhttp3.Response intercept(okhttp3.Interceptor$Chain):313 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    321:334:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    335:338:okhttp3.Response intercept(okhttp3.Interceptor$Chain):321:321 -> a
    335:338:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    339:368:okhttp3.Response intercept(okhttp3.Interceptor$Chain):322:322 -> a
    339:368:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    369:373:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    369:373:okhttp3.Response intercept(okhttp3.Interceptor$Chain):334 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    369:373:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    374:375:void okhttp3.Response$Builder.<init>():360:360 -> a
    374:375:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    374:375:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    376:382:void okhttp3.Headers$Builder.<init>():206:206 -> a
    376:382:void okhttp3.Response$Builder.<init>():371 -> a
    376:382:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    376:382:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    383:391:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340:340 -> a
    383:391:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    392:394:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    392:394:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    392:394:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    392:394:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    392:394:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    395:402:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):215:215 -> a
    395:402:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    395:402:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    395:402:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    395:402:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    403:406:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    403:406:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    403:406:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    403:406:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    403:406:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    407:436:okhttp3.Response okhttp3.Response$Builder.build():510:510 -> a
    407:436:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    407:436:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    437:474:okhttp3.Response intercept(okhttp3.Interceptor$Chain):342:342 -> a
    437:474:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    475:496:okhttp3.Response intercept(okhttp3.Interceptor$Chain):350:350 -> a
    475:496:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    497:500:okhttp3.Response intercept(okhttp3.Interceptor$Chain):351:351 -> a
    497:500:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    501:507:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    501:507:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    501:507:okhttp3.Response intercept(okhttp3.Interceptor$Chain):352 -> a
    501:507:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    508:511:okhttp3.Response intercept(okhttp3.Interceptor$Chain):353:353 -> a
    508:511:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    512:514:okhttp3.Response intercept(okhttp3.Interceptor$Chain):354:354 -> a
    512:514:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    515:518:okhttp3.Response intercept(okhttp3.Interceptor$Chain):356:356 -> a
    515:518:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    519:521:okhttp3.Response intercept(okhttp3.Interceptor$Chain):357:357 -> a
    519:521:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    522:526:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    522:526:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360 -> a
    522:526:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    527:530:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360:360 -> a
    527:530:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    531:536:int okhttp3.Response.code():61:61 -> a
    531:536:okhttp3.Response intercept(okhttp3.Interceptor$Chain):366 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    531:536:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    537:539:okhttp3.Response intercept(okhttp3.Interceptor$Chain):367:367 -> a
    537:539:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    540:548:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368:368 -> a
    540:548:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    549:551:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1:1 -> a
    549:551:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368 -> a
    549:551:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    552:555:com.ustadmobile.ihttp.headers.IHttpHeaders com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapter.getHeaders():11:11 -> a
    552:555:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    552:555:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    556:562:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    556:562:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):35 -> a
    556:562:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    556:562:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    563:568:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    563:568:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):36 -> a
    563:568:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    563:568:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    569:570:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    569:570:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    571:585:okhttp3.Response intercept(okhttp3.Interceptor$Chain):379:379 -> a
    571:585:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    586:587:okhttp3.Response intercept(okhttp3.Interceptor$Chain):381:381 -> a
    586:587:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    588:590:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    588:590:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    591:594:okhttp3.Response intercept(okhttp3.Interceptor$Chain):382:382 -> a
    591:594:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    595:604:okhttp3.Response intercept(okhttp3.Interceptor$Chain):385:385 -> a
    595:604:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    605:608:okhttp3.Response intercept(okhttp3.Interceptor$Chain):383:383 -> a
    605:608:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    609:612:okhttp3.Response intercept(okhttp3.Interceptor$Chain):389:389 -> a
    609:612:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    613:640:okhttp3.Response intercept(okhttp3.Interceptor$Chain):390:390 -> a
    613:640:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    641:650:okhttp3.Response intercept(okhttp3.Interceptor$Chain):394:394 -> a
    641:650:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    651:654:boolean com.ustadmobile.libcache.okhttp.ResponseCacheabilityCheckerExtKt.canStore$default(com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,okhttp3.Response,boolean,int,java.lang.Object):8:8 -> a
    651:654:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395 -> a
    651:654:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    655:658:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395:395 -> a
    655:658:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    659:662:okhttp3.Response intercept(okhttp3.Interceptor$Chain):397:397 -> a
    659:662:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    663:690:okhttp3.Response intercept(okhttp3.Interceptor$Chain):398:398 -> a
    663:690:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    691:714:okhttp3.Response intercept(okhttp3.Interceptor$Chain):403:403 -> a
    691:714:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    715:719:okhttp3.Response intercept(okhttp3.Interceptor$Chain):402:402 -> a
    715:719:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    720:721:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362:362 -> a
    720:721:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    722:725:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    726:730:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    726:730:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362 -> a
    726:730:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    731:733:okhttp3.Response intercept(okhttp3.Interceptor$Chain):363:363 -> a
    731:733:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    734:745:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    734:745:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    746:749:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    750:758:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    750:758:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    759:775:okhttp3.Response intercept(okhttp3.Interceptor$Chain):416:416 -> a
    759:775:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    776:800:okhttp3.Response intercept(okhttp3.Interceptor$Chain):418:418 -> a
    776:800:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    801:807:java.lang.String com.ustadmobile.libcache.okhttp.UstadCacheInterceptor$PartialFileMetadata.getEtag():85:85 -> a
    801:807:okhttp3.Response intercept(okhttp3.Interceptor$Chain):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    801:807:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    808:811:okhttp3.Response intercept(okhttp3.Interceptor$Chain):423:423 -> a
    808:811:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    812:818:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    812:818:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    812:818:okhttp3.Response intercept(okhttp3.Interceptor$Chain):424 -> a
    812:818:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    819:823:okhttp3.Response intercept(okhttp3.Interceptor$Chain):425:425 -> a
    819:823:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    824:831:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    824:831:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    832:835:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    836:840:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    836:840:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    841:846:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    841:846:okhttp3.Response intercept(okhttp3.Interceptor$Chain):427 -> a
    841:846:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    847:855:java.lang.String okhttp3.Request.header(java.lang.String):86:86 -> a
    847:855:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):250 -> a
    847:855:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    847:855:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    856:859:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):253:253 -> a
    856:859:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    856:859:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    860:866:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    860:866:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    860:866:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):254 -> a
    860:866:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    860:866:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    867:871:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    867:871:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):255 -> a
    867:871:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    867:871:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    872:880:okhttp3.Response intercept(okhttp3.Interceptor$Chain):433:433 -> a
    872:880:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    881:886:okhttp3.Response intercept(okhttp3.Interceptor$Chain):444:444 -> a
    881:886:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    887:890:okhttp3.Response intercept(okhttp3.Interceptor$Chain):449:449 -> a
    887:890:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    891:918:okhttp3.Response intercept(okhttp3.Interceptor$Chain):450:450 -> a
    891:918:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    919:947:okhttp3.Response intercept(okhttp3.Interceptor$Chain):454:454 -> a
    919:947:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    948:949:okhttp3.Response intercept(okhttp3.Interceptor$Chain):437:437 -> a
    948:949:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    950:953:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    954:958:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    954:958:okhttp3.Response intercept(okhttp3.Interceptor$Chain):435 -> a
    954:958:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    959:959:okhttp3.Response intercept(okhttp3.Interceptor$Chain):440:440 -> a
    959:959:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    1:2:int okhttp3.Response.code():61:61 -> b
    1:2:java.lang.String logSummary(okhttp3.Response):79 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:2:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lt56;)Ljava/lang/String;"}
    3:4:java.lang.String okhttp3.Response.message():59:59 -> b
    3:4:java.lang.String logSummary(okhttp3.Response):79 -> b
    3:4:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    5:6:okhttp3.Headers okhttp3.Response.headers():68:68 -> b
    5:6:java.lang.String logSummary(okhttp3.Response):79 -> b
    5:6:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    7:12:java.lang.String logSummary(okhttp3.Response):79:79 -> b
    7:12:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    13:61:java.lang.String logSummary(okhttp3.Response):80:80 -> b
    13:61:java.lang.String UstadCacheInterceptor.logSummary(Response):0 -> b
    62:66:java.lang.String UstadCacheInterceptor.logSummary(Response):0:0 -> b
    1:2:okhttp3.Request okhttp3.Response.request():55:55 -> c
    1:2:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lmr5;Lt56;)Lt56;"}
    3:4:java.lang.String okhttp3.Request.method():41:41 -> c
    3:4:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:okhttp3.HttpUrl okhttp3.Request.url():38:38 -> c
    5:6:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:int okhttp3.Response.code():61:61 -> c
    7:8:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
    9:10:java.lang.String okhttp3.Response.message():59:59 -> c
    9:10:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231 -> c
    11:51:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):231:231 -> c
    52:56:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):230:230 -> c
    57:61:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):232:232 -> c
    62:66:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):233:233 -> c
    67:70:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):235:235 -> c
    71:72:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236:236 -> c
    73:76:okio.Source okio.Okio.source(java.io.InputStream):1:1 -> c
    73:76:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    77:81:okio.BufferedSource okio.Okio__OkioKt.buffer(okio.Source):33:33 -> c
    77:81:okio.BufferedSource okio.Okio.buffer(okio.Source):1 -> c
    77:81:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    82:97:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):237:237 -> c
    98:101:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):238:238 -> c
    102:106:okhttp3.ResponseBody okhttp3.ResponseBody$Companion.create(okio.BufferedSource,okhttp3.MediaType,long):273:273 -> c
    102:106:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):236 -> c
    107:108:okhttp3.Response$Builder okhttp3.Response$Builder.body(okhttp3.ResponseBody):453:453 -> c
    107:108:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):235 -> c
    109:112:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):241:241 -> c
    113:127:okhttp3.Response newCacheAndStoreResponse(okhttp3.Response,okhttp3.Call):242:242 -> c
