public class org.jruby.util.Pack
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.util.Pack
  super_class: java.lang.Object
{
  private static final byte[] sSp10;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] sNil10;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int IS_STAR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final org.jcodings.specific.ASCIIEncoding ASCII;
    descriptor: Lorg/jcodings/specific/ASCIIEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jcodings.specific.USASCIIEncoding USASCII;
    descriptor: Lorg/jcodings/specific/USASCIIEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jcodings.specific.UTF8Encoding UTF8;
    descriptor: Lorg/jcodings/specific/UTF8Encoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NATIVE_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sSiIlL"

  private static final java.lang.String MAPPED_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sSiIqQ"

  private static final char BE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 61

  private static final char LE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 60

  private static final java.lang.String ENDIANESS_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String UNPACK_IGNORE_NULL_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "cC"

  private static final java.lang.String PACK_IGNORE_NULL_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "cCiIlLnNqQsSvV"

  private static final java.lang.String PACK_IGNORE_NULL_CODES_WITH_MODIFIERS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "lLsS"

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

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

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

  private static final java.lang.String sTooFew;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "too few arguments"

  private static final byte[] uu_table;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] b64_table;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final byte[] sHexDigits;
    descriptor: [B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int[] b64_xtable;
    descriptor: [I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.Pack$Converter[] converters;
    descriptor: [Lorg/jruby/util/Pack$Converter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long[] utf8_limits;
    descriptor: [J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=0
         0: .line 57
            ldc "          "
            invokevirtual java.lang.String.getBytes:()[B
            putstatic org.jruby.util.Pack.sSp10:[B
         1: .line 58
            ldc "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
            invokevirtual java.lang.String.getBytes:()[B
            putstatic org.jruby.util.Pack.sNil10:[B
         2: .line 60
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            putstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
         3: .line 61
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            putstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
         4: .line 62
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            putstatic org.jruby.util.Pack.UTF8:Lorg/jcodings/specific/UTF8Encoding;
         5: .line 70
            new java.lang.String
            dup
            bipush 16
            newarray 5
            dup
            iconst_0
         6: .line 71
            sipush 176
            castore
            dup
            iconst_1
            sipush 144
            castore
            dup
            iconst_2
            sipush 166
            castore
            dup
            iconst_3
            sipush 134
            castore
            dup
            iconst_4
            sipush 169
            castore
            dup
            iconst_5
            sipush 137
            castore
            dup
            bipush 6
            sipush 174
            castore
            dup
            bipush 7
            sipush 142
            castore
            dup
            bipush 8
         7: .line 72
            sipush 175
            castore
            dup
            bipush 9
            sipush 143
            castore
            dup
            bipush 10
            sipush 165
            castore
            dup
            bipush 11
            sipush 133
            castore
            dup
            bipush 12
            sipush 168
            castore
            dup
            bipush 13
            sipush 136
            castore
            dup
            bipush 14
            sipush 173
            castore
            dup
            bipush 15
            sipush 141
            castore
         8: .line 70
            invokespecial java.lang.String.<init>:([C)V
            putstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
         9: .line 86
            sipush 256
            newarray 10
            putstatic org.jruby.util.Pack.b64_xtable:[I
        10: .line 87
            sipush 256
            anewarray org.jruby.util.Pack$Converter
            putstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
        11: .line 108
            ldc "`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
        12: .line 107
            putstatic org.jruby.util.Pack.uu_table:[B
        13: .line 110
            ldc "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
        14: .line 109
            putstatic org.jruby.util.Pack.b64_table:[B
        15: .line 111
            ldc "0123456789abcdef0123456789ABCDEFx"
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
            putstatic org.jruby.util.Pack.sHexDigits:[B
        16: .line 114
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        17: goto 20
        18: .line 115
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 0 /* i */
            iconst_m1
            iastore
        19: .line 114
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 0 /* i */
            sipush 256
            if_icmplt 18
        end local 0 // int i
        21: .line 117
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        22: goto 25
        23: .line 118
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            getstatic org.jruby.util.Pack.b64_table:[B
            iload 0 /* i */
            baload
            iload 0 /* i */
            iastore
        24: .line 117
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 0 /* i */
            bipush 64
            if_icmplt 23
        end local 0 // int i
        26: .line 122
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 101
            new org.jruby.util.Pack$1
            dup
            iconst_4
            invokespecial org.jruby.util.Pack$1.<init>:(I)V
            aastore
        27: .line 133
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 103
            new org.jruby.util.Pack$2
            dup
            iconst_4
            invokespecial org.jruby.util.Pack$2.<init>:(I)V
            aastore
        28: .line 144
            new org.jruby.util.Pack$3
            dup
            iconst_4
            invokespecial org.jruby.util.Pack$3.<init>:(I)V
            astore 0 /* tmp */
        start local 0 // org.jruby.util.Pack$Converter tmp
        29: .line 160
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 70
            aload 0 /* tmp */
            aastore
        30: .line 161
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 102
            aload 0 /* tmp */
            aastore
        31: .line 164
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 69
            new org.jruby.util.Pack$4
            dup
            bipush 8
            invokespecial org.jruby.util.Pack$4.<init>:(I)V
            aastore
        32: .line 175
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 71
            new org.jruby.util.Pack$5
            dup
            bipush 8
            invokespecial org.jruby.util.Pack$5.<init>:(I)V
            aastore
        33: .line 186
            new org.jruby.util.Pack$6
            dup
            bipush 8
            invokespecial org.jruby.util.Pack$6.<init>:(I)V
            astore 0 /* tmp */
        34: .line 200
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 68
            aload 0 /* tmp */
            aastore
        35: .line 201
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 100
            aload 0 /* tmp */
            aastore
        36: .line 204
            new org.jruby.util.Pack$7
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$7.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        37: .line 214
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 118
            aload 0 /* tmp */
            aastore
        38: .line 215
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 143
            aload 0 /* tmp */
            aastore
        39: .line 217
            new org.jruby.util.Pack$8
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$8.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        40: .line 227
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 110
            aload 0 /* tmp */
            aastore
        41: .line 228
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 144
            aload 0 /* tmp */
            aastore
        42: .line 230
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 115
            new org.jruby.util.Pack$9
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$9.<init>:(ILjava/lang/String;)V
            aastore
        43: .line 242
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 83
            new org.jruby.util.Pack$10
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$10.<init>:(ILjava/lang/String;)V
            aastore
        44: .line 254
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 175
            new org.jruby.util.Pack$11
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$11.<init>:(ILjava/lang/String;)V
            aastore
        45: .line 265
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 176
            new org.jruby.util.Pack$12
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$12.<init>:(ILjava/lang/String;)V
            aastore
        46: .line 277
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 99
            new org.jruby.util.Pack$13
            dup
            iconst_1
            ldc "Integer"
            invokespecial org.jruby.util.Pack$13.<init>:(ILjava/lang/String;)V
            aastore
        47: .line 289
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 67
            new org.jruby.util.Pack$14
            dup
            iconst_1
            ldc "Integer"
            invokespecial org.jruby.util.Pack$14.<init>:(ILjava/lang/String;)V
            aastore
        48: .line 301
            new org.jruby.util.Pack$15
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$15.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        49: .line 310
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 86
            aload 0 /* tmp */
            aastore
        50: .line 311
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 136
            aload 0 /* tmp */
            aastore
        51: .line 312
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 133
            aload 0 /* tmp */
            aastore
        52: .line 315
            new org.jruby.util.Pack$16
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$16.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        53: .line 324
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 78
            aload 0 /* tmp */
            aastore
        54: .line 325
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 137
            aload 0 /* tmp */
            aastore
        55: .line 326
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 134
            aload 0 /* tmp */
            aastore
        56: .line 329
            new org.jruby.util.Pack$17
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$17.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        57: .line 342
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 73
            aload 0 /* tmp */
            aastore
        58: .line 343
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 76
            aload 0 /* tmp */
            aastore
        59: .line 346
            new org.jruby.util.Pack$18
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$18.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        60: .line 356
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 105
            aload 0 /* tmp */
            aastore
        61: .line 357
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 108
            aload 0 /* tmp */
            aastore
        62: .line 360
            new org.jruby.util.Pack$19
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$19.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        63: .line 369
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 165
            aload 0 /* tmp */
            aastore
        64: .line 370
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 168
            aload 0 /* tmp */
            aastore
        65: .line 373
            new org.jruby.util.Pack$20
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$20.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        66: .line 382
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 166
            aload 0 /* tmp */
            aastore
        67: .line 383
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 169
            aload 0 /* tmp */
            aastore
        68: .line 386
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 81
            new org.jruby.util.Pack$21
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$21.<init>:(ILjava/lang/String;)V
            aastore
        69: .line 399
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 141
            new org.jruby.util.Pack$22
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$22.<init>:(ILjava/lang/String;)V
            aastore
        70: .line 411
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 142
            new org.jruby.util.Pack$23
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$23.<init>:(ILjava/lang/String;)V
            aastore
        71: .line 423
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 113
            new org.jruby.util.Pack$24
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$24.<init>:(ILjava/lang/String;)V
            aastore
        72: .line 435
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 173
            new org.jruby.util.Pack$25
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$25.<init>:(ILjava/lang/String;)V
            aastore
        73: .line 446
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 174
            new org.jruby.util.Pack$26
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$26.<init>:(ILjava/lang/String;)V
            aastore
        end local 0 // org.jruby.util.Pack$Converter tmp
        74: .line 1564
            bipush 7
            newarray 11
            dup
            iconst_1
        75: .line 1566
            ldc 128
            lastore
            dup
            iconst_2
        76: .line 1567
            ldc 2048
            lastore
            dup
            iconst_3
        77: .line 1568
            ldc 65536
            lastore
            dup
            iconst_4
        78: .line 1569
            ldc 2097152
            lastore
            dup
            iconst_5
        79: .line 1570
            ldc 67108864
            lastore
            dup
            bipush 6
        80: .line 1571
            ldc -2147483648
            lastore
        81: .line 1564
            putstatic org.jruby.util.Pack.utf8_limits:[J
        82: .line 1572
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           17   21     0     i  I
           22   26     0     i  I
           29   74     0   tmp  Lorg/jruby/util/Pack$Converter;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.Pack this
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.util.Pack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/Pack;

  private static long num2quad(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 90
            aload 0 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 1
            lconst_0
            lreturn
         1: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            instanceof org.jruby.RubyBignum
            ifeq 4
         2: .line 92
            aload 0 /* arg */
            checkcast org.jruby.RubyBignum
            invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
            astore 1 /* big */
        start local 1 // java.math.BigInteger big
         3: .line 93
            aload 1 /* big */
            invokevirtual java.math.BigInteger.longValue:()J
            lreturn
        end local 1 // java.math.BigInteger big
         4: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lreturn
        end local 0 // org.jruby.runtime.builtin.IRubyObject arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   arg  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     1   big  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      arg   

  private static float obj2flt(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject o
         0: .line 99
            aload 0 /* runtime */
            aload 1 /* o */
            invokestatic org.jruby.util.TypeConverter.toFloat:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFloat;
            invokevirtual org.jruby.RubyFloat.getDoubleValue:()D
            d2f
            freturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject o
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1        o  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      o        

  private static double obj2dbl(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject o
         0: .line 103
            aload 0 /* runtime */
            aload 1 /* o */
            invokestatic org.jruby.util.TypeConverter.toFloat:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFloat;
            invokevirtual org.jruby.RubyFloat.getDoubleValue:()D
            dreturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject o
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1        o  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      o        

  public static int unpackInt_i(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer enc
         0: .line 460
            getstatic org.jruby.platform.Platform.BYTE_ORDER:I
            sipush 4321
            if_icmpne 3
         1: .line 461
            aload 0 /* enc */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* value */
        start local 1 // int value
         2: .line 462
            goto 4
        end local 1 // int value
         3: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* enc */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* value */
        start local 1 // int value
         4: .line 465
      StackMap locals: int
      StackMap stack:
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer enc
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0    enc  Ljava/nio/ByteBuffer;
            2    3     1  value  I
            4    5     1  value  I
    MethodParameters:
      Name  Flags
      enc   

  public static org.jruby.util.ByteList packInt_i(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 469
            getstatic org.jruby.platform.Platform.BYTE_ORDER:I
            sipush 4321
            if_icmpne 3
         1: .line 470
            aload 0 /* result */
            iload 1 /* s */
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         2: .line 471
            goto 4
         3: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 1 /* s */
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         4: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  result  Lorg/jruby/util/ByteList;
            0    5     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  public static void encodeUM(org.jruby.Ruby, org.jruby.util.ByteList, int, boolean, char, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZCLorg/jruby/util/ByteList;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
        start local 3 // boolean ignoreStar
        start local 4 // char type
        start local 5 // org.jruby.util.ByteList result
         0: .line 478
            iload 2 /* occurrences */
            ifne 6
            iload 4 /* type */
            bipush 109
            if_icmpne 6
            iload 3 /* ignoreStar */
            ifne 6
         1: .line 479
            aload 0 /* runtime */
            aload 5 /* result */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         2: .line 480
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
         3: .line 481
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* type */
            i2b
            iconst_0
         4: .line 479
            invokestatic org.jruby.util.Pack.encodes:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
            pop
         5: .line 482
            return
         6: .line 485
      StackMap locals:
      StackMap stack:
            iload 2 /* occurrences */
            iconst_2
            if_icmpgt 7
            bipush 45
            goto 8
      StackMap locals:
      StackMap stack:
         7: iload 2 /* occurrences */
            iconst_3
            idiv
            iconst_3
            imul
      StackMap locals:
      StackMap stack: int
         8: istore 2 /* occurrences */
         9: .line 486
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 10
            return
        10: .line 488
      StackMap locals:
      StackMap stack:
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 6 /* charsToEncode */
        start local 6 // byte[] charsToEncode
        11: .line 489
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 18
        13: .line 490
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* runtime */
            aload 5 /* result */
            aload 6 /* charsToEncode */
        14: .line 491
            iload 7 /* i */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iadd
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 7 /* i */
            isub
        15: .line 492
            iload 2 /* occurrences */
            iload 4 /* type */
            i2b
            iconst_1
        16: .line 490
            invokestatic org.jruby.util.Pack.encodes:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
            pop
        17: .line 489
            iload 7 /* i */
            iload 2 /* occurrences */
            iadd
            istore 7 /* i */
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmplt 13
        end local 7 // int i
        19: .line 494
            return
        end local 6 // byte[] charsToEncode
        end local 5 // org.jruby.util.ByteList result
        end local 4 // char type
        end local 3 // boolean ignoreStar
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0         runtime  Lorg/jruby/Ruby;
            0   20     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   20     2     occurrences  I
            0   20     3      ignoreStar  Z
            0   20     4            type  C
            0   20     5          result  Lorg/jruby/util/ByteList;
           11   20     6   charsToEncode  [B
           12   19     7               i  I
    MethodParameters:
                Name  Flags
      runtime         
      lCurElemString  
      occurrences     
      ignoreStar      
      type            
      result          

  private static org.jruby.util.ByteList encodes(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, int, byte, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=8
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList io2Append
        start local 2 // byte[] charsToEncode
        start local 3 // int startIndex
        start local 4 // int length
        start local 5 // int charCount
        start local 6 // byte encodingType
        start local 7 // boolean tailLf
         0: .line 509
            iload 5 /* charCount */
            iload 4 /* length */
            if_icmpge 1
            iload 5 /* charCount */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 4 /* length */
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* charCount */
         3: .line 511
            aload 1 /* io2Append */
            iload 5 /* charCount */
            iconst_4
            imul
            iconst_3
            idiv
            bipush 6
            iadd
            invokevirtual org.jruby.util.ByteList.ensure:(I)V
         4: .line 512
            iload 3 /* startIndex */
            istore 8 /* i */
        start local 8 // int i
         5: .line 513
            iload 6 /* encodingType */
            bipush 117
            if_icmpne 6
            getstatic org.jruby.util.Pack.uu_table:[B
            goto 7
      StackMap locals: int
      StackMap stack:
         6: getstatic org.jruby.util.Pack.b64_table:[B
      StackMap locals:
      StackMap stack: byte[]
         7: astore 9 /* lTranslationTable */
        start local 9 // byte[] lTranslationTable
         8: .line 515
            iload 6 /* encodingType */
            bipush 117
            if_icmpne 17
         9: .line 516
            iload 5 /* charCount */
            aload 9 /* lTranslationTable */
            arraylength
            if_icmplt 14
        10: .line 517
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            iload 5 /* charCount */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 518
            ldc " is not a correct value for the number of bytes per line in a u directive.  Correct values range from 0 to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 519
            aload 9 /* lTranslationTable */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 517
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 521
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            iload 5 /* charCount */
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        15: .line 522
            bipush 96
            istore 10 /* lPadding */
        start local 10 // byte lPadding
        16: .line 523
            goto 27
        end local 10 // byte lPadding
        17: .line 524
      StackMap locals:
      StackMap stack:
            bipush 61
            istore 10 /* lPadding */
        start local 10 // byte lPadding
        18: .line 526
            goto 27
        19: .line 527
      StackMap locals: int
      StackMap stack:
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 11 /* lCurChar */
        start local 11 // byte lCurChar
        20: .line 528
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 12 /* lNextChar */
        start local 12 // byte lNextChar
        21: .line 529
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 13 /* lNextNextChar */
        start local 13 // byte lNextNextChar
        22: .line 530
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_2
            iushr
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        23: .line 531
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_4
            ishl
            bipush 48
            iand
            iload 12 /* lNextChar */
            iconst_4
            iushr
            bipush 15
            iand
            ior
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        24: .line 532
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 12 /* lNextChar */
            iconst_2
            ishl
            bipush 60
            iand
            iload 13 /* lNextNextChar */
            bipush 6
            iushr
            iconst_3
            iand
            ior
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        25: .line 533
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 13 /* lNextNextChar */
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        26: .line 534
            iinc 5 /* charCount */ -3
        end local 13 // byte lNextNextChar
        end local 12 // byte lNextChar
        end local 11 // byte lCurChar
        27: .line 526
      StackMap locals:
      StackMap stack:
            iload 5 /* charCount */
            iconst_3
            if_icmpge 19
        28: .line 536
            iload 5 /* charCount */
            iconst_2
            if_icmpne 36
        29: .line 537
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 11 /* lCurChar */
        start local 11 // byte lCurChar
        30: .line 538
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 12 /* lNextChar */
        start local 12 // byte lNextChar
        31: .line 539
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_2
            iushr
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        32: .line 540
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_4
            ishl
            bipush 48
            iand
            iload 12 /* lNextChar */
            iconst_4
            ishr
            bipush 15
            iand
            ior
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        33: .line 541
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 12 /* lNextChar */
            iconst_2
            ishl
            bipush 60
            iand
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        34: .line 542
            aload 1 /* io2Append */
            iload 10 /* lPadding */
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        end local 12 // byte lNextChar
        end local 11 // byte lCurChar
        35: .line 543
            goto 42
      StackMap locals:
      StackMap stack:
        36: iload 5 /* charCount */
            iconst_1
            if_icmpne 42
        37: .line 544
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 11 /* lCurChar */
        start local 11 // byte lCurChar
        38: .line 545
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_2
            iushr
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        39: .line 546
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_4
            ishl
            bipush 48
            iand
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        40: .line 547
            aload 1 /* io2Append */
            iload 10 /* lPadding */
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        41: .line 548
            aload 1 /* io2Append */
            iload 10 /* lPadding */
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        end local 11 // byte lCurChar
        42: .line 550
      StackMap locals:
      StackMap stack:
            iload 7 /* tailLf */
            ifeq 44
        43: .line 551
            aload 1 /* io2Append */
            bipush 10
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        44: .line 553
      StackMap locals:
      StackMap stack:
            aload 1 /* io2Append */
            areturn
        end local 10 // byte lPadding
        end local 9 // byte[] lTranslationTable
        end local 8 // int i
        end local 7 // boolean tailLf
        end local 6 // byte encodingType
        end local 5 // int charCount
        end local 4 // int length
        end local 3 // int startIndex
        end local 2 // byte[] charsToEncode
        end local 1 // org.jruby.util.ByteList io2Append
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0            runtime  Lorg/jruby/Ruby;
            0   45     1          io2Append  Lorg/jruby/util/ByteList;
            0   45     2      charsToEncode  [B
            0   45     3         startIndex  I
            0   45     4             length  I
            0   45     5          charCount  I
            0   45     6       encodingType  B
            0   45     7             tailLf  Z
            5   45     8                  i  I
            8   45     9  lTranslationTable  [B
           16   17    10           lPadding  B
           18   45    10           lPadding  B
           20   27    11           lCurChar  B
           21   27    12          lNextChar  B
           22   27    13      lNextNextChar  B
           30   35    11           lCurChar  B
           31   35    12          lNextChar  B
           38   42    11           lCurChar  B
    MethodParameters:
               Name  Flags
      runtime        
      io2Append      
      charsToEncode  
      startIndex     
      length         
      charCount      
      encodingType   
      tailLf         

  public static org.jruby.RubyArray unpack(org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList encodedString
        start local 2 // org.jruby.util.ByteList formatString
         0: .line 557
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* runtime */
            aload 1 /* encodedString */
            aload 2 /* formatString */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.util.ByteList encodedString
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        runtime  Lorg/jruby/Ruby;
            0    1     1  encodedString  Lorg/jruby/util/ByteList;
            0    1     2   formatString  Lorg/jruby/util/ByteList;
    MethodParameters:
               Name  Flags
      runtime        
      encodedString  
      formatString   

  public static org.jruby.RubyArray unpack(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
         0: .line 568
            aload 0 /* context */
            aload 1 /* encoded */
            aload 2 /* formatString */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       context  Lorg/jruby/runtime/ThreadContext;
            0    1     1       encoded  Lorg/jruby/RubyString;
            0    1     2  formatString  Lorg/jruby/util/ByteList;
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  

  public static org.jruby.RubyArray unpackWithBlock(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // org.jruby.runtime.Block block
         0: .line 809
            aload 0 /* context */
            aload 1 /* encoded */
            aload 2 /* formatString */
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList org.jruby.runtime.Block
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList
         1: iconst_0
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList org.jruby.runtime.Block
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList int
         2: aload 3 /* block */
            invokestatic org.jruby.util.Pack.unpackInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0       context  Lorg/jruby/runtime/ThreadContext;
            0    3     1       encoded  Lorg/jruby/RubyString;
            0    3     2  formatString  Lorg/jruby/util/ByteList;
            0    3     3         block  Lorg/jruby/runtime/Block;
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  
      block         

  public static org.jruby.runtime.builtin.IRubyObject unpack1WithBlock(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // org.jruby.runtime.Block block
         0: .line 813
            aload 0 /* context */
            aload 1 /* encoded */
            aload 2 /* formatString */
            iconst_2
            aload 3 /* block */
            invokestatic org.jruby.util.Pack.unpackInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       context  Lorg/jruby/runtime/ThreadContext;
            0    1     1       encoded  Lorg/jruby/RubyString;
            0    1     2  formatString  Lorg/jruby/util/ByteList;
            0    1     3         block  Lorg/jruby/runtime/Block;
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  
      block         

  private static org.jruby.runtime.builtin.IRubyObject unpackInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, int, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=16, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // int mode
        start local 4 // org.jruby.runtime.Block block
         0: .line 817
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 818
            iload 3 /* mode */
            iconst_1
            if_icmpeq 2
            iload 3 /* mode */
            iconst_2
            if_icmpne 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aconst_null
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         4: astore 6 /* result */
        start local 6 // org.jruby.RubyArray result
         5: .line 819
            aload 1 /* encoded */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 7 /* encodedString */
        start local 7 // org.jruby.util.ByteList encodedString
         6: .line 820
            aload 1 /* encoded */
            invokevirtual org.jruby.RubyString.isTaint:()Z
            istore 8 /* tainted */
        start local 8 // boolean tainted
         7: .line 822
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 9 /* format */
        start local 9 // java.nio.ByteBuffer format
         8: .line 823
            aload 7 /* encodedString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 7 /* encodedString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 7 /* encodedString */
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 10 /* encode */
        start local 10 // java.nio.ByteBuffer encode
         9: .line 824
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        start local 11 // int next
        10: .line 825
            aconst_null
            astore 12 /* value */
        start local 12 // org.jruby.runtime.builtin.IRubyObject value
        11: .line 827
            goto 93
        12: .line 828
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList int org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray org.jruby.util.ByteList int java.nio.ByteBuffer java.nio.ByteBuffer int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 11 /* next */
            istore 13 /* type */
        start local 13 // int type
        13: .line 829
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        14: .line 830
            ldc "cC"
            iload 13 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 16
            iload 11 /* next */
            ifne 16
        15: .line 831
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        16: .line 834
      StackMap locals: int
      StackMap stack:
            iload 13 /* type */
            bipush 35
            if_icmpne 22
        17: .line 835
            goto 21
        18: .line 836
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            ifne 19
            goto 94
        19: .line 837
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            istore 13 /* type */
        20: .line 838
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        21: .line 835
      StackMap locals:
      StackMap stack:
            iload 13 /* type */
            bipush 10
            if_icmpne 18
        22: .line 843
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 95
            if_icmpeq 23
            iload 11 /* next */
            bipush 33
            if_icmpne 28
        23: .line 844
      StackMap locals:
      StackMap stack:
            ldc "sSiIlL"
            iload 13 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* index */
        start local 14 // int index
        24: .line 845
            iload 14 /* index */
            iconst_m1
            if_icmpne 26
        25: .line 846
            aload 5 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* next */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "' allowed only after types "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "sSiIlL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        26: .line 848
      StackMap locals: int
      StackMap stack:
            ldc "sSiIqQ"
            iload 14 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* type */
        27: .line 850
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        end local 14 // int index
        28: .line 853
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 62
            if_icmpeq 29
            iload 11 /* next */
            bipush 60
            if_icmpne 39
        29: .line 854
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 62
            if_icmpne 30
            bipush 61
            goto 31
      StackMap locals:
      StackMap stack:
        30: bipush 60
      StackMap locals:
      StackMap stack: int
        31: istore 11 /* next */
        32: .line 855
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 13 /* type */
            iload 11 /* next */
            iadd
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* index */
        start local 14 // int index
        33: .line 856
            iload 14 /* index */
            iconst_m1
            if_icmpne 35
        34: .line 857
            aload 5 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* next */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "' allowed only after types sSiIlLqQ"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        35: .line 859
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 14 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* type */
        36: .line 860
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        37: .line 862
            iload 11 /* next */
            bipush 95
            if_icmpeq 38
            iload 11 /* next */
            bipush 33
            if_icmpne 39
      StackMap locals:
      StackMap stack:
        38: aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        end local 14 // int index
        39: .line 867
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            ifne 42
        40: .line 868
            iconst_1
            istore 14 /* occurrences */
        start local 14 // int occurrences
        41: .line 869
            goto 55
        end local 14 // int occurrences
        42: .line 870
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 42
            if_icmpne 46
        43: .line 871
            iconst_m1
            istore 14 /* occurrences */
        start local 14 // int occurrences
        44: .line 872
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        45: .line 873
            goto 55
        end local 14 // int occurrences
      StackMap locals:
      StackMap stack:
        46: getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 11 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifeq 52
        47: .line 874
            iconst_0
            istore 14 /* occurrences */
        start local 14 // int occurrences
        48: .line 876
      StackMap locals: int
      StackMap stack:
            iload 14 /* occurrences */
            bipush 10
            imul
            iload 11 /* next */
            sipush 255
            iand
            i2c
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            iadd
            istore 14 /* occurrences */
        49: .line 877
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        50: .line 878
            iload 11 /* next */
            ifeq 55
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 11 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifne 48
        51: .line 879
            goto 55
        end local 14 // int occurrences
        52: .line 880
      StackMap locals:
      StackMap stack:
            iload 13 /* type */
            bipush 64
            if_icmpne 53
            iconst_0
            goto 54
      StackMap locals:
      StackMap stack:
        53: iconst_1
      StackMap locals:
      StackMap stack: int
        54: istore 14 /* occurrences */
        start local 14 // int occurrences
        55: .line 885
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            iload 13 /* type */
            aaload
            astore 15 /* converter */
        start local 15 // org.jruby.util.Pack$Converter converter
        56: .line 886
            aload 15 /* converter */
            ifnull 60
        57: .line 887
            aload 0 /* context */
            aload 5 /* runtime */
            aload 10 /* encode */
            iload 14 /* occurrences */
            aload 6 /* result */
            aload 4 /* block */
            aload 15 /* converter */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.decode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        58: .line 888
            iload 3 /* mode */
            iconst_2
            if_icmpne 93
            aload 12 /* value */
            ifnull 93
        59: .line 889
            aload 12 /* value */
            areturn
        60: .line 896
      StackMap locals: org.jruby.util.Pack$Converter
      StackMap stack:
            iload 13 /* type */
            lookupswitch { // 16
                   37: 63
                   64: 61
                   65: 64
                   66: 72
                   72: 76
                   77: 82
                   85: 84
                   88: 86
                   90: 66
                   97: 68
                   98: 70
                  104: 74
                  109: 80
                  117: 78
                  119: 90
                  120: 88
              default: 91
          }
        61: .line 898
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 7 /* encodedString */
            aload 10 /* encode */
            iload 14 /* occurrences */
            invokestatic org.jruby.util.Pack.unpack_at:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/nio/ByteBuffer;I)V
        62: .line 899
            goto 91
        63: .line 901
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            ldc "% is not supported"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        64: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_A:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        65: .line 904
            goto 91
        66: .line 906
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_Z:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        67: .line 907
            goto 91
        68: .line 909
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_a:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        69: .line 910
            goto 91
        70: .line 912
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_b:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        71: .line 913
            goto 91
        72: .line 915
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_B:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        73: .line 916
            goto 91
        74: .line 918
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_h:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        75: .line 919
            goto 91
        76: .line 921
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_H:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        77: .line 922
            goto 91
        78: .line 924
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_u:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        79: .line 925
            goto 91
        80: .line 927
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 5 /* runtime */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        81: .line 928
            goto 91
        82: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_M:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        83: .line 931
            goto 91
        84: .line 933
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 5 /* runtime */
            aload 6 /* result */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_U:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        85: .line 934
            goto 91
        86: .line 936
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 10 /* encode */
            iload 14 /* occurrences */
            invokestatic org.jruby.util.Pack.unpack_X:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
        87: .line 937
            goto 91
        88: .line 939
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 10 /* encode */
            iload 14 /* occurrences */
            invokestatic org.jruby.util.Pack.unpack_x:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
        89: .line 940
            goto 91
        90: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 5 /* runtime */
            aload 6 /* result */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_w:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        91: .line 945
      StackMap locals:
      StackMap stack:
            iload 3 /* mode */
            iconst_2
            if_icmpne 93
            aload 12 /* value */
            ifnull 93
        92: .line 946
            aload 12 /* value */
            areturn
        end local 15 // org.jruby.util.Pack$Converter converter
        end local 14 // int occurrences
        end local 13 // int type
        93: .line 827
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            ifne 12
        94: .line 949
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 12 // org.jruby.runtime.builtin.IRubyObject value
        end local 11 // int next
        end local 10 // java.nio.ByteBuffer encode
        end local 9 // java.nio.ByteBuffer format
        end local 8 // boolean tainted
        end local 7 // org.jruby.util.ByteList encodedString
        end local 6 // org.jruby.RubyArray result
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.Block block
        end local 3 // int mode
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   95     0        context  Lorg/jruby/runtime/ThreadContext;
            0   95     1        encoded  Lorg/jruby/RubyString;
            0   95     2   formatString  Lorg/jruby/util/ByteList;
            0   95     3           mode  I
            0   95     4          block  Lorg/jruby/runtime/Block;
            1   95     5        runtime  Lorg/jruby/Ruby;
            5   95     6         result  Lorg/jruby/RubyArray;
            6   95     7  encodedString  Lorg/jruby/util/ByteList;
            7   95     8        tainted  Z
            8   95     9         format  Ljava/nio/ByteBuffer;
            9   95    10         encode  Ljava/nio/ByteBuffer;
           10   95    11           next  I
           11   95    12          value  Lorg/jruby/runtime/builtin/IRubyObject;
           13   93    13           type  I
           24   28    14          index  I
           33   39    14          index  I
           41   42    14    occurrences  I
           44   46    14    occurrences  I
           48   52    14    occurrences  I
           55   93    14    occurrences  I
           56   93    15      converter  Lorg/jruby/util/Pack$Converter;
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  
      mode          
      block         

  private static org.jruby.runtime.builtin.IRubyObject unpack_w(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=17, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.RubyArray result
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 953
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 2
         1: .line 954
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 957
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 7 /* ul */
        start local 7 // long ul
         3: .line 958
            ldc -144115188075855872
            lstore 9 /* ulmask */
        start local 9 // long ulmask
         4: .line 959
            aload 2 /* runtime */
            ldc 128
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 11 /* big128 */
        start local 11 // org.jruby.RubyBignum big128
         5: .line 960
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 12 /* pos */
        start local 12 // int pos
         6: .line 962
            goto 38
         7: .line 963
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray java.nio.ByteBuffer int int long long org.jruby.RubyBignum int
      StackMap stack:
            lload 7 /* ul */
            bipush 7
            lshl
            lstore 7 /* ul */
         8: .line 964
            lload 7 /* ul */
            aload 4 /* encode */
            iload 12 /* pos */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            bipush 127
            iand
            i2l
            lor
            lstore 7 /* ul */
         9: .line 965
            aload 4 /* encode */
            iload 12 /* pos */
            iinc 12 /* pos */ 1
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 128
            iand
            ifne 17
        10: .line 966
            aload 2 /* runtime */
            lload 7 /* ul */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            astore 13 /* value */
        start local 13 // org.jruby.runtime.builtin.IRubyObject value
        11: .line 967
            iload 6 /* mode */
            iconst_2
            if_icmpne 13
        12: .line 968
            aload 13 /* value */
            areturn
        13: .line 970
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            aload 13 /* value */
            iload 6 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        14: .line 971
            iinc 5 /* occurrences */ -1
        15: .line 972
            lconst_0
            lstore 7 /* ul */
        end local 13 // org.jruby.runtime.builtin.IRubyObject value
        16: .line 973
            goto 38
      StackMap locals:
      StackMap stack:
        17: lload 7 /* ul */
            lload 9 /* ulmask */
            land
            lconst_0
            lcmp
            ifne 38
        18: .line 974
            aload 2 /* runtime */
            lload 7 /* ul */
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 13 /* big */
        start local 13 // org.jruby.RubyBignum big
        19: .line 975
            goto 37
        20: .line 976
      StackMap locals: org.jruby.RubyBignum
      StackMap stack:
            aload 13 /* big */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 11 /* big128 */
            invokevirtual org.jruby.RubyBignum.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 14 /* mulResult */
        start local 14 // org.jruby.runtime.builtin.IRubyObject mulResult
        21: .line 977
            aload 14 /* mulResult */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            ldc "+"
        22: .line 978
            aload 2 /* runtime */
            aload 4 /* encode */
            iload 12 /* pos */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            bipush 127
            iand
            i2l
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
        23: .line 977
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 15 /* v */
        start local 15 // org.jruby.runtime.builtin.IRubyObject v
        24: .line 979
            aload 15 /* v */
            instanceof org.jruby.RubyFixnum
            ifeq 27
        25: .line 980
            aload 2 /* runtime */
            aload 15 /* v */
            invokestatic org.jruby.RubyNumeric.fix2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 13 /* big */
        26: .line 981
            goto 29
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
        27: aload 15 /* v */
            instanceof org.jruby.RubyBignum
            ifeq 29
        28: .line 982
            aload 15 /* v */
            checkcast org.jruby.RubyBignum
            astore 13 /* big */
        29: .line 984
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            iload 12 /* pos */
            iinc 12 /* pos */ 1
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 128
            iand
            ifne 37
        30: .line 985
            aload 2 /* runtime */
            aload 13 /* big */
            invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
            invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
            astore 16 /* value */
        start local 16 // org.jruby.runtime.builtin.IRubyObject value
        31: .line 986
            iload 6 /* mode */
            iconst_2
            if_icmpne 33
        32: .line 987
            aload 16 /* value */
            areturn
        33: .line 989
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            aload 16 /* value */
            iload 6 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        34: .line 990
            iinc 5 /* occurrences */ -1
        35: .line 991
            lconst_0
            lstore 7 /* ul */
        36: .line 992
            goto 38
        end local 16 // org.jruby.runtime.builtin.IRubyObject value
        end local 15 // org.jruby.runtime.builtin.IRubyObject v
        end local 14 // org.jruby.runtime.builtin.IRubyObject mulResult
        37: .line 975
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            ifle 38
            iload 12 /* pos */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.limit:()I
            if_icmplt 20
        end local 13 // org.jruby.RubyBignum big
        38: .line 962
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            ifle 39
            iload 12 /* pos */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.limit:()I
            if_icmplt 7
        39: .line 998
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            iload 12 /* pos */
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        40: .line 999
            goto 43
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        41: pop
        42: .line 1000
            aload 2 /* runtime */
            ldc "in `unpack': poorly encoded input"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        43: .line 1002
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 12 // int pos
        end local 11 // org.jruby.RubyBignum big128
        end local 9 // long ulmask
        end local 7 // long ul
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   44     0      context  Lorg/jruby/runtime/ThreadContext;
            0   44     1        block  Lorg/jruby/runtime/Block;
            0   44     2      runtime  Lorg/jruby/Ruby;
            0   44     3       result  Lorg/jruby/RubyArray;
            0   44     4       encode  Ljava/nio/ByteBuffer;
            0   44     5  occurrences  I
            0   44     6         mode  I
            3   44     7           ul  J
            4   44     9       ulmask  J
            5   44    11       big128  Lorg/jruby/RubyBignum;
            6   44    12          pos  I
           11   16    13        value  Lorg/jruby/runtime/builtin/IRubyObject;
           19   38    13          big  Lorg/jruby/RubyBignum;
           21   37    14    mulResult  Lorg/jruby/runtime/builtin/IRubyObject;
           24   37    15            v  Lorg/jruby/runtime/builtin/IRubyObject;
           31   37    16        value  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
          39    40      41  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      context      
      block        
      runtime      
      result       
      encode       
      occurrences  
      mode         

  private static void unpack_x(org.jruby.Ruby, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.nio.ByteBuffer encode
        start local 2 // int occurrences
         0: .line 1006
            iload 2 /* occurrences */
            iconst_m1
            if_icmpne 2
         1: .line 1007
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* occurrences */
         2: .line 1011
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 2 /* occurrences */
            iadd
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
         3: .line 1012
            goto 6
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: pop
         5: .line 1013
            aload 0 /* runtime */
            ldc "in `unpack': x outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 1015
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int occurrences
        end local 1 // java.nio.ByteBuffer encode
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      runtime  Lorg/jruby/Ruby;
            0    7     1       encode  Ljava/nio/ByteBuffer;
            0    7     2  occurrences  I
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      runtime      
      encode       
      occurrences  

  private static void unpack_X(org.jruby.Ruby, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.nio.ByteBuffer encode
        start local 2 // int occurrences
         0: .line 1018
            iload 2 /* occurrences */
            iconst_m1
            if_icmpne 2
         1: .line 1022
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* occurrences */
         2: .line 1026
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 2 /* occurrences */
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
         3: .line 1027
            goto 6
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: pop
         5: .line 1028
            aload 0 /* runtime */
            ldc "in `unpack': X outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 1030
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int occurrences
        end local 1 // java.nio.ByteBuffer encode
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      runtime  Lorg/jruby/Ruby;
            0    7     1       encode  Ljava/nio/ByteBuffer;
            0    7     2  occurrences  I
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      runtime      
      encode       
      occurrences  

  private static org.jruby.runtime.builtin.IRubyObject unpack_U(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.RubyArray result
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1033
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 11
         1: .line 1034
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 1037
            goto 11
         3: .line 1044
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.utf8Decode:(Ljava/nio/ByteBuffer;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 7 /* item */
        start local 7 // org.jruby.RubyFixnum item
         4: .line 1045
            iload 6 /* mode */
            iconst_2
            if_icmpne 7
         5: .line 1046
            aload 7 /* item */
         6: areturn
         7: .line 1048
      StackMap locals: org.jruby.RubyFixnum
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            aload 7 /* item */
            iload 6 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        end local 7 // org.jruby.RubyFixnum item
         8: .line 1049
            goto 11
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray java.nio.ByteBuffer int int
      StackMap stack: java.lang.IllegalArgumentException
         9: astore 7 /* e */
        start local 7 // java.lang.IllegalArgumentException e
        10: .line 1050
            aload 2 /* runtime */
            aload 7 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 7 // java.lang.IllegalArgumentException e
        11: .line 1037
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            iinc 5 /* occurrences */ -1
            ifle 12
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifgt 3
        12: .line 1053
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0      context  Lorg/jruby/runtime/ThreadContext;
            0   13     1        block  Lorg/jruby/runtime/Block;
            0   13     2      runtime  Lorg/jruby/Ruby;
            0   13     3       result  Lorg/jruby/RubyArray;
            0   13     4       encode  Ljava/nio/ByteBuffer;
            0   13     5  occurrences  I
            0   13     6         mode  I
            4    8     7         item  Lorg/jruby/RubyFixnum;
           10   11     7            e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           3     6       9  Class java.lang.IllegalArgumentException
           7     8       9  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      context      
      block        
      runtime      
      result       
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_M(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=14, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int mode
         0: .line 1057
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            newarray 8
            astore 6 /* lElem */
        start local 6 // byte[] lElem
         1: .line 1058
            iconst_0
            istore 7 /* index */
        start local 7 // int index
         2: .line 1060
      StackMap locals: byte[] int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 3
            goto 25
         3: .line 1061
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 8 /* c */
        start local 8 // int c
         4: .line 1062
            iload 8 /* c */
            bipush 61
            if_icmpeq 7
         5: .line 1063
            aload 6 /* lElem */
            iload 7 /* index */
            iinc 7 /* index */ 1
            iload 8 /* c */
            i2b
            bastore
         6: .line 1064
            goto 2
         7: .line 1065
      StackMap locals: int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 8
            goto 25
         8: .line 1066
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokestatic com.headius.backport9.buffer.Buffers.markBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
            pop
         9: .line 1067
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* c1 */
        start local 9 // int c1
        10: .line 1068
            iload 9 /* c1 */
            bipush 10
            if_icmpeq 2
            iload 9 /* c1 */
            bipush 13
            if_icmpne 11
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            dup
            istore 9 /* c1 */
            bipush 10
            if_icmpne 11
            goto 2
        11: .line 1069
      StackMap locals: int
      StackMap stack:
            iload 9 /* c1 */
            bipush 16
            invokestatic java.lang.Character.digit:(II)I
            istore 10 /* d1 */
        start local 10 // int d1
        12: .line 1070
            iload 10 /* d1 */
            iconst_m1
            if_icmpne 15
        13: .line 1071
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/Buffer;
            pop
        14: .line 1072
            goto 25
        15: .line 1074
      StackMap locals: int
      StackMap stack:
            aload 4 /* encode */
            invokestatic com.headius.backport9.buffer.Buffers.markBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
            pop
        16: .line 1075
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 17
            goto 25
        17: .line 1076
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* c2 */
        start local 11 // int c2
        18: .line 1077
            iload 11 /* c2 */
            bipush 16
            invokestatic java.lang.Character.digit:(II)I
            istore 12 /* d2 */
        start local 12 // int d2
        19: .line 1078
            iload 12 /* d2 */
            iconst_m1
            if_icmpne 22
        20: .line 1079
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/Buffer;
            pop
        21: .line 1080
            goto 25
        22: .line 1082
      StackMap locals: int int
      StackMap stack:
            iload 10 /* d1 */
            iconst_4
            ishl
            iload 12 /* d2 */
            ior
            i2b
            istore 13 /* value */
        start local 13 // byte value
        23: .line 1083
            aload 6 /* lElem */
            iload 7 /* index */
            iinc 7 /* index */ 1
            iload 13 /* value */
            bastore
        end local 13 // byte value
        end local 12 // int d2
        end local 11 // int c2
        end local 10 // int d1
        end local 9 // int c1
        end local 8 // int c
        24: .line 1059
            goto 2
        25: .line 1086
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int byte[] int
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 6 /* lElem */
            iconst_0
            iload 7 /* index */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 5 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // int index
        end local 6 // byte[] lElem
        end local 5 // int mode
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0  context  Lorg/jruby/runtime/ThreadContext;
            0   26     1    block  Lorg/jruby/runtime/Block;
            0   26     2   result  Lorg/jruby/RubyArray;
            0   26     3  tainted  Z
            0   26     4   encode  Ljava/nio/ByteBuffer;
            0   26     5     mode  I
            1   26     6    lElem  [B
            2   26     7    index  I
            4   24     8        c  I
           10   24     9       c1  I
           12   24    10       d1  I
           18   24    11       c2  I
           19   24    12       d2  I
           23   24    13    value  B
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      tainted  
      encode   
      mode     

  private static org.jruby.runtime.builtin.IRubyObject unpack_m(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=15, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.RubyArray result
        start local 4 // boolean tainted
        start local 5 // java.nio.ByteBuffer encode
        start local 6 // int occurrences
        start local 7 // int mode
         0: .line 1090
            aload 5 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_3
            imul
            iconst_4
            idiv
            istore 8 /* length */
        start local 8 // int length
         1: .line 1091
            iload 8 /* length */
            newarray 8
            astore 9 /* lElem */
        start local 9 // byte[] lElem
         2: .line 1092
            iconst_m1
            istore 10 /* a */
        start local 10 // int a
         3: iconst_m1
            istore 11 /* b */
        start local 11 // int b
         4: iconst_0
            istore 12 /* c */
        start local 12 // int c
         5: .line 1093
            iconst_0
            istore 13 /* index */
        start local 13 // int index
         6: .line 1094
            iconst_m1
            istore 14 /* s */
        start local 14 // int s
         7: .line 1096
            iload 6 /* occurrences */
            ifne 10
         8: .line 1097
            aload 2 /* runtime */
            aload 5 /* encode */
            aload 9 /* lElem */
            iload 10 /* a */
            iload 11 /* b */
            iload 12 /* c */
            iload 13 /* index */
            iload 14 /* s */
            invokestatic org.jruby.util.Pack.unpack_m_zeroOccurrences:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;[BIIIII)I
            istore 13 /* index */
         9: .line 1098
            goto 11
        10: .line 1099
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int int int int int
      StackMap stack:
            aload 5 /* encode */
            aload 9 /* lElem */
            iload 10 /* a */
            iload 11 /* b */
            iload 12 /* c */
            iload 13 /* index */
            invokestatic org.jruby.util.Pack.unpack_m_nonzeroOccurrences:(Ljava/nio/ByteBuffer;[BIIII)I
            istore 13 /* index */
        11: .line 1101
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            new org.jruby.util.ByteList
            dup
            aload 9 /* lElem */
            iconst_0
            iload 13 /* index */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 7 /* mode */
            iload 4 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 14 // int s
        end local 13 // int index
        end local 12 // int c
        end local 11 // int b
        end local 10 // int a
        end local 9 // byte[] lElem
        end local 8 // int length
        end local 7 // int mode
        end local 6 // int occurrences
        end local 5 // java.nio.ByteBuffer encode
        end local 4 // boolean tainted
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      context  Lorg/jruby/runtime/ThreadContext;
            0   12     1        block  Lorg/jruby/runtime/Block;
            0   12     2      runtime  Lorg/jruby/Ruby;
            0   12     3       result  Lorg/jruby/RubyArray;
            0   12     4      tainted  Z
            0   12     5       encode  Ljava/nio/ByteBuffer;
            0   12     6  occurrences  I
            0   12     7         mode  I
            1   12     8       length  I
            2   12     9        lElem  [B
            3   12    10            a  I
            4   12    11            b  I
            5   12    12            c  I
            6   12    13        index  I
            7   12    14            s  I
    MethodParameters:
             Name  Flags
      context      
      block        
      runtime      
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static int unpack_m_nonzeroOccurrences(java.nio.ByteBuffer, byte[], int, int, int, int);
    descriptor: (Ljava/nio/ByteBuffer;[BIIII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // java.nio.ByteBuffer encode
        start local 1 // byte[] lElem
        start local 2 // int a
        start local 3 // int b
        start local 4 // int c
        start local 5 // int index
         0: .line 1107
            goto 35
         1: .line 1108
      StackMap locals:
      StackMap stack:
            iconst_m1
            dup
            istore 6 /* d */
        start local 6 // int d
         2: dup
            istore 4 /* c */
            dup
            istore 3 /* b */
            istore 2 /* a */
         3: .line 1111
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        start local 7 // int s
         4: .line 1112
            goto 6
         5: .line 1113
      StackMap locals: int int
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         6: .line 1112
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 2 /* a */
            iconst_m1
            if_icmpne 7
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 5
         7: .line 1115
      StackMap locals:
      StackMap stack:
            iload 2 /* a */
            iconst_m1
            if_icmpne 8
            goto 36
         8: .line 1118
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         9: .line 1119
            goto 11
        10: .line 1120
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        11: .line 1119
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 3 /* b */
            iconst_m1
            if_icmpne 12
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 10
        12: .line 1122
      StackMap locals:
      StackMap stack:
            iload 3 /* b */
            iconst_m1
            if_icmpne 13
            goto 36
        13: .line 1125
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        14: .line 1126
            goto 17
        15: .line 1127
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 16
            goto 18
        16: .line 1128
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        17: .line 1126
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 4 /* c */
            iconst_m1
            if_icmpne 18
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 15
        18: .line 1130
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpeq 19
            iload 4 /* c */
            iconst_m1
            if_icmpne 22
        19: .line 1131
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 36
        20: .line 1132
            aload 0 /* encode */
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iconst_1
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        21: .line 1134
            goto 36
        22: .line 1138
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        23: .line 1139
            goto 26
        24: .line 1140
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 25
            goto 27
        25: .line 1141
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        26: .line 1139
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 6 /* d */
            iconst_m1
            if_icmpne 27
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 24
        27: .line 1143
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpeq 28
            iload 6 /* d */
            iconst_m1
            if_icmpne 31
        28: .line 1144
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 36
        29: .line 1145
            aload 0 /* encode */
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iconst_1
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        30: .line 1147
            goto 36
        31: .line 1151
      StackMap locals:
      StackMap stack:
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 2 /* a */
            iconst_2
            ishl
            iload 3 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        32: .line 1152
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 3 /* b */
            iconst_4
            ishl
            iload 4 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        33: .line 1153
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 4 /* c */
            bipush 6
            ishl
            iload 6 /* d */
            ior
            sipush 255
            iand
            i2b
            bastore
        34: .line 1154
            iconst_m1
            istore 2 /* a */
        end local 7 // int s
        end local 6 // int d
        35: .line 1107
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
        36: .line 1157
      StackMap locals:
      StackMap stack:
            iload 2 /* a */
            iconst_m1
            if_icmpeq 42
            iload 3 /* b */
            iconst_m1
            if_icmpeq 42
        37: .line 1158
            iload 4 /* c */
            iconst_m1
            if_icmpne 40
        38: .line 1159
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 2 /* a */
            iconst_2
            ishl
            iload 3 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        39: .line 1160
            goto 42
        40: .line 1161
      StackMap locals:
      StackMap stack:
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 2 /* a */
            iconst_2
            ishl
            iload 3 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        41: .line 1162
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 3 /* b */
            iconst_4
            ishl
            iload 4 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        42: .line 1165
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            ireturn
        end local 5 // int index
        end local 4 // int c
        end local 3 // int b
        end local 2 // int a
        end local 1 // byte[] lElem
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   43     0  encode  Ljava/nio/ByteBuffer;
            0   43     1   lElem  [B
            0   43     2       a  I
            0   43     3       b  I
            0   43     4       c  I
            0   43     5   index  I
            2   35     6       d  I
            4   35     7       s  I
    MethodParameters:
        Name  Flags
      encode  
      lElem   
      a       
      b       
      c       
      index   

  private static int unpack_m_zeroOccurrences(org.jruby.Ruby, java.nio.ByteBuffer, byte[], int, int, int, int, int);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;[BIIIII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=8
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.nio.ByteBuffer encode
        start local 2 // byte[] lElem
        start local 3 // int a
        start local 4 // int b
        start local 5 // int c
        start local 6 // int index
        start local 7 // int s
         0: .line 1170
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            irem
            ifeq 22
         1: .line 1171
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1174
      StackMap locals:
      StackMap stack:
            iconst_m1
            dup
            istore 5 /* c */
            dup
            istore 4 /* b */
            istore 3 /* a */
         3: .line 1175
            bipush -2
            istore 8 /* d */
        start local 8 // int d
         4: .line 1178
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         5: .line 1179
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 3 /* a */
         6: .line 1180
            iload 3 /* a */
            iconst_m1
            if_icmpne 7
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1183
      StackMap locals: int
      StackMap stack:
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         8: .line 1184
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 4 /* b */
         9: .line 1185
            iload 4 /* b */
            iconst_m1
            if_icmpne 10
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 1188
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        11: .line 1189
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 5 /* c */
        12: .line 1190
            iload 7 /* s */
            bipush 61
            if_icmpne 14
        13: .line 1191
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            bipush 61
            if_icmpeq 23
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 1194
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            iconst_m1
            if_icmpne 15
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 1197
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        16: .line 1198
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 8 /* d */
        17: .line 1199
            iload 7 /* s */
            bipush 61
            if_icmpne 18
            goto 23
        18: .line 1200
      StackMap locals:
      StackMap stack:
            iload 8 /* d */
            iconst_m1
            if_icmpne 19
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        19: .line 1203
      StackMap locals:
      StackMap stack:
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* a */
            iconst_2
            ishl
            iload 4 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        20: .line 1204
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 4 /* b */
            iconst_4
            ishl
            iload 5 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        21: .line 1205
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 5 /* c */
            bipush 6
            ishl
            iload 8 /* d */
            ior
            sipush 255
            iand
            i2b
            bastore
        end local 8 // int d
        22: .line 1173
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 23
            iload 7 /* s */
            bipush 61
            if_icmpne 2
        23: .line 1208
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 24
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        24: .line 1210
      StackMap locals:
      StackMap stack:
            iload 3 /* a */
            iconst_m1
            if_icmpeq 33
            iload 4 /* b */
            iconst_m1
            if_icmpeq 33
        25: .line 1211
            iload 5 /* c */
            iconst_m1
            if_icmpne 29
            iload 7 /* s */
            bipush 61
            if_icmpne 29
        26: .line 1212
            iload 4 /* b */
            bipush 15
            iand
            ifle 27
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        27: .line 1213
      StackMap locals:
      StackMap stack:
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* a */
            iconst_2
            ishl
            iload 4 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        28: .line 1214
            goto 33
      StackMap locals:
      StackMap stack:
        29: iload 5 /* c */
            iconst_m1
            if_icmpeq 33
            iload 7 /* s */
            bipush 61
            if_icmpne 33
        30: .line 1215
            iload 5 /* c */
            iconst_3
            iand
            ifle 31
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        31: .line 1216
      StackMap locals:
      StackMap stack:
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* a */
            iconst_2
            ishl
            iload 4 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        32: .line 1217
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 4 /* b */
            iconst_4
            ishl
            iload 5 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        33: .line 1220
      StackMap locals:
      StackMap stack:
            iload 6 /* index */
            ireturn
        end local 7 // int s
        end local 6 // int index
        end local 5 // int c
        end local 4 // int b
        end local 3 // int a
        end local 2 // byte[] lElem
        end local 1 // java.nio.ByteBuffer encode
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0  runtime  Lorg/jruby/Ruby;
            0   34     1   encode  Ljava/nio/ByteBuffer;
            0   34     2    lElem  [B
            0   34     3        a  I
            0   34     4        b  I
            0   34     5        c  I
            0   34     6    index  I
            0   34     7        s  I
            4   22     8        d  I
    MethodParameters:
         Name  Flags
      runtime  
      encode   
      lElem    
      a        
      b        
      c        
      index    
      s        

  private static org.jruby.runtime.builtin.IRubyObject unpack_u(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=19, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int mode
         0: .line 1224
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_3
            imul
            iconst_4
            idiv
            istore 6 /* length */
        start local 6 // int length
         1: .line 1225
            iload 6 /* length */
            newarray 8
            astore 7 /* lElem */
        start local 7 // byte[] lElem
         2: .line 1226
            iconst_0
            istore 8 /* index */
        start local 8 // int index
         3: .line 1227
            iconst_0
            istore 9 /* s */
        start local 9 // int s
         4: .line 1228
            iconst_0
            istore 10 /* total */
        start local 10 // int total
         5: .line 1229
            iload 6 /* length */
            ifle 58
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 9 /* s */
         6: .line 1230
            goto 58
         7: .line 1232
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int
      StackMap stack:
            iconst_3
            newarray 8
            astore 15 /* hunk */
        start local 15 // byte[] hunk
         8: .line 1234
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 16 /* len */
        start local 16 // int len
         9: .line 1235
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        10: .line 1236
            iload 10 /* total */
            iload 16 /* len */
            iadd
            istore 10 /* total */
        11: .line 1237
            iload 10 /* total */
            iload 6 /* length */
            if_icmple 46
        12: .line 1238
            iload 16 /* len */
            iload 10 /* total */
            iload 6 /* length */
            isub
            isub
            istore 16 /* len */
        13: .line 1239
            iload 6 /* length */
            istore 10 /* total */
        14: .line 1242
            goto 46
        15: .line 1243
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int top top top top byte[] int
      StackMap stack:
            iload 16 /* len */
            iconst_3
            if_icmple 16
            iconst_3
            goto 17
      StackMap locals:
      StackMap stack:
        16: iload 16 /* len */
      StackMap locals:
      StackMap stack: int
        17: istore 17 /* mlen */
        start local 17 // int mlen
        18: .line 1245
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 22
            iload 9 /* s */
            bipush 32
            if_icmplt 22
        19: .line 1246
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 11 /* a */
        start local 11 // int a
        20: .line 1247
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        21: .line 1248
            goto 23
        end local 11 // int a
        22: .line 1249
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 11 /* a */
        start local 11 // int a
        23: .line 1250
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int top top top byte[] int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 27
            iload 9 /* s */
            bipush 32
            if_icmplt 27
        24: .line 1251
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 12 /* b */
        start local 12 // int b
        25: .line 1252
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        26: .line 1253
            goto 28
        end local 12 // int b
        27: .line 1254
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* b */
        start local 12 // int b
        28: .line 1255
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int top top byte[] int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 32
            iload 9 /* s */
            bipush 32
            if_icmplt 32
        29: .line 1256
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 13 /* c */
        start local 13 // int c
        30: .line 1257
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        31: .line 1258
            goto 33
        end local 13 // int c
        32: .line 1259
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* c */
        start local 13 // int c
        33: .line 1260
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int int top byte[] int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 37
            iload 9 /* s */
            bipush 32
            if_icmplt 37
        34: .line 1261
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 14 /* d */
        start local 14 // int d
        35: .line 1262
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        36: .line 1263
            goto 38
        end local 14 // int d
        37: .line 1264
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* d */
        start local 14 // int d
        38: .line 1265
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int int int byte[] int int
      StackMap stack:
            aload 15 /* hunk */
            iconst_0
            iload 11 /* a */
            iconst_2
            ishl
            iload 12 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        39: .line 1266
            aload 15 /* hunk */
            iconst_1
            iload 12 /* b */
            iconst_4
            ishl
            iload 13 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        40: .line 1267
            aload 15 /* hunk */
            iconst_2
            iload 13 /* c */
            bipush 6
            ishl
            iload 14 /* d */
            ior
            sipush 255
            iand
            i2b
            bastore
        41: .line 1269
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        42: goto 44
      StackMap locals: int
      StackMap stack:
        43: aload 7 /* lElem */
            iload 8 /* index */
            iinc 8 /* index */ 1
            aload 15 /* hunk */
            iload 18 /* i */
            baload
            bastore
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 18 /* i */
            iload 17 /* mlen */
            if_icmplt 43
        end local 18 // int i
        45: .line 1270
            iload 16 /* len */
            iload 17 /* mlen */
            isub
            istore 16 /* len */
        end local 17 // int mlen
        end local 14 // int d
        end local 13 // int c
        end local 12 // int b
        end local 11 // int a
        46: .line 1242
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int top top top top byte[] int
      StackMap stack:
            iload 16 /* len */
            ifgt 15
        47: .line 1272
            iload 9 /* s */
            bipush 13
            if_icmpne 49
        48: .line 1273
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        49: .line 1275
      StackMap locals:
      StackMap stack:
            iload 9 /* s */
            bipush 10
            if_icmpne 52
        50: .line 1276
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        51: .line 1277
            goto 58
        52: .line 1278
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 58
        53: .line 1279
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            bipush 10
            if_icmpne 56
        54: .line 1280
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            pop
        55: .line 1281
            goto 58
      StackMap locals:
      StackMap stack:
        56: aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 58
        57: .line 1282
            aload 4 /* encode */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iconst_1
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        end local 16 // int len
        end local 15 // byte[] hunk
        58: .line 1230
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 59
            iload 9 /* s */
            bipush 32
            if_icmple 59
            iload 9 /* s */
            bipush 97
            if_icmplt 7
        59: .line 1286
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 7 /* lElem */
            iconst_0
            iload 8 /* index */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 5 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 10 // int total
        end local 9 // int s
        end local 8 // int index
        end local 7 // byte[] lElem
        end local 6 // int length
        end local 5 // int mode
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   60     0  context  Lorg/jruby/runtime/ThreadContext;
            0   60     1    block  Lorg/jruby/runtime/Block;
            0   60     2   result  Lorg/jruby/RubyArray;
            0   60     3  tainted  Z
            0   60     4   encode  Ljava/nio/ByteBuffer;
            0   60     5     mode  I
            1   60     6   length  I
            2   60     7    lElem  [B
            3   60     8    index  I
            4   60     9        s  I
            5   60    10    total  I
           20   22    11        a  I
           23   46    11        a  I
           25   27    12        b  I
           28   46    12        b  I
           30   32    13        c  I
           33   46    13        c  I
           35   37    14        d  I
           38   46    14        d  I
            8   58    15     hunk  [B
            9   58    16      len  I
           18   46    17     mlen  I
           42   45    18        i  I
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      tainted  
      encode   
      mode     

  private static org.jruby.runtime.builtin.IRubyObject unpack_H(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1290
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            if_icmple 2
         1: .line 1291
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            istore 5 /* occurrences */
         2: .line 1293
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1294
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1295
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 12
         6: .line 1296
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            iconst_1
            iand
            ifeq 9
         7: .line 1297
            iload 7 /* bits */
            iconst_4
            ishl
            istore 7 /* bits */
         8: .line 1298
            goto 10
         9: .line 1299
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1301
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            getstatic org.jruby.util.Pack.sHexDigits:[B
            iload 7 /* bits */
            iconst_4
            iushr
            bipush 15
            iand
            baload
            bastore
        11: .line 1295
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        12: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        13: .line 1303
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      context  Lorg/jruby/runtime/ThreadContext;
            0   14     1        block  Lorg/jruby/runtime/Block;
            0   14     2       result  Lorg/jruby/RubyArray;
            0   14     3      tainted  Z
            0   14     4       encode  Ljava/nio/ByteBuffer;
            0   14     5  occurrences  I
            0   14     6         mode  I
            3   14     7         bits  I
            4   14     8        lElem  [B
            5   13     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_h(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1307
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            if_icmple 2
         1: .line 1308
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            istore 5 /* occurrences */
         2: .line 1310
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1311
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1312
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 12
         6: .line 1313
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            iconst_1
            iand
            ifeq 9
         7: .line 1314
            iload 7 /* bits */
            iconst_4
            iushr
            istore 7 /* bits */
         8: .line 1315
            goto 10
         9: .line 1316
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1318
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            getstatic org.jruby.util.Pack.sHexDigits:[B
            iload 7 /* bits */
            bipush 15
            iand
            baload
            bastore
        11: .line 1312
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        12: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        13: .line 1320
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      context  Lorg/jruby/runtime/ThreadContext;
            0   14     1        block  Lorg/jruby/runtime/Block;
            0   14     2       result  Lorg/jruby/RubyArray;
            0   14     3      tainted  Z
            0   14     4       encode  Ljava/nio/ByteBuffer;
            0   14     5  occurrences  I
            0   14     6         mode  I
            3   14     7         bits  I
            4   14     8        lElem  [B
            5   13     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_B(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1324
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            if_icmple 2
         1: .line 1325
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            istore 5 /* occurrences */
         2: .line 1327
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1328
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1329
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 14
         6: .line 1330
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            bipush 7
            iand
            ifeq 9
         7: .line 1331
            iload 7 /* bits */
            iconst_1
            ishl
            istore 7 /* bits */
         8: .line 1332
            goto 10
         9: .line 1333
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1335
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            iload 7 /* bits */
            sipush 128
            iand
            ifeq 11
            bipush 49
            goto 12
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int
        11: bipush 48
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int int
        12: bastore
        13: .line 1329
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        14: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        15: .line 1338
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0      context  Lorg/jruby/runtime/ThreadContext;
            0   16     1        block  Lorg/jruby/runtime/Block;
            0   16     2       result  Lorg/jruby/RubyArray;
            0   16     3      tainted  Z
            0   16     4       encode  Ljava/nio/ByteBuffer;
            0   16     5  occurrences  I
            0   16     6         mode  I
            3   16     7         bits  I
            4   16     8        lElem  [B
            5   15     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_b(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1342
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            if_icmple 2
         1: .line 1343
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            istore 5 /* occurrences */
         2: .line 1345
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1346
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1347
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 14
         6: .line 1348
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            bipush 7
            iand
            ifeq 9
         7: .line 1349
            iload 7 /* bits */
            iconst_1
            iushr
            istore 7 /* bits */
         8: .line 1350
            goto 10
         9: .line 1351
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1353
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            iload 7 /* bits */
            iconst_1
            iand
            ifeq 11
            bipush 49
            goto 12
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int
        11: bipush 48
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int int
        12: bastore
        13: .line 1347
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        14: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        15: .line 1355
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0      context  Lorg/jruby/runtime/ThreadContext;
            0   16     1        block  Lorg/jruby/runtime/Block;
            0   16     2       result  Lorg/jruby/RubyArray;
            0   16     3      tainted  Z
            0   16     4       encode  Ljava/nio/ByteBuffer;
            0   16     5  occurrences  I
            0   16     6         mode  I
            3   16     7         bits  I
            4   16     8        lElem  [B
            5   15     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_a(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1359
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 2
         1: .line 1360
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 1362
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            newarray 8
            astore 7 /* potential */
        start local 7 // byte[] potential
         3: .line 1363
            aload 4 /* encode */
            aload 7 /* potential */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         4: .line 1364
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 7 /* potential */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // byte[] potential
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      context  Lorg/jruby/runtime/ThreadContext;
            0    5     1        block  Lorg/jruby/runtime/Block;
            0    5     2       result  Lorg/jruby/RubyArray;
            0    5     3      tainted  Z
            0    5     4       encode  Ljava/nio/ByteBuffer;
            0    5     5  occurrences  I
            0    5     6         mode  I
            3    5     7    potential  [B
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_Z(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=11, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1368
            iload 5 /* occurrences */
            iconst_m1
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* isStar */
        start local 7 // boolean isStar
         3: .line 1370
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 4
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 5
         4: .line 1371
      StackMap locals: int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         5: .line 1374
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* potential */
        start local 8 // byte[] potential
         6: .line 1375
            iconst_0
            istore 9 /* t */
        start local 9 // int t
         7: .line 1377
            goto 13
         8: .line 1378
      StackMap locals: byte[] int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 10 /* b */
        start local 10 // byte b
         9: .line 1379
            iload 10 /* b */
            ifne 11
        10: .line 1380
            goto 14
        11: .line 1382
      StackMap locals: int
      StackMap stack:
            aload 8 /* potential */
            iload 9 /* t */
            iload 10 /* b */
            bastore
        12: .line 1383
            iinc 9 /* t */ 1
        end local 10 // byte b
        13: .line 1377
      StackMap locals:
      StackMap stack:
            iload 9 /* t */
            iload 5 /* occurrences */
            if_icmplt 8
        14: .line 1386
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* potential */
            iconst_0
            iload 9 /* t */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* value */
        start local 10 // org.jruby.runtime.builtin.IRubyObject value
        15: .line 1387
            iload 6 /* mode */
            iconst_2
            if_icmpne 17
        16: .line 1388
            aload 10 /* value */
            areturn
        17: .line 1395
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 7 /* isStar */
            ifne 24
        18: .line 1396
            iload 9 /* t */
            iload 5 /* occurrences */
            if_icmpge 23
        19: .line 1400
            iinc 9 /* t */ 1
        20: .line 1403
            goto 23
        21: .line 1404
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            pop
        22: .line 1405
            iinc 9 /* t */ 1
        23: .line 1403
      StackMap locals:
      StackMap stack:
            iload 9 /* t */
            iload 5 /* occurrences */
            if_icmplt 21
        24: .line 1408
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 10 // org.jruby.runtime.builtin.IRubyObject value
        end local 9 // int t
        end local 8 // byte[] potential
        end local 7 // boolean isStar
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0      context  Lorg/jruby/runtime/ThreadContext;
            0   25     1        block  Lorg/jruby/runtime/Block;
            0   25     2       result  Lorg/jruby/RubyArray;
            0   25     3      tainted  Z
            0   25     4       encode  Ljava/nio/ByteBuffer;
            0   25     5  occurrences  I
            0   25     6         mode  I
            3   25     7       isStar  Z
            6   25     8    potential  [B
            7   25     9            t  I
            9   13    10            b  B
           15   25    10        value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_A(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1412
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 2
         1: .line 1413
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 1416
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            newarray 8
            astore 7 /* potential */
        start local 7 // byte[] potential
         3: .line 1417
            aload 4 /* encode */
            aload 7 /* potential */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         4: .line 1419
            iload 5 /* occurrences */
            iconst_1
            isub
            istore 8 /* t */
        start local 8 // int t
         5: goto 10
         6: .line 1420
      StackMap locals: byte[] int
      StackMap stack:
            aload 7 /* potential */
            iload 8 /* t */
            baload
            istore 9 /* c */
        start local 9 // byte c
         7: .line 1421
            iload 9 /* c */
            ifeq 9
            iload 9 /* c */
            bipush 32
            if_icmpeq 9
         8: .line 1422
            goto 11
        end local 9 // byte c
         9: .line 1419
      StackMap locals:
      StackMap stack:
            iinc 5 /* occurrences */ -1
            iinc 8 /* t */ -1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* occurrences */
            ifgt 6
        end local 8 // int t
        11: .line 1426
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 7 /* potential */
            iconst_0
            iload 5 /* occurrences */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // byte[] potential
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      context  Lorg/jruby/runtime/ThreadContext;
            0   12     1        block  Lorg/jruby/runtime/Block;
            0   12     2       result  Lorg/jruby/RubyArray;
            0   12     3      tainted  Z
            0   12     4       encode  Ljava/nio/ByteBuffer;
            0   12     5  occurrences  I
            0   12     6         mode  I
            3   12     7    potential  [B
            5   11     8            t  I
            7    9     9            c  B
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static void unpack_at(org.jruby.Ruby, org.jruby.util.ByteList, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/nio/ByteBuffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList encodedString
        start local 2 // java.nio.ByteBuffer encode
        start local 3 // int occurrences
         0: .line 1431
            iload 3 /* occurrences */
            iconst_m1
            if_icmpne 3
         1: .line 1432
            aload 2 /* encode */
            aload 1 /* encodedString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iadd
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
         2: .line 1433
            goto 7
         3: .line 1434
      StackMap locals:
      StackMap stack:
            aload 2 /* encode */
            aload 1 /* encodedString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            iload 3 /* occurrences */
            iadd
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
         4: .line 1436
            goto 7
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         5: pop
         6: .line 1437
            aload 0 /* runtime */
            ldc "@ outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1439
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int occurrences
        end local 2 // java.nio.ByteBuffer encode
        end local 1 // org.jruby.util.ByteList encodedString
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0        runtime  Lorg/jruby/Ruby;
            0    8     1  encodedString  Lorg/jruby/util/ByteList;
            0    8     2         encode  Ljava/nio/ByteBuffer;
            0    8     3    occurrences  I
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.IllegalArgumentException
    MethodParameters:
               Name  Flags
      runtime        
      encodedString  
      encode         
      occurrences    

  public static org.jruby.RubyArray unpackWithBlock(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.ByteList, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.ByteList encodedString
        start local 3 // org.jruby.util.ByteList formatString
        start local 4 // org.jruby.runtime.Block block
         0: .line 1443
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* encodedString */
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            aload 3 /* formatString */
            aload 4 /* block */
            invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.util.ByteList formatString
        end local 2 // org.jruby.util.ByteList encodedString
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        runtime  Lorg/jruby/Ruby;
            0    1     2  encodedString  Lorg/jruby/util/ByteList;
            0    1     3   formatString  Lorg/jruby/util/ByteList;
            0    1     4          block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      context        
      runtime        
      encodedString  
      formatString   
      block          

  private static void appendOrYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // org.jruby.runtime.builtin.IRubyObject item
        start local 4 // int mode
         0: .line 1447
            iload 4 /* mode */
            iconst_1
            if_icmpne 3
         1: .line 1448
            aload 1 /* block */
            aload 0 /* context */
            aload 3 /* item */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1449
            goto 5
      StackMap locals:
      StackMap stack:
         3: iload 4 /* mode */
            ifne 5
         4: .line 1450
            aload 2 /* result */
            aload 3 /* item */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         5: .line 1452
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int mode
        end local 3 // org.jruby.runtime.builtin.IRubyObject item
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1    block  Lorg/jruby/runtime/Block;
            0    6     2   result  Lorg/jruby/RubyArray;
            0    6     3     item  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     4     mode  I
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      item     
      mode     

  private static org.jruby.runtime.builtin.IRubyObject appendOrYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, org.jruby.util.ByteList, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // org.jruby.util.ByteList item
        start local 4 // int mode
        start local 5 // boolean taint
         0: .line 1455
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* item */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 6 /* itemStr */
        start local 6 // org.jruby.RubyString itemStr
         1: .line 1456
            iload 5 /* taint */
            ifeq 2
            aload 6 /* itemStr */
            iconst_1
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
         2: .line 1457
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            iload 4 /* mode */
            iconst_2
            if_icmpne 4
         3: .line 1458
            aload 6 /* itemStr */
            areturn
         4: .line 1460
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            aload 6 /* itemStr */
            iload 4 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
         5: .line 1461
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.RubyString itemStr
        end local 5 // boolean taint
        end local 4 // int mode
        end local 3 // org.jruby.util.ByteList item
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1    block  Lorg/jruby/runtime/Block;
            0    6     2   result  Lorg/jruby/RubyArray;
            0    6     3     item  Lorg/jruby/util/ByteList;
            0    6     4     mode  I
            0    6     5    taint  Z
            1    6     6  itemStr  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      item     
      mode     
      taint    

  public static int utf8Decode(org.jruby.Ruby, byte[], int, int);
    descriptor: (Lorg/jruby/Ruby;[BII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] to
        start local 2 // int p
        start local 3 // int code
         0: .line 1469
            iload 3 /* code */
            bipush 127
            if_icmpgt 3
         1: .line 1470
            aload 1 /* to */
            iload 2 /* p */
            iload 3 /* code */
            i2b
            bastore
         2: .line 1471
            iconst_1
            ireturn
         3: .line 1473
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            sipush 2047
            if_icmpgt 7
         4: .line 1474
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            sipush 255
            iand
            sipush 192
            ior
            i2b
            bastore
         5: .line 1475
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
         6: .line 1476
            iconst_2
            ireturn
         7: .line 1478
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 65535
            if_icmpgt 12
         8: .line 1479
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            sipush 255
            iand
            sipush 224
            ior
            i2b
            bastore
         9: .line 1480
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        10: .line 1481
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        11: .line 1482
            iconst_3
            ireturn
        12: .line 1484
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 2097151
            if_icmpgt 18
        13: .line 1485
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 18
            iushr
            sipush 255
            iand
            sipush 240
            ior
            i2b
            bastore
        14: .line 1486
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        15: .line 1487
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        16: .line 1488
            aload 1 /* to */
            iload 2 /* p */
            iconst_3
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        17: .line 1489
            iconst_4
            ireturn
        18: .line 1491
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 67108863
            if_icmpgt 25
        19: .line 1492
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 24
            iushr
            sipush 255
            iand
            sipush 248
            ior
            i2b
            bastore
        20: .line 1493
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 18
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        21: .line 1494
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        22: .line 1495
            aload 1 /* to */
            iload 2 /* p */
            iconst_3
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        23: .line 1496
            aload 1 /* to */
            iload 2 /* p */
            iconst_4
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        24: .line 1497
            iconst_5
            ireturn
        25: .line 1499
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 2147483647
            if_icmpgt 33
        26: .line 1500
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 30
            iushr
            sipush 255
            iand
            sipush 252
            ior
            i2b
            bastore
        27: .line 1501
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 24
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        28: .line 1502
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 18
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        29: .line 1503
            aload 1 /* to */
            iload 2 /* p */
            iconst_3
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        30: .line 1504
            aload 1 /* to */
            iload 2 /* p */
            iconst_4
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        31: .line 1505
            aload 1 /* to */
            iload 2 /* p */
            iconst_5
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        32: .line 1506
            bipush 6
            ireturn
        33: .line 1508
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            ldc "pack(U): value out of range"
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // int code
        end local 2 // int p
        end local 1 // byte[] to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0  runtime  Lorg/jruby/Ruby;
            0   34     1       to  [B
            0   34     2        p  I
            0   34     3     code  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      p        
      code     

  private static int utf8Decode(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.nio.ByteBuffer buffer
         0: .line 1514
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 1 /* c */
        start local 1 // int c
         1: .line 1515
            iload 1 /* c */
            istore 2 /* uv */
        start local 2 // int uv
         2: .line 1518
            iload 1 /* c */
            sipush 128
            iand
            ifne 4
         3: .line 1519
            iload 1 /* c */
            ireturn
         4: .line 1522
      StackMap locals: int int
      StackMap stack:
            iload 1 /* c */
            bipush 64
            iand
            ifne 6
         5: .line 1523
            new java.lang.IllegalArgumentException
            dup
            ldc "malformed UTF-8 character"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1526
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            bipush 32
            iand
            ifne 8
            iconst_2
            istore 3 /* n */
        start local 3 // int n
         7: iload 2 /* uv */
            bipush 31
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
         8: .line 1527
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            bipush 16
            iand
            ifne 10
            iconst_3
            istore 3 /* n */
        start local 3 // int n
         9: iload 2 /* uv */
            bipush 15
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        10: .line 1528
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            bipush 8
            iand
            ifne 12
            iconst_4
            istore 3 /* n */
        start local 3 // int n
        11: iload 2 /* uv */
            bipush 7
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        12: .line 1529
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            iconst_4
            iand
            ifne 14
            iconst_5
            istore 3 /* n */
        start local 3 // int n
        13: iload 2 /* uv */
            iconst_3
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        14: .line 1530
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            iconst_2
            iand
            ifne 16
            bipush 6
            istore 3 /* n */
        start local 3 // int n
        15: iload 2 /* uv */
            iconst_1
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        16: .line 1532
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "malformed UTF-8 character"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // int n
        17: .line 1534
      StackMap locals: int
      StackMap stack:
            iload 3 /* n */
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            iadd
            if_icmple 23
        18: .line 1535
            new java.lang.IllegalArgumentException
            dup
        19: .line 1536
            new java.lang.StringBuilder
            dup
            ldc "malformed UTF-8 character (expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* n */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 1537
            ldc "given "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 1536
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1535
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1540
      StackMap locals:
      StackMap stack:
            iload 3 /* n */
            iconst_1
            isub
            istore 4 /* limit */
        start local 4 // int limit
        24: .line 1542
            iinc 3 /* n */ -1
        25: .line 1544
            iload 3 /* n */
            ifeq 33
        26: .line 1545
            goto 32
        27: .line 1546
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 1 /* c */
        28: .line 1547
            iload 1 /* c */
            sipush 192
            iand
            sipush 128
            if_icmpeq 30
        29: .line 1548
            new java.lang.IllegalArgumentException
            dup
            ldc "malformed UTF-8 character"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 1551
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 63
            iand
            istore 1 /* c */
        31: .line 1552
            iload 2 /* uv */
            bipush 6
            ishl
            iload 1 /* c */
            ior
            istore 2 /* uv */
        32: .line 1545
      StackMap locals:
      StackMap stack:
            iload 3 /* n */
            iinc 3 /* n */ -1
            ifne 27
        33: .line 1557
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            i2l
            getstatic org.jruby.util.Pack.utf8_limits:[J
            iload 4 /* limit */
            laload
            lcmp
            ifge 35
        34: .line 1558
            new java.lang.IllegalArgumentException
            dup
            ldc "redundant UTF-8 sequence"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 1561
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            ireturn
        end local 4 // int limit
        end local 3 // int n
        end local 2 // int uv
        end local 1 // int c
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   36     0  buffer  Ljava/nio/ByteBuffer;
            1   36     1       c  I
            2   36     2      uv  I
            7    8     3       n  I
            9   10     3       n  I
           11   12     3       n  I
           13   14     3       n  I
           15   16     3       n  I
           17   36     3       n  I
           24   36     4   limit  I
    MethodParameters:
        Name  Flags
      buffer  

  public static int safeGet(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 1575
            goto 3
         1: .line 1576
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 1 /* got */
        start local 1 // int got
         2: .line 1578
            iload 1 /* got */
            ifeq 3
            iload 1 /* got */
            ireturn
        end local 1 // int got
         3: .line 1575
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
         4: .line 1581
            iconst_0
            ireturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  encode  Ljava/nio/ByteBuffer;
            2    3     1     got  I
    MethodParameters:
        Name  Flags
      encode  

  private static int safeGetIgnoreNull(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 1585
            iconst_0
            istore 1 /* next */
        start local 1 // int next
         1: .line 1586
            goto 3
         2: .line 1587
      StackMap locals: int
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 1 /* next */
         3: .line 1586
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 4
            iload 1 /* next */
            ifeq 2
         4: .line 1589
      StackMap locals:
      StackMap stack:
            iload 1 /* next */
            ireturn
        end local 1 // int next
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  encode  Ljava/nio/ByteBuffer;
            1    5     1    next  I
    MethodParameters:
        Name  Flags
      encode  

  public static org.jruby.runtime.builtin.IRubyObject decode(org.jruby.runtime.ThreadContext, org.jruby.Ruby, java.nio.ByteBuffer, int, org.jruby.RubyArray, org.jruby.runtime.Block, org.jruby.util.Pack$Converter, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.nio.ByteBuffer encode
        start local 3 // int occurrences
        start local 4 // org.jruby.RubyArray result
        start local 5 // org.jruby.runtime.Block block
        start local 6 // org.jruby.util.Pack$Converter converter
        start local 7 // int mode
         0: .line 1594
            iconst_0
            istore 8 /* lPadLength */
        start local 8 // int lPadLength
         1: .line 1596
            iload 3 /* occurrences */
            iconst_m1
            if_icmpne 4
         2: .line 1597
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            istore 3 /* occurrences */
         3: .line 1598
            goto 12
      StackMap locals: int
      StackMap stack:
         4: iload 3 /* occurrences */
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            if_icmple 12
         5: .line 1599
            iload 3 /* occurrences */
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            isub
            istore 8 /* lPadLength */
         6: .line 1600
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            istore 3 /* occurrences */
         7: .line 1602
            goto 12
         8: .line 1603
      StackMap locals:
      StackMap stack:
            aload 6 /* converter */
            aload 1 /* runtime */
            aload 2 /* encode */
            invokevirtual org.jruby.util.Pack$Converter.decode:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* value */
        start local 9 // org.jruby.runtime.builtin.IRubyObject value
         9: .line 1604
            iload 7 /* mode */
            iconst_2
            if_icmpne 11
        10: .line 1605
            aload 9 /* value */
            areturn
        11: .line 1607
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            aload 5 /* block */
            aload 4 /* result */
            aload 9 /* value */
            iload 7 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        end local 9 // org.jruby.runtime.builtin.IRubyObject value
        12: .line 1602
      StackMap locals:
      StackMap stack:
            iload 3 /* occurrences */
            iinc 3 /* occurrences */ -1
            ifgt 8
        13: .line 1610
            goto 17
        14: .line 1611
      StackMap locals:
      StackMap stack:
            iload 7 /* mode */
            iconst_2
            if_icmpne 16
        15: .line 1612
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        16: .line 1614
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 5 /* block */
            aload 4 /* result */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            iload 7 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        17: .line 1610
      StackMap locals:
      StackMap stack:
            iload 8 /* lPadLength */
            iinc 8 /* lPadLength */ -1
            ifgt 14
        18: .line 1616
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // int lPadLength
        end local 7 // int mode
        end local 6 // org.jruby.util.Pack$Converter converter
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray result
        end local 3 // int occurrences
        end local 2 // java.nio.ByteBuffer encode
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0      context  Lorg/jruby/runtime/ThreadContext;
            0   19     1      runtime  Lorg/jruby/Ruby;
            0   19     2       encode  Ljava/nio/ByteBuffer;
            0   19     3  occurrences  I
            0   19     4       result  Lorg/jruby/RubyArray;
            0   19     5        block  Lorg/jruby/runtime/Block;
            0   19     6    converter  Lorg/jruby/util/Pack$Converter;
            0   19     7         mode  I
            1   19     8   lPadLength  I
            9   12     9        value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      runtime      
      encode       
      occurrences  
      result       
      block        
      converter    
      mode         

  public static int encode(org.jruby.Ruby, int, org.jruby.util.ByteList, org.jruby.RubyArray, int, org.jruby.util.Pack$ConverterExecutor);
    descriptor: (Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/RubyArray;ILorg/jruby/util/Pack$ConverterExecutor;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int occurrences
        start local 2 // org.jruby.util.ByteList result
        start local 3 // org.jruby.RubyArray list
        start local 4 // int index
        start local 5 // org.jruby.util.Pack$ConverterExecutor converter
         0: .line 1621
            aload 3 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            istore 6 /* listSize */
        start local 6 // int listSize
         1: .line 1623
            goto 6
         2: .line 1624
      StackMap locals: int
      StackMap stack:
            iload 6 /* listSize */
            iinc 6 /* listSize */ -1
            ifle 3
            iload 4 /* index */
            aload 3 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmplt 4
         3: .line 1625
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 1628
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            iload 4 /* index */
            iinc 4 /* index */ 1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* from */
        start local 7 // org.jruby.runtime.builtin.IRubyObject from
         5: .line 1630
            aload 5 /* converter */
            aload 0 /* runtime */
            aload 7 /* from */
            aload 2 /* result */
            invokevirtual org.jruby.util.Pack$ConverterExecutor.encode:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/ByteList;)V
        end local 7 // org.jruby.runtime.builtin.IRubyObject from
         6: .line 1623
      StackMap locals:
      StackMap stack:
            iload 1 /* occurrences */
            iinc 1 /* occurrences */ -1
            ifgt 2
         7: .line 1633
            iload 4 /* index */
            ireturn
        end local 6 // int listSize
        end local 5 // org.jruby.util.Pack$ConverterExecutor converter
        end local 4 // int index
        end local 3 // org.jruby.RubyArray list
        end local 2 // org.jruby.util.ByteList result
        end local 1 // int occurrences
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0      runtime  Lorg/jruby/Ruby;
            0    8     1  occurrences  I
            0    8     2       result  Lorg/jruby/util/ByteList;
            0    8     3         list  Lorg/jruby/RubyArray;
            0    8     4        index  I
            0    8     5    converter  Lorg/jruby/util/Pack$ConverterExecutor;
            1    8     6     listSize  I
            5    6     7         from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      runtime      
      occurrences  
      result       
      list         
      index        
      converter    

  private static org.jruby.util.Pack$ConverterExecutor executor();
    descriptor: ()Lorg/jruby/util/Pack$ConverterExecutor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1647
            new org.jruby.util.Pack$27
            dup
            invokespecial org.jruby.util.Pack$27.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static final org.jruby.util.ByteList shrink(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList i2Shrink
        start local 1 // int iLength
         0: .line 1720
            aload 0 /* i2Shrink */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 1 /* iLength */
            isub
            istore 1 /* iLength */
         1: .line 1722
            iload 1 /* iLength */
            ifge 3
         2: .line 1723
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 1725
      StackMap locals:
      StackMap stack:
            aload 0 /* i2Shrink */
            iload 1 /* iLength */
            invokevirtual org.jruby.util.ByteList.length:(I)V
         4: .line 1726
            aload 0 /* i2Shrink */
            areturn
        end local 1 // int iLength
        end local 0 // org.jruby.util.ByteList i2Shrink
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  i2Shrink  Lorg/jruby/util/ByteList;
            0    5     1   iLength  I
    MethodParameters:
          Name  Flags
      i2Shrink  
      iLength   

  private static final org.jruby.util.ByteList grow(org.jruby.util.ByteList, byte[], int);
    descriptor: (Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.util.ByteList i2Grow
        start local 1 // byte[] iPads
        start local 2 // int iLength
         0: .line 1738
            aload 1 /* iPads */
            arraylength
            istore 3 /* lPadLength */
        start local 3 // int lPadLength
         1: .line 1739
            goto 4
         2: .line 1740
      StackMap locals: int
      StackMap stack:
            aload 0 /* i2Grow */
            aload 1 /* iPads */
            invokevirtual org.jruby.util.ByteList.append:([B)V
         3: .line 1741
            iload 2 /* iLength */
            iload 3 /* lPadLength */
            isub
            istore 2 /* iLength */
         4: .line 1739
      StackMap locals:
      StackMap stack:
            iload 2 /* iLength */
            iload 3 /* lPadLength */
            if_icmpge 2
         5: .line 1743
            aload 0 /* i2Grow */
            aload 1 /* iPads */
            iconst_0
            iload 2 /* iLength */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         6: .line 1744
            aload 0 /* i2Grow */
            areturn
        end local 3 // int lPadLength
        end local 2 // int iLength
        end local 1 // byte[] iPads
        end local 0 // org.jruby.util.ByteList i2Grow
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0      i2Grow  Lorg/jruby/util/ByteList;
            0    7     1       iPads  [B
            0    7     2     iLength  I
            1    7     3  lPadLength  I
    MethodParameters:
         Name  Flags
      i2Grow   
      iPads    
      iLength  

  public static org.jruby.RubyString pack(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList formatString
         0: .line 1751
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* list */
            aload 2 /* formatString */
            iconst_0
            invokestatic org.jruby.util.Pack.executor:()Lorg/jruby/util/Pack$ConverterExecutor;
            invokestatic org.jruby.util.Pack.packCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;)Lorg/jruby/RubyString;
            areturn
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       runtime  Lorg/jruby/Ruby;
            0    1     1          list  Lorg/jruby/RubyArray;
            0    1     2  formatString  Lorg/jruby/util/ByteList;
    MethodParameters:
              Name  Flags
      runtime       
      list          
      formatString  

  public static org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.RubyArray, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyArray list
        start local 3 // org.jruby.RubyString formatString
         0: .line 1756
            aload 0 /* context */
            aload 2 /* list */
            aload 3 /* formatString */
            invokestatic org.jruby.util.Pack.pack:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 3 // org.jruby.RubyString formatString
        end local 2 // org.jruby.RubyArray list
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       context  Lorg/jruby/runtime/ThreadContext;
            0    1     1       runtime  Lorg/jruby/Ruby;
            0    1     2          list  Lorg/jruby/RubyArray;
            0    1     3  formatString  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      context       
      runtime       
      list          
      formatString  

  public static void decode(org.jruby.runtime.ThreadContext, org.jruby.Ruby, java.nio.ByteBuffer, int, org.jruby.RubyArray, org.jruby.runtime.Block, org.jruby.util.Pack$Converter);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.nio.ByteBuffer encode
        start local 3 // int occurrences
        start local 4 // org.jruby.RubyArray result
        start local 5 // org.jruby.runtime.Block block
        start local 6 // org.jruby.util.Pack$Converter converter
         0: .line 1762
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* encode */
            iload 3 /* occurrences */
         1: .line 1763
            aload 4 /* result */
            aload 5 /* block */
            aload 6 /* converter */
            aload 5 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
         2: iconst_0
         3: .line 1762
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter int
            invokestatic org.jruby.util.Pack.decode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 1764
            return
        end local 6 // org.jruby.util.Pack$Converter converter
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray result
        end local 3 // int occurrences
        end local 2 // java.nio.ByteBuffer encode
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      context  Lorg/jruby/runtime/ThreadContext;
            0    5     1      runtime  Lorg/jruby/Ruby;
            0    5     2       encode  Ljava/nio/ByteBuffer;
            0    5     3  occurrences  I
            0    5     4       result  Lorg/jruby/RubyArray;
            0    5     5        block  Lorg/jruby/runtime/Block;
            0    5     6    converter  Lorg/jruby/util/Pack$Converter;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      context      
      runtime      
      encode       
      occurrences  
      result       
      block        
      converter    

  public static org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.RubyString formatString
         0: .line 1767
            aload 0 /* context */
            aload 1 /* list */
            aload 2 /* formatString */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            aload 2 /* formatString */
            invokevirtual org.jruby.RubyString.isTaint:()Z
            invokestatic org.jruby.util.Pack.executor:()Lorg/jruby/util/Pack$ConverterExecutor;
            invokestatic org.jruby.util.Pack.packCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;)Lorg/jruby/RubyString;
            astore 3 /* pack */
        start local 3 // org.jruby.RubyString pack
         1: .line 1768
            aload 3 /* pack */
            aload 2 /* formatString */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            areturn
        end local 3 // org.jruby.RubyString pack
        end local 2 // org.jruby.RubyString formatString
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       context  Lorg/jruby/runtime/ThreadContext;
            0    2     1          list  Lorg/jruby/RubyArray;
            0    2     2  formatString  Lorg/jruby/RubyString;
            1    2     3          pack  Lorg/jruby/RubyString;
    MethodParameters:
              Name  Flags
      context       
      list          
      formatString  

  private static org.jruby.RubyString packCommon(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$ConverterExecutor);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=16, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // boolean tainted
        start local 4 // org.jruby.util.Pack$ConverterExecutor executor
         0: .line 1784
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 5 /* format */
        start local 5 // java.nio.ByteBuffer format
         1: .line 1785
            new org.jruby.util.ByteList
            dup
            invokespecial org.jruby.util.ByteList.<init>:()V
            astore 6 /* result */
        start local 6 // org.jruby.util.ByteList result
         2: .line 1786
            iload 3 /* tainted */
            istore 7 /* taintOutput */
        start local 7 // boolean taintOutput
         3: .line 1787
            new org.jruby.util.Pack$PackInts
            dup
            aload 1 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_0
            invokespecial org.jruby.util.Pack$PackInts.<init>:(II)V
            astore 8 /* packInts */
        start local 8 // org.jruby.util.Pack$PackInts packInts
         4: .line 1789
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        start local 10 // int next
         5: .line 1791
            iconst_1
            istore 11 /* enc_info */
        start local 11 // int enc_info
         6: .line 1793
            goto 81
         7: .line 1794
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts top int int
      StackMap stack:
            iload 10 /* next */
            istore 9 /* type */
        start local 9 // int type
         8: .line 1795
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
         9: .line 1796
            ldc "cCiIlLnNqQsSvV"
            iload 9 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 15
            iload 10 /* next */
            ifne 15
        10: .line 1797
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        11: .line 1801
            goto 15
        12: .line 1802
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int
      StackMap stack:
            iload 10 /* next */
            ifne 13
            goto 82
        13: .line 1803
      StackMap locals:
      StackMap stack:
            iload 10 /* next */
            istore 9 /* type */
        14: .line 1804
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        15: .line 1801
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 9 /* type */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 12
        16: .line 1808
            iload 9 /* type */
            bipush 35
            if_icmpne 22
        17: .line 1809
            goto 21
        18: .line 1810
      StackMap locals:
      StackMap stack:
            iload 10 /* next */
            ifne 19
            goto 82
        19: .line 1811
      StackMap locals:
      StackMap stack:
            iload 10 /* next */
            istore 9 /* type */
        20: .line 1812
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        21: .line 1809
      StackMap locals:
      StackMap stack:
            iload 9 /* type */
            bipush 10
            if_icmpne 18
        22: .line 1816
      StackMap locals:
      StackMap stack:
            iload 10 /* next */
            bipush 33
            if_icmpeq 23
            iload 10 /* next */
            bipush 95
            if_icmpne 31
        23: .line 1817
      StackMap locals:
      StackMap stack:
            ldc "sSiIlL"
            iload 9 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* index */
        start local 12 // int index
        24: .line 1818
            iload 12 /* index */
            iconst_m1
            if_icmpne 26
        25: .line 1819
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* next */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "' allowed only after types "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "sSiIlL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        26: .line 1821
      StackMap locals: int
      StackMap stack:
            iload 9 /* type */
            istore 13 /* typeBeforeMap */
        start local 13 // int typeBeforeMap
        27: .line 1822
            ldc "sSiIqQ"
            iload 12 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* type */
        28: .line 1824
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        29: .line 1825
            ldc "lLsS"
            iload 13 /* typeBeforeMap */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 31
            iload 10 /* next */
            ifne 31
        30: .line 1826
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        end local 13 // int typeBeforeMap
        end local 12 // int index
        31: .line 1830
      StackMap locals:
      StackMap stack:
            iload 10 /* next */
            bipush 62
            if_icmpeq 32
            iload 10 /* next */
            bipush 60
            if_icmpne 40
        32: .line 1831
      StackMap locals:
      StackMap stack:
            iload 10 /* next */
            bipush 62
            if_icmpne 33
            bipush 61
            goto 34
      StackMap locals:
      StackMap stack:
        33: bipush 60
      StackMap locals:
      StackMap stack: int
        34: istore 10 /* next */
        35: .line 1832
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 9 /* type */
            iload 10 /* next */
            iadd
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* index */
        start local 12 // int index
        36: .line 1833
            iload 12 /* index */
            iconst_m1
            if_icmpne 38
        37: .line 1834
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* next */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "' allowed only after types sSiIlLqQ"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        38: .line 1836
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 12 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* type */
        39: .line 1837
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        end local 12 // int index
        40: .line 1841
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* occurrences */
        start local 12 // int occurrences
        41: .line 1842
            iconst_0
            istore 13 /* isStar */
        start local 13 // boolean isStar
        42: .line 1843
            iconst_0
            istore 14 /* ignoreStar */
        start local 14 // boolean ignoreStar
        43: .line 1844
            iload 10 /* next */
            ifeq 58
        44: .line 1845
            iload 10 /* next */
            bipush 42
            if_icmpne 53
        45: .line 1846
            ldc "@XxumM"
            iload 9 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 49
        46: .line 1847
            iconst_0
            istore 12 /* occurrences */
        47: .line 1848
            iconst_1
            istore 14 /* ignoreStar */
        48: .line 1849
            goto 51
        49: .line 1850
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            aload 8 /* packInts */
            getfield org.jruby.util.Pack$PackInts.idx:I
            isub
            istore 12 /* occurrences */
        50: .line 1851
            iconst_1
            istore 13 /* isStar */
        51: .line 1853
      StackMap locals:
      StackMap stack:
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        52: .line 1854
            goto 58
      StackMap locals:
      StackMap stack:
        53: getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 10 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifeq 58
        54: .line 1855
            iconst_0
            istore 12 /* occurrences */
        55: .line 1857
      StackMap locals:
      StackMap stack:
            iload 12 /* occurrences */
            bipush 10
            imul
            iload 10 /* next */
            sipush 255
            iand
            i2c
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            iadd
            istore 12 /* occurrences */
        56: .line 1858
            aload 5 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 10 /* next */
        57: .line 1859
            iload 10 /* next */
            ifeq 58
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 10 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifne 55
        58: .line 1863
      StackMap locals:
      StackMap stack:
            iload 9 /* type */
            iload 11 /* enc_info */
            invokestatic org.jruby.util.Pack.adjustEncInfo:(II)I
            istore 11 /* enc_info */
        59: .line 1865
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            iload 9 /* type */
            aaload
            astore 15 /* converter */
        start local 15 // org.jruby.util.Pack$Converter converter
        60: .line 1867
            aload 15 /* converter */
            ifnull 64
        61: .line 1868
            aload 4 /* executor */
            aload 15 /* converter */
            invokevirtual org.jruby.util.Pack$ConverterExecutor.setConverter:(Lorg/jruby/util/Pack$Converter;)V
        62: .line 1869
            aload 8 /* packInts */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 12 /* occurrences */
            aload 6 /* result */
            aload 1 /* list */
            aload 8 /* packInts */
            getfield org.jruby.util.Pack$PackInts.idx:I
            aload 4 /* executor */
            invokestatic org.jruby.util.Pack.encode:(Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/RubyArray;ILorg/jruby/util/Pack$ConverterExecutor;)I
            putfield org.jruby.util.Pack$PackInts.idx:I
        63: .line 1870
            goto 81
        64: .line 1873
      StackMap locals: org.jruby.util.Pack$Converter
      StackMap stack:
            iload 9 /* type */
            lookupswitch { // 16
                   37: 65
                   64: 72
                   65: 66
                   66: 66
                   72: 66
                   77: 76
                   85: 78
                   88: 70
                   90: 66
                   97: 66
                   98: 66
                  104: 66
                  109: 74
                  117: 74
                  119: 80
                  120: 68
              default: 81
          }
        65: .line 1875
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "% is not supported"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        66: .line 1883
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 6 /* result */
            iload 7 /* taintOutput */
            aload 8 /* packInts */
            iload 9 /* type */
            iload 12 /* occurrences */
            iload 13 /* isStar */
            invokestatic org.jruby.util.Pack.pack_h:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;IIZ)Z
            istore 7 /* taintOutput */
        67: .line 1884
            goto 81
        68: .line 1886
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            getstatic org.jruby.util.Pack.sNil10:[B
            iload 12 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
        69: .line 1887
            goto 81
        70: .line 1889
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 6 /* result */
            iload 12 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_X:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;I)V
        71: .line 1890
            goto 81
        72: .line 1892
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            iload 12 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_at:(Lorg/jruby/util/ByteList;I)V
        73: .line 1893
            goto 81
        74: .line 1896
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 6 /* result */
            iload 7 /* taintOutput */
            aload 8 /* packInts */
            iload 9 /* type */
            i2c
            iload 12 /* occurrences */
            iload 14 /* ignoreStar */
            invokestatic org.jruby.util.Pack.pack_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;CIZ)Z
            istore 7 /* taintOutput */
        75: .line 1897
            goto 81
        76: .line 1899
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 6 /* result */
            iload 7 /* taintOutput */
            aload 8 /* packInts */
            iload 12 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_M:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;I)Z
            istore 7 /* taintOutput */
        77: .line 1900
            goto 81
        78: .line 1902
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 6 /* result */
            aload 8 /* packInts */
            iload 12 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_U:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
        79: .line 1903
            goto 81
        80: .line 1905
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 6 /* result */
            aload 8 /* packInts */
            iload 12 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_w:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
        end local 15 // org.jruby.util.Pack$Converter converter
        end local 14 // boolean ignoreStar
        end local 13 // boolean isStar
        end local 12 // int occurrences
        end local 9 // int type
        81: .line 1793
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts top int int
      StackMap stack:
            iload 10 /* next */
            ifne 7
        82: .line 1910
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 6 /* result */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 12 /* output */
        start local 12 // org.jruby.RubyString output
        83: .line 1911
            iload 7 /* taintOutput */
            ifeq 84
            aload 12 /* output */
            iconst_1
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
        84: .line 1913
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            iload 11 /* enc_info */
            tableswitch { // 1 - 2
                    1: 85
                    2: 87
              default: 88
          }
        85: .line 1915
      StackMap locals:
      StackMap stack:
            aload 12 /* output */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            bipush 16
            invokevirtual org.jruby.RubyString.setEncodingAndCodeRange:(Lorg/jcodings/Encoding;I)V
        86: .line 1916
            goto 88
        87: .line 1918
      StackMap locals:
      StackMap stack:
            aload 12 /* output */
            getstatic org.jruby.util.Pack.UTF8:Lorg/jcodings/specific/UTF8Encoding;
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        88: .line 1924
      StackMap locals:
      StackMap stack:
            aload 12 /* output */
            areturn
        end local 12 // org.jruby.RubyString output
        end local 11 // int enc_info
        end local 10 // int next
        end local 8 // org.jruby.util.Pack$PackInts packInts
        end local 7 // boolean taintOutput
        end local 6 // org.jruby.util.ByteList result
        end local 5 // java.nio.ByteBuffer format
        end local 4 // org.jruby.util.Pack$ConverterExecutor executor
        end local 3 // boolean tainted
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   89     0        context  Lorg/jruby/runtime/ThreadContext;
            0   89     1           list  Lorg/jruby/RubyArray;
            0   89     2   formatString  Lorg/jruby/util/ByteList;
            0   89     3        tainted  Z
            0   89     4       executor  Lorg/jruby/util/Pack$ConverterExecutor;
            1   89     5         format  Ljava/nio/ByteBuffer;
            2   89     6         result  Lorg/jruby/util/ByteList;
            3   89     7    taintOutput  Z
            4   89     8       packInts  Lorg/jruby/util/Pack$PackInts;
            8   81     9           type  I
            5   89    10           next  I
            6   89    11       enc_info  I
           24   31    12          index  I
           27   31    13  typeBeforeMap  I
           36   40    12          index  I
           41   81    12    occurrences  I
           42   81    13         isStar  Z
           43   81    14     ignoreStar  Z
           60   81    15      converter  Lorg/jruby/util/Pack$Converter;
           83   89    12         output  Lorg/jruby/RubyString;
    MethodParameters:
              Name  Flags
      context       
      list          
      formatString  
      tainted       
      executor      

  private static void pack_w(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, org.jruby.util.Pack$PackInts, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // org.jruby.util.Pack$PackInts packInts
        start local 4 // int occurrences
         0: .line 1928
            goto 34
         1: .line 1929
      StackMap locals:
      StackMap stack:
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1931
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* from */
        start local 5 // org.jruby.runtime.builtin.IRubyObject from
         3: .line 1932
            aload 5 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "pack('w') does not take nil"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 1934
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            new org.jruby.util.ByteList
            dup
            invokespecial org.jruby.util.ByteList.<init>:()V
            astore 6 /* buf */
        start local 6 // org.jruby.util.ByteList buf
         5: .line 1936
            aload 5 /* from */
            instanceof org.jruby.RubyBignum
            ifeq 12
         6: .line 1937
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc 128
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 7 /* big128 */
        start local 7 // org.jruby.RubyBignum big128
         7: .line 1938
            goto 11
         8: .line 1939
      StackMap locals: org.jruby.util.ByteList org.jruby.RubyBignum
      StackMap stack:
            aload 5 /* from */
            checkcast org.jruby.RubyBignum
            aload 0 /* context */
            aload 7 /* big128 */
            invokevirtual org.jruby.RubyBignum.divmod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 8 /* ary */
        start local 8 // org.jruby.RubyArray ary
         9: .line 1940
            aload 6 /* buf */
            aload 8 /* ary */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            sipush 128
            ior
            i2b
            sipush 255
            iand
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        10: .line 1941
            aload 8 /* ary */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* from */
        end local 8 // org.jruby.RubyArray ary
        11: .line 1938
      StackMap locals:
      StackMap stack:
            aload 5 /* from */
            instanceof org.jruby.RubyBignum
            ifne 8
        end local 7 // org.jruby.RubyBignum big128
        12: .line 1945
      StackMap locals:
      StackMap stack:
            aload 5 /* from */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 7 /* l */
        start local 7 // long l
        13: .line 1948
            lload 7 /* l */
            lconst_0
            lcmp
            iflt 33
        14: .line 1950
            goto 17
        15: .line 1951
      StackMap locals: long
      StackMap stack:
            aload 6 /* buf */
            lload 7 /* l */
            ldc 127
            land
            ldc 128
            lor
            ldc 255
            land
            l2i
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        16: .line 1952
            lload 7 /* l */
            bipush 7
            lshr
            lstore 7 /* l */
        17: .line 1950
      StackMap locals:
      StackMap stack:
            lload 7 /* l */
            lconst_0
            lcmp
            ifne 15
        18: .line 1955
            iconst_0
            istore 9 /* left */
        start local 9 // int left
        19: .line 1956
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            isub
            istore 10 /* right */
        start local 10 // int right
        20: .line 1958
            iload 10 /* right */
            iflt 23
        21: .line 1959
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iconst_0
            dup2
            baload
            bipush 127
            iand
            i2b
            bastore
        22: .line 1960
            goto 30
        23: .line 1961
      StackMap locals: int int
      StackMap stack:
            aload 6 /* buf */
            iconst_0
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        24: .line 1964
            goto 30
        25: .line 1965
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 9 /* left */
            baload
            istore 11 /* tmp */
        start local 11 // byte tmp
        26: .line 1966
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 9 /* left */
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 10 /* right */
            baload
            bastore
        27: .line 1967
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 10 /* right */
            iload 11 /* tmp */
            bastore
        28: .line 1969
            iinc 9 /* left */ 1
        29: .line 1970
            iinc 10 /* right */ -1
        end local 11 // byte tmp
        30: .line 1964
      StackMap locals:
      StackMap stack:
            iload 9 /* left */
            iload 10 /* right */
            if_icmplt 25
        31: .line 1973
            aload 2 /* result */
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
        end local 10 // int right
        end local 9 // int left
        32: .line 1974
            goto 34
        33: .line 1975
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't compress negative numbers"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 7 // long l
        end local 6 // org.jruby.util.ByteList buf
        end local 5 // org.jruby.runtime.builtin.IRubyObject from
        34: .line 1928
      StackMap locals:
      StackMap stack:
            iload 4 /* occurrences */
            iinc 4 /* occurrences */ -1
            ifgt 1
        35: .line 1978
            return
        end local 4 // int occurrences
        end local 3 // org.jruby.util.Pack$PackInts packInts
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0      context  Lorg/jruby/runtime/ThreadContext;
            0   36     1         list  Lorg/jruby/RubyArray;
            0   36     2       result  Lorg/jruby/util/ByteList;
            0   36     3     packInts  Lorg/jruby/util/Pack$PackInts;
            0   36     4  occurrences  I
            3   34     5         from  Lorg/jruby/runtime/builtin/IRubyObject;
            5   34     6          buf  Lorg/jruby/util/ByteList;
            7   12     7       big128  Lorg/jruby/RubyBignum;
            9   11     8          ary  Lorg/jruby/RubyArray;
           13   34     7            l  J
           19   32     9         left  I
           20   32    10        right  I
           26   30    11          tmp  B
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      packInts     
      occurrences  

  private static void pack_U(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, org.jruby.util.Pack$PackInts, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // org.jruby.util.Pack$PackInts packInts
        start local 4 // int occurrences
         0: .line 1981
            goto 10
         1: .line 1982
      StackMap locals:
      StackMap stack:
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1984
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* from */
        start local 5 // org.jruby.runtime.builtin.IRubyObject from
         3: .line 1985
            aload 5 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            iconst_0
            goto 5
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: aload 5 /* from */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* code */
        start local 6 // int code
         6: .line 1987
            iload 6 /* code */
            ifge 7
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "pack(U): value out of range"
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1989
      StackMap locals: int
      StackMap stack:
            aload 2 /* result */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 7 /* len */
        start local 7 // int len
         8: .line 1990
            aload 2 /* result */
            iload 7 /* len */
            bipush 6
            iadd
            invokevirtual org.jruby.util.ByteList.ensure:(I)V
         9: .line 1991
            aload 2 /* result */
            iload 7 /* len */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* result */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* result */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 7 /* len */
            iadd
            iload 6 /* code */
            invokestatic org.jruby.util.Pack.utf8Decode:(Lorg/jruby/Ruby;[BII)I
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        end local 7 // int len
        end local 6 // int code
        end local 5 // org.jruby.runtime.builtin.IRubyObject from
        10: .line 1981
      StackMap locals:
      StackMap stack:
            iload 4 /* occurrences */
            iinc 4 /* occurrences */ -1
            ifgt 1
        11: .line 1993
            return
        end local 4 // int occurrences
        end local 3 // org.jruby.util.Pack$PackInts packInts
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      context  Lorg/jruby/runtime/ThreadContext;
            0   12     1         list  Lorg/jruby/RubyArray;
            0   12     2       result  Lorg/jruby/util/ByteList;
            0   12     3     packInts  Lorg/jruby/util/Pack$PackInts;
            0   12     4  occurrences  I
            3   10     5         from  Lorg/jruby/runtime/builtin/IRubyObject;
            6   10     6         code  I
            8   10     7          len  I
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      packInts     
      occurrences  

  private static boolean pack_M(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // boolean taintOutput
        start local 4 // org.jruby.util.Pack$PackInts packInts
        start local 5 // int occurrences
         0: .line 1997
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 1999
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* from */
        start local 7 // org.jruby.runtime.builtin.IRubyObject from
         2: .line 2000
            aload 7 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 3
            iconst_1
            istore 3 /* taintOutput */
         3: .line 2001
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 7 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
      StackMap locals:
      StackMap stack: org.jruby.util.ByteList
         5: astore 6 /* lCurElemString */
        start local 6 // org.jruby.util.ByteList lCurElemString
         6: .line 2003
            iload 5 /* occurrences */
            iconst_1
            if_icmpgt 8
         7: .line 2004
            bipush 72
            istore 5 /* occurrences */
         8: .line 2007
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* result */
            aload 6 /* lCurElemString */
            iload 5 /* occurrences */
            invokestatic org.jruby.util.PackUtils.qpencode:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         9: .line 2008
            iload 3 /* taintOutput */
            ireturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject from
        end local 6 // org.jruby.util.ByteList lCurElemString
        end local 5 // int occurrences
        end local 4 // org.jruby.util.Pack$PackInts packInts
        end local 3 // boolean taintOutput
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0         context  Lorg/jruby/runtime/ThreadContext;
            0   10     1            list  Lorg/jruby/RubyArray;
            0   10     2          result  Lorg/jruby/util/ByteList;
            0   10     3     taintOutput  Z
            0   10     4        packInts  Lorg/jruby/util/Pack$PackInts;
            0   10     5     occurrences  I
            6   10     6  lCurElemString  Lorg/jruby/util/ByteList;
            2   10     7            from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      taintOutput  
      packInts     
      occurrences  

  private static boolean pack_h(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, int, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;IIZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // boolean taintOutput
        start local 4 // org.jruby.util.Pack$PackInts packInts
        start local 5 // int type
        start local 6 // int occurrences
        start local 7 // boolean isStar
         0: .line 2013
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 2
         1: .line 2014
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2017
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* from */
        start local 9 // org.jruby.runtime.builtin.IRubyObject from
         3: .line 2018
            aload 9 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
            goto 5
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
      StackMap locals:
      StackMap stack: org.jruby.util.ByteList
         5: astore 8 /* lCurElemString */
        start local 8 // org.jruby.util.ByteList lCurElemString
         6: .line 2019
            aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 7
            iconst_1
            istore 3 /* taintOutput */
         7: .line 2021
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 7 /* isStar */
            ifeq 10
         8: .line 2022
            aload 8 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 6 /* occurrences */
         9: .line 2024
            iload 5 /* type */
            bipush 90
            if_icmpne 10
            iinc 6 /* occurrences */ 1
        10: .line 2027
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            iload 5 /* type */
            aload 8 /* lCurElemString */
            iload 6 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_inner:(Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
        11: .line 2028
            iload 3 /* taintOutput */
            ireturn
        end local 9 // org.jruby.runtime.builtin.IRubyObject from
        end local 8 // org.jruby.util.ByteList lCurElemString
        end local 7 // boolean isStar
        end local 6 // int occurrences
        end local 5 // int type
        end local 4 // org.jruby.util.Pack$PackInts packInts
        end local 3 // boolean taintOutput
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0         context  Lorg/jruby/runtime/ThreadContext;
            0   12     1            list  Lorg/jruby/RubyArray;
            0   12     2          result  Lorg/jruby/util/ByteList;
            0   12     3     taintOutput  Z
            0   12     4        packInts  Lorg/jruby/util/Pack$PackInts;
            0   12     5            type  I
            0   12     6     occurrences  I
            0   12     7          isStar  Z
            6   12     8  lCurElemString  Lorg/jruby/util/ByteList;
            3   12     9            from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      taintOutput  
      packInts     
      type         
      occurrences  
      isStar       

  private static boolean pack_m(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, char, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;CIZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // boolean taintOutput
        start local 4 // org.jruby.util.Pack$PackInts packInts
        start local 5 // char type
        start local 6 // int occurrences
        start local 7 // boolean ignoreStar
         0: .line 2033
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 2035
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* from */
        start local 9 // org.jruby.runtime.builtin.IRubyObject from
         2: .line 2036
            aload 9 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 9 /* from */
            ldc "Integer"
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 2037
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 8 /* lCurElemString */
        start local 8 // org.jruby.util.ByteList lCurElemString
         4: .line 2038
            aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 5
            iconst_1
            istore 3 /* taintOutput */
         5: .line 2039
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 8 /* lCurElemString */
            iload 6 /* occurrences */
            iload 7 /* ignoreStar */
            iload 5 /* type */
            aload 2 /* result */
            invokestatic org.jruby.util.Pack.encodeUM:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZCLorg/jruby/util/ByteList;)V
         6: .line 2040
            iload 3 /* taintOutput */
            ireturn
        end local 9 // org.jruby.runtime.builtin.IRubyObject from
        end local 8 // org.jruby.util.ByteList lCurElemString
        end local 7 // boolean ignoreStar
        end local 6 // int occurrences
        end local 5 // char type
        end local 4 // org.jruby.util.Pack$PackInts packInts
        end local 3 // boolean taintOutput
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0         context  Lorg/jruby/runtime/ThreadContext;
            0    7     1            list  Lorg/jruby/RubyArray;
            0    7     2          result  Lorg/jruby/util/ByteList;
            0    7     3     taintOutput  Z
            0    7     4        packInts  Lorg/jruby/util/Pack$PackInts;
            0    7     5            type  C
            0    7     6     occurrences  I
            0    7     7      ignoreStar  Z
            4    7     8  lCurElemString  Lorg/jruby/util/ByteList;
            2    7     9            from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      taintOutput  
      packInts     
      type         
      occurrences  
      ignoreStar   

  private static void pack_at(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int occurrences
         0: .line 2044
            iload 1 /* occurrences */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            istore 1 /* occurrences */
         1: .line 2045
            iload 1 /* occurrences */
            ifle 3
         2: .line 2046
            aload 0 /* result */
            getstatic org.jruby.util.Pack.sNil10:[B
            iload 1 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
         3: .line 2048
      StackMap locals:
      StackMap stack:
            iload 1 /* occurrences */
            ineg
            istore 1 /* occurrences */
         4: .line 2049
            iload 1 /* occurrences */
            ifle 6
         5: .line 2050
            aload 0 /* result */
            iload 1 /* occurrences */
            invokestatic org.jruby.util.Pack.shrink:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         6: .line 2052
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int occurrences
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0       result  Lorg/jruby/util/ByteList;
            0    7     1  occurrences  I
    MethodParameters:
             Name  Flags
      result       
      occurrences  

  private static void pack_X(org.jruby.runtime.ThreadContext, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.ByteList result
        start local 2 // int occurrences
         0: .line 2056
            aload 1 /* result */
            iload 2 /* occurrences */
            invokestatic org.jruby.util.Pack.shrink:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         1: .line 2057
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         2: pop
         3: .line 2058
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "in `pack': X outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2060
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList result
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      context  Lorg/jruby/runtime/ThreadContext;
            0    5     1       result  Lorg/jruby/util/ByteList;
            0    5     2  occurrences  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      context      
      result       
      occurrences  

  private static void pack_h_inner(org.jruby.util.ByteList, int, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int type
        start local 2 // org.jruby.util.ByteList lCurElemString
        start local 3 // int occurrences
         0: .line 2063
            iload 1 /* type */
            lookupswitch { // 7
                   65: 1
                   66: 5
                   72: 9
                   90: 1
                   97: 1
                   98: 3
                  104: 7
              default: 10
          }
         1: .line 2067
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 1 /* type */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_aAZ:(Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
         2: .line 2068
            goto 10
         3: .line 2070
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_b:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
         4: .line 2071
            goto 10
         5: .line 2073
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_B:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
         6: .line 2074
            goto 10
         7: .line 2076
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_h:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
         8: .line 2077
            goto 10
         9: .line 2079
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_H:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
        10: .line 2082
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int occurrences
        end local 2 // org.jruby.util.ByteList lCurElemString
        end local 1 // int type
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0          result  Lorg/jruby/util/ByteList;
            0   11     1            type  I
            0   11     2  lCurElemString  Lorg/jruby/util/ByteList;
            0   11     3     occurrences  I
    MethodParameters:
                Name  Flags
      result          
      type            
      lCurElemString  
      occurrences     

  private static void pack_h_H(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2085
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2086
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2088
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2089
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_1
            iadd
            istore 4 /* padLength */
         4: .line 2090
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2093
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 17
         7: .line 2094
      StackMap locals: int
      StackMap stack:
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            i2b
            istore 6 /* currentChar */
        start local 6 // byte currentChar
         8: .line 2096
            iload 6 /* currentChar */
            invokestatic java.lang.Character.isJavaIdentifierStart:(I)Z
            ifeq 11
         9: .line 2098
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            bipush 9
            iadd
            bipush 15
            iand
            ior
            istore 3 /* currentByte */
        10: .line 2099
            goto 12
        11: .line 2100
      StackMap locals: int
      StackMap stack:
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            ior
            istore 3 /* currentByte */
        12: .line 2103
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_1
            iand
            ifeq 15
        13: .line 2104
            iload 3 /* currentByte */
            iconst_4
            ishl
            istore 3 /* currentByte */
        14: .line 2105
            goto 17
        15: .line 2106
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        16: .line 2107
            iconst_0
            istore 3 /* currentByte */
        end local 6 // byte currentChar
        17: .line 2093
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        18: .line 2111
            iload 2 /* occurrences */
            iconst_1
            iand
            ifeq 21
        19: .line 2112
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        20: .line 2113
            iload 4 /* padLength */
            ifle 21
            iinc 4 /* padLength */ -1
        21: .line 2116
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iconst_2
            idiv
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        22: .line 2117
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0          result  Lorg/jruby/util/ByteList;
            0   23     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   23     2     occurrences  I
            1   23     3     currentByte  I
            2   23     4       padLength  I
            6   18     5               i  I
            8   17     6     currentChar  B
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_h(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2120
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2121
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2123
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2124
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_1
            iadd
            istore 4 /* padLength */
         4: .line 2125
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2128
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 17
         7: .line 2129
      StackMap locals: int
      StackMap stack:
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            i2b
            istore 6 /* currentChar */
        start local 6 // byte currentChar
         8: .line 2131
            iload 6 /* currentChar */
            invokestatic java.lang.Character.isJavaIdentifierStart:(I)Z
            ifeq 11
         9: .line 2133
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            bipush 9
            iadd
            bipush 15
            iand
            iconst_4
            ishl
            ior
            istore 3 /* currentByte */
        10: .line 2134
            goto 12
        11: .line 2135
      StackMap locals: int
      StackMap stack:
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            iconst_4
            ishl
            ior
            istore 3 /* currentByte */
        12: .line 2138
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_1
            iand
            ifeq 15
        13: .line 2139
            iload 3 /* currentByte */
            iconst_4
            ishr
            istore 3 /* currentByte */
        14: .line 2140
            goto 17
        15: .line 2141
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        16: .line 2142
            iconst_0
            istore 3 /* currentByte */
        end local 6 // byte currentChar
        17: .line 2128
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        18: .line 2146
            iload 2 /* occurrences */
            iconst_1
            iand
            ifeq 21
        19: .line 2147
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        20: .line 2148
            iload 4 /* padLength */
            ifle 21
            iinc 4 /* padLength */ -1
        21: .line 2151
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iconst_2
            idiv
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        22: .line 2152
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0          result  Lorg/jruby/util/ByteList;
            0   23     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   23     2     occurrences  I
            1   23     3     currentByte  I
            2   23     4       padLength  I
            6   18     5               i  I
            8   17     6     currentChar  B
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_B(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2155
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2156
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2158
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2159
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_2
            idiv
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            iconst_2
            irem
            iadd
            istore 4 /* padLength */
         4: .line 2160
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2163
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 13
         7: .line 2164
      StackMap locals: int
      StackMap stack:
            iload 3 /* currentByte */
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            iconst_1
            iand
            ior
            istore 3 /* currentByte */
         8: .line 2167
            iload 5 /* i */
            bipush 7
            iand
            ifne 12
         9: .line 2168
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        10: .line 2169
            iconst_0
            istore 3 /* currentByte */
        11: .line 2170
            goto 13
        12: .line 2174
      StackMap locals:
      StackMap stack:
            iload 3 /* currentByte */
            iconst_1
            ishl
            istore 3 /* currentByte */
        13: .line 2163
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        14: .line 2177
            iload 2 /* occurrences */
            bipush 7
            iand
            ifeq 17
        15: .line 2178
            iload 3 /* currentByte */
            bipush 7
            iload 2 /* occurrences */
            bipush 7
            iand
            isub
            ishl
            istore 3 /* currentByte */
        16: .line 2179
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        17: .line 2182
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        18: .line 2183
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0          result  Lorg/jruby/util/ByteList;
            0   19     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   19     2     occurrences  I
            1   19     3     currentByte  I
            2   19     4       padLength  I
            6   14     5               i  I
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_b(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2186
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2187
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2189
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2190
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_2
            idiv
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            iconst_2
            irem
            iadd
            istore 4 /* padLength */
         4: .line 2191
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2194
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 14
         7: .line 2195
      StackMap locals: int
      StackMap stack:
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            iconst_1
            iand
            ifeq 9
         8: .line 2196
            iload 3 /* currentByte */
            sipush 128
            ior
            istore 3 /* currentByte */
         9: .line 2199
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            bipush 7
            iand
            ifne 13
        10: .line 2200
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        11: .line 2201
            iconst_0
            istore 3 /* currentByte */
        12: .line 2202
            goto 14
        13: .line 2206
      StackMap locals:
      StackMap stack:
            iload 3 /* currentByte */
            iconst_1
            ishr
            istore 3 /* currentByte */
        14: .line 2194
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        15: .line 2209
            iload 2 /* occurrences */
            bipush 7
            iand
            ifeq 18
        16: .line 2210
            iload 3 /* currentByte */
            bipush 7
            iload 2 /* occurrences */
            bipush 7
            iand
            isub
            ishr
            istore 3 /* currentByte */
        17: .line 2211
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        18: .line 2215
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        19: .line 2216
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0          result  Lorg/jruby/util/ByteList;
            0   20     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   20     2     occurrences  I
            1   20     3     currentByte  I
            2   20     4       padLength  I
            6   15     5               i  I
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_aAZ(org.jruby.util.ByteList, int, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int type
        start local 2 // org.jruby.util.ByteList lCurElemString
        start local 3 // int occurrences
         0: .line 2219
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 3 /* occurrences */
            if_icmplt 3
         1: .line 2220
            aload 0 /* result */
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 3 /* occurrences */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         2: .line 2221
            goto 9
         3: .line 2224
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
         4: .line 2225
            iload 3 /* occurrences */
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            istore 3 /* occurrences */
         5: .line 2227
            iload 1 /* type */
            lookupswitch { // 2
                   90: 6
                   97: 6
              default: 8
          }
         6: .line 2230
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            getstatic org.jruby.util.Pack.sNil10:[B
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
         7: .line 2231
            goto 9
         8: .line 2233
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            getstatic org.jruby.util.Pack.sSp10:[B
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
         9: .line 2237
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int occurrences
        end local 2 // org.jruby.util.ByteList lCurElemString
        end local 1 // int type
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0          result  Lorg/jruby/util/ByteList;
            0   10     1            type  I
            0   10     2  lCurElemString  Lorg/jruby/util/ByteList;
            0   10     3     occurrences  I
    MethodParameters:
                Name  Flags
      result          
      type            
      lCurElemString  
      occurrences     

  private static int adjustEncInfo(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int type
        start local 1 // int enc_info
         0: .line 2240
            iload 0 /* type */
            lookupswitch { // 4
                   77: 3
                   85: 1
                  109: 3
                  117: 3
              default: 4
          }
         1: .line 2242
      StackMap locals:
      StackMap stack:
            iload 1 /* enc_info */
            iconst_1
            if_icmpne 5
            iconst_2
            istore 1 /* enc_info */
         2: .line 2243
            goto 5
         3: .line 2247
      StackMap locals:
      StackMap stack:
            goto 5
         4: .line 2249
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* enc_info */
         5: .line 2252
      StackMap locals:
      StackMap stack:
            iload 1 /* enc_info */
            ireturn
        end local 1 // int enc_info
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      type  I
            0    6     1  enc_info  I
    MethodParameters:
          Name  Flags
      type      
      enc_info  

  private static int decodeIntLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2263
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2264
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 1 /* value */
        start local 1 // int value
         2: .line 2265
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2266
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static int decodeIntBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2277
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            ireturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static long decodeIntUnsignedBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2288
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            i2l
            ldc 4294967295
            land
            lreturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static long decodeIntUnsignedLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2299
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2300
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            i2l
            ldc 4294967295
            land
            lstore 1 /* value */
        start local 1 // long value
         2: .line 2301
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2302
            lload 1 /* value */
            lreturn
        end local 1 // long value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  J
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeIntLittleEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2312
            aload 0 /* result */
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2313
            aload 0 /* result */
            iload 1 /* s */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            bipush 24
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         2: .line 2314
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  private static void encodeIntBigEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2323
            aload 0 /* result */
            iload 1 /* s */
            bipush 24
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2324
            aload 0 /* result */
            iload 1 /* s */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         2: .line 2325
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  private static long decodeLongBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2334
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* c1 */
        start local 1 // int c1
         1: .line 2335
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            istore 2 /* c2 */
        start local 2 // int c2
         2: .line 2337
            iload 1 /* c1 */
            i2l
            bipush 32
            lshl
            iload 2 /* c2 */
            i2l
            ldc 4294967295
            land
            ladd
            lreturn
        end local 2 // int c2
        end local 1 // int c1
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  encode  Ljava/nio/ByteBuffer;
            1    3     1      c1  I
            2    3     2      c2  I
    MethodParameters:
        Name  Flags
      encode  

  private static long decodeLongLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2347
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* c1 */
        start local 1 // int c1
         1: .line 2348
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            istore 2 /* c2 */
        start local 2 // int c2
         2: .line 2350
            iload 2 /* c2 */
            i2l
            bipush 32
            lshl
            iload 1 /* c1 */
            i2l
            ldc 4294967295
            land
            ladd
            lreturn
        end local 2 // int c2
        end local 1 // int c1
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  encode  Ljava/nio/ByteBuffer;
            1    3     1      c1  I
            2    3     2      c2  I
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeLongLittleEndian(org.jruby.util.ByteList, long);
    descriptor: (Lorg/jruby/util/ByteList;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // long l
         0: .line 2360
            aload 0 /* result */
            lload 1 /* l */
            ldc -1
            land
            l2i
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2361
            aload 0 /* result */
            lload 1 /* l */
            bipush 32
            lushr
            l2i
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         2: .line 2362
            return
        end local 1 // long l
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       l  J
    MethodParameters:
        Name  Flags
      result  
      l       

  private static void encodeLongBigEndian(org.jruby.util.ByteList, long);
    descriptor: (Lorg/jruby/util/ByteList;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // long l
         0: .line 2371
            aload 0 /* result */
            lload 1 /* l */
            bipush 32
            lushr
            l2i
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2372
            aload 0 /* result */
            lload 1 /* l */
            ldc -1
            land
            l2i
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         2: .line 2373
            return
        end local 1 // long l
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       l  J
    MethodParameters:
        Name  Flags
      result  
      l       

  private static double decodeDoubleLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2382
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeLongLittleEndian:(Ljava/nio/ByteBuffer;)J
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static double decodeDoubleBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2392
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeLongBigEndian:(Ljava/nio/ByteBuffer;)J
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeDoubleLittleEndian(org.jruby.util.ByteList, double);
    descriptor: (Lorg/jruby/util/ByteList;D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // double d
         0: .line 2402
            aload 0 /* result */
            dload 1 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            invokestatic org.jruby.util.Pack.encodeLongLittleEndian:(Lorg/jruby/util/ByteList;J)V
         1: .line 2403
            return
        end local 1 // double d
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       d  D
    MethodParameters:
        Name  Flags
      result  
      d       

  private static void encodeDoubleBigEndian(org.jruby.util.ByteList, double);
    descriptor: (Lorg/jruby/util/ByteList;D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // double d
         0: .line 2412
            aload 0 /* result */
            dload 1 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            invokestatic org.jruby.util.Pack.encodeLongBigEndian:(Lorg/jruby/util/ByteList;J)V
         1: .line 2413
            return
        end local 1 // double d
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       d  D
    MethodParameters:
        Name  Flags
      result  
      d       

  private static float decodeFloatBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2422
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static float decodeFloatLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2432
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeFloatLittleEndian(org.jruby.util.ByteList, float);
    descriptor: (Lorg/jruby/util/ByteList;F)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // float f
         0: .line 2441
            aload 0 /* result */
            fload 1 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2442
            return
        end local 1 // float f
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       f  F
    MethodParameters:
        Name  Flags
      result  
      f       

  private static void encodeFloatBigEndian(org.jruby.util.ByteList, float);
    descriptor: (Lorg/jruby/util/ByteList;F)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // float f
         0: .line 2450
            aload 0 /* result */
            fload 1 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2451
            return
        end local 1 // float f
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       f  F
    MethodParameters:
        Name  Flags
      result  
      f       

  private static int decodeShortUnsignedLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2460
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2461
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            ldc 65535
            iand
            istore 1 /* value */
        start local 1 // int value
         2: .line 2462
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2463
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static int decodeShortUnsignedBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2473
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            ldc 65535
            iand
            istore 1 /* value */
        start local 1 // int value
         1: .line 2474
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  encode  Ljava/nio/ByteBuffer;
            1    2     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static int decodeShortLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2484
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2485
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            istore 1 /* value */
        start local 1 // int value
         2: .line 2486
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2487
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static short decodeShortBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2497
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            ireturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeShortLittleEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2507
            aload 0 /* result */
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2508
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  private static void encodeShortBigEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2517
            aload 0 /* result */
            iload 1 /* s */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2518
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       
}
SourceFile: "Pack.java"
NestMembers:
  org.jruby.util.Pack$1  org.jruby.util.Pack$10  org.jruby.util.Pack$11  org.jruby.util.Pack$12  org.jruby.util.Pack$13  org.jruby.util.Pack$14  org.jruby.util.Pack$15  org.jruby.util.Pack$16  org.jruby.util.Pack$17  org.jruby.util.Pack$18  org.jruby.util.Pack$19  org.jruby.util.Pack$2  org.jruby.util.Pack$20  org.jruby.util.Pack$21  org.jruby.util.Pack$22  org.jruby.util.Pack$23  org.jruby.util.Pack$24  org.jruby.util.Pack$25  org.jruby.util.Pack$26  org.jruby.util.Pack$27  org.jruby.util.Pack$3  org.jruby.util.Pack$4  org.jruby.util.Pack$5  org.jruby.util.Pack$6  org.jruby.util.Pack$7  org.jruby.util.Pack$8  org.jruby.util.Pack$9  org.jruby.util.Pack$Converter  org.jruby.util.Pack$ConverterExecutor  org.jruby.util.Pack$PackInts  org.jruby.util.Pack$QuadConverter
InnerClasses:
  org.jruby.util.Pack$1
  org.jruby.util.Pack$10
  org.jruby.util.Pack$11
  org.jruby.util.Pack$12
  org.jruby.util.Pack$13
  org.jruby.util.Pack$14
  org.jruby.util.Pack$15
  org.jruby.util.Pack$16
  org.jruby.util.Pack$17
  org.jruby.util.Pack$18
  org.jruby.util.Pack$19
  org.jruby.util.Pack$2
  org.jruby.util.Pack$20
  org.jruby.util.Pack$21
  org.jruby.util.Pack$22
  org.jruby.util.Pack$23
  org.jruby.util.Pack$24
  org.jruby.util.Pack$25
  org.jruby.util.Pack$26
  org.jruby.util.Pack$27
  org.jruby.util.Pack$3
  org.jruby.util.Pack$4
  org.jruby.util.Pack$5
  org.jruby.util.Pack$6
  org.jruby.util.Pack$7
  org.jruby.util.Pack$8
  org.jruby.util.Pack$9
  public abstract Converter = org.jruby.util.Pack$Converter of org.jruby.util.Pack
  private abstract ConverterExecutor = org.jruby.util.Pack$ConverterExecutor of org.jruby.util.Pack
  private PackInts = org.jruby.util.Pack$PackInts of org.jruby.util.Pack
  private abstract QuadConverter = org.jruby.util.Pack$QuadConverter of org.jruby.util.Pack