# {"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 -> n08:
# {"id":"sourceFile","fileName":"UstadCacheInterceptor.kt"}
    com.ustadmobile.libcache.UstadCache cache -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Li08;"}
    kotlin.jvm.functions.Function0 tmpDirProvider -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lc8;"}
    com.ustadmobile.libcache.logging.UstadCacheLogger logger -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lf3a;"}
    com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessChecker cacheControlFreshnessChecker -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Le56;"}
    com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker responseCacheabilityChecker -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lzd6;"}
    kotlinx.io.files.FileSystem fileSystem -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lzd6;"}
    kotlinx.serialization.json.Json json -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lhi3;"}
    com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitor connectivityMonitor -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ll71;"}
    java.util.concurrent.ExecutorService executor -> i
    1:3: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":"(Li08;Lc8;Lf3a;Lhi3;Ll71;)V"}
    4:6:void com.ustadmobile.libcache.cachecontrol.CacheControlFreshnessCheckerImpl.<init>():8:8 -> <init>
    4:6: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>
    7:10: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>
    11:13:void com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityCheckerImpl.<init>():5:5 -> <init>
    11:13: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>
    14:15: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>
    16:18: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>
    19:21: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>
    19:21: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>
    22:23: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>
    22:23: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>
    24:25: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>
    24:25: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>
    26:27: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>
    26:27: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>
    28:29: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>
    28:29: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>
    30:31: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>
    30:31: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>
    32:33: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>
    32:33: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>
    34:35: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>
    34:35: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>
    36:37: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>
    36:37: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>
    38:44: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>
    38:44: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":"(Lws5;)Lw56;"}
    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:191:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    184:191:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    192:193:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):158:158 -> a
    192:193:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    192:193:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    192:193:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    194:197:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2):1:1 -> a
    194:197:java.lang.Object kotlinx.coroutines.BuildersKt__Builders_concurrentKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):157 -> a
    194:197:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1 -> a
    194:197:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297 -> a
    194:197:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    198:203:okhttp3.Response intercept(okhttp3.Interceptor$Chain):297:297 -> a
    198:203:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    204:211:com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapter com.ustadmobile.ihttp.okhttp.headers.OkHttpHeadersAdapterKt.asIHttpHeaders(okhttp3.Headers):22:22 -> a
    204:211:okhttp3.Response intercept(okhttp3.Interceptor$Chain):301 -> a
    204:211:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    212:217:okhttp3.Response intercept(okhttp3.Interceptor$Chain):303:303 -> a
    212: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:299:okhttp3.Response intercept(okhttp3.Interceptor$Chain):300:300 -> a
    277: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:303:kotlinx.coroutines.flow.StateFlow com.ustadmobile.libcache.connectivitymonitor.ConnectivityMonitorAndroid.getStatusFlow():19:19 -> a
    302:303:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    302:303:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    304:309:java.lang.Object kotlinx.coroutines.flow.ReadonlyStateFlow.getValue():0:0 -> a
    304:309:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
    304:309:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    310:311:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311:311 -> a
    310:311:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    312:317:boolean com.ustadmobile.libcache.connectivitymonitor.ConnectivityState.isConnected():9:9 -> a
    312:317:okhttp3.Response intercept(okhttp3.Interceptor$Chain):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    312:317:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    318:332:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    318:332:okhttp3.Response intercept(okhttp3.Interceptor$Chain):312 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    318:332:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    333:346:boolean com.ustadmobile.libcache.cachecontrol.CachedResponseStatus.isFresh():15:15 -> a
    333:346:okhttp3.Response intercept(okhttp3.Interceptor$Chain):313 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    333:346:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    347:350:okhttp3.Response intercept(okhttp3.Interceptor$Chain):321:321 -> a
    347:350:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    351:380:okhttp3.Response intercept(okhttp3.Interceptor$Chain):322:322 -> a
    351:380:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    381:385:boolean com.ustadmobile.libcache.cachecontrol.RequestCacheControlHeader.getOnlyIfCached():17:17 -> a
    381:385:okhttp3.Response intercept(okhttp3.Interceptor$Chain):334 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    381:385:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    386:387:void okhttp3.Response$Builder.<init>():360:360 -> a
    386:387:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    386:387:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    388:394:void okhttp3.Headers$Builder.<init>():206:206 -> a
    388:394:void okhttp3.Response$Builder.<init>():371 -> a
    388:394:okhttp3.Response intercept(okhttp3.Interceptor$Chain):335 -> a
    388:394:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    395:403:okhttp3.Response intercept(okhttp3.Interceptor$Chain):340:340 -> a
    395:403:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    404:406:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    404:406:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    404:406:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    404:406:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    404:406:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    407:414:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):215:215 -> a
    407:414:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    407:414:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    407:414:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    407:414:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    415:418:okhttp3.Headers okhttp3.internal._HeadersCommonKt.commonBuild(okhttp3.Headers$Builder):139:139 -> a
    415:418:okhttp3.Headers okhttp3.Headers$Builder.build():326 -> a
    415:418:okhttp3.Response okhttp3.Response$Builder.build():516 -> a
    415:418:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    415:418:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    419:448:okhttp3.Response okhttp3.Response$Builder.build():510:510 -> a
    419:448:okhttp3.Response intercept(okhttp3.Interceptor$Chain):341 -> a
    419:448:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    449:483:okhttp3.Response intercept(okhttp3.Interceptor$Chain):342:342 -> a
    449:483:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    484:504:okhttp3.Response intercept(okhttp3.Interceptor$Chain):350:350 -> a
    484:504:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    505:508:okhttp3.Response intercept(okhttp3.Interceptor$Chain):351:351 -> a
    505:508:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    509:515:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    509:515:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    509:515:okhttp3.Response intercept(okhttp3.Interceptor$Chain):352 -> a
    509:515:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    516:519:okhttp3.Response intercept(okhttp3.Interceptor$Chain):353:353 -> a
    516:519:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    520:522:okhttp3.Response intercept(okhttp3.Interceptor$Chain):354:354 -> a
    520:522:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    523:526:okhttp3.Response intercept(okhttp3.Interceptor$Chain):356:356 -> a
    523:526:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    527:529:okhttp3.Response intercept(okhttp3.Interceptor$Chain):357:357 -> a
    527:529:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    530:534:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    530:534:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360 -> a
    530:534:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    535:538:okhttp3.Response intercept(okhttp3.Interceptor$Chain):360:360 -> a
    535:538:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    539:544:int okhttp3.Response.code():61:61 -> a
    539:544:okhttp3.Response intercept(okhttp3.Interceptor$Chain):366 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    539:544:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    545:547:okhttp3.Response intercept(okhttp3.Interceptor$Chain):367:367 -> a
    545:547:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    548:557:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368:368 -> a
    548:557:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    558:560:java.lang.Object kotlinx.coroutines.BuildersKt.runBlockingK$default(kotlin.coroutines.CoroutineContext,kotlin.jvm.functions.Function2,int,java.lang.Object):1:1 -> a
    558:560:okhttp3.Response intercept(okhttp3.Interceptor$Chain):368 -> a
    558:560:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    561:564:com.ustadmobile.ihttp.headers.IHttpHeaders com.ustadmobile.ihttp.okhttp.request.OkHttpRequestAdapter.getHeaders():11:11 -> a
    561:564:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    561:564:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    565:571:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    565:571:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):35 -> a
    565:571:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    565:571:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    572:577:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.containsHeader(com.ustadmobile.ihttp.headers.IHttpHeaders,java.lang.String):28:28 -> a
    572:577:boolean com.ustadmobile.libcache.headers.HttpHeadersExtKt.hasCacheValidators(com.ustadmobile.ihttp.headers.IHttpHeaders):36 -> a
    572:577:okhttp3.Response intercept(okhttp3.Interceptor$Chain):374 -> a
    572:577:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    578:579:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    578:579:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    580:593:okhttp3.Response intercept(okhttp3.Interceptor$Chain):379:379 -> a
    580:593:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    594:595:okhttp3.Response intercept(okhttp3.Interceptor$Chain):381:381 -> a
    594:595:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    596:598:okhttp3.Response intercept(okhttp3.Interceptor$Chain):377:377 -> a
    596:598:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    599:602:okhttp3.Response intercept(okhttp3.Interceptor$Chain):382:382 -> a
    599:602:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    603:612:okhttp3.Response intercept(okhttp3.Interceptor$Chain):385:385 -> a
    603:612:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    613:616:okhttp3.Response intercept(okhttp3.Interceptor$Chain):383:383 -> a
    613:616:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    617:620:okhttp3.Response intercept(okhttp3.Interceptor$Chain):389:389 -> a
    617:620:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    621:648:okhttp3.Response intercept(okhttp3.Interceptor$Chain):390:390 -> a
    621:648:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    649:657:okhttp3.Response intercept(okhttp3.Interceptor$Chain):394:394 -> a
    649:657:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    658:661:boolean com.ustadmobile.libcache.okhttp.ResponseCacheabilityCheckerExtKt.canStore$default(com.ustadmobile.libcache.cachecontrol.ResponseCacheabilityChecker,okhttp3.Response,boolean,int,java.lang.Object):8:8 -> a
    658:661:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395 -> a
    658:661:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    662:665:okhttp3.Response intercept(okhttp3.Interceptor$Chain):395:395 -> a
    662:665:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    666:669:okhttp3.Response intercept(okhttp3.Interceptor$Chain):397:397 -> a
    666:669:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    670:697:okhttp3.Response intercept(okhttp3.Interceptor$Chain):398:398 -> a
    670:697:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    698:721:okhttp3.Response intercept(okhttp3.Interceptor$Chain):403:403 -> a
    698:721:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    722:726:okhttp3.Response intercept(okhttp3.Interceptor$Chain):402:402 -> a
    722:726:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    727:728:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362:362 -> a
    727:728:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    729:732:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    733:737:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    733:737:okhttp3.Response intercept(okhttp3.Interceptor$Chain):362 -> a
    733:737:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    738:740:okhttp3.Response intercept(okhttp3.Interceptor$Chain):363:363 -> a
    738:740:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    741:752:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    741:752:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    753:756:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    757:764:okhttp3.Response intercept(okhttp3.Interceptor$Chain):412:412 -> a
    757:764:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    765:781:okhttp3.Response intercept(okhttp3.Interceptor$Chain):416:416 -> a
    765:781:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    782:807:okhttp3.Response intercept(okhttp3.Interceptor$Chain):418:418 -> a
    782:807:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    808:814:java.lang.String com.ustadmobile.libcache.okhttp.UstadCacheInterceptor$PartialFileMetadata.getEtag():85:85 -> a
    808:814:okhttp3.Response intercept(okhttp3.Interceptor$Chain):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    808:814:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    815:818:okhttp3.Response intercept(okhttp3.Interceptor$Chain):423:423 -> a
    815:818:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    819:825:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    819:825:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    819:825:okhttp3.Response intercept(okhttp3.Interceptor$Chain):424 -> a
    819:825:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    826:831:okhttp3.Response intercept(okhttp3.Interceptor$Chain):425:425 -> a
    826:831:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    832:839:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    832:839:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    840:843:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    844:848:okhttp3.Response intercept(okhttp3.Interceptor$Chain):426:426 -> a
    844:848:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    849:855:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    849:855:okhttp3.Response intercept(okhttp3.Interceptor$Chain):427 -> a
    849:855:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    856:864:java.lang.String okhttp3.Request.header(java.lang.String):86:86 -> a
    856:864:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):250 -> a
    856:864:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    856:864:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    865:868:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):253:253 -> a
    865:868:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    865:868:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    869:875:okhttp3.Request$Builder okhttp3.Request$Builder.removeHeader(java.lang.String):275:275 -> a
    869:875:okhttp3.Request$Builder removeXInterceptHeaders(okhttp3.Request$Builder):260 -> a
    869:875:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):254 -> a
    869:875:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    869:875:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    876:880:okhttp3.Request okhttp3.Request$Builder.build():432:432 -> a
    876:880:okhttp3.Request removeXInterceptHeaders(okhttp3.Request):255 -> a
    876:880:okhttp3.Response intercept(okhttp3.Interceptor$Chain):429 -> a
    876:880:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    881:889:okhttp3.Response intercept(okhttp3.Interceptor$Chain):433:433 -> a
    881:889:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    890:895:okhttp3.Response intercept(okhttp3.Interceptor$Chain):444:444 -> a
    890:895:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    896:899:okhttp3.Response intercept(okhttp3.Interceptor$Chain):449:449 -> a
    896:899:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    900:927:okhttp3.Response intercept(okhttp3.Interceptor$Chain):450:450 -> a
    900:927:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    928:956:okhttp3.Response intercept(okhttp3.Interceptor$Chain):454:454 -> a
    928:956:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    957:958:okhttp3.Response intercept(okhttp3.Interceptor$Chain):437:437 -> a
    957:958:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    959:962:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0:0 -> a
    963:967:void com.ustadmobile.libcache.logging.NapierLoggingAdapter.e(java.lang.String,java.lang.String,java.lang.Throwable):39:39 -> a
    963:967:okhttp3.Response intercept(okhttp3.Interceptor$Chain):435 -> a
    963:967:Response UstadCacheInterceptor.intercept(RealInterceptorChain1):0 -> a
    968:968:okhttp3.Response intercept(okhttp3.Interceptor$Chain):440:440 -> a
    968:968: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":"(Lw56;)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":"(Lns5;Lw56;)Lw56;"}
    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
