final class io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver<T> extends java.util.concurrent.atomic.AtomicReference<io.reactivex.disposables.Disposable> implements io.reactivex.SingleObserver<T>, java.lang.Runnable, io.reactivex.disposables.Disposable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver
  super_class: java.util.concurrent.atomic.AtomicReference
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 37497744973048446

  final io.reactivex.SingleObserver<? super T> downstream;
    descriptor: Lio/reactivex/SingleObserver;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/SingleObserver<-TT;>;

  final java.util.concurrent.atomic.AtomicReference<io.reactivex.disposables.Disposable> task;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/disposables/Disposable;>;

  final io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver<T> fallback;
    descriptor: Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver<TT;>;

  io.reactivex.SingleSource<? extends T> other;
    descriptor: Lio/reactivex/SingleSource;
    flags: (0x0000) 
    Signature: Lio/reactivex/SingleSource<+TT;>;

  final long timeout;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.TimeUnit unit;
    descriptor: Ljava/util/concurrent/TimeUnit;
    flags: (0x0010) ACC_FINAL

  void <init>(io.reactivex.SingleObserver<? super T>, io.reactivex.SingleSource<? extends T>, long, java.util.concurrent.TimeUnit);
    descriptor: (Lio/reactivex/SingleObserver;Lio/reactivex/SingleSource;JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
        start local 1 // io.reactivex.SingleObserver actual
        start local 2 // io.reactivex.SingleSource other
        start local 3 // long timeout
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 101
            aload 0 /* this */
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
         1: .line 102
            aload 0 /* this */
            aload 1 /* actual */
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.downstream:Lio/reactivex/SingleObserver;
         2: .line 103
            aload 0 /* this */
            aload 2 /* other */
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.other:Lio/reactivex/SingleSource;
         3: .line 104
            aload 0 /* this */
            lload 3 /* timeout */
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.timeout:J
         4: .line 105
            aload 0 /* this */
            aload 5 /* unit */
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.unit:Ljava/util/concurrent/TimeUnit;
         5: .line 106
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.task:Ljava/util/concurrent/atomic/AtomicReference;
         6: .line 107
            aload 2 /* other */
            ifnull 9
         7: .line 108
            aload 0 /* this */
            new io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver
            dup
            aload 1 /* actual */
            invokespecial io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver.<init>:(Lio/reactivex/SingleObserver;)V
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.fallback:Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver;
         8: .line 109
            goto 10
         9: .line 110
      StackMap locals: io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver io.reactivex.SingleObserver io.reactivex.SingleSource long java.util.concurrent.TimeUnit
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.fallback:Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver;
        10: .line 112
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long timeout
        end local 2 // io.reactivex.SingleSource other
        end local 1 // io.reactivex.SingleObserver actual
        end local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver<TT;>;
            0   11     1   actual  Lio/reactivex/SingleObserver<-TT;>;
            0   11     2    other  Lio/reactivex/SingleSource<+TT;>;
            0   11     3  timeout  J
            0   11     5     unit  Ljava/util/concurrent/TimeUnit;
    Signature: (Lio/reactivex/SingleObserver<-TT;>;Lio/reactivex/SingleSource<+TT;>;JLjava/util/concurrent/TimeUnit;)V
    MethodParameters:
         Name  Flags
      actual   
      other    
      timeout  
      unit     

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
         0: .line 116
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.get:()Ljava/lang/Object;
            checkcast io.reactivex.disposables.Disposable
            astore 1 /* d */
        start local 1 // io.reactivex.disposables.Disposable d
         1: .line 117
            aload 1 /* d */
            getstatic io.reactivex.internal.disposables.DisposableHelper.DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
            if_acmpeq 10
            aload 0 /* this */
            aload 1 /* d */
            getstatic io.reactivex.internal.disposables.DisposableHelper.DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
            invokevirtual io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         2: .line 118
            aload 1 /* d */
            ifnull 4
         3: .line 119
            aload 1 /* d */
            invokeinterface io.reactivex.disposables.Disposable.dispose:()V
         4: .line 121
      StackMap locals: io.reactivex.disposables.Disposable
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.other:Lio/reactivex/SingleSource;
            astore 2 /* other */
        start local 2 // io.reactivex.SingleSource other
         5: .line 122
            aload 2 /* other */
            ifnonnull 8
         6: .line 123
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.downstream:Lio/reactivex/SingleObserver;
            new java.util.concurrent.TimeoutException
            dup
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.timeout:J
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.unit:Ljava/util/concurrent/TimeUnit;
            invokestatic io.reactivex.internal.util.ExceptionHelper.timeoutMessage:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/String;
            invokespecial java.util.concurrent.TimeoutException.<init>:(Ljava/lang/String;)V
            invokeinterface io.reactivex.SingleObserver.onError:(Ljava/lang/Throwable;)V
         7: .line 124
            goto 10
         8: .line 125
      StackMap locals: io.reactivex.SingleSource
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.other:Lio/reactivex/SingleSource;
         9: .line 126
            aload 2 /* other */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.fallback:Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver;
            invokeinterface io.reactivex.SingleSource.subscribe:(Lio/reactivex/SingleObserver;)V
        end local 2 // io.reactivex.SingleSource other
        10: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.reactivex.disposables.Disposable d
        end local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver<TT;>;
            1   11     1      d  Lio/reactivex/disposables/Disposable;
            5   10     2  other  Lio/reactivex/SingleSource<+TT;>;

  public void onSubscribe(io.reactivex.disposables.Disposable);
    descriptor: (Lio/reactivex/disposables/Disposable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
        start local 1 // io.reactivex.disposables.Disposable d
         0: .line 133
            aload 0 /* this */
            aload 1 /* d */
            invokestatic io.reactivex.internal.disposables.DisposableHelper.setOnce:(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/disposables/Disposable;)Z
            pop
         1: .line 134
            return
        end local 1 // io.reactivex.disposables.Disposable d
        end local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver<TT;>;
            0    2     1     d  Lio/reactivex/disposables/Disposable;
    MethodParameters:
      Name  Flags
      d     

  public void onSuccess();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
        start local 1 // java.lang.Object t
         0: .line 138
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.get:()Ljava/lang/Object;
            checkcast io.reactivex.disposables.Disposable
            astore 2 /* d */
        start local 2 // io.reactivex.disposables.Disposable d
         1: .line 139
            aload 2 /* d */
            getstatic io.reactivex.internal.disposables.DisposableHelper.DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
            if_acmpeq 4
            aload 0 /* this */
            aload 2 /* d */
            getstatic io.reactivex.internal.disposables.DisposableHelper.DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
            invokevirtual io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 4
         2: .line 140
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.task:Ljava/util/concurrent/atomic/AtomicReference;
            invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
            pop
         3: .line 141
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.downstream:Lio/reactivex/SingleObserver;
            aload 1 /* t */
            invokeinterface io.reactivex.SingleObserver.onSuccess:(Ljava/lang/Object;)V
         4: .line 143
      StackMap locals: io.reactivex.disposables.Disposable
      StackMap stack:
            return
        end local 2 // io.reactivex.disposables.Disposable d
        end local 1 // java.lang.Object t
        end local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver<TT;>;
            0    5     1     t  TT;
            1    5     2     d  Lio/reactivex/disposables/Disposable;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      t     

  public void onError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
        start local 1 // java.lang.Throwable e
         0: .line 147
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.get:()Ljava/lang/Object;
            checkcast io.reactivex.disposables.Disposable
            astore 2 /* d */
        start local 2 // io.reactivex.disposables.Disposable d
         1: .line 148
            aload 2 /* d */
            getstatic io.reactivex.internal.disposables.DisposableHelper.DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
            if_acmpeq 5
            aload 0 /* this */
            aload 2 /* d */
            getstatic io.reactivex.internal.disposables.DisposableHelper.DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper;
            invokevirtual io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 5
         2: .line 149
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.task:Ljava/util/concurrent/atomic/AtomicReference;
            invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
            pop
         3: .line 150
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.downstream:Lio/reactivex/SingleObserver;
            aload 1 /* e */
            invokeinterface io.reactivex.SingleObserver.onError:(Ljava/lang/Throwable;)V
         4: .line 151
            goto 6
         5: .line 152
      StackMap locals: io.reactivex.disposables.Disposable
      StackMap stack:
            aload 1 /* e */
            invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
         6: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.reactivex.disposables.Disposable d
        end local 1 // java.lang.Throwable e
        end local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver<TT;>;
            0    7     1     e  Ljava/lang/Throwable;
            1    7     2     d  Lio/reactivex/disposables/Disposable;
    MethodParameters:
      Name  Flags
      e     

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
         0: .line 158
            aload 0 /* this */
            invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
            pop
         1: .line 159
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.task:Ljava/util/concurrent/atomic/AtomicReference;
            invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
            pop
         2: .line 160
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.fallback:Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver;
            ifnull 4
         3: .line 161
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.fallback:Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver;
            invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
            pop
         4: .line 163
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver<TT;>;

  public boolean isDisposed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
         0: .line 167
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver.get:()Ljava/lang/Object;
            checkcast io.reactivex.disposables.Disposable
            invokestatic io.reactivex.internal.disposables.DisposableHelper.isDisposed:(Lio/reactivex/disposables/Disposable;)Z
            ireturn
        end local 0 // io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/single/SingleTimeout$TimeoutMainObserver<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/disposables/Disposable;>;Lio/reactivex/SingleObserver<TT;>;Ljava/lang/Runnable;Lio/reactivex/disposables/Disposable;
SourceFile: "SingleTimeout.java"
NestHost: io.reactivex.internal.operators.single.SingleTimeout
InnerClasses:
  final TimeoutMainObserver = io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver of io.reactivex.internal.operators.single.SingleTimeout
  final TimeoutFallbackObserver = io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver$TimeoutFallbackObserver of io.reactivex.internal.operators.single.SingleTimeout$TimeoutMainObserver