class org.apache.commons.compress.archivers.sevenz.LZMADecoder extends org.apache.commons.compress.archivers.sevenz.CoderBase
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.commons.compress.archivers.sevenz.LZMADecoder
  super_class: org.apache.commons.compress.archivers.sevenz.CoderBase
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
         0: .line 32
            aload 0 /* this */
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/tukaani/xz/LZMA2Options;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Number;
            aastore
            invokespecial org.apache.commons.compress.archivers.sevenz.CoderBase.<init>:([Ljava/lang/Class;)V
         1: .line 33
            return
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;

  java.io.InputStream decode(java.lang.String, java.io.InputStream, long, org.apache.commons.compress.archivers.sevenz.Coder, byte[]);
    descriptor: (Ljava/lang/String;Ljava/io/InputStream;JLorg/apache/commons/compress/archivers/sevenz/Coder;[B)Ljava/io/InputStream;
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
        start local 1 // java.lang.String archiveName
        start local 2 // java.io.InputStream in
        start local 3 // long uncompressedLength
        start local 5 // org.apache.commons.compress.archivers.sevenz.Coder coder
        start local 6 // byte[] password
         0: .line 38
            aload 5 /* coder */
            getfield org.apache.commons.compress.archivers.sevenz.Coder.properties:[B
            iconst_0
            baload
            istore 7 /* propsByte */
        start local 7 // byte propsByte
         1: .line 39
            aload 0 /* this */
            aload 5 /* coder */
            invokevirtual org.apache.commons.compress.archivers.sevenz.LZMADecoder.getDictionarySize:(Lorg/apache/commons/compress/archivers/sevenz/Coder;)I
            istore 8 /* dictSize */
        start local 8 // int dictSize
         2: .line 40
            iload 8 /* dictSize */
            ldc 2147483632
            if_icmple 4
         3: .line 41
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Dictionary larger than 4GiB maximum size used in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* archiveName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 43
      StackMap locals: int int
      StackMap stack:
            new org.tukaani.xz.LZMAInputStream
            dup
            aload 2 /* in */
            lload 3 /* uncompressedLength */
            iload 7 /* propsByte */
            iload 8 /* dictSize */
            invokespecial org.tukaani.xz.LZMAInputStream.<init>:(Ljava/io/InputStream;JBI)V
            areturn
        end local 8 // int dictSize
        end local 7 // byte propsByte
        end local 6 // byte[] password
        end local 5 // org.apache.commons.compress.archivers.sevenz.Coder coder
        end local 3 // long uncompressedLength
        end local 2 // java.io.InputStream in
        end local 1 // java.lang.String archiveName
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;
            0    5     1         archiveName  Ljava/lang/String;
            0    5     2                  in  Ljava/io/InputStream;
            0    5     3  uncompressedLength  J
            0    5     5               coder  Lorg/apache/commons/compress/archivers/sevenz/Coder;
            0    5     6            password  [B
            1    5     7           propsByte  B
            2    5     8            dictSize  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                    Name  Flags
      archiveName         final
      in                  final
      uncompressedLength  final
      coder               final
      password            final

  java.io.OutputStream encode(java.io.OutputStream, java.lang.Object);
    descriptor: (Ljava/io/OutputStream;Ljava/lang/Object;)Ljava/io/OutputStream;
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
        start local 1 // java.io.OutputStream out
        start local 2 // java.lang.Object opts
         0: .line 51
            new org.apache.commons.compress.utils.FlushShieldFilterOutputStream
            dup
            new org.tukaani.xz.LZMAOutputStream
            dup
            aload 1 /* out */
            aload 0 /* this */
            aload 2 /* opts */
            invokevirtual org.apache.commons.compress.archivers.sevenz.LZMADecoder.getOptions:(Ljava/lang/Object;)Lorg/tukaani/xz/LZMA2Options;
            iconst_0
            invokespecial org.tukaani.xz.LZMAOutputStream.<init>:(Ljava/io/OutputStream;Lorg/tukaani/xz/LZMA2Options;Z)V
            invokespecial org.apache.commons.compress.utils.FlushShieldFilterOutputStream.<init>:(Ljava/io/OutputStream;)V
            areturn
        end local 2 // java.lang.Object opts
        end local 1 // java.io.OutputStream out
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;
            0    1     1   out  Ljava/io/OutputStream;
            0    1     2  opts  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   final
      opts  final

  byte[] getOptionsAsProperties(java.lang.Object);
    descriptor: (Ljava/lang/Object;)[B
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
        start local 1 // java.lang.Object opts
         0: .line 56
            aload 0 /* this */
            aload 1 /* opts */
            invokevirtual org.apache.commons.compress.archivers.sevenz.LZMADecoder.getOptions:(Ljava/lang/Object;)Lorg/tukaani/xz/LZMA2Options;
            astore 2 /* options */
        start local 2 // org.tukaani.xz.LZMA2Options options
         1: .line 57
            aload 2 /* options */
            invokevirtual org.tukaani.xz.LZMA2Options.getPb:()I
            iconst_5
            imul
            aload 2 /* options */
            invokevirtual org.tukaani.xz.LZMA2Options.getLp:()I
            iadd
            bipush 9
            imul
            aload 2 /* options */
            invokevirtual org.tukaani.xz.LZMA2Options.getLc:()I
            iadd
            i2b
            istore 3 /* props */
        start local 3 // byte props
         2: .line 58
            aload 2 /* options */
            invokevirtual org.tukaani.xz.LZMA2Options.getDictSize:()I
            istore 4 /* dictSize */
        start local 4 // int dictSize
         3: .line 59
            iconst_5
            newarray 8
            astore 5 /* o */
        start local 5 // byte[] o
         4: .line 60
            aload 5 /* o */
            iconst_0
            iload 3 /* props */
            bastore
         5: .line 61
            aload 5 /* o */
            iload 4 /* dictSize */
            i2l
            iconst_1
            iconst_4
            invokestatic org.apache.commons.compress.utils.ByteUtils.toLittleEndian:([BJII)V
         6: .line 62
            aload 5 /* o */
            areturn
        end local 5 // byte[] o
        end local 4 // int dictSize
        end local 3 // byte props
        end local 2 // org.tukaani.xz.LZMA2Options options
        end local 1 // java.lang.Object opts
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;
            0    7     1      opts  Ljava/lang/Object;
            1    7     2   options  Lorg/tukaani/xz/LZMA2Options;
            2    7     3     props  B
            3    7     4  dictSize  I
            4    7     5         o  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      opts  final

  java.lang.Object getOptionsFromCoder(org.apache.commons.compress.archivers.sevenz.Coder, java.io.InputStream);
    descriptor: (Lorg/apache/commons/compress/archivers/sevenz/Coder;Ljava/io/InputStream;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
        start local 1 // org.apache.commons.compress.archivers.sevenz.Coder coder
        start local 2 // java.io.InputStream in
         0: .line 67
            aload 1 /* coder */
            getfield org.apache.commons.compress.archivers.sevenz.Coder.properties:[B
            iconst_0
            baload
            istore 3 /* propsByte */
        start local 3 // byte propsByte
         1: .line 68
            iload 3 /* propsByte */
            sipush 255
            iand
            istore 4 /* props */
        start local 4 // int props
         2: .line 69
            iload 4 /* props */
            bipush 45
            idiv
            istore 5 /* pb */
        start local 5 // int pb
         3: .line 70
            iload 4 /* props */
            iload 5 /* pb */
            bipush 9
            imul
            iconst_5
            imul
            isub
            istore 4 /* props */
         4: .line 71
            iload 4 /* props */
            bipush 9
            idiv
            istore 6 /* lp */
        start local 6 // int lp
         5: .line 72
            iload 4 /* props */
            iload 6 /* lp */
            bipush 9
            imul
            isub
            istore 7 /* lc */
        start local 7 // int lc
         6: .line 73
            new org.tukaani.xz.LZMA2Options
            dup
            invokespecial org.tukaani.xz.LZMA2Options.<init>:()V
            astore 8 /* opts */
        start local 8 // org.tukaani.xz.LZMA2Options opts
         7: .line 74
            aload 8 /* opts */
            iload 5 /* pb */
            invokevirtual org.tukaani.xz.LZMA2Options.setPb:(I)V
         8: .line 75
            aload 8 /* opts */
            iload 7 /* lc */
            iload 6 /* lp */
            invokevirtual org.tukaani.xz.LZMA2Options.setLcLp:(II)V
         9: .line 76
            aload 8 /* opts */
            aload 0 /* this */
            aload 1 /* coder */
            invokevirtual org.apache.commons.compress.archivers.sevenz.LZMADecoder.getDictionarySize:(Lorg/apache/commons/compress/archivers/sevenz/Coder;)I
            invokevirtual org.tukaani.xz.LZMA2Options.setDictSize:(I)V
        10: .line 77
            aload 8 /* opts */
            areturn
        end local 8 // org.tukaani.xz.LZMA2Options opts
        end local 7 // int lc
        end local 6 // int lp
        end local 5 // int pb
        end local 4 // int props
        end local 3 // byte propsByte
        end local 2 // java.io.InputStream in
        end local 1 // org.apache.commons.compress.archivers.sevenz.Coder coder
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;
            0   11     1      coder  Lorg/apache/commons/compress/archivers/sevenz/Coder;
            0   11     2         in  Ljava/io/InputStream;
            1   11     3  propsByte  B
            2   11     4      props  I
            3   11     5         pb  I
            5   11     6         lp  I
            6   11     7         lc  I
            7   11     8       opts  Lorg/tukaani/xz/LZMA2Options;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      coder  final
      in     final

  private int getDictionarySize(org.apache.commons.compress.archivers.sevenz.Coder);
    descriptor: (Lorg/apache/commons/compress/archivers/sevenz/Coder;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
        start local 1 // org.apache.commons.compress.archivers.sevenz.Coder coder
         0: .line 81
            aload 1 /* coder */
            getfield org.apache.commons.compress.archivers.sevenz.Coder.properties:[B
            iconst_1
            iconst_4
            invokestatic org.apache.commons.compress.utils.ByteUtils.fromLittleEndian:([BII)J
            l2i
            ireturn
        end local 1 // org.apache.commons.compress.archivers.sevenz.Coder coder
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;
            0    1     1  coder  Lorg/apache/commons/compress/archivers/sevenz/Coder;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
       Name  Flags
      coder  final

  private org.tukaani.xz.LZMA2Options getOptions(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/tukaani/xz/LZMA2Options;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
        start local 1 // java.lang.Object opts
         0: .line 85
            aload 1 /* opts */
            instanceof org.tukaani.xz.LZMA2Options
            ifeq 2
         1: .line 86
            aload 1 /* opts */
            checkcast org.tukaani.xz.LZMA2Options
            areturn
         2: .line 88
      StackMap locals:
      StackMap stack:
            new org.tukaani.xz.LZMA2Options
            dup
            invokespecial org.tukaani.xz.LZMA2Options.<init>:()V
            astore 2 /* options */
        start local 2 // org.tukaani.xz.LZMA2Options options
         3: .line 89
            aload 2 /* options */
            aload 0 /* this */
            aload 1 /* opts */
            invokevirtual org.apache.commons.compress.archivers.sevenz.LZMADecoder.numberOptionOrDefault:(Ljava/lang/Object;)I
            invokevirtual org.tukaani.xz.LZMA2Options.setDictSize:(I)V
         4: .line 90
            aload 2 /* options */
            areturn
        end local 2 // org.tukaani.xz.LZMA2Options options
        end local 1 // java.lang.Object opts
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;
            0    5     1     opts  Ljava/lang/Object;
            3    5     2  options  Lorg/tukaani/xz/LZMA2Options;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      opts  final

  private int numberOptionOrDefault(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
        start local 1 // java.lang.Object opts
         0: .line 94
            aload 1 /* opts */
            ldc 8388608
            invokestatic org.apache.commons.compress.archivers.sevenz.LZMADecoder.numberOptionOrDefault:(Ljava/lang/Object;I)I
            ireturn
        end local 1 // java.lang.Object opts
        end local 0 // org.apache.commons.compress.archivers.sevenz.LZMADecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/compress/archivers/sevenz/LZMADecoder;
            0    1     1  opts  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      opts  final
}
SourceFile: "LZMADecoder.java"