public class sun.nio.cs.HKSCS$Decoder extends sun.nio.cs.DoubleByte$Decoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.HKSCS$Decoder
  super_class: sun.nio.cs.DoubleByte$Decoder
{
  static int b2Min;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int b2Max;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  private char[][] b2cBmp;
    descriptor: [[C
    flags: (0x0002) ACC_PRIVATE

  private char[][] b2cSupp;
    descriptor: [[C
    flags: (0x0002) ACC_PRIVATE

  private sun.nio.cs.DoubleByte$Decoder big5Dec;
    descriptor: Lsun/nio/cs/DoubleByte$Decoder;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 42
            bipush 64
            putstatic sun.nio.cs.HKSCS$Decoder.b2Min:I
         1: .line 43
            sipush 254
            putstatic sun.nio.cs.HKSCS$Decoder.b2Max:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.nio.charset.Charset, sun.nio.cs.DoubleByte$Decoder, char[][], char[][]);
    descriptor: (Ljava/nio/charset/Charset;Lsun/nio/cs/DoubleByte$Decoder;[[C[[C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // java.nio.charset.Charset cs
        start local 2 // sun.nio.cs.DoubleByte$Decoder big5Dec
        start local 3 // char[][] b2cBmp
        start local 4 // char[][] b2cSupp
         0: .line 56
            aload 0 /* this */
            aload 1 /* cs */
            ldc 0.5
            fconst_1
            aconst_null
            aconst_null
            iconst_0
            iconst_0
            iconst_1
            invokespecial sun.nio.cs.DoubleByte$Decoder.<init>:(Ljava/nio/charset/Charset;FF[[C[CIIZ)V
         1: .line 57
            aload 0 /* this */
            aload 2 /* big5Dec */
            putfield sun.nio.cs.HKSCS$Decoder.big5Dec:Lsun/nio/cs/DoubleByte$Decoder;
         2: .line 58
            aload 0 /* this */
            aload 3 /* b2cBmp */
            putfield sun.nio.cs.HKSCS$Decoder.b2cBmp:[[C
         3: .line 59
            aload 0 /* this */
            aload 4 /* b2cSupp */
            putfield sun.nio.cs.HKSCS$Decoder.b2cSupp:[[C
         4: .line 60
            return
        end local 4 // char[][] b2cSupp
        end local 3 // char[][] b2cBmp
        end local 2 // sun.nio.cs.DoubleByte$Decoder big5Dec
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lsun/nio/cs/HKSCS$Decoder;
            0    5     1       cs  Ljava/nio/charset/Charset;
            0    5     2  big5Dec  Lsun/nio/cs/DoubleByte$Decoder;
            0    5     3   b2cBmp  [[C
            0    5     4  b2cSupp  [[C
    MethodParameters:
         Name  Flags
      cs       
      big5Dec  
      b2cBmp   
      b2cSupp  

  public char decodeSingle(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // int b
         0: .line 63
            aload 0 /* this */
            getfield sun.nio.cs.HKSCS$Decoder.big5Dec:Lsun/nio/cs/DoubleByte$Decoder;
            iload 1 /* b */
            invokevirtual sun.nio.cs.DoubleByte$Decoder.decodeSingle:(I)C
            ireturn
        end local 1 // int b
        end local 0 // sun.nio.cs.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/HKSCS$Decoder;
            0    1     1     b  I
    MethodParameters:
      Name  Flags
      b     

  public char decodeBig5(int, int);
    descriptor: (II)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // int b1
        start local 2 // int b2
         0: .line 67
            aload 0 /* this */
            getfield sun.nio.cs.HKSCS$Decoder.big5Dec:Lsun/nio/cs/DoubleByte$Decoder;
            iload 1 /* b1 */
            iload 2 /* b2 */
            invokevirtual sun.nio.cs.DoubleByte$Decoder.decodeDouble:(II)C
            ireturn
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // sun.nio.cs.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/HKSCS$Decoder;
            0    1     1    b1  I
            0    1     2    b2  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  public char decodeDouble(int, int);
    descriptor: (II)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // int b1
        start local 2 // int b2
         0: .line 71
            aload 0 /* this */
            getfield sun.nio.cs.HKSCS$Decoder.b2cBmp:[[C
            iload 1 /* b1 */
            aaload
            iload 2 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Min:I
            isub
            caload
            ireturn
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // sun.nio.cs.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/HKSCS$Decoder;
            0    1     1    b1  I
            0    1     2    b2  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  public char decodeDoubleEx(int, int);
    descriptor: (II)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // int b1
        start local 2 // int b2
         0: .line 80
            aload 0 /* this */
            getfield sun.nio.cs.HKSCS$Decoder.b2cSupp:[[C
            iload 1 /* b1 */
            aaload
            iload 2 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Min:I
            isub
            caload
            ireturn
        end local 2 // int b2
        end local 1 // int b1
        end local 0 // sun.nio.cs.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/HKSCS$Decoder;
            0    1     1    b1  I
            0    1     2    b2  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  protected java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=16, args_size=3
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 84
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 3 /* sa */
        start local 3 // byte[] sa
         1: .line 85
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 86
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 88
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 6 /* da */
        start local 6 // char[] da
         4: .line 89
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 90
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 93
            goto 46
         7: .line 94
      StackMap locals: sun.nio.cs.HKSCS$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            baload
            sipush 255
            iand
            istore 9 /* b1 */
        start local 9 // int b1
         8: .line 95
            aload 0 /* this */
            iload 9 /* b1 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeSingle:(I)C
            istore 10 /* c */
        start local 10 // char c
         9: .line 96
            iconst_1
            istore 11 /* inSize */
        start local 11 // int inSize
        10: iconst_1
            istore 12 /* outSize */
        start local 12 // int outSize
        11: .line 98
            iload 10 /* c */
            ldc 65533
            if_icmpne 35
        12: .line 99
            iload 5 /* sl */
            iload 4 /* sp */
            isub
            iconst_2
            if_icmpge 17
        13: .line 100
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 15
        14: .line 131
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        15: .line 132
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        16: .line 100
            aload 15
            areturn
        17: .line 101
      StackMap locals: sun.nio.cs.HKSCS$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int int int int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            istore 13 /* b2 */
        start local 13 // int b2
        18: .line 102
            iinc 11 /* inSize */ 1
        19: .line 103
            iload 13 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Min:I
            if_icmplt 20
            iload 13 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Max:I
            if_icmple 24
        20: .line 104
      StackMap locals: int
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 15
        21: .line 131
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        22: .line 132
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        23: .line 104
            aload 15
            areturn
        24: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 9 /* b1 */
            iload 13 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeDouble:(II)C
            istore 10 /* c */
        25: .line 106
            iload 10 /* c */
            ldc 65533
            if_icmpne 35
        26: .line 107
            aload 0 /* this */
            iload 9 /* b1 */
            iload 13 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeDoubleEx:(II)C
            istore 10 /* c */
        27: .line 108
            iload 10 /* c */
            ldc 65533
            if_icmpne 34
        28: .line 109
            aload 0 /* this */
            iload 9 /* b1 */
            iload 13 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeBig5:(II)C
            istore 10 /* c */
        29: .line 110
            iload 10 /* c */
            ldc 65533
            if_icmpne 35
        30: .line 111
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 15
        31: .line 131
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        32: .line 132
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        33: .line 111
            aload 15
            areturn
        34: .line 114
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 12 /* outSize */
        end local 13 // int b2
        35: .line 118
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iload 12 /* outSize */
            if_icmpge 40
        36: .line 119
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 15
        37: .line 131
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        38: .line 132
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        39: .line 119
            aload 15
            areturn
        40: .line 120
      StackMap locals:
      StackMap stack:
            iload 12 /* outSize */
            iconst_2
            if_icmpne 44
        41: .line 122
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            ldc 131072
            iload 10 /* c */
            iadd
            invokestatic sun.nio.cs.Surrogate.high:(I)C
            castore
        42: .line 123
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            ldc 131072
            iload 10 /* c */
            iadd
            invokestatic sun.nio.cs.Surrogate.low:(I)C
            castore
        43: .line 124
            goto 45
        44: .line 125
      StackMap locals:
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            iload 10 /* c */
            castore
        45: .line 127
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            iload 11 /* inSize */
            iadd
            istore 4 /* sp */
        end local 12 // int outSize
        end local 11 // int inSize
        end local 10 // char c
        end local 9 // int b1
        46: .line 93
      StackMap locals: sun.nio.cs.HKSCS$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        47: .line 129
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 15
        48: .line 131
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        49: .line 132
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        50: .line 129
            aload 15
            areturn
        51: .line 130
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        52: .line 131
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        53: .line 132
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
            pop
        54: .line 133
            aload 14
            athrow
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // char[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // byte[] sa
        end local 2 // java.nio.CharBuffer dst
        end local 1 // java.nio.ByteBuffer src
        end local 0 // sun.nio.cs.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   55     0     this  Lsun/nio/cs/HKSCS$Decoder;
            0   55     1      src  Ljava/nio/ByteBuffer;
            0   55     2      dst  Ljava/nio/CharBuffer;
            1   55     3       sa  [B
            2   55     4       sp  I
            3   55     5       sl  I
            4   55     6       da  [C
            5   55     7       dp  I
            6   55     8       dl  I
            8   46     9       b1  I
            9   46    10        c  C
           10   46    11   inSize  I
           11   46    12  outSize  I
           18   35    13       b2  I
      Exception table:
        from    to  target  type
           6    14      51  any
          17    21      51  any
          24    31      51  any
          34    37      51  any
          40    48      51  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult decodeBufferLoop(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=11, args_size=3
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 137
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 139
            goto 37
         2: .line 141
      StackMap locals: int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 4 /* b1 */
        start local 4 // int b1
         3: .line 142
            iconst_1
            istore 5 /* inSize */
        start local 5 // int inSize
         4: iconst_1
            istore 6 /* outSize */
        start local 6 // int outSize
         5: .line 143
            aload 0 /* this */
            iload 4 /* b1 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeSingle:(I)C
            istore 7 /* c */
        start local 7 // char c
         6: .line 144
            iload 7 /* c */
            ldc 65533
            if_icmpne 27
         7: .line 145
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            if_icmpge 11
         8: .line 146
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 10
         9: .line 175
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        10: .line 146
            aload 10
            areturn
        11: .line 147
      StackMap locals: sun.nio.cs.HKSCS$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 8 /* b2 */
        start local 8 // int b2
        12: .line 148
            iinc 5 /* inSize */ 1
        13: .line 149
            iload 8 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Min:I
            if_icmplt 14
            iload 8 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Max:I
            if_icmple 17
        14: .line 150
      StackMap locals: int
      StackMap stack:
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 10
        15: .line 175
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        16: .line 150
            aload 10
            areturn
        17: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* b1 */
            iload 8 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeDouble:(II)C
            istore 7 /* c */
        18: .line 152
            iload 7 /* c */
            ldc 65533
            if_icmpne 27
        19: .line 153
            aload 0 /* this */
            iload 4 /* b1 */
            iload 8 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeDoubleEx:(II)C
            istore 7 /* c */
        20: .line 154
            iload 7 /* c */
            ldc 65533
            if_icmpne 26
        21: .line 155
            aload 0 /* this */
            iload 4 /* b1 */
            iload 8 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeBig5:(II)C
            istore 7 /* c */
        22: .line 156
            iload 7 /* c */
            ldc 65533
            if_icmpne 27
        23: .line 157
            iconst_2
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 10
        24: .line 175
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        25: .line 157
            aload 10
            areturn
        26: .line 159
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 6 /* outSize */
        end local 8 // int b2
        27: .line 163
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.remaining:()I
            iload 6 /* outSize */
            if_icmpge 31
        28: .line 164
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 10
        29: .line 175
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        30: .line 164
            aload 10
            areturn
        31: .line 165
      StackMap locals:
      StackMap stack:
            iload 6 /* outSize */
            iconst_2
            if_icmpne 35
        32: .line 166
            aload 2 /* dst */
            ldc 131072
            iload 7 /* c */
            iadd
            invokestatic sun.nio.cs.Surrogate.high:(I)C
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        33: .line 167
            aload 2 /* dst */
            ldc 131072
            iload 7 /* c */
            iadd
            invokestatic sun.nio.cs.Surrogate.low:(I)C
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        34: .line 168
            goto 36
        35: .line 169
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            iload 7 /* c */
            invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
            pop
        36: .line 171
      StackMap locals:
      StackMap stack:
            iload 3 /* mark */
            iload 5 /* inSize */
            iadd
            istore 3 /* mark */
        end local 7 // char c
        end local 6 // int outSize
        end local 5 // int inSize
        end local 4 // int b1
        37: .line 139
      StackMap locals: sun.nio.cs.HKSCS$Decoder java.nio.ByteBuffer java.nio.CharBuffer int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 2
        38: .line 173
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 10
        39: .line 175
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        40: .line 173
            aload 10
            areturn
        41: .line 174
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        42: .line 175
            aload 1 /* src */
            iload 3 /* mark */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        43: .line 176
            aload 9
            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.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lsun/nio/cs/HKSCS$Decoder;
            0   44     1      src  Ljava/nio/ByteBuffer;
            0   44     2      dst  Ljava/nio/CharBuffer;
            1   44     3     mark  I
            3   37     4       b1  I
            4   37     5   inSize  I
            5   37     6  outSize  I
            6   37     7        c  C
           12   27     8       b2  I
      Exception table:
        from    to  target  type
           1     9      41  any
          11    15      41  any
          17    24      41  any
          26    29      41  any
          31    39      41  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  public int decode(byte[], int, int, char[]);
    descriptor: ([BII[C)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // byte[] src
        start local 2 // int sp
        start local 3 // int len
        start local 4 // char[] dst
         0: .line 180
            iconst_0
            istore 5 /* dp */
        start local 5 // int dp
         1: .line 181
            iload 2 /* sp */
            iload 3 /* len */
            iadd
            istore 6 /* sl */
        start local 6 // int sl
         2: .line 182
            aload 0 /* this */
            invokevirtual sun.nio.cs.HKSCS$Decoder.replacement:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* repl */
        start local 7 // char repl
         3: .line 183
            goto 25
         4: .line 184
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            baload
            sipush 255
            iand
            istore 8 /* b1 */
        start local 8 // int b1
         5: .line 185
            aload 0 /* this */
            iload 8 /* b1 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeSingle:(I)C
            istore 9 /* c */
        start local 9 // char c
         6: .line 186
            iload 9 /* c */
            ldc 65533
            if_icmpne 24
         7: .line 187
            iload 6 /* sl */
            iload 2 /* sp */
            if_icmpne 10
         8: .line 188
            iload 7 /* repl */
            istore 9 /* c */
         9: .line 189
            goto 24
        10: .line 190
      StackMap locals: int int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* sp */
            iinc 2 /* sp */ 1
            baload
            sipush 255
            iand
            istore 10 /* b2 */
        start local 10 // int b2
        11: .line 191
            iload 10 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Min:I
            if_icmplt 12
            iload 10 /* b2 */
            getstatic sun.nio.cs.HKSCS$Decoder.b2Max:I
            if_icmple 14
        12: .line 192
      StackMap locals: int
      StackMap stack:
            iload 7 /* repl */
            istore 9 /* c */
        13: .line 193
            goto 24
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            iload 8 /* b1 */
            iload 10 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeDouble:(II)C
            dup
            istore 9 /* c */
            ldc 65533
            if_icmpne 24
        15: .line 194
            aload 0 /* this */
            iload 8 /* b1 */
            iload 10 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeDoubleEx:(II)C
            istore 9 /* c */
        16: .line 195
            iload 9 /* c */
            ldc 65533
            if_icmpne 21
        17: .line 196
            aload 0 /* this */
            iload 8 /* b1 */
            iload 10 /* b2 */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeBig5:(II)C
            istore 9 /* c */
        18: .line 197
            iload 9 /* c */
            ldc 65533
            if_icmpne 24
        19: .line 198
            iload 7 /* repl */
            istore 9 /* c */
        20: .line 199
            goto 24
        21: .line 201
      StackMap locals:
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            ldc 131072
            iload 9 /* c */
            iadd
            invokestatic sun.nio.cs.Surrogate.high:(I)C
            castore
        22: .line 202
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            ldc 131072
            iload 9 /* c */
            iadd
            invokestatic sun.nio.cs.Surrogate.low:(I)C
            castore
        23: .line 203
            goto 25
        end local 10 // int b2
        24: .line 208
      StackMap locals:
      StackMap stack:
            aload 4 /* dst */
            iload 5 /* dp */
            iinc 5 /* dp */ 1
            iload 9 /* c */
            castore
        end local 9 // char c
        end local 8 // int b1
        25: .line 183
      StackMap locals:
      StackMap stack:
            iload 2 /* sp */
            iload 6 /* sl */
            if_icmplt 4
        26: .line 210
            iload 5 /* dp */
            ireturn
        end local 7 // char repl
        end local 6 // int sl
        end local 5 // int dp
        end local 4 // char[] dst
        end local 3 // int len
        end local 2 // int sp
        end local 1 // byte[] src
        end local 0 // sun.nio.cs.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Lsun/nio/cs/HKSCS$Decoder;
            0   27     1   src  [B
            0   27     2    sp  I
            0   27     3   len  I
            0   27     4   dst  [C
            1   27     5    dp  I
            2   27     6    sl  I
            3   27     7  repl  C
            5   25     8    b1  I
            6   25     9     c  C
           11   24    10    b2  I
    MethodParameters:
      Name  Flags
      src   
      sp    
      len   
      dst   

  public java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.HKSCS$Decoder this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // java.nio.CharBuffer dst
         0: .line 214
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
         1: .line 215
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.HKSCS$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.HKSCS$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.HKSCS$Decoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/HKSCS$Decoder;
            0    3     1   src  Ljava/nio/ByteBuffer;
            0    3     2   dst  Ljava/nio/CharBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  public static void initb2c(char[][], java.lang.String[]);
    descriptor: ([[C[Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // char[][] b2c
        start local 1 // java.lang.String[] b2cStr
         0: .line 222
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 6
         2: .line 223
      StackMap locals: int
      StackMap stack:
            aload 1 /* b2cStr */
            iload 2 /* i */
            aaload
            ifnonnull 4
         3: .line 224
            aload 0 /* b2c */
            iload 2 /* i */
            getstatic sun.nio.cs.DoubleByte.B2C_UNMAPPABLE:[C
            aastore
            goto 5
         4: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* b2c */
            iload 2 /* i */
            aload 1 /* b2cStr */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            aastore
         5: .line 222
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* b2cStr */
            arraylength
            if_icmplt 2
        end local 2 // int i
         7: .line 228
            return
        end local 1 // java.lang.String[] b2cStr
        end local 0 // char[][] b2c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0     b2c  [[C
            0    8     1  b2cStr  [Ljava/lang/String;
            1    7     2       i  I
    MethodParameters:
        Name  Flags
      b2c     
      b2cStr  
}
SourceFile: "HKSCS.java"
NestHost: sun.nio.cs.HKSCS
InnerClasses:
  public Decoder = sun.nio.cs.DoubleByte$Decoder of sun.nio.cs.DoubleByte
  public Decoder = sun.nio.cs.HKSCS$Decoder of sun.nio.cs.HKSCS