# {"id":"partitionSourceFiles","fileNameMappings":{"kotlinx.coroutines.ThreadLocalEventLoop":"EventLoop.common.kt","kotlinx.coroutines.EventLoopImplBase$DelayedTask":"EventLoop.common.kt","kotlinx.coroutines.internal.LockFreeTaskQueueCore":"LockFreeTaskQueue.kt","kotlinx.coroutines.internal.ThreadSafeHeap":"ThreadSafeHeap.kt","kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue":"EventLoop.common.kt","kotlinx.coroutines.CancellableContinuationImpl":"CancellableContinuationImpl.kt","kotlinx.coroutines.EventLoop":"EventLoop.common.kt","kotlinx.coroutines.EventLoop_commonKt":"EventLoop.common.kt","kotlinx.coroutines.EventLoopImplPlatform":"EventLoop.kt"}}
kotlinx.coroutines.EventLoopImplBase -> da2:
# {"id":"sourceFile","fileName":"EventLoop.common.kt"}
    long _delayed$volatile$FU$offset -> f0
      # {"id":"com.android.tools.r8.synthesized"}
    long _isCompleted$volatile$FU$offset -> g0
      # {"id":"com.android.tools.r8.synthesized"}
    long _queue$volatile$FU$offset -> h0
      # {"id":"com.android.tools.r8.synthesized"}
    int $r8$clinit -> i0
      # {"id":"com.android.tools.r8.synthesized"}
    1:41:void <clinit>():0:0 -> <clinit>
    1:3:void enqueue(java.lang.Runnable):266:266 -> B0
    4:9:void enqueue(java.lang.Runnable):267:267 -> B0
    10:13:void kotlinx.coroutines.EventLoopImplPlatform.unpark():8:8 -> B0
    10:13:void enqueue(java.lang.Runnable):269 -> B0
    14:19:void kotlinx.coroutines.EventLoopImplPlatform.unpark():9:9 -> B0
    14:19:void enqueue(java.lang.Runnable):269 -> B0
    20:23:void kotlinx.coroutines.EventLoopImplPlatform.unpark():10:10 -> B0
    20:23:void enqueue(java.lang.Runnable):269 -> B0
    24:29:void enqueue(java.lang.Runnable):271:271 -> B0
    1:12:void enqueueDelayedTasks():322:322 -> C0
    13:19:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29:29 -> C0
    13:19:void enqueueDelayedTasks():323 -> C0
    20:23:void enqueueDelayedTasks():324:324 -> C0
    24:24:void enqueueDelayedTasks():544:544 -> C0
    25:36:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> C0
    25:36:void enqueueDelayedTasks():545 -> C0
    37:38:void enqueueDelayedTasks():544:544 -> C0
    39:48:boolean kotlinx.coroutines.EventLoopImplBase$DelayedTask.timeToExecute(long):432:432 -> C0
    39:48:void enqueueDelayedTasks():330 -> C0
    49:58:void enqueueDelayedTasks():331:331 -> C0
    59:66:void enqueueDelayedTasks():547:547 -> C0
    67:69:void enqueueDelayedTasks():544:544 -> C0
    1:8:boolean enqueueImpl(java.lang.Runnable):277:277 -> D0
    9:20:boolean isCompleted():179:179 -> D0
    9:20:boolean enqueueImpl(java.lang.Runnable):278 -> D0
    21:41:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> D0
    21:41:boolean enqueueImpl(java.lang.Runnable):280 -> D0
    42:45:boolean enqueueImpl(java.lang.Runnable):281:281 -> D0
    46:60:boolean enqueueImpl(java.lang.Runnable):282:282 -> D0
    61:64:boolean enqueueImpl(java.lang.Runnable):285:285 -> D0
    65:83:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> D0
    65:83:boolean enqueueImpl(java.lang.Runnable):285 -> D0
    84:89:kotlinx.coroutines.internal.Symbol kotlinx.coroutines.EventLoop_commonKt.access$getCLOSED_EMPTY$p():1:1 -> D0
    84:89:boolean enqueueImpl(java.lang.Runnable):289 -> D0
    90:96:boolean enqueueImpl(java.lang.Runnable):292:292 -> D0
    97:102:boolean enqueueImpl(java.lang.Runnable):293:293 -> D0
    103:105:boolean enqueueImpl(java.lang.Runnable):294:294 -> D0
    106:124:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> D0
    106:124:boolean enqueueImpl(java.lang.Runnable):295 -> D0
    java.lang.Thread kotlinx.coroutines.EventLoopImplPlatform.getThread() -> E0
    1:15:boolean kotlinx.coroutines.EventLoop.isUnconfinedQueueEmpty():87:87 -> F0
    1:15:boolean isEmpty():183 -> F0
    16:27:boolean isEmpty():184:184 -> F0
    28:35:boolean kotlinx.coroutines.internal.ThreadSafeHeap.isEmpty():29:29 -> F0
    28:35:boolean isEmpty():185 -> F0
    36:44:boolean isEmpty():186:186 -> F0
    45:50:boolean isEmpty():188:188 -> F0
    51:75:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87:87 -> F0
    51:75:boolean isEmpty():188 -> F0
    76:81:kotlinx.coroutines.internal.Symbol kotlinx.coroutines.EventLoop_commonKt.access$getCLOSED_EMPTY$p():1:1 -> F0
    76:81:boolean isEmpty():189 -> F0
    1:6:void kotlinx.coroutines.EventLoopImplPlatform.reschedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):14:14 -> G0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLba2;)V"}
    1:2:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367:367 -> H0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLba2;)V"}
    3:16:boolean isCompleted():179:179 -> H0
    3:16:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):374 -> H0
    3:16:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    17:24:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):375:375 -> H0
    17:24:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    25:26:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376:376 -> H0
    25:26:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    27:29:void kotlinx.coroutines.internal.ThreadSafeHeap.<init>():19:19 -> H0
    27:29:void kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue.<init>(long):517 -> H0
    27:29:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> H0
    27:29:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    30:31:void kotlinx.coroutines.EventLoopImplBase$DelayedTaskQueue.<init>(long):518:518 -> H0
    30:31:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> H0
    30:31:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    32:50:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> H0
    32:50:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):376 -> H0
    32:50:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    51:65:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):377:377 -> H0
    51:65:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    66:77:int scheduleImpl(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):379:379 -> H0
    66:77:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367 -> H0
    78:83:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):367:367 -> H0
    84:87:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):365:365 -> H0
    88:96:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371:371 -> H0
    88:96:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> H0
    97:97:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> H0
    97:97:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> H0
    97:97:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> H0
    98:108:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> H0
    98:108:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():41 -> H0
    98:108:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> H0
    98:108:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> H0
    109:114:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> H0
    109:114:boolean shouldUnpark(kotlinx.coroutines.EventLoopImplBase$DelayedTask):371 -> H0
    109:114:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> H0
    115:118:void kotlinx.coroutines.EventLoopImplPlatform.unpark():8:8 -> H0
    115:118:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> H0
    119:124:void kotlinx.coroutines.EventLoopImplPlatform.unpark():9:9 -> H0
    119:124:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> H0
    125:128:void kotlinx.coroutines.EventLoopImplPlatform.unpark():10:10 -> H0
    125:128:void schedule(long,kotlinx.coroutines.EventLoopImplBase$DelayedTask):364 -> H0
    36:39:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):223:223 -> N
      # {"id":"com.android.tools.r8.residualsignature","signature":"(JLan0;)V"}
    40:45:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):224:224 -> N
    46:48:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):230:230 -> N
    49:54:void kotlinx.coroutines.CancellableContinuationKt.disposeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.DisposableHandle):500:500 -> N
    49:54:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):231 -> N
    55:58:void kotlinx.coroutines.CancellableContinuationImpl.invokeOnCancellationInternal$kotlinx_coroutines_core(kotlinx.coroutines.CancelHandler):398:398 -> N
    55:58:void kotlinx.coroutines.CancellableContinuationKt.invokeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.CancelHandler):319 -> N
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:58:void kotlinx.coroutines.CancellableContinuationKt.disposeOnCancellation(kotlinx.coroutines.CancellableContinuation,kotlinx.coroutines.DisposableHandle):500 -> N
    55:58:void scheduleResumeAfterDelay(long,kotlinx.coroutines.CancellableContinuation):231 -> N
    1:4:void dispatch(kotlin.coroutines.CoroutineContext,java.lang.Runnable):262:262 -> q0
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lsc1;Ljava/lang/Runnable;)V"}
    1:6:void kotlinx.coroutines.ThreadLocalEventLoop.resetEventLoop$kotlinx_coroutines_core():125:125 -> shutdown
    1:6:void shutdown():209 -> shutdown
    7:14:void setCompleted(boolean):180:180 -> shutdown
    7:14:void shutdown():212 -> shutdown
    15:18:java.util.concurrent.atomic.AtomicReferenceFieldUpdater get_queue$volatile$FU():0:0 -> shutdown
    15:18:void closeQueue():341 -> shutdown
    15:18:void shutdown():213 -> shutdown
    19:26:void closeQueue():341:341 -> shutdown
    19:26:void shutdown():213 -> shutdown
    27:51:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> shutdown
    27:51:void closeQueue():343 -> shutdown
    27:51:void shutdown():213 -> shutdown
    52:55:void closeQueue():344:344 -> shutdown
    52:55:void shutdown():213 -> shutdown
    56:64:void closeQueue():345:345 -> shutdown
    56:64:void shutdown():213 -> shutdown
    65:71:void closeQueue():352:352 -> shutdown
    65:71:void shutdown():213 -> shutdown
    72:77:void closeQueue():353:353 -> shutdown
    72:77:void shutdown():213 -> shutdown
    78:88:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> shutdown
    78:88:void closeQueue():354 -> shutdown
    78:88:void shutdown():213 -> shutdown
    89:98:void shutdown():215:215 -> shutdown
    99:102:void rescheduleAllDelayed():390:390 -> shutdown
    99:102:void shutdown():217 -> shutdown
    103:115:void rescheduleAllDelayed():399:399 -> shutdown
    103:115:void shutdown():217 -> shutdown
    116:116:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> shutdown
    116:116:void rescheduleAllDelayed():399 -> shutdown
    116:116:void shutdown():217 -> shutdown
    117:123:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():44:44 -> shutdown
    117:123:void rescheduleAllDelayed():399 -> shutdown
    117:123:void shutdown():217 -> shutdown
    124:131:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():45:45 -> shutdown
    124:131:void rescheduleAllDelayed():399 -> shutdown
    124:131:void shutdown():217 -> shutdown
    132:135:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> shutdown
    132:135:void rescheduleAllDelayed():399 -> shutdown
    132:135:void shutdown():217 -> shutdown
    136:139:void rescheduleAllDelayed():400:400 -> shutdown
    136:139:void shutdown():217 -> shutdown
    140:142:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.removeFirstOrNull():165:165 -> shutdown
    140:142:void rescheduleAllDelayed():399 -> shutdown
    140:142:void shutdown():217 -> shutdown
    143:150:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> shutdown
    143:150:void closeQueue():354 -> shutdown
    143:150:void shutdown():213 -> shutdown
    1:14:long processNextEvent():250:250 -> z0
    15:17:long processNextEvent():252:252 -> z0
    18:30:java.lang.Runnable dequeue():304:304 -> z0
    18:30:long processNextEvent():254 -> z0
    31:34:java.lang.Runnable dequeue():307:307 -> z0
    31:34:long processNextEvent():254 -> z0
    35:41:java.lang.Runnable dequeue():308:308 -> z0
    35:41:long processNextEvent():254 -> z0
    42:52:java.lang.Runnable dequeue():309:309 -> z0
    42:52:long processNextEvent():254 -> z0
    53:56:java.lang.Runnable dequeue():310:310 -> z0
    53:56:long processNextEvent():254 -> z0
    57:83:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> z0
    57:83:java.lang.Runnable dequeue():310 -> z0
    57:83:long processNextEvent():254 -> z0
    84:94:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> z0
    84:94:java.lang.Runnable dequeue():314 -> z0
    84:94:long processNextEvent():254 -> z0
    95:100:java.lang.Runnable dequeue():314:314 -> z0
    95:100:long processNextEvent():254 -> z0
    101:104:long processNextEvent():256:256 -> z0
    105:115:long kotlinx.coroutines.EventLoop.getNextTime():58:58 -> z0
    105:115:long getNextTime():195 -> z0
    105:115:long processNextEvent():259 -> z0
    116:128:long kotlinx.coroutines.EventLoop.getNextTime():59:59 -> z0
    116:128:long getNextTime():195 -> z0
    116:128:long processNextEvent():259 -> z0
    129:134:long getNextTime():196:196 -> z0
    129:134:long processNextEvent():259 -> z0
    135:140:long getNextTime():199:199 -> z0
    135:140:long processNextEvent():259 -> z0
    141:168:boolean kotlinx.coroutines.internal.LockFreeTaskQueueCore.isEmpty():87:87 -> z0
    141:168:long getNextTime():199 -> z0
    141:168:long processNextEvent():259 -> z0
    169:178:long getNextTime():203:203 -> z0
    169:178:long processNextEvent():259 -> z0
    179:179:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> z0
    179:179:long getNextTime():203 -> z0
    179:179:long processNextEvent():259 -> z0
    180:189:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.firstImpl():84:84 -> z0
    180:189:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():41 -> z0
    180:189:long getNextTime():203 -> z0
    180:189:long processNextEvent():259 -> z0
    190:193:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> z0
    190:193:long getNextTime():203 -> z0
    190:193:long processNextEvent():259 -> z0
    194:206:long getNextTime():204:204 -> z0
    194:206:long processNextEvent():259 -> z0
    207:209:kotlinx.coroutines.internal.ThreadSafeHeapNode kotlinx.coroutines.internal.ThreadSafeHeap.peek():163:163 -> z0
    207:209:long getNextTime():203 -> z0
    207:209:long processNextEvent():259 -> z0
    210:217:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> z0
    210:217:java.lang.Runnable dequeue():314 -> z0
    210:217:long processNextEvent():254 -> z0
