public class sun.nio.cs.ext.EUC_TW$Encoder extends java.nio.charset.CharsetEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.nio.cs.ext.EUC_TW$Encoder
  super_class: java.nio.charset.CharsetEncoder
{
  private byte[] bb;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  static final char[] c2b;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final char[] c2bIndex;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final char[] c2bSupp;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final char[] c2bSuppIndex;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final byte[] c2bPlane;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=17, args_size=0
         0: .line 490
            sipush 161
            istore 0 /* b1Min */
        start local 0 // int b1Min
         1: .line 491
            sipush 254
            istore 1 /* b1Max */
        start local 1 // int b1Max
         2: .line 492
            sipush 161
            istore 2 /* b2Min */
        start local 2 // int b2Min
         3: .line 493
            sipush 254
            istore 3 /* b2Max */
        start local 3 // int b2Max
         4: .line 495
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.b2c:[Ljava/lang/String;
            astore 4 /* b2c */
        start local 4 // java.lang.String[] b2c
         5: .line 496
            getstatic sun.nio.cs.ext.EUC_TW$Decoder.b2cIsSupp:[B
            astore 5 /* b2cIsSupp */
        start local 5 // byte[] b2cIsSupp
         6: .line 498
            getstatic sun.nio.cs.ext.EUC_TWMapping.c2bIndex:[C
            putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bIndex:[C
         7: .line 499
            getstatic sun.nio.cs.ext.EUC_TWMapping.c2bSuppIndex:[C
            putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSuppIndex:[C
         8: .line 500
            sipush 31744
            newarray 5
            astore 6 /* c2b0 */
        start local 6 // char[] c2b0
         9: .line 501
            ldc 43520
            newarray 5
            astore 7 /* c2bSupp0 */
        start local 7 // char[] c2bSupp0
        10: .line 502
            sipush 31744
        11: .line 503
            ldc 43520
        12: .line 502
            invokestatic java.lang.Math.max:(II)I
            newarray 8
            astore 8 /* c2bPlane0 */
        start local 8 // byte[] c2bPlane0
        13: .line 505
            aload 6 /* c2b0 */
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
        14: .line 506
            aload 7 /* c2bSupp0 */
            ldc 65533
            invokestatic java.util.Arrays.fill:([CC)V
        15: .line 508
            iconst_0
            istore 9 /* p */
        start local 9 // int p
        16: goto 44
        17: .line 509
      StackMap locals: int int int int java.lang.String[] byte[] char[] char[] byte[] int
      StackMap stack:
            aload 4 /* b2c */
            iload 9 /* p */
            aaload
            astore 10 /* db */
        start local 10 // java.lang.String db
        18: .line 516
            iload 9 /* p */
            istore 11 /* plane */
        start local 11 // int plane
        19: .line 517
            iload 11 /* plane */
            bipush 7
            if_icmpne 21
        20: .line 518
            bipush 15
            istore 11 /* plane */
            goto 23
        21: .line 519
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 11 /* plane */
            ifeq 23
        22: .line 520
            iload 9 /* p */
            iconst_1
            iadd
            istore 11 /* plane */
        23: .line 522
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* off */
        start local 12 // int off
        24: .line 523
            iload 0 /* b1Min */
            istore 13 /* b1 */
        start local 13 // int b1
        25: goto 42
        26: .line 524
      StackMap locals: int int
      StackMap stack:
            iload 2 /* b2Min */
            istore 14 /* b2 */
        start local 14 // int b2
        27: goto 40
        28: .line 525
      StackMap locals: int
      StackMap stack:
            aload 10 /* db */
            iload 12 /* off */
            invokevirtual java.lang.String.charAt:(I)C
            istore 15 /* c */
        start local 15 // char c
        29: .line 526
            iload 15 /* c */
            ldc 65533
            if_icmpeq 38
        30: .line 527
            aload 5 /* b2cIsSupp */
            iload 12 /* off */
            baload
            iconst_1
            iload 9 /* p */
            ishl
            iand
            ifeq 35
        31: .line 528
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSuppIndex:[C
            iload 15 /* c */
            bipush 8
            ishr
            caload
            iload 15 /* c */
            sipush 255
            iand
            iadd
            istore 16 /* index */
        start local 16 // int index
        32: .line 529
            aload 7 /* c2bSupp0 */
            iload 16 /* index */
            iload 13 /* b1 */
            bipush 8
            ishl
            iload 14 /* b2 */
            iadd
            i2c
            castore
        33: .line 530
            aload 8 /* c2bPlane0 */
            iload 16 /* index */
            dup2
            baload
            iload 11 /* plane */
            iconst_4
            ishl
            i2b
            ior
            i2b
            bastore
        end local 16 // int index
        34: .line 531
            goto 38
        35: .line 532
      StackMap locals: int
      StackMap stack:
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bIndex:[C
            iload 15 /* c */
            bipush 8
            ishr
            caload
            iload 15 /* c */
            sipush 255
            iand
            iadd
            istore 16 /* index */
        start local 16 // int index
        36: .line 533
            aload 6 /* c2b0 */
            iload 16 /* index */
            iload 13 /* b1 */
            bipush 8
            ishl
            iload 14 /* b2 */
            iadd
            i2c
            castore
        37: .line 534
            aload 8 /* c2bPlane0 */
            iload 16 /* index */
            dup2
            baload
            iload 11 /* plane */
            i2b
            ior
            i2b
            bastore
        end local 16 // int index
        38: .line 537
      StackMap locals:
      StackMap stack:
            iinc 12 /* off */ 1
        end local 15 // char c
        39: .line 524
            iinc 14 /* b2 */ 1
      StackMap locals:
      StackMap stack:
        40: iload 14 /* b2 */
            iload 3 /* b2Max */
            if_icmple 28
        end local 14 // int b2
        41: .line 523
            iinc 13 /* b1 */ 1
      StackMap locals:
      StackMap stack:
        42: iload 13 /* b1 */
            iload 1 /* b1Max */
            if_icmple 26
        end local 13 // int b1
        end local 12 // int off
        end local 11 // int plane
        end local 10 // java.lang.String db
        43: .line 508
            iinc 9 /* p */ 1
      StackMap locals: int int int int java.lang.String[] byte[] char[] char[] byte[] int
      StackMap stack:
        44: iload 9 /* p */
            aload 4 /* b2c */
            arraylength
            if_icmplt 17
        end local 9 // int p
        45: .line 541
            aload 6 /* c2b0 */
            putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2b:[C
        46: .line 542
            aload 7 /* c2bSupp0 */
            putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSupp:[C
        47: .line 543
            aload 8 /* c2bPlane0 */
            putstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bPlane:[B
        end local 8 // byte[] c2bPlane0
        end local 7 // char[] c2bSupp0
        end local 6 // char[] c2b0
        end local 5 // byte[] b2cIsSupp
        end local 4 // java.lang.String[] b2c
        end local 3 // int b2Max
        end local 2 // int b2Min
        end local 1 // int b1Max
        end local 0 // int b1Min
        48: .line 544
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1   48     0      b1Min  I
            2   48     1      b1Max  I
            3   48     2      b2Min  I
            4   48     3      b2Max  I
            5   48     4        b2c  [Ljava/lang/String;
            6   48     5  b2cIsSupp  [B
            9   48     6       c2b0  [C
           10   48     7   c2bSupp0  [C
           13   48     8  c2bPlane0  [B
           16   45     9          p  I
           18   43    10         db  Ljava/lang/String;
           19   43    11      plane  I
           24   43    12        off  I
           25   43    13         b1  I
           27   41    14         b2  I
           29   39    15          c  C
           32   34    16      index  I
           36   38    16      index  I

  public void <init>(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // java.nio.charset.Charset cs
         0: .line 301
            aload 0 /* this */
            aload 1 /* cs */
            ldc 4.0
            ldc 4.0
            invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
         1: .line 298
            aload 0 /* this */
            iconst_4
            newarray 8
            putfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
         2: .line 302
            return
        end local 1 // java.nio.charset.Charset cs
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0    3     1    cs  Ljava/nio/charset/Charset;
    MethodParameters:
      Name  Flags
      cs    

  public boolean canEncode(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // char c
         0: .line 305
            iload 1 /* c */
            bipush 127
            if_icmple 1
            aload 0 /* this */
            iload 1 /* c */
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(C[B)I
            iconst_m1
            if_icmpne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // char c
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public boolean canEncode(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // java.lang.CharSequence cs
         0: .line 309
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 310
            goto 11
         2: .line 311
      StackMap locals: int
      StackMap stack:
            aload 1 /* cs */
            iload 2 /* i */
            iinc 2 /* i */ 1
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         3: .line 312
            iload 3 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 9
         4: .line 313
            iload 2 /* i */
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpne 6
         5: .line 314
            iconst_0
            ireturn
         6: .line 315
      StackMap locals: int
      StackMap stack:
            aload 1 /* cs */
            iload 2 /* i */
            iinc 2 /* i */ 1
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 4 /* low */
        start local 4 // char low
         7: .line 316
            iload 4 /* low */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 8
            aload 0 /* this */
            iload 3 /* c */
            iload 4 /* low */
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(CC[B)I
            iconst_m1
            if_icmpne 11
         8: .line 317
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // char low
         9: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* c */
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.canEncode:(C)Z
            ifne 11
        10: .line 319
            iconst_0
            ireturn
        end local 3 // char c
        11: .line 310
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 1 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmplt 2
        12: .line 322
            iconst_1
            ireturn
        end local 2 // int i
        end local 1 // java.lang.CharSequence cs
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0   13     1    cs  Ljava/lang/CharSequence;
            1   13     2     i  I
            3   11     3     c  C
            7    9     4   low  C
    MethodParameters:
      Name  Flags
      cs    

  public int toEUC(char, char, byte[]);
    descriptor: (CC[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // char hi
        start local 2 // char low
        start local 3 // byte[] bb
         0: .line 326
            iload 1 /* hi */
            iload 2 /* low */
            aload 3 /* bb */
            invokestatic sun.nio.cs.ext.EUC_TW$Encoder.encode:(CC[B)I
            ireturn
        end local 3 // byte[] bb
        end local 2 // char low
        end local 1 // char hi
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0    1     1    hi  C
            0    1     2   low  C
            0    1     3    bb  [B
    MethodParameters:
      Name  Flags
      hi    
      low   
      bb    

  public int toEUC(char, byte[]);
    descriptor: (C[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // char c
        start local 2 // byte[] bb
         0: .line 330
            iload 1 /* c */
            aload 2 /* bb */
            invokestatic sun.nio.cs.ext.EUC_TW$Encoder.encode:(C[B)I
            ireturn
        end local 2 // byte[] bb
        end local 1 // char c
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0    1     1     c  C
            0    1     2    bb  [B
    MethodParameters:
      Name  Flags
      c     
      bb    

  private java.nio.charset.CoderResult encodeArrayLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 336
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.array:()[C
            astore 3 /* sa */
        start local 3 // char[] sa
         1: .line 337
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            iadd
            istore 4 /* sp */
        start local 4 // int sp
         2: .line 338
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.limit:()I
            iadd
            istore 5 /* sl */
        start local 5 // int sl
         3: .line 340
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.array:()[B
            astore 6 /* da */
        start local 6 // byte[] da
         4: .line 341
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 7 /* dp */
        start local 7 // int dp
         5: .line 342
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iadd
            istore 8 /* dl */
        start local 8 // int dl
         6: .line 348
            goto 50
         7: .line 349
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            caload
            istore 11 /* c */
        start local 11 // char c
         8: .line 350
            iconst_1
            istore 9 /* inSize */
        start local 9 // int inSize
         9: .line 351
            iload 11 /* c */
            sipush 128
            if_icmpge 13
        10: .line 352
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            iconst_0
            iload 11 /* c */
            i2b
            bastore
        11: .line 353
            iconst_1
            istore 10 /* outSize */
        start local 10 // int outSize
        12: .line 354
            goto 34
        end local 10 // int outSize
        13: .line 355
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int top int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* c */
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(C[B)I
            istore 10 /* outSize */
        start local 10 // int outSize
        14: .line 356
            iload 10 /* outSize */
            iconst_m1
            if_icmpne 34
        15: .line 363
            iload 11 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 29
        16: .line 364
            iload 4 /* sp */
            iconst_1
            iadd
            iload 5 /* sl */
            if_icmpne 21
        17: .line 365
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        18: .line 385
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        19: .line 386
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        20: .line 365
            aload 14
            areturn
        21: .line 366
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int int int
      StackMap stack:
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            caload
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 26
        22: .line 367
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        23: .line 385
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        24: .line 386
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        25: .line 367
            aload 14
            areturn
        26: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 11 /* c */
            aload 3 /* sa */
            iload 4 /* sp */
            iconst_1
            iadd
            caload
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(CC[B)I
            istore 10 /* outSize */
        27: .line 369
            iconst_2
            istore 9 /* inSize */
        28: .line 370
            goto 34
      StackMap locals:
      StackMap stack:
        29: iload 11 /* c */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 34
        30: .line 371
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        31: .line 385
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        32: .line 386
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        33: .line 371
            aload 14
            areturn
        34: .line 375
      StackMap locals:
      StackMap stack:
            iload 10 /* outSize */
            iconst_m1
            if_icmpne 39
        35: .line 376
            iload 9 /* inSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 14
        36: .line 385
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        37: .line 386
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        38: .line 376
            aload 14
            areturn
        39: .line 377
      StackMap locals:
      StackMap stack:
            iload 8 /* dl */
            iload 7 /* dp */
            isub
            iload 10 /* outSize */
            if_icmpge 44
        40: .line 378
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        41: .line 385
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        42: .line 386
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        43: .line 378
            aload 14
            areturn
        44: .line 379
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        45: goto 48
        46: .line 380
      StackMap locals: int
      StackMap stack:
            aload 6 /* da */
            iload 7 /* dp */
            iinc 7 /* dp */ 1
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            iload 12 /* i */
            baload
            bastore
        47: .line 379
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 12 /* i */
            iload 10 /* outSize */
            if_icmplt 46
        end local 12 // int i
        49: .line 381
            iload 4 /* sp */
            iload 9 /* inSize */
            iadd
            istore 4 /* sp */
        end local 11 // char c
        end local 10 // int outSize
        end local 9 // int inSize
        50: .line 348
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
      StackMap stack:
            iload 4 /* sp */
            iload 5 /* sl */
            if_icmplt 7
        51: .line 383
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 14
        52: .line 385
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        53: .line 386
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        54: .line 383
            aload 14
            areturn
        55: .line 384
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        56: .line 385
            aload 1 /* src */
            iload 4 /* sp */
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        57: .line 386
            aload 2 /* dst */
            iload 7 /* dp */
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            isub
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        58: .line 387
            aload 13
            athrow
        end local 8 // int dl
        end local 7 // int dp
        end local 6 // byte[] da
        end local 5 // int sl
        end local 4 // int sp
        end local 3 // char[] sa
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   59     0     this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0   59     1      src  Ljava/nio/CharBuffer;
            0   59     2      dst  Ljava/nio/ByteBuffer;
            1   59     3       sa  [C
            2   59     4       sp  I
            3   59     5       sl  I
            4   59     6       da  [B
            5   59     7       dp  I
            6   59     8       dl  I
            9   50     9   inSize  I
           12   13    10  outSize  I
           14   50    10  outSize  I
            8   50    11        c  C
           45   49    12        i  I
      Exception table:
        from    to  target  type
           6    18      55  any
          21    23      55  any
          26    31      55  any
          34    36      55  any
          39    41      55  any
          44    52      55  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  private java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 395
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.position:()I
            istore 5 /* mark */
        start local 5 // int mark
         1: .line 398
            goto 41
         2: .line 399
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer top top int
      StackMap stack:
            iconst_1
            istore 4 /* inSize */
        start local 4 // int inSize
         3: .line 400
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 6 /* c */
        start local 6 // char c
         4: .line 401
            iload 6 /* c */
            sipush 128
            if_icmpge 8
         5: .line 402
            iconst_1
            istore 3 /* outSize */
        start local 3 // int outSize
         6: .line 403
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            iconst_0
            iload 6 /* c */
            i2b
            bastore
         7: .line 404
            goto 27
        end local 3 // int outSize
         8: .line 405
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer top int int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* c */
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(C[B)I
            istore 3 /* outSize */
        start local 3 // int outSize
         9: .line 406
            iload 3 /* outSize */
            iconst_m1
            if_icmpne 27
        10: .line 407
            iload 6 /* c */
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 23
        11: .line 408
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 15
        12: .line 409
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        13: .line 430
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        14: .line 409
            aload 9
            areturn
        15: .line 410
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer int int int int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.get:()C
            istore 7 /* c2 */
        start local 7 // char c2
        16: .line 411
            iload 7 /* c2 */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 20
        17: .line 412
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        18: .line 430
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        19: .line 412
            aload 9
            areturn
        20: .line 413
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* c */
            iload 7 /* c2 */
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.toEUC:(CC[B)I
            istore 3 /* outSize */
        21: .line 414
            iconst_2
            istore 4 /* inSize */
        end local 7 // char c2
        22: .line 415
            goto 27
      StackMap locals:
      StackMap stack:
        23: iload 6 /* c */
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifeq 27
        24: .line 416
            iconst_1
            invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        25: .line 430
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        26: .line 416
            aload 9
            areturn
        27: .line 420
      StackMap locals:
      StackMap stack:
            iload 3 /* outSize */
            iconst_m1
            if_icmpne 31
        28: .line 421
            iload 4 /* inSize */
            invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
            astore 9
        29: .line 430
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        30: .line 421
            aload 9
            areturn
        31: .line 422
      StackMap locals:
      StackMap stack:
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 3 /* outSize */
            if_icmpge 35
        32: .line 423
            getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        33: .line 430
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        34: .line 423
            aload 9
            areturn
        35: .line 424
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        36: goto 39
        37: .line 425
      StackMap locals: int
      StackMap stack:
            aload 2 /* dst */
            aload 0 /* this */
            getfield sun.nio.cs.ext.EUC_TW$Encoder.bb:[B
            iload 7 /* i */
            baload
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        38: .line 424
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 7 /* i */
            iload 3 /* outSize */
            if_icmplt 37
        end local 7 // int i
        40: .line 426
            iload 5 /* mark */
            iload 4 /* inSize */
            iadd
            istore 5 /* mark */
        end local 6 // char c
        end local 4 // int inSize
        end local 3 // int outSize
        41: .line 398
      StackMap locals: sun.nio.cs.ext.EUC_TW$Encoder java.nio.CharBuffer java.nio.ByteBuffer top top int
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasRemaining:()Z
            ifne 2
        42: .line 428
            getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
            astore 9
        43: .line 430
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        44: .line 428
            aload 9
            areturn
        45: .line 429
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        46: .line 430
            aload 1 /* src */
            iload 5 /* mark */
            invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
            pop
        47: .line 431
            aload 8
            athrow
        end local 5 // int mark
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   48     0     this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0   48     1      src  Ljava/nio/CharBuffer;
            0   48     2      dst  Ljava/nio/ByteBuffer;
            6    8     3  outSize  I
            9   41     3  outSize  I
            3   41     4   inSize  I
            1   48     5     mark  I
            4   41     6        c  C
           16   22     7       c2  C
           36   40     7        i  I
      Exception table:
        from    to  target  type
           1    13      45  any
          15    18      45  any
          20    25      45  any
          27    29      45  any
          31    33      45  any
          35    43      45  any
    MethodParameters:
      Name  Flags
      src   
      dst   

  protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
        start local 1 // java.nio.CharBuffer src
        start local 2 // java.nio.ByteBuffer dst
         0: .line 436
            aload 1 /* src */
            invokevirtual java.nio.CharBuffer.hasArray:()Z
            ifeq 2
            aload 2 /* dst */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 2
         1: .line 437
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
         2: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* src */
            aload 2 /* dst */
            invokevirtual sun.nio.cs.ext.EUC_TW$Encoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
            areturn
        end local 2 // java.nio.ByteBuffer dst
        end local 1 // java.nio.CharBuffer src
        end local 0 // sun.nio.cs.ext.EUC_TW$Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/nio/cs/ext/EUC_TW$Encoder;
            0    3     1   src  Ljava/nio/CharBuffer;
            0    3     2   dst  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   
      dst   

  static int encode(char, char, byte[]);
    descriptor: (CC[B)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // char hi
        start local 1 // char low
        start local 2 // byte[] bb
         0: .line 443
            iload 0 /* hi */
            iload 1 /* low */
            invokestatic java.lang.Character.toCodePoint:(CC)I
            istore 3 /* c */
        start local 3 // int c
         1: .line 444
            iload 3 /* c */
            ldc 983040
            iand
            ldc 131072
            if_icmpeq 3
         2: .line 445
            iconst_m1
            ireturn
         3: .line 446
      StackMap locals: int
      StackMap stack:
            iload 3 /* c */
            ldc 131072
            isub
            istore 3 /* c */
         4: .line 447
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSuppIndex:[C
            iload 3 /* c */
            bipush 8
            ishr
            caload
            istore 4 /* index */
        start local 4 // int index
         5: .line 448
            iload 4 /* index */
            ldc 65533
            if_icmpne 7
         6: .line 449
            iconst_m1
            ireturn
         7: .line 450
      StackMap locals: int
      StackMap stack:
            iload 4 /* index */
            iload 3 /* c */
            sipush 255
            iand
            iadd
            istore 4 /* index */
         8: .line 451
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bSupp:[C
            iload 4 /* index */
            caload
            istore 5 /* db */
        start local 5 // int db
         9: .line 452
            iload 5 /* db */
            ldc 65533
            if_icmpne 11
        10: .line 453
            iconst_m1
            ireturn
        11: .line 454
      StackMap locals: int
      StackMap stack:
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bPlane:[B
            iload 4 /* index */
            baload
            iconst_4
            ishr
            bipush 15
            iand
            istore 6 /* p */
        start local 6 // int p
        12: .line 455
            aload 2 /* bb */
            iconst_0
            bipush -114
            bastore
        13: .line 456
            aload 2 /* bb */
            iconst_1
            sipush 160
            iload 6 /* p */
            ior
            i2b
            bastore
        14: .line 457
            aload 2 /* bb */
            iconst_2
            iload 5 /* db */
            bipush 8
            ishr
            i2b
            bastore
        15: .line 458
            aload 2 /* bb */
            iconst_3
            iload 5 /* db */
            i2b
            bastore
        16: .line 459
            iconst_4
            ireturn
        end local 6 // int p
        end local 5 // int db
        end local 4 // int index
        end local 3 // int c
        end local 2 // byte[] bb
        end local 1 // char low
        end local 0 // char hi
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0     hi  C
            0   17     1    low  C
            0   17     2     bb  [B
            1   17     3      c  I
            5   17     4  index  I
            9   17     5     db  I
           12   17     6      p  I
    MethodParameters:
      Name  Flags
      hi    
      low   
      bb    

  static int encode(char, byte[]);
    descriptor: (C[B)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // char c
        start local 1 // byte[] bb
         0: .line 463
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bIndex:[C
            iload 0 /* c */
            bipush 8
            ishr
            caload
            istore 2 /* index */
        start local 2 // int index
         1: .line 464
            iload 2 /* index */
            ldc 65533
            if_icmpne 3
         2: .line 465
            iconst_m1
            ireturn
         3: .line 466
      StackMap locals: int
      StackMap stack:
            iload 2 /* index */
            iload 0 /* c */
            sipush 255
            iand
            iadd
            istore 2 /* index */
         4: .line 467
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2b:[C
            iload 2 /* index */
            caload
            istore 3 /* db */
        start local 3 // int db
         5: .line 468
            iload 3 /* db */
            ldc 65533
            if_icmpne 7
         6: .line 469
            iconst_m1
            ireturn
         7: .line 470
      StackMap locals: int
      StackMap stack:
            getstatic sun.nio.cs.ext.EUC_TW$Encoder.c2bPlane:[B
            iload 2 /* index */
            baload
            bipush 15
            iand
            istore 4 /* p */
        start local 4 // int p
         8: .line 471
            iload 4 /* p */
            ifne 12
         9: .line 472
            aload 1 /* bb */
            iconst_0
            iload 3 /* db */
            bipush 8
            ishr
            i2b
            bastore
        10: .line 473
            aload 1 /* bb */
            iconst_1
            iload 3 /* db */
            i2b
            bastore
        11: .line 474
            iconst_2
            ireturn
        12: .line 476
      StackMap locals: int
      StackMap stack:
            aload 1 /* bb */
            iconst_0
            bipush -114
            bastore
        13: .line 477
            aload 1 /* bb */
            iconst_1
            sipush 160
            iload 4 /* p */
            ior
            i2b
            bastore
        14: .line 478
            aload 1 /* bb */
            iconst_2
            iload 3 /* db */
            bipush 8
            ishr
            i2b
            bastore
        15: .line 479
            aload 1 /* bb */
            iconst_3
            iload 3 /* db */
            i2b
            bastore
        16: .line 480
            iconst_4
            ireturn
        end local 4 // int p
        end local 3 // int db
        end local 2 // int index
        end local 1 // byte[] bb
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0      c  C
            0   17     1     bb  [B
            1   17     2  index  I
            5   17     3     db  I
            8   17     4      p  I
    MethodParameters:
      Name  Flags
      c     
      bb    
}
SourceFile: "EUC_TW.java"
NestHost: sun.nio.cs.ext.EUC_TW
InnerClasses:
  public Decoder = sun.nio.cs.ext.EUC_TW$Decoder of sun.nio.cs.ext.EUC_TW
  public Encoder = sun.nio.cs.ext.EUC_TW$Encoder of sun.nio.cs.ext.EUC_TW