public abstract class kotlin/coroutines/experimental/AbstractCoroutineContextElement : kotlin/coroutines/experimental/CoroutineContext$Element {
	public fun <init> (Lkotlin/coroutines/experimental/CoroutineContext$Key;)V
	public fun fold (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
	public fun get (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext$Element;
	public fun getKey ()Lkotlin/coroutines/experimental/CoroutineContext$Key;
	public fun minusKey (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext;
	public fun plus (Lkotlin/coroutines/experimental/CoroutineContext;)Lkotlin/coroutines/experimental/CoroutineContext;
}

public abstract interface class kotlin/coroutines/experimental/Continuation {
	public abstract fun getContext ()Lkotlin/coroutines/experimental/CoroutineContext;
	public abstract fun resume (Ljava/lang/Object;)V
	public abstract fun resumeWithException (Ljava/lang/Throwable;)V
}

public abstract interface class kotlin/coroutines/experimental/ContinuationInterceptor : kotlin/coroutines/experimental/CoroutineContext$Element {
	public static final field Key Lkotlin/coroutines/experimental/ContinuationInterceptor$Key;
	public abstract fun interceptContinuation (Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
}

public final class kotlin/coroutines/experimental/ContinuationInterceptor$DefaultImpls {
	public static fun fold (Lkotlin/coroutines/experimental/ContinuationInterceptor;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
	public static fun get (Lkotlin/coroutines/experimental/ContinuationInterceptor;Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext$Element;
	public static fun minusKey (Lkotlin/coroutines/experimental/ContinuationInterceptor;Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext;
	public static fun plus (Lkotlin/coroutines/experimental/ContinuationInterceptor;Lkotlin/coroutines/experimental/CoroutineContext;)Lkotlin/coroutines/experimental/CoroutineContext;
}

public final class kotlin/coroutines/experimental/ContinuationInterceptor$Key : kotlin/coroutines/experimental/CoroutineContext$Key {
}

public abstract interface class kotlin/coroutines/experimental/CoroutineContext {
	public abstract fun fold (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
	public abstract fun get (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext$Element;
	public abstract fun minusKey (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext;
	public abstract fun plus (Lkotlin/coroutines/experimental/CoroutineContext;)Lkotlin/coroutines/experimental/CoroutineContext;
}

public final class kotlin/coroutines/experimental/CoroutineContext$DefaultImpls {
	public static fun plus (Lkotlin/coroutines/experimental/CoroutineContext;Lkotlin/coroutines/experimental/CoroutineContext;)Lkotlin/coroutines/experimental/CoroutineContext;
}

public abstract interface class kotlin/coroutines/experimental/CoroutineContext$Element : kotlin/coroutines/experimental/CoroutineContext {
	public abstract fun fold (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
	public abstract fun get (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext$Element;
	public abstract fun getKey ()Lkotlin/coroutines/experimental/CoroutineContext$Key;
	public abstract fun minusKey (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext;
}

public final class kotlin/coroutines/experimental/CoroutineContext$Element$DefaultImpls {
	public static fun fold (Lkotlin/coroutines/experimental/CoroutineContext$Element;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
	public static fun get (Lkotlin/coroutines/experimental/CoroutineContext$Element;Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext$Element;
	public static fun minusKey (Lkotlin/coroutines/experimental/CoroutineContext$Element;Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext;
	public static fun plus (Lkotlin/coroutines/experimental/CoroutineContext$Element;Lkotlin/coroutines/experimental/CoroutineContext;)Lkotlin/coroutines/experimental/CoroutineContext;
}

public abstract interface class kotlin/coroutines/experimental/CoroutineContext$Key {
}

public final class kotlin/coroutines/experimental/CoroutinesKt {
	public static final fun createCoroutine (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
	public static final fun createCoroutine (Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
	public static final fun startCoroutine (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/experimental/Continuation;)V
	public static final fun startCoroutine (Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/experimental/Continuation;)V
	public static final fun suspendCoroutine (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
}

public final class kotlin/coroutines/experimental/EmptyCoroutineContext : kotlin/coroutines/experimental/CoroutineContext {
	public static final field INSTANCE Lkotlin/coroutines/experimental/EmptyCoroutineContext;
	public fun fold (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
	public fun get (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext$Element;
	public fun hashCode ()I
	public fun minusKey (Lkotlin/coroutines/experimental/CoroutineContext$Key;)Lkotlin/coroutines/experimental/CoroutineContext;
	public fun plus (Lkotlin/coroutines/experimental/CoroutineContext;)Lkotlin/coroutines/experimental/CoroutineContext;
	public fun toString ()Ljava/lang/String;
}

public abstract interface annotation class kotlin/coroutines/experimental/RestrictsSuspension : java/lang/annotation/Annotation {
}

public final class kotlin/coroutines/experimental/SafeContinuation : kotlin/coroutines/experimental/Continuation {
	public static final field Companion Lkotlin/coroutines/experimental/SafeContinuation$Companion;
	public fun <init> (Lkotlin/coroutines/experimental/Continuation;)V
	public fun getContext ()Lkotlin/coroutines/experimental/CoroutineContext;
	public final fun getResult ()Ljava/lang/Object;
	public fun resume (Ljava/lang/Object;)V
	public fun resumeWithException (Ljava/lang/Throwable;)V
}

public final class kotlin/coroutines/experimental/SafeContinuation$Companion {
}

public abstract class kotlin/coroutines/experimental/SequenceBuilder {
	public abstract fun yield (Ljava/lang/Object;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
	public final fun yieldAll (Ljava/lang/Iterable;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
	public abstract fun yieldAll (Ljava/util/Iterator;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
	public final fun yieldAll (Lkotlin/sequences/Sequence;Lkotlin/coroutines/experimental/Continuation;)Ljava/lang/Object;
}

public final class kotlin/coroutines/experimental/SequenceBuilderKt {
	public static final fun buildIterator (Lkotlin/jvm/functions/Function2;)Ljava/util/Iterator;
	public static final fun buildSequence (Lkotlin/jvm/functions/Function2;)Lkotlin/sequences/Sequence;
}

public final class kotlin/coroutines/experimental/intrinsics/IntrinsicsKt {
	public static final fun createCoroutineUnchecked (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
	public static final fun createCoroutineUnchecked (Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
	public static final fun getCOROUTINE_SUSPENDED ()Ljava/lang/Object;
}

public abstract class kotlin/coroutines/experimental/jvm/internal/CoroutineImpl : kotlin/jvm/internal/Lambda, kotlin/coroutines/experimental/Continuation {
	protected field completion Lkotlin/coroutines/experimental/Continuation;
	protected field label I
	public fun <init> (ILkotlin/coroutines/experimental/Continuation;)V
	public fun create (Ljava/lang/Object;Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
	public fun create (Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
	protected abstract fun doResume (Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
	public fun getContext ()Lkotlin/coroutines/experimental/CoroutineContext;
	public final fun getFacade ()Lkotlin/coroutines/experimental/Continuation;
	public fun resume (Ljava/lang/Object;)V
	public fun resumeWithException (Ljava/lang/Throwable;)V
}

public final class kotlin/coroutines/experimental/jvm/internal/CoroutineIntrinsics {
	public static final fun normalizeContinuation (Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/experimental/Continuation;
}

public final class kotlin/coroutines/experimental/migration/CoroutinesMigrationKt {
	public static final fun toContinuation (Lkotlin/coroutines/experimental/Continuation;)Lkotlin/coroutines/Continuation;
	public static final fun toContinuationInterceptor (Lkotlin/coroutines/experimental/ContinuationInterceptor;)Lkotlin/coroutines/ContinuationInterceptor;
	public static final fun toCoroutineContext (Lkotlin/coroutines/experimental/CoroutineContext;)Lkotlin/coroutines/CoroutineContext;
	public static final fun toExperimentalContinuation (Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/experimental/Continuation;
	public static final fun toExperimentalContinuationInterceptor (Lkotlin/coroutines/ContinuationInterceptor;)Lkotlin/coroutines/experimental/ContinuationInterceptor;
	public static final fun toExperimentalCoroutineContext (Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/experimental/CoroutineContext;
}

