public final class io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber<T, K, V> extends io.reactivex.internal.subscriptions.BasicIntQueueSubscription<io.reactivex.flowables.GroupedFlowable<K, V>> implements io.reactivex.FlowableSubscriber<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber
  super_class: io.reactivex.internal.subscriptions.BasicIntQueueSubscription
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -3688291656102519502

  final org.reactivestreams.Subscriber<? super io.reactivex.flowables.GroupedFlowable<K, V>> downstream;
    descriptor: Lorg/reactivestreams/Subscriber;
    flags: (0x0010) ACC_FINAL
    Signature: Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;

  final io.reactivex.functions.Function<? super T, ? extends K> keySelector;
    descriptor: Lio/reactivex/functions/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Function<-TT;+TK;>;

  final io.reactivex.functions.Function<? super T, ? extends V> valueSelector;
    descriptor: Lio/reactivex/functions/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Function<-TT;+TV;>;

  final int bufferSize;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final boolean delayError;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final java.util.Map<java.lang.Object, io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast<K, V>> groups;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;

  final io.reactivex.internal.queue.SpscLinkedArrayQueue<io.reactivex.flowables.GroupedFlowable<K, V>> queue;
    descriptor: Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/internal/queue/SpscLinkedArrayQueue<Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;

  final java.util.Queue<io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast<K, V>> evictedGroups;
    descriptor: Ljava/util/Queue;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;

  static final java.lang.Object NULL_KEY;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  org.reactivestreams.Subscription upstream;
    descriptor: Lorg/reactivestreams/Subscription;
    flags: (0x0000) 

  final java.util.concurrent.atomic.AtomicBoolean cancelled;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.atomic.AtomicLong requested;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.atomic.AtomicInteger groupCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0010) ACC_FINAL

  java.lang.Throwable error;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0000) 

  volatile boolean finished;
    descriptor: Z
    flags: (0x0040) ACC_VOLATILE

  boolean done;
    descriptor: Z
    flags: (0x0000) 

  boolean outputFused;
    descriptor: Z
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 96
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.NULL_KEY:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.reactivestreams.Subscriber<? super io.reactivex.flowables.GroupedFlowable<K, V>>, io.reactivex.functions.Function<? super T, ? extends K>, io.reactivex.functions.Function<? super T, ? extends V>, int, boolean, java.util.Map<java.lang.Object, io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast<K, V>>, java.util.Queue<io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast<K, V>>);
    descriptor: (Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;IZLjava/util/Map;Ljava/util/Queue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=8
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // org.reactivestreams.Subscriber actual
        start local 2 // io.reactivex.functions.Function keySelector
        start local 3 // io.reactivex.functions.Function valueSelector
        start local 4 // int bufferSize
        start local 5 // boolean delayError
        start local 6 // java.util.Map groups
        start local 7 // java.util.Queue evictedGroups
         0: .line 112
            aload 0 /* this */
            invokespecial io.reactivex.internal.subscriptions.BasicIntQueueSubscription.<init>:()V
         1: .line 100
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
         2: .line 102
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.requested:Ljava/util/concurrent/atomic/AtomicLong;
         3: .line 104
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_1
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groupCount:Ljava/util/concurrent/atomic/AtomicInteger;
         4: .line 115
            aload 0 /* this */
            aload 1 /* actual */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.downstream:Lorg/reactivestreams/Subscriber;
         5: .line 116
            aload 0 /* this */
            aload 2 /* keySelector */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.keySelector:Lio/reactivex/functions/Function;
         6: .line 117
            aload 0 /* this */
            aload 3 /* valueSelector */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.valueSelector:Lio/reactivex/functions/Function;
         7: .line 118
            aload 0 /* this */
            iload 4 /* bufferSize */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.bufferSize:I
         8: .line 119
            aload 0 /* this */
            iload 5 /* delayError */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.delayError:Z
         9: .line 120
            aload 0 /* this */
            aload 6 /* groups */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
        10: .line 121
            aload 0 /* this */
            aload 7 /* evictedGroups */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.evictedGroups:Ljava/util/Queue;
        11: .line 122
            aload 0 /* this */
            new io.reactivex.internal.queue.SpscLinkedArrayQueue
            dup
            iload 4 /* bufferSize */
            invokespecial io.reactivex.internal.queue.SpscLinkedArrayQueue.<init>:(I)V
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
        12: .line 123
            return
        end local 7 // java.util.Queue evictedGroups
        end local 6 // java.util.Map groups
        end local 5 // boolean delayError
        end local 4 // int bufferSize
        end local 3 // io.reactivex.functions.Function valueSelector
        end local 2 // io.reactivex.functions.Function keySelector
        end local 1 // org.reactivestreams.Subscriber actual
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0   13     1         actual  Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
            0   13     2    keySelector  Lio/reactivex/functions/Function<-TT;+TK;>;
            0   13     3  valueSelector  Lio/reactivex/functions/Function<-TT;+TV;>;
            0   13     4     bufferSize  I
            0   13     5     delayError  Z
            0   13     6         groups  Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
            0   13     7  evictedGroups  Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
    Signature: (Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;Lio/reactivex/functions/Function<-TT;+TK;>;Lio/reactivex/functions/Function<-TT;+TV;>;IZLjava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;)V
    MethodParameters:
               Name  Flags
      actual         
      keySelector    
      valueSelector  
      bufferSize     
      delayError     
      groups         
      evictedGroups  

  public void onSubscribe(org.reactivestreams.Subscription);
    descriptor: (Lorg/reactivestreams/Subscription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // org.reactivestreams.Subscription s
         0: .line 127
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.upstream:Lorg/reactivestreams/Subscription;
            aload 1 /* s */
            invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.validate:(Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z
            ifeq 4
         1: .line 128
            aload 0 /* this */
            aload 1 /* s */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.upstream:Lorg/reactivestreams/Subscription;
         2: .line 129
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.downstream:Lorg/reactivestreams/Subscriber;
            aload 0 /* this */
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
         3: .line 130
            aload 1 /* s */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.bufferSize:I
            i2l
            invokeinterface org.reactivestreams.Subscription.request:(J)V
         4: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.reactivestreams.Subscription s
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0    5     1     s  Lorg/reactivestreams/Subscription;
    MethodParameters:
      Name  Flags
      s     

  public void onNext();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // java.lang.Object t
         0: .line 136
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.done:Z
            ifeq 2
         1: .line 137
            return
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            astore 2 /* q */
        start local 2 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
         3: .line 144
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.keySelector:Lio/reactivex/functions/Function;
            aload 1 /* t */
            invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         4: .line 145
            goto 10
        end local 3 // java.lang.Object key
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber java.lang.Object io.reactivex.internal.queue.SpscLinkedArrayQueue
      StackMap stack: java.lang.Throwable
         5: astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
         6: .line 146
            aload 4 /* ex */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
         7: .line 147
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.upstream:Lorg/reactivestreams/Subscription;
            invokeinterface org.reactivestreams.Subscription.cancel:()V
         8: .line 148
            aload 0 /* this */
            aload 4 /* ex */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.onError:(Ljava/lang/Throwable;)V
         9: .line 149
            return
        end local 4 // java.lang.Throwable ex
        start local 3 // java.lang.Object key
        10: .line 152
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_0
            istore 4 /* newGroup */
        start local 4 // boolean newGroup
        11: .line 153
            aload 3 /* key */
            ifnull 12
            aload 3 /* key */
            goto 13
      StackMap locals: int
      StackMap stack:
        12: getstatic io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.NULL_KEY:Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        13: astore 5 /* mapKey */
        start local 5 // java.lang.Object mapKey
        14: .line 154
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
            aload 5 /* mapKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast
            astore 6 /* group */
        start local 6 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast group
        15: .line 155
            aload 6 /* group */
            ifnonnull 22
        16: .line 158
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 18
        17: .line 159
            return
        18: .line 162
      StackMap locals: java.lang.Object io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast
      StackMap stack:
            aload 3 /* key */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.bufferSize:I
            aload 0 /* this */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.delayError:Z
            invokestatic io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast.createWith:(Ljava/lang/Object;ILio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber;Z)Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast;
            astore 6 /* group */
        19: .line 163
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
            aload 5 /* mapKey */
            aload 6 /* group */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 165
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groupCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            pop
        21: .line 167
            iconst_1
            istore 4 /* newGroup */
        22: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.valueSelector:Lio/reactivex/functions/Function;
            aload 1 /* t */
            invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            ldc "The valueSelector returned null"
            invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 7 /* v */
        start local 7 // java.lang.Object v
        23: .line 173
            goto 29
        end local 7 // java.lang.Object v
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        25: .line 174
            aload 8 /* ex */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
        26: .line 175
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.upstream:Lorg/reactivestreams/Subscription;
            invokeinterface org.reactivestreams.Subscription.cancel:()V
        27: .line 176
            aload 0 /* this */
            aload 8 /* ex */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.onError:(Ljava/lang/Throwable;)V
        28: .line 177
            return
        end local 8 // java.lang.Throwable ex
        start local 7 // java.lang.Object v
        29: .line 180
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* group */
            aload 7 /* v */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast.onNext:(Ljava/lang/Object;)V
        30: .line 182
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.completeEvictions:()V
        31: .line 184
            iload 4 /* newGroup */
            ifeq 34
        32: .line 185
            aload 2 /* q */
            aload 6 /* group */
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.offer:(Ljava/lang/Object;)Z
            pop
        33: .line 186
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.drain:()V
        34: .line 188
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.Object v
        end local 6 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast group
        end local 5 // java.lang.Object mapKey
        end local 4 // boolean newGroup
        end local 3 // java.lang.Object key
        end local 2 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
        end local 1 // java.lang.Object t
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   35     0      this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0   35     1         t  TT;
            3   35     2         q  Lio/reactivex/internal/queue/SpscLinkedArrayQueue<Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
            4    5     3       key  TK;
           10   35     3       key  TK;
            6   10     4        ex  Ljava/lang/Throwable;
           11   35     4  newGroup  Z
           14   35     5    mapKey  Ljava/lang/Object;
           15   35     6     group  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;
           23   24     7         v  TV;
           29   35     7         v  TV;
           25   29     8        ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
          22    23      24  Class java.lang.Throwable
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      t     

  public void onError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // java.lang.Throwable t
         0: .line 192
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.done:Z
            ifeq 3
         1: .line 193
            aload 1 /* t */
            invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
         2: .line 194
            return
         3: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.done:Z
         4: .line 197
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber java.lang.Throwable top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast
            astore 2 /* g */
        start local 2 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast g
         6: .line 198
            aload 2 /* g */
            aload 1 /* t */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast.onError:(Ljava/lang/Throwable;)V
        end local 2 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast g
         7: .line 197
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 200
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         9: .line 201
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.evictedGroups:Ljava/util/Queue;
            ifnull 11
        10: .line 202
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.evictedGroups:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
        11: .line 204
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.error:Ljava/lang/Throwable;
        12: .line 205
            aload 0 /* this */
            iconst_1
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.finished:Z
        13: .line 206
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.drain:()V
        14: .line 207
            return
        end local 1 // java.lang.Throwable t
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0   15     1     t  Ljava/lang/Throwable;
            6    7     2     g  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;
    MethodParameters:
      Name  Flags
      t     

  public void onComplete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 211
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.done:Z
            ifne 11
         1: .line 212
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast
            astore 1 /* g */
        start local 1 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast g
         3: .line 213
            aload 1 /* g */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast.onComplete:()V
        end local 1 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast g
         4: .line 212
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 215
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         6: .line 216
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.evictedGroups:Ljava/util/Queue;
            ifnull 8
         7: .line 217
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.evictedGroups:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
         8: .line 219
      StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.done:Z
         9: .line 220
            aload 0 /* this */
            iconst_1
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.finished:Z
        10: .line 221
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.drain:()V
        11: .line 223
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            3    4     1     g  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;

  public void request(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // long n
         0: .line 227
            lload 1 /* n */
            invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.validate:(J)Z
            ifeq 3
         1: .line 228
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.requested:Ljava/util/concurrent/atomic/AtomicLong;
            lload 1 /* n */
            invokestatic io.reactivex.internal.util.BackpressureHelper.add:(Ljava/util/concurrent/atomic/AtomicLong;J)J
            pop2
         2: .line 229
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.drain:()V
         3: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long n
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0    4     1     n  J
    MethodParameters:
      Name  Flags
      n     

  public void cancel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 237
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifeq 4
         1: .line 238
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.completeEvictions:()V
         2: .line 239
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groupCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            ifne 4
         3: .line 240
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.upstream:Lorg/reactivestreams/Subscription;
            invokeinterface org.reactivestreams.Subscription.cancel:()V
         4: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;

  private void completeEvictions();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 246
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.evictedGroups:Ljava/util/Queue;
            ifnull 9
         1: .line 247
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         2: .line 249
            goto 5
        start local 2 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast evictedGroup
         3: .line 250
      StackMap locals: int io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast
      StackMap stack:
            aload 2 /* evictedGroup */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast.onComplete:()V
         4: .line 251
            iinc 1 /* count */ 1
        end local 2 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast evictedGroup
         5: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.evictedGroups:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast
            dup
            astore 2 /* evictedGroup */
        start local 2 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast evictedGroup
         6: ifnonnull 3
         7: .line 253
            iload 1 /* count */
            ifeq 9
         8: .line 254
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groupCount:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* count */
            ineg
            invokevirtual java.util.concurrent.atomic.AtomicInteger.addAndGet:(I)I
            pop
        end local 2 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast evictedGroup
        end local 1 // int count
         9: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            2    9     1         count  I
            3    5     2  evictedGroup  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;
            6    9     2  evictedGroup  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;

  public void cancel();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // java.lang.Object key
         0: .line 260
            aload 1 /* key */
            ifnull 1
            aload 1 /* key */
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.NULL_KEY:Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         2: astore 2 /* mapKey */
        start local 2 // java.lang.Object mapKey
         3: .line 261
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groups:Ljava/util/Map;
            aload 2 /* mapKey */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 262
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.groupCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            ifne 8
         5: .line 263
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.upstream:Lorg/reactivestreams/Subscription;
            invokeinterface org.reactivestreams.Subscription.cancel:()V
         6: .line 265
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.getAndIncrement:()I
            ifne 8
         7: .line 266
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
         8: .line 269
      StackMap locals: java.lang.Object
      StackMap stack:
            return
        end local 2 // java.lang.Object mapKey
        end local 1 // java.lang.Object key
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0    9     1     key  TK;
            3    9     2  mapKey  Ljava/lang/Object;
    Signature: (TK;)V
    MethodParameters:
      Name  Flags
      key   

  void drain();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 272
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.getAndIncrement:()I
            ifeq 2
         1: .line 273
            return
         2: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.outputFused:Z
            ifeq 5
         3: .line 277
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.drainFused:()V
         4: .line 278
            goto 6
         5: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.drainNormal:()V
         6: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;

  void drainFused();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 284
            iconst_1
            istore 1 /* missed */
        start local 1 // int missed
         1: .line 286
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            astore 2 /* q */
        start local 2 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
         2: .line 287
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.downstream:Lorg/reactivestreams/Subscriber;
            astore 3 /* a */
        start local 3 // org.reactivestreams.Subscriber a
         3: .line 290
      StackMap locals: int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 6
         4: .line 291
            aload 2 /* q */
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
         5: .line 292
            return
         6: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.finished:Z
            istore 4 /* d */
        start local 4 // boolean d
         7: .line 297
            iload 4 /* d */
            ifeq 13
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.delayError:Z
            ifne 13
         8: .line 298
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.error:Ljava/lang/Throwable;
            astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
         9: .line 299
            aload 5 /* ex */
            ifnull 13
        10: .line 300
            aload 2 /* q */
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
        11: .line 301
            aload 3 /* a */
            aload 5 /* ex */
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
        12: .line 302
            return
        end local 5 // java.lang.Throwable ex
        13: .line 306
      StackMap locals: int
      StackMap stack:
            aload 3 /* a */
            aconst_null
            invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
        14: .line 308
            iload 4 /* d */
            ifeq 21
        15: .line 309
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.error:Ljava/lang/Throwable;
            astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        16: .line 310
            aload 5 /* ex */
            ifnull 19
        17: .line 311
            aload 3 /* a */
            aload 5 /* ex */
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
        18: .line 312
            goto 20
        19: .line 313
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* a */
            invokeinterface org.reactivestreams.Subscriber.onComplete:()V
        20: .line 315
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Throwable ex
        21: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* missed */
            ineg
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.addAndGet:(I)I
            istore 1 /* missed */
        22: .line 319
            iload 1 /* missed */
            ifne 3
        23: .line 320
            return
        end local 4 // boolean d
        end local 3 // org.reactivestreams.Subscriber a
        end local 2 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
        end local 1 // int missed
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            1   24     1  missed  I
            2   24     2       q  Lio/reactivex/internal/queue/SpscLinkedArrayQueue<Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
            3   24     3       a  Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
            7   24     4       d  Z
            9   13     5      ex  Ljava/lang/Throwable;
           16   21     5      ex  Ljava/lang/Throwable;

  void drainNormal();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 326
            iconst_1
            istore 1 /* missed */
        start local 1 // int missed
         1: .line 328
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            astore 2 /* q */
        start local 2 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
         2: .line 329
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.downstream:Lorg/reactivestreams/Subscriber;
            astore 3 /* a */
        start local 3 // org.reactivestreams.Subscriber a
         3: .line 333
      StackMap locals: int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.requested:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lstore 4 /* r */
        start local 4 // long r
         4: .line 334
            lconst_0
            lstore 6 /* e */
        start local 6 // long e
         5: .line 336
            goto 17
         6: .line 337
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.finished:Z
            istore 8 /* d */
        start local 8 // boolean d
         7: .line 339
            aload 2 /* q */
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.poll:()Ljava/lang/Object;
            checkcast io.reactivex.flowables.GroupedFlowable
            astore 9 /* t */
        start local 9 // io.reactivex.flowables.GroupedFlowable t
         8: .line 341
            aload 9 /* t */
            ifnonnull 9
            iconst_1
            goto 10
      StackMap locals: int io.reactivex.flowables.GroupedFlowable
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 10 /* empty */
        start local 10 // boolean empty
        11: .line 343
            aload 0 /* this */
            iload 8 /* d */
            iload 10 /* empty */
            aload 3 /* a */
            aload 2 /* q */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.checkTerminated:(ZZLorg/reactivestreams/Subscriber;Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)Z
            ifeq 13
        12: .line 344
            return
        13: .line 347
      StackMap locals: int
      StackMap stack:
            iload 10 /* empty */
            ifeq 15
        14: .line 348
            goto 18
        15: .line 351
      StackMap locals:
      StackMap stack:
            aload 3 /* a */
            aload 9 /* t */
            invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
        16: .line 353
            lload 6 /* e */
            lconst_1
            ladd
            lstore 6 /* e */
        end local 10 // boolean empty
        end local 9 // io.reactivex.flowables.GroupedFlowable t
        end local 8 // boolean d
        17: .line 336
      StackMap locals:
      StackMap stack:
            lload 6 /* e */
            lload 4 /* r */
            lcmp
            ifne 6
        18: .line 356
      StackMap locals:
      StackMap stack:
            lload 6 /* e */
            lload 4 /* r */
            lcmp
            ifne 20
            aload 0 /* this */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.finished:Z
            aload 2 /* q */
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.isEmpty:()Z
            aload 3 /* a */
            aload 2 /* q */
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.checkTerminated:(ZZLorg/reactivestreams/Subscriber;Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)Z
            ifeq 20
        19: .line 357
            return
        20: .line 360
      StackMap locals:
      StackMap stack:
            lload 6 /* e */
            lconst_0
            lcmp
            ifeq 24
        21: .line 361
            lload 4 /* r */
            ldc 9223372036854775807
            lcmp
            ifeq 23
        22: .line 362
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.requested:Ljava/util/concurrent/atomic/AtomicLong;
            lload 6 /* e */
            lneg
            invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
            pop2
        23: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.upstream:Lorg/reactivestreams/Subscription;
            lload 6 /* e */
            invokeinterface org.reactivestreams.Subscription.request:(J)V
        24: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* missed */
            ineg
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.addAndGet:(I)I
            istore 1 /* missed */
        25: .line 368
            iload 1 /* missed */
            ifne 3
        end local 6 // long e
        end local 4 // long r
        26: .line 372
            return
        end local 3 // org.reactivestreams.Subscriber a
        end local 2 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
        end local 1 // int missed
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            1   27     1  missed  I
            2   27     2       q  Lio/reactivex/internal/queue/SpscLinkedArrayQueue<Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
            3   27     3       a  Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
            4   26     4       r  J
            5   26     6       e  J
            7   17     8       d  Z
            8   17     9       t  Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;
           11   17    10   empty  Z

  boolean checkTerminated(boolean, boolean, org.reactivestreams.Subscriber<?>, io.reactivex.internal.queue.SpscLinkedArrayQueue<?>);
    descriptor: (ZZLorg/reactivestreams/Subscriber;Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // boolean d
        start local 2 // boolean empty
        start local 3 // org.reactivestreams.Subscriber a
        start local 4 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
         0: .line 375
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.cancelled:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 3
         1: .line 376
            aload 4 /* q */
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
         2: .line 377
            iconst_1
            ireturn
         3: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.delayError:Z
            ifeq 11
         4: .line 381
            iload 1 /* d */
            ifeq 20
            iload 2 /* empty */
            ifeq 20
         5: .line 382
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.error:Ljava/lang/Throwable;
            astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
         6: .line 383
            aload 5 /* ex */
            ifnull 9
         7: .line 384
            aload 3 /* a */
            aload 5 /* ex */
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
         8: .line 385
            goto 10
         9: .line 386
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* a */
            invokeinterface org.reactivestreams.Subscriber.onComplete:()V
        10: .line 388
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // java.lang.Throwable ex
        11: .line 391
      StackMap locals:
      StackMap stack:
            iload 1 /* d */
            ifeq 20
        12: .line 392
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.error:Ljava/lang/Throwable;
            astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        13: .line 393
            aload 5 /* ex */
            ifnull 17
        14: .line 394
            aload 4 /* q */
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
        15: .line 395
            aload 3 /* a */
            aload 5 /* ex */
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
        16: .line 396
            iconst_1
            ireturn
        17: .line 397
      StackMap locals: java.lang.Throwable
      StackMap stack:
            iload 2 /* empty */
            ifeq 20
        18: .line 398
            aload 3 /* a */
            invokeinterface org.reactivestreams.Subscriber.onComplete:()V
        19: .line 399
            iconst_1
            ireturn
        end local 5 // java.lang.Throwable ex
        20: .line 404
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // io.reactivex.internal.queue.SpscLinkedArrayQueue q
        end local 3 // org.reactivestreams.Subscriber a
        end local 2 // boolean empty
        end local 1 // boolean d
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0   21     1      d  Z
            0   21     2  empty  Z
            0   21     3      a  Lorg/reactivestreams/Subscriber<*>;
            0   21     4      q  Lio/reactivex/internal/queue/SpscLinkedArrayQueue<*>;
            6   11     5     ex  Ljava/lang/Throwable;
           13   20     5     ex  Ljava/lang/Throwable;
    Signature: (ZZLorg/reactivestreams/Subscriber<*>;Lio/reactivex/internal/queue/SpscLinkedArrayQueue<*>;)Z
    MethodParameters:
       Name  Flags
      d      
      empty  
      a      
      q      

  public int requestFusion(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
        start local 1 // int mode
         0: .line 409
            iload 1 /* mode */
            iconst_2
            iand
            ifeq 3
         1: .line 410
            aload 0 /* this */
            iconst_1
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.outputFused:Z
         2: .line 411
            iconst_2
            ireturn
         3: .line 413
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int mode
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
            0    4     1  mode  I
    MethodParameters:
      Name  Flags
      mode  

  public io.reactivex.flowables.GroupedFlowable<K, V> poll();
    descriptor: ()Lio/reactivex/flowables/GroupedFlowable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 419
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.poll:()Ljava/lang/Object;
            checkcast io.reactivex.flowables.GroupedFlowable
            areturn
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
    Signature: ()Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;
    RuntimeInvisibleAnnotations: 
      io.reactivex.annotations.Nullable()

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 424
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
         1: .line 425
            return
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
         0: .line 429
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
            invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.isEmpty:()Z
            ireturn
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;

  public java.lang.Object poll();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.poll:()Lio/reactivex/flowables/GroupedFlowable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
}
Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;V:Ljava/lang/Object;>Lio/reactivex/internal/subscriptions/BasicIntQueueSubscription<Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;Lio/reactivex/FlowableSubscriber<TT;>;
SourceFile: "FlowableGroupBy.java"
NestHost: io.reactivex.internal.operators.flowable.FlowableGroupBy
InnerClasses:
  public final GroupBySubscriber = io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber of io.reactivex.internal.operators.flowable.FlowableGroupBy
  final GroupedUnicast = io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast of io.reactivex.internal.operators.flowable.FlowableGroupBy