class org.jvnet.mimepull.MIMEParser implements java.lang.Iterable<org.jvnet.mimepull.MIMEEvent>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jvnet.mimepull.MIMEParser
  super_class: java.lang.Object
{
  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String HEADER_ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ISO8859-1"

  private static final int NO_LWSP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  private org.jvnet.mimepull.MIMEParser$STATE state;
    descriptor: Lorg/jvnet/mimepull/MIMEParser$STATE;
    flags: (0x0002) ACC_PRIVATE

  private final java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte[] bndbytes;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int bl;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jvnet.mimepull.MIMEConfig config;
    descriptor: Lorg/jvnet/mimepull/MIMEConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] bcs;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] gss;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean parsed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean done;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean eof;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final int capacity;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private byte[] buf;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int len;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean bol;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 38
            ldc Lorg/jvnet/mimepull/MIMEParser;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.jvnet.mimepull.MIMEParser.$assertionsDisabled:Z
         3: .line 40
            ldc Lorg/jvnet/mimepull/MIMEParser;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
         4: .line 47
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.io.InputStream, java.lang.String, org.jvnet.mimepull.MIMEConfig);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;Lorg/jvnet/mimepull/MIMEConfig;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jvnet.mimepull.MIMEParser this
        start local 1 // java.io.InputStream in
        start local 2 // java.lang.String boundary
        start local 3 // org.jvnet.mimepull.MIMEConfig config
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            getstatic org.jvnet.mimepull.MIMEParser$STATE.START_MESSAGE:Lorg/jvnet/mimepull/MIMEParser$STATE;
            putfield org.jvnet.mimepull.MIMEParser.state:Lorg/jvnet/mimepull/MIMEParser$STATE;
         2: .line 55
            aload 0 /* this */
            sipush 128
            newarray 10
            putfield org.jvnet.mimepull.MIMEParser.bcs:[I
         3: .line 67
            aload 0 /* this */
            iconst_0
            putfield org.jvnet.mimepull.MIMEParser.done:Z
         4: .line 79
            aload 0 /* this */
            aload 1 /* in */
            putfield org.jvnet.mimepull.MIMEParser.in:Ljava/io/InputStream;
         5: .line 80
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "--"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* boundary */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.jvnet.mimepull.MIMEParser.getBytes:(Ljava/lang/String;)[B
            putfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
         6: .line 81
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            arraylength
            putfield org.jvnet.mimepull.MIMEParser.bl:I
         7: .line 82
            aload 0 /* this */
            aload 3 /* config */
            putfield org.jvnet.mimepull.MIMEParser.config:Lorg/jvnet/mimepull/MIMEConfig;
         8: .line 83
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            newarray 10
            putfield org.jvnet.mimepull.MIMEParser.gss:[I
         9: .line 84
            aload 0 /* this */
            invokevirtual org.jvnet.mimepull.MIMEParser.compileBoundaryPattern:()V
        10: .line 87
            aload 0 /* this */
            aload 3 /* config */
            getfield org.jvnet.mimepull.MIMEConfig.chunkSize:I
            iconst_2
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iconst_4
            iadd
            sipush 1000
            iadd
            putfield org.jvnet.mimepull.MIMEParser.capacity:I
        11: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.capacity:I
            invokevirtual org.jvnet.mimepull.MIMEParser.createBuf:(I)V
        12: .line 89
            return
        end local 3 // org.jvnet.mimepull.MIMEConfig config
        end local 2 // java.lang.String boundary
        end local 1 // java.io.InputStream in
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/jvnet/mimepull/MIMEParser;
            0   13     1        in  Ljava/io/InputStream;
            0   13     2  boundary  Ljava/lang/String;
            0   13     3    config  Lorg/jvnet/mimepull/MIMEConfig;
    MethodParameters:
          Name  Flags
      in        
      boundary  
      config    

  public java.util.Iterator<org.jvnet.mimepull.MIMEEvent> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jvnet.mimepull.MIMEParser this
         0: .line 99
            new org.jvnet.mimepull.MIMEParser$MIMEEventIterator
            dup
            aload 0 /* this */
            invokespecial org.jvnet.mimepull.MIMEParser$MIMEEventIterator.<init>:(Lorg/jvnet/mimepull/MIMEParser;)V
            areturn
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jvnet/mimepull/MIMEParser;
    Signature: ()Ljava/util/Iterator<Lorg/jvnet/mimepull/MIMEEvent;>;

  private org.jvnet.mimepull.InternetHeaders readHeaders();
    descriptor: ()Lorg/jvnet/mimepull/InternetHeaders;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jvnet.mimepull.MIMEParser this
         0: .line 175
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifne 2
         1: .line 176
            aload 0 /* this */
            invokevirtual org.jvnet.mimepull.MIMEParser.fillBuf:()V
         2: .line 178
      StackMap locals:
      StackMap stack:
            new org.jvnet.mimepull.InternetHeaders
            dup
            new org.jvnet.mimepull.MIMEParser$LineInputStream
            dup
            aload 0 /* this */
            invokespecial org.jvnet.mimepull.MIMEParser$LineInputStream.<init>:(Lorg/jvnet/mimepull/MIMEParser;)V
            invokespecial org.jvnet.mimepull.InternetHeaders.<init>:(Lorg/jvnet/mimepull/MIMEParser$LineInputStream;)V
            areturn
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jvnet/mimepull/MIMEParser;

  private java.nio.ByteBuffer readBody();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.jvnet.mimepull.MIMEParser this
         0: .line 190
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifne 2
         1: .line 191
            aload 0 /* this */
            invokevirtual org.jvnet.mimepull.MIMEParser.fillBuf:()V
         2: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iconst_0
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            invokevirtual org.jvnet.mimepull.MIMEParser.match:([BII)I
            istore 1 /* start */
        start local 1 // int start
         3: .line 194
            iload 1 /* start */
            iconst_m1
            if_icmpne 12
         4: .line 196
            getstatic org.jvnet.mimepull.MIMEParser.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifne 5
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.config:Lorg/jvnet/mimepull/MIMEConfig;
            getfield org.jvnet.mimepull.MIMEConfig.chunkSize:I
            if_icmpge 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 197
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifeq 6
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.config:Lorg/jvnet/mimepull/MIMEConfig;
            getfield org.jvnet.mimepull.MIMEConfig.chunkSize:I
      StackMap locals:
      StackMap stack: int
         7: istore 2 /* chunkSize */
        start local 2 // int chunkSize
         8: .line 198
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifeq 11
         9: .line 199
            aload 0 /* this */
            iconst_1
            putfield org.jvnet.mimepull.MIMEParser.done:Z
        10: .line 200
            new org.jvnet.mimepull.MIMEParsingException
            dup
            ldc "Reached EOF, but there is no closing MIME boundary."
            invokespecial org.jvnet.mimepull.MIMEParsingException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 202
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkSize */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 2 /* chunkSize */
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            areturn
        end local 2 // int chunkSize
        12: .line 206
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            istore 2 /* chunkLen */
        start local 2 // int chunkLen
        13: .line 207
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bol:Z
            ifeq 14
            iload 1 /* start */
            ifeq 20
        14: .line 209
      StackMap locals: int
      StackMap stack:
            iload 1 /* start */
            ifle 19
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            iconst_1
            isub
            baload
            bipush 10
            if_icmpeq 15
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 19
        15: .line 210
      StackMap locals:
      StackMap stack:
            iinc 2 /* chunkLen */ -1
        16: .line 211
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            iconst_1
            isub
            baload
            bipush 10
            if_icmpne 20
            iload 1 /* start */
            iconst_1
            if_icmple 20
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            iconst_2
            isub
            baload
            bipush 13
            if_icmpne 20
        17: .line 212
            iinc 2 /* chunkLen */ -1
        18: .line 214
            goto 20
        19: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* start */
            isub
            iconst_1
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            areturn
        20: .line 218
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 24
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            baload
            bipush 45
            if_icmpne 24
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iconst_1
            iadd
            baload
            bipush 45
            if_icmpne 24
        21: .line 219
            aload 0 /* this */
            getstatic org.jvnet.mimepull.MIMEParser$STATE.END_PART:Lorg/jvnet/mimepull/MIMEParser$STATE;
            putfield org.jvnet.mimepull.MIMEParser.state:Lorg/jvnet/mimepull/MIMEParser$STATE;
        22: .line 220
            aload 0 /* this */
            iconst_1
            putfield org.jvnet.mimepull.MIMEParser.done:Z
        23: .line 221
            aload 0 /* this */
            iload 2 /* chunkLen */
            iconst_0
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            areturn
        24: .line 225
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* lwsp */
        start local 3 // int lwsp
        25: .line 226
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            istore 4 /* i */
        start local 4 // int i
        26: goto 29
        27: .line 227
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* lwsp */ 1
        28: .line 226
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 4 /* i */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 30
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 4 /* i */
            baload
            bipush 32
            if_icmpeq 27
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 4 /* i */
            baload
            bipush 9
            if_icmpeq 27
        end local 4 // int i
        30: .line 231
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 3 /* lwsp */
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 33
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 3 /* lwsp */
            iadd
            baload
            bipush 10
            if_icmpne 33
        31: .line 232
            aload 0 /* this */
            getstatic org.jvnet.mimepull.MIMEParser$STATE.END_PART:Lorg/jvnet/mimepull/MIMEParser$STATE;
            putfield org.jvnet.mimepull.MIMEParser.state:Lorg/jvnet/mimepull/MIMEParser$STATE;
        32: .line 233
            aload 0 /* this */
            iload 2 /* chunkLen */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* start */
            isub
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            isub
            iload 3 /* lwsp */
            isub
            iconst_1
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            areturn
        33: .line 234
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 3 /* lwsp */
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 36
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 3 /* lwsp */
            iadd
            baload
            bipush 13
            if_icmpne 36
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 3 /* lwsp */
            iadd
            iconst_1
            iadd
            baload
            bipush 10
            if_icmpne 36
        34: .line 235
            aload 0 /* this */
            getstatic org.jvnet.mimepull.MIMEParser$STATE.END_PART:Lorg/jvnet/mimepull/MIMEParser$STATE;
            putfield org.jvnet.mimepull.MIMEParser.state:Lorg/jvnet/mimepull/MIMEParser$STATE;
        35: .line 236
            aload 0 /* this */
            iload 2 /* chunkLen */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* start */
            isub
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            isub
            iload 3 /* lwsp */
            isub
            iconst_2
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            areturn
        36: .line 237
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 3 /* lwsp */
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 38
        37: .line 238
            aload 0 /* this */
            iload 2 /* chunkLen */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 2 /* chunkLen */
            isub
            iconst_1
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            areturn
        38: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifeq 41
        39: .line 240
            aload 0 /* this */
            iconst_1
            putfield org.jvnet.mimepull.MIMEParser.done:Z
        40: .line 241
            new org.jvnet.mimepull.MIMEParsingException
            dup
            ldc "Reached EOF, but there is no closing MIME boundary."
            invokespecial org.jvnet.mimepull.MIMEParsingException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* chunkLen */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 2 /* chunkLen */
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            areturn
        end local 3 // int lwsp
        end local 2 // int chunkLen
        end local 1 // int start
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   42     0       this  Lorg/jvnet/mimepull/MIMEParser;
            3   42     1      start  I
            8   12     2  chunkSize  I
           13   42     2   chunkLen  I
           25   42     3       lwsp  I
           26   30     4          i  I

  private java.nio.ByteBuffer adjustBuf(int, int);
    descriptor: (II)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jvnet.mimepull.MIMEParser this
        start local 1 // int chunkSize
        start local 2 // int remaining
         0: .line 258
            getstatic org.jvnet.mimepull.MIMEParser.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 259
      StackMap locals:
      StackMap stack:
            getstatic org.jvnet.mimepull.MIMEParser.$assertionsDisabled:Z
            ifne 2
            iload 1 /* chunkSize */
            ifge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 260
      StackMap locals:
      StackMap stack:
            getstatic org.jvnet.mimepull.MIMEParser.$assertionsDisabled:Z
            ifne 3
            iload 2 /* remaining */
            ifge 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            astore 3 /* temp */
        start local 3 // byte[] temp
         4: .line 264
            aload 0 /* this */
            iload 2 /* remaining */
            invokevirtual org.jvnet.mimepull.MIMEParser.createBuf:(I)V
         5: .line 265
            aload 3 /* temp */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 2 /* remaining */
            isub
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iconst_0
            iload 2 /* remaining */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 266
            aload 0 /* this */
            iload 2 /* remaining */
            putfield org.jvnet.mimepull.MIMEParser.len:I
         7: .line 268
            aload 3 /* temp */
            iconst_0
            iload 1 /* chunkSize */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            areturn
        end local 3 // byte[] temp
        end local 2 // int remaining
        end local 1 // int chunkSize
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/jvnet/mimepull/MIMEParser;
            0    8     1  chunkSize  I
            0    8     2  remaining  I
            4    8     3       temp  [B
    MethodParameters:
           Name  Flags
      chunkSize  
      remaining  

  private void createBuf(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jvnet.mimepull.MIMEParser this
        start local 1 // int min
         0: .line 272
            aload 0 /* this */
            iload 1 /* min */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.capacity:I
            if_icmpge 1
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.capacity:I
            goto 2
      StackMap locals:
      StackMap stack: org.jvnet.mimepull.MIMEParser
         1: iload 1 /* min */
      StackMap locals: org.jvnet.mimepull.MIMEParser int
      StackMap stack: org.jvnet.mimepull.MIMEParser int
         2: newarray 8
            putfield org.jvnet.mimepull.MIMEParser.buf:[B
         3: .line 273
            return
        end local 1 // int min
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jvnet/mimepull/MIMEParser;
            0    4     1   min  I
    MethodParameters:
      Name  Flags
      min   

  private void skipPreamble();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.jvnet.mimepull.MIMEParser this
         0: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifne 2
         1: .line 282
            aload 0 /* this */
            invokevirtual org.jvnet.mimepull.MIMEParser.fillBuf:()V
         2: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iconst_0
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            invokevirtual org.jvnet.mimepull.MIMEParser.match:([BII)I
            istore 1 /* start */
        start local 1 // int start
         3: .line 285
            iload 1 /* start */
            iconst_m1
            if_icmpne 8
         4: .line 287
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifeq 6
         5: .line 288
            new org.jvnet.mimepull.MIMEParsingException
            dup
            ldc "Missing start boundary"
            invokespecial org.jvnet.mimepull.MIMEParsingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 290
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            isub
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iconst_1
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            pop
         7: .line 291
            goto 0
         8: .line 295
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.config:Lorg/jvnet/mimepull/MIMEConfig;
            getfield org.jvnet.mimepull.MIMEConfig.chunkSize:I
            if_icmple 11
         9: .line 296
            aload 0 /* this */
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* start */
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            pop
        10: .line 297
            goto 0
        11: .line 300
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* lwsp */
        start local 2 // int lwsp
        12: .line 301
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            istore 3 /* i */
        start local 3 // int i
        13: goto 16
        14: .line 302
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* lwsp */ 1
        15: .line 301
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 17
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 3 /* i */
            baload
            bipush 32
            if_icmpeq 14
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 3 /* i */
            baload
            bipush 9
            if_icmpeq 14
        end local 3 // int i
        17: .line 305
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 24
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            baload
            bipush 10
            if_icmpeq 18
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            baload
            bipush 13
            if_icmpne 24
        18: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            baload
            bipush 10
            if_icmpne 21
        19: .line 307
            aload 0 /* this */
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* start */
            isub
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            isub
            iload 2 /* lwsp */
            isub
            iconst_1
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            pop
        20: .line 308
            goto 26
        21: .line 309
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            if_icmpge 24
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            iconst_1
            iadd
            baload
            bipush 10
            if_icmpne 24
        22: .line 310
            aload 0 /* this */
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            iadd
            iload 2 /* lwsp */
            iadd
            iconst_2
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* start */
            isub
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bl:I
            isub
            iload 2 /* lwsp */
            isub
            iconst_2
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            pop
        23: .line 311
            goto 26
        24: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* start */
            isub
            iconst_1
            isub
            invokevirtual org.jvnet.mimepull.MIMEParser.adjustBuf:(II)Ljava/nio/ByteBuffer;
            pop
        end local 2 // int lwsp
        end local 1 // int start
        25: .line 280
            goto 0
        26: .line 316
      StackMap locals:
      StackMap stack:
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 27
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Skipped the preamble. buffer len={0}"
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
        27: .line 317
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0   this  Lorg/jvnet/mimepull/MIMEParser;
            3   25     1  start  I
           12   25     2   lwsp  I
           13   17     3      i  I

  private static byte[] getBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String s
         0: .line 320
            aload 0 /* s */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 321
            aload 1 /* chars */
            arraylength
            istore 2 /* size */
        start local 2 // int size
         2: .line 322
            iload 2 /* size */
            newarray 8
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         3: .line 324
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 6
         5: .line 325
      StackMap locals: java.lang.String char[] int byte[] int
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* i */
            aload 1 /* chars */
            iload 4 /* i */
            iinc 4 /* i */ 1
            caload
            i2b
            bastore
         6: .line 324
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 2 /* size */
            if_icmplt 5
        end local 4 // int i
         7: .line 327
            aload 3 /* bytes */
            areturn
        end local 3 // byte[] bytes
        end local 2 // int size
        end local 1 // char[] chars
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0      s  Ljava/lang/String;
            1    8     1  chars  [C
            2    8     2   size  I
            3    8     3  bytes  [B
            4    7     4      i  I
    MethodParameters:
      Name  Flags
      s     

  private void compileBoundaryPattern();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.jvnet.mimepull.MIMEParser this
         0: .line 345
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 346
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bcs:[I
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            iload 1 /* i */
            baload
            bipush 127
            iand
            iload 1 /* i */
            iconst_1
            iadd
            iastore
         3: .line 345
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            arraylength
            if_icmplt 2
         5: .line 351
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            arraylength
            istore 1 /* i */
            goto 16
         6: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            arraylength
            iconst_1
            isub
            istore 2 /* j */
        start local 2 // int j
         7: goto 11
         8: .line 355
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            iload 2 /* j */
            baload
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            iload 2 /* j */
            iload 1 /* i */
            isub
            baload
            if_icmpne 15
         9: .line 357
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.gss:[I
            iload 2 /* j */
            iconst_1
            isub
            iload 1 /* i */
            iastore
        10: .line 353
            iinc 2 /* j */ -1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* j */
            iload 1 /* i */
            if_icmpge 8
        12: .line 367
            goto 14
        13: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.gss:[I
            iinc 2 /* j */ -1
            iload 2 /* j */
            iload 1 /* i */
            iastore
        14: .line 367
      StackMap locals:
      StackMap stack:
            iload 2 /* j */
            ifgt 13
        15: .line 351
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
        end local 2 // int j
      StackMap locals:
      StackMap stack:
        16: iload 1 /* i */
            ifgt 6
        17: .line 372
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.gss:[I
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            arraylength
            iconst_1
            isub
            iconst_1
            iastore
        18: .line 373
            return
        end local 1 // int i
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/jvnet/mimepull/MIMEParser;
            1   19     1     i  I
            7   16     2     j  I

  private int match(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.jvnet.mimepull.MIMEParser this
        start local 1 // byte[] mybuf
        start local 2 // int off
        start local 3 // int len
         0: .line 386
            iload 3 /* len */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            arraylength
            isub
            istore 4 /* last */
        start local 4 // int last
         1: .line 389
            goto 11
         2: .line 391
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            arraylength
            iconst_1
            isub
            istore 5 /* j */
        start local 5 // int j
         3: goto 9
         4: .line 392
      StackMap locals: int
      StackMap stack:
            aload 1 /* mybuf */
            iload 2 /* off */
            iload 5 /* j */
            iadd
            baload
            istore 6 /* ch */
        start local 6 // byte ch
         5: .line 393
            iload 6 /* ch */
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bndbytes:[B
            iload 5 /* j */
            baload
            if_icmpeq 8
         6: .line 396
            iload 2 /* off */
            iload 5 /* j */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.bcs:[I
            iload 6 /* ch */
            bipush 127
            iand
            iaload
            isub
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.gss:[I
            iload 5 /* j */
            iaload
            invokestatic java.lang.Math.max:(II)I
            iadd
            istore 2 /* off */
         7: .line 397
            goto 11
        end local 6 // byte ch
         8: .line 391
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ -1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* j */
            ifge 4
        end local 5 // int j
        10: .line 401
            iload 2 /* off */
            ireturn
        11: .line 389
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 4 /* last */
            if_icmple 2
        12: .line 403
            iconst_m1
            ireturn
        end local 4 // int last
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] mybuf
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/jvnet/mimepull/MIMEParser;
            0   13     1  mybuf  [B
            0   13     2    off  I
            0   13     3    len  I
            1   13     4   last  I
            3   10     5      j  I
            5    8     6     ch  B
    MethodParameters:
       Name  Flags
      mybuf  
      off    
      len    

  private void fillBuf();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jvnet.mimepull.MIMEParser this
         0: .line 410
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 1
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc "Before fillBuf() buffer len={0}"
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 411
      StackMap locals:
      StackMap stack:
            getstatic org.jvnet.mimepull.MIMEParser.$assertionsDisabled:Z
            ifne 14
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            arraylength
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 1 /* read */
        start local 1 // int read
         3: .line 416
            goto 6
        end local 1 // int read
      StackMap locals:
      StackMap stack: java.io.IOException
         4: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         5: .line 417
            new org.jvnet.mimepull.MIMEParsingException
            dup
            aload 2 /* ioe */
            invokespecial org.jvnet.mimepull.MIMEParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ioe
        start local 1 // int read
         6: .line 419
      StackMap locals: int
      StackMap stack:
            iload 1 /* read */
            iconst_m1
            if_icmpne 13
         7: .line 420
            aload 0 /* this */
            iconst_1
            putfield org.jvnet.mimepull.MIMEParser.eof:Z
         8: .line 422
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 9
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            ldc "Closing the input stream."
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         9: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        10: .line 424
            goto 15
      StackMap locals:
      StackMap stack: java.io.IOException
        11: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
        12: .line 425
            new org.jvnet.mimepull.MIMEParsingException
            dup
            aload 2 /* ioe */
            invokespecial org.jvnet.mimepull.MIMEParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ioe
        13: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jvnet.mimepull.MIMEParser.len:I
            iload 1 /* read */
            iadd
            putfield org.jvnet.mimepull.MIMEParser.len:I
        end local 1 // int read
        14: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            arraylength
            if_icmplt 2
        15: .line 432
      StackMap locals:
      StackMap stack:
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 16
            getstatic org.jvnet.mimepull.MIMEParser.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc "After fillBuf() buffer len={0}"
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
        16: .line 433
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/jvnet/mimepull/MIMEParser;
            3    4     1  read  I
            6   14     1  read  I
            5    6     2   ioe  Ljava/io/IOException;
           12   13     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
           8    10      11  Class java.io.IOException

  private void doubleBuf();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jvnet.mimepull.MIMEParser this
         0: .line 436
            iconst_2
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            imul
            newarray 8
            astore 1 /* temp */
        start local 1 // byte[] temp
         1: .line 437
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.buf:[B
            iconst_0
            aload 1 /* temp */
            iconst_0
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.len:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 438
            aload 0 /* this */
            aload 1 /* temp */
            putfield org.jvnet.mimepull.MIMEParser.buf:[B
         3: .line 439
            aload 0 /* this */
            getfield org.jvnet.mimepull.MIMEParser.eof:Z
            ifne 5
         4: .line 440
            aload 0 /* this */
            invokevirtual org.jvnet.mimepull.MIMEParser.fillBuf:()V
         5: .line 442
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 1 // byte[] temp
        end local 0 // org.jvnet.mimepull.MIMEParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jvnet/mimepull/MIMEParser;
            1    6     1  temp  [B
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Lorg/jvnet/mimepull/MIMEEvent;>;
SourceFile: "MIMEParser.java"
NestMembers:
  org.jvnet.mimepull.MIMEParser$LineInputStream  org.jvnet.mimepull.MIMEParser$MIMEEventIterator  org.jvnet.mimepull.MIMEParser$STATE
InnerClasses:
  LineInputStream = org.jvnet.mimepull.MIMEParser$LineInputStream of org.jvnet.mimepull.MIMEParser
  MIMEEventIterator = org.jvnet.mimepull.MIMEParser$MIMEEventIterator of org.jvnet.mimepull.MIMEParser
  private final STATE = org.jvnet.mimepull.MIMEParser$STATE of org.jvnet.mimepull.MIMEParser