final class com.sun.jndi.ldap.Filter
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.jndi.ldap.Filter
  super_class: java.lang.Object
{
  private static final boolean dbg;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static int dbgIndent;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static final int LDAP_FILTER_AND;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 160

  static final int LDAP_FILTER_OR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 161

  static final int LDAP_FILTER_NOT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 162

  static final int LDAP_FILTER_EQUALITY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 163

  static final int LDAP_FILTER_SUBSTRINGS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 164

  static final int LDAP_FILTER_GE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 165

  static final int LDAP_FILTER_LE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 166

  static final int LDAP_FILTER_PRESENT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 135

  static final int LDAP_FILTER_APPROX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 168

  static final int LDAP_FILTER_EXT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 169

  static final int LDAP_FILTER_EXT_RULE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 129

  static final int LDAP_FILTER_EXT_TYPE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 130

  static final int LDAP_FILTER_EXT_VAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 131

  static final int LDAP_FILTER_EXT_DN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 132

  static final int LDAP_SUBSTRING_INITIAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  static final int LDAP_SUBSTRING_ANY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 129

  static final int LDAP_SUBSTRING_FINAL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 130

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 806
            iconst_0
            putstatic com.sun.jndi.ldap.Filter.dbgIndent:I
         1: .line 851
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.Filter this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.jndi.ldap.Filter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/ldap/Filter;

  static void encodeFilterString(com.sun.jndi.ldap.BerEncoder, java.lang.String, boolean);
    descriptor: (Lcom/sun/jndi/ldap/BerEncoder;Ljava/lang/String;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.sun.jndi.ldap.BerEncoder ber
        start local 1 // java.lang.String filterStr
        start local 2 // boolean isLdapv3
         0: .line 56
            aload 1 /* filterStr */
            ifnull 1
            aload 1 /* filterStr */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 57
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
            ldc "Empty filter"
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 61
      StackMap locals:
      StackMap stack:
            iload 2 /* isLdapv3 */
            ifeq 5
         3: .line 62
            aload 1 /* filterStr */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 3 /* filter */
        start local 3 // byte[] filter
         4: .line 63
            goto 6
        end local 3 // byte[] filter
         5: .line 64
      StackMap locals:
      StackMap stack:
            aload 1 /* filterStr */
            ldc "8859_1"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 3 /* filter */
        start local 3 // byte[] filter
         6: .line 66
      StackMap locals: byte[]
      StackMap stack:
            aload 3 /* filter */
            arraylength
            istore 4 /* filterLen */
        start local 4 // int filterLen
         7: .line 74
            aload 0 /* ber */
            aload 3 /* filter */
            iconst_0
            iload 4 /* filterLen */
            invokestatic com.sun.jndi.ldap.Filter.encodeFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BII)V
         8: .line 75
            return
        end local 4 // int filterLen
        end local 3 // byte[] filter
        end local 2 // boolean isLdapv3
        end local 1 // java.lang.String filterStr
        end local 0 // com.sun.jndi.ldap.BerEncoder ber
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0        ber  Lcom/sun/jndi/ldap/BerEncoder;
            0    9     1  filterStr  Ljava/lang/String;
            0    9     2   isLdapv3  Z
            4    5     3     filter  [B
            6    9     3     filter  [B
            7    9     4  filterLen  I
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
           Name  Flags
      ber        
      filterStr  
      isLdapv3   

  private static void encodeFilter(com.sun.jndi.ldap.BerEncoder, byte[], int, int);
    descriptor: (Lcom/sun/jndi/ldap/BerEncoder;[BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // com.sun.jndi.ldap.BerEncoder ber
        start local 1 // byte[] filter
        start local 2 // int filterStart
        start local 3 // int filterEnd
         0: .line 85
            iload 3 /* filterEnd */
            iload 2 /* filterStart */
            isub
            ifgt 2
         1: .line 86
            new javax.naming.directory.InvalidSearchFilterException
            dup
            ldc "Empty filter"
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 93
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* parens */
        start local 5 // int parens
         3: .line 95
            iconst_1
            newarray 10
            astore 8 /* filtOffset */
        start local 8 // int[] filtOffset
         4: .line 97
            aload 8 /* filtOffset */
            iconst_0
            iload 2 /* filterStart */
            iastore
            goto 59
         5: .line 98
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int top int top top int[]
      StackMap stack:
            aload 1 /* filter */
            aload 8 /* filtOffset */
            iconst_0
            iaload
            baload
            lookupswitch { // 3
                   32: 51
                   40: 6
                   41: 47
              default: 53
          }
         6: .line 100
      StackMap locals:
      StackMap stack:
            aload 8 /* filtOffset */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         7: .line 101
            iinc 5 /* parens */ 1
         8: .line 102
            aload 1 /* filter */
            aload 8 /* filtOffset */
            iconst_0
            iaload
            baload
            lookupswitch { // 3
                   33: 19
                   38: 9
                  124: 14
              default: 24
          }
         9: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
        10: .line 105
            sipush 160
            aload 8 /* filtOffset */
            iload 3 /* filterEnd */
        11: .line 104
            invokestatic com.sun.jndi.ldap.Filter.encodeComplexFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BI[II)V
        12: .line 107
            iinc 5 /* parens */ -1
        13: .line 108
            goto 55
        14: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
        15: .line 112
            sipush 161
            aload 8 /* filtOffset */
            iload 3 /* filterEnd */
        16: .line 111
            invokestatic com.sun.jndi.ldap.Filter.encodeComplexFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BI[II)V
        17: .line 114
            iinc 5 /* parens */ -1
        18: .line 115
            goto 55
        19: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
        20: .line 119
            sipush 162
            aload 8 /* filtOffset */
            iload 3 /* filterEnd */
        21: .line 118
            invokestatic com.sun.jndi.ldap.Filter.encodeComplexFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BI[II)V
        22: .line 121
            iinc 5 /* parens */ -1
        23: .line 122
            goto 55
        24: .line 125
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* balance */
        start local 6 // int balance
        25: .line 126
            iconst_0
            istore 7 /* escape */
        start local 7 // boolean escape
        26: .line 127
            aload 8 /* filtOffset */
            iconst_0
            iaload
            istore 4 /* nextOffset */
        start local 4 // int nextOffset
        27: .line 128
            goto 38
        28: .line 129
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int int int int int int[]
      StackMap stack:
            iload 7 /* escape */
            ifne 33
        29: .line 130
            aload 1 /* filter */
            iload 4 /* nextOffset */
            baload
            bipush 40
            if_icmpne 31
        30: .line 131
            iinc 6 /* balance */ 1
            goto 33
        31: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 4 /* nextOffset */
            baload
            bipush 41
            if_icmpne 33
        32: .line 133
            iinc 6 /* balance */ -1
        33: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 4 /* nextOffset */
            baload
            bipush 92
            if_icmpne 35
            iload 7 /* escape */
            ifne 35
        34: .line 136
            iconst_1
            istore 7 /* escape */
            goto 36
        35: .line 138
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* escape */
        36: .line 139
      StackMap locals:
      StackMap stack:
            iload 6 /* balance */
            ifle 38
        37: .line 140
            iinc 4 /* nextOffset */ 1
        38: .line 128
      StackMap locals:
      StackMap stack:
            iload 4 /* nextOffset */
            iload 3 /* filterEnd */
            if_icmpge 39
            iload 6 /* balance */
            ifgt 28
        39: .line 142
      StackMap locals:
      StackMap stack:
            iload 6 /* balance */
            ifeq 43
        40: .line 143
            new javax.naming.directory.InvalidSearchFilterException
            dup
        41: .line 144
            ldc "Unbalanced parenthesis"
        42: .line 143
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
            aload 8 /* filtOffset */
            iconst_0
            iaload
            iload 4 /* nextOffset */
            invokestatic com.sun.jndi.ldap.Filter.encodeSimpleFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BII)V
        44: .line 149
            aload 8 /* filtOffset */
            iconst_0
            iload 4 /* nextOffset */
            iconst_1
            iadd
            iastore
        45: .line 151
            iinc 5 /* parens */ -1
        end local 7 // boolean escape
        end local 6 // int balance
        end local 4 // int nextOffset
        46: .line 155
            goto 55
        47: .line 161
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int top int top top int[]
      StackMap stack:
            aload 0 /* ber */
            invokevirtual com.sun.jndi.ldap.BerEncoder.endSeq:()V
        48: .line 162
            aload 8 /* filtOffset */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
        49: .line 163
            iinc 5 /* parens */ -1
        50: .line 164
            goto 55
        51: .line 167
      StackMap locals:
      StackMap stack:
            aload 8 /* filtOffset */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
        52: .line 168
            goto 55
        53: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
            aload 8 /* filtOffset */
            iconst_0
            iaload
            iload 3 /* filterEnd */
            invokestatic com.sun.jndi.ldap.Filter.encodeSimpleFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BII)V
        54: .line 172
            aload 8 /* filtOffset */
            iconst_0
            iload 3 /* filterEnd */
            iastore
        55: .line 176
      StackMap locals:
      StackMap stack:
            iload 5 /* parens */
            ifge 59
        56: .line 177
            new javax.naming.directory.InvalidSearchFilterException
            dup
        57: .line 178
            ldc "Unbalanced parenthesis"
        58: .line 177
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        59: .line 97
      StackMap locals:
      StackMap stack:
            aload 8 /* filtOffset */
            iconst_0
            iaload
            iload 3 /* filterEnd */
            if_icmplt 5
        60: .line 182
            iload 5 /* parens */
            ifeq 62
        61: .line 183
            new javax.naming.directory.InvalidSearchFilterException
            dup
            ldc "Unbalanced parenthesis"
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int[] filtOffset
        end local 5 // int parens
        end local 3 // int filterEnd
        end local 2 // int filterStart
        end local 1 // byte[] filter
        end local 0 // com.sun.jndi.ldap.BerEncoder ber
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   63     0          ber  Lcom/sun/jndi/ldap/BerEncoder;
            0   63     1       filter  [B
            0   63     2  filterStart  I
            0   63     3    filterEnd  I
           27   46     4   nextOffset  I
            3   63     5       parens  I
           25   46     6      balance  I
           26   46     7       escape  Z
            4   63     8   filtOffset  [I
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
             Name  Flags
      ber          
      filter       
      filterStart  
      filterEnd    

  static byte[] unescapeFilterValue(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // byte[] orig
        start local 1 // int start
        start local 2 // int end
         0: .line 195
            iconst_0
            istore 3 /* escape */
        start local 3 // boolean escape
         1: iconst_0
            istore 4 /* escStart */
        start local 4 // boolean escStart
         2: .line 203
            iload 2 /* end */
            iload 1 /* start */
            isub
            istore 7 /* len */
        start local 7 // int len
         3: .line 204
            iload 7 /* len */
            newarray 8
            astore 8 /* tbuf */
        start local 8 // byte[] tbuf
         4: .line 205
            iconst_0
            istore 9 /* j */
        start local 9 // int j
         5: .line 206
            iload 1 /* start */
            istore 10 /* i */
        start local 10 // int i
         6: goto 29
         7: .line 207
      StackMap locals: byte[] int int int int top top int byte[] int int
      StackMap stack:
            aload 0 /* orig */
            iload 10 /* i */
            baload
            istore 6 /* ch */
        start local 6 // byte ch
         8: .line 208
            iload 3 /* escape */
            ifeq 23
         9: .line 210
            iload 6 /* ch */
            bipush 16
            invokestatic java.lang.Character.digit:(II)I
            dup
            istore 5 /* ival */
        start local 5 // int ival
        10: ifge 16
        11: .line 217
            iload 4 /* escStart */
            ifeq 15
        12: .line 219
            iconst_0
            istore 3 /* escape */
        13: .line 220
            aload 8 /* tbuf */
            iload 9 /* j */
            iinc 9 /* j */ 1
            iload 6 /* ch */
            bastore
        14: .line 221
            goto 28
        15: .line 223
      StackMap locals: byte[] int int int int int int int byte[] int int
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid escape sequence: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* orig */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 226
      StackMap locals:
      StackMap stack:
            iload 4 /* escStart */
            ifeq 20
        17: .line 227
            aload 8 /* tbuf */
            iload 9 /* j */
            iload 5 /* ival */
            iconst_4
            ishl
            i2b
            bastore
        18: .line 228
            iconst_0
            istore 4 /* escStart */
        19: .line 229
            goto 28
        20: .line 230
      StackMap locals:
      StackMap stack:
            aload 8 /* tbuf */
            iload 9 /* j */
            iinc 9 /* j */ 1
            dup2
            baload
            iload 5 /* ival */
            i2b
            ior
            i2b
            bastore
        21: .line 231
            iconst_0
            istore 3 /* escape */
        22: .line 234
            goto 28
        end local 5 // int ival
      StackMap locals: byte[] int int int int top int int byte[] int int
      StackMap stack:
        23: iload 6 /* ch */
            bipush 92
            if_icmpeq 27
        24: .line 235
            aload 8 /* tbuf */
            iload 9 /* j */
            iinc 9 /* j */ 1
            iload 6 /* ch */
            bastore
        25: .line 236
            iconst_0
            istore 3 /* escape */
        26: .line 237
            goto 28
        27: .line 238
      StackMap locals:
      StackMap stack:
            iconst_1
            dup
            istore 3 /* escape */
            istore 4 /* escStart */
        28: .line 206
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
        end local 6 // byte ch
      StackMap locals: byte[] int int int int top top int byte[] int int
      StackMap stack:
        29: iload 10 /* i */
            iload 2 /* end */
            if_icmplt 7
        end local 10 // int i
        30: .line 241
            iload 9 /* j */
            newarray 8
            astore 10 /* answer */
        start local 10 // byte[] answer
        31: .line 242
            aload 8 /* tbuf */
            iconst_0
            aload 10 /* answer */
            iconst_0
            iload 9 /* j */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        32: .line 246
            aload 10 /* answer */
            areturn
        end local 10 // byte[] answer
        end local 9 // int j
        end local 8 // byte[] tbuf
        end local 7 // int len
        end local 4 // boolean escStart
        end local 3 // boolean escape
        end local 2 // int end
        end local 1 // int start
        end local 0 // byte[] orig
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   33     0      orig  [B
            0   33     1     start  I
            0   33     2       end  I
            1   33     3    escape  Z
            2   33     4  escStart  Z
           10   23     5      ival  I
            8   29     6        ch  B
            3   33     7       len  I
            4   33     8      tbuf  [B
            5   33     9         j  I
            6   30    10         i  I
           31   33    10    answer  [B
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
       Name  Flags
      orig   
      start  
      end    

  private static int indexOf(byte[], char, int, int);
    descriptor: ([BCII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // byte[] str
        start local 1 // char ch
        start local 2 // int start
        start local 3 // int end
         0: .line 250
            iload 2 /* start */
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 251
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            iload 4 /* i */
            baload
            iload 1 /* ch */
            if_icmpne 4
         3: .line 252
            iload 4 /* i */
            ireturn
         4: .line 250
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* end */
            if_icmplt 2
        end local 4 // int i
         6: .line 254
            iconst_m1
            ireturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // char ch
        end local 0 // byte[] str
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0    str  [B
            0    7     1     ch  C
            0    7     2  start  I
            0    7     3    end  I
            1    6     4      i  I
    MethodParameters:
       Name  Flags
      str    
      ch     
      start  
      end    

  private static int indexOf(byte[], java.lang.String, int, int);
    descriptor: ([BLjava/lang/String;II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // byte[] str
        start local 1 // java.lang.String target
        start local 2 // int start
        start local 3 // int end
         0: .line 258
            aload 0 /* str */
            aload 1 /* target */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            iload 2 /* start */
            iload 3 /* end */
            invokestatic com.sun.jndi.ldap.Filter.indexOf:([BCII)I
            istore 4 /* where */
        start local 4 // int where
         1: .line 259
            iload 4 /* where */
            iflt 8
         2: .line 260
            iconst_1
            istore 5 /* i */
        start local 5 // int i
         3: goto 7
         4: .line 261
      StackMap locals: int int
      StackMap stack:
            aload 0 /* str */
            iload 4 /* where */
            iload 5 /* i */
            iadd
            baload
            aload 1 /* target */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 6
         5: .line 262
            iconst_m1
            ireturn
         6: .line 260
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            aload 1 /* target */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 5 // int i
         8: .line 266
      StackMap locals:
      StackMap stack:
            iload 4 /* where */
            ireturn
        end local 4 // int where
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.String target
        end local 0 // byte[] str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0     str  [B
            0    9     1  target  Ljava/lang/String;
            0    9     2   start  I
            0    9     3     end  I
            1    9     4   where  I
            3    8     5       i  I
    MethodParameters:
        Name  Flags
      str     
      target  
      start   
      end     

  private static int findUnescaped(byte[], char, int, int);
    descriptor: ([BCII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // byte[] str
        start local 1 // char ch
        start local 2 // int start
        start local 3 // int end
         0: .line 270
            goto 10
         1: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            iload 1 /* ch */
            iload 2 /* start */
            iload 3 /* end */
            invokestatic com.sun.jndi.ldap.Filter.indexOf:([BCII)I
            istore 4 /* where */
        start local 4 // int where
         2: .line 283
            iconst_0
            istore 6 /* backSlashCnt */
        start local 6 // int backSlashCnt
         3: .line 284
            iload 4 /* where */
            iconst_1
            isub
            istore 5 /* backSlashPos */
        start local 5 // int backSlashPos
         4: .line 285
            goto 6
         5: .line 286
      StackMap locals: int int int
      StackMap stack:
            iinc 5 /* backSlashPos */ -1
            iinc 6 /* backSlashCnt */ 1
         6: .line 285
      StackMap locals:
      StackMap stack:
            iload 5 /* backSlashPos */
            iload 2 /* start */
            if_icmplt 7
            aload 0 /* str */
            iload 5 /* backSlashPos */
            baload
            bipush 92
            if_icmpeq 5
         7: .line 289
      StackMap locals:
      StackMap stack:
            iload 4 /* where */
            iload 2 /* start */
            if_icmpeq 8
            iload 4 /* where */
            iconst_m1
            if_icmpeq 8
            iload 6 /* backSlashCnt */
            iconst_2
            irem
            ifne 9
         8: .line 290
      StackMap locals:
      StackMap stack:
            iload 4 /* where */
            ireturn
         9: .line 293
      StackMap locals:
      StackMap stack:
            iload 4 /* where */
            iconst_1
            iadd
            istore 2 /* start */
        end local 6 // int backSlashCnt
        end local 5 // int backSlashPos
        end local 4 // int where
        10: .line 270
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            iload 3 /* end */
            if_icmplt 1
        11: .line 295
            iconst_m1
            ireturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // char ch
        end local 0 // byte[] str
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0           str  [B
            0   12     1            ch  C
            0   12     2         start  I
            0   12     3           end  I
            2   10     4         where  I
            4   10     5  backSlashPos  I
            3   10     6  backSlashCnt  I
    MethodParameters:
       Name  Flags
      str    
      ch     
      start  
      end    

  private static void encodeSimpleFilter(com.sun.jndi.ldap.BerEncoder, byte[], int, int);
    descriptor: (Lcom/sun/jndi/ldap/BerEncoder;[BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=4
        start local 0 // com.sun.jndi.ldap.BerEncoder ber
        start local 1 // byte[] filter
        start local 2 // int filtStart
        start local 3 // int filtEnd
         0: .line 311
            aload 1 /* filter */
            bipush 61
            iload 2 /* filtStart */
            iload 3 /* filtEnd */
            invokestatic com.sun.jndi.ldap.Filter.indexOf:([BCII)I
            dup
            istore 8 /* eq */
        start local 8 // int eq
         1: iconst_m1
            if_icmpne 3
         2: .line 312
            new javax.naming.directory.InvalidSearchFilterException
            dup
            ldc "Missing 'equals'"
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 316
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int top top top top int
      StackMap stack:
            iload 8 /* eq */
            iconst_1
            iadd
            istore 4 /* valueStart */
        start local 4 // int valueStart
         4: .line 317
            iload 3 /* filtEnd */
            istore 5 /* valueEnd */
        start local 5 // int valueEnd
         5: .line 318
            iload 2 /* filtStart */
            istore 6 /* typeStart */
        start local 6 // int typeStart
         6: .line 322
            aload 1 /* filter */
            iload 8 /* eq */
            iconst_1
            isub
            baload
            lookupswitch { // 4
                   58: 16
                   60: 7
                   62: 10
                  126: 13
              default: 19
          }
         7: .line 324
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int int int int top int
      StackMap stack:
            sipush 166
            istore 9 /* ftype */
        start local 9 // int ftype
         8: .line 325
            iload 8 /* eq */
            iconst_1
            isub
            istore 7 /* typeEnd */
        start local 7 // int typeEnd
         9: .line 326
            goto 21
        end local 9 // int ftype
        end local 7 // int typeEnd
        10: .line 328
      StackMap locals:
      StackMap stack:
            sipush 165
            istore 9 /* ftype */
        start local 9 // int ftype
        11: .line 329
            iload 8 /* eq */
            iconst_1
            isub
            istore 7 /* typeEnd */
        start local 7 // int typeEnd
        12: .line 330
            goto 21
        end local 9 // int ftype
        end local 7 // int typeEnd
        13: .line 332
      StackMap locals:
      StackMap stack:
            sipush 168
            istore 9 /* ftype */
        start local 9 // int ftype
        14: .line 333
            iload 8 /* eq */
            iconst_1
            isub
            istore 7 /* typeEnd */
        start local 7 // int typeEnd
        15: .line 334
            goto 21
        end local 9 // int ftype
        end local 7 // int typeEnd
        16: .line 336
      StackMap locals:
      StackMap stack:
            sipush 169
            istore 9 /* ftype */
        start local 9 // int ftype
        17: .line 337
            iload 8 /* eq */
            iconst_1
            isub
            istore 7 /* typeEnd */
        start local 7 // int typeEnd
        18: .line 338
            goto 21
        end local 9 // int ftype
        end local 7 // int typeEnd
        19: .line 340
      StackMap locals:
      StackMap stack:
            iload 8 /* eq */
            istore 7 /* typeEnd */
        start local 7 // int typeEnd
        20: .line 342
            iconst_0
            istore 9 /* ftype */
        start local 9 // int ftype
        21: .line 369
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int int int int int int int
      StackMap stack:
            iconst_m1
            istore 10 /* optionsStart */
        start local 10 // int optionsStart
        22: .line 370
            iconst_m1
            istore 11 /* extensibleStart */
        start local 11 // int extensibleStart
        23: .line 371
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 48
            if_icmplt 24
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 57
            if_icmple 26
        24: .line 372
      StackMap locals: int int
      StackMap stack:
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 65
            if_icmplt 25
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 90
            if_icmple 26
        25: .line 373
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 97
            if_icmplt 63
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 122
            if_icmpgt 63
        26: .line 376
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 48
            if_icmplt 28
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 57
        27: .line 375
            if_icmpgt 28
            iconst_1
            goto 29
      StackMap locals:
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 12 /* isNumericOid */
        start local 12 // boolean isNumericOid
        30: .line 377
            iload 6 /* typeStart */
            iconst_1
            iadd
            istore 13 /* i */
        start local 13 // int i
        31: goto 61
        32: .line 379
      StackMap locals: int int
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 59
            if_icmpne 39
        33: .line 380
            iload 12 /* isNumericOid */
            ifeq 37
            aload 1 /* filter */
            iload 13 /* i */
            iconst_1
            isub
            baload
            bipush 46
            if_icmpne 37
        34: .line 381
            new javax.naming.directory.InvalidSearchFilterException
            dup
        35: .line 382
            ldc "invalid attribute description"
        36: .line 381
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 386
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            istore 10 /* optionsStart */
        38: .line 387
            goto 69
        39: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 58
            if_icmpne 46
            iload 9 /* ftype */
            sipush 169
            if_icmpne 46
        40: .line 392
            iload 12 /* isNumericOid */
            ifeq 44
            aload 1 /* filter */
            iload 13 /* i */
            iconst_1
            isub
            baload
            bipush 46
            if_icmpne 44
        41: .line 393
            new javax.naming.directory.InvalidSearchFilterException
            dup
        42: .line 394
            ldc "invalid attribute description"
        43: .line 393
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 398
      StackMap locals:
      StackMap stack:
            iload 13 /* i */
            istore 11 /* extensibleStart */
        45: .line 399
            goto 69
        46: .line 402
      StackMap locals:
      StackMap stack:
            iload 12 /* isNumericOid */
            ifeq 53
        47: .line 404
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 46
            if_icmpne 48
            aload 1 /* filter */
            iload 13 /* i */
            iconst_1
            isub
            baload
            bipush 46
            if_icmpeq 50
        48: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 46
            if_icmpeq 60
        49: .line 406
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 48
            if_icmplt 50
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 57
            if_icmple 60
        50: .line 407
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
        51: .line 408
            ldc "invalid attribute description"
        52: .line 407
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 45
            if_icmpeq 60
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 95
            if_icmpeq 60
        54: .line 416
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 48
            if_icmplt 55
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 57
            if_icmple 60
        55: .line 417
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 65
            if_icmplt 56
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 90
            if_icmple 60
        56: .line 418
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 97
            if_icmplt 57
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 122
            if_icmple 60
        57: .line 419
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
        58: .line 420
            ldc "invalid attribute description"
        59: .line 419
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 377
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 13 /* i */
            iload 7 /* typeEnd */
            if_icmplt 32
        end local 13 // int i
        end local 12 // boolean isNumericOid
        62: .line 424
            goto 69
      StackMap locals:
      StackMap stack:
        63: iload 9 /* ftype */
            sipush 169
            if_icmpne 66
            aload 1 /* filter */
            iload 6 /* typeStart */
            baload
            bipush 58
            if_icmpne 66
        64: .line 426
            iload 6 /* typeStart */
            istore 11 /* extensibleStart */
        65: .line 427
            goto 69
        66: .line 428
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
        67: .line 429
            ldc "invalid attribute description"
        68: .line 428
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        69: .line 433
      StackMap locals:
      StackMap stack:
            iload 10 /* optionsStart */
            ifle 93
        70: .line 434
            iload 10 /* optionsStart */
            iconst_1
            iadd
            istore 12 /* i */
        start local 12 // int i
        71: goto 92
        72: .line 435
      StackMap locals: int
      StackMap stack:
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 59
            if_icmpne 77
        73: .line 436
            aload 1 /* filter */
            iload 12 /* i */
            iconst_1
            isub
            baload
            bipush 59
            if_icmpne 91
        74: .line 437
            new javax.naming.directory.InvalidSearchFilterException
            dup
        75: .line 438
            ldc "invalid attribute description"
        76: .line 437
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        77: .line 444
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 58
            if_icmpne 84
            iload 9 /* ftype */
            sipush 169
            if_icmpne 84
        78: .line 445
            aload 1 /* filter */
            iload 12 /* i */
            iconst_1
            isub
            baload
            bipush 59
            if_icmpne 82
        79: .line 446
            new javax.naming.directory.InvalidSearchFilterException
            dup
        80: .line 447
            ldc "invalid attribute description"
        81: .line 446
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        82: .line 451
      StackMap locals:
      StackMap stack:
            iload 12 /* i */
            istore 11 /* extensibleStart */
        83: .line 452
            goto 93
        84: .line 458
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 45
            if_icmpeq 91
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 95
            if_icmpeq 91
        85: .line 459
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 48
            if_icmplt 86
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 57
            if_icmple 91
        86: .line 460
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 65
            if_icmplt 87
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 90
            if_icmple 91
        87: .line 461
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 97
            if_icmplt 88
            aload 1 /* filter */
            iload 12 /* i */
            baload
            bipush 122
            if_icmple 91
        88: .line 462
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
        89: .line 463
            ldc "invalid attribute description"
        90: .line 462
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 434
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        92: iload 12 /* i */
            iload 7 /* typeEnd */
            if_icmplt 72
        end local 12 // int i
        93: .line 469
      StackMap locals:
      StackMap stack:
            iload 11 /* extensibleStart */
            ifle 143
        94: .line 470
            iconst_0
            istore 12 /* isMatchingRule */
        start local 12 // boolean isMatchingRule
        95: .line 471
            iload 11 /* extensibleStart */
            iconst_1
            iadd
            istore 13 /* i */
        start local 13 // int i
        96: goto 142
        97: .line 472
      StackMap locals: int int
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 58
            if_icmpne 101
        98: .line 473
            new javax.naming.directory.InvalidSearchFilterException
            dup
        99: .line 474
            ldc "invalid attribute description"
       100: .line 473
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
       101: .line 475
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 48
            if_icmplt 102
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 57
            if_icmple 104
       102: .line 476
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 65
            if_icmplt 103
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 90
            if_icmple 104
       103: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 97
            if_icmplt 138
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 122
            if_icmpgt 138
       104: .line 478
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 48
            if_icmplt 105
            aload 1 /* filter */
            iload 13 /* i */
            baload
            bipush 57
            if_icmpgt 105
            iconst_1
            goto 106
      StackMap locals:
      StackMap stack:
       105: iconst_0
      StackMap locals:
      StackMap stack: int
       106: istore 14 /* isNumericOid */
        start local 14 // boolean isNumericOid
       107: .line 479
            iinc 13 /* i */ 1
       108: .line 480
            iload 13 /* i */
            istore 15 /* j */
        start local 15 // int j
       109: goto 136
       110: .line 482
      StackMap locals: int int
      StackMap stack:
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 58
            if_icmpne 121
       111: .line 483
            iload 12 /* isMatchingRule */
            ifeq 115
       112: .line 484
            new javax.naming.directory.InvalidSearchFilterException
            dup
       113: .line 485
            ldc "invalid attribute description"
       114: .line 484
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
       115: .line 487
      StackMap locals:
      StackMap stack:
            iload 14 /* isNumericOid */
            ifeq 119
            aload 1 /* filter */
            iload 15 /* j */
            iconst_1
            isub
            baload
            bipush 46
            if_icmpne 119
       116: .line 488
            new javax.naming.directory.InvalidSearchFilterException
            dup
       117: .line 489
            ldc "invalid attribute description"
       118: .line 488
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
       119: .line 492
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 12 /* isMatchingRule */
       120: .line 493
            goto 141
       121: .line 496
      StackMap locals:
      StackMap stack:
            iload 14 /* isNumericOid */
            ifeq 128
       122: .line 498
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 46
            if_icmpne 123
            aload 1 /* filter */
            iload 15 /* j */
            iconst_1
            isub
            baload
            bipush 46
            if_icmpeq 125
       123: .line 499
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 46
            if_icmpeq 135
       124: .line 500
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 48
            if_icmplt 125
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 57
            if_icmple 135
       125: .line 501
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
       126: .line 502
            ldc "invalid attribute description"
       127: .line 501
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
       128: .line 509
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 45
            if_icmpeq 135
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 95
            if_icmpeq 135
       129: .line 510
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 48
            if_icmplt 130
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 57
            if_icmple 135
       130: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 65
            if_icmplt 131
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 90
            if_icmple 135
       131: .line 512
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 97
            if_icmplt 132
            aload 1 /* filter */
            iload 15 /* j */
            baload
            bipush 122
            if_icmple 135
       132: .line 513
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
       133: .line 514
            ldc "invalid attribute description"
       134: .line 513
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
       135: .line 480
      StackMap locals:
      StackMap stack:
            iinc 15 /* j */ 1
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       136: iload 15 /* j */
            iload 7 /* typeEnd */
            if_icmplt 110
        end local 15 // int j
        end local 14 // boolean isNumericOid
       137: .line 518
            goto 141
       138: .line 519
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
       139: .line 520
            ldc "invalid attribute description"
       140: .line 519
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
       141: .line 471
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       142: iload 13 /* i */
            iload 7 /* typeEnd */
            if_icmplt 97
        end local 13 // int i
        end local 12 // boolean isMatchingRule
       143: .line 526
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            iload 7 /* typeEnd */
            iconst_1
            isub
            baload
            bipush 46
            if_icmpeq 145
            aload 1 /* filter */
            iload 7 /* typeEnd */
            iconst_1
            isub
            baload
            bipush 59
            if_icmpeq 145
       144: .line 527
            aload 1 /* filter */
            iload 7 /* typeEnd */
            iconst_1
            isub
            baload
            bipush 58
            if_icmpne 148
       145: .line 528
      StackMap locals:
      StackMap stack:
            new javax.naming.directory.InvalidSearchFilterException
            dup
       146: .line 529
            ldc "invalid attribute description"
       147: .line 528
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
       148: .line 532
      StackMap locals:
      StackMap stack:
            iload 7 /* typeEnd */
            iload 8 /* eq */
            if_icmpne 160
       149: .line 533
            aload 1 /* filter */
            bipush 42
            iload 4 /* valueStart */
            iload 5 /* valueEnd */
            invokestatic com.sun.jndi.ldap.Filter.findUnescaped:([BCII)I
            iconst_m1
            if_icmpne 152
       150: .line 534
            sipush 163
            istore 9 /* ftype */
       151: .line 535
            goto 160
      StackMap locals:
      StackMap stack:
       152: aload 1 /* filter */
            iload 4 /* valueStart */
            baload
            bipush 42
            if_icmpne 156
       153: .line 536
            iload 4 /* valueStart */
            iload 5 /* valueEnd */
            iconst_1
            isub
            if_icmpne 156
       154: .line 537
            sipush 135
            istore 9 /* ftype */
       155: .line 538
            goto 160
       156: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
       157: .line 540
            iload 6 /* typeStart */
            iload 7 /* typeEnd */
            iload 4 /* valueStart */
            iload 5 /* valueEnd */
       158: .line 539
            invokestatic com.sun.jndi.ldap.Filter.encodeSubstringFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BIIII)V
       159: .line 541
            return
       160: .line 545
      StackMap locals:
      StackMap stack:
            iload 9 /* ftype */
            sipush 135
            if_icmpne 163
       161: .line 546
            aload 0 /* ber */
            aload 1 /* filter */
            iload 9 /* ftype */
            iload 6 /* typeStart */
            iload 7 /* typeEnd */
            iload 6 /* typeStart */
            isub
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
       162: .line 547
            goto 177
      StackMap locals:
      StackMap stack:
       163: iload 9 /* ftype */
            sipush 169
            if_icmpne 168
       164: .line 548
            aload 0 /* ber */
            aload 1 /* filter */
       165: .line 549
            iload 6 /* typeStart */
            iload 7 /* typeEnd */
            iload 4 /* valueStart */
            iload 5 /* valueEnd */
       166: .line 548
            invokestatic com.sun.jndi.ldap.Filter.encodeExtensibleMatch:(Lcom/sun/jndi/ldap/BerEncoder;[BIIII)V
       167: .line 550
            goto 177
       168: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            iload 9 /* ftype */
            invokevirtual com.sun.jndi.ldap.BerEncoder.beginSeq:(I)V
       169: .line 552
            aload 0 /* ber */
            aload 1 /* filter */
            iconst_4
       170: .line 553
            iload 6 /* typeStart */
            iload 7 /* typeEnd */
            iload 6 /* typeStart */
            isub
       171: .line 552
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
       172: .line 554
            aload 0 /* ber */
       173: .line 555
            aload 1 /* filter */
            iload 4 /* valueStart */
            iload 5 /* valueEnd */
            invokestatic com.sun.jndi.ldap.Filter.unescapeFilterValue:([BII)[B
       174: .line 556
            iconst_4
       175: .line 554
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BI)V
       176: .line 557
            aload 0 /* ber */
            invokevirtual com.sun.jndi.ldap.BerEncoder.endSeq:()V
       177: .line 563
      StackMap locals:
      StackMap stack:
            return
        end local 11 // int extensibleStart
        end local 10 // int optionsStart
        end local 9 // int ftype
        end local 8 // int eq
        end local 7 // int typeEnd
        end local 6 // int typeStart
        end local 5 // int valueEnd
        end local 4 // int valueStart
        end local 3 // int filtEnd
        end local 2 // int filtStart
        end local 1 // byte[] filter
        end local 0 // com.sun.jndi.ldap.BerEncoder ber
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  178     0              ber  Lcom/sun/jndi/ldap/BerEncoder;
            0  178     1           filter  [B
            0  178     2        filtStart  I
            0  178     3          filtEnd  I
            4  178     4       valueStart  I
            5  178     5         valueEnd  I
            6  178     6        typeStart  I
            9   10     7          typeEnd  I
           12   13     7          typeEnd  I
           15   16     7          typeEnd  I
           18   19     7          typeEnd  I
           20  178     7          typeEnd  I
            1  178     8               eq  I
            8   10     9            ftype  I
           11   13     9            ftype  I
           14   16     9            ftype  I
           17   19     9            ftype  I
           21  178     9            ftype  I
           22  178    10     optionsStart  I
           23  178    11  extensibleStart  I
           30   62    12     isNumericOid  Z
           31   62    13                i  I
           71   93    12                i  I
           95  143    12   isMatchingRule  Z
           96  143    13                i  I
          107  137    14     isNumericOid  Z
          109  137    15                j  I
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
           Name  Flags
      ber        
      filter     
      filtStart  
      filtEnd    

  private static void encodeSubstringFilter(com.sun.jndi.ldap.BerEncoder, byte[], int, int, int, int);
    descriptor: (Lcom/sun/jndi/ldap/BerEncoder;[BIIII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // com.sun.jndi.ldap.BerEncoder ber
        start local 1 // byte[] filter
        start local 2 // int typeStart
        start local 3 // int typeEnd
        start local 4 // int valueStart
        start local 5 // int valueEnd
         0: .line 575
            aload 0 /* ber */
            sipush 164
            invokevirtual com.sun.jndi.ldap.BerEncoder.beginSeq:(I)V
         1: .line 576
            aload 0 /* ber */
            aload 1 /* filter */
            iconst_4
         2: .line 577
            iload 2 /* typeStart */
            iload 3 /* typeEnd */
            iload 2 /* typeStart */
            isub
         3: .line 576
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
         4: .line 578
            aload 0 /* ber */
            bipush 48
            invokevirtual com.sun.jndi.ldap.BerEncoder.beginSeq:(I)V
         5: .line 580
            iload 4 /* valueStart */
            istore 7 /* previndex */
        start local 7 // int previndex
         6: .line 581
            goto 20
        start local 6 // int index
         7: .line 582
      StackMap locals: int int
      StackMap stack:
            iload 7 /* previndex */
            iload 4 /* valueStart */
            if_icmpne 14
         8: .line 583
            iload 7 /* previndex */
            iload 6 /* index */
            if_icmpge 19
         9: .line 587
            aload 0 /* ber */
        10: .line 588
            aload 1 /* filter */
            iload 7 /* previndex */
            iload 6 /* index */
            invokestatic com.sun.jndi.ldap.Filter.unescapeFilterValue:([BII)[B
        11: .line 589
            sipush 128
        12: .line 587
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BI)V
        13: .line 591
            goto 19
        14: .line 592
      StackMap locals:
      StackMap stack:
            iload 7 /* previndex */
            iload 6 /* index */
            if_icmpge 19
        15: .line 595
            aload 0 /* ber */
        16: .line 596
            aload 1 /* filter */
            iload 7 /* previndex */
            iload 6 /* index */
            invokestatic com.sun.jndi.ldap.Filter.unescapeFilterValue:([BII)[B
        17: .line 597
            sipush 129
        18: .line 595
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BI)V
        19: .line 600
      StackMap locals:
      StackMap stack:
            iload 6 /* index */
            iconst_1
            iadd
            istore 7 /* previndex */
        end local 6 // int index
        20: .line 581
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int int int top int
      StackMap stack:
            aload 1 /* filter */
            bipush 42
            iload 7 /* previndex */
            iload 5 /* valueEnd */
            invokestatic com.sun.jndi.ldap.Filter.findUnescaped:([BCII)I
            dup
            istore 6 /* index */
        start local 6 // int index
        21: iconst_m1
            if_icmpne 7
        22: .line 602
            iload 7 /* previndex */
            iload 5 /* valueEnd */
            if_icmpge 27
        23: .line 605
            aload 0 /* ber */
        24: .line 606
            aload 1 /* filter */
            iload 7 /* previndex */
            iload 5 /* valueEnd */
            invokestatic com.sun.jndi.ldap.Filter.unescapeFilterValue:([BII)[B
        25: .line 607
            sipush 130
        26: .line 605
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BI)V
        27: .line 609
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int int int int int
      StackMap stack:
            aload 0 /* ber */
            invokevirtual com.sun.jndi.ldap.BerEncoder.endSeq:()V
        28: .line 610
            aload 0 /* ber */
            invokevirtual com.sun.jndi.ldap.BerEncoder.endSeq:()V
        29: .line 615
            return
        end local 7 // int previndex
        end local 6 // int index
        end local 5 // int valueEnd
        end local 4 // int valueStart
        end local 3 // int typeEnd
        end local 2 // int typeStart
        end local 1 // byte[] filter
        end local 0 // com.sun.jndi.ldap.BerEncoder ber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0         ber  Lcom/sun/jndi/ldap/BerEncoder;
            0   30     1      filter  [B
            0   30     2   typeStart  I
            0   30     3     typeEnd  I
            0   30     4  valueStart  I
            0   30     5    valueEnd  I
            7   20     6       index  I
           21   30     6       index  I
            6   30     7   previndex  I
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
            Name  Flags
      ber         
      filter      
      typeStart   
      typeEnd     
      valueStart  
      valueEnd    

  private static void encodeComplexFilter(com.sun.jndi.ldap.BerEncoder, byte[], int, int[], int);
    descriptor: (Lcom/sun/jndi/ldap/BerEncoder;[BI[II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // com.sun.jndi.ldap.BerEncoder ber
        start local 1 // byte[] filter
        start local 2 // int filterType
        start local 3 // int[] filtOffset
        start local 4 // int filtEnd
         0: .line 634
            aload 3 /* filtOffset */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
         1: .line 636
            aload 0 /* ber */
            iload 2 /* filterType */
            invokevirtual com.sun.jndi.ldap.BerEncoder.beginSeq:(I)V
         2: .line 638
            aload 1 /* filter */
            aload 3 /* filtOffset */
            iload 4 /* filtEnd */
            invokestatic com.sun.jndi.ldap.Filter.findRightParen:([B[II)[I
            astore 5 /* parens */
        start local 5 // int[] parens
         3: .line 639
            aload 0 /* ber */
            aload 1 /* filter */
            iload 2 /* filterType */
            aload 5 /* parens */
            iconst_0
            iaload
            aload 5 /* parens */
            iconst_1
            iaload
            invokestatic com.sun.jndi.ldap.Filter.encodeFilterList:(Lcom/sun/jndi/ldap/BerEncoder;[BIII)V
         4: .line 641
            aload 0 /* ber */
            invokevirtual com.sun.jndi.ldap.BerEncoder.endSeq:()V
         5: .line 647
            return
        end local 5 // int[] parens
        end local 4 // int filtEnd
        end local 3 // int[] filtOffset
        end local 2 // int filterType
        end local 1 // byte[] filter
        end local 0 // com.sun.jndi.ldap.BerEncoder ber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0         ber  Lcom/sun/jndi/ldap/BerEncoder;
            0    6     1      filter  [B
            0    6     2  filterType  I
            0    6     3  filtOffset  [I
            0    6     4     filtEnd  I
            3    6     5      parens  [I
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
            Name  Flags
      ber         
      filter      
      filterType  
      filtOffset  
      filtEnd     

  private static int[] findRightParen(byte[], int[], int);
    descriptor: ([B[II)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // byte[] filter
        start local 1 // int[] filtOffset
        start local 2 // int end
         0: .line 657
            iconst_1
            istore 3 /* balance */
        start local 3 // int balance
         1: .line 658
            iconst_0
            istore 4 /* escape */
        start local 4 // boolean escape
         2: .line 659
            aload 1 /* filtOffset */
            iconst_0
            iaload
            istore 5 /* nextOffset */
        start local 5 // int nextOffset
         3: .line 661
            goto 14
         4: .line 662
      StackMap locals: int int int
      StackMap stack:
            iload 4 /* escape */
            ifne 9
         5: .line 663
            aload 0 /* filter */
            iload 5 /* nextOffset */
            baload
            bipush 40
            if_icmpne 7
         6: .line 664
            iinc 3 /* balance */ 1
            goto 9
         7: .line 665
      StackMap locals:
      StackMap stack:
            aload 0 /* filter */
            iload 5 /* nextOffset */
            baload
            bipush 41
            if_icmpne 9
         8: .line 666
            iinc 3 /* balance */ -1
         9: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* filter */
            iload 5 /* nextOffset */
            baload
            bipush 92
            if_icmpne 11
            iload 4 /* escape */
            ifne 11
        10: .line 669
            iconst_1
            istore 4 /* escape */
            goto 12
        11: .line 671
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* escape */
        12: .line 672
      StackMap locals:
      StackMap stack:
            iload 3 /* balance */
            ifle 14
        13: .line 673
            iinc 5 /* nextOffset */ 1
        14: .line 661
      StackMap locals:
      StackMap stack:
            iload 5 /* nextOffset */
            iload 2 /* end */
            if_icmpge 15
            iload 3 /* balance */
            ifgt 4
        15: .line 675
      StackMap locals:
      StackMap stack:
            iload 3 /* balance */
            ifeq 17
        16: .line 676
            new javax.naming.directory.InvalidSearchFilterException
            dup
            ldc "Unbalanced parenthesis"
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 681
      StackMap locals:
      StackMap stack:
            iconst_2
            newarray 10
            dup
            iconst_0
            aload 1 /* filtOffset */
            iconst_0
            iaload
            iastore
            dup
            iconst_1
            iload 5 /* nextOffset */
            iastore
            astore 6 /* tmp */
        start local 6 // int[] tmp
        18: .line 683
            aload 1 /* filtOffset */
            iconst_0
            iload 5 /* nextOffset */
            iconst_1
            iadd
            iastore
        19: .line 685
            aload 6 /* tmp */
            areturn
        end local 6 // int[] tmp
        end local 5 // int nextOffset
        end local 4 // boolean escape
        end local 3 // int balance
        end local 2 // int end
        end local 1 // int[] filtOffset
        end local 0 // byte[] filter
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0      filter  [B
            0   20     1  filtOffset  [I
            0   20     2         end  I
            1   20     3     balance  I
            2   20     4      escape  Z
            3   20     5  nextOffset  I
           18   20     6         tmp  [I
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
            Name  Flags
      filter      
      filtOffset  
      end         

  private static void encodeFilterList(com.sun.jndi.ldap.BerEncoder, byte[], int, int, int);
    descriptor: (Lcom/sun/jndi/ldap/BerEncoder;[BIII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // com.sun.jndi.ldap.BerEncoder ber
        start local 1 // byte[] filter
        start local 2 // int filterType
        start local 3 // int start
        start local 4 // int end
         0: .line 700
            iconst_1
            newarray 10
            astore 5 /* filtOffset */
        start local 5 // int[] filtOffset
         1: .line 701
            iconst_0
            istore 6 /* listNumber */
        start local 6 // int listNumber
         2: .line 702
            aload 5 /* filtOffset */
            iconst_0
            iload 3 /* start */
            iastore
            goto 20
         3: .line 703
      StackMap locals: int[] int
      StackMap stack:
            aload 1 /* filter */
            aload 5 /* filtOffset */
            iconst_0
            iaload
            baload
            i2c
            invokestatic java.lang.Character.isSpaceChar:(C)Z
            ifeq 5
         4: .line 704
            goto 19
         5: .line 706
      StackMap locals:
      StackMap stack:
            iload 2 /* filterType */
            sipush 162
            if_icmpne 9
            iload 6 /* listNumber */
            ifle 9
         6: .line 707
            new javax.naming.directory.InvalidSearchFilterException
            dup
         7: .line 708
            ldc "Filter (!) cannot be followed by more than one filters"
         8: .line 707
            invokespecial javax.naming.directory.InvalidSearchFilterException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 711
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            aload 5 /* filtOffset */
            iconst_0
            iaload
            baload
            bipush 40
            if_icmpne 11
        10: .line 712
            goto 19
        11: .line 715
      StackMap locals:
      StackMap stack:
            aload 1 /* filter */
            aload 5 /* filtOffset */
            iload 4 /* end */
            invokestatic com.sun.jndi.ldap.Filter.findRightParen:([B[II)[I
            astore 7 /* parens */
        start local 7 // int[] parens
        12: .line 718
            aload 7 /* parens */
            iconst_1
            iaload
            aload 7 /* parens */
            iconst_0
            iaload
            isub
            istore 8 /* len */
        start local 8 // int len
        13: .line 719
            iload 8 /* len */
            iconst_2
            iadd
            newarray 8
            astore 9 /* newfilter */
        start local 9 // byte[] newfilter
        14: .line 720
            aload 1 /* filter */
            aload 7 /* parens */
            iconst_0
            iaload
            aload 9 /* newfilter */
            iconst_1
            iload 8 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 721
            aload 9 /* newfilter */
            iconst_0
            bipush 40
            bastore
        16: .line 722
            aload 9 /* newfilter */
            iload 8 /* len */
            iconst_1
            iadd
            bipush 41
            bastore
        17: .line 723
            aload 0 /* ber */
            aload 9 /* newfilter */
            iconst_0
            aload 9 /* newfilter */
            arraylength
            invokestatic com.sun.jndi.ldap.Filter.encodeFilter:(Lcom/sun/jndi/ldap/BerEncoder;[BII)V
        18: .line 725
            iinc 6 /* listNumber */ 1
        end local 9 // byte[] newfilter
        end local 8 // int len
        end local 7 // int[] parens
        19: .line 702
      StackMap locals:
      StackMap stack:
            aload 5 /* filtOffset */
            iconst_0
            dup2
            iaload
            iconst_1
            iadd
            iastore
      StackMap locals:
      StackMap stack:
        20: aload 5 /* filtOffset */
            iconst_0
            iaload
            iload 4 /* end */
            if_icmplt 3
        21: .line 732
            return
        end local 6 // int listNumber
        end local 5 // int[] filtOffset
        end local 4 // int end
        end local 3 // int start
        end local 2 // int filterType
        end local 1 // byte[] filter
        end local 0 // com.sun.jndi.ldap.BerEncoder ber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0         ber  Lcom/sun/jndi/ldap/BerEncoder;
            0   22     1      filter  [B
            0   22     2  filterType  I
            0   22     3       start  I
            0   22     4         end  I
            1   22     5  filtOffset  [I
            2   22     6  listNumber  I
           12   19     7      parens  [I
           13   19     8         len  I
           14   19     9   newfilter  [B
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
            Name  Flags
      ber         
      filter      
      filterType  
      start       
      end         

  private static void encodeExtensibleMatch(com.sun.jndi.ldap.BerEncoder, byte[], int, int, int, int);
    descriptor: (Lcom/sun/jndi/ldap/BerEncoder;[BIIII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // com.sun.jndi.ldap.BerEncoder ber
        start local 1 // byte[] filter
        start local 2 // int matchStart
        start local 3 // int matchEnd
        start local 4 // int valueStart
        start local 5 // int valueEnd
         0: .line 741
            iconst_0
            istore 6 /* matchDN */
        start local 6 // boolean matchDN
         1: .line 746
            aload 0 /* ber */
            sipush 169
            invokevirtual com.sun.jndi.ldap.BerEncoder.beginSeq:(I)V
         2: .line 749
            aload 1 /* filter */
            bipush 58
            iload 2 /* matchStart */
            iload 3 /* matchEnd */
            invokestatic com.sun.jndi.ldap.Filter.indexOf:([BCII)I
            dup
            istore 7 /* colon */
        start local 7 // int colon
         3: iflt 28
         4: .line 752
            aload 1 /* filter */
            ldc ":dn"
            iload 7 /* colon */
            iload 3 /* matchEnd */
            invokestatic com.sun.jndi.ldap.Filter.indexOf:([BLjava/lang/String;II)I
            dup
            istore 9 /* i */
        start local 9 // int i
         5: iflt 7
         6: .line 753
            iconst_1
            istore 6 /* matchDN */
         7: .line 757
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int int int int int top int
      StackMap stack:
            aload 1 /* filter */
            bipush 58
            iload 7 /* colon */
            iconst_1
            iadd
            iload 3 /* matchEnd */
            invokestatic com.sun.jndi.ldap.Filter.indexOf:([BCII)I
            dup
            istore 8 /* colon2 */
        start local 8 // int colon2
         8: ifge 10
         9: .line 758
            iload 9 /* i */
            iconst_m1
            if_icmpne 23
        10: .line 760
      StackMap locals: com.sun.jndi.ldap.BerEncoder byte[] int int int int int int int int
      StackMap stack:
            iload 9 /* i */
            iload 7 /* colon */
            if_icmpne 15
        11: .line 761
            aload 0 /* ber */
            aload 1 /* filter */
            sipush 129
        12: .line 762
            iload 8 /* colon2 */
            iconst_1
            iadd
            iload 3 /* matchEnd */
            iload 8 /* colon2 */
            iconst_1
            iadd
            isub
        13: .line 761
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
        14: .line 764
            goto 23
      StackMap locals:
      StackMap stack:
        15: iload 9 /* i */
            iload 8 /* colon2 */
            if_icmpne 20
            iload 9 /* i */
            iflt 20
        16: .line 765
            aload 0 /* ber */
            aload 1 /* filter */
            sipush 129
        17: .line 766
            iload 7 /* colon */
            iconst_1
            iadd
            iload 8 /* colon2 */
            iload 7 /* colon */
            iconst_1
            iadd
            isub
        18: .line 765
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
        19: .line 768
            goto 23
        20: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
            sipush 129
        21: .line 770
            iload 7 /* colon */
            iconst_1
            iadd
            iload 3 /* matchEnd */
            iload 7 /* colon */
            iconst_1
            iadd
            isub
        22: .line 769
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
        23: .line 775
      StackMap locals:
      StackMap stack:
            iload 7 /* colon */
            iload 2 /* matchStart */
            if_icmple 31
        24: .line 776
            aload 0 /* ber */
            aload 1 /* filter */
        25: .line 777
            sipush 130
            iload 2 /* matchStart */
            iload 7 /* colon */
            iload 2 /* matchStart */
            isub
        26: .line 776
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
        27: .line 779
            goto 31
        end local 9 // int i
        end local 8 // int colon2
        28: .line 780
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
            aload 1 /* filter */
            sipush 130
            iload 2 /* matchStart */
        29: .line 781
            iload 3 /* matchEnd */
            iload 2 /* matchStart */
            isub
        30: .line 780
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BIII)V
        31: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* ber */
        32: .line 785
            aload 1 /* filter */
            iload 4 /* valueStart */
            iload 5 /* valueEnd */
            invokestatic com.sun.jndi.ldap.Filter.unescapeFilterValue:([BII)[B
        33: .line 786
            sipush 131
        34: .line 784
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeOctetString:([BI)V
        35: .line 793
            aload 0 /* ber */
            iload 6 /* matchDN */
            sipush 132
            invokevirtual com.sun.jndi.ldap.BerEncoder.encodeBoolean:(ZI)V
        36: .line 795
            aload 0 /* ber */
            invokevirtual com.sun.jndi.ldap.BerEncoder.endSeq:()V
        37: .line 796
            return
        end local 7 // int colon
        end local 6 // boolean matchDN
        end local 5 // int valueEnd
        end local 4 // int valueStart
        end local 3 // int matchEnd
        end local 2 // int matchStart
        end local 1 // byte[] filter
        end local 0 // com.sun.jndi.ldap.BerEncoder ber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0         ber  Lcom/sun/jndi/ldap/BerEncoder;
            0   38     1      filter  [B
            0   38     2  matchStart  I
            0   38     3    matchEnd  I
            0   38     4  valueStart  I
            0   38     5    valueEnd  I
            1   38     6     matchDN  Z
            3   38     7       colon  I
            8   28     8      colon2  I
            5   28     9           i  I
    Exceptions:
      throws java.io.IOException, javax.naming.NamingException
    MethodParameters:
            Name  Flags
      ber         
      filter      
      matchStart  
      matchEnd    
      valueStart  
      valueEnd    

  private static void dprint(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 809
            aload 0 /* msg */
            iconst_0
            newarray 8
            iconst_0
            iconst_0
            invokestatic com.sun.jndi.ldap.Filter.dprint:(Ljava/lang/String;[BII)V
         1: .line 810
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static void dprint(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String msg
        start local 1 // byte[] str
         0: .line 813
            aload 0 /* msg */
            aload 1 /* str */
            iconst_0
            aload 1 /* str */
            arraylength
            invokestatic com.sun.jndi.ldap.Filter.dprint:(Ljava/lang/String;[BII)V
         1: .line 814
            return
        end local 1 // byte[] str
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   msg  Ljava/lang/String;
            0    2     1   str  [B
    MethodParameters:
      Name  Flags
      msg   
      str   

  private static void dprint(java.lang.String, byte[], int, int);
    descriptor: (Ljava/lang/String;[BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.lang.String msg
        start local 1 // byte[] str
        start local 2 // int start
        start local 3 // int end
         0: .line 817
            ldc "  "
            astore 4 /* dstr */
        start local 4 // java.lang.String dstr
         1: .line 818
            getstatic com.sun.jndi.ldap.Filter.dbgIndent:I
            istore 5 /* i */
        start local 5 // int i
         2: .line 819
            goto 4
         3: .line 820
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* dstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* dstr */
         4: .line 819
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iinc 5 /* i */ -1
            ifgt 3
         5: .line 822
            new java.lang.StringBuilder
            dup
            aload 4 /* dstr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* dstr */
         6: .line 824
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 4 /* dstr */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         7: .line 825
            iload 2 /* start */
            istore 6 /* j */
        start local 6 // int j
         8: goto 11
         9: .line 826
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* str */
            iload 6 /* j */
            baload
            i2c
            invokevirtual java.io.PrintStream.print:(C)V
        10: .line 825
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* j */
            iload 3 /* end */
            if_icmplt 9
        end local 6 // int j
        12: .line 828
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        13: .line 829
            return
        end local 5 // int i
        end local 4 // java.lang.String dstr
        end local 3 // int end
        end local 2 // int start
        end local 1 // byte[] str
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0    msg  Ljava/lang/String;
            0   14     1    str  [B
            0   14     2  start  I
            0   14     3    end  I
            1   14     4   dstr  Ljava/lang/String;
            2   14     5      i  I
            8   12     6      j  I
    MethodParameters:
       Name  Flags
      msg    
      str    
      start  
      end    
}
SourceFile: "Filter.java"