# {"id":"partitionSourceFiles","fileNameMappings":{"kotlinx.coroutines.sync.MutexKt":"Mutex.kt","kotlinx.coroutines.sync.SemaphoreAndMutexImpl":"Semaphore.kt"}}
kotlinx.coroutines.sync.MutexImpl -> vf4:
# {"id":"sourceFile","fileName":"Mutex.kt"}
    java.util.concurrent.atomic.AtomicReferenceFieldUpdater owner$volatile$FU -> m0
    long owner$volatile$FU$offset -> n0
      # {"id":"com.android.tools.r8.synthesized"}
    1:25:void <clinit>():0:0 -> <clinit>
    2:4:void <init>(boolean):130:130 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"()V"}
    5:6:kotlinx.coroutines.internal.Symbol kotlinx.coroutines.sync.MutexKt.access$getNO_OWNER$p():1:1 -> <init>
    5:6:void <init>(boolean):137 -> <init>
    7:9:void <init>(boolean):137:137 -> <init>
    1:18:int kotlinx.coroutines.sync.SemaphoreAndMutexImpl.getAvailablePermits():147:147 -> d
    1:18:boolean isLocked():145 -> d
    1:9:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):167:167 -> e
    1:9:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljb1;)Ljava/lang/Object;"}
    10:17:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):316:316 -> e
    10:17:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    10:17:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    18:22:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):172:172 -> e
    18:22:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    18:22:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    23:24:java.util.concurrent.atomic.AtomicIntegerFieldUpdater kotlinx.coroutines.sync.SemaphoreAndMutexImpl.get_availablePermits$volatile$FU():0:0 -> e
    23:24:int kotlinx.coroutines.sync.SemaphoreAndMutexImpl.decPermits():232 -> e
    23:24:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.acquire(kotlinx.coroutines.CancellableContinuation):412 -> e
    23:24:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):173 -> e
    23:24:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    23:24:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    25:28:int kotlinx.coroutines.sync.SemaphoreAndMutexImpl.decPermits():232:232 -> e
    25:28:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.acquire(kotlinx.coroutines.CancellableContinuation):412 -> e
    25:28:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):173 -> e
    25:28:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    25:28:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    29:34:int kotlinx.coroutines.sync.SemaphoreAndMutexImpl.decPermits():236:236 -> e
    29:34:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.acquire(kotlinx.coroutines.CancellableContinuation):412 -> e
    29:34:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):173 -> e
    29:34:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    29:34:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    35:40:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.acquire(kotlinx.coroutines.CancellableContinuation):195:195 -> e
    35:40:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):173 -> e
    35:40:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    35:40:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    41:46:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.acquire(kotlinx.coroutines.CancellableContinuation):194:194 -> e
    41:46:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):173 -> e
    41:46:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    41:46:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    47:50:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):325:325 -> e
    47:50:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    47:50:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    51:61:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):315:315 -> e
    51:61:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    51:61:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    62:64:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):322:322 -> e
    62:64:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    62:64:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    65:65:java.lang.Object lockSuspend(java.lang.Object,kotlin.coroutines.Continuation):323:323 -> e
    65:65:java.lang.Object lock$suspendImpl(kotlinx.coroutines.sync.MutexImpl,java.lang.Object,kotlin.coroutines.Continuation):168 -> e
    65:65:java.lang.Object lock(java.lang.Object,kotlin.coroutines.Continuation):0 -> e
    1:8:boolean kotlinx.coroutines.sync.SemaphoreAndMutexImpl.tryAcquire():154:154 -> f
    1:8:int tryLockImpl(java.lang.Object):185 -> f
    1:8:boolean tryLock(java.lang.Object):179 -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Z"}
    9:12:boolean kotlinx.coroutines.sync.SemaphoreAndMutexImpl.tryAcquire():159:159 -> f
    9:12:int tryLockImpl(java.lang.Object):185 -> f
    9:12:boolean tryLock(java.lang.Object):179 -> f
    13:20:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.coerceAvailablePermitsAtMaximum():271:271 -> f
    13:20:boolean kotlinx.coroutines.sync.SemaphoreAndMutexImpl.tryAcquire():160 -> f
    13:20:int tryLockImpl(java.lang.Object):185 -> f
    13:20:boolean tryLock(java.lang.Object):179 -> f
    21:25:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.coerceAvailablePermitsAtMaximum():272:272 -> f
    21:25:boolean kotlinx.coroutines.sync.SemaphoreAndMutexImpl.tryAcquire():160 -> f
    21:25:int tryLockImpl(java.lang.Object):185 -> f
    21:25:boolean tryLock(java.lang.Object):179 -> f
    26:45:void kotlinx.coroutines.sync.SemaphoreAndMutexImpl.coerceAvailablePermitsAtMaximum():273:273 -> f
    26:45:boolean kotlinx.coroutines.sync.SemaphoreAndMutexImpl.tryAcquire():160 -> f
    26:45:int tryLockImpl(java.lang.Object):185 -> f
    26:45:boolean tryLock(java.lang.Object):179 -> f
    46:51:boolean kotlinx.coroutines.sync.SemaphoreAndMutexImpl.tryAcquire():166:166 -> f
    46:51:int tryLockImpl(java.lang.Object):185 -> f
    46:51:boolean tryLock(java.lang.Object):179 -> f
    52:59:int tryLockImpl(java.lang.Object):187:187 -> f
    52:59:boolean tryLock(java.lang.Object):179 -> f
    1:6:void unlock(java.lang.Object):209:209 -> k
    7:14:void unlock(java.lang.Object):211:211 -> k
    15:23:void unlock(java.lang.Object):212:212 -> k
    24:60:void unlock(java.lang.Object):214:214 -> k
    61:71:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> k
    61:71:void unlock(java.lang.Object):216 -> k
    72:75:void unlock(java.lang.Object):218:218 -> k
    76:87:boolean java.util.concurrent.atomic.AtomicReferenceFieldUpdater.compareAndSet(java.lang.Object,java.lang.Object,java.lang.Object):0:0 -> k
    76:87:void unlock(java.lang.Object):216 -> k
    88:93:void unlock(java.lang.Object):209:209 -> k
    1:41:java.lang.String toString():301:301 -> toString
    1:41:java.lang.String MutexImpl.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    42:46:java.lang.String toString():0:0 -> toString
    42:46:java.lang.String MutexImpl.toString():0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"4":49,"7":52},"outline":"Lfl0;m(Ljava/lang/StringBuilder;Ljava/lang/Object;C)Ljava/lang/String;"}
    47:47:java.lang.String toString():301:301 -> toString
    49:49:java.lang.String toString():301:301 -> toString
    52:52:java.lang.String toString():301:301 -> toString
