class nu.xom.URIUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: nu.xom.URIUtil
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // nu.xom.URIUtil this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // nu.xom.URIUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnu/xom/URIUtil;

  static boolean isOpaque(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String uri
         0: .line 44
            aload 0 /* uri */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* colon */
        start local 1 // int colon
         1: .line 47
            aload 0 /* uri */
            iload 1 /* colon */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
            iconst_0
            ireturn
         2: .line 48
      StackMap locals: int
      StackMap stack:
            aload 0 /* uri */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic nu.xom.Verifier.isAlpha:(C)Z
            ifne 3
            iconst_0
            ireturn
         3: .line 54
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int colon
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0    uri  Ljava/lang/String;
            1    4     1  colon  I
    MethodParameters:
      Name  Flags
      uri   

  static boolean isAbsolute(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String uri
         0: .line 61
            aload 0 /* uri */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* colon */
        start local 1 // int colon
         1: .line 62
            iload 1 /* colon */
            iconst_1
            if_icmpge 2
            iconst_0
            ireturn
         2: .line 69
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int colon
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    uri  Ljava/lang/String;
            1    3     1  colon  I
    MethodParameters:
      Name  Flags
      uri   

  static java.lang.String absolutize(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.String baseURI
        start local 1 // java.lang.String spec
         0: .line 77
            ldc ""
            aload 0 /* baseURI */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* baseURI */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* spec */
            areturn
         2: .line 79
      StackMap locals:
      StackMap stack:
            new nu.xom.URIUtil$ParsedURI
            dup
            aload 0 /* baseURI */
            invokespecial nu.xom.URIUtil$ParsedURI.<init>:(Ljava/lang/String;)V
            astore 2 /* base */
        start local 2 // nu.xom.URIUtil$ParsedURI base
         3: .line 85
            aload 2 /* base */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            ldc "/.."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
            aload 2 /* base */
            dup
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
         4: .line 89
      StackMap locals: nu.xom.URIUtil$ParsedURI
      StackMap stack:
            new nu.xom.URIUtil$ParsedURI
            dup
            aload 1 /* spec */
            invokespecial nu.xom.URIUtil$ParsedURI.<init>:(Ljava/lang/String;)V
            astore 3 /* R */
        start local 3 // nu.xom.URIUtil$ParsedURI R
         5: .line 90
            new nu.xom.URIUtil$ParsedURI
            dup
            invokespecial nu.xom.URIUtil$ParsedURI.<init>:()V
            astore 4 /* T */
        start local 4 // nu.xom.URIUtil$ParsedURI T
         6: .line 101
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
            ifnull 11
         7: .line 102
            aload 4 /* T */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
         8: .line 103
            aload 4 /* T */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
         9: .line 104
            aload 4 /* T */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            invokestatic nu.xom.URIUtil.removeDotSegments:(Ljava/lang/String;)Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
        10: .line 105
            goto 25
        11: .line 107
      StackMap locals: nu.xom.URIUtil$ParsedURI nu.xom.URIUtil$ParsedURI
      StackMap stack:
            ldc ""
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        12: .line 108
            aload 4 /* T */
            aload 2 /* base */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
        13: .line 109
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
            ifnull 16
        14: .line 110
            aload 4 /* T */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
        15: .line 111
            goto 24
        16: .line 113
      StackMap locals:
      StackMap stack:
            aload 4 /* T */
            aload 2 /* base */
            getfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
        17: .line 115
            goto 24
        18: .line 117
      StackMap locals:
      StackMap stack:
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        19: .line 118
            aload 4 /* T */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            invokestatic nu.xom.URIUtil.removeDotSegments:(Ljava/lang/String;)Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
        20: .line 119
            goto 23
        21: .line 121
      StackMap locals:
      StackMap stack:
            aload 4 /* T */
            aload 2 /* base */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            invokestatic nu.xom.URIUtil.merge:(Lnu/xom/URIUtil$ParsedURI;Ljava/lang/String;)Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
        22: .line 122
            aload 4 /* T */
            aload 4 /* T */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            invokestatic nu.xom.URIUtil.removeDotSegments:(Ljava/lang/String;)Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
        23: .line 124
      StackMap locals:
      StackMap stack:
            aload 4 /* T */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.query:Ljava/lang/String;
        24: .line 126
      StackMap locals:
      StackMap stack:
            aload 4 /* T */
            aload 2 /* base */
            getfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
        25: .line 128
      StackMap locals:
      StackMap stack:
            aload 4 /* T */
            aload 2 /* base */
            getfield nu.xom.URIUtil$ParsedURI.scheme:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.scheme:Ljava/lang/String;
        26: .line 131
            aload 4 /* T */
            aload 3 /* R */
            getfield nu.xom.URIUtil$ParsedURI.fragment:Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.fragment:Ljava/lang/String;
        27: .line 133
            aload 4 /* T */
            invokevirtual nu.xom.URIUtil$ParsedURI.toString:()Ljava/lang/String;
            areturn
        end local 4 // nu.xom.URIUtil$ParsedURI T
        end local 3 // nu.xom.URIUtil$ParsedURI R
        end local 2 // nu.xom.URIUtil$ParsedURI base
        end local 1 // java.lang.String spec
        end local 0 // java.lang.String baseURI
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0  baseURI  Ljava/lang/String;
            0   28     1     spec  Ljava/lang/String;
            3   28     2     base  Lnu/xom/URIUtil$ParsedURI;
            5   28     3        R  Lnu/xom/URIUtil$ParsedURI;
            6   28     4        T  Lnu/xom/URIUtil$ParsedURI;
    MethodParameters:
         Name  Flags
      baseURI  
      spec     

  private static java.lang.String merge(nu.xom.URIUtil$ParsedURI, java.lang.String);
    descriptor: (Lnu/xom/URIUtil$ParsedURI;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // nu.xom.URIUtil$ParsedURI base
        start local 1 // java.lang.String relativePath
         0: .line 140
            aload 0 /* base */
            getfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
            ifnull 3
            ldc ""
            aload 0 /* base */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 141
            ldc ""
            aload 0 /* base */
            getfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 142
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* relativePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* base */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* lastSlash */
        start local 2 // int lastSlash
         4: .line 146
            iload 2 /* lastSlash */
            iconst_m1
            if_icmpne 5
            aload 1 /* relativePath */
            areturn
         5: .line 147
      StackMap locals: int
      StackMap stack:
            aload 0 /* base */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            iconst_0
            iload 2 /* lastSlash */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* topPath */
        start local 3 // java.lang.String topPath
         6: .line 148
            new java.lang.StringBuilder
            dup
            aload 3 /* topPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* relativePath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String topPath
        end local 2 // int lastSlash
        end local 1 // java.lang.String relativePath
        end local 0 // nu.xom.URIUtil$ParsedURI base
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          base  Lnu/xom/URIUtil$ParsedURI;
            0    7     1  relativePath  Ljava/lang/String;
            4    7     2     lastSlash  I
            6    7     3       topPath  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      base          
      relativePath  

  static java.lang.String removeDotSegments(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String path
         0: .line 155
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* output */
        start local 1 // java.lang.StringBuffer output
         1: .line 157
            goto 26
         2: .line 158
      StackMap locals: java.lang.StringBuffer
      StackMap stack:
            aload 0 /* path */
            ldc "/./"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 159
            new java.lang.StringBuilder
            dup
            bipush 47
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* path */
         4: .line 160
            goto 26
         5: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            ldc "/."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 162
            ldc "/"
            astore 0 /* path */
         7: .line 163
            goto 26
         8: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            ldc "/../"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 165
            new java.lang.StringBuilder
            dup
            bipush 47
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* path */
            iconst_4
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* path */
        10: .line 166
            aload 1 /* output */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* lastSlash */
        start local 2 // int lastSlash
        11: .line 167
            iload 2 /* lastSlash */
            iconst_m1
            if_icmpeq 26
            aload 1 /* output */
            iload 2 /* lastSlash */
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        end local 2 // int lastSlash
        12: .line 168
            goto 26
        13: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            ldc "/.."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        14: .line 170
            ldc "/"
            astore 0 /* path */
        15: .line 171
            aload 1 /* output */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* lastSlash */
        start local 2 // int lastSlash
        16: .line 172
            iload 2 /* lastSlash */
            iconst_m1
            if_icmpeq 26
            aload 1 /* output */
            iload 2 /* lastSlash */
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        end local 2 // int lastSlash
        17: .line 173
            goto 26
        18: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* nextSlash */
        start local 2 // int nextSlash
        19: .line 189
            iload 2 /* nextSlash */
            ifne 20
            aload 0 /* path */
            bipush 47
            iconst_1
            invokevirtual java.lang.String.indexOf:(II)I
            istore 2 /* nextSlash */
        20: .line 190
      StackMap locals: int
      StackMap stack:
            iload 2 /* nextSlash */
            iconst_m1
            if_icmpne 24
        21: .line 191
            aload 1 /* output */
            aload 0 /* path */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        22: .line 192
            ldc ""
            astore 0 /* path */
        23: .line 193
            goto 26
        24: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            aload 0 /* path */
            iconst_0
            iload 2 /* nextSlash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        25: .line 196
            aload 0 /* path */
            iload 2 /* nextSlash */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* path */
        end local 2 // int nextSlash
        26: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            ifgt 2
        27: .line 201
            aload 1 /* output */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer output
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       path  Ljava/lang/String;
            1   28     1     output  Ljava/lang/StringBuffer;
           11   12     2  lastSlash  I
           16   17     2  lastSlash  I
           19   26     2  nextSlash  I
    MethodParameters:
      Name  Flags
      path  

  static java.lang.String toURI(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String iri
         0: .line 323
            aload 0 /* iri */
            invokevirtual java.lang.String.length:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 324
            new java.lang.StringBuffer
            dup
            iload 1 /* length */
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 2 /* uri */
        start local 2 // java.lang.StringBuffer uri
         2: .line 325
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 198
         4: .line 326
      StackMap locals: int java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* iri */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         5: .line 327
            iload 4 /* c */
            tableswitch { // 32 - 126
                   32: 6
                   33: 8
                   34: 10
                   35: 12
                   36: 14
                   37: 16
                   38: 18
                   39: 20
                   40: 22
                   41: 24
                   42: 26
                   43: 28
                   44: 30
                   45: 32
                   46: 34
                   47: 36
                   48: 38
                   49: 40
                   50: 42
                   51: 44
                   52: 46
                   53: 48
                   54: 50
                   55: 52
                   56: 54
                   57: 56
                   58: 58
                   59: 60
                   60: 62
                   61: 64
                   62: 66
                   63: 68
                   64: 70
                   65: 72
                   66: 74
                   67: 76
                   68: 78
                   69: 80
                   70: 82
                   71: 84
                   72: 86
                   73: 88
                   74: 90
                   75: 92
                   76: 94
                   77: 96
                   78: 98
                   79: 100
                   80: 102
                   81: 104
                   82: 106
                   83: 108
                   84: 110
                   85: 112
                   86: 114
                   87: 116
                   88: 118
                   89: 120
                   90: 122
                   91: 124
                   92: 126
                   93: 128
                   94: 130
                   95: 132
                   96: 134
                   97: 136
                   98: 138
                   99: 140
                  100: 142
                  101: 144
                  102: 146
                  103: 148
                  104: 150
                  105: 152
                  106: 154
                  107: 156
                  108: 158
                  109: 160
                  110: 162
                  111: 164
                  112: 166
                  113: 168
                  114: 170
                  115: 172
                  116: 174
                  117: 176
                  118: 178
                  119: 180
                  120: 182
                  121: 184
                  122: 186
                  123: 188
                  124: 190
                  125: 192
                  126: 194
              default: 196
          }
         6: .line 329
      StackMap locals: int
      StackMap stack:
            aload 2 /* uri */
            ldc "%20"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 330
            goto 197
         8: .line 332
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 333
            goto 197
        10: .line 335
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%22"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 336
            goto 197
        12: .line 338
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        13: .line 339
            goto 197
        14: .line 341
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        15: .line 342
            goto 197
        16: .line 344
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 345
            goto 197
        18: .line 347
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 348
            goto 197
        20: .line 350
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        21: .line 351
            goto 197
        22: .line 353
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        23: .line 354
            goto 197
        24: .line 356
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        25: .line 357
            goto 197
        26: .line 359
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        27: .line 360
            goto 197
        28: .line 362
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        29: .line 363
            goto 197
        30: .line 365
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        31: .line 366
            goto 197
        32: .line 368
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        33: .line 369
            goto 197
        34: .line 371
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        35: .line 372
            goto 197
        36: .line 374
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        37: .line 375
            goto 197
        38: .line 377
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        39: .line 378
            goto 197
        40: .line 380
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        41: .line 381
            goto 197
        42: .line 383
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        43: .line 384
            goto 197
        44: .line 386
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        45: .line 387
            goto 197
        46: .line 389
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        47: .line 390
            goto 197
        48: .line 392
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        49: .line 393
            goto 197
        50: .line 395
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        51: .line 396
            goto 197
        52: .line 398
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        53: .line 399
            goto 197
        54: .line 401
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        55: .line 402
            goto 197
        56: .line 404
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        57: .line 405
            goto 197
        58: .line 407
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        59: .line 408
            goto 197
        60: .line 410
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        61: .line 411
            goto 197
        62: .line 413
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%3C"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        63: .line 414
            goto 197
        64: .line 416
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        65: .line 417
            goto 197
        66: .line 419
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%3E"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        67: .line 420
            goto 197
        68: .line 422
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        69: .line 423
            goto 197
        70: .line 425
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        71: .line 426
            goto 197
        72: .line 428
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        73: .line 429
            goto 197
        74: .line 431
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        75: .line 432
            goto 197
        76: .line 434
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        77: .line 435
            goto 197
        78: .line 437
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        79: .line 438
            goto 197
        80: .line 440
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        81: .line 441
            goto 197
        82: .line 443
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        83: .line 444
            goto 197
        84: .line 446
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        85: .line 447
            goto 197
        86: .line 449
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        87: .line 450
            goto 197
        88: .line 452
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        89: .line 453
            goto 197
        90: .line 455
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        91: .line 456
            goto 197
        92: .line 458
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        93: .line 459
            goto 197
        94: .line 461
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        95: .line 462
            goto 197
        96: .line 464
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        97: .line 465
            goto 197
        98: .line 467
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        99: .line 468
            goto 197
       100: .line 470
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       101: .line 471
            goto 197
       102: .line 473
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       103: .line 474
            goto 197
       104: .line 476
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       105: .line 477
            goto 197
       106: .line 479
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       107: .line 480
            goto 197
       108: .line 482
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       109: .line 483
            goto 197
       110: .line 485
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       111: .line 486
            goto 197
       112: .line 488
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       113: .line 489
            goto 197
       114: .line 491
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       115: .line 492
            goto 197
       116: .line 494
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       117: .line 495
            goto 197
       118: .line 497
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       119: .line 498
            goto 197
       120: .line 500
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       121: .line 501
            goto 197
       122: .line 503
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       123: .line 504
            goto 197
       124: .line 506
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       125: .line 507
            goto 197
       126: .line 509
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%5C"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       127: .line 510
            goto 197
       128: .line 512
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       129: .line 513
            goto 197
       130: .line 515
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%5E"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       131: .line 516
            goto 197
       132: .line 518
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       133: .line 519
            goto 197
       134: .line 521
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%60"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       135: .line 522
            goto 197
       136: .line 524
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       137: .line 525
            goto 197
       138: .line 527
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       139: .line 528
            goto 197
       140: .line 530
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       141: .line 531
            goto 197
       142: .line 533
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       143: .line 534
            goto 197
       144: .line 536
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       145: .line 537
            goto 197
       146: .line 539
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       147: .line 540
            goto 197
       148: .line 542
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       149: .line 543
            goto 197
       150: .line 545
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       151: .line 546
            goto 197
       152: .line 548
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       153: .line 549
            goto 197
       154: .line 551
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       155: .line 552
            goto 197
       156: .line 554
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       157: .line 555
            goto 197
       158: .line 557
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       159: .line 558
            goto 197
       160: .line 560
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       161: .line 561
            goto 197
       162: .line 563
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       163: .line 564
            goto 197
       164: .line 566
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       165: .line 567
            goto 197
       166: .line 569
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       167: .line 570
            goto 197
       168: .line 572
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       169: .line 573
            goto 197
       170: .line 575
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       171: .line 576
            goto 197
       172: .line 578
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       173: .line 579
            goto 197
       174: .line 581
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       175: .line 582
            goto 197
       176: .line 584
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       177: .line 585
            goto 197
       178: .line 587
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       179: .line 588
            goto 197
       180: .line 590
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       181: .line 591
            goto 197
       182: .line 593
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       183: .line 594
            goto 197
       184: .line 596
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       185: .line 597
            goto 197
       186: .line 599
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       187: .line 600
            goto 197
       188: .line 602
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%7B"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       189: .line 603
            goto 197
       190: .line 605
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%7C"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       191: .line 606
            goto 197
       192: .line 608
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            ldc "%7D"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
       193: .line 609
            goto 197
       194: .line 611
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
       195: .line 612
            goto 197
       196: .line 614
      StackMap locals:
      StackMap stack:
            aload 2 /* uri */
            iload 4 /* c */
            invokestatic nu.xom.URIUtil.percentEscape:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 4 // char c
       197: .line 325
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
       198: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
       199: .line 617
            aload 2 /* uri */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer uri
        end local 1 // int length
        end local 0 // java.lang.String iri
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0  200     0     iri  Ljava/lang/String;
            1  200     1  length  I
            2  200     2     uri  Ljava/lang/StringBuffer;
            3  199     3       i  I
            5  197     4       c  C
    MethodParameters:
      Name  Flags
      iri   

  static java.lang.String percentEscape(char);
    descriptor: (C)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // char c
         0: .line 624
            new java.lang.StringBuffer
            dup
            iconst_3
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* result */
        start local 1 // java.lang.StringBuffer result
         1: .line 625
            iload 0 /* c */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         2: .line 627
            aload 2 /* s */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 3 /* data */
        start local 3 // byte[] data
         3: .line 628
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 13
         5: .line 629
      StackMap locals: int java.lang.StringBuffer java.lang.String byte[] int
      StackMap stack:
            aload 1 /* result */
            bipush 37
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 630
            aload 3 /* data */
            iload 4 /* i */
            baload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 5 /* hex */
        start local 5 // java.lang.String hex
         7: .line 631
            iload 0 /* c */
            bipush 16
            if_icmpge 11
         8: .line 632
            aload 1 /* result */
            bipush 48
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 633
            aload 1 /* result */
            aload 5 /* hex */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 634
            goto 12
        11: .line 639
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* result */
            aload 5 /* hex */
            aload 5 /* hex */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 5 // java.lang.String hex
        12: .line 628
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 3 /* data */
            arraylength
            if_icmplt 5
        end local 4 // int i
        14: .line 642
            aload 1 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
        15: areturn
        end local 3 // byte[] data
        16: .line 644
      StackMap locals: int java.lang.StringBuffer java.lang.String
      StackMap stack: java.io.UnsupportedEncodingException
            pop
        17: .line 645
            new java.lang.RuntimeException
            dup
        18: .line 646
            ldc "Broken VM: does not recognize UTF-8 encoding"
        19: .line 645
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String s
        end local 1 // java.lang.StringBuffer result
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0       c  C
            1   20     1  result  Ljava/lang/StringBuffer;
            2   20     2       s  Ljava/lang/String;
            3   16     3    data  [B
            4   14     4       i  I
            7   12     5     hex  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2    15      16  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      c     

  static java.lang.String relativize(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.String base
        start local 1 // java.lang.String abs
         0: .line 654
            new nu.xom.URIUtil$ParsedURI
            dup
            aload 0 /* base */
            invokespecial nu.xom.URIUtil$ParsedURI.<init>:(Ljava/lang/String;)V
            astore 2 /* parsedBase */
        start local 2 // nu.xom.URIUtil$ParsedURI parsedBase
         1: .line 655
            new nu.xom.URIUtil$ParsedURI
            dup
            aload 1 /* abs */
            invokespecial nu.xom.URIUtil$ParsedURI.<init>:(Ljava/lang/String;)V
            astore 3 /* parsedAbs */
        start local 3 // nu.xom.URIUtil$ParsedURI parsedAbs
         2: .line 657
            aload 2 /* parsedBase */
            aload 2 /* parsedBase */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            invokestatic nu.xom.URIUtil.removeDotSegments:(Ljava/lang/String;)Ljava/lang/String;
            putfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
         3: .line 659
            aload 2 /* parsedBase */
            getfield nu.xom.URIUtil$ParsedURI.scheme:Ljava/lang/String;
            aload 3 /* parsedAbs */
            getfield nu.xom.URIUtil$ParsedURI.scheme:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         4: .line 660
            aload 2 /* parsedBase */
            getfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
            aload 3 /* parsedAbs */
            getfield nu.xom.URIUtil$ParsedURI.authority:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         5: .line 662
            aload 2 /* parsedBase */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            astore 4 /* basePath */
        start local 4 // java.lang.String basePath
         6: .line 663
            aload 3 /* parsedAbs */
            getfield nu.xom.URIUtil$ParsedURI.path:Ljava/lang/String;
            astore 5 /* relPath */
        start local 5 // java.lang.String relPath
         7: .line 665
            goto 11
         8: .line 666
      StackMap locals: java.lang.String java.lang.String nu.xom.URIUtil$ParsedURI nu.xom.URIUtil$ParsedURI java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* basePath */
            iconst_0
            aload 4 /* basePath */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* basePath */
         9: .line 667
            aload 5 /* relPath */
            aload 4 /* basePath */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 668
            aload 5 /* relPath */
            aload 4 /* basePath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        11: .line 665
      StackMap locals:
      StackMap stack:
            aload 4 /* basePath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpgt 8
        12: .line 672
            aload 5 /* relPath */
            areturn
        end local 5 // java.lang.String relPath
        end local 4 // java.lang.String basePath
        13: .line 675
      StackMap locals:
      StackMap stack:
            aload 1 /* abs */
            areturn
        end local 3 // nu.xom.URIUtil$ParsedURI parsedAbs
        end local 2 // nu.xom.URIUtil$ParsedURI parsedBase
        end local 1 // java.lang.String abs
        end local 0 // java.lang.String base
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        base  Ljava/lang/String;
            0   14     1         abs  Ljava/lang/String;
            1   14     2  parsedBase  Lnu/xom/URIUtil$ParsedURI;
            2   14     3   parsedAbs  Lnu/xom/URIUtil$ParsedURI;
            6   13     4    basePath  Ljava/lang/String;
            7   13     5     relPath  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      base  
      abs   
}
SourceFile: "URIUtil.java"
NestMembers:
  nu.xom.URIUtil$ParsedURI
InnerClasses:
  ParsedURI = nu.xom.URIUtil$ParsedURI of nu.xom.URIUtil