final class org.h2.util.geometry.EWKTUtils$EWKTSource
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.h2.util.geometry.EWKTUtils$EWKTSource
  super_class: java.lang.Object
{
  private final java.lang.String ewkt;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
        start local 1 // java.lang.String ewkt
         0: .line 262
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 263
            aload 0 /* this */
            aload 1 /* ewkt */
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
         2: .line 264
            return
        end local 1 // java.lang.String ewkt
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            0    3     1  ewkt  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ewkt  

  int readSRID();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 267
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 269
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            iconst_1
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            ldc "SRID="
            iconst_0
            iconst_5
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 13
         2: .line 270
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_5
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
         3: .line 271
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            bipush 59
            iconst_5
            invokevirtual java.lang.String.indexOf:(II)I
            istore 2 /* idx */
        start local 2 // int idx
         4: .line 272
            iload 2 /* idx */
            ifge 6
         5: .line 273
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         6: .line 275
      StackMap locals: org.h2.util.geometry.EWKTUtils$EWKTSource top int
      StackMap stack:
            iload 2 /* idx */
            istore 3 /* end */
        start local 3 // int end
         7: .line 276
            goto 9
         8: .line 277
      StackMap locals: int
      StackMap stack:
            iinc 3 /* end */ -1
         9: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            iload 3 /* end */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmple 8
        10: .line 279
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 3 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 1 /* srid */
        start local 1 // int srid
        11: .line 280
            aload 0 /* this */
            iload 2 /* idx */
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
        end local 3 // int end
        end local 2 // int idx
        12: .line 281
            goto 14
        end local 1 // int srid
        13: .line 282
      StackMap locals: org.h2.util.geometry.EWKTUtils$EWKTSource
      StackMap stack:
            iconst_0
            istore 1 /* srid */
        start local 1 // int srid
        14: .line 284
      StackMap locals: int
      StackMap stack:
            iload 1 /* srid */
            ireturn
        end local 1 // int srid
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
           11   13     1  srid  I
           14   15     1  srid  I
            4   12     2   idx  I
            7   12     3   end  I

  void read(char);
    descriptor: (C)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
        start local 1 // char symbol
         0: .line 288
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 289
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         2: .line 290
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 2 /* len */
            if_icmplt 4
         3: .line 291
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 293
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            iload 1 /* symbol */
            if_icmpeq 6
         5: .line 294
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         6: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
         7: .line 297
            return
        end local 2 // int len
        end local 1 // char symbol
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            0    8     1  symbol  C
            2    8     2     len  I
    MethodParameters:
        Name  Flags
      symbol  

  int readType();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 300
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 301
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         2: .line 302
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 1 /* len */
            if_icmplt 4
         3: .line 303
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 305
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* result */
        start local 2 // int result
         5: .line 306
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
         6: .line 307
            iload 3 /* ch */
            lookupswitch { // 8
                   71: 20
                   76: 11
                   77: 13
                   80: 7
                  103: 20
                  108: 11
                  109: 13
                  112: 7
              default: 21
          }
         7: .line 310
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            ldc "POINT"
            iconst_1
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            istore 2 /* result */
         8: .line 311
            iload 2 /* result */
            ifne 21
         9: .line 312
            aload 0 /* this */
            ldc "POLYGON"
            iconst_3
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            istore 2 /* result */
        10: .line 314
            goto 21
        11: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "LINESTRING"
            iconst_2
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            istore 2 /* result */
        12: .line 318
            goto 21
        13: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "MULTI"
            iconst_1
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            ifeq 21
        14: .line 322
            aload 0 /* this */
            ldc "POINT"
            iconst_4
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            istore 2 /* result */
        15: .line 323
            iload 2 /* result */
            ifne 21
        16: .line 324
            aload 0 /* this */
            ldc "POLYGON"
            bipush 6
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            istore 2 /* result */
        17: .line 325
            iload 2 /* result */
            ifne 21
        18: .line 326
            aload 0 /* this */
            ldc "LINESTRING"
            iconst_5
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            istore 2 /* result */
        19: .line 330
            goto 21
        20: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "GEOMETRYCOLLECTION"
            bipush 7
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            istore 2 /* result */
        21: .line 336
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ifne 23
        22: .line 337
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        23: .line 339
      StackMap locals:
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 3 // char ch
        end local 2 // int result
        end local 1 // int len
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            2   24     1     len  I
            5   24     2  result  I
            6   24     3      ch  C

  int readDimensionSystem();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 343
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            istore 1 /* o */
        start local 1 // int o
         1: .line 344
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         2: .line 345
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         3: .line 346
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 2 /* len */
            if_icmplt 5
         4: .line 347
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         5: .line 350
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
         6: .line 351
            iload 4 /* ch */
            lookupswitch { // 4
                   77: 7
                   90: 10
                  109: 7
                  122: 10
              default: 21
          }
         7: .line 354
      StackMap locals: org.h2.util.geometry.EWKTUtils$EWKTSource int int top int
      StackMap stack:
            iconst_2
            istore 3 /* result */
        start local 3 // int result
         8: .line 355
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
         9: .line 356
            goto 24
        end local 3 // int result
        10: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
        11: .line 360
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 2 /* len */
            if_icmplt 14
        12: .line 361
            iconst_1
            istore 3 /* result */
        start local 3 // int result
        13: .line 362
            goto 24
        end local 3 // int result
        14: .line 363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        15: .line 364
            iload 4 /* ch */
            bipush 77
            if_icmpeq 16
            iload 4 /* ch */
            bipush 109
            if_icmpne 19
        16: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
        17: .line 366
            iconst_3
            istore 3 /* result */
        start local 3 // int result
        18: .line 367
            goto 24
        end local 3 // int result
        19: .line 368
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* result */
        start local 3 // int result
        20: .line 371
            goto 24
        end local 3 // int result
        21: .line 373
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* result */
        start local 3 // int result
        22: .line 374
            iload 1 /* o */
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            if_icmpeq 24
        23: .line 376
            iload 3 /* result */
            ireturn
        24: .line 379
      StackMap locals: org.h2.util.geometry.EWKTUtils$EWKTSource int int int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* len */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.checkStringEnd:(I)V
        25: .line 380
            iload 3 /* result */
            ireturn
        end local 4 // char ch
        end local 3 // int result
        end local 2 // int len
        end local 1 // int o
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            1   26     1       o  I
            3   26     2     len  I
            8   10     3  result  I
           13   14     3  result  I
           18   19     3  result  I
           20   21     3  result  I
           22   26     3  result  I
            6   26     4      ch  C

  boolean readEmpty();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 384
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 385
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         2: .line 386
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 1 /* len */
            if_icmplt 4
         3: .line 387
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 389
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 40
            if_icmpne 7
         5: .line 390
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
         6: .line 391
            iconst_0
            ireturn
         7: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "EMPTY"
            iconst_1
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.match:(Ljava/lang/String;I)I
            ifeq 10
         8: .line 394
            aload 0 /* this */
            iload 1 /* len */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.checkStringEnd:(I)V
         9: .line 395
            iconst_1
            ireturn
        10: .line 397
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 1 // int len
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            2   11     1   len  I

  private int match(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
        start local 1 // java.lang.String token
        start local 2 // int code
         0: .line 401
            aload 1 /* token */
            invokevirtual java.lang.String.length:()I
            istore 3 /* l */
        start local 3 // int l
         1: .line 402
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 3 /* l */
            isub
            if_icmpgt 4
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            iconst_1
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            aload 1 /* token */
            iconst_0
            iload 3 /* l */
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 4
         2: .line 403
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 3 /* l */
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
         3: .line 404
            goto 5
         4: .line 405
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* code */
         5: .line 407
      StackMap locals:
      StackMap stack:
            iload 2 /* code */
            ireturn
        end local 3 // int l
        end local 2 // int code
        end local 1 // java.lang.String token
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            0    6     1  token  Ljava/lang/String;
            0    6     2   code  I
            1    6     3      l  I
    MethodParameters:
       Name  Flags
      token  
      code   

  private void checkStringEnd(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
        start local 1 // int len
         0: .line 411
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 1 /* len */
            if_icmpge 4
         1: .line 412
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* ch */
        start local 2 // char ch
         2: .line 413
            iload 2 /* ch */
            bipush 32
            if_icmple 4
            iload 2 /* ch */
            bipush 40
            if_icmpeq 4
            iload 2 /* ch */
            bipush 41
            if_icmpeq 4
            iload 2 /* ch */
            bipush 44
            if_icmpeq 4
         3: .line 414
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 2 // char ch
         4: .line 417
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int len
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            0    5     1   len  I
            2    4     2    ch  C
    MethodParameters:
      Name  Flags
      len   

  public boolean hasCoordinate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 420
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 421
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
         2: .line 422
            iconst_0
            ireturn
         3: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic org.h2.util.geometry.EWKTUtils$EWKTSource.isNumberStart:(C)Z
            ireturn
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;

  public double readCoordinate();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 428
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 429
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         2: .line 430
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 1 /* len */
            if_icmplt 4
         3: .line 431
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 433
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* ch */
        start local 2 // char ch
         5: .line 434
            iload 2 /* ch */
            invokestatic org.h2.util.geometry.EWKTUtils$EWKTSource.isNumberStart:(C)Z
            ifne 7
         6: .line 435
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         7: .line 437
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            dup_x1
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            istore 3 /* start */
        start local 3 // int start
         8: .line 438
            goto 10
         9: .line 439
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
        10: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 1 /* len */
            if_icmpge 11
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 2 /* ch */
            invokestatic org.h2.util.geometry.EWKTUtils$EWKTSource.isNumberPart:(C)Z
            ifne 9
        11: .line 441
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 1 /* len */
            if_icmpge 14
        12: .line 442
            iload 2 /* ch */
            bipush 32
            if_icmple 14
            iload 2 /* ch */
            bipush 41
            if_icmpeq 14
            iload 2 /* ch */
            bipush 44
            if_icmpeq 14
        13: .line 443
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        14: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            iload 3 /* start */
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            astore 4 /* d */
        start local 4 // java.lang.Double d
        15: .line 447
            aload 4 /* d */
            invokevirtual java.lang.Double.doubleValue:()D
            dconst_0
            dcmpl
            ifne 16
            dconst_0
            goto 17
      StackMap locals: java.lang.Double
      StackMap stack:
        16: aload 4 /* d */
            invokevirtual java.lang.Double.doubleValue:()D
      StackMap locals:
      StackMap stack: double
        17: dreturn
        end local 4 // java.lang.Double d
        end local 3 // int start
        end local 2 // char ch
        end local 1 // int len
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            2   18     1    len  I
            5   18     2     ch  C
            8   18     3  start  I
           15   18     4      d  Ljava/lang/Double;

  private static boolean isNumberStart(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char ch
         0: .line 451
            iload 0 /* ch */
            bipush 48
            if_icmplt 2
            iload 0 /* ch */
            bipush 57
            if_icmpgt 2
         1: .line 452
            iconst_1
            ireturn
         2: .line 454
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            tableswitch { // 43 - 46
                   43: 3
                   44: 4
                   45: 3
                   46: 3
              default: 4
          }
         3: .line 458
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 460
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  private static boolean isNumberPart(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char ch
         0: .line 465
            iload 0 /* ch */
            bipush 48
            if_icmplt 2
            iload 0 /* ch */
            bipush 57
            if_icmpgt 2
         1: .line 466
            iconst_1
            ireturn
         2: .line 468
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            lookupswitch { // 5
                   43: 3
                   45: 3
                   46: 3
                   69: 3
                  101: 3
              default: 4
          }
         3: .line 474
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 476
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  public boolean hasMoreCoordinates();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 481
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 482
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
         2: .line 483
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 41 - 44
                   41: 6
                   42: 8
                   43: 8
                   44: 4
              default: 8
          }
         4: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
         5: .line 488
            iconst_1
            ireturn
         6: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
         7: .line 491
            iconst_0
            ireturn
         8: .line 493
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;

  boolean hasData();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 498
            aload 0 /* this */
            invokevirtual org.h2.util.geometry.EWKTUtils$EWKTSource.skipWS:()V
         1: .line 499
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;

  int getItemCount();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 503
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         1: .line 504
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            istore 2 /* offset */
        start local 2 // int offset
         2: iconst_0
            istore 3 /* level */
        start local 3 // int level
         3: aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         4: .line 505
            goto 13
         5: .line 506
      StackMap locals: org.h2.util.geometry.EWKTUtils$EWKTSource int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 40 - 44
                   40: 9
                   41: 11
                   42: 13
                   43: 13
                   44: 6
              default: 13
          }
         6: .line 508
      StackMap locals:
      StackMap stack:
            iload 3 /* level */
            ifne 13
         7: .line 509
            iinc 1 /* result */ 1
         8: .line 511
            goto 13
         9: .line 513
      StackMap locals:
      StackMap stack:
            iinc 3 /* level */ 1
        10: .line 514
            goto 13
        11: .line 516
      StackMap locals:
      StackMap stack:
            iinc 3 /* level */ -1
            iload 3 /* level */
            ifge 13
        12: .line 517
            iload 1 /* result */
            ireturn
        13: .line 505
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iload 4 /* len */
            if_icmplt 5
        14: .line 521
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 4 // int len
        end local 3 // int level
        end local 2 // int offset
        end local 1 // int result
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            1   15     1  result  I
            2   15     2  offset  I
            3   15     3   level  I
            4   15     4     len  I

  private void skipWS();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 525
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            dup
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iconst_1
            iadd
            putfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            iload 1 /* len */
            if_icmpge 4
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmple 2
        end local 1 // int len
         4: .line 527
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
            1    4     1   len  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
         0: .line 531
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_3
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            ldc "<*>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 532
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.offset:I
            aload 0 /* this */
            getfield org.h2.util.geometry.EWKTUtils$EWKTSource.ewkt:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 531
            areturn
        end local 0 // org.h2.util.geometry.EWKTUtils$EWKTSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/util/geometry/EWKTUtils$EWKTSource;
}
SourceFile: "EWKTUtils.java"
NestHost: org.h2.util.geometry.EWKTUtils
InnerClasses:
  private final EWKTSource = org.h2.util.geometry.EWKTUtils$EWKTSource of org.h2.util.geometry.EWKTUtils