class sun.nio.cs.ext.ISO2022_CN$Decoder extends java.nio.charset.CharsetDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.cs.ext.ISO2022_CN$Decoder
  super_class: java.nio.charset.CharsetDecoder
{
  private boolean shiftOut;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte currentSODesig;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private static final sun.nio.cs.DoubleByte$Decoder GB2312;
    descriptor: Lsun/nio/cs/DoubleByte$Decoder;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 89
            new sun.nio.cs.EUC_CN
            dup
            invokespecial sun.nio.cs.EUC_CN.<init>:()V
            invokevirtual sun.nio.cs.EUC_CN.newDecoder:()Ljava/nio/charset/CharsetDecoder;
            checkcast sun.nio.cs.DoubleByte$Decoder
         1: .line 88
            putstatic sun.nio.cs.ext.ISO2022_CN$Decoder.GB2312:Lsun/nio/cs/DoubleByte$Decoder;
         2: .line 89
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.charset.Charset cs
         0: .line 92
            aload 0 /* this */
            aload 1 /* cs */
            fconst_1
            fconst_1
            invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         2: .line 94
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         3: .line 95
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0    4     1    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      cs    

  protected void implReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
         0: .line 98
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
         1: .line 99
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         2: .line 100
            return
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;

  private char cnsDecode(byte, byte, byte);
    descriptor: (BBB)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // byte byte1
        start local 2 // byte byte2
        start local 3 // byte SS
         0: .line 103
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 104
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 106
            iload 3 /* SS */
            bipush 78
            if_icmpne 5
         3: .line 107
            iconst_1
            istore 4 /* p */
        start local 4 // int p
         4: goto 9
        end local 4 // int p
         5: .line 108
      StackMap locals:
      StackMap stack:
            iload 3 /* SS */
            bipush 79
            if_icmpne 8
         6: .line 109
            iconst_2
            istore 4 /* p */
        start local 4 // int p
         7: goto 9
        end local 4 // int p
         8: .line 111
      StackMap locals:
      StackMap stack:
            ldc 65533
            ireturn
        start local 4 // int p
         9: .line 112
      StackMap locals: int
      StackMap stack:
            iload 1 /* byte1 */
            sipush 255
            iand
        10: .line 113
            iload 2 /* byte2 */
            sipush 255
            iand
        11: .line 114
            iload 4 /* p */
        12: .line 115
            ldc 65533
        13: .line 112
            invokestatic sun.nio.cs.EUC_TW$Decoder.decodeSingleOrReplace:(IIIC)C
            ireturn
        end local 4 // int p
        end local 3 // byte SS
        end local 2 // byte byte2
        end local 1 // byte byte1
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0   14     1  byte1  B
            0   14     2  byte2  B
            0   14     3     SS  B
            4    5     4      p  I
            7    8     4      p  I
            9   14     4      p  I
    MethodParameters:
       Name  Flags
      byte1  
      byte2  
      SS     

  private char SODecode(byte, byte, byte);
    descriptor: (BBB)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // byte byte1
        start local 2 // byte byte2
        start local 3 // byte SOD
         0: .line 119
            iload 1 /* byte1 */
            bipush -128
            ior
            i2b
            istore 1 /* byte1 */
         1: .line 120
            iload 2 /* byte2 */
            bipush -128
            ior
            i2b
            istore 2 /* byte2 */
         2: .line 121
            iload 3 /* SOD */
            ifne 6
         3: .line 122
            getstatic sun.nio.cs.ext.ISO2022_CN$Decoder.GB2312:Lsun/nio/cs/DoubleByte$Decoder;
            iload 1 /* byte1 */
            sipush 255
            iand
         4: .line 123
            iload 2 /* byte2 */
            sipush 255
            iand
         5: .line 122
            invokevirtual sun.nio.cs.DoubleByte$Decoder.decodeDouble:(II)C
            ireturn
         6: .line 125
      StackMap locals:
      StackMap stack:
            iload 1 /* byte1 */
            sipush 255
            iand
         7: .line 126
            iload 2 /* byte2 */
            sipush 255
            iand
         8: .line 127
            iconst_0
         9: .line 128
            ldc 65533
        10: .line 125
            invokestatic sun.nio.cs.EUC_TW$Decoder.decodeSingleOrReplace:(IIIC)C
            ireturn
        end local 3 // byte SOD
        end local 2 // byte byte2
        end local 1 // byte byte1
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0   11     1  byte1  B
            0   11     2  byte2  B
            0   11     3    SOD  B
    MethodParameters:
       Name  Flags
      byte1  
      byte2  
      SOD    

  private java.nio.charset.CoderResult decodeBufferLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 135
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 140
            goto 130
         2: .line 141
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b1 */
        start local 4 // byte b1
         3: .line 142
            iconst_1
            istore 8 /* inputSize */
        start local 8 // int inputSize
         4: .line 144
            goto 106
         5: .line 147
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int top top top int
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 94
         6: .line 148
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
         7: .line 150
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 11
         8: .line 151
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
         9: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        10: .line 151
            aload 11
            areturn
        11: .line 153
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
        start local 5 // byte b2
        12: .line 154
            iinc 8 /* inputSize */ 1
        13: .line 156
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 17
        14: .line 157
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        15: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        16: .line 157
            aload 11
            areturn
        17: .line 159
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top int
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 72
        18: .line 160
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 22
        19: .line 161
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        20: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        21: .line 161
            aload 11
            areturn
        22: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        start local 6 // byte b3
        23: .line 164
            iinc 8 /* inputSize */ 1
        24: .line 166
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 28
        25: .line 167
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        26: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        27: .line 167
            aload 11
            areturn
        28: .line 168
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int top int
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 31
        29: .line 169
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        30: .line 170
            goto 99
      StackMap locals:
      StackMap stack:
        31: iload 6 /* b3 */
            bipush 41
            if_icmpne 47
        32: .line 171
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 36
        33: .line 172
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        34: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        35: .line 172
            aload 11
            areturn
        36: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        start local 7 // byte b4
        37: .line 174
            iinc 8 /* inputSize */ 1
        38: .line 175
            iload 7 /* b4 */
            bipush 65
            if_icmpne 41
        39: .line 176
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        40: .line 177
            goto 99
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int
      StackMap stack:
        41: iload 7 /* b4 */
            bipush 71
            if_icmpne 44
        42: .line 178
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        43: .line 179
            goto 99
        44: .line 180
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        45: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        46: .line 180
            aload 11
            areturn
        end local 7 // byte b4
        47: .line 182
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int top int
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 58
        48: .line 183
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 52
        49: .line 184
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        50: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        51: .line 184
            aload 11
            areturn
        52: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        start local 7 // byte b4
        53: .line 186
            iinc 8 /* inputSize */ 1
        54: .line 187
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 99
        55: .line 189
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        56: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        57: .line 189
            aload 11
            areturn
        end local 7 // byte b4
        58: .line 191
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 69
        59: .line 192
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 63
        60: .line 193
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        61: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        62: .line 193
            aload 11
            areturn
        63: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        start local 7 // byte b4
        64: .line 195
            iinc 8 /* inputSize */ 1
        65: .line 196
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 99
        66: .line 198
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        67: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        68: .line 198
            aload 11
            areturn
        end local 7 // byte b4
        69: .line 201
      StackMap locals:
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        70: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        71: .line 201
            aload 11
            areturn
        end local 6 // byte b3
        72: .line 203
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top int
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 73
            iload 5 /* b2 */
            bipush 79
            if_icmpne 91
        73: .line 204
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            if_icmpge 77
        74: .line 205
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        75: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        76: .line 205
            aload 11
            areturn
        77: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 6 /* b3 */
        start local 6 // byte b3
        78: .line 207
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* b4 */
        start local 7 // byte b4
        79: .line 208
            iinc 8 /* inputSize */ 2
        80: .line 209
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 84
        81: .line 210
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
        82: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        83: .line 210
            aload 11
            areturn
        84: .line 212
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* b3 */
            iload 7 /* b4 */
            iload 5 /* b2 */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecode:(BBB)C
            istore 9 /* c */
        start local 9 // char c
        85: .line 213
            iload 9 /* c */
            ldc 65533
            if_icmpne 89
        86: .line 214
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        87: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        88: .line 214
            aload 11
            areturn
        89: .line 215
      StackMap locals: int
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        90: .line 216
            goto 99
        end local 9 // char c
        end local 7 // byte b4
        end local 6 // byte b3
        91: .line 217
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top int
      StackMap stack:
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
        92: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        93: .line 217
            aload 11
            areturn
        end local 5 // byte b2
        94: .line 219
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int top top top int
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 97
        95: .line 220
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
        96: .line 221
            goto 99
      StackMap locals:
      StackMap stack:
        97: iload 4 /* b1 */
            bipush 15
            if_icmpne 99
        98: .line 222
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
        99: .line 224
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       100: .line 225
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 104
       101: .line 226
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       102: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       103: .line 226
            aload 11
            areturn
       104: .line 227
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 4 /* b1 */
       105: .line 228
            iconst_1
            istore 8 /* inputSize */
       106: .line 144
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpeq 5
       107: .line 145
            iload 4 /* b1 */
            bipush 14
            if_icmpeq 5
       108: .line 146
            iload 4 /* b1 */
            bipush 15
            if_icmpeq 5
       109: .line 231
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iconst_1
            if_icmpge 113
       110: .line 232
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       111: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       112: .line 232
            aload 11
            areturn
       113: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 117
       114: .line 235
            aload 2 /* dst */
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       115: .line 236
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
       116: .line 237
            goto 130
       117: .line 238
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 121
       118: .line 239
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       119: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       120: .line 239
            aload 11
            areturn
       121: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 5 /* b2 */
        start local 5 // byte b2
       122: .line 241
            iinc 8 /* inputSize */ 1
       123: .line 242
            aload 0 /* this */
            iload 4 /* b1 */
            iload 5 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode:(BBB)C
            istore 9 /* c */
        start local 9 // char c
       124: .line 243
            iload 9 /* c */
            ldc 65533
            if_icmpne 128
       125: .line 244
            iload 8 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 11
       126: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       127: .line 244
            aload 11
            areturn
       128: .line 245
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top int int
      StackMap stack:
            aload 2 /* dst */
            iload 9 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
       129: .line 246
            iload 3 /* mark */
            iload 8 /* inputSize */
            iadd
            istore 3 /* mark */
        end local 9 // char c
        end local 8 // int inputSize
        end local 5 // byte b2
        end local 4 // byte b1
       130: .line 140
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 2
       131: .line 249
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 11
       132: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       133: .line 249
            aload 11
            areturn
       134: .line 250
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
       135: .line 251
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       136: .line 252
            aload 10
            athrow
        end local 3 // int mark
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  137     0       this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0  137     1        src  Ljava/nio/ByteBuffer;
            0  137     2        dst  Ljava/nio/CharBuffer;
            1  137     3       mark  I
            3  130     4         b1  B
           12   94     5         b2  B
          122  130     5         b2  B
           23   72     6         b3  B
           78   91     6         b3  B
           37   47     7         b4  B
           53   58     7         b4  B
           64   69     7         b4  B
           79   91     7         b4  B
            4  130     8  inputSize  I
           85   91     9          c  C
          124  130     9          c  C
      Exception table:
        from    to  target  type
           1     9     134  any
          11    15     134  any
          17    20     134  any
          22    26     134  any
          28    34     134  any
          36    45     134  any
          47    50     134  any
          52    56     134  any
          58    61     134  any
          63    67     134  any
          69    70     134  any
          72    75     134  any
          77    82     134  any
          84    87     134  any
          89    92     134  any
          94   102     134  any
         104   111     134  any
         113   119     134  any
         121   126     134  any
         128   132     134  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  private java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=17, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 262
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 9 /* sa */
        start local 9 // byte[] sa
         1: .line 263
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 10 /* sp */
        start local 10 // int sp
         2: .line 264
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 11 /* sl */
        start local 11 // int sl
         3: .line 266
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 12 /* da */
        start local 12 // char[] da
         4: .line 267
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 13 /* dp */
        start local 13 // int dp
         5: .line 268
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 14 /* dl */
        start local 14 // int dl
         6: .line 271
            goto 151
         7: .line 272
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer top top top top top top byte[] int int char[] int int
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
        start local 4 // byte b1
         8: .line 273
            iconst_1
            istore 3 /* inputSize */
        start local 3 // int inputSize
         9: .line 275
            goto 127
        10: .line 276
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int top top top top byte[] int int char[] int int
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpne 114
        11: .line 277
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        12: .line 279
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 17
        13: .line 280
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        14: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        15: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        16: .line 280
            aload 16
            areturn
        17: .line 282
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
        start local 5 // byte b2
        18: .line 283
            iinc 3 /* inputSize */ 1
        19: .line 285
            iload 5 /* b2 */
            bipush -128
            iand
            ifeq 24
        20: .line 286
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        21: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        22: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        23: .line 286
            aload 16
            areturn
        24: .line 287
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top top byte[] int int char[] int int
      StackMap stack:
            iload 5 /* b2 */
            bipush 36
            if_icmpne 88
        25: .line 288
            iload 10 /* sp */
            iconst_3
            iadd
            iload 11 /* sl */
            if_icmple 30
        26: .line 289
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        27: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        28: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        29: .line 289
            aload 16
            areturn
        30: .line 291
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
        start local 6 // byte b3
        31: .line 292
            iinc 3 /* inputSize */ 1
        32: .line 294
            iload 6 /* b3 */
            bipush -128
            iand
            ifeq 37
        33: .line 295
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        34: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        35: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        36: .line 295
            aload 16
            areturn
        37: .line 296
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int top top byte[] int int char[] int int
      StackMap stack:
            iload 6 /* b3 */
            bipush 65
            if_icmpne 40
        38: .line 302
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        39: .line 303
            goto 119
      StackMap locals:
      StackMap stack:
        40: iload 6 /* b3 */
            bipush 41
            if_icmpne 58
        41: .line 304
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 46
        42: .line 305
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        43: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        44: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        45: .line 305
            aload 16
            areturn
        46: .line 306
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        start local 7 // byte b4
        47: .line 307
            iinc 3 /* inputSize */ 1
        48: .line 309
            iload 7 /* b4 */
            bipush 65
            if_icmpne 51
        49: .line 310
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        50: .line 311
            goto 119
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int top byte[] int int char[] int int
      StackMap stack:
        51: iload 7 /* b4 */
            bipush 71
            if_icmpne 54
        52: .line 312
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
        53: .line 313
            goto 119
        54: .line 314
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        55: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        56: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        57: .line 314
            aload 16
            areturn
        end local 7 // byte b4
        58: .line 316
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int top top byte[] int int char[] int int
      StackMap stack:
            iload 6 /* b3 */
            bipush 42
            if_icmpne 71
        59: .line 317
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 64
        60: .line 318
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        61: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        62: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        63: .line 318
            aload 16
            areturn
        64: .line 319
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        start local 7 // byte b4
        65: .line 320
            iinc 3 /* inputSize */ 1
        66: .line 321
            iload 7 /* b4 */
            bipush 72
            if_icmpeq 119
        67: .line 322
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        68: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        69: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        70: .line 322
            aload 16
            areturn
        end local 7 // byte b4
        71: .line 324
      StackMap locals:
      StackMap stack:
            iload 6 /* b3 */
            bipush 43
            if_icmpne 84
        72: .line 325
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 77
        73: .line 326
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        74: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        75: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        76: .line 326
            aload 16
            areturn
        77: .line 327
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        start local 7 // byte b4
        78: .line 328
            iinc 3 /* inputSize */ 1
        79: .line 329
            iload 7 /* b4 */
            bipush 73
            if_icmpeq 119
        80: .line 330
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        81: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        82: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        83: .line 330
            aload 16
            areturn
        end local 7 // byte b4
        84: .line 333
      StackMap locals:
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
        85: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        86: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        87: .line 333
            aload 16
            areturn
        end local 6 // byte b3
        88: .line 335
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top top byte[] int int char[] int int
      StackMap stack:
            iload 5 /* b2 */
            bipush 78
            if_icmpeq 89
            iload 5 /* b2 */
            bipush 79
            if_icmpne 110
        89: .line 336
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_4
            iadd
            iload 11 /* sl */
            if_icmple 94
        90: .line 337
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        91: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        92: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        93: .line 337
            aload 16
            areturn
        94: .line 339
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_2
            iadd
            baload
            istore 6 /* b3 */
        start local 6 // byte b3
        95: .line 340
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_3
            iadd
            baload
            istore 7 /* b4 */
        start local 7 // byte b4
        96: .line 341
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 101
        97: .line 342
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
        98: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        99: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       100: .line 342
            aload 16
            areturn
       101: .line 344
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int top byte[] int int char[] int int
      StackMap stack:
            iinc 3 /* inputSize */ 2
       102: .line 345
            aload 0 /* this */
            iload 6 /* b3 */
            iload 7 /* b4 */
            iload 5 /* b2 */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.cnsDecode:(BBB)C
            istore 8 /* c */
        start local 8 // char c
       103: .line 346
            iload 8 /* c */
            ldc 65533
            if_icmpne 108
       104: .line 347
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       105: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       106: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       107: .line 347
            aload 16
            areturn
       108: .line 348
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int byte[] int int char[] int int
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
       109: .line 349
            goto 119
        end local 8 // char c
        end local 7 // byte b4
        end local 6 // byte b3
       110: .line 350
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top top byte[] int int char[] int int
      StackMap stack:
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       111: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       112: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       113: .line 350
            aload 16
            areturn
        end local 5 // byte b2
       114: .line 352
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int top top top top byte[] int int char[] int int
      StackMap stack:
            iload 4 /* b1 */
            bipush 14
            if_icmpne 117
       115: .line 353
            aload 0 /* this */
            iconst_1
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       116: .line 354
            goto 119
      StackMap locals:
      StackMap stack:
       117: iload 4 /* b1 */
            bipush 15
            if_icmpne 119
       118: .line 355
            aload 0 /* this */
            iconst_0
            putfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
       119: .line 357
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
       120: .line 358
            iload 10 /* sp */
            iconst_1
            iadd
            iload 11 /* sl */
            if_icmple 125
       121: .line 359
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       122: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       123: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       124: .line 359
            aload 16
            areturn
       125: .line 360
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            baload
            istore 4 /* b1 */
       126: .line 361
            iconst_1
            istore 3 /* inputSize */
       127: .line 275
      StackMap locals:
      StackMap stack:
            iload 4 /* b1 */
            bipush 27
            if_icmpeq 10
            iload 4 /* b1 */
            bipush 14
            if_icmpeq 10
            iload 4 /* b1 */
            bipush 15
            if_icmpeq 10
       128: .line 364
            iload 14 /* dl */
            iload 13 /* dp */
            isub
            iconst_1
            if_icmpge 133
       129: .line 365
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       130: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       131: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       132: .line 365
            aload 16
            areturn
       133: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.shiftOut:Z
            ifne 136
       134: .line 369
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 4 /* b1 */
            sipush 255
            iand
            i2c
            castore
       135: .line 370
            goto 150
       136: .line 371
      StackMap locals:
      StackMap stack:
            iload 10 /* sp */
            iconst_2
            iadd
            iload 11 /* sl */
            if_icmple 141
       137: .line 372
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       138: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       139: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       140: .line 372
            aload 16
            areturn
       141: .line 373
      StackMap locals:
      StackMap stack:
            aload 9 /* sa */
            iload 10 /* sp */
            iconst_1
            iadd
            baload
            istore 5 /* b2 */
        start local 5 // byte b2
       142: .line 374
            iinc 3 /* inputSize */ 1
       143: .line 375
            aload 0 /* this */
            iload 4 /* b1 */
            iload 5 /* b2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.ISO2022_CN$Decoder.currentSODesig:B
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.SODecode:(BBB)C
            istore 8 /* c */
        start local 8 // char c
       144: .line 376
            iload 8 /* c */
            ldc 65533
            if_icmpne 149
       145: .line 377
            iload 3 /* inputSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 16
       146: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       147: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       148: .line 377
            aload 16
            areturn
       149: .line 378
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int top top int byte[] int int char[] int int
      StackMap stack:
            aload 12 /* da */
            iload 13 /* dp */
            iinc 13 /* dp */ 1
            iload 8 /* c */
            castore
        end local 8 // char c
        end local 5 // byte b2
       150: .line 380
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int top top top top byte[] int int char[] int int
      StackMap stack:
            iload 10 /* sp */
            iload 3 /* inputSize */
            iadd
            istore 10 /* sp */
        end local 4 // byte b1
        end local 3 // int inputSize
       151: .line 271
      StackMap locals: sun.nio.cs.ext.ISO2022_CN$Decoder java.nio.ByteBuffer java.nio.CharBuffer top top top top top top byte[] int int char[] int int
      StackMap stack:
            iload 10 /* sp */
            iload 11 /* sl */
            if_icmplt 7
       152: .line 382
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 16
       153: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       154: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       155: .line 382
            aload 16
            areturn
       156: .line 383
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
       157: .line 384
            aload 1 /* src */
            iload 10 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       158: .line 385
            aload 2 /* dst */
            iload 13 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
       159: .line 386
            aload 15
            athrow
        end local 14 // int dl
        end local 13 // int dp
        end local 12 // char[] da
        end local 11 // int sl
        end local 10 // int sp
        end local 9 // byte[] sa
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  160     0       this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0  160     1        src  Ljava/nio/ByteBuffer;
            0  160     2        dst  Ljava/nio/CharBuffer;
            9  151     3  inputSize  I
            8  151     4         b1  B
           18  114     5         b2  B
          142  150     5         b2  B
           31   88     6         b3  B
           95  110     6         b3  B
           47   58     7         b4  B
           65   71     7         b4  B
           78   84     7         b4  B
           96  110     7         b4  B
          103  110     8          c  C
          144  150     8          c  C
            1  160     9         sa  [B
            2  160    10         sp  I
            3  160    11         sl  I
            4  160    12         da  [C
            5  160    13         dp  I
            6  160    14         dl  I
      Exception table:
        from    to  target  type
           6    14     156  any
          17    21     156  any
          24    27     156  any
          30    34     156  any
          37    43     156  any
          46    55     156  any
          58    61     156  any
          64    68     156  any
          71    74     156  any
          77    81     156  any
          84    85     156  any
          88    91     156  any
          94    98     156  any
         101   105     156  any
         108   111     156  any
         114   122     156  any
         125   130     156  any
         133   138     156  any
         141   146     156  any
         149   153     156  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 392
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 393
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.ISO2022_CN$Decoder.decodeBufferLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.ext.ISO2022_CN$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/ISO2022_CN$Decoder;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   
}
SourceFile: "ISO2022_CN.java"
NestHost: sun.nio.cs.ext.ISO2022_CN
InnerClasses:
  public Decoder = sun.nio.cs.DoubleByte$Decoder of sun.nio.cs.DoubleByte
  public Decoder = sun.nio.cs.EUC_TW$Decoder of sun.nio.cs.EUC_TW
  Decoder = sun.nio.cs.ext.ISO2022_CN$Decoder of sun.nio.cs.ext.ISO2022_CN