content: /*
   * Decompiled with CFR 0.153-SNAPSHOT (d6f6758-dirty).
   */
  package kotlin.coroutines.jvm.internal;
  
  import kotlin.Metadata;
  import kotlin.SinceKotlin;
  import kotlin.coroutines.Continuation;
  import kotlin.coroutines.ContinuationInterceptor;
  import kotlin.coroutines.CoroutineContext;
  import kotlin.coroutines.jvm.internal.BaseContinuationImpl;
  import kotlin.coroutines.jvm.internal.CompletedContinuation;
  import kotlin.jvm.internal.Intrinsics;
  import org.jetbrains.annotations.NotNull;
  import org.jetbrains.annotations.Nullable;
  
  @Metadata(mv={1, 4, 0}, bv={1, 0, 3}, k=1, d1={"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0010\u0002\n\u0000\b!\u0018\u00002\u00020\u0001B\u0019\b\u0016\u0012\u0010\u0010\u0002\u001a\f\u0012\u0006\u0012\u0004\u0018\u00010\u0004\u0018\u00010\u0003\u00a2\u0006\u0002\u0010\u0005B!\u0012\u0010\u0010\u0002\u001a\f\u0012\u0006\u0012\u0004\u0018\u00010\u0004\u0018\u00010\u0003\u0012\b\u0010\u0006\u001a\u0004\u0018\u00010\u0007\u00a2\u0006\u0002\u0010\bJ\u000e\u0010\f\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u00040\u0003J\b\u0010\r\u001a\u00020\u000eH\u0014R\u0010\u0010\u0006\u001a\u0004\u0018\u00010\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0014\u0010\t\u001a\u00020\u00078VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\b\n\u0010\u000bR\u0018\u0010\f\u001a\f\u0012\u0006\u0012\u0004\u0018\u00010\u0004\u0018\u00010\u0003X\u0082\u000e\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u000f"}, d2={"Lkotlin/coroutines/jvm/internal/ContinuationImpl;", "Lkotlin/coroutines/jvm/internal/BaseContinuationImpl;", "completion", "Lkotlin/coroutines/Continuation;", "", "(Lkotlin/coroutines/Continuation;)V", "_context", "Lkotlin/coroutines/CoroutineContext;", "(Lkotlin/coroutines/Continuation;Lkotlin/coroutines/CoroutineContext;)V", "context", "getContext", "()Lkotlin/coroutines/CoroutineContext;", "intercepted", "releaseIntercepted", "", "kotlin-stdlib"})
  @SinceKotlin(version="1.3")
  public abstract class ContinuationImpl
  extends BaseContinuationImpl {
      private transient Continuation<Object> intercepted;
      private final CoroutineContext _context;
  
      @Override
      @NotNull
      public CoroutineContext getContext() {
          CoroutineContext coroutineContext = this._context;
          Intrinsics.checkNotNull(coroutineContext);
          return coroutineContext;
      }
  
      @NotNull
      public final Continuation<Object> intercepted() {
          Continuation<Object> continuation = this.intercepted;
          if (continuation == null) {
              Object object = (ContinuationInterceptor)this.getContext().get(ContinuationInterceptor.Key);
              if (object == null || (object = object.interceptContinuation(this)) == null) {
                  object = this;
              }
              Continuation continuation2 = object;
              boolean bl = false;
              boolean bl2 = false;
              Continuation it = continuation2;
              boolean bl3 = false;
              this.intercepted = it;
              continuation = continuation2;
          }
          return continuation;
      }
  
      @Override
      protected void releaseIntercepted() {
          Continuation<Object> intercepted = this.intercepted;
          if (intercepted != null && intercepted != this) {
              Object e = this.getContext().get(ContinuationInterceptor.Key);
              Intrinsics.checkNotNull(e);
              ((ContinuationInterceptor)e).releaseInterceptedContinuation(intercepted);
          }
          this.intercepted = CompletedContinuation.INSTANCE;
      }
  
      public ContinuationImpl(@Nullable Continuation<Object> completion, @Nullable CoroutineContext _context) {
          super(completion);
          this._context = _context;
      }
  
      public ContinuationImpl(@Nullable Continuation<Object> completion) {
          Continuation<Object> continuation = completion;
          this(completion, continuation != null ? continuation.getContext() : null);
      }
  }
  
  